:root {
    --brand-primary: #7CFF6B;
    --brand-accent: #39D353;
    --brand-primary-light: rgba(124,255,107,.14);
    --brand-dark: #07110A;
    --brand-gray-dark: #101914;
    --brand-gray-darker: #050806;
    --brand-gray-soft: #69756d;
    --brand-border: rgba(9, 34, 17, .10);
    --bs-primary: #7CFF6B;
}

body {
    background: #f2f4f7;
    font-family: 'Poppins', 'Segoe UI', system-ui, -apple-system, sans-serif;
    color: #2b2f33;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
}

a {
    color: var(--brand-primary);
}

a:hover {
    color: var(--brand-accent);
}

/* ---------- Buttons ---------- */
.btn {
    border-radius: 8px;
    font-weight: 500;
    letter-spacing: 0.01em;
}

.btn-primary {
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    box-shadow: 0 2px 6px rgba(124, 255, 107, 0.25);
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
    background-color: var(--brand-accent) !important;
    border-color: var(--brand-accent) !important;
    box-shadow: 0 4px 10px rgba(124, 255, 107, 0.35);
}

.btn-outline-primary {
    color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
}

.btn-outline-primary:hover {
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    color: #fff !important;
}

.btn-outline-light:hover {
    color: var(--brand-gray-darker);
}

/* ---------- Utility color overrides ---------- */
.bg-primary {
    background-color: var(--brand-primary) !important;
}

.text-primary {
    color: var(--brand-primary) !important;
}

.badge.bg-primary {
    background-color: var(--brand-primary) !important;
}

.border-primary {
    border-color: var(--brand-primary) !important;
}

.form-check-input:checked {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.form-control,
.form-select {
    border-radius: 8px;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 0.25rem rgba(124, 255, 107, 0.15);
}

.page-link {
    color: var(--brand-primary);
    border-radius: 6px;
    margin: 0 2px;
}

.page-link:hover {
    color: var(--brand-accent);
}

.page-item.active .page-link {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

/* ---------- Top bar ---------- */
.topbar {
    height: 64px;
    background: linear-gradient(135deg, var(--brand-gray-dark) 0%, var(--brand-gray-darker) 100%) !important;
    border-bottom: 3px solid var(--brand-primary);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
    z-index: 1040;
    position: relative;
}

.topbar .navbar-brand small {
    letter-spacing: 0.12em;
    color: var(--brand-primary) !important;
    font-weight: 600;
    opacity: 1 !important;
}

.brand-logo-chip {
    background: var(--brand-gray-darker);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 4px 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
}

.brand-logo-chip img {
    height: 34px;
    width: auto;
    object-fit: contain;
    display: block;
}

.brand-logo-chip.brand-logo-chip-lg {
    height: 84px;
    padding: 10px 18px;
    border-radius: 14px;
}

.brand-logo-chip.brand-logo-chip-lg img {
    height: 64px;
}

/* ---------- App shell / sidebar ---------- */
.app-shell {
    min-height: calc(100vh - 64px);
}

.sidebar {
    width: 230px;
    flex-shrink: 0;
    background: #fff;
    box-shadow: 1px 0 0 rgba(0, 0, 0, 0.06);
}

.sidebar .nav-link {
    color: #454b52;
    border-radius: 8px;
    margin-bottom: 3px;
    font-size: 0.92rem;
    font-weight: 500;
    padding: 0.55rem 0.75rem;
    transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out, transform 0.1s ease-in-out;
}

.sidebar .nav-link i {
    width: 1.35rem;
    display: inline-block;
    text-align: center;
    margin-right: 6px;
    font-size: 1rem;
}

.sidebar .nav-link:hover:not(.active) {
    background: var(--brand-primary-light);
    color: var(--brand-accent);
}

.sidebar .nav-link.active {
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%);
    color: #fff;
    box-shadow: 0 3px 8px rgba(124, 255, 107, 0.35);
}

.sidebar .nav-link.disabled {
    color: #adb5bd;
}

.main-content {
    flex: 1;
    min-width: 0;
}

/* ---------- Cards ---------- */
.card {
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 12px;
}

.card-header {
    font-weight: 600;
    font-size: 0.9rem;
    border-radius: 12px 12px 0 0 !important;
    background-color: #fff;
}

.shadow-sm {
    box-shadow: 0 2px 10px rgba(20, 20, 30, 0.06) !important;
}

/* ---------- Stat cards ---------- */
.stat-card {
    transition: box-shadow 0.15s ease-in-out, transform 0.15s ease-in-out;
    border-left: 4px solid var(--brand-primary) !important;
    overflow: hidden;
}

.stat-card:hover {
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-2px);
}

.stat-card h2 {
    margin: 0;
    font-weight: 700;
}

.stat-card .stat-icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: var(--brand-primary-light);
    color: var(--brand-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
}

/* ---------- Tables ---------- */
.table thead th {
    background-color: #f8f5f6;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--brand-gray-soft);
    border-bottom-width: 1px;
}

.table-hover tbody tr:hover {
    background-color: var(--brand-primary-light);
}

.list-group-item {
    border-color: rgba(0, 0, 0, 0.05);
}

.list-group-item:hover {
    background-color: #fbfbfc;
}

/* ---------- Login page ---------- */
.login-shell {
    min-height: 100vh;
    background:
        radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--brand-primary) 18%, transparent), transparent 32%),
        radial-gradient(circle at 90% 80%, color-mix(in srgb, var(--brand-accent) 14%, transparent), transparent 30%),
        linear-gradient(135deg, color-mix(in srgb, var(--brand-dark) 72%, #000), var(--brand-dark) 42%, color-mix(in srgb, var(--brand-accent) 20%, var(--brand-dark)) 72%, color-mix(in srgb, var(--brand-dark) 80%, #000));
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}
.login-shell::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: linear-gradient(to bottom, black, transparent);
    pointer-events: none;
}
.login-card {
    border: 1px solid color-mix(in srgb, var(--brand-primary) 16%, transparent);
    border-radius: 22px;
    box-shadow: 0 30px 80px rgba(0,0,0,.50), 0 0 0 1px rgba(255,255,255,.03) inset;
    overflow: hidden;
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(18px);
    position: relative;
    z-index: 1;
}
.login-card .card-body { padding: 2.25rem 2rem; }
.login-brand-subtitle { color: var(--brand-primary); letter-spacing: .14em; font-weight: 700; }
.login-welcome { color: #657168; font-size: .9rem; }
.login-shell .brand-logo-chip-lg {
    border: 1px solid color-mix(in srgb, var(--brand-primary) 25%, transparent);
    box-shadow: 0 10px 35px rgba(0,0,0,.25);
}
@media (max-width: 767.98px) {
    .sidebar {
        position: fixed;
        left: -230px;
        top: 64px;
        bottom: 0;
        z-index: 1030;
        transition: left 0.2s ease-in-out;
        overflow-y: auto;
    }

    .sidebar.show {
        left: 0;
        box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15);
    }
}

/* ---------- NetAxis modern polish ---------- */
body { background: #f5f8f5; }
.topbar { background: linear-gradient(135deg, #050806 0%, #0b1a0e 58%, #102817 100%) !important; border-bottom: 2px solid var(--brand-primary); }
.sidebar { background: rgba(255,255,255,.96) !important; box-shadow: 8px 0 30px rgba(7,17,10,.04); }
.sidebar .nav-link { border-radius: 10px; margin: 2px 6px; }
.sidebar .nav-link:hover, .sidebar .nav-link.active { background: var(--brand-primary-light); color: #102016 !important; }
.card { border: 1px solid var(--brand-border); border-radius: 16px; box-shadow: 0 8px 30px rgba(7,17,10,.045); }
.btn-primary { color: #061007 !important; background: linear-gradient(135deg, var(--brand-primary), var(--brand-accent)) !important; border: 0 !important; }
.btn-primary:hover { filter: brightness(.95); transform: translateY(-1px); }
.form-control:focus, .form-select:focus { border-color: var(--brand-primary); box-shadow: 0 0 0 .25rem rgba(124,255,107,.16); }

.app-footer{padding:14px 24px;color:#738078;font-size:.78rem;text-align:center;background:#fff;border-top:1px solid var(--brand-border);}

/* ---------- NetAxis Operations Dashboard ---------- */
.dashboard-page{max-width:1800px;margin:0 auto}.dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:18px}.eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.18em;color:#299441;margin-bottom:4px}.dashboard-scope{border:0;border-left:4px solid #299441}.dash-kpi{min-height:118px;background:#fff;border:1px solid rgba(9,34,17,.08);border-radius:16px;padding:18px;display:flex;gap:14px;align-items:flex-start;box-shadow:0 8px 24px rgba(7,17,10,.045);transition:.18s ease}.dash-kpi:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(7,17,10,.08)}.dash-kpi-icon{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex:0 0 44px}.icon-green{background:rgba(41,148,65,.11);color:#299441}.icon-emerald{background:rgba(20,155,94,.11);color:#159b5e}.icon-red{background:rgba(210,55,55,.10);color:#cf3535}.icon-amber{background:rgba(224,153,24,.12);color:#c17d00}.icon-purple{background:rgba(112,78,190,.11);color:#704ebe}.dash-kpi span{display:block;color:#6c7770;font-size:.76rem;font-weight:600}.dash-kpi strong{display:block;font-size:1.35rem;line-height:1.35;margin:4px 0 2px;color:#17221b}.dash-kpi small{display:block;color:#89928c;font-size:.7rem}.dashboard-mini-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid rgba(9,34,17,.08);border-radius:14px;overflow:hidden}.mini-metric{padding:12px 16px;text-decoration:none;color:inherit;border-right:1px solid rgba(9,34,17,.07);display:grid;grid-template-columns:1fr auto;column-gap:12px;align-items:center}.mini-metric:last-child{border-right:0}.mini-metric span{font-size:.75rem;color:#68736c;font-weight:600}.mini-metric b{font-size:1rem;color:#1d2720}.mini-metric small{grid-column:1/-1;color:#909892;font-size:.68rem;margin-top:2px}.dash-panel{background:#fff;border:1px solid rgba(9,34,17,.08);border-radius:16px;box-shadow:0 8px 24px rgba(7,17,10,.045);overflow:hidden;margin-bottom:16px}.dash-panel-head{padding:16px 18px;border-bottom:1px solid rgba(9,34,17,.07);display:flex;justify-content:space-between;align-items:center;gap:12px}.dash-panel-head h5{font-size:.95rem;margin:0;color:#17221b}.dash-panel-head span{font-size:.7rem;color:#8a938d}.chart-wrap{height:285px;padding:14px 18px 18px}.billing-health{padding:16px 18px}.health-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(9,34,17,.06);font-size:.78rem}.health-row span{color:#667169}.health-row b{color:#202a23}.health-progress{height:7px;background:#eef1ee;border-radius:20px;margin:18px 0 7px;overflow:hidden}.health-progress div{height:100%;background:linear-gradient(90deg,#f2a51a,#d33d3d);border-radius:20px}.billing-links{display:flex;flex-wrap:wrap;border-top:1px solid rgba(9,34,17,.07)}.billing-links a{flex:1 1 33%;padding:11px 12px;font-size:.7rem;text-decoration:none;color:#4b5950;border-right:1px solid rgba(9,34,17,.07)}.billing-links a:last-child{border-right:0}.billing-links a:hover{background:#f6faf6;color:#299441}.promise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding:14px}.promise-item{border:1px solid rgba(210,55,55,.12);background:#fffafa;border-radius:12px;padding:12px;text-decoration:none;color:#202822;display:block}.promise-item strong{font-size:.8rem;display:block}.promise-item span{font-size:.65rem;color:#89918b}.promise-item small{display:block;color:#6e7771;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-table{font-size:.76rem}.dash-table th{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:#7d8781;background:#fafcfb;border-bottom:1px solid rgba(9,34,17,.07);padding:11px 14px}.dash-table td{padding:11px 14px;border-color:rgba(9,34,17,.06)}.empty-state{min-height:190px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#87918a;gap:5px;padding:24px;text-align:center}.empty-state i{font-size:2rem;color:#6eb57a}.empty-state strong{font-size:.82rem;color:#4e5952}.empty-state span{font-size:.7rem}.activity-list{display:flex;flex-direction:column}.activity-item{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid rgba(9,34,17,.06);text-decoration:none;color:inherit}.activity-item:last-child{border-bottom:0}.activity-icon{width:30px;height:30px;border-radius:9px;background:rgba(41,148,65,.10);color:#299441;display:flex;align-items:center;justify-content:center}.activity-main{min-width:0;flex:1}.activity-main strong,.activity-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-main strong{font-size:.75rem;color:#263129}.activity-main small{font-size:.65rem;color:#909892;margin-top:2px}.activity-item>b{font-size:.72rem;white-space:nowrap}.quick-module{background:#fff;border:1px solid rgba(9,34,17,.08);border-radius:14px;padding:14px;display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;box-shadow:0 6px 20px rgba(7,17,10,.035);height:100%}.quick-module:hover{border-color:rgba(41,148,65,.28);transform:translateY(-1px)}.quick-icon{width:40px;height:40px;border-radius:11px;background:#f1f7f2;color:#299441;display:flex;align-items:center;justify-content:center}.quick-module span:not(.quick-icon){flex:1}.quick-module strong,.quick-module small{display:block}.quick-module strong{font-size:.78rem;color:#253029}.quick-module small{font-size:.66rem;color:#8a938d;margin-top:2px}.quick-module>i:last-child{color:#9ba49e;font-size:.8rem}
@media(max-width:991.98px){.dashboard-mini-strip{grid-template-columns:repeat(2,1fr)}.mini-metric:nth-child(2){border-right:0}.mini-metric:nth-child(-n+2){border-bottom:1px solid rgba(9,34,17,.07)}}
@media(max-width:575.98px){.dashboard-hero{align-items:flex-start;flex-direction:column}.dashboard-actions{width:100%}.dashboard-actions .btn{flex:1}.dashboard-mini-strip{grid-template-columns:1fr}.mini-metric{border-right:0!important;border-bottom:1px solid rgba(9,34,17,.07)}.mini-metric:last-child{border-bottom:0}.chart-wrap{height:230px}.dash-panel-head{align-items:flex-start;flex-direction:column}}


/* ---------- Modern UI refresh v4 ---------- */
:root {
    --surface: #ffffff;
    --surface-2: #f8fbf8;
    --ink: #142019;
    --muted: #708078;
    --brand-glow: color-mix(in srgb, var(--brand-primary) 20%, transparent);
}
body { background: linear-gradient(180deg, #f8fbf8 0%, #f2f6f3 100%); }
.topbar { height: 68px; backdrop-filter: blur(16px); }
.brand-name { max-width: 260px; }
.brand-logo-chip { box-shadow: 0 5px 18px rgba(0,0,0,.18); }
.sidebar { width: 248px; }
.sidebar .nav { padding-top: 12px !important; }
.sidebar .nav-link { padding: .68rem .82rem; display:flex; align-items:center; gap:.15rem; }
.sidebar .nav-link i { font-size:1.05rem; }
.sidebar .nav-link.active { background: linear-gradient(135deg, var(--brand-primary), var(--brand-accent)); color:#07110A !important; font-weight:700; box-shadow: 0 8px 20px var(--brand-glow); }
.main-content { padding-top: 1.35rem !important; }
.page-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }
.card { background: rgba(255,255,255,.92); backdrop-filter: blur(8px); }
.card:hover { border-color: rgba(124,255,107,.25); }
.settings-brand-preview img { width:72px; height:48px; object-fit:contain; padding:6px 10px; border-radius:12px; border:1px solid #e5ece7; background:#0a120c; }
.form-label { font-weight:600; color:var(--ink); font-size:.86rem; }
.form-text { color:var(--muted); }
.btn-primary { color:#07110A !important; font-weight:700; }
.table { --bs-table-bg: transparent; }
.app-footer { background:rgba(255,255,255,.7); border-top:1px solid rgba(7,17,10,.06); color:#7a8780; padding:14px 22px; font-size:.78rem; }
@media (max-width: 767.98px) { .brand-name { max-width: 150px; } .sidebar { width:248px; left:-248px; } .sidebar.show { left:0; } .main-content { padding:1rem !important; } }

.dashboard-lifecycle{background:linear-gradient(135deg,rgba(124,255,107,.08),rgba(7,17,10,.03));border-radius:18px}.lifecycle-box{padding:16px 18px;border:1px solid #e8ece9;border-radius:14px;background:#fff;display:flex;justify-content:space-between;align-items:center}.lifecycle-box span{font-size:.84rem;color:#68736c;font-weight:600}.lifecycle-box strong{font-size:1.45rem}.lifecycle-box.active{border-left:4px solid #198754}.lifecycle-box.expired{border-left:4px solid #ffc107}.lifecycle-box.disabled{border-left:4px solid #6c757d}.lifecycle-box.terminated{border-left:4px solid #212529}.mini-kpi{padding:14px 16px;border-radius:12px;background:#f7f9f8;border:1px solid #e7ebe8;display:flex;justify-content:space-between}.mini-kpi strong{font-size:1.25rem}.mini-kpi.danger strong{color:#dc3545}

.lifecycle-card{display:flex;align-items:center;justify-content:space-between;text-decoration:none;padding:16px 18px;border:1px solid #e8ebef;border-radius:14px;background:#fff;color:#17202a;transition:.18s}.lifecycle-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(20,30,40,.08);color:#17202a}.lifecycle-card span{font-size:.82rem;color:#667085}.lifecycle-card strong{font-size:1.45rem}.lifecycle-card.active{border-left:4px solid #22a06b}.lifecycle-card.expired{border-left:4px solid #e0a100}.lifecycle-card.disabled{border-left:4px solid #7a8594}.lifecycle-card.terminated{border-left:4px solid #222831}.

/* ---------- V9 ISP Operations UI ---------- */
.eyebrow{font-size:.68rem;font-weight:800;letter-spacing:.18em;color:#299441;margin-bottom:5px}.finance-kpi{min-height:112px;background:#fff;border:1px solid rgba(9,34,17,.08);border-radius:16px;padding:18px;display:flex;gap:13px;align-items:flex-start;box-shadow:0 8px 25px rgba(7,17,10,.045)}.finance-kpi>div:last-child{min-width:0}.finance-kpi span,.finance-mini span{display:block;color:#6c7770;font-size:.74rem;font-weight:600}.finance-kpi strong{display:block;font-size:1.28rem;line-height:1.45;margin:3px 0}.finance-kpi small{color:#87928b}.finance-icon{width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.finance-icon.green{background:rgba(41,148,65,.11);color:#299441}.finance-icon.blue{background:rgba(48,112,196,.11);color:#3070c4}.finance-icon.purple{background:rgba(112,78,190,.11);color:#704ebe}.finance-icon.red{background:rgba(210,55,55,.11);color:#cf3535}.finance-mini{background:#fff;border:1px solid var(--brand-border);border-radius:14px;padding:15px 17px;box-shadow:0 5px 20px rgba(7,17,10,.035)}.finance-mini strong{display:block;font-size:1.05rem;margin-top:4px}.package-stat{background:linear-gradient(135deg,#fff,#f7faf7);border:1px solid var(--brand-border);border-radius:15px;padding:16px 18px;box-shadow:0 6px 22px rgba(7,17,10,.035)}.package-stat span{display:block;color:#748078;font-size:.75rem;font-weight:600}.package-stat strong{display:block;font-size:1.45rem;margin-top:3px}.package-card{height:100%;background:#fff;border:1px solid rgba(9,34,17,.09);border-radius:18px;padding:20px;box-shadow:0 8px 28px rgba(7,17,10,.045);transition:.18s ease}.package-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(7,17,10,.08)}.package-inactive{opacity:.75}.package-speed{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#299441}.package-card h5{font-weight:700}.package-price{font-size:1.55rem;font-weight:800;margin:18px 0 12px}.package-price small{font-size:.72rem;color:#7a857f;font-weight:500}.package-meta{display:flex;justify-content:space-between;gap:8px;color:#758079;font-size:.69rem}.package-meta i{color:#299441}.empty-state{background:#fff;border:1px dashed #cdd5cf;border-radius:16px;text-align:center;padding:45px;color:#758079}.client-hero{background:linear-gradient(135deg,#07110a,#102817);border-radius:20px;padding:22px;color:#fff;box-shadow:0 12px 35px rgba(7,17,10,.16)}.client-hero .client-code{color:#a7b5aa;font-size:.78rem}.client-hero .status-wrap{margin-top:7px}.client-action{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff!important}.client-action:hover{background:rgba(124,255,107,.16);color:#fff!important}.client-stat{background:#fff;border:1px solid var(--brand-border);border-radius:15px;padding:15px;box-shadow:0 6px 22px rgba(7,17,10,.04);height:100%}.client-stat span{font-size:.7rem;color:#748078;display:block;font-weight:600}.client-stat strong{font-size:1.1rem;display:block;margin-top:4px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.detail-item{padding:11px 0;border-bottom:1px solid #edf1ee}.detail-item.full{grid-column:1/-1}.detail-label{display:block;color:#7a857f;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.detail-value{font-size:.87rem;color:#202923;word-break:break-word}.copy-field{cursor:pointer}.copy-field:hover{color:#299441}.profile-section-title{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#56635b}.quick-link{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:11px;text-decoration:none;color:#26312a;background:#f7f9f7;margin-bottom:7px}.quick-link:hover{background:var(--brand-primary-light);color:#1c3924}.quick-link i{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#fff}.table-tight td,.table-tight th{padding:.65rem .7rem}@media(max-width:767px){.detail-grid{grid-template-columns:1fr}.detail-item.full{grid-column:auto}.package-meta{flex-direction:column}.client-hero{padding:17px}.main-content{padding-bottom:80px!important}}

/* ---------- Sidebar v2: grouped navigation ---------- */
.sidebar { width: 248px; flex: 0 0 248px; transition: width .18s ease, left .18s ease; }
.sidebar-scroll { height: calc(100vh - 64px); overflow-y: auto; padding: 12px 10px 24px; scrollbar-width: thin; }
.sidebar-section-title { margin: 13px 9px 6px; color: #98a19b; font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.sidebar .nav-link { margin: 2px 0; padding: .62rem .72rem; min-height: 39px; display: flex; align-items: center; gap: .65rem; border-radius: 9px; color: #4b5750; font-size: .78rem; text-decoration: none; }
.sidebar .nav-link i { width: 19px; text-align: center; font-size: 1rem; color: #738078; }
.sidebar .nav-link:hover { background: #f2f7f3; color: #24342a; }
.sidebar .nav-link:hover i { color: #299441; }
.sidebar .nav-link.active { background: linear-gradient(135deg, var(--brand-primary), var(--brand-accent)); color: #07110A !important; font-weight: 700; box-shadow: 0 8px 20px rgba(41,148,65,.16); }
.sidebar .nav-link.active i { color: #07110A; }
@media (max-width: 767.98px) { .sidebar { width:248px; flex-basis:248px; left:-248px; } .sidebar.show { left:0; } .sidebar-scroll { height:calc(100vh - 64px); } }


/* ---------- V13 navigation, lifecycle and ticketing polish ---------- */
@media (min-width: 768px) {
  .app-shell { align-items: flex-start; min-height: calc(100vh - 68px); }
  .sidebar { position: sticky; top: 68px; height: calc(100vh - 68px); align-self: flex-start; }
  .sidebar-scroll { height: 100%; max-height: none; overflow-y: auto; overscroll-behavior: contain; }
}
.sidebar-section-title { margin-top: 16px; }
.sidebar-section-title:first-child { margin-top: 4px; }
.lifecycle-card.new { border-left: 4px solid #3070c4; }
.ticket-form-card { max-width: 900px; }
.ticket-form-intro { display:flex; align-items:center; gap:12px; padding:12px 14px; background:#f7faf8; border:1px solid #e6eee8; border-radius:12px; }
.ticket-form-icon { width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:var(--brand-primary-light); color:#299441; font-size:1.15rem; }
.ticket-form-intro strong, .ticket-form-intro small { display:block; }
.ticket-form-intro strong { font-size:.88rem; color:#1c2920; }
.ticket-form-intro small { color:#7a857f; margin-top:2px; }
.ticket-health-note { display:flex; gap:8px; align-items:flex-start; padding:10px 12px; border-radius:10px; background:#f7faf8; color:#69756d; font-size:.72rem; }
@media (max-width: 767.98px) { .sidebar { top:68px; bottom:0; } .sidebar-scroll { height:calc(100vh - 68px); } }
/* V14 finance/export polish */
.sidebar { position: sticky !important; top: 68px !important; height: calc(100vh - 68px) !important; align-self: flex-start !important; flex: 0 0 248px !important; overflow: hidden !important; z-index: 1020; }
.sidebar-scroll { height: 100% !important; max-height: none !important; overflow-y: auto !important; overflow-x: hidden !important; overscroll-behavior: contain; }
@media (max-width: 767.98px) { .sidebar { position: fixed !important; top: 68px !important; bottom: 0 !important; height: calc(100vh - 68px) !important; } .sidebar-scroll { height: 100% !important; } }

/* V16 layout hardening */
html,body{min-height:100%;} .app-shell{min-width:0;} .main-content{min-width:0;overflow-x:hidden;} .main-content .card{max-width:100%;} .table-responsive{border-radius:12px;} .btn{white-space:nowrap;} .d-flex.flex-wrap>.btn{flex:0 0 auto;} .page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:18px;} .page-toolbar .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;} .accounting-page .card-header{padding:.85rem 1rem;}

/* ---------- V19 unified modern finance/recovery UI ---------- */
.modern-form-card{border:1px solid var(--brand-border)!important;border-radius:18px!important;box-shadow:0 10px 32px rgba(7,17,10,.06)!important}.modern-note{display:flex;gap:12px;align-items:center;padding:13px 15px;border:1px solid #dfe9e1;background:#f7faf8;border-radius:12px;height:100%}.modern-note i{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--brand-primary-light);color:#299441;font-size:1.1rem}.modern-note strong,.modern-note span{display:block}.modern-note span{font-size:.72rem;color:#758079;margin-top:2px}.page-toolbar .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@media(min-width:768px){.app-shell{display:flex;align-items:stretch!important;min-height:calc(100vh - 68px)}.sidebar{position:fixed!important;left:0;top:68px;bottom:0;width:248px!important;height:auto!important;overflow:hidden!important;z-index:1020}.sidebar-scroll{height:100%!important;overflow-y:auto!important}.main-content{margin-left:248px;width:calc(100% - 248px);min-height:calc(100vh - 68px)}}
@media(max-width:767.98px){.main-content{margin-left:0!important;width:100%}.sidebar{position:fixed!important;left:-248px!important;top:68px!important;bottom:0!important}.sidebar.show{left:0!important}}

/* V19 global page polish */
.main-content>.card,.main-content .card{border:1px solid rgba(9,34,17,.08);border-radius:16px}.main-content .card-header{border-bottom:1px solid #edf1ee}.main-content .table{font-size:.82rem}.main-content .table thead th{font-size:.68rem;text-transform:uppercase;letter-spacing:.045em;color:#66736b;font-weight:800}.main-content .table td,.main-content .table th{vertical-align:middle}.main-content .form-label{font-size:.74rem;font-weight:700;color:#47534c}.main-content .form-control,.main-content .form-select{border-radius:10px;border-color:#dce5de;min-height:40px}.main-content textarea.form-control{min-height:auto}.main-content .btn{border-radius:9px;font-weight:650}.main-content .btn-sm{font-size:.72rem}.page-toolbar h3{font-weight:750;letter-spacing:-.02em}.eyebrow{margin-top:2px}.sidebar .nav-link{transition:background .15s ease,transform .15s ease}.sidebar .nav-link:hover{transform:translateX(1px)}


/* ---------- V20 application shell / navigation hardening ---------- */
:root{--topbar-height:64px;--sidebar-width:248px}
html,body{min-height:100%;}
body{overflow-x:hidden;}
.topbar{position:fixed!important;left:0;right:0;top:0;height:var(--topbar-height);z-index:1100!important;}
.app-shell{display:block!important;min-height:100vh!important;padding-top:var(--topbar-height)!important;}
.sidebar{position:fixed!important;left:0!important;top:var(--topbar-height)!important;bottom:0!important;width:var(--sidebar-width)!important;height:auto!important;flex:none!important;z-index:1090!important;overflow:hidden!important;border-right:1px solid #e8eee9!important;box-shadow:3px 0 18px rgba(7,17,10,.045)!important;}
.sidebar-scroll{height:100%!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;padding:10px 10px 28px!important;scrollbar-width:thin;scrollbar-gutter:stable;}
.sidebar-scroll::-webkit-scrollbar{width:7px}.sidebar-scroll::-webkit-scrollbar-track{background:transparent}.sidebar-scroll::-webkit-scrollbar-thumb{background:#cbd5ce;border-radius:20px}
.main-content{margin-left:var(--sidebar-width)!important;width:calc(100% - var(--sidebar-width))!important;min-height:calc(100vh - var(--topbar-height))!important;padding-top:24px!important;position:relative;z-index:1;}
.main-content>.page-toolbar:first-child{margin-top:0!important;}
.app-footer{margin-left:var(--sidebar-width);}
.page-toolbar{position:relative;z-index:2;}
.page-toolbar .actions{justify-content:flex-end;}
.page-toolbar .actions .btn{min-height:38px;}
.card-header{font-weight:700;}
.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:22px;padding-top:16px;border-top:1px solid #edf1ee;}
.invoice-item-row{background:#fbfcfb;border:1px solid #e3ebe5;border-radius:12px;padding:10px;}
.invoice-item-row+.invoice-item-row{margin-top:8px;}
.invoice-item-remove{min-width:40px;}
.receive-amount-card{border:1px solid #dce9df;background:#f7faf8;border-radius:14px;padding:12px 14px;}
.receive-amount-card strong{font-size:1.2rem;}
.method-transaction{display:none;}
.method-transaction.is-visible{display:block;}
@media(max-width:767.98px){
  .topbar{height:var(--topbar-height);}
  .sidebar{left:calc(-1 * var(--sidebar-width))!important;transition:left .18s ease;}
  .sidebar.show{left:0!important;}
  .main-content{margin-left:0!important;width:100%!important;padding:18px 12px!important;}
  .app-footer{margin-left:0;}
  .page-toolbar .actions{width:100%;justify-content:flex-start;}
}


/* =========================================================
   V21 FINAL APP SHELL — sidebar/topbar geometry
   Keep navigation completely independent from page scrolling.
   ========================================================= */
:root{
  --nx-topbar-h:66px;
  --nx-sidebar-w:248px;
}

html, body{
  min-height:100%;
  margin:0;
  overflow-x:hidden;
}

/* Fixed header with a real, measured height. */
.topbar{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  height:var(--nx-topbar-h) !important;
  min-height:var(--nx-topbar-h) !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  z-index:2000 !important;
  box-sizing:border-box !important;
}

/* The shell itself starts below the fixed header. */
.app-shell{
  display:block !important;
  position:relative !important;
  min-height:calc(100vh - var(--nx-topbar-h)) !important;
  padding-top:var(--nx-topbar-h) !important;
  margin:0 !important;
}

/* Sidebar is a viewport-height navigation panel, never part of document flow. */
.sidebar{
  position:fixed !important;
  top:var(--nx-topbar-h) !important;
  left:0 !important;
  bottom:0 !important;
  width:var(--nx-sidebar-w) !important;
  height:calc(100vh - var(--nx-topbar-h)) !important;
  max-height:calc(100vh - var(--nx-topbar-h)) !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  z-index:1900 !important;
  border-right:1px solid #e5ebe7 !important;
}

/* IMPORTANT: this is the only element that scrolls inside the sidebar. */
.sidebar > .sidebar-scroll{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:0 !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  display:block !important;
  overflow-x:hidden !important;
  overflow-y:scroll !important;
  box-sizing:border-box !important;
  padding:14px 10px 34px !important;
  scrollbar-width:auto !important;
  scrollbar-color:#9aa79f #f1f4f2 !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
}

.sidebar > .sidebar-scroll::-webkit-scrollbar{
  width:10px !important;
}
.sidebar > .sidebar-scroll::-webkit-scrollbar-track{
  background:#f1f4f2 !important;
  border-left:1px solid #e5ebe7 !important;
}
.sidebar > .sidebar-scroll::-webkit-scrollbar-thumb{
  background:#9aa79f !important;
  border-radius:10px !important;
  border:2px solid #f1f4f2 !important;
}
.sidebar > .sidebar-scroll::-webkit-scrollbar-thumb:hover{
  background:#68756d !important;
}

/* Give the first item breathing room below the topbar. */
.sidebar .sidebar-section-title:first-child{
  margin-top:4px !important;
}
.sidebar .sidebar-section-title:first-child + .nav-link{
  margin-top:2px !important;
}

/* Page content starts to the right and below the fixed chrome. */
.main-content{
  display:block !important;
  position:relative !important;
  z-index:1 !important;
  margin-left:var(--nx-sidebar-w) !important;
  width:calc(100% - var(--nx-sidebar-w)) !important;
  min-height:calc(100vh - var(--nx-topbar-h)) !important;
  box-sizing:border-box !important;
  padding:24px 24px 80px !important;
}

.app-footer{
  margin-left:var(--nx-sidebar-w) !important;
}

/* Prevent any page-level toolbar from visually entering the header. */
.main-content > *:first-child{
  margin-top:0 !important;
}
.page-toolbar{
  position:relative !important;
  z-index:2 !important;
}

@media(max-width:767.98px){
  .topbar{
    height:var(--nx-topbar-h) !important;
    min-height:var(--nx-topbar-h) !important;
  }
  .app-shell{
    padding-top:var(--nx-topbar-h) !important;
  }
  .sidebar{
    top:var(--nx-topbar-h) !important;
    left:calc(-1 * var(--nx-sidebar-w)) !important;
    width:var(--nx-sidebar-w) !important;
    height:calc(100vh - var(--nx-topbar-h)) !important;
    max-height:calc(100vh - var(--nx-topbar-h)) !important;
    transition:left .18s ease !important;
  }
  .sidebar.show{
    left:0 !important;
  }
  .sidebar > .sidebar-scroll{
    overflow-y:scroll !important;
  }
  .main-content{
    margin-left:0 !important;
    width:100% !important;
    padding:18px 12px 70px !important;
  }
  .app-footer{
    margin-left:0 !important;
  }
}


/* V2.23.0 professional finance/import/provider polish */

.page-toolbar-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.expense-account-card{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #dce7df;background:#f7faf8;border-radius:12px;}
.expense-account-card>i{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#e5f7e7;color:#258b3a;font-size:1rem;}
.modern-form-card .form-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid #edf1ee;}
.finance-kpi{height:100%;}
@media(max-width:767.98px){.page-toolbar-actions{width:100%;justify-content:flex-start}.modern-form-card .form-actions{justify-content:stretch}.modern-form-card .form-actions .btn{flex:1 1 auto;}}

/* V2.24.0 dashboard expiry horizon cards + footer version */
.expiry-horizon-card{display:block;height:100%;padding:18px 19px;border:1px solid #dfe9e1;border-radius:16px;background:linear-gradient(135deg,#fff,#f7faf7);box-shadow:0 7px 24px rgba(7,17,10,.045);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;color:#1d2921}.expiry-horizon-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(7,17,10,.08);border-color:#b9d9bf;color:#1d2921}.expiry-card-kicker{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5d6d63}.expiry-card-count{font-size:1.8rem;line-height:1.15;font-weight:800;margin-top:7px}.expiry-card-count span{font-size:.8rem;font-weight:600;color:#718078}.expiry-card-amount{font-size:.98rem;font-weight:800;margin-top:6px;color:#299441}.expiry-card-amount small{font-size:.67rem;color:#7a8780;font-weight:600}.expiry-card-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#eaf7ec;color:#299441;font-size:1.05rem}.app-footer{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.footer-version{font-weight:800;color:#4f6155;padding-left:8px;border-left:1px solid #d9e2db}

/* v2.25.0 dashboard cleanup */
.dashboard-mini-strip{display:none!important;}
.dashboard-kpis{margin-bottom:18px!important;}
.expiry-horizon-row{margin-bottom:18px!important;}
.app-footer{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;}
.footer-version{font-weight:800;color:#4f6155;padding-right:10px;border-right:1px solid #d9e2db;}

/* V2.26.0 VIP dashboard analytics */
.dashboard-analytics{overflow:hidden;border:1px solid #dfe8e1!important;box-shadow:0 12px 34px rgba(7,17,10,.055)!important}
.dashboard-analytics-head{padding:18px 20px!important;border-bottom:1px solid #edf1ee;background:linear-gradient(180deg,#fff 0%,#fbfdfb 100%)}
.analytics-eyebrow{color:#299441;font-size:.64rem;font-weight:850;letter-spacing:.13em;margin-bottom:4px}
.analytics-eyebrow i{margin-right:5px}
.dashboard-analytics-head h5{margin:0 0 3px;font-weight:800;letter-spacing:-.015em}
.dashboard-analytics-head>div:first-child>span{font-size:.71rem;color:#7c8881}
.analytics-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.analytics-periods{display:flex;padding:3px;background:#f0f4f1;border:1px solid #e0e8e2;border-radius:11px;gap:2px}
.analytics-period{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:0 10px;border-radius:8px;color:#647068;text-decoration:none;font-size:.67rem;font-weight:750;white-space:nowrap}
.analytics-period:hover{background:#fff;color:#299441}
.analytics-period.active{background:#fff;color:#142019;box-shadow:0 2px 7px rgba(7,17,10,.10)}
.analytics-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #edf1ee;background:#fcfdfc}
.analytics-summary>div{padding:13px 20px;border-right:1px solid #edf1ee}
.analytics-summary>div:last-child{border-right:0}
.analytics-summary span{display:block;font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;color:#89948d;font-weight:750}
.analytics-summary strong{display:block;margin-top:3px;font-size:1rem;color:#1c2820}
.dashboard-chart-wrap{height:300px!important;padding:16px 18px 12px}
.expiry-horizon-card .expiry-card-amount{margin-top:9px}
@media(max-width:991.98px){.dashboard-analytics-head{align-items:flex-start!important}.analytics-tools{width:100%;justify-content:flex-start}}
@media(max-width:575.98px){.analytics-periods{width:100%;overflow-x:auto}.analytics-period{flex:0 0 auto}.analytics-tools .btn{width:100%}.analytics-summary{grid-template-columns:1fr}.analytics-summary>div{border-right:0;border-bottom:1px solid #edf1ee}.analytics-summary>div:last-child{border-bottom:0}.dashboard-chart-wrap{height:245px!important}}

/* V2.26.1 responsive/client/finance polish */
.import-steps{display:flex;gap:8px;flex-wrap:wrap}
.import-steps span{padding:8px 13px;border-radius:10px;background:#eef3ef;color:#758178;font-size:.75rem;font-weight:750}
.import-steps span.active{background:var(--brand-primary);color:#07110A}
.employee-payment-row{background:#f7faf8;border:1px solid #e0e9e2;border-radius:14px;padding:12px}
.client-expiry{font-weight:700;white-space:nowrap}
.accounting-ledger td,.accounting-ledger th{vertical-align:middle}
@media(max-width:767.98px){
  .main-content{padding:14px 10px!important}
  .page-toolbar{align-items:flex-start!important}
  .page-toolbar-actions,.dashboard-actions{width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important}
  .page-toolbar-actions .btn,.dashboard-actions .btn{width:100%;margin:0!important}
  .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .card,.dash-panel{border-radius:14px!important}
  .client-hero{padding:16px!important}
  .client-hero h2{font-size:1.35rem}
  .analytics-tools{width:100%!important}
  .analytics-periods{max-width:100%;overflow-x:auto}
  .topbar .brand-name{max-width:135px}
}
@media(max-width:430px){
  .page-toolbar-actions,.dashboard-actions{grid-template-columns:1fr!important}
  .topbar{padding-left:8px!important;padding-right:8px!important}
  .topbar .navbar-brand{min-width:0}
  .topbar .brand-name{font-size:.9rem!important}
  .topbar .brand-logo-chip{display:none!important}
}

/* Brand-safe login fallback */
.login-shell{background-color:var(--brand-dark)!important;}

/* V2.27.0 UI refinement */
.client-status-grid{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:8px}.client-status-tab{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 13px;border:1px solid #e1e7e3;border-radius:12px;background:#fff;color:#4b5751;text-decoration:none;font-weight:700;box-shadow:0 2px 7px rgba(20,40,25,.04)}.client-status-tab:hover{border-color:#82c993;color:#147a35;background:#f7fcf8}.client-status-tab.active{background:#1e8d3b;color:#fff;border-color:#1e8d3b}.client-status-tab .badge{min-width:28px}.client-actions{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.salary-required{font-weight:700}.expense-account-card{border:1px solid #dce9df;background:#f7fbf8;border-radius:12px;padding:12px 14px;display:flex;gap:10px;align-items:flex-start}.expense-account-card>i{font-size:20px;color:#208a3c}.advance-input{min-width:120px}@media(max-width:900px){.client-status-grid{grid-template-columns:repeat(3,1fr)}.client-actions{justify-content:flex-start}}@media(max-width:520px){.client-status-grid{grid-template-columns:repeat(2,1fr)}.client-status-tab{font-size:12px;padding:9px}.client-actions .btn{flex:1 1 auto}}

/* V2.27.4 modern shell, column chooser, settings and dashboard */
.topbar{background:linear-gradient(115deg,#07110a 0%,#0d1e12 55%,#102b18 100%)!important;border-bottom:1px solid rgba(124,255,107,.55)!important;box-shadow:0 6px 22px rgba(0,0,0,.14)!important;z-index:1100!important}
.topbar .navbar-brand{min-width:0}.topbar .brand-name{letter-spacing:-.02em}.topbar-clock{min-width:174px;padding:7px 11px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.055);display:flex;flex-direction:column;align-items:flex-end;line-height:1.05;color:#fff}.topbar-clock-date{font-size:.61rem;color:#aebeb3;letter-spacing:.04em}.topbar-clock strong{font-size:.78rem;letter-spacing:.02em;margin-top:3px}.topbar-user-btn{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 5px;border:1px solid rgba(255,255,255,.2);border-radius:13px;background:rgba(255,255,255,.055);color:#fff}.topbar-user-btn:hover,.topbar-user-btn:focus{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(124,255,107,.55)}.topbar-avatar{width:31px;height:31px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--brand-primary);color:#07110A;font-size:.8rem;font-weight:900}.topbar-user-copy{display:flex;flex-direction:column;text-align:left;line-height:1.05;min-width:92px}.topbar-user-copy strong{font-size:.72rem;white-space:nowrap}.topbar-user-copy small{font-size:.58rem;color:#aebeb3;margin-top:3px;white-space:nowrap}.topbar-user .dropdown-menu{margin-top:8px;border:1px solid #dce6df;border-radius:13px;padding:6px;min-width:190px}.topbar-user .dropdown-item{border-radius:8px;padding:9px 10px;font-size:.78rem}.topbar-user .dropdown-item:hover{background:#eef8f0;color:#1f7f37}
.column-picker-modal{border:0;border-radius:20px;overflow:hidden;box-shadow:0 24px 70px rgba(7,17,10,.22)}.column-picker-modal .modal-header{padding:18px 20px;background:linear-gradient(135deg,#f8fcf9,#edf7ef);border-bottom:1px solid #e2ebe4}.modal-kicker{display:block;color:#2b9444;font-size:.58rem;font-weight:900;letter-spacing:.14em;margin-bottom:3px}.column-picker-list{display:grid;gap:7px}.column-picker-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #e3eae5;border-radius:11px;background:#fbfcfb;cursor:pointer;transition:.15s ease}.column-picker-item:hover{border-color:#acd4b5;background:#f4faf5}.column-picker-item span{font-size:.76rem;font-weight:650;color:#334139}.column-picker-item i{color:#2d9345;margin-right:8px}.column-picker-item .form-check-input{margin:0;width:17px;height:17px}.column-picker-item .form-check-input:checked{background-color:#238a3b;border-color:#238a3b}
.settings-page{background:linear-gradient(180deg,#f7faf8 0,#f3f7f4 100%)}.settings-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:25px 28px;border-radius:22px;background:linear-gradient(135deg,#07110a,#16351f 70%,#1d482a);color:#fff;box-shadow:0 14px 42px rgba(7,17,10,.13)}.settings-eyebrow{font-size:.62rem;font-weight:900;letter-spacing:.14em;color:#9be5a9}.settings-hero h2{margin:5px 0 4px;font-size:1.65rem;letter-spacing:-.025em}.settings-hero p{margin:0;color:#cbded0;font-size:.8rem;max-width:680px}.settings-hero-badge{display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);border-radius:14px;white-space:nowrap}.settings-hero-badge>i{font-size:1.2rem;color:#9be5a9}.settings-hero-badge span{display:flex;flex-direction:column;line-height:1.1}.settings-hero-badge strong{font-size:.7rem}.settings-hero-badge small{font-size:.58rem;color:#b8c9bd;margin-top:3px}.settings-card,.settings-side-card{background:#fff;border:1px solid #e1e9e3;border-radius:18px;box-shadow:0 9px 28px rgba(20,40,25,.045);overflow:hidden}.settings-card-head{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid #edf1ee;background:linear-gradient(180deg,#fff,#fbfdfb)}.settings-card-head>div{display:flex;align-items:center;gap:11px}.settings-card-head>div>span{width:30px;height:30px;border-radius:9px;background:#edf8ef;color:#238a3b;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:900}.settings-card-head h5{margin:0;font-size:.92rem;font-weight:800}.settings-card-head small{display:block;color:#7b8880;font-size:.65rem;margin-top:3px}.settings-card-head>i{font-size:1.15rem;color:#82a18a}.settings-card-body{padding:20px}.color-field{display:grid;grid-template-columns:54px 1fr;gap:7px}.color-field input[type=color]{width:54px;height:38px;padding:4px;border-radius:9px;border:1px solid #dce6df}.brand-preview{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #e2eae4;border-radius:11px;background:#f9fbf9}.brand-preview img{width:42px;height:42px;object-fit:contain;border-radius:8px;background:#fff}.brand-preview img.favicon-preview{width:42px;height:42px}.brand-preview span{font-size:.67rem;color:#738078}.setting-switch{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px;border:1px solid #e0e8e2;border-radius:13px;background:#f9fbf9}.setting-switch span{display:flex;flex-direction:column}.setting-switch strong{font-size:.76rem}.setting-switch small{font-size:.64rem;color:#7b8880;margin-top:3px}.setting-switch input{appearance:none;width:43px;height:24px;border-radius:20px;background:#cbd5ce;position:relative;cursor:pointer;flex:0 0 auto}.setting-switch input:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.18s}.setting-switch input:checked{background:#238a3b}.setting-switch input:checked:after{left:22px}.settings-savebar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;margin-bottom:25px;background:#07110a;color:#fff;border-radius:15px;box-shadow:0 10px 28px rgba(7,17,10,.13)}.settings-savebar>div{display:flex;flex-direction:column}.settings-savebar strong{font-size:.78rem}.settings-savebar span{font-size:.62rem;color:#b8c9bd;margin-top:3px}.settings-side-card{padding:21px;position:sticky;top:84px}.settings-side-card+.settings-side-card{margin-top:16px}.side-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#edf8ef;color:#238a3b;font-size:1.1rem;margin-bottom:12px}.side-kicker{display:block;color:#75837a;font-size:.59rem;font-weight:900;letter-spacing:.12em}.settings-side-card h5{font-size:.98rem;margin:5px 0 7px;font-weight:800}.settings-side-card p{font-size:.69rem;color:#728078;line-height:1.55}.config-list{margin-top:13px}.config-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf1ee}.config-list>div:last-child{border-bottom:0}.config-list span{font-size:.66rem;color:#7b8880}.config-list strong{font-size:.67rem;color:#233129;text-align:right}
.dashboard-page{background:linear-gradient(180deg,#f7faf8 0,#f2f6f3 100%)}.dashboard-hero{position:relative;overflow:hidden;padding:22px 23px;border:1px solid #dfe9e2;border-radius:20px;background:linear-gradient(135deg,#fff,#f6faf7);box-shadow:0 10px 30px rgba(20,40,25,.045)}.dashboard-hero:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-90px;top:-115px;background:rgba(41,148,65,.06)}.dashboard-hero .eyebrow{color:#2a9144;font-size:.62rem;font-weight:900;letter-spacing:.13em}.dashboard-hero h3{font-size:1.35rem;font-weight:850;letter-spacing:-.025em}.dashboard-hero p{font-size:.7rem}.dashboard-actions{position:relative;z-index:1}.dashboard-kpis .dash-kpi{height:100%;border:1px solid #e0e9e2!important;box-shadow:0 8px 24px rgba(20,40,25,.045)!important;background:#fff!important}.expiry-horizon-row .expiry-horizon-card{border-color:#dfe8e1;background:linear-gradient(135deg,#fff,#f6faf7)}.dashboard-analytics{background:#fff!important}.dashboard-page .dash-panel{border-color:#e0e8e2!important;box-shadow:0 9px 28px rgba(20,40,25,.045)!important}.dashboard-page .dash-panel-head{background:linear-gradient(180deg,#fff,#fbfdfb)}
@media(max-width:767.98px){.topbar-clock{min-width:0;padding:6px 8px}.topbar-clock-date{font-size:.54rem}.topbar-clock strong{font-size:.67rem}.topbar-user-copy{display:none}.topbar-user-btn{padding:4px}.settings-hero{display:block;padding:20px}.settings-hero-badge{display:inline-flex;margin-top:16px}.settings-side-card{position:static}.settings-savebar{align-items:flex-start;flex-direction:column}.settings-savebar .btn{width:100%}}
@media(max-width:430px){.topbar-clock{display:none}.settings-card-body{padding:15px}.settings-card-head{padding:14px 15px}.settings-card-head small{display:none}}
.dashboard-pulse{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 16px;border:1px solid #dfe8e1;border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(20,40,25,.035)}.pulse-title{display:flex;align-items:center;gap:9px;min-width:190px}.pulse-title>div{display:flex;flex-direction:column}.pulse-title strong{font-size:.73rem;font-weight:850}.pulse-title small{font-size:.6rem;color:#7b8880;margin-top:2px}.pulse-dot{width:8px;height:8px;border-radius:50%;background:#2d9b49;box-shadow:0 0 0 5px rgba(45,155,73,.10)}.pulse-items{display:grid;grid-template-columns:repeat(5,minmax(90px,1fr));flex:1}.pulse-items>div{padding:0 13px;border-left:1px solid #edf1ee}.pulse-items span{display:block;font-size:.58rem;text-transform:uppercase;letter-spacing:.06em;color:#87928b;font-weight:750}.pulse-items strong{display:block;font-size:.82rem;margin-top:2px;color:#26342b}@media(max-width:900px){.dashboard-pulse{display:block}.pulse-title{margin-bottom:12px}.pulse-items{grid-template-columns:repeat(5,minmax(85px,1fr));overflow-x:auto}.pulse-items>div{min-width:90px}}@media(max-width:575.98px){.pulse-items{grid-template-columns:repeat(2,minmax(110px,1fr));row-gap:12px}.pulse-items>div:nth-child(odd){border-left:0}.pulse-items>div{padding:0 8px}}
/* V2.27.4: keep the column chooser readable without the heavy black Bootstrap backdrop. */
.modal-backdrop.show{opacity:.14}
#clientColumnModal .modal-dialog{max-width:390px}
#clientColumnModal .modal-content{background:#fff}

.renewal-preview{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;padding:14px 16px;border:1px solid #dce9df;background:linear-gradient(135deg,#f7fbf8,#eef8f1);border-radius:14px}.renewal-preview>div{display:flex;flex-direction:column}.renewal-preview span{font-size:.63rem;text-transform:uppercase;letter-spacing:.08em;color:#718078;font-weight:800}.renewal-preview strong{font-size:1rem;color:#173b22;margin-top:3px}.renewal-preview>i{color:#299441;font-size:1.15rem}.renewal-preview small{grid-column:1/-1;color:#718078;font-size:.65rem}@media(max-width:520px){.renewal-preview{grid-template-columns:1fr}.renewal-preview>i{display:none}}

/* v2.27.5 UI polish: client column chooser has no backdrop/overlay. */
.client-column-panel{position:fixed;inset:0;z-index:2000;display:flex;align-items:flex-start;justify-content:flex-end;padding:82px 24px 24px;background:transparent;pointer-events:none}.client-column-panel[hidden]{display:none}.client-column-panel-card{width:min(390px,calc(100vw - 32px));max-height:calc(100vh - 110px);overflow:auto;background:#fff;border:1px solid #dce7df;border-radius:20px;box-shadow:0 20px 55px rgba(12,31,18,.18);pointer-events:auto}.client-column-panel-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e8eee9;background:linear-gradient(180deg,#fff,#f7fbf8);position:sticky;top:0;z-index:2}.client-column-panel-body{padding:17px 20px}.client-column-panel-foot{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;border-top:1px solid #e8eee9;background:#fff;position:sticky;bottom:0}.client-column-panel .column-picker-list{display:grid;gap:7px}.client-column-panel .column-picker-item{min-height:44px}.client-column-panel .btn-close{box-shadow:none}.client-column-panel .btn-close:focus{box-shadow:0 0 0 3px rgba(35,138,59,.12)}
body{scrollbar-gutter:stable}.page-toolbar-actions .btn{min-height:40px}.card,.settings-card,.settings-side-card{border-color:#e0e9e2}.table>thead th{font-size:.69rem;letter-spacing:.045em;text-transform:uppercase;color:#637169;white-space:nowrap}.table>tbody td{font-size:.76rem}.form-control,.form-select{border-color:#d8e3db;border-radius:10px}.form-control:focus,.form-select:focus{border-color:#70b982;box-shadow:0 0 0 .18rem rgba(35,138,59,.10)}.btn{border-radius:10px;font-weight:700}.btn-primary{box-shadow:0 5px 14px rgba(35,138,59,.13)}

/* v2.28.2 recovery/payroll UI */
.recovery-collect-modal{z-index:1200!important}.recovery-collect-modal.show{display:block!important}.modal-backdrop{z-index:1100!important}.recovery-collect-modal .modal-dialog{pointer-events:auto}.payroll-page .finance-kpi{height:100%}.payroll-page .table td{vertical-align:middle}


/* ---------- Dashboard bottom layout polish v2.28.2 ---------- */
.dashboard-page .dashboard-bottom-card{min-height:300px;display:flex;flex-direction:column}
.dashboard-page .dashboard-bottom-card .activity-list{flex:1}
.dashboard-page .dashboard-bottom-card .empty-state{min-height:235px;flex:1}
.dashboard-page .dashboard-bottom-card .mini-kpi{min-height:94px;border:1px solid #e5ece6;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbf9);padding:16px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.dashboard-page .dashboard-bottom-card .mini-kpi span{font-size:.68rem;color:#7a8780;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.dashboard-page .dashboard-bottom-card .mini-kpi strong{font-size:1.45rem;color:#17221b;margin-top:5px}
.dashboard-page .dashboard-bottom-card .mini-kpi.danger strong{color:#c83a3a}
.dashboard-page .dashboard-bottom-card .dash-panel-head{min-height:76px}
@media(max-width:767.98px){.dashboard-page .dashboard-bottom-card{min-height:0}.dashboard-page .dashboard-bottom-card .dash-panel-head{min-height:auto}}

/* Installer polish v2.28.2 */
.install-shell{max-width:1080px!important;margin:28px auto 48px!important;padding:0 16px}
.install-hero{position:relative;overflow:hidden;border-radius:28px!important;padding:32px!important}
.install-hero:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:-130px;top:-160px;background:rgba(124,255,107,.08)}
.install-card{border-radius:24px!important;overflow:hidden}
.install-card .card-title{font-weight:800;color:#17221b}
.install-card .table{--bs-table-bg:transparent}
.install-card .table tbody tr{border-bottom:1px solid #edf2ee}
.install-card .btn{border-radius:11px;font-weight:700}

/* v2.28.2 dashboard spacing and quick actions */
.dashboard-page .dashboard-recovery-row{margin-bottom:18px}.dashboard-page .dashboard-recovery-card{margin-bottom:0}.dashboard-page .dashboard-bottom-row{row-gap:18px!important}.dashboard-page .dashboard-bottom-row>[class*=col-]{display:flex}.dashboard-page .dashboard-bottom-row .dashboard-bottom-card{width:100%;margin-bottom:0}.dashboard-page .dashboard-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dashboard-page .dashboard-quick-grid .quick-module{min-height:76px}.dashboard-page .quick-icon.quick-danger{background:#fff2f1;color:#d13d38}.dashboard-page .quick-icon.quick-purple{background:#f4f0fb;color:#7650b5}.dashboard-page .dashboard-bottom-card{min-height:310px}.dashboard-page .dashboard-bottom-card .activity-list{max-height:290px;overflow:auto}.dashboard-page .dashboard-bottom-card .empty-state{min-height:235px}@media(max-width:991.98px){.dashboard-page .dashboard-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575.98px){.dashboard-page .dashboard-quick-grid{grid-template-columns:1fr}.dashboard-page .dashboard-bottom-row{row-gap:14px!important}}

/* ---------- v2.28.4 visual consistency / spacing polish ---------- */
:root{
  --ui-radius:14px;
  --ui-shadow:0 8px 28px rgba(7,17,10,.055);
}
.main-content{min-width:0;background:#f7faf8;}
.page-toolbar{gap:16px;margin-bottom:18px;align-items:center;}
.page-toolbar .actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;}
.card{border-radius:var(--ui-radius)!important;box-shadow:var(--ui-shadow)!important;overflow:hidden;}
.card-header{min-height:48px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--brand-border)!important;}
.table{--bs-table-hover-bg:rgba(124,255,107,.045);}
.table thead th{font-size:.74rem;text-transform:uppercase;letter-spacing:.035em;color:#65736b;font-weight:800;white-space:nowrap;}
.table td{font-size:.86rem;}
.btn{border-radius:10px;font-weight:700;transition:all .16s ease;}
.btn-outline-primary{color:#168b35!important;border-color:rgba(22,139,53,.35)!important;}
.btn-outline-primary:hover{background:var(--brand-primary-light)!important;border-color:var(--brand-accent)!important;color:#0f6f29!important;}
.btn-outline-secondary,.btn-outline-dark{border-color:#dbe4de!important;color:#46534c!important;}
.btn-outline-secondary:hover,.btn-outline-dark:hover{background:#f1f5f2!important;color:#17211b!important;}
.form-control,.form-select{border-radius:10px;min-height:42px;border-color:#dce5df;}
.form-control:focus,.form-select:focus{border-color:var(--brand-accent)!important;}
.finance-kpi{height:100%;min-height:112px;border:1px solid var(--brand-border);border-radius:14px;background:#fff;padding:16px 17px;box-shadow:0 5px 18px rgba(7,17,10,.035);}
.finance-kpi span,.finance-kpi small{display:block;color:#758178;font-size:.75rem;}
.finance-kpi strong{display:block;font-size:1.28rem;margin:6px 0 3px;color:#152019;}
/* Remove low-value instructional helper text while retaining errors/success notices. */
.form-text{display:none!important;}

.login-shell{background:radial-gradient(circle at 20% 10%,color-mix(in srgb,var(--brand-primary) 13%,transparent),transparent 30%),linear-gradient(145deg,#050806 0%,#09140d 48%,#102617 100%);}
.login-shell .container{max-width:430px!important;}
.login-card{border-radius:20px!important;background:rgba(255,255,255,.985)!important;}
.login-card .card-body{padding:30px!important;}
.login-card .form-label{font-size:.78rem;font-weight:800;color:#425048;margin-bottom:7px;}
.login-card .form-control{height:48px;background:#fbfdfb;}
.login-card .btn-primary{height:48px;font-size:.9rem;box-shadow:0 9px 22px color-mix(in srgb,var(--brand-accent) 24%,transparent);}
.login-access-strip{display:none!important;}
.login-meta{display:none!important;}
.login-welcome{display:none!important;}
.login-brand-subtitle{font-size:.67rem!important;opacity:.9;}
@media(max-width:767.98px){.page-toolbar{align-items:flex-start;}.page-toolbar .actions{justify-content:flex-start;width:100%;}.main-content{padding:14px!important;}.card{border-radius:12px!important;}}

/* ---------- v2.28.4 modern application UI ---------- */
.min-w-0{min-width:0}.modern-page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:4px 2px 10px}.entity-avatar{width:48px;height:48px;flex:0 0 48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));color:#fff;font-size:1.25rem;box-shadow:0 8px 22px rgba(57,211,83,.22)}.page-subline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#6f7b74;font-size:.8rem}.page-subline .badge{font-size:.68rem}.modern-kpi{height:100%;min-height:108px;background:#fff;border:1px solid rgba(0,0,0,.055);border-radius:14px;padding:17px;display:flex;align-items:center;gap:13px;box-shadow:0 5px 20px rgba(20,30,25,.055);transition:transform .16s ease,box-shadow .16s ease}.modern-kpi:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(20,30,25,.09)}.modern-kpi .kpi-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--brand-primary-light);color:#23963b;font-size:1.05rem}.modern-kpi span{display:block;color:#748078;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.modern-kpi strong{display:block;font-size:1.18rem;line-height:1.25;margin:2px 0}.modern-kpi small{display:block;color:#8a958e;font-size:.69rem}.modern-card{border-radius:14px;overflow:hidden;box-shadow:0 4px 18px rgba(20,30,25,.05)!important}.modern-card-header{min-height:60px;padding:13px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px}.modern-card-header>i{color:#8a968f}.modern-card-header>div{display:flex;flex-direction:column;gap:2px}.section-kicker{font-size:.62rem;letter-spacing:.09em;color:#849089;font-weight:700}.modern-table thead th{font-size:.68rem;text-transform:uppercase;letter-spacing:.035em;color:#7b8780;font-weight:700;background:#f8faf8;border-bottom:1px solid #e9eeeb;white-space:nowrap}.modern-table tbody td{font-size:.78rem;border-color:#eef1ef}.modern-table tbody tr{transition:background .12s ease}.modern-table tbody tr:hover{background:#fbfdfb}.empty-row{text-align:center!important;padding:32px 16px!important;color:#8b958f!important}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}.profile-grid.one-col{grid-template-columns:1fr;gap:13px}.profile-grid>div{min-width:0}.profile-grid span{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.045em;color:#8a958f;margin-bottom:3px}.profile-grid strong{display:block;font-size:.84rem;color:#29312d;word-break:break-word}.profile-grid .span-2{grid-column:span 2}.commercial-highlight{padding:16px;border-radius:12px;background:linear-gradient(135deg,#f5fbf5,#edf8ef);border:1px solid #e0eee2;margin-bottom:18px}.commercial-highlight strong{display:block;font-size:1.65rem;color:#247d35}.commercial-highlight span{color:#748078;font-size:.75rem}.login-shell{position:relative;min-height:100vh;overflow:hidden;background:radial-gradient(circle at 15% 10%,rgba(124,255,107,.12),transparent 28%),radial-gradient(circle at 85% 90%,rgba(57,211,83,.10),transparent 30%),linear-gradient(145deg,#050806,#0b160e 48%,#07110a)}.login-shell:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 45%,rgba(255,255,255,.025) 45.2%,transparent 45.6%);pointer-events:none}.login-card{border-radius:18px!important;background:rgba(255,255,255,.98)!important}.login-card .form-control{height:48px;border-radius:11px}.login-card .btn-primary{height:48px;border-radius:11px}.login-access-strip{border-radius:12px!important}.login-brand-subtitle{letter-spacing:.12em;color:rgba(255,255,255,.62)!important}.login-meta{letter-spacing:.01em}.login-welcome{color:#69756d;font-size:.8rem}.page-actions .btn,.actions .btn{white-space:nowrap}@media(max-width:900px){.modern-page-head{align-items:flex-start;flex-direction:column}.page-actions{width:100%}.page-actions .btn{flex:1}.profile-grid{gap:14px 16px}}@media(max-width:576px){.main-content{padding-left:12px!important;padding-right:12px!important}.profile-grid{grid-template-columns:1fr}.profile-grid .span-2{grid-column:auto}.modern-kpi{min-height:92px}.modern-page-head h3{font-size:1.05rem}.page-actions{display:grid!important;grid-template-columns:1fr 1fr}.page-actions form{display:contents!important}.page-actions .btn{width:100%}}

/* v2.28.5 modern UI polish */
:root{--nx-surface:#fff;--nx-border:#e6ece8;--nx-shadow:0 10px 28px rgba(21,39,28,.06);--nx-shadow-hover:0 16px 36px rgba(21,39,28,.09)}
.main-content{background:linear-gradient(180deg,#f7faf8 0,#f5f8f6 100%);min-height:calc(100vh - 62px)}
.card,.settings-card,.settings-side-card,.finance-kpi,.finance-mini,.modern-kpi,.dashboard-bottom-card{border-color:var(--nx-border)!important;box-shadow:var(--nx-shadow);transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}
.card:hover,.settings-card:hover,.settings-side-card:hover,.dashboard-bottom-card:hover{box-shadow:var(--nx-shadow-hover)}
.card{border-radius:16px;overflow:hidden}.card-header{padding:15px 18px;border-bottom:1px solid var(--nx-border)!important}.card-body{border-color:var(--nx-border)}
.page-toolbar{background:rgba(255,255,255,.78);border:1px solid var(--nx-border);border-radius:16px;padding:15px 17px;margin-bottom:18px;box-shadow:var(--nx-shadow);backdrop-filter:blur(8px)}
.page-toolbar .actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.page-toolbar h3{font-weight:700;letter-spacing:-.02em}.eyebrow{letter-spacing:.13em;font-weight:800;font-size:.66rem;color:#6b786f}
.btn{border-radius:10px;font-weight:600}.btn-lg{border-radius:12px}.form-control,.form-select{border-color:#dce5df;border-radius:10px;min-height:42px}.form-control:focus,.form-select:focus{border-color:var(--brand-accent);box-shadow:0 0 0 .2rem rgba(57,211,83,.12)}
.table{--bs-table-border-color:#edf1ee}.table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.045em;color:#6d7972;background:#f7faf8}.table tbody tr{transition:background .12s ease}.table tbody tr:hover{background:#fbfdfb}
.finance-kpi,.modern-kpi{border-radius:15px;background:#fff;padding:17px}.finance-mini{border-radius:14px;background:#fff;padding:14px 16px}.nx-document-card{border-radius:16px}.nx-document-card .card-header{font-weight:700}
.sidebar{box-shadow:8px 0 30px rgba(14,28,19,.05)}.topbar{box-shadow:0 6px 24px rgba(0,0,0,.10)}
@media(max-width:768px){.main-content{padding:16px!important}.page-toolbar{padding:13px}.page-toolbar .actions{width:100%}.page-toolbar .actions .btn,.page-toolbar .actions form{flex:1 1 auto}.page-toolbar .actions .btn{width:100%}.card-body{padding:15px!important}}

/* NetAxis 2.28.6 modern responsive polish */
:root{--nx-radius:16px;--nx-shadow:0 10px 30px rgba(7,17,10,.07);--nx-line:#e8eee9}
.card,.modern-card,.finance-kpi,.modern-kpi{border-radius:var(--nx-radius)!important;border-color:var(--nx-line)!important;box-shadow:var(--nx-shadow)}
.card-header,.modern-card-header{border-color:var(--nx-line)!important;background:rgba(255,255,255,.92)!important}
.btn{border-radius:11px;font-weight:600}.form-control,.form-select,.input-group-text{border-radius:11px;min-height:44px;border-color:#dfe7e1}.form-control:focus,.form-select:focus{border-color:var(--brand-accent);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--brand-accent) 14%,transparent)}
.table{--bs-table-bg:transparent}.table thead th{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:#66736b;white-space:nowrap}.table td,.table th{padding:.78rem .75rem}.page-toolbar,.modern-page-head{gap:14px}.page-actions,.actions{align-items:center}.modern-modal{border:0;border-radius:18px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.18)}
@media(max-width:767.98px){body{font-size:.92rem}.main-content{padding:14px!important}.page-toolbar,.modern-page-head{display:flex;flex-direction:column;align-items:stretch!important}.page-actions,.page-toolbar .actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}.page-actions .btn,.page-toolbar .actions .btn,.page-actions form{width:100%!important}.page-actions form .btn{width:100%!important}.topbar{min-height:58px}.topbar-user-copy{display:none}.topbar-clock{font-size:.72rem}.card-body{padding:1rem}.table-responsive{border-radius:12px}.table{min-width:640px}.modal-dialog{margin:.65rem}.modern-kpi{min-height:94px}.btn-lg{font-size:.95rem}.navbar-brand .brand-name{max-width:170px}.profile-grid{grid-template-columns:1fr!important}.span-2{grid-column:auto!important}}
@media(min-width:768px){.table-responsive{border-radius:0 0 var(--nx-radius) var(--nx-radius)}}


/* NetAxis v2.28.8 — unified modern UI + modal layering */
:root{--nx-radius:16px;--nx-line:#e4ebe6;--nx-shadow:0 8px 28px rgba(20,35,25,.055);--nx-shadow-hover:0 14px 34px rgba(20,35,25,.09)}
.modal{z-index:1200!important}.modal-backdrop{z-index:1190!important}.modal.show{display:block!important}.modal-backdrop.show{opacity:.24!important}
.modern-modal{border:1px solid var(--nx-line)!important;border-radius:18px!important;box-shadow:0 28px 80px rgba(8,20,12,.22)!important;overflow:hidden;background:#fff}
.modern-modal .modal-header{padding:16px 18px;background:linear-gradient(180deg,#fff,#f8fbf9);border-bottom:1px solid var(--nx-line)}
.modern-modal .modal-body{padding:18px}.modern-modal .modal-footer{padding:13px 18px;background:#fbfcfb;border-top:1px solid var(--nx-line)}
.modern-page-head,.page-toolbar{border:1px solid var(--nx-line);background:rgba(255,255,255,.9);border-radius:16px;box-shadow:var(--nx-shadow);padding:15px 17px}
.modern-card,.finance-kpi,.modern-kpi,.settings-card,.settings-side-card{border:1px solid var(--nx-line)!important;box-shadow:var(--nx-shadow)!important;border-radius:16px!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.modern-card:hover,.finance-kpi:hover,.modern-kpi:hover{box-shadow:var(--nx-shadow-hover)!important}
.card-header,.modern-card-header{border-bottom:1px solid var(--nx-line)!important}
.form-control,.form-select,.input-group-text{border-color:#dce5df;border-radius:11px;min-height:44px}.form-control:focus,.form-select:focus{border-color:#79b986;box-shadow:0 0 0 .2rem rgba(57,211,83,.12)}
.btn{border-radius:10px;font-weight:650}.btn-primary{box-shadow:0 7px 18px rgba(35,148,61,.14)}
.table-responsive{border:1px solid var(--nx-line);border-radius:14px}.modern-table thead th,.table thead th{background:#f7faf8!important}
.nx-document-card{border:1px solid var(--nx-line)!important;border-radius:18px!important;overflow:hidden;background:#fff;box-shadow:var(--nx-shadow)!important}
.nx-document-card .document-head{padding:18px;background:linear-gradient(135deg,#fff,#f5faf6);border-bottom:1px solid var(--nx-line)}
.invoice-status-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:.7rem;font-weight:750;background:#edf8ef;color:#277d38}
.invoice-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.invoice-meta-box{padding:13px 14px;border:1px solid var(--nx-line);border-radius:13px;background:#fbfdfb}.invoice-meta-box span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:#87928c}.invoice-meta-box strong{display:block;margin-top:4px;font-size:.86rem}
.entity-profile-card{background:linear-gradient(135deg,#fff,#f7fbf8)}.entity-profile-card .profile-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));color:#fff;box-shadow:0 10px 24px rgba(57,211,83,.2)}
.login-card{border-radius:22px!important;border:1px solid rgba(255,255,255,.2)!important;box-shadow:0 28px 90px rgba(0,0,0,.34)!important}.login-shell{background:radial-gradient(circle at 12% 12%,rgba(124,255,107,.15),transparent 28%),radial-gradient(circle at 88% 82%,rgba(57,211,83,.12),transparent 30%),linear-gradient(135deg,var(--login-gradient-start),var(--login-gradient-end))!important}.login-card-accent{height:5px!important}.login-card .form-control{background:#fbfdfb}.login-card .btn-primary{letter-spacing:.01em}
@media(max-width:900px){.invoice-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:576px){.invoice-meta-grid{grid-template-columns:1fr}.modern-page-head,.page-toolbar{padding:13px}.page-actions,.page-toolbar .actions{grid-template-columns:1fr!important}.page-actions .btn{min-height:44px}.modal-dialog{margin:.5rem}.modern-modal .modal-body{padding:14px}.table-responsive{border-radius:12px}.main-content{padding:12px!important}}

/* NetAxis v2.28.8 — unified modern UI + modal layering */
:root{--nx-radius:16px;--nx-line:#e4ebe6;--nx-shadow:0 8px 28px rgba(20,35,25,.055);--nx-shadow-hover:0 14px 34px rgba(20,35,25,.09)}
.modal{z-index:1200!important}.modal-backdrop{z-index:1190!important}.modal.show{display:block!important}.modal-backdrop.show{opacity:.24!important}
.modern-modal{border:1px solid var(--nx-line)!important;border-radius:18px!important;box-shadow:0 28px 80px rgba(8,20,12,.22)!important;overflow:hidden;background:#fff}
.modern-modal .modal-header{padding:16px 18px;background:linear-gradient(180deg,#fff,#f8fbf9);border-bottom:1px solid var(--nx-line)}.modern-modal .modal-body{padding:18px}.modern-modal .modal-footer{padding:13px 18px;background:#fbfcfb;border-top:1px solid var(--nx-line)}
.modern-page-head,.page-toolbar{border:1px solid var(--nx-line);background:rgba(255,255,255,.9);border-radius:16px;box-shadow:var(--nx-shadow);padding:15px 17px}
.modern-card,.finance-kpi,.modern-kpi,.settings-card,.settings-side-card{border:1px solid var(--nx-line)!important;box-shadow:var(--nx-shadow)!important;border-radius:16px!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.modern-card:hover,.finance-kpi:hover,.modern-kpi:hover{box-shadow:var(--nx-shadow-hover)!important}
.card-header,.modern-card-header{border-bottom:1px solid var(--nx-line)!important}
.form-control,.form-select,.input-group-text{border-color:#dce5df;border-radius:11px;min-height:44px}.form-control:focus,.form-select:focus{border-color:#79b986;box-shadow:0 0 0 .2rem rgba(57,211,83,.12)}
.btn{border-radius:10px;font-weight:650}.btn-primary{box-shadow:0 7px 18px rgba(35,148,61,.14)}
.table-responsive{border:1px solid var(--nx-line);border-radius:14px}.modern-table thead th,.table thead th{background:#f7faf8!important}
.nx-document-card{border:1px solid var(--nx-line)!important;border-radius:18px!important;overflow:hidden;background:#fff;box-shadow:var(--nx-shadow)!important}
.invoice-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.invoice-meta-box{padding:13px 14px;border:1px solid var(--nx-line);border-radius:13px;background:#fbfdfb}.invoice-meta-box span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:#87928c}.invoice-meta-box strong{display:block;margin-top:4px;font-size:.86rem}
.entity-profile-card{background:linear-gradient(135deg,#fff,#f7fbf8)}.entity-profile-card .profile-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));color:#fff;box-shadow:0 10px 24px rgba(57,211,83,.2)}
.login-card{border-radius:22px!important;border:1px solid rgba(255,255,255,.2)!important;box-shadow:0 28px 90px rgba(0,0,0,.34)!important}.login-shell{background:radial-gradient(circle at 12% 12%,rgba(124,255,107,.15),transparent 28%),radial-gradient(circle at 88% 82%,rgba(57,211,83,.12),transparent 30%),linear-gradient(135deg,var(--login-gradient-start),var(--login-gradient-end))!important}.login-card-accent{height:5px!important}.login-card .form-control{background:#fbfdfb}.login-card .btn-primary{letter-spacing:.01em}
@media(max-width:900px){.invoice-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:576px){.invoice-meta-grid{grid-template-columns:1fr}.modern-page-head,.page-toolbar{padding:13px}.page-actions,.page-toolbar .actions{grid-template-columns:1fr!important}.page-actions .btn{min-height:44px}.modal-dialog{margin:.5rem}.modern-modal .modal-body{padding:14px}.table-responsive{border-radius:12px}.main-content{padding:12px!important}}

/* NetAxis v2.28.9 — final UI consistency + CIR modal stacking fix */
:root{--nx-radius:16px;--nx-line:#e4ebe6;--nx-shadow:0 9px 30px rgba(20,35,25,.06);--nx-shadow-hover:0 16px 38px rgba(20,35,25,.095)}
.modern-page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--nx-line);border-radius:17px;background:rgba(255,255,255,.94);box-shadow:var(--nx-shadow)}
.modern-page-head h3{font-weight:750;letter-spacing:-.025em}.page-subline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#6d7972;font-size:.76rem}.page-actions{align-items:center}
.modern-card,.modern-kpi,.finance-kpi,.settings-card,.settings-side-card,.client-stat,.card.shadow-sm{border:1px solid var(--nx-line)!important;border-radius:16px!important;box-shadow:var(--nx-shadow)!important}
.modern-card:hover,.modern-kpi:hover,.finance-kpi:hover,.client-stat:hover,.card.shadow-sm:hover{box-shadow:var(--nx-shadow-hover)!important}
.card-header,.modern-card-header{background:linear-gradient(180deg,#fff,#f8fbf9)!important;border-bottom:1px solid var(--nx-line)!important}
.btn{border-radius:10px;font-weight:650}.btn-primary{box-shadow:0 7px 18px rgba(35,148,61,.13)}
.form-control,.form-select,.input-group-text{border-radius:11px;min-height:44px;border-color:#dce5df}.form-control:focus,.form-select:focus{box-shadow:0 0 0 .2rem rgba(57,211,83,.12);border-color:#78b783}
.table thead th{background:#f7faf8!important;color:#66736b;font-size:.72rem;text-transform:uppercase;letter-spacing:.045em}.table tbody tr:hover{background:#fbfdfb}
/* main-content creates a stacking context (z-index:1), which trapped the CIR modal below the root backdrop. The modal is relocated to body in cir_client_view.php. */
#cirGenerateInvoiceModal{position:fixed!important;inset:0!important;z-index:5000!important;padding:18px!important;overflow-x:hidden;overflow-y:auto;pointer-events:none}
#cirGenerateInvoiceModal .modal-dialog{position:relative;z-index:5001;pointer-events:auto;max-width:560px;margin:7vh auto 0;transform:none!important}
#cirGenerateInvoiceModal .modal-content{pointer-events:auto}
#cirGenerateInvoiceModal.show{display:block!important}
@media(max-width:767.98px){.modern-page-head{align-items:stretch;flex-direction:column;padding:14px}.page-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}.page-actions .btn{width:100%;min-height:44px}.main-content{padding:12px!important}.modern-kpi,.client-stat{min-height:92px}.table-responsive{border-radius:13px}.table{min-width:640px}#cirGenerateInvoiceModal{padding:10px!important}#cirGenerateInvoiceModal .modal-dialog{margin:4vh auto 0}}
@media(max-width:430px){.page-actions{grid-template-columns:1fr!important}.modern-page-head h3{font-size:1.05rem}}


/* V2.29.0 Clients page geometry hardening
   Keep the client workspace inside the measured main-content width at every
   browser zoom level. Prevent wide tables/toolbars from pushing the page
   off-canvas or restoring a previous horizontal scroll position. */
.clients-page{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:hidden !important;
  box-sizing:border-box !important;
}
.clients-page > *{
  max-width:100% !important;
  min-width:0 !important;
}
.clients-page .modern-page-head,
.clients-page .card,
.clients-page .client-status-grid{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.clients-page .modern-page-head{
  overflow:visible;
}
.clients-page .page-actions,
.clients-page .page-toolbar-actions{
  min-width:0;
  max-width:100%;
}
.clients-page .client-status-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.clients-page .clients-table-card{
  overflow:hidden;
}
.clients-page .clients-table-wrap{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
}
.clients-page .clients-table{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  table-layout:auto !important;
}
.clients-page .clients-table th,
.clients-page .clients-table td{
  white-space:nowrap;
}
.clients-page .clients-table th:first-child,
.clients-page .clients-table td:first-child{padding-left:16px;}
.clients-page .clients-table th:last-child,
.clients-page .clients-table td:last-child{padding-right:16px;}
.clients-page .clients-table .client-actions{white-space:nowrap;}

@media (min-width:768px) and (max-width:1400px){
  .clients-page .client-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .clients-page .modern-page-head{align-items:flex-start;}
}
@media (max-width:767.98px){
  .clients-page{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .clients-page .client-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .clients-page .clients-table{min-width:980px !important;}
}

/* V2.29.1 Clients workspace layout correction
   The previous responsive hardening still allowed the data table's intrinsic
   column widths to determine the whole page width. Use a bounded table layout
   on desktop so the Clients workspace always fills the content card instead
   of appearing pushed to the far right. */
.clients-page,
.clients-page .clients-table-card,
.clients-page .clients-table-wrap {
  box-sizing: border-box !important;
}
.clients-page .clients-table-card {
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
.clients-page .clients-table-wrap {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  display: block !important;
}
.clients-page .clients-table {
  width: 100% !important;
  min-width: 1120px !important;
  max-width: none !important;
  table-layout: fixed !important;
  margin: 0 !important;
}
.clients-page .clients-table th,
.clients-page .clients-table td {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  vertical-align: middle !important;
}
.clients-page .clients-table th:nth-child(1),
.clients-page .clients-table td:nth-child(1) { width: 92px; }
.clients-page .clients-table th:nth-child(2),
.clients-page .clients-table td:nth-child(2) { width: 120px; }
.clients-page .clients-table th:nth-child(3),
.clients-page .clients-table td:nth-child(3) { width: 165px; }
.clients-page .clients-table th:nth-child(4),
.clients-page .clients-table td:nth-child(4) { width: 125px; }
.clients-page .clients-table th:nth-child(5),
.clients-page .clients-table td:nth-child(5) { width: 125px; }
.clients-page .clients-table th:nth-child(6),
.clients-page .clients-table td:nth-child(6) { width: 120px; }
.clients-page .clients-table th:nth-child(7),
.clients-page .clients-table td:nth-child(7) { width: 125px; }
.clients-page .clients-table th:nth-child(8),
.clients-page .clients-table td:nth-child(8) { width: 105px; }
.clients-page .clients-table th:nth-child(9),
.clients-page .clients-table td:nth-child(9) { width: 105px; }
.clients-page .clients-table th:last-child,
.clients-page .clients-table td:last-child { width: 165px; }
.clients-page .clients-table .client-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 5px !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
}
.clients-page .clients-table .client-actions .btn {
  flex: 0 0 auto !important;
}
.clients-page .modern-page-head {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.clients-page .modern-page-head > .min-w-0 {
  min-width: 180px !important;
  flex: 1 1 260px !important;
}
.clients-page .page-actions {
  min-width: 0 !important;
  flex: 0 1 auto !important;
}
.clients-page .page-toolbar-actions {
  min-width: 0 !important;
  max-width: 100% !important;
}
.clients-page .client-status-grid {
  width: 100% !important;
  min-width: 0 !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}
.clients-page .client-status-tab {
  min-width: 0 !important;
  overflow: hidden !important;
}
.clients-page .client-status-tab .badge {
  flex: 0 0 auto;
}
@media (max-width: 1450px) {
  .clients-page .client-status-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .clients-page .clients-table { min-width: 1120px !important; }
}
@media (max-width: 900px) {
  .clients-page .modern-page-head { flex-direction: column !important; align-items: stretch !important; }
  .clients-page .page-actions,
  .clients-page .page-toolbar-actions { width: 100% !important; }
  .clients-page .page-toolbar-actions { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .clients-page .client-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .clients-page .clients-table { min-width: 1120px !important; }
  .clients-page .page-toolbar-actions { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 480px) {
  .clients-page .page-toolbar-actions { grid-template-columns: 1fr !important; }
}

/* V2.31.0 Clients final workspace containment
   The page itself must never be wider than the viewport slice left by the fixed
   sidebar. Toolbars and status controls wrap inside that measured width; only
   the data table is allowed to scroll horizontally inside its card. */
.main-content.clients-page{
  width:calc(100vw - var(--sidebar-width)) !important;
  max-width:calc(100vw - var(--sidebar-width)) !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  overflow-x:hidden !important;
}
.clients-page{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  overflow-x:hidden !important;
}
.clients-page .modern-page-head{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,auto) !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  align-items:center !important;
  overflow:hidden !important;
}
.clients-page .modern-page-head > .min-w-0{
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
}
.clients-page .page-actions{
  min-width:0 !important;
  width:auto !important;
  max-width:100% !important;
  overflow:hidden !important;
}
.clients-page .page-toolbar-actions{
  min-width:0 !important;
  width:auto !important;
  max-width:100% !important;
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:8px !important;
}
.clients-page .page-toolbar-actions .btn{
  flex:0 1 auto !important;
  max-width:100% !important;
}
.clients-page .client-status-grid{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  overflow:hidden !important;
}
.clients-page .client-status-tab{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
  white-space:nowrap !important;
}
.clients-page .client-status-tab > .badge{
  flex:0 0 auto !important;
}
.clients-page form[data-live-filter]{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}
.clients-page form[data-live-filter] > [class*="col-"]{
  min-width:0 !important;
  max-width:100% !important;
}
.clients-page .clients-table-card{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}
.clients-page .clients-table-wrap{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
}
.clients-page .clients-table{
  width:100% !important;
  min-width:980px !important;
  max-width:none !important;
}
@media (max-width:1199.98px){
  .clients-page .modern-page-head{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .clients-page .page-toolbar-actions{justify-content:flex-start !important;}
  .clients-page .client-status-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media (max-width:767.98px){
  .main-content.clients-page{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
  }
  .clients-page .client-status-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .clients-page .page-toolbar-actions{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;width:100% !important;}
}
@media (max-width:480px){
  .clients-page .page-toolbar-actions{grid-template-columns:1fr !important;}
  .clients-page .client-status-grid{grid-template-columns:1fr !important;}
}

/* V2.32 professional layout normalization */
.main-content{min-width:0;overflow-x:hidden}.main-content>.row,.main-content .row{min-width:0}.main-content .card{min-width:0}.table-responsive{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.modern-page-head,.page-toolbar{max-width:100%;min-width:0}.page-actions{min-width:0;justify-content:flex-end}.page-actions .btn{white-space:nowrap}.modern-kpi,.modern-card{min-width:0}.modern-table{width:100%;min-width:760px}.form-control,.form-select{max-width:100%}@media(max-width:992px){.page-actions{width:100%;justify-content:flex-start}.modern-page-head{align-items:flex-start;gap:14px;flex-wrap:wrap}}@media(max-width:576px){.main-content{padding-left:.75rem!important;padding-right:.75rem!important}.page-actions .btn{flex:1 1 auto}.modern-table{min-width:680px}}
