:root{
  --deep-green:#0B4F2A;
  --forest:#145A32;
  --gold:#C9A24A;
  --soft-gold:#DDBB67;
  --ivory:#F8F6F1;
  --charcoal:#2B2B2B;
  --sage:#A8B89A;
  --stone:#D8D0C4;
  --silver:#8D959D;
  --panel:#FFFFFF;
  --line:#E4DED3;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--ivory);color:var(--charcoal);line-height:1.5}
a{color:inherit}
.site-header,.topbar{min-height:92px;padding:0 3vw;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--ivory);border-bottom:1px solid rgba(216,208,196,.55);position:sticky;top:0;z-index:10}
.wordmark,.brand{text-decoration:none;color:var(--deep-green);line-height:1;letter-spacing:2px}
.wordmark span,.brand{display:block;font-family:Georgia,serif;font-size:24px;font-weight:700}
.wordmark strong{display:block;font-family:Georgia,serif;font-size:18px;margin-top:5px}
.main-nav,.topbar nav{display:flex;align-items:center;gap:30px}
.main-nav a,.topbar nav a{text-decoration:none;color:#4a3432;font-weight:700;font-size:15px}
.header-actions{display:flex;align-items:center;gap:14px}
.outline-button{border:1px solid var(--stone);border-radius:999px;padding:12px 23px;text-decoration:none;background:#fff;color:#4a3432;font-weight:700}
.pill-button,.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--forest);color:#fff;padding:13px 24px;font-weight:800;text-decoration:none;cursor:pointer}
.pill-button:hover,.button:hover{background:var(--deep-green)}
.pill-button.large{font-size:18px;padding:16px 30px}
.premium-hero{min-height:540px;padding:110px 7vw 80px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.hero-kicker{margin:0 0 18px;color:var(--gold);font-weight:800}
.premium-hero h1{max-width:960px;margin:0;font-family:Georgia,serif;font-size:60px;font-weight:400;line-height:1.04;color:#113f26}
.premium-hero h1 span{display:block;color:var(--gold)}
.hero-subtitle{max-width:790px;margin:24px auto 0;color:#6d5c58;font-size:20px}
.hero-actions{margin-top:34px;display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap}
.text-link{font-weight:800;color:var(--deep-green);text-decoration:none}
.section{padding:56px 7vw}
.section h2{color:var(--deep-green);font-family:Georgia,serif;font-size:clamp(30px,4vw,48px);font-weight:500;line-height:1.12;margin-top:0}
.grid{display:grid;gap:18px}
.three{grid-template-columns:repeat(3,1fr)}
.four{grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:start}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:24px;box-shadow:0 10px 30px rgba(43,43,43,.05)}
.panel h2,.panel h3{color:var(--deep-green)}
.form,.login{display:grid;gap:14px}
.form-button{width:100%}
.login{width:min(420px,92vw);margin:12vh auto}
.auth-page{background:var(--ivory)}
label{display:grid;gap:6px;font-weight:700}
input,textarea,select{width:100%;border:1px solid var(--stone);border-radius:8px;padding:11px;font:inherit;background:#fff;color:var(--charcoal)}
.notice{background:#eef6ef;border:1px solid var(--sage);color:var(--deep-green);border-radius:8px;padding:12px;margin-bottom:16px}
.alert{background:#fff0f0;border:1px solid #edc1c1;color:#9d2525;border-radius:8px;padding:12px}
.stat span{color:var(--silver);font-weight:700}
.stat strong{display:block;font-size:28px;margin-top:4px;color:var(--deep-green)}
.case-form{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.case-form textarea{grid-column:span 3}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;min-width:980px}
th,td{text-align:left;border-bottom:1px solid var(--line);padding:14px;vertical-align:top}
th{color:var(--silver);font-size:13px;text-transform:uppercase}
.payment-form{display:grid;gap:8px}
.link-button{border:0;background:none;color:var(--forest);font-weight:800;cursor:pointer}
@media(max-width:980px){
  .site-header{align-items:flex-start;flex-direction:column;padding:18px 20px}
  .main-nav{gap:14px;flex-wrap:wrap}
  .header-actions{width:100%;flex-wrap:wrap}
  .three,.four,.split,.case-form{grid-template-columns:1fr}
  .case-form textarea{grid-column:auto}
  .premium-hero,.section{padding-left:20px;padding-right:20px}
}
.service-icon{
  display:block;
  margin-bottom:18px;
  color:var(--gold);
  font-size:38px;
  line-height:1;
  font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 32;
}

/* Bandas logo header */
.wordmark.with-logo {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-width: max-content;
}

.brand-logo {
    display: block;
    width: clamp(72px, 8vw, 108px);
    height: clamp(72px, 8vw, 108px);
    object-fit: contain;
    flex: 0 0 auto;
}

.wordmark-text {
    display: flex;
    flex-direction: column;
    line-height: 1;
}

@media (max-width: 700px) {
    .wordmark.with-logo {
        gap: 10px;
    }

    .brand-logo {
        width: 62px;
        height: 62px;
    }
}

/* Bandas compact logo header */
.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 78px;
    padding: 12px clamp(18px, 4vw, 44px);
}

.wordmark.with-logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    min-width: 190px;
}

.brand-logo {
    display: block;
    width: 54px;
    height: 54px;
    object-fit: contain;
    flex: 0 0 auto;
}

.wordmark-text {
    display: flex;
    flex-direction: column;
    line-height: 1;
}

.wordmark-text span {
    font-size: 11px;
}

.wordmark-text strong {
    font-size: 18px;
}

.main-nav {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(12px, 1.4vw, 22px);
}

.main-nav a {
    white-space: nowrap;
}

.header-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

@media (max-width: 1100px) {
    .wordmark.with-logo {
        min-width: 160px;
    }

    .brand-logo {
        width: 48px;
        height: 48px;
    }

    .header-actions .outline-button {
        display: none;
    }
}

@media (max-width: 760px) {
    .site-header {
        flex-wrap: wrap;
        gap: 10px 14px;
        min-height: auto;
        padding: 10px 16px;
    }

    .wordmark.with-logo {
        min-width: 0;
    }

    .brand-logo {
        width: 44px;
        height: 44px;
    }

    .wordmark-text strong {
        font-size: 15px;
    }

    .main-nav {
        order: 3;
        width: 100%;
        justify-content: flex-start;
        gap: 14px;
        overflow-x: auto;
        padding-bottom: 2px;
    }

    .header-actions {
        margin-left: auto;
    }

    .header-actions .pill-button {
        padding: 8px 12px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .header-actions {
        display: none;
    }
}

/* Refined Bandas header layout */
.site-header {
    display: grid !important;
    grid-template-columns: 190px minmax(0, 1fr) auto;
    align-items: center;
    gap: 0;
    min-height: 126px;
    padding: 18px clamp(20px, 4vw, 56px);
    background: #fff;
}

.site-header .wordmark.with-logo {
    width: 166px;
    min-width: 0;
    height: 108px;
    margin-right: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.site-header .wordmark-text {
    display: none !important;
}

.site-header .brand-logo {
    width: 150px;
    height: 106px;
    object-fit: contain;
    display: block;
}

.site-header > .main-nav,
.site-header > .header-actions {
    min-height: 68px;
    background: #fbfaf6;
    border-top: 1px solid #ece8de;
    border-bottom: 1px solid #ece8de;
}

.site-header > .main-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(14px, 1.5vw, 26px);
    padding: 0 24px 0 30px;
    border-left: 1px solid #ece8de;
    border-radius: 999px 0 0 999px;
}

.site-header > .main-nav a {
    white-space: nowrap;
}

.site-header > .header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px 0 10px;
    border-right: 1px solid #ece8de;
    border-radius: 0 999px 999px 0;
    white-space: nowrap;
}

@media (max-width: 1120px) {
    .site-header {
        grid-template-columns: 158px minmax(0, 1fr) auto;
    }

    .site-header .wordmark.with-logo {
        width: 138px;
        height: 94px;
    }

    .site-header .brand-logo {
        width: 126px;
        height: 90px;
    }

    .site-header .header-actions .outline-button {
        display: none;
    }
}

@media (max-width: 820px) {
    .site-header {
        grid-template-columns: 112px minmax(0, 1fr);
        min-height: auto;
        padding: 12px 16px;
        gap: 10px 12px;
    }

    .site-header .wordmark.with-logo {
        grid-column: 1;
        grid-row: 1;
        width: 104px;
        height: 78px;
        margin-right: 0;
    }

    .site-header .brand-logo {
        width: 98px;
        height: 74px;
    }

    .site-header > .header-actions {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        min-height: 0;
        padding: 0;
        background: transparent;
        border: 0;
    }

    .site-header > .main-nav {
        grid-column: 1 / -1;
        grid-row: 2;
        min-height: 46px;
        justify-content: flex-start;
        overflow-x: auto;
        gap: 16px;
        padding: 0 14px;
        border: 1px solid #ece8de;
        border-radius: 999px;
    }
}

/* Larger readable logo header adjustment */
.site-header {
    grid-template-columns: 260px minmax(0, 1fr) auto !important;
    min-height: 154px !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}

.site-header .wordmark.with-logo {
    width: 232px !important;
    height: 128px !important;
    margin-right: 28px !important;
}

.site-header .brand-logo {
    width: 224px !important;
    height: 124px !important;
    object-fit: contain !important;
}

.site-header > .main-nav,
.site-header > .header-actions {
    min-height: 72px !important;
}

@media (max-width: 1120px) {
    .site-header {
        grid-template-columns: 210px minmax(0, 1fr) auto !important;
    }

    .site-header .wordmark.with-logo {
        width: 190px !important;
        height: 112px !important;
    }

    .site-header .brand-logo {
        width: 184px !important;
        height: 106px !important;
    }
}

@media (max-width: 820px) {
    .site-header {
        grid-template-columns: 150px minmax(0, 1fr) !important;
    }

    .site-header .wordmark.with-logo {
        width: 142px !important;
        height: 96px !important;
    }

    .site-header .brand-logo {
        width: 138px !important;
        height: 90px !important;
    }
}

/* Customer and FHOS operations system */
.muted { color: #6f6a61; }
.alert { background: #fff0f0; color: #8b1d1d; border: 1px solid #f1c6c6; padding: 12px 14px; border-radius: 8px; margin-bottom: 14px; }
.topbar-actions, .ops-actions, .doc-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.case-form.wide { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.case-form .full, .full { grid-column: 1 / -1; }
.case-form h2 { font-size: 16px; margin: 10px 0 0; }
.file-field { display: grid; gap: 8px; }
.case-list { display: grid; gap: 16px; }
.case-card { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto; gap: 18px; align-items: start; }
.admin-case { grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr); }
.admin-case > form, .admin-case > .doc-list { grid-column: 1 / -1; }
.badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 6px 10px; background: #0d6b19; color: #fff; font-size: 13px; font-weight: 700; margin: 0 6px 6px 0; }
.badge.soft { background: #f5f1e7; color: #2f2a21; border: 1px solid #e7dfcf; }
.status-form, .review-form, .payment-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; align-items: center; }
.inline-check { display: inline-flex; align-items: center; gap: 8px; }
.doc-list { border-top: 1px solid #eee5d8; padding-top: 14px; }
.status-list { display: grid; gap: 12px; }
.status-item { border-left: 4px solid #0d6b19; padding-left: 12px; }
.status-item span { color: #777; font-size: 13px; }
@media (max-width: 760px) {
    .case-card, .admin-case { grid-template-columns: 1fr; }
}

/* Modern FHOS dashboard analytics */
.dashboard-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    margin-bottom: 18px;
}

.dashboard-hero h1 {
    margin: 4px 0 6px;
    font-size: clamp(28px, 4vw, 44px);
    letter-spacing: 0;
}

.eyebrow {
    margin: 0;
    color: #0d6b19;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 12px;
}

.kpi-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(170px, 1fr));
    gap: 14px;
    margin-bottom: 22px;
}

.kpi-card {
    background: linear-gradient(180deg, #ffffff 0%, #fbfaf6 100%);
    border: 1px solid #e7dfcf;
    border-radius: 8px;
    padding: 18px;
    box-shadow: 0 14px 30px rgba(42, 35, 24, 0.08);
}

.kpi-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    color: #6f6a61;
    font-weight: 700;
    font-size: 13px;
}

.kpi-card strong {
    display: block;
    margin-top: 14px;
    color: #1f1b15;
    font-size: clamp(22px, 2.1vw, 32px);
    line-height: 1.1;
}

.kpi-card p {
    margin: 8px 0 0;
    color: #6f6a61;
    font-size: 13px;
}

.trend-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 999px;
    padding: 5px 8px;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.trend-up {
    background: #e9f7eb;
    color: #0d6b19;
}

.trend-down {
    background: #fff1e8;
    color: #a24600;
}

.trend-flat {
    background: #f1eee7;
    color: #5e574b;
}

.trend-arrow {
    font-size: 14px;
    line-height: 1;
}

.admin-case {
    border-left: 4px solid #0d6b19;
}

@media (max-width: 1180px) {
    .kpi-grid {
        grid-template-columns: repeat(3, minmax(180px, 1fr));
    }
}

@media (max-width: 760px) {
    .dashboard-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .kpi-grid {
        grid-template-columns: 1fr;
    }
}

/* Case workspace */
.case-workspace {
    max-width: 1380px;
}

.case-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 18px;
}

.case-hero h1 {
    margin: 4px 0 6px;
    font-size: clamp(28px, 4vw, 42px);
    letter-spacing: 0;
}

.detail-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(220px, 1fr));
    gap: 16px;
    margin: 16px 0;
}

.info-list {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 10px 12px;
    margin: 0;
}

.info-list dt {
    color: #756f64;
    font-weight: 800;
}

.info-list dd {
    margin: 0;
    color: #241f18;
}

.doc-review-card {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(280px, 1.2fr);
    gap: 16px;
    padding: 14px 0;
    border-top: 1px solid #eee5d8;
}

.resubmit-form {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto;
    gap: 12px;
    align-items: end;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #eee5d8;
}

.resubmit-form h3,
.resubmit-form p {
    grid-column: 1 / -1;
    margin: 0;
}

.payment-form.compact {
    margin-top: 16px;
}

@media (max-width: 1100px) {
    .detail-grid {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }

    .doc-review-card {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .case-hero,
    .resubmit-form {
        grid-template-columns: 1fr;
        display: grid;
    }

    .detail-grid {
        grid-template-columns: 1fr;
    }

    .info-list {
        grid-template-columns: 1fr;
    }
}

/* FHOS module navigation */
.module-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
    padding: 10px clamp(16px, 4vw, 44px);
    background: #fbfaf6;
    border-top: 1px solid #ece8de;
    border-bottom: 1px solid #ece8de;
}

.module-nav a {
    flex: 0 0 auto;
    color: #302a21;
    text-decoration: none;
    font-weight: 800;
    font-size: 13px;
    border: 1px solid #e5ddcf;
    border-radius: 999px;
    padding: 8px 12px;
    background: #fff;
}

.module-nav a:hover {
    border-color: #0d6b19;
    color: #0d6b19;
}

.case-create-panel h1,
.module-hero h1 {
    margin: 4px 0 8px;
    font-size: clamp(28px, 4vw, 42px);
    letter-spacing: 0;
}

.form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    align-items: center;
}

.module-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
    margin: 18px 0;
}

.module-card {
    display: block;
    text-decoration: none;
    color: #211d17;
    background: #fff;
    border: 1px solid #e7dfcf;
    border-radius: 8px;
    padding: 18px;
    box-shadow: 0 12px 26px rgba(42, 35, 24, 0.06);
}

.module-card span {
    display: block;
    font-weight: 900;
    margin-bottom: 8px;
}

.module-card p {
    margin: 0;
    color: #6f6a61;
    font-size: 14px;
}

.module-card.active {
    border-color: #0d6b19;
    box-shadow: 0 14px 30px rgba(13, 107, 25, 0.12);
}

/* Categorized FHOS module navigation */
.module-nav.grouped {
    align-items: stretch;
    gap: 12px;
    padding-top: 12px;
    padding-bottom: 12px;
}

.module-group {
    display: flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    padding: 6px;
    border: 1px solid #e7dfcf;
    border-radius: 8px;
    background: #fff;
}

.module-group > span {
    color: #766e61;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    padding: 0 6px;
    white-space: nowrap;
}

.module-nav.grouped .module-group a {
    border: 0;
    background: #fbfaf6;
    padding: 8px 10px;
}

.module-nav.grouped .module-group a:hover {
    background: #e9f7eb;
}

@media (max-width: 900px) {
    .module-nav.grouped {
        align-items: flex-start;
    }

    .module-group {
        flex-wrap: wrap;
        min-width: 220px;
    }
}

/* FHOS sidebar admin layout */
.admin-shell {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    min-height: calc(100vh - 72px);
    background: #f7f5ef;
}

.admin-main {
    width: 100%;
    max-width: none;
    padding: 28px clamp(18px, 3vw, 40px);
}

.fhos-sidebar {
    position: sticky;
    top: 0;
    align-self: start;
    height: calc(100vh - 72px);
    overflow-y: auto;
    background: #201b14;
    color: #fff;
    padding: 22px 16px;
    border-right: 1px solid #372f25;
}

.sidebar-section {
    display: grid;
    gap: 6px;
    padding: 0 0 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,0.10);
}

.sidebar-section:last-child {
    border-bottom: 0;
}

.sidebar-section span {
    color: #c8b999;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
    padding: 0 10px 4px;
}

.sidebar-section a {
    color: #f8f4ec;
    text-decoration: none;
    font-weight: 800;
    font-size: 14px;
    border-radius: 8px;
    padding: 10px 12px;
}

.sidebar-section a:hover {
    background: rgba(255,255,255,0.08);
    color: #ffffff;
}

.sidebar-section a:focus {
    outline: 2px solid #c8b999;
    outline-offset: 2px;
}

@media (max-width: 900px) {
    .admin-shell {
        grid-template-columns: 1fr;
    }

    .fhos-sidebar {
        position: static;
        height: auto;
        display: flex;
        gap: 12px;
        overflow-x: auto;
        padding: 12px 16px;
    }

    .sidebar-section {
        min-width: 190px;
        border-bottom: 0;
        border-right: 1px solid rgba(255,255,255,0.12);
        padding-right: 12px;
        margin-bottom: 0;
    }
}

/* Sidebar brand and logo */
.sidebar-brand {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    color: #fff;
    text-decoration: none;
    padding: 0 0 20px;
    margin: 0 0 20px;
    border-bottom: 1px solid rgba(255,255,255,0.14);
}

.sidebar-logo-frame {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    border: 1px solid rgba(200,185,153,0.62);
    border-radius: 8px;
    background: #201b14;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.05);
    overflow: hidden;
}

.sidebar-logo-frame img {
    display: block;
    width: 66px;
    height: 66px;
    object-fit: contain;
}

.sidebar-brand-text {
    display: grid;
    gap: 3px;
}

.sidebar-brand-text strong {
    color: #fff;
    font-size: 16px;
    line-height: 1.15;
}

.sidebar-brand-text small {
    color: #c8b999;
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 900px) {
    .sidebar-brand {
        min-width: 220px;
        margin: 0;
        padding: 0 14px 0 0;
        border-bottom: 0;
        border-right: 1px solid rgba(255,255,255,0.14);
    }
}

/* Polished FHOS admin dashboard */
.dashboard-topbar {
    min-height: 72px;
    border-bottom: 1px solid #e7dfcf;
    background: #fff;
}

.topbar-subtitle {
    margin: 4px 0 0;
    color: #6f6a61;
    font-size: 13px;
}

.date-chip {
    display: inline-flex;
    align-items: center;
    border: 1px solid #e7dfcf;
    border-radius: 8px;
    padding: 10px 14px;
    background: #fbfaf6;
    font-weight: 800;
}

.dashboard-page {
    background: #f7f5ef;
}

.dashboard-welcome {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.dashboard-welcome h1 {
    margin: 4px 0 6px;
    font-size: clamp(28px, 4vw, 42px);
    letter-spacing: 0;
}

.kpi-grid.polished {
    grid-template-columns: repeat(5, minmax(170px, 1fr));
}

.kpi-card.polished {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    min-height: 146px;
}

.kpi-icon {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0d6b19;
    color: #fff;
    font-weight: 900;
}

.kpi-icon.down { background: #ff8a2a; }
.kpi-icon.flat { background: #6b55d9; }

.sparkline {
    display: block;
    height: 22px;
    margin-top: 12px;
    border-radius: 999px;
    background:
        linear-gradient(135deg, transparent 0 20%, currentColor 21% 25%, transparent 26% 45%, currentColor 46% 50%, transparent 51% 70%, currentColor 71% 75%, transparent 76% 100%);
    color: #0d6b19;
    opacity: .75;
}

.sparkline.down { color: #ff8a2a; }
.sparkline.flat { color: #6b55d9; }

.dashboard-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(300px, .9fr);
    gap: 18px;
    align-items: start;
}

.panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.panel-heading h2 {
    margin: 0;
}

.status-overview {
    display: grid;
    gap: 14px;
}

.status-bar-row {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) 44px;
    align-items: center;
    gap: 12px;
}

.status-bar-row span {
    font-weight: 800;
}

.status-bar {
    height: 10px;
    background: #eee7dc;
    border-radius: 999px;
    overflow: hidden;
}

.status-bar i {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #0d6b19, #2fa84d);
    border-radius: inherit;
}

.side-panel {
    min-height: 0;
}

.side-list {
    display: grid;
    gap: 12px;
}

.side-item {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    color: #201b14;
    text-decoration: none;
    border-bottom: 1px solid #eee5d8;
    padding-bottom: 12px;
}

.side-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.side-item strong {
    display: block;
    margin-bottom: 3px;
}

.side-item small {
    display: block;
    color: #6f6a61;
}

.date-tile {
    width: 48px;
    min-height: 52px;
    border-radius: 8px;
    background: #fbfaf6;
    border: 1px solid #e7dfcf;
    display: grid;
    place-items: center;
    color: #6f6a61;
    font-size: 11px;
    font-weight: 800;
}

.date-tile strong {
    color: #201b14;
    font-size: 20px;
    line-height: 1;
}

.notification-dot {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: #e9f7eb;
    border: 1px solid #cfe9d3;
}

.quick-actions {
    grid-column: 1 / -1;
}

.quick-action-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(130px, 1fr));
    gap: 12px;
}

.quick-action-grid a {
    display: grid;
    gap: 6px;
    text-align: center;
    color: #201b14;
    text-decoration: none;
    border: 1px solid #e7dfcf;
    border-radius: 8px;
    background: #fff;
    padding: 18px 12px;
    font-weight: 900;
}

.quick-action-grid a span {
    color: #6f6a61;
    font-size: 12px;
    font-weight: 600;
}

.recent-cases {
    min-width: 0;
}

@media (max-width: 1180px) {
    .kpi-grid.polished {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

    .dashboard-layout {
        grid-template-columns: 1fr;
    }

    .quick-action-grid {
        grid-template-columns: repeat(3, minmax(140px, 1fr));
    }
}

@media (max-width: 720px) {
    .dashboard-welcome {
        align-items: flex-start;
        flex-direction: column;
    }

    .kpi-grid.polished,
    .quick-action-grid {
        grid-template-columns: 1fr;
    }

    .status-bar-row {
        grid-template-columns: 1fr;
    }
}

/* Dashboard layout cleanup */
body.app {
    background: #f7f5ef;
}

.app,
.app input,
.app select,
.app textarea,
.app button {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.admin-utilitybar {
    min-height: 68px;
    padding: 0 clamp(20px, 3vw, 36px);
    background: #ffffff;
    border-bottom: 1px solid #e8dfd0;
}

.utility-copy {
    display: grid;
    gap: 2px;
}

.utility-copy span {
    color: #0d6b19;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.utility-copy strong {
    color: #201b14;
    font-size: 18px;
}

.admin-shell {
    grid-template-columns: 248px minmax(0, 1fr) !important;
    background: #f7f5ef;
}

.fhos-sidebar {
    background: linear-gradient(180deg, #064526 0%, #1d1811 100%) !important;
    padding: 18px 14px !important;
}

.sidebar-brand {
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 12px;
    padding-bottom: 18px;
    margin-bottom: 18px;
}

.sidebar-logo-frame {
    width: 70px;
    height: 70px;
    border: 1px solid rgba(220, 202, 160, 0.7);
    background: transparent;
}

.sidebar-logo-frame img {
    width: 62px;
    height: 62px;
}

.sidebar-section {
    gap: 4px;
    margin-bottom: 14px;
    padding-bottom: 14px;
}

.sidebar-section a {
    padding: 9px 11px;
    font-size: 14px;
}

.sidebar-section a:hover {
    background: rgba(255,255,255,0.11);
}

.admin-main.dashboard-page {
    padding: 28px clamp(20px, 3vw, 36px) 40px;
    overflow: hidden;
}

.dashboard-welcome {
    margin-bottom: 18px;
}

.dashboard-welcome h1 {
    font-size: clamp(30px, 3.2vw, 42px);
    line-height: 1.1;
    font-family: inherit;
    font-weight: 900;
    color: #1f1b15;
}

.kpi-grid.polished {
    grid-template-columns: repeat(5, minmax(150px, 1fr)) !important;
    gap: 14px;
    margin-bottom: 18px;
}

.kpi-card.polished {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px;
    min-height: 152px;
    padding: 18px;
    border-radius: 8px;
    overflow: hidden;
}

.kpi-icon {
    width: 44px;
    height: 44px;
    font-size: 15px;
}

.kpi-card-top {
    align-items: flex-start;
    gap: 8px;
}

.kpi-card-top > span:first-child {
    max-width: 92px;
    line-height: 1.25;
}

.kpi-card.polished strong {
    margin-top: 4px;
    font-size: clamp(24px, 2vw, 30px);
    line-height: 1.05;
    font-family: inherit;
    white-space: normal;
}

.kpi-card.polished p {
    min-height: 34px;
    font-size: 12px;
    line-height: 1.35;
}

.sparkline {
    height: 4px;
    margin-top: 6px;
    border-radius: 999px;
    background: currentColor;
    opacity: .55;
}

.dashboard-layout {
    grid-template-columns: minmax(0, 1.9fr) minmax(280px, 0.85fr);
    gap: 18px;
}

.panel {
    border-radius: 8px;
}

.panel-heading h2,
.dashboard-page h2 {
    font-family: inherit !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    margin: 0;
    letter-spacing: 0;
    color: #201b14;
}

.status-bar-row {
    grid-template-columns: 145px minmax(0, 1fr) 36px;
}

.side-panel {
    overflow: hidden;
}

.side-item {
    grid-template-columns: 48px minmax(0, 1fr);
}

.recent-cases table {
    font-size: 13px;
}

.recent-cases th {
    font-size: 11px;
    text-transform: uppercase;
    color: #70685d;
}

.quick-action-grid {
    grid-template-columns: repeat(6, minmax(110px, 1fr));
}

.quick-action-grid a {
    min-height: 88px;
    justify-content: center;
}

@media (max-width: 1280px) {
    .kpi-grid.polished {
        grid-template-columns: repeat(3, minmax(180px, 1fr)) !important;
    }

    .quick-action-grid {
        grid-template-columns: repeat(3, minmax(140px, 1fr));
    }
}

@media (max-width: 980px) {
    .admin-shell {
        grid-template-columns: 1fr !important;
    }

    .admin-main.dashboard-page {
        padding: 20px 16px 32px;
    }

    .kpi-grid.polished,
    .dashboard-layout {
        grid-template-columns: 1fr !important;
    }
}

/* Remove KPI initial circles */
.kpi-card.polished {
    grid-template-columns: 1fr !important;
}

.kpi-icon {
    display: none !important;
}

/* Improve sidebar logo contrast */
.sidebar-logo-frame {
    background: #fbfaf6 !important;
    border: 1px solid rgba(220, 202, 160, 0.9) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,0.22), inset 0 0 0 1px rgba(255,255,255,0.75) !important;
}

.sidebar-logo-frame img {
    width: 64px !important;
    height: 64px !important;
    object-fit: contain !important;
}

.sidebar-brand-text strong {
    color: #ffffff !important;
}

.sidebar-brand-text small {
    color: #e5d6b4 !important;
}

/* Light sidebar option */
.fhos-sidebar {
    background: #fbfaf6 !important;
    color: #201b14 !important;
    border-right: 1px solid #e4dac9 !important;
}

.sidebar-brand {
    border-bottom: 1px solid #e4dac9 !important;
}

.sidebar-logo-frame {
    background: #ffffff !important;
    border: 1px solid #d8c8aa !important;
    box-shadow: 0 8px 18px rgba(42, 35, 24, 0.08) !important;
}

.sidebar-brand-text strong {
    color: #064526 !important;
}

.sidebar-brand-text small {
    color: #74684f !important;
}

.sidebar-section {
    border-bottom: 1px solid #e7dfcf !important;
}

.sidebar-section span {
    color: #8a7653 !important;
}

.sidebar-section a {
    color: #2a241c !important;
}

.sidebar-section a:hover {
    background: #e9f7eb !important;
    color: #064526 !important;
}

.sidebar-section a:focus {
    outline: 2px solid #0d6b19 !important;
}

@media (max-width: 900px) {
    .sidebar-brand {
        border-right: 1px solid #e4dac9 !important;
    }

    .sidebar-section {
        border-right: 1px solid #e7dfcf !important;
    }
}

/* Sidebar logo only, transparent */
.sidebar-brand {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.sidebar-logo-frame {
    width: 144px !important;
    height: 104px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.sidebar-logo-frame img {
    width: 138px !important;
    height: 98px !important;
    object-fit: contain !important;
}

/* Top bar after removing title */
.admin-utilitybar {
    justify-content: flex-end !important;
}

/* Sidebar Material Symbols icons */
.sidebar-section a {
    display: flex !important;
    align-items: center;
    gap: 10px;
}

.sidebar-section a .material-symbols-outlined {
    font-size: 20px;
    line-height: 1;
    color: currentColor;
    font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' 0,
        'opsz' 24;
    flex: 0 0 auto;
}

/* Sidebar responsive stability pass */
.admin-shell {
    display: grid !important;
    grid-template-columns: 248px minmax(0, 1fr) !important;
    min-height: calc(100vh - 68px) !important;
    overflow: visible !important;
}

.fhos-sidebar {
    position: sticky !important;
    top: 0 !important;
    height: calc(100vh - 68px) !important;
    max-height: calc(100vh - 68px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 18px 14px !important;
}

.sidebar-brand {
    min-width: 0 !important;
    width: 100% !important;
    padding: 0 0 18px !important;
    margin: 0 0 18px !important;
}

.sidebar-section {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    gap: 4px !important;
}

.sidebar-section a {
    width: 100% !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
}

.sidebar-section a .material-symbols-outlined {
    width: 22px !important;
    text-align: center !important;
}

/* Dashboard must never sit underneath or overflow the sidebar */
.admin-main {
    min-width: 0 !important;
    overflow-x: hidden !important;
}

/* Tablet/mobile: move sidebar into a compact horizontal rail */
@media (max-width: 980px) {
    .admin-shell {
        grid-template-columns: 1fr !important;
    }

    .fhos-sidebar {
        position: relative !important;
        top: auto !important;
        height: auto !important;
        max-height: none !important;
        display: flex !important;
        align-items: stretch !important;
        gap: 12px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 12px 14px !important;
        border-right: 0 !important;
        border-bottom: 1px solid #e4dac9 !important;
    }

    .sidebar-brand {
        flex: 0 0 132px !important;
        width: 132px !important;
        padding: 0 12px 0 0 !important;
        margin: 0 !important;
        border-bottom: 0 !important;
        border-right: 1px solid #e4dac9 !important;
    }

    .sidebar-logo-frame {
        width: 118px !important;
        height: 74px !important;
    }

    .sidebar-logo-frame img {
        width: 112px !important;
        height: 70px !important;
    }

    .sidebar-section {
        flex: 0 0 190px !important;
        width: 190px !important;
        min-width: 190px !important;
        border-bottom: 0 !important;
        border-right: 1px solid #e7dfcf !important;
        padding: 0 12px 0 0 !important;
        margin: 0 !important;
    }

    .sidebar-section a {
        padding: 8px 10px !important;
        font-size: 13px !important;
    }

    .admin-main {
        padding: 18px 14px 32px !important;
    }
}

/* Small phones: hide logo rail to give menu items room */
@media (max-width: 560px) {
    .sidebar-brand {
        display: none !important;
    }

    .sidebar-section {
        flex-basis: 176px !important;
        width: 176px !important;
        min-width: 176px !important;
    }
}

/* Stable admin shell scrolling */
@media (min-width: 981px) {
    body.app {
        height: 100vh !important;
        overflow: hidden !important;
    }

    .dashboard-topbar,
    .topbar {
        position: sticky !important;
        top: 0 !important;
        z-index: 50 !important;
    }

    .admin-shell {
        height: calc(100vh - 68px) !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    .fhos-sidebar {
        position: relative !important;
        top: auto !important;
        height: 100% !important;
        max-height: none !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
    }

    .admin-main {
        height: 100% !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain !important;
    }
}

/* Mobile/tablet keeps natural page scrolling */
@media (max-width: 980px) {
    body.app {
        height: auto !important;
        overflow: auto !important;
    }

    .admin-shell,
    .admin-main {
        height: auto !important;
        overflow: visible !important;
    }
}

/* FHOS shared admin shell consistency */
.admin-utilitybar {
    justify-content: flex-end !important;
}

.admin-main {
    box-sizing: border-box;
}

.admin-main > .panel:first-child,
.admin-main > .dashboard-welcome:first-child,
.admin-main > .case-hero:first-child,
.admin-main > .module-hero:first-child {
    margin-top: 0;
}

.fhos-sidebar,
.admin-main,
.dashboard-topbar {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.fhos-sidebar .material-symbols-outlined {
    font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' 0,
        'opsz' 24;
}

.panel,
.kpi-card,
.module-card,
.date-chip,
input,
select,
textarea,
button {
    border-radius: 8px;
}

@media (min-width: 981px) {
    .admin-main {
        padding: 28px clamp(20px, 3vw, 36px) 40px !important;
    }
}

/* Modern Case Register */
.case-register-page {
    background: #f8f6f1;
}

.case-register-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.case-register-hero h1 {
    margin: 4px 0 8px;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1;
    color: #122033;
    letter-spacing: 0;
}

.primary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 999px;
    background: #0e6b3b;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    border: 0;
    white-space: nowrap;
    box-shadow: 0 12px 24px rgba(14, 107, 59, .18);
}

.primary-action .material-symbols-outlined {
    font-size: 21px;
}

.register-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.register-summary-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 96px;
    padding: 18px;
    border: 1px solid #e6dece;
    border-radius: 8px;
    background: #fffdfa;
    box-shadow: 0 12px 28px rgba(25, 20, 13, .06);
}

.register-summary-card .material-symbols-outlined {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    color: #0e6b3b;
    background: #e8f4ee;
    font-size: 24px;
}

.register-summary-card p {
    margin: 0 0 5px;
    color: #6f6353;
    font-size: 13px;
    font-weight: 700;
}

.register-summary-card strong {
    display: block;
    color: #111827;
    font-size: 28px;
    line-height: 1;
}

.register-panel {
    border: 1px solid #e5ddcf;
    border-radius: 8px;
    background: #fffdfa;
    box-shadow: 0 18px 40px rgba(25, 20, 13, .07);
    overflow: hidden;
}

.register-filters {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 190px 190px auto auto;
    gap: 10px;
    padding: 16px;
    border-bottom: 1px solid #eee6d7;
    background: #fffaf1;
}

.register-search {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 0 14px;
    border: 1px solid #ded6c8;
    border-radius: 8px;
    background: #fff;
}

.register-search .material-symbols-outlined {
    color: #6f6353;
    font-size: 22px;
}

.register-search input,
.register-filters select {
    width: 100%;
    min-height: 44px;
    border: 1px solid #ded6c8;
    border-radius: 8px;
    background: #fff;
    color: #1f2937;
    font: inherit;
}

.register-search input {
    min-height: auto;
    border: 0;
    outline: 0;
}

.register-filters select {
    padding: 0 12px;
}

.register-filters button,
.register-filters a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 8px;
    font-weight: 800;
    text-decoration: none;
}

.register-filters button {
    border: 0;
    background: #0e6b3b;
    color: #fff;
    cursor: pointer;
}

.register-filters a {
    border: 1px solid #ded6c8;
    color: #5d5144;
    background: #fff;
}

.register-table-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px 6px;
}

.register-table-head h2 {
    margin: 0;
    color: #122033;
    font-size: 20px;
}

.register-table-head p {
    margin: 4px 0 0;
    color: #776b5b;
    font-size: 13px;
}

.register-table-wrap {
    padding: 0 16px 16px;
}

.register-table {
    border-collapse: separate;
    border-spacing: 0 8px;
}

.register-table thead th {
    color: #6b7280;
    font-size: 11px;
    letter-spacing: 0;
    text-transform: uppercase;
}

.register-table tbody tr {
    background: #fff;
    box-shadow: 0 1px 0 #ece4d8;
}

.register-table tbody td {
    border-top: 1px solid #eee6d7;
    border-bottom: 1px solid #eee6d7;
    vertical-align: middle;
}

.register-table tbody td:first-child {
    border-left: 1px solid #eee6d7;
    border-radius: 8px 0 0 8px;
}

.register-table tbody td:last-child {
    border-right: 1px solid #eee6d7;
    border-radius: 0 8px 8px 0;
}

.register-table td strong {
    display: block;
    color: #111827;
    font-weight: 800;
}

.register-table td span {
    display: block;
    margin-top: 4px;
    color: #756b5f;
    font-size: 12px;
}

.register-status {
    display: inline-flex !important;
    margin: 0 !important;
    background: #e9f4ee;
    color: #0e6b3b;
}

.register-view {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #eaf5ef;
    color: #0e6b3b;
}

.register-view .material-symbols-outlined {
    margin: 0;
    font-size: 20px;
    color: inherit;
}

.register-empty {
    display: grid;
    place-items: center;
    gap: 8px;
    padding: 42px 20px;
    text-align: center;
}

.register-empty .material-symbols-outlined {
    font-size: 42px;
    color: #0e6b3b;
}

.register-empty h3,
.register-empty p {
    margin: 0;
}

.register-pagination {
    padding: 0 20px 20px;
}

@media (max-width: 1100px) {
    .register-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .register-filters {
        grid-template-columns: 1fr 1fr;
    }

    .register-search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .case-register-hero {
        align-items: stretch;
        flex-direction: column;
    }

    .register-summary-grid,
    .register-filters {
        grid-template-columns: 1fr;
    }

    .register-table-wrap {
        overflow-x: auto;
    }

    .register-table {
        min-width: 920px;
    }
}

/* Modern Case Detail Workspace */
.case-detail-page {
    background: #f8f6f1;
}

.case-detail-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
}

.case-detail-hero h1 {
    margin: 4px 0 8px;
    color: #122033;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1;
    letter-spacing: 0;
}

.case-detail-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.success-alert {
    border-color: #bfe5cf;
    background: #eefaf3;
    color: #0e6b3b;
}

.case-overview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.case-overview-card {
    display: grid;
    gap: 7px;
    min-height: 112px;
    padding: 18px;
    border: 1px solid #e6dece;
    border-radius: 8px;
    background: #fffdfa;
    box-shadow: 0 12px 28px rgba(25, 20, 13, .06);
}

.case-overview-card .material-symbols-outlined {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #e8f4ee;
    color: #0e6b3b;
}

.case-overview-card p {
    margin: 0;
    color: #6f6353;
    font-size: 13px;
    font-weight: 800;
}

.case-overview-card strong {
    color: #111827;
    font-size: 22px;
    line-height: 1.15;
}

.case-workspace-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(320px, .8fr);
    gap: 16px;
    margin-bottom: 16px;
}

.lower-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.detail-panel {
    border: 1px solid #e5ddcf;
    border-radius: 8px;
    background: #fffdfa;
    box-shadow: 0 18px 40px rgba(25, 20, 13, .07);
    overflow: hidden;
}

.detail-panel-head {
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 18px 20px;
    border-bottom: 1px solid #eee6d7;
    background: #fffaf1;
}

.detail-panel-head > .material-symbols-outlined {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: #e8f4ee;
    color: #0e6b3b;
    font-size: 24px;
}

.detail-panel-head h2 {
    margin: 0;
    color: #122033;
    font-size: 20px;
}

.detail-panel-head p {
    margin: 4px 0 0;
    color: #756b5f;
    font-size: 13px;
}

.detail-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 16px;
}

.detail-info-grid div {
    padding: 14px;
    border-radius: 8px;
    background: #fbf8f1;
}

.detail-info-grid .wide {
    grid-column: 1 / -1;
}

.detail-info-grid span {
    display: block;
    margin-bottom: 6px;
    color: #756b5f;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.detail-info-grid strong {
    color: #111827;
    font-size: 15px;
}

.detail-form,
.payment-mini-form {
    display: grid;
    gap: 12px;
    padding: 18px 20px 20px;
}

.detail-form label {
    display: grid;
    gap: 7px;
}

.detail-form label span {
    color: #51483d;
    font-size: 13px;
    font-weight: 800;
}

.detail-form select,
.detail-form textarea,
.payment-mini-form input {
    width: 100%;
    min-height: 44px;
    border: 1px solid #ded6c8;
    border-radius: 8px;
    background: #fff;
    color: #1f2937;
    font: inherit;
    padding: 0 12px;
}

.detail-form textarea {
    min-height: 106px;
    padding-top: 12px;
}

.payment-mini-form {
    grid-template-columns: 1fr 1fr 1fr auto;
    border-bottom: 1px solid #eee6d7;
}

.payment-mini-form button,
.detail-list-row form button {
    min-height: 40px;
    padding: 0 14px;
    border: 0;
    border-radius: 8px;
    background: #0e6b3b;
    color: #fff;
    font-weight: 800;
    cursor: pointer;
}

.detail-list {
    display: grid;
    gap: 10px;
    padding: 16px;
}

.detail-list-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px;
    border: 1px solid #eee6d7;
    border-radius: 8px;
    background: #fff;
}

.detail-list-row strong,
.detail-list-row span {
    display: block;
}

.detail-list-row span,
.mini-date {
    margin-top: 4px;
    color: #756b5f;
    font-size: 12px;
}

.row-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.small-action {
    min-height: 40px;
    border-radius: 8px;
}

.empty-soft {
    display: grid;
    place-items: center;
    gap: 8px;
    padding: 32px 18px;
    color: #756b5f;
    text-align: center;
}

.empty-soft .material-symbols-outlined {
    color: #0e6b3b;
    font-size: 38px;
}

.empty-soft p {
    margin: 0;
}

.timeline-list {
    display: grid;
    gap: 0;
    padding: 18px 20px 22px;
}

.timeline-item {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 12px;
    padding-bottom: 18px;
    position: relative;
}

.timeline-item > span {
    width: 12px;
    height: 12px;
    margin-top: 5px;
    border-radius: 999px;
    background: #0e6b3b;
    box-shadow: 0 0 0 5px #e8f4ee;
}

.timeline-item:not(:last-child)::before {
    content: "";
    position: absolute;
    left: 5px;
    top: 22px;
    bottom: 0;
    width: 2px;
    background: #e5ddcf;
}

.timeline-item strong {
    color: #122033;
}

.timeline-item p {
    margin: 5px 0;
    color: #51483d;
}

.timeline-item small {
    color: #756b5f;
}

@media (max-width: 1100px) {
    .case-overview-grid,
    .case-workspace-grid,
    .lower-grid {
        grid-template-columns: 1fr 1fr;
    }

    .case-workspace-grid {
        grid-template-columns: 1fr;
    }

    .payment-mini-form {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .case-detail-hero {
        align-items: stretch;
        flex-direction: column;
    }

    .case-detail-actions,
    .case-overview-grid,
    .detail-info-grid,
    .lower-grid {
        grid-template-columns: 1fr;
        flex-direction: column;
    }

    .case-detail-actions .primary-action,
    .case-detail-actions .ghost-action {
        width: 100%;
    }

    .detail-list-row,
    .row-actions {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Clean Dashboard Template */
.modern-dashboard {
    background: #f8f6f1;
}

.dashboard-clean-hero {
    margin-bottom: 18px;
}

.dashboard-clean-hero h1 {
    margin: 4px 0 8px;
    color: #122033;
    font-size: clamp(34px, 4vw, 48px);
    line-height: 1;
    letter-spacing: 0;
}

.dashboard-metric-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.dashboard-metric-card {
    min-height: 160px;
    padding: 18px;
    border: 1px solid #e6dece;
    border-radius: 8px;
    background: #fffdfa;
    box-shadow: 0 12px 28px rgba(25, 20, 13, .06);
}

.metric-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.metric-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    color: #0e6b3b;
    background: #e8f4ee;
}

.metric-trend {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 6px 8px;
    border-radius: 999px;
    background: #f3f0e8;
    color: #64594d;
    font-size: 12px;
    font-weight: 800;
}

.metric-trend .material-symbols-outlined {
    font-size: 17px;
}

.metric-trend.trend-up {
    background: #e8f4ee;
    color: #0e6b3b;
}

.metric-trend.trend-down {
    background: #fff0ea;
    color: #b54708;
}

.dashboard-metric-card p,
.dashboard-metric-card small {
    margin: 0;
    color: #706558;
}

.dashboard-metric-card p {
    font-weight: 800;
}

.dashboard-metric-card strong {
    display: block;
    margin: 8px 0;
    color: #111827;
    font-size: 26px;
    line-height: 1.05;
}

.dashboard-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    gap: 16px;
    margin-bottom: 16px;
}

.status-list,
.upcoming-list {
    display: grid;
    gap: 12px;
    padding: 16px 20px 20px;
}

.status-row {
    display: grid;
    grid-template-columns: minmax(140px, .8fr) minmax(120px, 1fr) 48px;
    align-items: center;
    gap: 12px;
    padding: 13px;
    border: 1px solid #eee6d7;
    border-radius: 8px;
    background: #fff;
}

.status-row strong,
.status-row span {
    display: block;
}

.status-row span {
    margin-top: 3px;
    color: #756b5f;
    font-size: 12px;
}

.status-meter {
    height: 9px;
    border-radius: 999px;
    background: #f0eadf;
    overflow: hidden;
}

.status-meter i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #0e6b3b;
}

.status-row b {
    color: #122033;
    font-size: 13px;
    text-align: right;
}

.upcoming-row {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 13px;
    border: 1px solid #eee6d7;
    border-radius: 8px;
    background: #fff;
    color: inherit;
    text-decoration: none;
}

.date-box {
    display: grid;
    place-items: center;
    min-width: 86px;
    min-height: 42px;
    padding: 0 10px;
    border-radius: 8px;
    background: #f3f0e8;
    color: #51483d;
    font-size: 12px;
    font-weight: 900;
}

.upcoming-row strong,
.upcoming-row small {
    display: block;
}

.upcoming-row small {
    margin-top: 4px;
    color: #756b5f;
}

.mini-link {
    color: #0e6b3b;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

.dashboard-case-table td {
    vertical-align: middle;
}

.dashboard-quick-actions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.dashboard-quick-actions a {
    display: grid;
    gap: 5px;
    min-height: 112px;
    padding: 16px;
    border: 1px solid #e6dece;
    border-radius: 8px;
    background: #fffdfa;
    color: #111827;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(25, 20, 13, .05);
}

.dashboard-quick-actions .material-symbols-outlined {
    color: #0e6b3b;
    font-size: 28px;
}

.dashboard-quick-actions small {
    color: #756b5f;
}

@media (max-width: 1180px) {
    .dashboard-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-content-grid,
    .dashboard-quick-actions {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .dashboard-metric-grid,
    .dashboard-content-grid,
    .dashboard-quick-actions,
    .status-row {
        grid-template-columns: 1fr;
    }

    .status-row b {
        text-align: left;
    }

    .dashboard-case-table {
        min-width: 760px;
    }

    .table-wrap {
        overflow-x: auto;
    }
}

/* Dashboard Recent Cases Polish */
.recent-cases-panel {
    overflow: hidden;
}

.recent-cases-heading {
    align-items: flex-start;
}

.panel-subtext {
    margin: 5px 0 0;
    color: #756b5f;
    font-size: 13px;
}

.strong-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.strong-link .material-symbols-outlined {
    font-size: 18px;
}

.recent-case-list {
    display: grid;
    gap: 12px;
    padding: 16px 20px 20px;
}

.recent-case-card {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(360px, .9fr) auto;
    align-items: center;
    gap: 16px;
    padding: 16px;
    border: 1px solid #eee6d7;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(25, 20, 13, .045);
}

.recent-case-main {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}

.case-avatar {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: #e8f4ee;
    color: #0e6b3b;
    font-size: 24px;
}

.case-title-row {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
}

.case-title-row h3 {
    margin: 0;
    color: #111827;
    font-size: 16px;
    line-height: 1.2;
}

.recent-case-main p {
    margin: 5px 0 0;
    color: #756b5f;
    font-size: 13px;
    line-height: 1.35;
}

.case-status-chip {
    margin: 0 !important;
    font-size: 11px;
    white-space: nowrap;
}

.recent-case-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.recent-case-meta div {
    min-height: 58px;
    padding: 10px;
    border-radius: 8px;
    background: #fbf8f1;
}

.recent-case-meta span {
    display: block;
    margin-bottom: 5px;
    color: #756b5f;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.recent-case-meta strong {
    display: block;
    color: #111827;
    font-size: 13px;
    line-height: 1.25;
}

.balance-due {
    color: #b54708 !important;
}

.balance-clear {
    color: #0e6b3b !important;
}

.case-open-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    background: #e8f4ee;
    color: #0e6b3b;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
}

.case-open-action .material-symbols-outlined {
    font-size: 19px;
}

.recent-empty h3,
.recent-empty p {
    margin: 0;
}

@media (max-width: 1200px) {
    .recent-case-card {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .case-open-action {
        justify-self: start;
    }
}

@media (max-width: 720px) {
    .recent-cases-heading {
        gap: 12px;
        flex-direction: column;
    }

    .recent-case-meta {
        grid-template-columns: 1fr;
    }

    .case-open-action {
        width: 100%;
    }
}

/* World-class FHOS dashboard */
.fhos-dashboard-v2 {
    background:
        radial-gradient(circle at top left, rgba(14, 107, 59, .08), transparent 34%),
        linear-gradient(180deg, #fbfaf6 0%, #f5f1e9 100%);
    padding: 28px;
}

.dash-command-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    padding: 26px;
    margin-bottom: 18px;
    border: 1px solid #e7ddcc;
    border-radius: 8px;
    background: linear-gradient(135deg, #fffdfa 0%, #f8f2e7 100%);
    box-shadow: 0 18px 48px rgba(32, 24, 13, .08);
}

.dash-command-hero h1 {
    margin: 4px 0 8px;
    color: #101828;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1;
    letter-spacing: 0;
}

.dash-command-hero p {
    margin: 0;
    color: #64594d;
}

.dash-hero-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.dash-primary-action,
.dash-secondary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 999px;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
}

.dash-primary-action {
    background: #0e6b3b;
    color: #fff;
    box-shadow: 0 14px 28px rgba(14, 107, 59, .2);
}

.dash-secondary-action {
    border: 1px solid #ded4c2;
    background: #fff;
    color: #51483d;
}

.dash-metrics-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.dash-metric-card,
.dash-panel,
.dash-finance-strip,
.dash-quick-grid a {
    border: 1px solid #e6dece;
    border-radius: 8px;
    background: rgba(255, 253, 250, .94);
    box-shadow: 0 14px 34px rgba(32, 24, 13, .07);
}

.dash-metric-card {
    min-height: 168px;
    padding: 18px;
}

.dash-metric-top,
.dash-panel-head,
.dash-status-row,
.dash-case-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.dash-metric-top {
    margin-bottom: 18px;
}

.dash-metric-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: #e6f3ec;
    color: #0e6b3b;
    font-size: 25px;
}

.dash-trend {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 6px 9px;
    border-radius: 999px;
    background: #f2eee7;
    color: #64594d;
    font-size: 12px;
    font-weight: 900;
}

.dash-trend .material-symbols-outlined {
    font-size: 17px;
}

.dash-trend-up {
    background: #e6f3ec;
    color: #0e6b3b;
}

.dash-trend-down {
    background: #fff0e7;
    color: #b54708;
}

.dash-metric-label {
    display: block;
    color: #6b6258;
    font-size: 13px;
    font-weight: 900;
}

.dash-metric-card strong {
    display: block;
    margin: 8px 0;
    color: #101828;
    font-size: 28px;
    line-height: 1;
}

.dash-metric-card p {
    margin: 0;
    color: #756b5f;
    font-size: 13px;
}

.dash-finance-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding: 16px;
    margin-bottom: 16px;
}

.dash-finance-strip span {
    color: #756b5f;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.dash-finance-strip strong {
    display: block;
    margin: 5px 0 10px;
    color: #101828;
    font-size: 22px;
}

.dash-finance-strip i,
.dash-status-row i {
    display: block;
    height: 9px;
    border-radius: 999px;
    background: #eee7dc;
    overflow: hidden;
}

.dash-finance-strip b,
.dash-status-row b {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #0e6b3b;
}

.warning-bar b {
    background: #d97706;
}

.dash-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    gap: 16px;
    margin-bottom: 16px;
}

.dash-panel {
    overflow: hidden;
}

.dash-panel-head {
    gap: 16px;
    padding: 18px 20px;
    border-bottom: 1px solid #eee6d7;
    background: #fffaf2;
}

.dash-panel-head h2,
.dash-panel-head p,
.dash-panel-head small {
    margin: 0;
}

.dash-panel-head h2 {
    margin-top: 4px;
    color: #101828;
    font-size: 21px;
}

.dash-panel-head small {
    display: block;
    margin-top: 5px;
    color: #756b5f;
}

.dash-panel-head > span,
.dash-panel-head a {
    color: #0e6b3b;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
}

.dash-status-list,
.dash-service-list,
.dash-case-queue {
    display: grid;
    gap: 12px;
    padding: 16px 20px 20px;
}

.dash-status-row {
    display: grid;
    grid-template-columns: minmax(140px, .8fr) minmax(120px, 1fr) 48px;
    gap: 12px;
    padding: 13px;
    border: 1px solid #eee6d7;
    border-radius: 8px;
    background: #fff;
}

.dash-status-row strong,
.dash-status-row small {
    display: block;
}

.dash-status-row small {
    margin-top: 3px;
    color: #756b5f;
}

.dash-status-row span {
    color: #101828;
    font-size: 13px;
    font-weight: 900;
    text-align: right;
}

.dash-service-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px;
    border: 1px solid #eee6d7;
    border-radius: 8px;
    background: #fff;
    color: inherit;
    text-decoration: none;
}

.dash-service-row > span {
    display: grid;
    place-items: center;
    min-width: 88px;
    min-height: 44px;
    padding: 0 10px;
    border-radius: 8px;
    background: #f3eee5;
    color: #51483d;
    font-size: 12px;
    font-weight: 900;
}

.dash-service-row strong,
.dash-service-row small {
    display: block;
}

.dash-service-row small {
    margin-top: 4px;
    color: #756b5f;
}

.dash-case-row {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(360px, .95fr) auto;
    gap: 16px;
    padding: 16px;
    border: 1px solid #eee6d7;
    border-radius: 8px;
    background: #fff;
}

.dash-case-title {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.dash-case-title > span {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: #e6f3ec;
    color: #0e6b3b;
}

.dash-case-title h3 {
    margin: 0;
    color: #101828;
    font-size: 16px;
}

.dash-case-title p {
    margin: 5px 0 0;
    color: #756b5f;
    font-size: 13px;
}

.dash-case-data {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.dash-case-data div {
    padding: 10px;
    border-radius: 8px;
    background: #fbf8f1;
}

.dash-case-data small {
    display: block;
    margin-bottom: 5px;
    color: #756b5f;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.dash-case-data strong {
    color: #101828;
    font-size: 13px;
}

.dash-warn {
    color: #b54708 !important;
}

.dash-ok {
    color: #0e6b3b !important;
}

.dash-view-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    background: #e6f3ec;
    color: #0e6b3b;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
}

.dash-view-link .material-symbols-outlined {
    font-size: 19px;
}

.dash-quick-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.dash-quick-grid a {
    display: grid;
    gap: 5px;
    min-height: 112px;
    padding: 16px;
    color: #101828;
    text-decoration: none;
}

.dash-quick-grid .material-symbols-outlined {
    color: #0e6b3b;
    font-size: 29px;
}

.dash-quick-grid small,
.dash-empty {
    color: #756b5f;
}

.dash-empty {
    padding: 28px;
    text-align: center;
}

@media (max-width: 1220px) {
    .dash-metrics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dash-main-grid,
    .dash-quick-grid {
        grid-template-columns: 1fr 1fr;
    }

    .dash-case-row {
        grid-template-columns: 1fr;
    }

    .dash-view-link {
        justify-self: start;
    }
}

@media (max-width: 760px) {
    .fhos-dashboard-v2 {
        padding: 18px;
    }

    .dash-command-hero,
    .dash-hero-actions,
    .dash-main-grid,
    .dash-finance-strip,
    .dash-metrics-grid,
    .dash-quick-grid,
    .dash-status-row,
    .dash-case-data {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: stretch;
    }

    .dash-status-row span {
        text-align: left;
    }

    .dash-primary-action,
    .dash-secondary-action,
    .dash-view-link {
        width: 100%;
    }
}

/* Inter font and dashboard spacing consistency */
:root {
    --fhos-font: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --dash-gap: 16px;
    --dash-gap-lg: 18px;
    --dash-panel-pad: 20px;
    --dash-card-radius: 8px;
}

body,
button,
input,
select,
textarea {
    font-family: var(--fhos-font);
}

.material-symbols-outlined {
    font-family: "Material Symbols Outlined";
    font-weight: 400;
    font-style: normal;
    font-size: 22px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-feature-settings: "liga";
    -webkit-font-smoothing: antialiased;
    font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

.fhos-dashboard-v2 {
    display: grid;
    gap: var(--dash-gap);
    padding: 28px;
}

.fhos-dashboard-v2 > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.dash-command-hero,
.dash-metrics-grid,
.dash-finance-strip,
.dash-main-grid,
.dash-recent-panel,
.dash-quick-grid {
    margin: 0 !important;
}

.dash-metrics-grid,
.dash-main-grid,
.dash-quick-grid,
.dash-finance-strip,
.dash-case-queue,
.dash-status-list,
.dash-service-list {
    gap: var(--dash-gap);
}

.dash-command-hero,
.dash-metric-card,
.dash-panel,
.dash-finance-strip,
.dash-quick-grid a,
.dash-case-row,
.dash-status-row,
.dash-service-row {
    border-radius: var(--dash-card-radius);
}

.dash-panel-head {
    padding: 18px var(--dash-panel-pad);
}

.dash-status-list,
.dash-service-list,
.dash-case-queue {
    padding: var(--dash-gap) var(--dash-panel-pad) var(--dash-panel-pad);
}

.dash-metric-card {
    padding: 18px;
}

.dash-finance-strip {
    padding: var(--dash-gap);
}

.dash-quick-grid a {
    padding: var(--dash-gap);
}

.dash-command-hero h1,
.dash-panel-head h2,
.dash-case-title h3,
.dash-metric-card strong {
    letter-spacing: 0;
}

@media (max-width: 760px) {
    .fhos-dashboard-v2 {
        gap: 14px;
        padding: 18px;
    }

    .dash-status-list,
    .dash-service-list,
    .dash-case-queue {
        padding: 14px;
    }
}

/* Remove dashboard gradients; keep clean white surfaces */
.fhos-dashboard-v2,
.modern-dashboard,
.case-register-page,
.intake-page,
.case-detail-page {
    background: #f7f6f2 !important;
}

.dash-command-hero,
.dashboard-clean-hero,
.dashboard-hero,
.dash-metric-card,
.dashboard-metric-card,
.dash-panel,
.dashboard-panel,
.dash-finance-strip,
.dash-quick-grid a,
.dashboard-quick-actions a,
.register-summary-card,
.register-panel,
.intake-panel,
.detail-panel,
.case-overview-card,
.recent-case-card,
.dash-case-row,
.dash-status-row,
.dash-service-row,
.upcoming-row,
.status-row {
    background: #ffffff !important;
    background-image: none !important;
}

.dash-panel-head,
.detail-panel-head,
.intake-panel-head,
.register-filters,
.panel-heading {
    background: #ffffff !important;
    background-image: none !important;
}

.intake-submit-bar {
    background: #f7f6f2 !important;
    background-image: none !important;
}

.metric-icon,
.dash-metric-icon,
.case-avatar,
.dash-case-title > span,
.detail-panel-head > .material-symbols-outlined,
.intake-panel-head .material-symbols-outlined,
.register-summary-card .material-symbols-outlined,
.case-overview-card .material-symbols-outlined {
    background: #eef7f2 !important;
    background-image: none !important;
}

/* Consistent page title scale */
.dash-command-hero h1,
.dashboard-clean-hero h1,
.dashboard-hero h1,
.case-register-hero h1,
.intake-hero h1,
.case-detail-hero h1,
.admin-main > .dashboard-hero h1,
.admin-main > .case-register-hero h1,
.admin-main > .intake-hero h1,
.admin-main > .case-detail-hero h1 {
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
}

/* Keep section headings smaller than page titles */
.dash-panel-head h2,
.panel-heading h2,
.detail-panel-head h2,
.intake-panel-head h2,
.register-table-head h2,
.dashboard-panel h2 {
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
}

/* Keep card values visually strong but not oversized */
.dash-metric-card strong,
.dashboard-metric-card strong,
.register-summary-card strong,
.case-overview-card strong {
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

/* Fintech-style money cards */
.dash-metric-card strong,
.dashboard-metric-card strong {
    font-variant-numeric: tabular-nums;
}

.dash-metric-card strong,
.dashboard-metric-card strong {
    font-size: 26px !important;
    font-weight: 700 !important;
}

/* Visually downsize currency prefix when value starts with ZMW */
.dash-metric-card strong,
.dashboard-metric-card strong {
    display: block;
}

.dash-metric-card strong::first-letter,
.dashboard-metric-card strong::first-letter {
    font-size: inherit;
}

/* Dedicated text rendering fallback: reduce whole money line slightly so ZMW feels less loud */
.dash-metric-card strong:has(+ p),
.dashboard-metric-card strong:has(+ small) {
    letter-spacing: 0 !important;
}

/* Finance strip money styling */
.dash-finance-strip strong {
    font-size: 20px !important;
    font-weight: 700 !important;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0 !important;
}

.dash-finance-strip span {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .02em;
}

/* Money card value: small currency, stronger amount */
.dash-metric-card strong.money-value {
    display: flex !important;
    align-items: baseline;
    gap: 6px;
    flex-wrap: wrap;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    font-variant-numeric: tabular-nums;
}

.dash-metric-card strong.money-value span {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #6f6353;
    letter-spacing: .03em;
}

/* Exact money prefix styling */
.dash-metric-card .money-value,
.dash-finance-strip .money-value {
    display: flex !important;
    align-items: baseline;
    gap: 6px;
    flex-wrap: wrap;
    line-height: 1.05 !important;
    font-variant-numeric: tabular-nums;
}

.dash-metric-card .money-value span,
.dash-finance-strip .money-value span {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #6f6353 !important;
    letter-spacing: .03em !important;
}

.dash-metric-card .money-value em,
.dash-finance-strip .money-value em {
    font-style: normal !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #101828 !important;
    letter-spacing: 0 !important;
}

.dash-finance-strip .money-value em {
    font-size: 20px !important;
}

/* Forced money prefix sizing */
.fhos-dashboard-v2 .dash-metric-card strong.money-value,
.fhos-dashboard-v2 .dash-finance-strip strong.money-value {
    display: flex !important;
    align-items: baseline !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    line-height: 1.05 !important;
    font-variant-numeric: tabular-nums !important;
}

.fhos-dashboard-v2 .dash-metric-card strong.money-value .money-currency,
.fhos-dashboard-v2 .dash-finance-strip strong.money-value .money-currency {
    display: inline-block !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #6f6353 !important;
    letter-spacing: .04em !important;
    line-height: 1 !important;
    transform: translateY(-1px);
}

.fhos-dashboard-v2 .dash-metric-card strong.money-value em {
    display: inline-block !important;
    font-style: normal !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #101828 !important;
    letter-spacing: 0 !important;
    line-height: 1.05 !important;
}

.fhos-dashboard-v2 .dash-finance-strip strong.money-value em {
    display: inline-block !important;
    font-style: normal !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #101828 !important;
    letter-spacing: 0 !important;
}

/* Customer management */
.customer-page {
    display: grid;
    gap: 16px;
    padding: 28px;
    background: #f7f6f2;
}

.customer-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    padding: 24px;
    border: 1px solid #e6dece;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(32, 24, 13, .06);
}

.customer-hero h1 {
    margin: 4px 0 8px;
    color: #101828;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: 0;
}

.customer-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.customer-summary-grid > div,
.customer-panel,
.customer-row {
    border: 1px solid #e6dece;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(32, 24, 13, .06);
}

.customer-summary-grid > div {
    display: grid;
    gap: 8px;
    padding: 18px;
}

.customer-summary-grid .material-symbols-outlined {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #eef7f2;
    color: #0e6b3b;
}

.customer-summary-grid p {
    margin: 0;
    color: #6f6353;
    font-size: 13px;
    font-weight: 800;
}

.customer-summary-grid strong {
    color: #101828;
    font-size: 24px;
    font-weight: 700;
}

.customer-summary-grid strong span,
.customer-stats strong span {
    font-size: 11px;
    color: #6f6353;
}

.customer-panel {
    overflow: hidden;
}

.customer-filters {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto auto;
    gap: 10px;
    padding: 16px;
    border-bottom: 1px solid #eee6d7;
}

.customer-filters label {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 0 13px;
    border: 1px solid #ded6c8;
    border-radius: 8px;
}

.customer-filters input {
    width: 100%;
    border: 0;
    outline: 0;
    font: inherit;
}

.customer-filters button,
.customer-filters a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 8px;
    font-weight: 800;
    text-decoration: none;
}

.customer-filters button {
    border: 0;
    background: #0e6b3b;
    color: #fff;
}

.customer-filters a {
    border: 1px solid #ded6c8;
    color: #51483d;
}

.customer-list {
    display: grid;
    gap: 12px;
    padding: 16px;
}

.customer-row {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(300px, .85fr) auto;
    align-items: center;
    gap: 16px;
    padding: 16px;
    box-shadow: none;
}

.customer-person {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.customer-person > span {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: #eef7f2;
    color: #0e6b3b;
    font-weight: 800;
}

.customer-person h3 {
    margin: 0;
    color: #101828;
    font-size: 16px;
}

.customer-person p {
    margin: 5px 0 0;
    color: #756b5f;
    font-size: 13px;
}

.customer-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.customer-stats div {
    padding: 10px;
    border-radius: 8px;
    background: #fbf8f1;
}

.customer-stats small {
    display: block;
    margin-bottom: 5px;
    color: #756b5f;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.customer-stats strong {
    color: #101828;
    font-size: 13px;
}

@media (max-width: 1100px) {
    .customer-summary-grid,
    .customer-row {
        grid-template-columns: 1fr;
    }

    .customer-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .customer-page {
        padding: 18px;
    }

    .customer-hero,
    .customer-filters {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: stretch;
    }

    .customer-summary-grid,
    .customer-stats {
        grid-template-columns: 1fr;
    }
}

/* Customer page layout repair */
.customer-page {
    width: 100%;
    max-width: none;
    min-width: 0;
    box-sizing: border-box;
}

.customer-panel,
.customer-list,
.customer-row,
.customer-person,
.customer-stats {
    min-width: 0;
    box-sizing: border-box;
}

.customer-row {
    grid-template-columns: minmax(260px, 1.3fr) minmax(260px, .9fr) minmax(110px, auto) !important;
    width: 100%;
}

.customer-person {
    overflow: hidden;
}

.customer-person h3,
.customer-person p {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.customer-stats {
    grid-template-columns: repeat(3, minmax(82px, 1fr)) !important;
}

.customer-stats div {
    min-width: 0;
}

.customer-stats strong {
    display: block;
    overflow-wrap: anywhere;
    line-height: 1.25;
}

.customer-row .dash-view-link {
    justify-self: end;
}

.customer-summary-grid > div {
    min-width: 0;
}

.customer-summary-grid strong {
    overflow-wrap: anywhere;
}

@media (max-width: 1180px) {
    .customer-row {
        grid-template-columns: 1fr !important;
    }

    .customer-row .dash-view-link {
        justify-self: start;
    }

    .customer-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {
    .customer-hero {
        display: flex !important;
    }

    .customer-filters {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .customer-filters button,
    .customer-filters a,
    .customer-row .dash-view-link {
        width: 100%;
    }

    .customer-stats {
        grid-template-columns: 1fr !important;
    }
}

/* Cleaner CRM customer rows */
.customer-panel {
    overflow: visible !important;
}

.customer-list {
    padding: 16px !important;
}

.customer-row {
    grid-template-columns: minmax(320px, 1.4fr) minmax(360px, 1fr) 120px !important;
    align-items: center !important;
    min-height: 88px;
    padding: 14px 16px !important;
    box-shadow: none !important;
}

.customer-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(92px, 1fr)) !important;
    gap: 10px !important;
}

.customer-stats div {
    min-height: 54px !important;
    padding: 9px 11px !important;
    border: 1px solid #eee6d7;
    background: #fbfaf7 !important;
}

.customer-stats small {
    margin-bottom: 4px !important;
    font-size: 10px !important;
    line-height: 1 !important;
}

.customer-stats strong {
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    white-space: normal !important;
}

.customer-stats strong span {
    display: inline-block;
    margin-right: 3px;
    font-size: 10px !important;
    font-weight: 700 !important;
}

.customer-row .dash-view-link {
    width: 100%;
    min-height: 42px;
    justify-self: stretch !important;
}

.customer-person > span {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
}

.customer-person h3 {
    font-size: 15px !important;
}

.customer-person p {
    max-width: 100%;
    white-space: normal !important;
    line-height: 1.35;
}

@media (max-width: 1180px) {
    .customer-row {
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
    }

    .customer-row .dash-view-link {
        justify-self: stretch !important;
    }
}

@media (max-width: 720px) {
    .customer-stats {
        grid-template-columns: 1fr !important;
    }
}

/* Document management */
.documents-page {
    display: grid;
    gap: 16px;
    padding: 28px;
    background: #f7f6f2;
}

.documents-hero,
.documents-summary-grid > div,
.documents-panel,
.document-row {
    border: 1px solid #e6dece;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(32, 24, 13, .06);
}

.documents-hero {
    padding: 24px;
}

.documents-hero h1 {
    margin: 4px 0 8px;
    color: #101828;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: 0;
}

.documents-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.documents-summary-grid > div {
    display: grid;
    gap: 8px;
    padding: 18px;
}

.documents-summary-grid .material-symbols-outlined {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #eef7f2;
    color: #0e6b3b;
}

.documents-summary-grid p {
    margin: 0;
    color: #6f6353;
    font-size: 13px;
    font-weight: 800;
}

.documents-summary-grid strong {
    color: #101828;
    font-size: 24px;
    font-weight: 700;
}

.documents-panel {
    overflow: hidden;
}

.documents-filters {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 190px 220px auto auto;
    gap: 10px;
    padding: 16px;
    border-bottom: 1px solid #eee6d7;
}

.documents-filters label {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 0 13px;
    border: 1px solid #ded6c8;
    border-radius: 8px;
}

.documents-filters input,
.documents-filters select {
    width: 100%;
    min-height: 44px;
    border: 1px solid #ded6c8;
    border-radius: 8px;
    background: #fff;
    font: inherit;
    padding: 0 12px;
}

.documents-filters label input {
    min-height: auto;
    border: 0;
    outline: 0;
    padding: 0;
}

.documents-filters button,
.documents-filters a,
.document-actions a,
.document-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    padding: 0 13px;
    border-radius: 8px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.documents-filters button,
.document-actions button {
    border: 0;
    background: #0e6b3b;
    color: #fff;
    cursor: pointer;
}

.documents-filters a,
.document-actions a {
    border: 1px solid #ded6c8;
    background: #fff;
    color: #51483d;
}

.document-actions .danger-button {
    background: #b42318;
}

.document-list {
    display: grid;
    gap: 12px;
    padding: 16px;
}

.document-row {
    display: grid;
    grid-template-columns: minmax(280px, 1.2fr) minmax(220px, .75fr) 140px auto;
    gap: 14px;
    align-items: center;
    padding: 16px;
    box-shadow: none;
}

.document-title {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.document-title > .material-symbols-outlined {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #eef7f2;
    color: #0e6b3b;
}

.document-title h3 {
    margin: 0;
    color: #101828;
    font-size: 15px;
    font-weight: 700;
}

.document-title p,
.document-case span {
    margin: 5px 0 0;
    color: #756b5f;
    font-size: 13px;
}

.document-case {
    min-width: 0;
    padding: 10px;
    border-radius: 8px;
    background: #fbf8f1;
}

.document-case small {
    display: block;
    margin-bottom: 5px;
    color: #756b5f;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.document-case strong {
    display: block;
    color: #101828;
    font-size: 13px;
}

.document-status {
    display: inline-flex;
    justify-content: center;
    padding: 8px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.document-status.status-ok {
    background: #e8f4ee;
    color: #0e6b3b;
}

.document-status.status-pending {
    background: #fff6e8;
    color: #b54708;
}

.document-status.status-danger {
    background: #fff1f0;
    color: #b42318;
}

.document-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.document-actions .material-symbols-outlined {
    font-size: 18px;
}

@media (max-width: 1180px) {
    .documents-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .documents-filters,
    .document-row {
        grid-template-columns: 1fr;
    }

    .document-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 720px) {
    .documents-page {
        padding: 18px;
    }

    .documents-summary-grid {
        grid-template-columns: 1fr;
    }

    .documents-filters button,
    .documents-filters a,
    .document-actions a,
    .document-actions button {
        width: 100%;
    }
}

/* Documents page row clipping repair */
.documents-panel {
    overflow: visible !important;
}

.document-list {
    padding: 16px !important;
}

.document-row {
    grid-template-columns: minmax(300px, 1.25fr) minmax(220px, .8fr) 140px minmax(260px, auto) !important;
    align-items: flex-start !important;
    min-height: 112px !important;
    padding: 16px !important;
    overflow: visible !important;
}

.document-title,
.document-case,
.document-actions {
    min-width: 0;
    overflow: visible !important;
}

.document-title {
    align-items: flex-start !important;
}

.document-title > .material-symbols-outlined {
    margin-top: 2px;
}

.document-title h3 {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.35 !important;
    max-width: 100%;
}

.document-title p,
.document-case span {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.35 !important;
}

.document-case {
    min-height: 72px;
}

.document-case strong {
    white-space: normal !important;
    overflow-wrap: anywhere;
    line-height: 1.3 !important;
}

.document-status {
    align-self: center;
}

.document-actions {
    align-self: center;
}

@media (max-width: 1280px) {
    .document-row {
        grid-template-columns: minmax(280px, 1fr) minmax(220px, .8fr) 130px !important;
    }

    .document-actions {
        grid-column: 1 / -1;
        justify-content: flex-start !important;
    }
}

@media (max-width: 900px) {
    .document-row {
        grid-template-columns: 1fr !important;
    }

    .document-status,
    .document-actions {
        align-self: stretch;
    }

    .document-status {
        justify-content: center;
    }
}

/* Payments and invoices */
.finance-page {
    display: grid;
    gap: 16px;
    padding: 28px;
    background: #f7f6f2;
}

.finance-hero,
.finance-summary-grid > div,
.finance-panel,
.payment-row,
.invoice-row {
    border: 1px solid #e6dece;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(32, 24, 13, .06);
}

.finance-hero {
    padding: 24px;
}

.finance-hero h1 {
    margin: 4px 0 8px;
    color: #101828;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: 0;
}

.finance-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.finance-summary-grid > div {
    display: grid;
    gap: 8px;
    padding: 18px;
}

.finance-summary-grid > div > .material-symbols-outlined {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #eef7f2;
    color: #0e6b3b;
}

.finance-summary-grid p {
    margin: 0;
    color: #6f6353;
    font-size: 13px;
    font-weight: 800;
}

.finance-summary-grid strong {
    color: #101828;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.05;
}

.finance-summary-grid .money-value {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.finance-summary-grid .money-value span,
.payment-title h3 span,
.invoice-amounts strong span {
    font-size: 11px;
    color: #6f6353;
    letter-spacing: .03em;
}

.finance-summary-grid .money-value em {
    font-style: normal;
}

.finance-panel {
    overflow: hidden;
}

.finance-filters {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto auto;
    gap: 10px;
    padding: 16px;
    border-bottom: 1px solid #eee6d7;
}

.finance-filters label {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 0 13px;
    border: 1px solid #ded6c8;
    border-radius: 8px;
}

.finance-filters input {
    width: 100%;
    border: 0;
    outline: 0;
    font: inherit;
}

.finance-filters button,
.finance-filters a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 8px;
    font-weight: 800;
    text-decoration: none;
}

.finance-filters button {
    border: 0;
    background: #0e6b3b;
    color: #fff;
}

.finance-filters a {
    border: 1px solid #ded6c8;
    color: #51483d;
}

.finance-panel-head {
    padding: 18px 20px;
    border-bottom: 1px solid #eee6d7;
}

.finance-panel-head h2,
.finance-panel-head p,
.finance-panel-head small {
    margin: 0;
}

.finance-panel-head h2 {
    margin-top: 4px;
    color: #101828;
    font-size: 18px;
    font-weight: 700;
}

.finance-panel-head small {
    display: block;
    margin-top: 5px;
    color: #756b5f;
}

.payment-list,
.invoice-list {
    display: grid;
    gap: 12px;
    padding: 16px;
}

.payment-row {
    display: grid;
    grid-template-columns: minmax(240px, .9fr) minmax(260px, 1fr) 120px auto;
    gap: 14px;
    align-items: center;
    padding: 16px;
    box-shadow: none;
}

.invoice-row {
    display: grid;
    grid-template-columns: minmax(250px, 1fr) minmax(360px, 1.1fr) 120px auto;
    gap: 14px;
    align-items: center;
    padding: 16px;
    box-shadow: none;
}

.payment-title,
.invoice-title {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.payment-title > .material-symbols-outlined,
.invoice-title > .material-symbols-outlined {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #eef7f2;
    color: #0e6b3b;
}

.payment-title h3,
.invoice-title h3 {
    margin: 0;
    color: #101828;
    font-size: 16px;
    font-weight: 700;
}

.payment-title p,
.invoice-title p,
.payment-case span {
    margin: 5px 0 0;
    color: #756b5f;
    font-size: 13px;
}

.payment-case {
    padding: 10px;
    border-radius: 8px;
    background: #fbf8f1;
}

.payment-case small,
.invoice-amounts small {
    display: block;
    margin-bottom: 5px;
    color: #756b5f;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.payment-case strong {
    display: block;
    color: #101828;
    font-size: 13px;
}

.payment-date {
    color: #51483d;
    font-size: 13px;
    font-weight: 800;
}

.invoice-amounts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.invoice-amounts div {
    padding: 10px;
    border-radius: 8px;
    background: #fbf8f1;
}

.invoice-amounts strong {
    color: #101828;
    font-size: 13px;
}

.finance-warn {
    color: #b54708 !important;
}

.finance-ok {
    color: #0e6b3b !important;
}

.invoice-status {
    display: inline-flex;
    justify-content: center;
    padding: 8px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.invoice-paid {
    background: #e8f4ee;
    color: #0e6b3b;
}

.invoice-part_paid {
    background: #fff6e8;
    color: #b54708;
}

.invoice-unpaid {
    background: #fff1f0;
    color: #b42318;
}

@media (max-width: 1180px) {
    .finance-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .payment-row,
    .invoice-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .invoice-amounts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .payment-row .dash-view-link,
    .invoice-row .dash-view-link {
        justify-self: start;
    }
}

@media (max-width: 720px) {
    .finance-page {
        padding: 18px;
    }

    .finance-summary-grid,
    .finance-filters,
    .invoice-amounts {
        grid-template-columns: 1fr;
    }

    .finance-filters button,
    .finance-filters a,
    .payment-row .dash-view-link,
    .invoice-row .dash-view-link {
        width: 100%;
    }
}

/* Expenses, vendors, purchase orders */
.expense-page{display:grid;gap:16px;padding:28px;background:#f7f6f2}
.expense-hero,.expense-summary-grid>div,.expense-form-card,.expense-panel,.expense-row,.vendor-mini-row{border:1px solid #e6dece;border-radius:8px;background:#fff;box-shadow:0 14px 34px rgba(32,24,13,.06)}
.expense-hero{padding:24px}.expense-hero h1{margin:4px 0 8px;color:#101828;font-size:28px;font-weight:700;line-height:1.18;letter-spacing:0}
.expense-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.expense-summary-grid>div{display:grid;gap:8px;padding:18px}
.expense-summary-grid .material-symbols-outlined{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#eef7f2;color:#0e6b3b}
.expense-summary-grid p{margin:0;color:#6f6353;font-size:13px;font-weight:800}.expense-summary-grid strong{color:#101828;font-size:24px;font-weight:700}.expense-summary-grid strong span,.expense-money span{font-size:11px;color:#6f6353}
.expense-forms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.expense-form-card{display:grid;gap:10px;padding:16px}.expense-form-card h2{margin:0 0 4px;font-size:18px;font-weight:700;color:#101828}
.expense-form-card input,.expense-form-card select{min-height:42px;border:1px solid #ded6c8;border-radius:8px;padding:0 12px;font:inherit}.expense-form-card button{min-height:42px;border:0;border-radius:8px;background:#0e6b3b;color:#fff;font-weight:800}
.two-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.expense-panel{overflow:hidden}.expense-panel-head{padding:18px 20px;border-bottom:1px solid #eee6d7}.expense-panel-head h2,.expense-panel-head p{margin:0}.expense-panel-head h2{margin-top:4px;font-size:18px;font-weight:700;color:#101828}
.expense-list{display:grid;gap:12px;padding:16px}.expense-row{display:grid;grid-template-columns:minmax(280px,1fr) 130px 140px 150px;gap:14px;align-items:center;padding:16px;box-shadow:none}.expense-title{display:flex;gap:12px;align-items:center}.expense-title>.material-symbols-outlined{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#eef7f2;color:#0e6b3b}.expense-title h3{margin:0;font-size:15px;color:#101828}.expense-title p{margin:5px 0 0;color:#756b5f;font-size:13px}.expense-row small{display:block;margin-bottom:5px;color:#756b5f;font-size:11px;font-weight:900;text-transform:uppercase}.expense-row strong{font-size:13px;color:#101828}
.vendor-order-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px}.vendor-mini-row{display:grid;gap:5px;padding:14px;box-shadow:none;margin-bottom:10px}.vendor-mini-row strong{color:#101828}.vendor-mini-row span{color:#756b5f;font-size:13px}
@media(max-width:1180px){.expense-summary-grid,.expense-forms-grid,.vendor-order-grid{grid-template-columns:1fr 1fr}.expense-row{grid-template-columns:1fr 1fr}}@media(max-width:720px){.expense-page{padding:18px}.expense-summary-grid,.expense-forms-grid,.vendor-order-grid,.expense-row,.two-field-row{grid-template-columns:1fr}}

/* Finance case billing visibility repair */
.finance-page,
.finance-panel,
.invoice-list,
.invoice-row {
    min-height: 0;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

.finance-panel#invoices {
    display: block !important;
    overflow: visible !important;
}

.finance-panel#invoices .invoice-list {
    display: grid !important;
    gap: 12px !important;
    padding: 16px !important;
}

.finance-panel#invoices .invoice-row {
    display: grid !important;
    grid-template-columns: minmax(260px, 1fr) minmax(360px, 1.1fr) 120px auto !important;
    align-items: center !important;
    min-height: 86px !important;
    padding: 16px !important;
    background: #fff !important;
    border: 1px solid #e6dece !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.finance-panel#invoices .invoice-title,
.finance-panel#invoices .invoice-amounts,
.finance-panel#invoices .invoice-status,
.finance-panel#invoices .dash-view-link {
    min-width: 0;
    overflow: visible !important;
}

.finance-panel#invoices .invoice-title h3,
.finance-panel#invoices .invoice-title p {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.3 !important;
}

.finance-panel#invoices .invoice-amounts {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

.finance-panel#invoices .invoice-amounts div {
    min-height: 54px !important;
}

@media (max-width: 1180px) {
    .finance-panel#invoices .invoice-row {
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
    }

    .finance-panel#invoices .dash-view-link {
        justify-self: start;
    }
}

@media (max-width: 720px) {
    .finance-panel#invoices .invoice-amounts {
        grid-template-columns: 1fr !important;
    }

    .finance-panel#invoices .dash-view-link {
        width: 100%;
    }
}

/* Payments & invoices rebuild */
.finance-v2 {
    display: grid;
    gap: 16px;
    padding: 28px;
    background: #f7f6f2;
    min-height: 100%;
    overflow: visible !important;
}

.finance-v2 * {
    box-sizing: border-box;
}

.finance-v2-hero,
.finance-v2-summary article,
.finance-v2-panel,
.finance-v2-row {
    border: 1px solid #e6dece;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(32, 24, 13, .06);
}

.finance-v2-hero {
    padding: 24px;
}

.finance-v2-hero h1 {
    margin: 4px 0 8px;
    color: #101828;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: 0;
}

.finance-v2-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.finance-v2-summary article {
    display: grid;
    gap: 8px;
    min-width: 0;
    padding: 18px;
}

.finance-v2-summary article > .material-symbols-outlined {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #eef7f2;
    color: #0e6b3b;
}

.finance-v2-summary p {
    margin: 0;
    color: #6f6353;
    font-size: 13px;
    font-weight: 800;
}

.finance-v2-summary strong,
.finance-v2-title h3 {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin: 0;
    color: #101828;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.08;
    font-variant-numeric: tabular-nums;
}

.finance-v2-summary small,
.finance-v2-title h3 small,
.invoice-v2-amounts strong span {
    color: #6f6353;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .03em;
}

.finance-v2-panel {
    overflow: visible !important;
}

.finance-v2-panel-head {
    padding: 18px 20px;
    border-bottom: 1px solid #eee6d7;
}

.finance-v2-panel-head h2,
.finance-v2-panel-head p,
.finance-v2-panel-head span {
    margin: 0;
}

.finance-v2-panel-head h2 {
    margin-top: 4px;
    color: #101828;
    font-size: 18px;
    font-weight: 700;
}

.finance-v2-panel-head span {
    display: block;
    margin-top: 5px;
    color: #756b5f;
    font-size: 13px;
}

.finance-v2-search {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto auto;
    gap: 10px;
    padding: 16px;
    border-bottom: 1px solid #eee6d7;
}

.finance-v2-search label {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 0 13px;
    border: 1px solid #ded6c8;
    border-radius: 8px;
}

.finance-v2-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    font: inherit;
}

.finance-v2-search button,
.finance-v2-search a,
.finance-v2-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 8px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.finance-v2-search button {
    border: 0;
    background: #0e6b3b;
    color: #fff;
}

.finance-v2-search a {
    border: 1px solid #ded6c8;
    color: #51483d;
}

.finance-v2-list {
    display: grid !important;
    gap: 12px;
    padding: 16px;
    overflow: visible !important;
}

.finance-v2-row {
    display: grid !important;
    grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr) minmax(120px, .4fr) auto;
    gap: 14px;
    align-items: center;
    min-height: 92px;
    padding: 16px;
    box-shadow: none;
    overflow: visible !important;
}

.finance-v2-title {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.finance-v2-title > .material-symbols-outlined {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #eef7f2;
    color: #0e6b3b;
}

.finance-v2-title h3 {
    font-size: 16px;
}

.finance-v2-title p {
    margin: 5px 0 0;
    color: #756b5f;
    font-size: 13px;
    line-height: 1.35;
}

.finance-v2-cell,
.invoice-v2-amounts div {
    min-width: 0;
    padding: 10px;
    border-radius: 8px;
    background: #fbf8f1;
}

.finance-v2-cell small,
.invoice-v2-amounts small {
    display: block;
    margin-bottom: 5px;
    color: #756b5f;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.finance-v2-cell strong,
.finance-v2-cell span {
    display: block;
}

.finance-v2-cell strong {
    color: #101828;
    font-size: 13px;
    line-height: 1.3;
}

.finance-v2-cell span {
    margin-top: 4px;
    color: #756b5f;
    font-size: 12px;
}

.finance-v2-action {
    background: #eef7f2;
    color: #0e6b3b;
}

.finance-v2-action .material-symbols-outlined {
    font-size: 18px;
}

.invoice-v2-row {
    grid-template-columns: minmax(260px, 1fr) minmax(360px, 1.2fr) 120px auto !important;
}

.invoice-v2-amounts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.invoice-v2-amounts strong {
    display: flex;
    align-items: baseline;
    gap: 5px;
    color: #101828;
    font-size: 13px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.invoice-v2-amounts strong.is-warning {
    color: #b54708;
}

.invoice-v2-amounts strong.is-good {
    color: #0e6b3b;
}

.invoice-v2-status {
    display: inline-flex;
    justify-content: center;
    padding: 8px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.invoice-v2-status.status-paid {
    background: #e8f4ee;
    color: #0e6b3b;
}

.invoice-v2-status.status-part_paid {
    background: #fff6e8;
    color: #b54708;
}

.invoice-v2-status.status-unpaid {
    background: #fff1f0;
    color: #b42318;
}

.finance-v2-empty {
    padding: 28px;
    color: #756b5f;
    text-align: center;
}

@media (max-width: 1180px) {
    .finance-v2-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .finance-v2-row,
    .invoice-v2-row {
        grid-template-columns: 1fr !important;
        align-items: stretch;
    }

    .finance-v2-action {
        justify-self: start;
    }
}

@media (max-width: 720px) {
    .finance-v2 {
        padding: 18px;
    }

    .finance-v2-summary,
    .finance-v2-search,
    .invoice-v2-amounts {
        grid-template-columns: 1fr;
    }

    .finance-v2-search button,
    .finance-v2-search a,
    .finance-v2-action {
        width: 100%;
    }
}

/* Payments page scroll/sidebar repair */
.admin-main.finance-v2 {
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    position: relative;
    z-index: 1;
}

.admin-shell:has(.finance-v2) {
    align-items: stretch !important;
}

.admin-shell:has(.finance-v2) .fhos-sidebar,
.admin-shell:has(.finance-v2) aside {
    position: sticky;
    top: 0;
    align-self: start;
    max-height: 100vh;
    overflow-y: auto;
    z-index: 2;
}

.finance-v2-panel,
.finance-v2-list,
.invoice-v2-list {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
}

.finance-v2 {
    padding-bottom: 48px !important;
}

/* Quotations module */
.quote-page{display:grid;gap:16px;padding:28px;background:#f7f6f2}
.quote-hero,.quote-summary-grid>div,.quote-panel,.quote-row{border:1px solid #e6dece;border-radius:8px;background:#fff;box-shadow:0 14px 34px rgba(32,24,13,.06)}
.quote-hero{padding:24px}.quote-hero h1{margin:4px 0 8px;color:#101828;font-size:28px;font-weight:700;line-height:1.18;letter-spacing:0}
.quote-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.quote-summary-grid>div{display:grid;gap:8px;padding:18px}.quote-summary-grid .material-symbols-outlined{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#eef7f2;color:#0e6b3b}.quote-summary-grid p{margin:0;color:#6f6353;font-size:13px;font-weight:800}.quote-summary-grid strong{color:#101828;font-size:24px;font-weight:700}.quote-summary-grid strong span,.quote-context strong span{font-size:11px;color:#6f6353}
.quote-panel{overflow:hidden}.quote-create-form{display:grid;gap:12px;padding:16px}.quote-create-form h2{margin:0 0 4px;color:#101828;font-size:18px;font-weight:700}
.quote-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quote-form-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
.quote-items-grid{display:grid;grid-template-columns:minmax(220px,1fr) 150px 100px 140px;gap:10px;padding:12px;border:1px solid #eee6d7;border-radius:8px;background:#fbfaf7}
.quote-create-form input,.quote-create-form select,.quote-search input,.quote-search select,.quote-status-form select{min-height:42px;border:1px solid #ded6c8;border-radius:8px;padding:0 12px;font:inherit;background:#fff}.quote-create-form button,.quote-search button{min-height:42px;border:0;border-radius:8px;background:#0e6b3b;color:#fff;font-weight:800}
.quote-search{display:grid;grid-template-columns:minmax(260px,1fr) 180px auto auto;gap:10px;padding:16px;border-bottom:1px solid #eee6d7}.quote-search label{display:flex;align-items:center;gap:9px;min-height:42px;border:1px solid #ded6c8;border-radius:8px;padding:0 12px}.quote-search label input{border:0;outline:0;width:100%;padding:0}.quote-search a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border:1px solid #ded6c8;border-radius:8px;color:#51483d;text-decoration:none;font-weight:800}
.quote-list{display:grid;gap:12px;padding:16px}.quote-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.8fr) minmax(200px,.75fr) 150px;gap:14px;align-items:center;padding:16px;box-shadow:none}.quote-title{display:flex;align-items:center;gap:12px}.quote-title>.material-symbols-outlined{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#eef7f2;color:#0e6b3b}.quote-title h3{margin:0;color:#101828;font-size:16px}.quote-title p,.quote-context span{margin:5px 0 0;color:#756b5f;font-size:13px}.quote-context{padding:10px;border-radius:8px;background:#fbf8f1}.quote-context small{display:block;margin-bottom:5px;color:#756b5f;font-size:11px;font-weight:900;text-transform:uppercase}.quote-context strong{display:block;color:#101828;font-size:13px}
@media(max-width:1180px){.quote-summary-grid,.quote-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-items-grid,.quote-search,.quote-row{grid-template-columns:1fr}}@media(max-width:720px){.quote-page{padding:18px}.quote-summary-grid,.quote-form-grid.compact{grid-template-columns:1fr}}

/* Quotations form clipping repair */
.quote-page,
.quote-panel,
.quote-create-form,
.quote-form-grid,
.quote-items-grid,
.quote-search,
.quote-list,
.quote-row {
    min-height: 0;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

.quote-panel {
    display: block !important;
}

.quote-create-form {
    align-content: start !important;
    padding: 18px !important;
}

.quote-create-form h2 {
    margin-bottom: 10px !important;
}

.quote-form-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(180px, 1fr)) !important;
    gap: 12px !important;
}

.quote-items-grid {
    display: grid !important;
    grid-template-columns: minmax(240px, 1fr) minmax(140px, .45fr) minmax(90px, .25fr) minmax(130px, .35fr) !important;
    gap: 12px !important;
    padding: 14px !important;
}

.quote-create-form input,
.quote-create-form select,
.quote-search input,
.quote-search select {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
}

.quote-form-grid.compact {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(140px, 1fr)) !important;
    gap: 12px !important;
}

.quote-search {
    display: grid !important;
    grid-template-columns: minmax(260px, 1fr) 190px auto auto !important;
    align-items: center !important;
}

@media (max-width: 1180px) {
    .quote-form-grid,
    .quote-form-grid.compact {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .quote-items-grid,
    .quote-search {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 720px) {
    .quote-form-grid,
    .quote-form-grid.compact,
    .quote-items-grid,
    .quote-search {
        grid-template-columns: 1fr !important;
    }

    .quote-search button,
    .quote-search a {
        width: 100%;
    }
}

/* Quotations clean rebuild */
.quotation-v2 {
    display: grid;
    gap: 16px;
    padding: 28px;
    background: #f7f6f2;
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
}

.quotation-v2 * {
    box-sizing: border-box;
}

.quotation-v2-hero,
.quotation-v2-summary article,
.quotation-v2-panel,
.quotation-v2-row {
    border: 1px solid #e6dece;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(32, 24, 13, .06);
}

.quotation-v2-hero {
    padding: 24px;
}

.quotation-v2-hero h1 {
    margin: 4px 0 8px;
    color: #101828;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: 0;
}

.quotation-v2-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.quotation-v2-summary article {
    display: grid;
    gap: 8px;
    min-width: 0;
    padding: 18px;
}

.quotation-v2-summary .material-symbols-outlined {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #eef7f2;
    color: #0e6b3b;
}

.quotation-v2-summary p {
    margin: 0;
    color: #6f6353;
    font-size: 13px;
    font-weight: 800;
}

.quotation-v2-summary strong {
    display: flex;
    align-items: baseline;
    gap: 6px;
    color: #101828;
    font-size: 24px;
    font-weight: 700;
}

.quotation-v2-summary small,
.quotation-v2-cell strong span {
    color: #6f6353;
    font-size: 11px;
    letter-spacing: .03em;
}

.quotation-v2-panel {
    overflow: visible;
}

.quotation-v2-panel-head {
    padding: 18px 20px;
    border-bottom: 1px solid #eee6d7;
}

.quotation-v2-panel-head h2,
.quotation-v2-panel-head p,
.quotation-v2-panel-head span {
    margin: 0;
}

.quotation-v2-panel-head h2 {
    margin-top: 4px;
    color: #101828;
    font-size: 18px;
    font-weight: 700;
}

.quotation-v2-panel-head span {
    display: block;
    margin-top: 5px;
    color: #756b5f;
    font-size: 13px;
}

.quotation-v2-form {
    display: grid;
    gap: 16px;
    padding: 16px;
}

.quotation-v2-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 12px;
}

.quotation-v2-grid label,
.quotation-v2-footer-fields label {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.quotation-v2-grid label span,
.quotation-v2-footer-fields label span {
    color: #51483d;
    font-size: 12px;
    font-weight: 800;
}

.quotation-v2 input,
.quotation-v2 select {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    border: 1px solid #ded6c8;
    border-radius: 8px;
    background: #fff;
    color: #101828;
    font: inherit;
    padding: 0 12px;
}

.quotation-v2-items {
    display: grid;
    gap: 8px;
    padding: 14px;
    border: 1px solid #eee6d7;
    border-radius: 8px;
    background: #fbfaf7;
}

.quotation-v2-item-head,
.quotation-v2-item-row {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 160px 100px 150px;
    gap: 10px;
    align-items: center;
}

.quotation-v2-item-head {
    color: #756b5f;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.quotation-v2-footer-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(140px, 1fr)) auto;
    gap: 12px;
    align-items: end;
}

.quotation-v2 button,
.quotation-v2-search a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 8px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.quotation-v2 button {
    border: 0;
    background: #0e6b3b;
    color: #fff;
}

.quotation-v2-search {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 190px auto auto;
    gap: 10px;
    padding: 16px;
    border-bottom: 1px solid #eee6d7;
}

.quotation-v2-search label {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid #ded6c8;
    border-radius: 8px;
}

.quotation-v2-search label input {
    min-height: auto;
    border: 0;
    outline: 0;
    padding: 0;
}

.quotation-v2-search a {
    border: 1px solid #ded6c8;
    color: #51483d;
}

.quotation-v2-list {
    display: grid;
    gap: 12px;
    padding: 16px;
}

.quotation-v2-row {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(230px, .8fr) minmax(210px, .75fr) 150px;
    gap: 14px;
    align-items: center;
    min-height: 94px;
    padding: 16px;
    box-shadow: none;
}

.quotation-v2-title {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.quotation-v2-title > .material-symbols-outlined {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #eef7f2;
    color: #0e6b3b;
}

.quotation-v2-title h3 {
    margin: 0;
    color: #101828;
    font-size: 16px;
}

.quotation-v2-title p {
    margin: 5px 0 0;
    color: #756b5f;
    font-size: 13px;
    line-height: 1.35;
}

.quotation-v2-cell {
    min-width: 0;
    padding: 10px;
    border-radius: 8px;
    background: #fbf8f1;
}

.quotation-v2-cell small {
    display: block;
    margin-bottom: 5px;
    color: #756b5f;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.quotation-v2-cell strong,
.quotation-v2-cell span {
    display: block;
}

.quotation-v2-cell strong {
    color: #101828;
    font-size: 13px;
}

.quotation-v2-cell span {
    margin-top: 4px;
    color: #756b5f;
    font-size: 12px;
}

.quotation-v2-status select {
    min-height: 40px;
}

@media (max-width: 1180px) {
    .quotation-v2-summary,
    .quotation-v2-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .quotation-v2-item-head {
        display: none;
    }

    .quotation-v2-item-row,
    .quotation-v2-footer-fields,
    .quotation-v2-search,
    .quotation-v2-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .quotation-v2 {
        padding: 18px;
        height: auto;
        min-height: 100vh;
        overflow: visible;
    }

    .quotation-v2-summary,
    .quotation-v2-grid {
        grid-template-columns: 1fr;
    }

    .quotation-v2 button,
    .quotation-v2-search a {
        width: 100%;
    }
}

/* Services & Packages module */
.admin-main.catalog-page {
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.catalog-hero,
.panel-heading,
.package-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.catalog-hero {
    margin-bottom: 18px;
}

.catalog-hero h1,
.catalog-panel h2 {
    margin: 0;
}

.catalog-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0;
}

.catalog-stats article,
.catalog-panel,
.package-card {
    background: #fff;
    border: 1px solid rgba(33, 26, 17, .12);
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(45, 36, 23, .05);
}

.catalog-stats article {
    padding: 18px;
}

.catalog-stats .material-symbols-outlined {
    color: #08713f;
    background: #eaf6ef;
    border-radius: 8px;
    padding: 8px;
    font-size: 24px;
}

.catalog-stats p,
.package-card p {
    margin: 10px 0 6px;
}

.catalog-stats strong {
    display: block;
    font-size: 24px;
    font-weight: 800;
    color: #111827;
}

.catalog-stats small,
.package-price small {
    font-size: 13px;
    font-weight: 700;
    color: #6b7280;
}

.catalog-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 18px;
    margin-bottom: 18px;
}

.catalog-panel {
    padding: 20px;
    margin-bottom: 18px;
}

.catalog-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 16px;
}

.catalog-form label {
    display: grid;
    gap: 7px;
    font-weight: 700;
    color: #3d352b;
}

.catalog-form input,
.catalog-form select,
.catalog-form textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(33, 26, 17, .18);
    border-radius: 8px;
    padding: 12px 13px;
    font: inherit;
    background: #fff;
}

.catalog-form .full,
.service-picker,
.check-row {
    grid-column: 1 / -1;
}

.service-picker > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    max-height: 220px;
    overflow: auto;
    border: 1px solid rgba(33, 26, 17, .12);
    border-radius: 8px;
    padding: 10px;
}

.service-picker label,
.check-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
}

.service-picker small {
    margin-left: auto;
    color: #6b7280;
}

.catalog-table-wrap {
    overflow-x: auto;
    margin-top: 14px;
}

.catalog-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
}

.catalog-table th {
    text-align: left;
    font-size: 12px;
    color: #6b5f50;
    text-transform: uppercase;
    letter-spacing: 0;
    padding: 12px;
    border-bottom: 1px solid rgba(33, 26, 17, .12);
}

.catalog-table td {
    padding: 14px 12px;
    border-bottom: 1px solid rgba(33, 26, 17, .08);
    vertical-align: middle;
}

.catalog-table td strong,
.catalog-table td span {
    display: block;
}

.catalog-table td span {
    color: #6b7280;
    margin-top: 3px;
}

.package-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.package-card {
    padding: 20px;
}

.package-card h3 {
    margin: 0;
    font-size: 18px;
}

.package-price {
    display: block;
    font-size: 27px;
    font-weight: 800;
    margin: 14px 0;
    color: #111827;
}

.package-card ul {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    display: grid;
    gap: 9px;
}

.package-card li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(33, 26, 17, .08);
}

.status-pill.good {
    background: #e8f7ef;
    color: #08713f;
}

.status-pill.muted-pill {
    background: #f3f4f6;
    color: #6b7280;
}

@media (max-width: 1100px) {
    .catalog-stats,
    .catalog-grid,
    .package-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .catalog-hero,
    .panel-heading,
    .package-top {
        align-items: flex-start;
        flex-direction: column;
    }

    .catalog-stats,
    .catalog-grid,
    .package-grid,
    .catalog-form,
    .service-picker > div {
        grid-template-columns: 1fr;
    }
}

/* Connected Quotations module */
.admin-main.quotation-page {
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.quote-hero,
.panel-heading,
.addon-head,
.quote-total-card,
.status-mini-form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.quote-hero {
    margin-bottom: 18px;
}

.quote-hero h1,
.quote-panel h2 {
    margin: 0;
}

.quote-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0;
}

.quote-stats article,
.quote-panel {
    background: #fff;
    border: 1px solid rgba(33, 26, 17, .12);
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(45, 36, 23, .05);
}

.quote-stats article {
    padding: 18px;
}

.quote-stats .material-symbols-outlined {
    color: #08713f;
    background: #eaf6ef;
    border-radius: 8px;
    padding: 8px;
    font-size: 24px;
}

.quote-stats p {
    margin: 10px 0 6px;
}

.quote-stats strong {
    display: block;
    font-size: 24px;
    font-weight: 800;
    color: #111827;
}

.quote-stats small,
.quote-total-card small {
    font-size: 13px;
    color: #6b7280;
}

.quote-panel {
    padding: 20px;
    margin-bottom: 18px;
}

.quote-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 16px;
}

.quote-form label {
    display: grid;
    gap: 7px;
    font-weight: 700;
    color: #3d352b;
}

.quote-form input,
.quote-form select,
.quote-form textarea,
.quote-filter input,
.quote-filter select,
.status-mini-form select {
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(33, 26, 17, .18);
    border-radius: 8px;
    padding: 12px 13px;
    font: inherit;
    background: #fff;
}

.quote-form .full {
    grid-column: 1 / -1;
}

.addon-picker {
    border: 1px solid rgba(33, 26, 17, .12);
    border-radius: 8px;
    padding: 14px;
    background: #fbfaf7;
}

.addon-head p {
    margin: 0 0 3px;
    font-weight: 800;
}

.addon-head span {
    color: #6b7280;
}

.addon-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
    max-height: 280px;
    overflow: auto;
}

.addon-list label {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(33, 26, 17, .12);
    border-radius: 8px;
    padding: 11px;
    background: #fff;
}

.addon-list strong,
.addon-list small {
    display: block;
}

.addon-list small {
    color: #6b7280;
    margin-top: 2px;
}

.addon-list em {
    font-style: normal;
    font-weight: 800;
    color: #0f172a;
    white-space: nowrap;
}

.quote-total-card {
    border: 1px solid rgba(8, 113, 63, .18);
    background: #f4fbf7;
    border-radius: 8px;
    padding: 16px;
}

.quote-total-card span {
    color: #6b7280;
    font-weight: 700;
}

.quote-total-card strong {
    display: block;
    font-size: 28px;
    font-weight: 800;
    color: #111827;
}

.quote-filter {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 220px auto auto;
    gap: 10px;
    align-items: center;
    margin: 16px 0;
}

.search-field {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(33, 26, 17, .18);
    border-radius: 8px;
    padding-left: 12px;
    background: #fff;
}

.search-field input {
    border: 0;
}

.quote-table-wrap {
    overflow-x: auto;
}

.quote-table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
}

.quote-table th {
    text-align: left;
    font-size: 12px;
    color: #6b5f50;
    text-transform: uppercase;
    letter-spacing: 0;
    padding: 12px;
    border-bottom: 1px solid rgba(33, 26, 17, .12);
}

.quote-table td {
    padding: 14px 12px;
    border-bottom: 1px solid rgba(33, 26, 17, .08);
    vertical-align: middle;
}

.quote-table td strong,
.quote-table td span {
    display: block;
}

.quote-table td span {
    color: #6b7280;
    margin-top: 3px;
}

.status-mini-form {
    justify-content: flex-start;
}

.status-mini-form select {
    min-width: 130px;
}

@media (max-width: 1180px) {
    .quote-stats,
    .quote-form,
    .addon-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .quote-filter {
        grid-template-columns: 1fr 180px;
    }
}

@media (max-width: 760px) {
    .quote-hero,
    .panel-heading,
    .quote-total-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .quote-stats,
    .quote-form,
    .addon-list,
    .quote-filter {
        grid-template-columns: 1fr;
    }
}

/* Clean quotation builder layout */
.admin-main.quotation-clean {
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.quotation-clean .q-page-head,
.quotation-clean .q-card-head,
.quotation-clean .q-status-form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.quotation-clean .q-page-head {
    margin-bottom: 18px;
}

.quotation-clean h1 {
    margin: 0;
    font-size: 28px;
    font-weight: 700;
}

.quotation-clean h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #111827;
}

.quotation-clean .q-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0;
}

.quotation-clean .q-metrics article,
.quotation-clean .q-card,
.quotation-clean .q-summary {
    background: #fff;
    border: 1px solid rgba(33, 26, 17, .12);
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(45, 36, 23, .05);
}

.quotation-clean .q-metrics article {
    padding: 18px;
}

.quotation-clean .q-metrics .material-symbols-outlined {
    color: #08713f;
    background: #eaf6ef;
    border-radius: 8px;
    padding: 8px;
}

.quotation-clean .q-metrics p {
    margin: 10px 0 6px;
    color: #6b5f50;
    font-weight: 700;
}

.quotation-clean .q-metrics strong {
    font-size: 24px;
    font-weight: 800;
    color: #111827;
}

.quotation-clean .q-metrics small,
.quotation-clean .q-total small,
.quotation-clean .q-package-card em {
    font-size: 13px;
    font-weight: 800;
    color: #6b7280;
    font-style: normal;
}

.quotation-clean .q-builder {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 18px;
    align-items: start;
    margin-bottom: 18px;
}

.quotation-clean .q-builder-main {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.quotation-clean .q-card,
.quotation-clean .q-summary {
    padding: 20px;
}

.quotation-clean .q-summary {
    position: sticky;
    top: 18px;
}

.quotation-clean .q-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 16px;
}

.quotation-clean label {
    font-weight: 700;
    color: #3d352b;
}

.quotation-clean .q-fields label {
    display: grid;
    gap: 7px;
}

.quotation-clean input,
.quotation-clean select,
.quotation-clean textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(33, 26, 17, .18);
    border-radius: 8px;
    padding: 12px 13px;
    font: inherit;
    background: #fff;
}

.quotation-clean .q-span-2 {
    grid-column: 1 / -1;
}

.quotation-clean .q-package-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.quotation-clean .q-package-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.quotation-clean .q-package-card {
    display: grid;
    gap: 8px;
    min-height: 150px;
    border: 1px solid rgba(33, 26, 17, .14);
    border-radius: 8px;
    padding: 14px;
    cursor: pointer;
    background: #fff;
}

.quotation-clean .q-package-card small {
    color: #6b7280;
    line-height: 1.4;
}

.quotation-clean .q-package-card strong {
    margin-top: auto;
    font-size: 22px;
    color: #111827;
}

.quotation-clean .q-package-option input:checked + .q-package-card {
    border-color: #08713f;
    box-shadow: 0 0 0 3px rgba(8, 113, 63, .12);
    background: #f7fcf9;
}

.quotation-clean .q-addon-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
    margin-top: 16px;
    max-height: 290px;
    overflow: auto;
    padding-right: 4px;
}

.quotation-clean .q-addon-list label {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(33, 26, 17, .12);
    border-radius: 8px;
    padding: 11px;
    background: #fff;
}

.quotation-clean .q-addon-list span,
.quotation-clean .q-table td span {
    display: block;
}

.quotation-clean .q-addon-list small,
.quotation-clean .q-table td span {
    color: #6b7280;
}

.quotation-clean .q-addon-list strong {
    white-space: nowrap;
}

.quotation-clean .q-total {
    margin: 18px 0;
    padding: 16px;
    border: 1px solid rgba(8, 113, 63, .16);
    border-radius: 8px;
    background: #f4fbf7;
}

.quotation-clean .q-total strong {
    display: block;
    font-size: 34px;
    line-height: 1;
    color: #111827;
}

.quotation-clean .q-summary .primary-action {
    width: 100%;
    justify-content: center;
    margin-top: 16px;
}

.quotation-clean .q-filter {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 210px auto auto;
    gap: 10px;
    align-items: center;
    margin: 16px 0;
}

.quotation-clean .q-search {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(33, 26, 17, .18);
    border-radius: 8px;
    padding-left: 12px;
    background: #fff;
}

.quotation-clean .q-search input {
    border: 0;
}

.quotation-clean .q-table-wrap {
    overflow-x: auto;
}

.quotation-clean .q-table {
    width: 100%;
    min-width: 940px;
    border-collapse: collapse;
}

.quotation-clean .q-table th {
    text-align: left;
    font-size: 12px;
    color: #6b5f50;
    text-transform: uppercase;
    letter-spacing: 0;
    padding: 12px;
    border-bottom: 1px solid rgba(33, 26, 17, .12);
}

.quotation-clean .q-table td {
    padding: 14px 12px;
    border-bottom: 1px solid rgba(33, 26, 17, .08);
    vertical-align: middle;
}

.quotation-clean .q-status-form {
    justify-content: flex-start;
}

.quotation-clean .q-status-form select {
    min-width: 130px;
}

@media (max-width: 1180px) {
    .quotation-clean .q-builder {
        grid-template-columns: 1fr;
    }

    .quotation-clean .q-summary {
        position: static;
    }

    .quotation-clean .q-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .quotation-clean .q-page-head,
    .quotation-clean .q-card-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .quotation-clean .q-metrics,
    .quotation-clean .q-fields,
    .quotation-clean .q-filter {
        grid-template-columns: 1fr;
    }
}

/* Mortuary Management */
.admin-main.mortuary-page {
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.mortuary-page .mortuary-head,
.mortuary-page .mortuary-card-head,
.mortuary-page .mortuary-status-form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.mortuary-page .mortuary-head {
    margin-bottom: 18px;
}

.mortuary-page h1 {
    margin: 0;
    font-size: 28px;
    font-weight: 700;
}

.mortuary-page h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #111827;
}

.mortuary-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0;
}

.mortuary-metrics article,
.mortuary-card {
    background: #fff;
    border: 1px solid rgba(33, 26, 17, .12);
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(45, 36, 23, .05);
}

.mortuary-metrics article {
    padding: 18px;
}

.mortuary-metrics .material-symbols-outlined {
    color: #08713f;
    background: #eaf6ef;
    border-radius: 8px;
    padding: 8px;
}

.mortuary-metrics p {
    margin: 10px 0 6px;
    color: #6b5f50;
    font-weight: 700;
}

.mortuary-metrics strong {
    font-size: 24px;
    font-weight: 800;
    color: #111827;
}

.mortuary-metrics small {
    font-size: 13px;
    font-weight: 800;
    color: #6b7280;
}

.mortuary-builder {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 18px;
    align-items: start;
    margin-bottom: 18px;
}

.mortuary-card {
    padding: 20px;
    margin-bottom: 18px;
}

.mortuary-guide {
    position: sticky;
    top: 18px;
}

.mortuary-form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 16px 0;
}

.mortuary-form-grid label {
    display: grid;
    gap: 7px;
    font-weight: 700;
    color: #3d352b;
}

.mortuary-form-grid input,
.mortuary-form-grid select,
.mortuary-form-grid textarea,
.mortuary-filter input,
.mortuary-filter select,
.mortuary-status-form select {
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(33, 26, 17, .18);
    border-radius: 8px;
    padding: 12px 13px;
    font: inherit;
    background: #fff;
}

.mortuary-span {
    grid-column: 1 / -1;
}

.guide-row {
    display: flex;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(33, 26, 17, .1);
}

.guide-row .material-symbols-outlined {
    color: #08713f;
    background: #eaf6ef;
    border-radius: 8px;
    padding: 8px;
    height: fit-content;
}

.guide-row p {
    margin: 4px 0 0;
    color: #6b7280;
}

.mortuary-flow {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.mortuary-flow span {
    border: 1px solid rgba(8, 113, 63, .16);
    background: #f4fbf7;
    color: #065f36;
    border-radius: 8px;
    padding: 10px;
    font-weight: 800;
}

.mortuary-flow i {
    width: 2px;
    height: 14px;
    background: rgba(8, 113, 63, .25);
    margin-left: 14px;
}

.mortuary-filter {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 200px 220px auto auto;
    gap: 10px;
    align-items: center;
    margin: 16px 0;
}

.mortuary-search {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(33, 26, 17, .18);
    border-radius: 8px;
    padding-left: 12px;
    background: #fff;
}

.mortuary-search input {
    border: 0;
}

.mortuary-table-wrap {
    overflow-x: auto;
}

.mortuary-table {
    width: 100%;
    min-width: 1050px;
    border-collapse: collapse;
}

.mortuary-table th {
    text-align: left;
    font-size: 12px;
    color: #6b5f50;
    text-transform: uppercase;
    letter-spacing: 0;
    padding: 12px;
    border-bottom: 1px solid rgba(33, 26, 17, .12);
}

.mortuary-table td {
    padding: 14px 12px;
    border-bottom: 1px solid rgba(33, 26, 17, .08);
    vertical-align: middle;
}

.mortuary-table td strong,
.mortuary-table td span {
    display: block;
}

.mortuary-table td span {
    color: #6b7280;
    margin-top: 3px;
}

.mortuary-status-form {
    justify-content: flex-start;
}

.mortuary-status-form select {
    min-width: 140px;
}

@media (max-width: 1180px) {
    .mortuary-builder {
        grid-template-columns: 1fr;
    }

    .mortuary-guide {
        position: static;
    }

    .mortuary-metrics,
    .mortuary-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mortuary-filter {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .mortuary-page .mortuary-head,
    .mortuary-page .mortuary-card-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .mortuary-metrics,
    .mortuary-form-grid,
    .mortuary-filter {
        grid-template-columns: 1fr;
    }
}

/* Calendar & Scheduling */
.admin-main.calendar-page {
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.calendar-page .calendar-head,
.calendar-page .calendar-card-head,
.calendar-page .calendar-status-form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.calendar-page .calendar-head {
    margin-bottom: 18px;
}

.calendar-page h1 {
    margin: 0;
    font-size: 28px;
    font-weight: 700;
}

.calendar-page h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #111827;
}

.calendar-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0;
}

.calendar-metrics article,
.calendar-card {
    background: #fff;
    border: 1px solid rgba(33, 26, 17, .12);
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(45, 36, 23, .05);
}

.calendar-metrics article {
    padding: 18px;
}

.calendar-metrics .material-symbols-outlined {
    color: #08713f;
    background: #eaf6ef;
    border-radius: 8px;
    padding: 8px;
}

.calendar-metrics p {
    margin: 10px 0 6px;
    color: #6b5f50;
    font-weight: 700;
}

.calendar-metrics strong {
    font-size: 24px;
    font-weight: 800;
    color: #111827;
}

.calendar-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 18px;
    align-items: start;
    margin-bottom: 18px;
}

.calendar-card {
    padding: 20px;
    margin-bottom: 18px;
}

.calendar-side {
    position: sticky;
    top: 18px;
}

.calendar-form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 16px 0;
}

.calendar-form-grid label {
    display: grid;
    gap: 7px;
    font-weight: 700;
    color: #3d352b;
}

.calendar-form-grid input,
.calendar-form-grid select,
.calendar-form-grid textarea,
.calendar-filter input,
.calendar-filter select,
.calendar-status-form input,
.calendar-status-form select {
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(33, 26, 17, .18);
    border-radius: 8px;
    padding: 12px 13px;
    font: inherit;
    background: #fff;
}

.calendar-span-2 {
    grid-column: span 2;
}

.calendar-check {
    display: flex !important;
    align-items: center;
    gap: 10px;
    align-self: end;
    min-height: 46px;
}

.calendar-check input {
    width: auto;
}

.calendar-checklist {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.calendar-checklist span {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(8, 113, 63, .14);
    background: #f6fbf8;
    border-radius: 8px;
    padding: 12px;
    font-weight: 800;
    color: #173d2a;
}

.calendar-checklist i {
    color: #08713f;
}

.calendar-filter {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 210px 190px auto auto;
    gap: 10px;
    align-items: center;
    margin: 16px 0;
}

.calendar-search {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(33, 26, 17, .18);
    border-radius: 8px;
    padding-left: 12px;
    background: #fff;
}

.calendar-search input {
    border: 0;
}

.calendar-table-wrap {
    overflow-x: auto;
}

.calendar-table {
    width: 100%;
    min-width: 1120px;
    border-collapse: collapse;
}

.calendar-table th {
    text-align: left;
    font-size: 12px;
    color: #6b5f50;
    text-transform: uppercase;
    letter-spacing: 0;
    padding: 12px;
    border-bottom: 1px solid rgba(33, 26, 17, .12);
}

.calendar-table td {
    padding: 14px 12px;
    border-bottom: 1px solid rgba(33, 26, 17, .08);
    vertical-align: top;
}

.calendar-table td strong,
.calendar-table td span {
    display: block;
}

.calendar-table td span {
    color: #6b7280;
    margin-top: 3px;
}

.calendar-status-form {
    justify-content: flex-start;
    flex-wrap: wrap;
    min-width: 380px;
}

.calendar-status-form select {
    width: 140px;
}

.calendar-status-form input {
    width: 120px;
}

@media (max-width: 1180px) {
    .calendar-layout {
        grid-template-columns: 1fr;
    }

    .calendar-side {
        position: static;
    }

    .calendar-metrics,
    .calendar-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .calendar-filter {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .calendar-page .calendar-head,
    .calendar-page .calendar-card-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .calendar-metrics,
    .calendar-form-grid,
    .calendar-filter {
        grid-template-columns: 1fr;
    }

    .calendar-span-2 {
        grid-column: auto;
    }
}

/* Fleet & Hearse Management */
.admin-main.fleet-page {
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.fleet-page .fleet-head,
.fleet-page .fleet-card-head,
.fleet-page .fleet-status-form,
.fleet-page .fleet-list form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.fleet-page .fleet-head {
    margin-bottom: 18px;
}

.fleet-page h1 {
    margin: 0;
    font-size: 28px;
    font-weight: 700;
}

.fleet-page h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #111827;
}

.fleet-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0;
}

.fleet-metrics article,
.fleet-card {
    background: #fff;
    border: 1px solid rgba(33, 26, 17, .12);
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(45, 36, 23, .05);
}

.fleet-metrics article {
    padding: 18px;
}

.fleet-metrics .material-symbols-outlined {
    color: #08713f;
    background: #eaf6ef;
    border-radius: 8px;
    padding: 8px;
}

.fleet-metrics p {
    margin: 10px 0 6px;
    color: #6b5f50;
    font-weight: 700;
}

.fleet-metrics strong {
    font-size: 24px;
    font-weight: 800;
    color: #111827;
}

.fleet-metrics small {
    font-size: 13px;
    font-weight: 800;
    color: #6b7280;
}

.fleet-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 18px;
    align-items: start;
    margin-bottom: 18px;
}

.fleet-side {
    display: grid;
    gap: 18px;
}

.fleet-card {
    padding: 20px;
    margin-bottom: 18px;
}

.fleet-form-grid,
.fleet-mini-grid {
    display: grid;
    gap: 14px;
    margin: 16px 0;
}

.fleet-form-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fleet-mini-grid {
    grid-template-columns: 1fr;
}

.fleet-form-grid label {
    display: grid;
    gap: 7px;
    font-weight: 700;
    color: #3d352b;
}

.fleet-form-grid input,
.fleet-form-grid select,
.fleet-form-grid textarea,
.fleet-mini-grid input,
.fleet-mini-grid select,
.fleet-filter input,
.fleet-filter select,
.fleet-status-form input,
.fleet-status-form select,
.fleet-list select {
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(33, 26, 17, .18);
    border-radius: 8px;
    padding: 12px 13px;
    font: inherit;
    background: #fff;
}

.fleet-span {
    grid-column: 1 / -1;
}

.fleet-filter {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 210px auto auto;
    gap: 10px;
    align-items: center;
    margin: 16px 0;
}

.fleet-search {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(33, 26, 17, .18);
    border-radius: 8px;
    padding-left: 12px;
    background: #fff;
}

.fleet-search input {
    border: 0;
}

.fleet-table-wrap {
    overflow-x: auto;
}

.fleet-table {
    width: 100%;
    min-width: 1080px;
    border-collapse: collapse;
}

.fleet-table th {
    text-align: left;
    font-size: 12px;
    color: #6b5f50;
    text-transform: uppercase;
    letter-spacing: 0;
    padding: 12px;
    border-bottom: 1px solid rgba(33, 26, 17, .12);
}

.fleet-table td {
    padding: 14px 12px;
    border-bottom: 1px solid rgba(33, 26, 17, .08);
    vertical-align: top;
}

.fleet-table td strong,
.fleet-table td span,
.fleet-list span {
    display: block;
}

.fleet-table td span,
.fleet-list span {
    color: #6b7280;
    margin-top: 3px;
}

.fleet-status-form {
    justify-content: flex-start;
    flex-wrap: wrap;
    min-width: 370px;
}

.fleet-status-form select {
    width: 140px;
}

.fleet-status-form input {
    width: 110px;
}

.fleet-duo {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.fleet-list {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.fleet-list form {
    border: 1px solid rgba(33, 26, 17, .1);
    border-radius: 8px;
    padding: 12px;
}

.fleet-list form > div {
    min-width: 0;
    flex: 1;
}

.fleet-list select {
    max-width: 170px;
}

@media (max-width: 1180px) {
    .fleet-layout,
    .fleet-duo {
        grid-template-columns: 1fr;
    }

    .fleet-metrics,
    .fleet-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fleet-filter {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .fleet-page .fleet-head,
    .fleet-page .fleet-card-head,
    .fleet-page .fleet-list form {
        align-items: flex-start;
        flex-direction: column;
    }

    .fleet-metrics,
    .fleet-form-grid,
    .fleet-filter {
        grid-template-columns: 1fr;
    }

    .fleet-list select {
        max-width: none;
    }
}

/* Staff & Task Management */
.admin-main.tasks-page {
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.tasks-page .tasks-head,
.tasks-page .tasks-card-head,
.tasks-page .tasks-status-form,
.tasks-page .staff-grid form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.tasks-page .tasks-head {
    margin-bottom: 18px;
}

.tasks-page h1 {
    margin: 0;
    font-size: 28px;
    font-weight: 700;
}

.tasks-page h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #111827;
}

.tasks-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0;
}

.tasks-metrics article,
.tasks-card {
    background: #fff;
    border: 1px solid rgba(33, 26, 17, .12);
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(45, 36, 23, .05);
}

.tasks-metrics article {
    padding: 18px;
}

.tasks-metrics .material-symbols-outlined {
    color: #08713f;
    background: #eaf6ef;
    border-radius: 8px;
    padding: 8px;
}

.tasks-metrics p {
    margin: 10px 0 6px;
    color: #6b5f50;
    font-weight: 700;
}

.tasks-metrics strong {
    font-size: 24px;
    font-weight: 800;
    color: #111827;
}

.tasks-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 18px;
    align-items: start;
    margin-bottom: 18px;
}

.tasks-side {
    display: grid;
    gap: 18px;
}

.tasks-card {
    padding: 20px;
    margin-bottom: 18px;
}

.tasks-form-grid,
.tasks-mini-grid {
    display: grid;
    gap: 14px;
    margin: 16px 0;
}

.tasks-form-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tasks-mini-grid {
    grid-template-columns: 1fr;
}

.tasks-form-grid label {
    display: grid;
    gap: 7px;
    font-weight: 700;
    color: #3d352b;
}

.tasks-form-grid input,
.tasks-form-grid select,
.tasks-form-grid textarea,
.tasks-mini-grid input,
.tasks-mini-grid select,
.tasks-filter input,
.tasks-filter select,
.tasks-status-form input,
.tasks-status-form select,
.staff-grid select {
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(33, 26, 17, .18);
    border-radius: 8px;
    padding: 12px 13px;
    font: inherit;
    background: #fff;
}

.tasks-span {
    grid-column: 1 / -1;
}

.staff-load-list {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.staff-load-list div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid rgba(33, 26, 17, .1);
    border-radius: 8px;
    padding: 12px;
}

.staff-load-list span,
.staff-grid span,
.staff-grid small,
.tasks-table td span {
    display: block;
}

.staff-load-list small,
.staff-grid span,
.staff-grid small,
.tasks-table td span {
    color: #6b7280;
    margin-top: 3px;
}

.staff-load-list b {
    background: #eaf6ef;
    color: #08713f;
    border-radius: 999px;
    min-width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
}

.tasks-filter {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 200px 190px auto auto;
    gap: 10px;
    align-items: center;
    margin: 16px 0;
}

.tasks-search {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(33, 26, 17, .18);
    border-radius: 8px;
    padding-left: 12px;
    background: #fff;
}

.tasks-search input {
    border: 0;
}

.tasks-table-wrap {
    overflow-x: auto;
}

.tasks-table {
    width: 100%;
    min-width: 1120px;
    border-collapse: collapse;
}

.tasks-table th {
    text-align: left;
    font-size: 12px;
    color: #6b5f50;
    text-transform: uppercase;
    letter-spacing: 0;
    padding: 12px;
    border-bottom: 1px solid rgba(33, 26, 17, .12);
}

.tasks-table td {
    padding: 14px 12px;
    border-bottom: 1px solid rgba(33, 26, 17, .08);
    vertical-align: top;
}

.tasks-status-form {
    justify-content: flex-start;
    flex-wrap: wrap;
    min-width: 470px;
}

.tasks-status-form select {
    width: 130px;
}

.tasks-status-form input {
    width: 140px;
}

.status-pill.warn {
    background: #fff3e8;
    color: #b45309;
}

.staff-grid {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.staff-grid form {
    border: 1px solid rgba(33, 26, 17, .1);
    border-radius: 8px;
    padding: 12px;
}

.staff-grid form > div {
    min-width: 0;
    flex: 1;
}

.staff-grid select {
    max-width: 170px;
}

@media (max-width: 1180px) {
    .tasks-layout {
        grid-template-columns: 1fr;
    }

    .tasks-metrics,
    .tasks-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tasks-filter {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .tasks-page .tasks-head,
    .tasks-page .tasks-card-head,
    .tasks-page .staff-grid form {
        align-items: flex-start;
        flex-direction: column;
    }

    .tasks-metrics,
    .tasks-form-grid,
    .tasks-filter {
        grid-template-columns: 1fr;
    }

    .staff-grid select {
        max-width: none;
    }
}

/* Reports & Analytics */
.admin-main.reports-page {
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.reports-page .reports-head,
.reports-page .reports-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.reports-page .reports-head {
    margin-bottom: 18px;
}

.reports-page h1 {
    margin: 0;
    font-size: 28px;
    font-weight: 700;
}

.reports-page h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #111827;
}

.reports-range select {
    border: 1px solid rgba(33, 26, 17, .18);
    border-radius: 8px;
    padding: 12px 14px;
    font: inherit;
    background: #fff;
}

.reports-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0;
}

.reports-metrics article,
.reports-card {
    background: #fff;
    border: 1px solid rgba(33, 26, 17, .12);
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(45, 36, 23, .05);
}

.reports-metrics article {
    padding: 18px;
}

.reports-metrics .material-symbols-outlined {
    color: #08713f;
    background: #eaf6ef;
    border-radius: 8px;
    padding: 8px;
}

.reports-metrics p {
    margin: 10px 0 6px;
    color: #6b5f50;
    font-weight: 700;
}

.reports-metrics strong {
    display: block;
    font-size: 24px;
    font-weight: 800;
    color: #111827;
}

.reports-metrics small {
    font-size: 13px;
    font-weight: 800;
    color: #6b7280;
}

.reports-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}

.reports-grid.three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.reports-card {
    padding: 20px;
}

.reports-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.reports-kpi-grid div,
.risk-list div,
.workload-list div,
.upcoming-list div {
    border: 1px solid rgba(33, 26, 17, .1);
    border-radius: 8px;
    padding: 12px;
    background: #fbfaf7;
}

.reports-kpi-grid span,
.risk-list small,
.upcoming-list small {
    display: block;
    color: #6b7280;
    margin-top: 3px;
}

.reports-kpi-grid strong {
    display: block;
    font-size: 25px;
    margin-top: 8px;
}

.risk-list,
.workload-list,
.upcoming-list,
.bar-list {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.risk-list div,
.workload-list div,
.upcoming-list div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
}

.risk-list b,
.workload-list strong {
    background: #eaf6ef;
    color: #08713f;
    border-radius: 999px;
    min-width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
}

.bar-list span {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-weight: 800;
}

.bar-list i {
    display: block;
    height: 9px;
    border-radius: 999px;
    background: #f0ede7;
    overflow: hidden;
    margin-top: 8px;
}

.bar-list em {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: #08713f;
}

.date-box {
    min-width: 96px;
    text-align: center;
    background: #f4fbf7;
    color: #08713f;
    border-radius: 8px;
    padding: 10px;
    font-weight: 800;
}

@media (max-width: 1180px) {
    .reports-metrics,
    .reports-grid,
    .reports-grid.three {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reports-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .reports-page .reports-head,
    .reports-page .reports-card-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .reports-metrics,
    .reports-grid,
    .reports-grid.three,
    .reports-kpi-grid {
        grid-template-columns: 1fr;
    }

    .risk-list div,
    .workload-list div,
    .upcoming-list div {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Customer Portal Upgrade */
.portal-body,
.portal-auth {
    margin: 0;
    min-height: 100vh;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: #f7f3ec;
    color: #111827;
}

.portal-auth-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 28px;
}

.portal-auth-shell.wide .portal-auth-panel {
    max-width: 760px;
}

.portal-auth-panel,
.portal-card {
    background: #fff;
    border: 1px solid rgba(33, 26, 17, .12);
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(45, 36, 23, .06);
}

.portal-auth-panel {
    width: min(100%, 440px);
    padding: 30px;
}

.portal-auth-panel img {
    width: 96px;
    height: 96px;
    object-fit: contain;
    margin-bottom: 14px;
}

.portal-auth-panel h1,
.portal-head h1 {
    margin: 0;
    font-size: 28px;
    font-weight: 700;
}

.portal-auth-panel form,
.portal-register-form {
    display: grid;
    gap: 14px;
    margin-top: 20px;
}

.portal-register-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.portal-auth-panel label,
.portal-request-form label,
.portal-upload-form {
    display: grid;
    gap: 7px;
    font-weight: 700;
    color: #3d352b;
}

.portal-auth-panel input,
.portal-auth-panel select,
.portal-request-form input,
.portal-request-form select,
.portal-request-form textarea,
.portal-upload-form input,
.portal-upload-form select {
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(33, 26, 17, .18);
    border-radius: 8px;
    padding: 12px 13px;
    font: inherit;
    background: #fff;
}

.portal-check {
    display: flex !important;
    align-items: center;
    gap: 10px;
}

.portal-check input {
    width: auto;
}

.portal-auth-link {
    margin: 18px 0 0;
    color: #6b7280;
}

.portal-auth-link a,
.portal-topbar a {
    color: #08713f;
    font-weight: 800;
    text-decoration: none;
}

.portal-topbar {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 26px;
    background: #fff;
    border-bottom: 1px solid rgba(33, 26, 17, .12);
}

.portal-brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.portal-brand img {
    width: 46px;
    height: 46px;
    object-fit: contain;
}

.portal-brand span {
    font-size: 18px;
    color: #064b2c;
    font-weight: 900;
}

.portal-topbar nav {
    display: flex;
    align-items: center;
    gap: 16px;
}

.portal-topbar button {
    border: 0;
    background: transparent;
    color: #08713f;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.portal-main {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 28px 0 50px;
}

.portal-head,
.portal-card-head,
.portal-submit-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.portal-head {
    margin-bottom: 18px;
}

.portal-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0;
}

.portal-metrics article {
    background: #fff;
    border: 1px solid rgba(33, 26, 17, .12);
    border-radius: 8px;
    padding: 18px;
    box-shadow: 0 12px 30px rgba(45, 36, 23, .05);
}

.portal-metrics .material-symbols-outlined {
    color: #08713f;
    background: #eaf6ef;
    border-radius: 8px;
    padding: 8px;
}

.portal-metrics p {
    margin: 10px 0 6px;
    color: #6b5f50;
    font-weight: 700;
}

.portal-metrics strong {
    display: block;
    font-size: 24px;
    font-weight: 800;
}

.portal-metrics small {
    font-size: 13px;
    color: #6b7280;
}

.portal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}

.portal-card {
    padding: 20px;
}

.portal-card h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
}

.portal-case-list,
.portal-simple-list,
.portal-checklist {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.portal-case-list a,
.portal-simple-list div,
.portal-checklist div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border: 1px solid rgba(33, 26, 17, .1);
    border-radius: 8px;
    padding: 12px;
    text-decoration: none;
    color: inherit;
    background: #fbfaf7;
}

.portal-case-list small,
.portal-simple-list small,
.portal-checklist small {
    display: block;
    color: #6b7280;
    margin-top: 3px;
}

.portal-checklist .material-symbols-outlined {
    color: #08713f;
    background: #eaf6ef;
    border-radius: 8px;
    padding: 8px;
}

.portal-request-form {
    display: grid;
    gap: 18px;
}

.portal-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 16px;
}

.portal-form-grid .span-2,
.portal-register-form .span-2 {
    grid-column: 1 / -1;
}

.portal-doc-choice {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0;
}

.portal-doc-choice label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border: 1px solid rgba(33, 26, 17, .12);
    border-radius: 8px;
    padding: 14px;
    background: #fbfaf7;
}

.portal-doc-choice small {
    display: block;
    color: #6b7280;
    margin-top: 4px;
}

.portal-progress {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0;
}

.portal-progress div {
    background: #fff;
    border: 1px solid rgba(33, 26, 17, .12);
    border-radius: 8px;
    padding: 12px;
}

.portal-progress span {
    display: block;
    width: 100%;
    height: 6px;
    border-radius: 999px;
    background: #e5e7eb;
}

.portal-progress .current span {
    background: #08713f;
}

.portal-progress p {
    margin: 8px 0 0;
    font-weight: 800;
    font-size: 13px;
}

.portal-dl {
    display: grid;
    gap: 10px;
    margin: 16px 0 0;
}

.portal-dl div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid rgba(33, 26, 17, .08);
    padding-bottom: 10px;
}

.portal-dl dt {
    color: #6b7280;
    font-weight: 700;
}

.portal-dl dd {
    margin: 0;
    font-weight: 800;
}

.portal-upload-form {
    margin-top: 16px;
}

@media (max-width: 760px) {
    .portal-topbar,
    .portal-topbar nav,
    .portal-head,
    .portal-card-head,
    .portal-submit-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .portal-metrics,
    .portal-grid,
    .portal-form-grid,
    .portal-doc-choice,
    .portal-progress,
    .portal-register-form {
        grid-template-columns: 1fr;
    }

    .portal-form-grid .span-2,
    .portal-register-form .span-2 {
        grid-column: auto;
    }
}
