:root{--ink:#17231f;--muted:#6d7975;--line:#e4e9e6;--soft:#f4f7f5;--surface:#fff;--green:#185b45;--green2:#27775c;--mint:#dff2e9;--amber:#f2b84b;--red:#c34444;--blue:#407b8f;--shadow:0 12px 36px rgba(24,50,41,.08)}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#f7f9f8;font-size:14px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4,.brand{font-family:'Manrope',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;width:246px;height:100vh;background:#102d24;color:#dce9e4;padding:26px 18px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 24px;font-size:19px;color:white}.brand-mark{width:36px;height:36px;border-radius:11px;background:#f1be58;color:#17382d;display:grid;place-items:center;font-weight:800}.brand small{display:block;font:11px 'DM Sans';color:#9db7ad;margin-top:2px}.sidebar nav{flex:1;overflow:auto}.nav-label{text-transform:uppercase;letter-spacing:.13em;font-size:10px;color:#78978b;margin:20px 10px 8px}.nav-link{display:flex;align-items:center;gap:12px;padding:11px 12px;margin:3px 0;border-radius:9px;color:#bdd1c9;font-weight:500}.nav-link>span{width:18px;text-align:center;font-size:17px}.nav-link:hover,.nav-link.active{background:#1e493b;color:white}.nav-link.active{box-shadow:inset 3px 0 #f1be58}.sidebar-user{display:flex;align-items:center;gap:10px;padding:15px 8px 2px;border-top:1px solid #295044}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#2f6957;font-weight:700;color:white}.user-copy{min-width:0;flex:1}.user-copy b,.user-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-copy b{font-size:13px}.user-copy small{font-size:11px;color:#8dac9f}.icon-btn{background:none;border:0;color:inherit;font-size:20px;cursor:pointer}.main-wrap{margin-left:246px;width:calc(100% - 246px)}.topbar{height:86px;padding:0 34px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}.topbar h2{font-size:21px;margin:2px 0 0}.eyebrow{font-size:11px;color:var(--muted);margin:0;text-transform:uppercase;letter-spacing:.08em}.top-actions{display:flex;gap:10px}.content{padding:30px 34px 48px;max-width:1500px;margin:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:9px;padding:10px 15px;font-weight:600;cursor:pointer;transition:.18s;background:white}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--green);color:white;box-shadow:0 5px 13px rgba(24,91,69,.17)}.btn-primary:hover{background:var(--green2)}.btn-ghost{border-color:var(--line);background:white;color:var(--ink)}.btn-danger{color:var(--red);border-color:#efcccc;background:#fffafa}.btn-sm{padding:7px 10px;font-size:12px}.btn-block{width:100%}.mobile-toggle{display:none;border:0;background:none;font-size:24px}.alert{display:flex;align-items:flex-start;gap:10px;border-radius:10px;padding:13px 15px;margin-bottom:20px}.alert-success{background:#e3f3eb;color:#185b45}.alert-error{background:#fbe8e8;color:#a33131}.alert button{margin-left:auto;border:0;background:none;font-size:18px;color:inherit}.alert ul{margin:5px 0 0;padding-left:18px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 4px 18px rgba(26,50,42,.035)}.stat-head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.stat-icon{width:35px;height:35px;border-radius:10px;background:var(--mint);display:grid;place-items:center;color:var(--green);font-size:17px}.stat-card h3{font-size:25px;margin:15px 0 5px}.trend{font-size:11px;color:var(--muted)}.trend.good{color:var(--green)}.grid-2{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:20px}.grid-even{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 18px rgba(26,50,42,.035);margin-bottom:20px;overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.card-head h3{font-size:15px;margin:0}.card-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.card-body{padding:20px}.card-foot{padding:13px 20px;border-top:1px solid var(--line);background:#fbfcfb}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;text-transform:uppercase;letter-spacing:.06em;font-size:10px;color:#84908c;padding:11px 14px;border-bottom:1px solid var(--line);background:#fafbfa}td{padding:13px 14px;border-bottom:1px solid #edf0ee;vertical-align:middle}tr:last-child td{border-bottom:0}.cell-main{font-weight:600}.cell-sub{display:block;font-size:11px;color:var(--muted);margin-top:2px}.money{font-variant-numeric:tabular-nums;font-weight:600}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:700;text-transform:capitalize}.badge:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:5px}.badge-paid,.badge-active{color:#217052;background:#e4f4ed}.badge-unpaid{color:#88600d;background:#fbf0d5}.badge-partial{color:#326d82;background:#e2f0f4}.badge-overdue,.badge-inactive,.badge-left{color:#ad3b3b;background:#fae7e7}.page-actions,.filter-bar{display:flex;gap:10px;align-items:center}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-heading h1{font-size:24px;margin:0}.section-heading p{color:var(--muted);margin:5px 0 0}.filter-bar{padding:15px 18px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:18px;flex-wrap:wrap}.filter-bar input,.filter-bar select{min-width:145px}.search-field{flex:1;min-width:220px!important}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field,.form-grid label,.stack-form>label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#4e5b57}.field.full,.form-grid .full{grid-column:1/-1}input,select,textarea{border:1px solid #d9e0dc;border-radius:8px;padding:10px 11px;background:white;color:var(--ink);outline:none;width:100%}input:focus,select:focus,textarea:focus{border-color:#519076;box-shadow:0 0 0 3px rgba(56,128,97,.1)}textarea{resize:vertical;min-height:82px}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:19px;margin-top:19px;border-top:1px solid var(--line)}.muted{color:var(--muted)}.text-danger{color:var(--red)}.empty-state{text-align:center;padding:42px 20px;color:var(--muted)}.empty-icon{width:52px;height:52px;border-radius:15px;background:var(--soft);display:grid;place-items:center;margin:0 auto 12px;font-size:24px}.pagination{display:flex;justify-content:space-between;padding:14px 18px;align-items:center}.pager{display:flex;gap:6px}.pager a,.pager span{border:1px solid var(--line);padding:6px 10px;border-radius:7px}.pager .active{background:var(--green);color:white}.mini-chart{height:210px;display:flex;align-items:flex-end;gap:13px;padding-top:25px}.bar-col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;color:var(--muted);font-size:10px}.bar{width:100%;max-width:35px;min-height:3px;background:linear-gradient(#3b8b6d,#185b45);border-radius:6px 6px 2px 2px}.list-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border:0}.list-copy{flex:1}.list-copy b,.list-copy small{display:block}.list-copy small{color:var(--muted);margin-top:3px}.student-hero{background:linear-gradient(125deg,#123c2f,#23614d);color:white;border-radius:15px;padding:25px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.student-title{display:flex;gap:16px;align-items:center}.avatar-lg{width:58px;height:58px;border-radius:16px;background:#f1be58;color:#214235;display:grid;place-items:center;font:800 22px Manrope}.student-hero p{color:#b9d1c8;margin:5px 0 0}.hero-meta{display:flex;gap:35px}.hero-meta small,.hero-meta b{display:block}.hero-meta small{color:#9fbbb0;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:20px}.tabs a{padding:11px 15px;color:var(--muted);border-bottom:2px solid transparent}.tabs a.active{color:var(--green);border-color:var(--green);font-weight:600}dialog{border:0;border-radius:14px;padding:0;width:min(560px,calc(100% - 30px));box-shadow:0 25px 80px rgba(15,40,31,.25)}dialog::backdrop{background:rgba(10,28,22,.55);backdrop-filter:blur(2px)}.dialog-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.dialog-head h3{margin:0;font-size:16px}.dialog-body{padding:20px}.auth-body{background:#eef3f0;min-height:100vh;display:grid;place-items:center;padding:24px}.auth-panel{width:min(1000px,100%);min-height:610px;background:white;border-radius:22px;overflow:hidden;box-shadow:0 30px 90px rgba(22,64,49,.16);display:grid;grid-template-columns:1.1fr .9fr}.auth-visual{position:relative;background:linear-gradient(145deg,#102f25,#1e644c);color:white;padding:40px;overflow:hidden}.auth-brand{display:flex;align-items:center;gap:10px;font:20px Manrope}.auth-message{position:relative;z-index:2;margin-top:115px;max-width:450px}.auth-message h1{font-size:40px;line-height:1.14;margin:20px 0}.auth-message p{color:#c0d8cf;font-size:16px;line-height:1.6}.pill{border-radius:999px;padding:6px 10px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.pill.light{background:rgba(255,255,255,.12)}.auth-proof{display:flex;gap:45px;margin-top:50px}.auth-proof b,.auth-proof small{display:block}.auth-proof small{color:#9fbcb1;margin-top:4px}.visual-orb{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.1)}.orb-one{width:330px;height:330px;right:-140px;top:-90px}.orb-two{width:240px;height:240px;left:-110px;bottom:-90px}.auth-form-wrap{display:grid;place-items:center;padding:50px}.auth-form{width:100%;max-width:330px}.auth-form h2{font-size:27px;margin-bottom:7px}.auth-form>p{color:var(--muted);margin-bottom:30px}.auth-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;margin:17px 0}.auth-form input{padding:12px}.auth-form .check-row{flex-direction:row;align-items:center}.check-row input{width:auto}.demo-hint{display:block;text-align:center;color:var(--muted);margin-top:16px}.receipt{max-width:760px;margin:auto;background:white;border:1px solid var(--line);border-radius:10px;padding:38px}.receipt-head{display:flex;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:22px;margin-bottom:22px}.receipt-brand h1{margin:0;font-size:23px}.receipt-total{text-align:center;background:var(--soft);padding:24px;margin:25px 0;border-radius:10px}.receipt-total h2{font-size:30px;margin:5px 0}.print-only{display:none}.progress{height:7px;background:#e8eeeb;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;background:var(--green)}@media(max-width:1050px){.stat-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.form-grid.cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main-wrap{margin:0;width:100%}.mobile-toggle{display:block}.topbar{padding:0 17px;height:76px}.topbar>div:first-of-type{margin-right:auto;margin-left:12px}.content{padding:20px 16px}.hide-mobile{display:none}.stat-grid,.form-grid,.form-grid.cols-3,.grid-even{grid-template-columns:1fr}.filter-bar>*{width:100%}.student-hero{align-items:flex-start;gap:20px;flex-direction:column}.hero-meta{gap:20px}.auth-panel{grid-template-columns:1fr}.auth-visual{display:none}.auth-form-wrap{padding:40px 25px}.section-heading{align-items:flex-start;gap:13px;flex-direction:column}.page-actions{width:100%}.page-actions .btn{flex:1}}@media print{.sidebar,.topbar,.no-print,.alert{display:none!important}.main-wrap{margin:0;width:100%}.content{padding:0}.receipt{border:0;box-shadow:none;max-width:none}.print-only{display:block}body{background:white}}

/* Warm ivory surfaces with evergreen navigation and sage accents. */
:root {
    --ink: #243b33;
    --muted: #64736a;
    --line: #dfe7df;
    --soft: #eff4ee;
    --surface: #ffffff;
    color-scheme: light;
    --red: #ae443d;
    --brand-gradient: linear-gradient(135deg, #326b55, #234d3e);
    --sidebar-surface: #193c30;
    --green: #2f5d50;
    --green2: #244a3f;
    --mint: #e5efe9;
    --blue: #2f5d50;
    --shadow: 0 4px 20px rgba(30, 65, 48, .055);
}
body {
    background: radial-gradient(ellipse at 5% 0%, rgba(126, 167, 137, .12), transparent 48%), #f7f7f2;
}

.sidebar {
    background: linear-gradient(165deg, #234b3b, var(--sidebar-surface) 60%, #142e26);
    color: #e7e0d3;
    border-right: 1px solid rgba(255, 255, 255, .08);
    box-shadow: 5px 0 24px rgba(20, 46, 34, .08);
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
}
.sidebar nav { min-height: 0; overflow-y: auto; scrollbar-width: none; }
.sidebar nav::-webkit-scrollbar { display: none; width: 0; height: 0; }
.sidebar .brand { flex-shrink: 0; align-items: flex-start; }
.sidebar .brand > span:last-child { min-width: 0; }
.sidebar .brand b { display: block; font-size: 16px; line-height: 1.4; overflow-wrap: anywhere; }
.sidebar .brand-mark { flex-shrink: 0; }
.sidebar .workspace-chip, .sidebar-user { flex-shrink: 0; }
.brand-mark, .avatar-lg {
    background: linear-gradient(135deg, #376b5b, #2f5d50);
    color: #ffffff;
    box-shadow: inset 0 1px 0 rgba(148, 191, 169, .18);
}
.brand small, .user-copy small { color: #bacfc0; }
.nav-label { color: #adc5b6; }
.nav-link { color: #dce9df; transition: background .18s, color .18s; }
.nav-link:hover { background: rgba(255, 255, 255, .09); color: white; }
.nav-link.active {
    background: rgba(148, 191, 169, .2);
    box-shadow: inset 3px 0 #c4dba2, inset 0 1px 0 rgba(255, 255, 255, .12);
}
.sidebar-user { border-color: rgba(255, 255, 255, .14); }
.avatar { background: var(--brand-gradient); }
.topbar {
    background: rgba(255, 255, 255, .95);
    border-bottom-color: var(--line);
    box-shadow: 0 4px 24px rgba(48, 40, 28, .04);
    -webkit-backdrop-filter: blur(22px);
    backdrop-filter: blur(22px);
}
.card, .stat-card, .filter-bar, .auth-panel, dialog {
    background: var(--surface);
    border: 1px solid var(--line);
    box-shadow: var(--shadow), inset 0 1px 0 rgba(148, 191, 169, .08);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}
.card, .stat-card { border-radius: 16px; }
.card-head { background: linear-gradient(110deg, #f5f8f3, #ffffff); }
.stat-card { border-top: 3px solid #759982; }
.stat-card h3 { color: #244d3b; letter-spacing: -.035em; }
.stat-grid > :nth-child(2) .stat-icon { background: #f5eedc; color: #775b20; }
.stat-grid > :nth-child(3) .stat-icon { background: #f4e8e0; color: #92583b; }
.stat-grid > :nth-child(4) .stat-icon { background: #eeeaf4; color: #6b587e; }
.stat-icon { background: linear-gradient(135deg, #f0f6f2, #e0ece5); }
.card-foot, th { background: #f1f5ef; }
th { color: var(--muted); }
td { border-bottom-color: var(--line); }
tbody tr:hover { background: rgba(47, 93, 80, .04); }
.btn { border-radius: 8px; transition: background .18s, box-shadow .18s; }
.btn:hover { transform: none; }
.btn-primary {
    background: var(--brand-gradient);
    box-shadow: 0 2px 5px rgba(47, 93, 80, .12), inset 0 1px 0 rgba(255, 255, 255, .2);
}
.btn-primary:hover { background: linear-gradient(35deg, #1d3d34, #244a3f 55%, #285244); }
.btn-ghost { background: #ffffff; border-color: #cfdcd0; color: #345643; }
.btn-ghost:hover { background: #edf4eb; border-color: #96b19c; }
input, select, textarea { background: #ffffff; border-color: #cfdacf; }
input:focus, select:focus, textarea:focus { border-color: #4b7e6d; box-shadow: 0 0 0 3px rgba(47, 93, 80, .13); }
input[type=checkbox], input[type=radio] { accent-color: var(--green); }
a:focus-visible, button:focus-visible { outline: 3px solid #4b7e6d; outline-offset: 3px; }
.field, .form-grid label, .stack-form>label { color: #4d6153; }
.bar, .progress span { background: var(--brand-gradient); }
.progress { background: #e5efe9; }
.student-hero, .auth-visual {
    background: var(--brand-gradient);
    border: 1px solid rgba(255, 255, 255, .22);
    box-shadow: var(--shadow);
}
.student-hero p, .hero-meta small, .auth-message p, .auth-proof small { color: #e7e0d3; }
.auth-body { background-color: #f7f5f0; }
.auth-panel { border-radius: 18px; }
.pill.light { background: rgba(255, 255, 255, .13); border: 1px solid rgba(255, 255, 255, .22); }
.visual-orb { background: linear-gradient(135deg, rgba(75, 126, 109, .15), rgba(75, 126, 109, .06)); }
dialog { background: var(--surface); }
dialog::backdrop { background: rgba(30, 28, 24, .45); backdrop-filter: blur(6px); }
@media (prefers-reduced-transparency: reduce) {
    .card, .stat-card, .filter-bar, .auth-panel, dialog, .topbar { background: #ffffff; backdrop-filter: none; -webkit-backdrop-filter: none; }
    .sidebar { background: var(--sidebar-surface); backdrop-filter: none; -webkit-backdrop-filter: none; }
}
@media (prefers-reduced-motion: reduce) {
    .btn, .nav-link, .sidebar { transition: none; }
    .btn:hover { transform: none; }
}

/* Light controls and semantic states across every workspace. */
.btn { background-color: #ffffff; color: var(--ink); }
.btn-primary, .pager .active { background: var(--brand-gradient); color: #ffffff; }
.btn-danger { background: #fff3ef; color: #a33d35; }
.btn-primary:hover { background: linear-gradient(35deg, #1d3d34, #244a3f 55%, #285244); }
input::placeholder, textarea::placeholder { color: #6b786f; }
select option { background: #ffffff; color: var(--ink); }
.receipt { background: var(--surface); }
.badge-paid, .badge-active, .alert-success { background: #e3f3eb; color: #185b45; }
.badge-unpaid { background: #fbf0d5; color: #79540d; }
.badge-partial { background: #eee8dc; color: #70562f; }
.badge-overdue, .badge-inactive, .badge-left, .alert-error { background: #faeae5; color: #a33d35; }
hr { border: 0; border-top: 1px solid var(--line); }

@media print {
    body { background: white; color: #222; color-scheme: light; --ink: #222; --muted: #555; --soft: #eee; --line: #ddd; }
    .card, .stat-card, .filter-bar, .receipt { background: white; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
}

/* Responsive workspace foundations. */
.main-wrap, .content, .grid-2 > *, .form-grid > *, .module-grid > *, .card-body { min-width: 0; }
.section-heading > div, .card-head > div, .topbar-title { min-width: 0; }
h1, h2, h3, p, .cell-main, .cell-sub, .field, .list-copy, .alert { overflow-wrap: anywhere; }
img, video, canvas { max-width: 100%; }
.section-heading, .card-head, .page-actions, .top-actions, .form-actions { flex-wrap: wrap; }
.filter-bar > input, .filter-bar > select { flex: 1 1 160px; width: auto; min-width: 0; }
.filter-bar .search-field { min-width: 0 !important; flex-basis: 220px; }
.table-wrap { max-width: 100%; overscroll-behavior-x: contain; }
.table-wrap:focus-visible { outline: 2px solid var(--green); outline-offset: -2px; }
.tabs { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.tabs a { flex-shrink: 0; }
button:disabled { cursor: not-allowed; opacity: .55; }
.sidebar-close, .sidebar-overlay { display: none; }
.sidebar-overlay[hidden] { display: none; }
dialog { max-height: calc(100dvh - 32px); overflow-y: auto; overscroll-behavior: contain; }
.fee-reminder-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, 1fr); gap: 20px; align-items: start; }
.fee-reminder-layout > * { min-width: 0; }
.fee-reminder-controls { grid-column: 2; grid-row: 1; }
.fee-reminder-preview { grid-column: 1; grid-row: 1; }
.fee-reminder-preview .card-body { padding: 12px; }
.fee-reminder-preview table { table-layout: fixed; }
.fee-reminder-preview td { overflow-wrap: anywhere; }

@media screen and (max-width: 1024px) {
    .sidebar { width: min(290px, calc(100vw - 44px)); height: 100dvh; padding-top: 22px; transform: translateX(-100%); visibility: hidden; transition: transform .2s, visibility .2s; z-index: 50; overscroll-behavior: contain; }
    .sidebar.open { transform: translateX(0); visibility: visible; }
    .sidebar .brand { padding-right: 32px; }
    .sidebar-close { display: grid; place-items: center; position: absolute; top: 12px; right: 8px; width: 44px; height: 44px; }
    .sidebar-overlay:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 40; border: 0; padding: 0; background: rgba(20, 28, 24, .48); touch-action: none; }
    body.sidebar-open { overflow: hidden; }
    .main-wrap { margin-left: 0; width: 100%; }
    .mobile-toggle { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; color: var(--ink); cursor: pointer; }
    .topbar { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px; height: auto; min-height: 76px; padding: 12px 20px; }
    .topbar > div.topbar-title { margin: 0; }
    .topbar h2 { font-size: 19px; line-height: 1.35; }
    .content { padding: 24px 20px 40px; }
    .sidebar, .card, .stat-card, .filter-bar, .module-card, .topbar { backdrop-filter: none; -webkit-backdrop-filter: none; }
    .topbar { background: var(--surface); }
    body { background-attachment: scroll; }
}
@media screen and (max-width: 760px) {
    .topbar { grid-template-columns: 44px minmax(0, 1fr); padding: 10px 14px; gap: 6px 10px; }
    .top-actions { grid-column: 2; justify-content: flex-start; }
    .top-actions .btn { font-size: 13px; }
    .topbar h2 { font-size: 17px; }
    .eyebrow { font-size: 10px; letter-spacing: .04em; }
    .content { padding: 20px 14px 32px; }
    .section-heading { gap: 14px; }
    .section-heading h1 { font-size: 23px; line-height: 1.3; }
    .grid-2, .grid-even, .form-grid, .form-grid.cols-3, .fee-reminder-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .fee-reminder-controls, .fee-reminder-preview { grid-column: auto; grid-row: auto; }
    .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .stat-card { padding: 15px; }
    .stat-card h3 { font-size: 23px; }
    .card-head, .card-body { padding: 16px; }
    .card-head { gap: 10px; }
    .card-head > .btn { flex-shrink: 0; }
    .page-actions, .form-actions { gap: 8px; }
    .page-actions > .btn, .page-actions > form { flex: 1 1 140px; }
    .page-actions > form > .btn { width: 100%; }
    .form-actions > .btn { flex: 1 1 120px; }
    .filter-bar { padding: 14px; gap: 10px; }
    .filter-bar > input, .filter-bar > select, .filter-bar > label { width: 100%; flex: 1 1 100%; min-width: 0; }
    .filter-bar > .btn { width: auto; flex: 1 1 100px; }
    input, select, textarea { font-size: 16px; min-width: 0; }
    input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select { min-height: 44px; }
    .btn, .icon-btn, .tabs a { min-height: 44px; }
    .icon-btn { min-width: 44px; }
    .table-wrap > table { min-width: 600px; }
    .table-wrap.is-scrollable::before { content: 'Scroll sideways to see all columns →'; display: block; position: sticky; left: 0; width: fit-content; padding: 10px 14px; color: var(--muted); font-size: 12px; }
    .pagination { flex-wrap: wrap; gap: 12px; }
    .pager { flex-wrap: wrap; }
    .pager a, .pager span { min-width: 40px; min-height: 40px; display: grid; place-items: center; }
    .receipt { padding: 20px 14px; }
    .receipt-head { flex-wrap: wrap; gap: 16px; }
    .hero-meta { flex-wrap: wrap; gap: 16px; }
    .auth-body { padding: 16px; }
    .auth-panel { min-height: auto; }
    .auth-form-wrap { padding: 30px 20px; }
    .fee-reminder-preview .card-body { padding: 8px; }
    .table-wrap > .mobile-cards { min-width: 0; }
    .mobile-cards thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .mobile-cards tbody, .mobile-cards tr { display: block; }
    .mobile-cards tr { padding: 12px 16px; border-bottom: 1px solid var(--line); }
    .mobile-cards td { display: grid; grid-template-columns: minmax(95px, .8fr) minmax(0, 1.2fr); gap: 12px; padding: 8px 0; border: 0; overflow-wrap: anywhere; }
    .mobile-cards td::before { content: attr(data-label); font-weight: 600; color: var(--muted); }
    .mobile-cards td[colspan] { display: block; }
    .mobile-cards td[colspan]::before { content: none; }
}
@media screen and (max-width: 360px) {
    .stat-grid { grid-template-columns: minmax(0, 1fr); }
    .top-actions > .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .sidebar { transition: none; }
}
@media print {
    .sidebar-overlay, .sidebar-close { display: none !important; }
}
