:root{--ink:#102a43;--ink-soft:#486581;--muted:#718096;--line:#d9e2ec;--canvas:#f4f7fb;--surface:#fff;--navy:#102e4d;--navy-2:#183e63;--blue:#2563eb;--blue-soft:#eaf1ff;--green:#047857;--green-soft:#e7f8f0;--amber:#b45309;--amber-soft:#fff4df;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Segoe UI,Tahoma,Arial,sans-serif}*{box-sizing:border-box}html{background:var(--canvas)}body{background:var(--canvas);min-width:320px;color:var(--ink);margin:0;line-height:1.55;overflow-x:hidden}button,input,select{font:inherit}.app-icon{flex:none;width:1.05em;height:1.05em;display:block}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:inherit}:focus-visible{outline-offset:3px;outline:3px solid #7aa7ff}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:30;background:var(--surface);border-radius:8px;padding:.6rem .9rem;position:fixed;top:-5rem;right:1rem;box-shadow:0 5px 20px #102a4333}.skip-link:focus-visible{top:1rem}.app-shell{grid-template-columns:252px minmax(0,1fr);min-height:100dvh;display:grid}.app-workspace{flex-direction:column;min-width:0;display:flex}.sidebar{background:var(--navy);color:#dceafa;flex-direction:column;height:100dvh;padding:18px 12px 14px;transition:width .2s,padding .2s;display:flex;position:sticky;top:0;overflow:hidden}.brand{border-bottom:1px solid #dceafa24;justify-content:space-between;align-items:flex-start;gap:10px;min-height:71px;padding:4px 10px 17px;display:flex}.brand h1{color:#fff;letter-spacing:-.03em;margin:0;font-size:1.25rem}.brand p{color:#a8c0db;margin:2px 0 0;font-size:.73rem}.sidebar-toggle{color:#e6f0fc;cursor:pointer;background:0 0;border:1px solid #355675;border-radius:9px;flex:none;place-items:center;width:36px;height:36px;padding:0;transition:background-color .2s,border-color .2s;display:grid}.sidebar-toggle:hover{background:#214869;border-color:#82b3e8}.menu-toggle-icon{width:20px;height:20px}.menu-line{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;transform-box:fill-box;transform-origin:50%;transition:transform .22s,opacity .16s}.side-nav{gap:4px;padding-top:16px;display:grid}.nav-item{color:#c6d7e9;border-radius:8px;align-items:center;gap:10px;min-width:0;height:42px;padding:0 11px;font-size:.86rem;font-weight:650;text-decoration:none;transition:background-color .18s,color .18s;display:flex}.nav-item:hover{color:#fff;background:#1c4569}.nav-item.is-active{color:#fff;background:#285580;box-shadow:inset -3px 0 #8db9ff}.nav-icon{color:#9ec1e6;border-radius:7px;flex:none;place-items:center;width:24px;height:24px;font-size:1rem;display:grid}.nav-icon .app-icon{width:17px;height:17px}.nav-item.is-active .nav-icon{color:#fff;background:#3970a4}.profile-row{border-top:1px solid #dceafa24;align-items:center;gap:6px;margin-top:auto;padding:14px 4px 0;display:flex}.profile{min-width:0;color:inherit;border-radius:9px;align-items:center;gap:10px;padding:7px 5px;text-decoration:none;transition:background-color .18s;display:flex}.profile:hover{background:#1c4569}.sidebar-logout{color:#ff6478;cursor:pointer;background:#3b1d28;border:1px solid #9d3447;border-radius:9px;place-items:center;width:36px;height:36px;padding:0;transition:background-color .18s,border-color .18s,transform .18s;display:grid}.sidebar-logout:hover{background:#57202e;border-color:#ff7183;transform:translate(-2px)}.sidebar-logout svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.avatar,.account-avatar{color:#fff;background:#2d669d;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.profile-copy{min-width:0}.profile-copy strong,.profile-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.profile-copy strong{color:#fff;font-size:.8rem}.profile-copy small{color:#a8c0db;font-size:.7rem}.sidebar.is-collapsed{width:72px;padding-inline:12px}.sidebar.is-collapsed .brand-copy,.sidebar.is-collapsed .nav-label,.sidebar.is-collapsed .profile-copy{display:none}.sidebar.is-collapsed .nav-item{justify-content:center;padding:0}.sidebar.is-collapsed .profile{justify-content:center}.global-header{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:20px;min-height:70px;padding:12px clamp(18px,4vw,48px);display:flex}.global-search{background:#fbfdff;border:1px solid #cbd8e6;border-radius:9px;align-items:center;gap:8px;width:min(420px,55vw);height:40px;padding:0 12px;display:flex}.global-search:focus-within{border-color:#6590ec;box-shadow:0 0 0 3px #5284ee24}.global-search span,.global-search .app-icon{color:var(--ink-soft)}.global-search .app-icon{width:16px;height:16px}.global-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.global-search input::placeholder{color:#8091a6}.header-context{text-align:right}.header-context span,.header-context strong{display:block}.header-context span{color:var(--muted);font-size:.7rem}.header-context strong{font-size:.84rem}.main-content{width:100%;padding:clamp(24px,4vw,44px) clamp(16px,4vw,48px) 44px}.flash-message{color:#0b744a;background:#ecfbf4;border:1px solid #a7e3cb;border-radius:10px;width:min(1240px,100%);margin:0 auto 16px;padding:12px 16px;font-weight:700}.screen{width:min(1240px,100%);margin:0 auto;display:block}.app-footer{border-top:1px solid var(--line);background:var(--surface);min-height:50px;color:var(--muted);text-align:center;margin-top:auto;padding:14px clamp(16px,4vw,48px);font-size:.72rem}.page-header,.business-page-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:24px;padding-bottom:17px;display:flex}.page-header h1,.business-page-head h1{color:var(--ink);letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(1.6rem,3vw,2.25rem);line-height:1.18}.page-header p,.business-page-head p:not(.eyebrow){color:var(--muted);margin:6px 0 0;font-size:.86rem}.eyebrow{color:var(--blue);margin:0;font-size:.72rem;font-weight:750}.page-actions{flex-wrap:wrap;gap:10px;display:flex}.primary-button,.outline-button,.chip{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:0 15px;font-size:.84rem;font-weight:700;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.primary-button{border:1px solid var(--blue);background:var(--blue);color:#fff}.primary-button:hover{background:#1d4ed8;border-color:#1d4ed8}.outline-button{color:var(--ink);background:#fff;border:1px solid #bdcde0}.outline-button:hover{background:#f7faff;border-color:#7599cb}.chip{min-height:36px;color:var(--ink-soft);background:#fff;border:1px solid #cbd8e6}.chip:hover{background:#f7faff;border-color:#7599cb}.chip-blue{background:var(--blue-soft);color:#245dcc;border-color:#c5d7ff}.chip-warn{background:var(--amber-soft);color:var(--amber);border-color:#f3d9a9}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0}.panel-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.panel-heading h2,.panel>h2{color:var(--ink);margin:0;font-size:1.05rem}.text-link{color:var(--blue);font-size:.8rem;font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}.muted{color:var(--muted)}.cash-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.cash-card{background:var(--surface);border:1px solid #e0e8f1;border-radius:13px;min-width:0;padding:18px}.cash-card>span{color:var(--muted);font-size:.78rem}.cash-card strong{color:var(--ink);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:10px;font-size:1.5rem;display:block}.cash-card strong small{font-size:.72rem}.cash-card p{color:var(--muted);margin:7px 0 0;font-size:.72rem}.cash-card-primary{background:var(--navy);border-color:var(--navy)}.cash-card-primary>span,.cash-card-primary strong{color:#fff}.cash-card-primary p{color:#bdd1e7}.warning-text{color:var(--amber)!important}.dashboard-columns{grid-template-columns:minmax(0,1.55fr) minmax(275px,.9fr);gap:18px;display:grid}.recent-panel,.subjects-panel{padding:20px}.table-wrap{border:1px solid #e0e8f1;border-radius:9px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:620px;font-size:.82rem}th,td{text-align:right;white-space:nowrap;border-bottom:1px solid #e7edf4;padding:12px 13px}th{color:var(--ink-soft);background:#f8fafd;font-size:.72rem}tbody tr:last-child td{border-bottom:0}.strong{color:var(--ink);font-weight:700}.status{border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:.7rem;font-weight:700;display:inline-flex}.status.paid{background:var(--green-soft);color:var(--green)}.status.partial{background:var(--amber-soft);color:var(--amber)}.amount-ok{color:var(--green);font-weight:750}.amount-due{color:var(--amber);font-weight:750}.progress-row{grid-template-columns:118px minmax(0,1fr);align-items:center;gap:12px;margin-top:16px;display:grid}.subject-label{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.subject-label strong{font-size:.82rem}.subject-label span{color:var(--muted);font-size:.7rem}.track{direction:ltr;background:#e9eff5;border-radius:99px;height:8px;overflow:hidden}.bar{border-radius:inherit;height:100%;display:block}.bar.blue{background:#3974e6}.bar.green{background:#12a879}.bar.purple{background:#7961de}.bar.orange{background:#e39a22}.filters,.inventory-filter,.report-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;padding:14px;display:flex}.filters input[type=search]{width:min(100%,330px);min-height:40px;color:var(--ink);background:#fff;border:1px solid #cbd8e6;border-radius:8px;padding:0 12px}.filters input[type=search]:focus-visible{border-color:#6590ec;outline:0;box-shadow:0 0 0 3px #5284ee24}.student-table{padding:18px}.student-avatar{background:var(--blue-soft);width:30px;height:30px;color:var(--blue);vertical-align:middle;border-radius:9px;place-items:center;margin-left:8px;font-weight:750;display:inline-grid}.filter-context{color:var(--ink-soft);margin:-10px 0 16px;font-size:.8rem}.filter-context a{color:var(--blue);font-weight:700}.student-link{color:var(--ink);font-weight:700;text-decoration:none}.student-link:hover{color:var(--blue);text-decoration:underline}.student-profile-panel{max-width:920px;padding:22px}.student-contact{align-items:center;gap:12px;margin-bottom:20px;display:flex}.student-contact h2,.student-contact p{margin:0}.student-contact p{color:var(--muted);margin-top:3px;font-size:.85rem}.clickable-row{cursor:pointer}.clickable-row:hover td,.clickable-row:focus td{background:#f3f7fd}.row-action{color:var(--blue);background:#fff;border:1px solid #cbd8e6;text-decoration:none}.icon-button .app-icon{width:16px;height:16px}.table-subline{color:var(--muted);margin-top:2px;font-weight:500;display:block}.table-actions{align-items:center;gap:6px;display:flex}.record-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.record-identity{align-items:center;gap:14px;display:flex}.record-avatar{background:var(--navy);color:#fff;border-radius:17px;place-items:center;width:58px;height:58px;font-size:1.35rem;font-weight:800;display:grid}.record-head h1{letter-spacing:-.04em;margin:0;font-size:clamp(1.7rem,3vw,2.4rem)}.record-head p:not(.eyebrow){color:var(--muted);margin:3px 0 0;font-size:.84rem}.ledger-strip{background:#f7fbf9;border:1px solid #dbe7e2;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px;display:grid;overflow:hidden}.ledger-strip>div{border-inline-start:1px solid #dbe7e2;padding:15px 20px}.ledger-strip>div:first-child{border-inline-start:0}.ledger-strip span{color:var(--muted);font-size:.75rem;display:block}.ledger-strip strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-top:5px;font-size:1.2rem;display:block}.record-panel{padding:20px}.teacher-wallet{grid-template-columns:repeat(4,minmax(0,1fr))}.teacher-link-card{color:inherit;text-decoration:none;display:block}.teacher-link-card:hover{background:#fbfdff;border-color:#9cbae3}dialog{max-width:min(620px,100vw - 28px);color:var(--ink);overscroll-behavior:contain;border:0;border-radius:14px;box-shadow:0 24px 70px #102a4345}dialog::backdrop{background:#102a437a}.form-dialog,.confirm-dialog{width:min(620px,100vw - 28px);padding:24px}.confirm-dialog{width:min(440px,100vw - 28px)}.confirm-dialog h2{margin:0 0 7px}.confirm-dialog p{color:var(--muted);margin:0 0 16px;font-size:.84rem}.form-dialog form{gap:16px;display:grid}.form-dialog textarea{resize:vertical;width:100%;color:var(--ink);border:1px solid #cbd8e6;border-radius:8px;padding:10px 11px}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-top:16px;display:flex}.danger-button-text{color:#fff;min-height:40px;font:inherit;cursor:pointer;background:#b4233a;border:1px solid #d9586b;border-radius:8px;padding:0 14px;font-weight:700}.success-dialog{text-align:center;width:min(500px,100vw - 28px);padding:30px}.success-dialog h2{margin:11px 0 6px}.success-dialog p{color:var(--muted);margin:0}.success-mark{background:var(--green-soft);width:46px;height:46px;color:var(--green);border-radius:50%;place-items:center;margin:auto;font-size:1.4rem;font-weight:800;display:grid}.success-dialog .dialog-actions{justify-content:center}.subscription-form,.account-form{max-width:980px;padding:clamp(18px,3vw,28px)}.subscription-form h2,.account-form h2{margin:0 0 16px;font-size:1.05rem}.subscription-form hr,.account-form hr{border:0;border-top:1px solid var(--line);margin:24px 0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-field{min-width:0}.form-field label,.payment-row>div>label{color:var(--ink-soft);margin-bottom:6px;font-size:.76rem;font-weight:700;display:block}.form-field input,select{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #cbd8e6;border-radius:8px;padding:0 11px}.form-field input[readonly]{color:var(--ink-soft);background:#f8fafc}.payment-row{align-items:end;margin-top:16px}.payment-options{flex-wrap:wrap;gap:8px;display:flex}.payment-option{min-height:38px;color:var(--ink-soft);background:#fff;border:1px solid #cbd8e6;border-radius:8px;padding:0 12px}.payment-option.is-selected{background:var(--blue-soft);color:var(--blue);border-color:#a9c6ff}.payment-summary{background:#f6faf8;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;margin-top:22px;padding:14px;display:flex}.payment-summary span{color:var(--muted);font-size:.75rem;display:block}.payment-summary strong{color:var(--green);font-size:1.3rem}.payment-summary b{color:var(--green);font-size:.82rem}.subscription-section-head{justify-content:space-between;align-items:end;gap:16px;display:flex}.subscription-section-head p{color:var(--muted);margin:-10px 0 0;font-size:.78rem}.subscription-rows{gap:12px;margin-top:16px;display:grid}.subject-entry{background:#fbfdff;border:1px solid #dbe6f1;border-radius:10px;padding:16px}.subject-entry-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.subject-entry-head strong{color:var(--ink);font-size:.9rem}.danger-button{color:#b4233a;background:#fff5f6;border:1px solid #f3bbc4;font-size:1.25rem;line-height:1}.danger-button:hover{background:#ffe8eb;border-color:#e87082}.outline-button:disabled{cursor:not-allowed;color:#9aa9b8;background:#f5f7fa;border-color:#d7e0ea}.student-lookup{border-radius:8px;margin-top:12px;padding:10px 12px;font-size:.8rem}.student-lookup.is-found{color:#0b744a;background:#ecfbf4;border:1px solid #a8dfc6}.student-lookup.is-new{color:#355675;background:#f4f8fd;border:1px solid #c8d9ef}.student-lookup.is-error{color:#9a580d;background:#fff6eb;border:1px solid #f1c6a1}.collection-form{max-width:860px;padding:clamp(18px,3vw,28px)}.collection-note{background:var(--amber-soft);border-right:3px solid #e3a12a;border-radius:8px;gap:3px;margin-top:20px;padding:13px;display:grid}.collection-note strong{color:#92570a;font-size:.8rem}.collection-note span{color:var(--ink-soft);font-size:.78rem}.teacher-payout-preview{background:#f4faf7;border:1px solid #cfe4da;border-radius:9px;align-items:center;gap:12px;margin-top:18px;padding:13px 15px;display:flex}.teacher-payout-preview span,.teacher-payout-preview small{color:var(--muted);font-size:.78rem}.teacher-payout-preview strong{color:var(--green);font-size:1.1rem}.teacher-payout-preview a{color:var(--blue);margin-inline-start:auto;font-size:.8rem;font-weight:700}.discount-inline{grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:24px;margin-top:18px;padding:20px;display:grid}.discount-inline h2{margin:0;font-size:1.05rem}.discount-inline p{color:var(--muted);margin:5px 0 0;font-size:.8rem}.inventory-list{gap:12px;display:grid}.inventory-card{grid-template-columns:5px minmax(170px,1.3fr) minmax(120px,.7fr) minmax(150px,.85fr) minmax(150px,.85fr) minmax(112px,max-content);align-items:center;gap:18px;padding:16px;display:grid}.accent{border-radius:99px;width:5px;height:46px}.accent.blue{background:#3974e6}.accent.green{background:#12a879}.accent.purple{background:#7961de}.accent.orange{background:#e39a22}.material-title h2{margin:0;font-size:1rem}.material-title span,.inventory-stat span{color:var(--muted);margin-top:4px;font-size:.75rem;display:block}.inventory-stat strong{font-variant-numeric:tabular-nums;margin-top:3px;font-size:1.05rem;display:block}.inventory-students-link{white-space:nowrap;min-width:112px}.entity-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.entity-card{min-width:0;padding:20px}.entity-card>strong{color:var(--ink);font-variant-numeric:tabular-nums;margin:8px 0;font-size:1.3rem;display:block}.entity-card p{min-height:2.7em;color:var(--muted);margin:0 0 15px;font-size:.8rem}.entity-label{color:var(--ink-soft);font-size:.75rem;font-weight:700}.structured-list{margin-top:18px;padding:20px}.entity-avatar{background:var(--blue-soft);width:38px;height:38px;color:var(--blue);border-radius:11px;place-items:center;margin-bottom:12px;font-weight:800;display:grid}.teacher-card h2{margin:0;font-size:1rem}.teacher-finance{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:8px;margin:14px 0;padding:10px 0;display:flex}.teacher-finance span{color:var(--muted);font-size:.73rem}.teacher-finance strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1rem}.entity-card-topline{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.entity-actions{align-items:center;gap:6px;display:flex}.entity-card h2 a{color:inherit;text-decoration:none}.entity-card h2 a:hover{color:var(--blue)}.teacher-card.is-inactive{opacity:.82;background:#fafcff;border-style:dashed}.icon-button{cursor:pointer;border-radius:8px;place-items:center;width:34px;height:34px;padding:0;display:inline-grid}.empty-state{color:var(--muted);padding:18px}.reports-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.report-card{padding:18px}.report-card span,.report-card small{color:var(--muted);font-size:.75rem;display:block}.report-card strong{color:var(--ink);font-variant-numeric:tabular-nums;margin:10px 0 5px;font-size:1.45rem;display:block}.reports-layout{grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);gap:18px;margin-top:18px;display:grid}.collection-report,.balance-report{padding:20px}.report-bar{grid-template-columns:100px minmax(0,1fr) 90px;align-items:center;gap:12px;margin-top:16px;font-size:.8rem;display:grid}.report-bar>div{direction:ltr;background:#e9eff5;border-radius:99px;height:8px;overflow:hidden}.report-bar strong{text-align:left;font-variant-numeric:tabular-nums}.balance-report{flex-direction:column;align-items:flex-start;display:flex}.balance-report p{color:var(--muted)}.balance-report>strong{margin:4px 0 22px;font-size:1.5rem}.balance-report .outline-button{margin-top:auto}.account-heading{align-items:center;gap:12px;margin-bottom:22px;display:flex}.account-avatar{background:var(--navy);width:44px;height:44px}.account-heading h2,.account-heading p{margin:0}.account-heading p{color:var(--muted);font-size:.8rem}.settings-options{gap:11px;display:grid}.settings-options label{color:var(--ink-soft);align-items:center;gap:9px;font-size:.85rem;display:flex}.form-save{margin-top:22px}.form-message{color:var(--amber);margin-top:10px;display:block}.permission-head{margin-bottom:14px}.permission-head h2,.permission-head p{margin:0}.permission-head p{color:var(--muted);margin-top:4px;font-size:.78rem}.permission-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.permission-option{min-width:0;min-height:42px;color:var(--ink-soft);cursor:pointer;border:1px solid #d8e3ee;border-radius:8px;align-items:center;gap:8px;padding:9px 11px;font-size:.78rem;display:flex}.permission-option:has(input:checked){background:var(--blue-soft);color:var(--blue);border-color:#a8c5ff}.permission-option:has(input:disabled){cursor:not-allowed;opacity:.55}.academic-forms{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0;display:grid}.compact-form{max-width:none}.checkbox-line{color:var(--ink-soft);align-items:center;gap:8px;margin-top:16px;font-size:.82rem;display:flex}.login-page{background:linear-gradient(135deg,#f1f6fb,#e4edf8);place-items:center;min-height:100dvh;padding:22px;display:grid}.login-card{background:#fff;border:1px solid #d6e1ee;border-radius:16px;width:min(430px,100%);overflow:hidden;box-shadow:0 16px 46px #102a431f}.login-brand{background:var(--navy);color:#fff;padding:28px 30px 23px}.login-mark{background:#3970a4;border-radius:10px;place-items:center;width:38px;height:38px;margin-bottom:15px;font-weight:800;display:grid}.login-brand h1,.login-brand p{margin:0}.login-brand p{color:#bdd1e7;margin-top:3px;font-size:.8rem}.login-form{padding:26px 30px 30px;display:grid}.login-form h2{margin:0;font-size:1.25rem}.login-form>p{color:var(--muted);margin:6px 0 18px;font-size:.84rem}.login-form>label{color:var(--ink-soft);margin:13px 0 6px;font-size:.78rem;font-weight:700}.login-form input{border:1px solid #cbd8e6;border-radius:8px;min-height:43px;padding:0 11px}.login-submit{width:100%;margin-top:20px}.field-group>label{color:var(--ink-soft);margin-bottom:6px;font-size:.76rem;font-weight:700;display:block}.field-group select,.payment-row select{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #cbd8e6;border-radius:8px;padding:0 11px}.field-hint{min-height:42px;color:var(--muted);background:#f8fafd;border:1px solid #e0e8f1;border-radius:8px;margin:0;padding:10px 11px;font-size:.78rem}@media (width<=1080px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.inventory-card{grid-template-columns:5px minmax(150px,1fr) repeat(3,minmax(110px,.7fr)) minmax(112px,max-content);gap:12px}.cash-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns,.reports-layout{grid-template-columns:1fr}}@media (width<=760px){.app-shell{display:block}.sidebar{width:100%;height:auto;min-height:0;padding:12px 14px;position:static}.sidebar.is-collapsed{width:100%}.sidebar.is-collapsed .brand-copy,.sidebar.is-collapsed .nav-label,.sidebar.is-collapsed .profile-copy{display:block}.sidebar.is-collapsed .nav-item{justify-content:flex-start;padding:0 10px}.sidebar.is-collapsed .profile{justify-content:flex-start}.brand{min-height:52px;padding-bottom:10px}.side-nav{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:10px}.nav-item{justify-content:center;gap:5px;padding:0 6px;font-size:.7rem}.nav-icon{width:19px;height:19px;font-size:.8rem}.profile-row{margin-top:10px}.global-header{min-height:auto}.header-context{display:none}.global-search{width:100%}.page-header,.business-page-head,.record-head{flex-direction:column;align-items:stretch;gap:14px}.page-actions{grid-template-columns:1fr 1fr;display:grid}.form-grid,.academic-forms{grid-template-columns:1fr}.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-card{grid-template-columns:5px minmax(0,1fr) auto}.inventory-card .inventory-stat{grid-column:2}.inventory-card .outline-button{grid-column:2/-1}.reports-grid,.entity-grid,.ledger-strip,.teacher-wallet{grid-template-columns:1fr}.ledger-strip>div{border-inline-start:0;border-top:1px solid #dbe7e2}.ledger-strip>div:first-child{border-top:0}}@media (width<=480px){.main-content{padding:20px 14px 32px}.global-header{padding:10px 14px}.side-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-item{justify-content:flex-start;padding:0 9px}.nav-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cash-overview{grid-template-columns:1fr}.recent-panel,.subjects-panel,.student-table,.subscription-form,.account-form,.collection-report,.balance-report{padding:16px}.filters,.inventory-filter,.report-filters{align-items:stretch}.filters input[type=search]{width:100%}.filters .chip{flex:1}.progress-row{grid-template-columns:1fr;gap:6px}.report-bar{grid-template-columns:78px minmax(0,1fr) 75px;gap:8px}.login-page{padding:14px}.login-brand,.login-form{padding-inline:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
