: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:clamp(232px,16vw,280px) minmax(0,1fr);min-height:100dvh;display:grid}.app-shell.is-sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.app-workspace{flex-direction:column;min-width:0;display:flex}.sidebar{background:var(--navy);color:#dceafa;flex-direction:column;width:100%;height:100dvh;padding:18px 12px 14px;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}.sidebar[data-transitioning=true] .sidebar-toggle{pointer-events:none}.sidebar.is-collapsed .menu-line-top{transform:translateY(5px)rotate(45deg)}.sidebar.is-collapsed .menu-line-middle{opacity:0;transform:scaleX(.3)}.sidebar.is-collapsed .menu-line-bottom{transform:translateY(-5px)rotate(-45deg)}.sidebar.is-toggling .nav-icon,.sidebar.is-toggling .avatar,.sidebar.is-toggling .sidebar-logout{transition:transform .22s,opacity .18s;transform:scale(.9)}.side-nav{overscroll-behavior:contain;scrollbar-width:thin;flex:auto;align-content:start;gap:4px;min-height:0;padding-top:16px;display:grid;overflow-y:auto}.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;flex:none;align-items:center;gap:6px;margin-top:14px;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}.profile-row .profile{flex:auto}.sidebar-logout-form{margin-inline-start:auto}.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{padding-inline:12px}.sidebar.is-collapsed .brand{justify-content:center}.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-row{flex-direction:column;justify-content:center;gap:10px;padding-inline:0}.sidebar.is-collapsed .profile{flex:none;justify-content:center;padding:4px}.sidebar.is-collapsed .sidebar-logout-form{margin-inline-start:0}.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,3vw,48px) clamp(16px,3vw,56px) 44px}.flash-message{color:#0b744a;background:#ecfbf4;border:1px solid #a7e3cb;border-radius:10px;width:min(1520px,100%);margin:0 auto 16px;padding:12px 16px;font-weight:700}.screen{width:min(1520px,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}.dashboard-card-link{color:inherit;text-decoration:none;display:block}.dashboard-card-link p{justify-content:space-between;align-items:center;gap:8px;display:flex}.dashboard-card-link p b{color:var(--blue);white-space:nowrap;font-size:.68rem;font-weight:800}.dashboard-card-link:focus-visible{box-shadow:0 0 0 4px var(--blue-glow);outline:0}.cash-card-primary.dashboard-card-link p b{color:#f7d27a}.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}.report-filters{align-items:end}.report-date-range{min-width:220px}.report-filters>.primary-button,.report-filters>.outline-button{margin-bottom:0}.report-export-actions{align-items:center;gap:8px;margin-inline-start:auto;display:flex}.report-export-actions .outline-button{white-space:nowrap}.report-share-panel{width:min(100%,1120px);margin-inline:auto;padding:clamp(20px,3vw,34px)}.report-share-heading{border-bottom:1px solid var(--line);align-items:flex-start;padding-bottom:18px}.report-share-heading h2{font-size:clamp(1.15rem,2vw,1.45rem)}.report-share-actions{flex-wrap:wrap;gap:8px;display:flex}.report-share-summary{background:#cfe4d9;border:1px solid #cfe4d9;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:20px 0 28px;display:grid;overflow:hidden}.report-share-summary span{min-height:56px;color:var(--muted);background:#f2fbf6;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.recipient-picker{border:0;margin:0;padding:0}.recipient-picker legend{color:var(--ink);margin-bottom:5px;font-size:1.16rem;font-weight:800}.recipient-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.recipient-card{cursor:pointer;touch-action:manipulation;border:1px solid #d4e0ed;border-radius:12px;align-items:center;gap:12px;min-height:76px;padding:14px;transition:border-color .16s,box-shadow .16s,background-color .16s;display:flex}.recipient-card:hover{background:#f8fbff;border-color:#9dbce8}.recipient-card:has(input:checked){border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 3px #2f6df61f}.recipient-card:focus-within{outline:3px solid var(--blue-glow);outline-offset:2px}.recipient-card input[type=radio]{block-size:18px;inline-size:18px;accent-color:var(--blue);flex:none}.recipient-card b,.recipient-card small{overflow-wrap:anywhere;min-width:0;display:block}.recipient-card small{color:var(--muted);margin-top:4px}.recipient-card input[type=hidden]{display:none}.recipient-card-custom{background:#fbfcfe;border-style:dashed}.custom-recipient-phone{background:#f8fbff;border:1px solid #cbdcf2;border-radius:12px;width:min(100%,450px);margin-top:16px;padding:14px}.custom-recipient-phone label{color:var(--ink-soft);margin-bottom:6px;font-size:.78rem;font-weight:700;display:block}.custom-recipient-phone input{width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #b9cce5;border-radius:8px;padding:0 12px}.custom-recipient-phone input:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow);outline:0}.custom-recipient-phone p{color:var(--muted);margin:7px 0 0;font-size:.75rem}.report-document-note{border-inline-start:4px solid var(--blue);background:#f4f8fe;border-radius:8px;gap:4px;margin-top:24px;padding:14px 16px;display:grid}.report-document-note strong{color:var(--ink);font-size:.82rem}.report-document-note span{color:var(--muted);font-size:.78rem}.table-filter-bar{background:#f9fbfe;border:1px solid #dbe6f1;border-radius:10px;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 10px;padding:10px;display:flex}.table-filter-bar input,.table-filter-bar select{min-height:38px;color:var(--ink);font:inherit;background:#fff;border:1px solid #cbd8e6;border-radius:8px;padding:0 10px;font-size:.8rem}.table-filter-bar input{flex:220px;min-width:0}.table-filter-bar select{flex:0 180px;min-width:130px}.table-filter-bar select:disabled{cursor:not-allowed;color:var(--muted);background:#f0f4f8}.table-filter-bar input:focus-visible,.table-filter-bar select:focus-visible{border-color:var(--blue-bright);box-shadow:0 0 0 3px var(--blue-glow);outline:0}.table-filter-reset{min-height:38px;padding-inline:11px;font-size:.76rem}.table-filter-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-inline-start:auto;font-size:.75rem}.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:100%;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}.dialog-heading{align-items:center;margin-bottom:2px}.dialog-close{color:#4c6681;background:#f8fbff;border:1px solid #d4dfeb}.dialog-close:hover{color:#174d7a;background:#edf5ff;border-color:#9db5cf}.dialog-close .app-icon{width:18px;height:18px}.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}.subscription-grade-field small{color:var(--muted);margin-top:6px;font-size:.74rem;line-height:1.4;display:block}.collection-form{max-width:none;padding:clamp(18px,3vw,28px)}.collection-destination{min-height:1.3rem;color:var(--ink-soft);margin:7px 0 0;font-size:.76rem;line-height:1.45}.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}.table-filter-bar{align-items:stretch}.table-filter-bar input,.table-filter-bar select,.table-filter-reset{flex:100%;width:100%}.table-filter-count{text-align:center;width:100%;margin-inline-start:0}.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 (width<=760px){.report-share-heading{flex-direction:column;align-items:stretch}.report-share-actions{width:100%}.report-share-actions .outline-button{text-align:center;flex:1}.recipient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.report-export-actions{flex:100%;margin-inline-start:0}.report-export-actions .outline-button{text-align:center;flex:1}.recipient-grid,.report-share-summary{grid-template-columns:1fr}.report-share-panel{padding:18px}.report-share-summary{gap:1px}}@media (width>=1180px){.collection-form .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.app-shell.is-sidebar-collapsed{display:block}.sidebar.is-collapsed .profile-row{flex-direction:row;justify-content:flex-start;gap:6px;padding-inline:4px}.sidebar.is-collapsed .sidebar-logout-form{margin-inline-start:auto}.report-date-range,.report-filters .field-group{flex:230px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--navy-deep:#0b2540;--blue-bright:#2f6df6;--blue-glow:#2f6df638;--mint:#0b9b73;--mint-pale:#e8faf4;--gold:#e59a20;--danger:#c6384b}body{background:radial-gradient(circle at 12% -8%, #2f6df614, transparent 28rem), radial-gradient(circle at 92% 12%, #0b9b730e, transparent 24rem), var(--canvas)}.sidebar{background:linear-gradient(165deg, var(--navy-deep) 0%, #123b61 58%, #0c2b48 100%);box-shadow:-10px 0 28px #0b254017}.brand{position:relative}.brand:after{background:linear-gradient(90deg, var(--gold), #ffd782);content:"";border-radius:999px;width:54px;height:2px;position:absolute;bottom:-1px;right:10px}.nav-item{border:1px solid #0000;position:relative}.nav-item:hover{background:#4f8ecd2e;border-color:#aed2f81f}.nav-item.is-active{background:linear-gradient(90deg,#3674b5b8,#23568ec7);box-shadow:inset -3px 0 #a8ceff,0 8px 18px #051d352e}.nav-item.is-active:before{content:"";background:#f5c768;border-radius:99px;width:3px;height:18px;position:absolute;right:-13px}.global-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb}.global-search{transition:border-color .18s,box-shadow .18s,background-color .18s}.global-search:hover{background:#fff;border-color:#9eb9e8}.screen{animation:.38s cubic-bezier(.2,.8,.2,1) both screen-arrive}.panel,.cash-card,.entity-card,.inventory-card{box-shadow:0 1px #102a4306,0 10px 24px #20486f09}.panel{border-color:#dce6f1}.cash-card{transition:transform .18s,border-color .18s,box-shadow .18s;position:relative;overflow:hidden}.cash-card:after{background:var(--blue-bright);content:"";opacity:.72;height:3px;position:absolute;inset:auto 0 0}.cash-card:nth-child(2):after{background:var(--mint)}.cash-card:nth-child(3):after{background:var(--gold)}.cash-card:nth-child(4):after{background:#7357dc}.cash-card-primary:after{background:#f3c36a}@media (hover:hover){.cash-card:hover,.entity-card:hover,.inventory-card:hover{border-color:#b8ceec;transform:translateY(-3px);box-shadow:0 14px 28px #20486f17}}.primary-button,.outline-button,.chip,.icon-button,.sidebar-logout,.danger-button-text{transition:transform .16s,background-color .18s,border-color .18s,color .18s,box-shadow .18s}.primary-button{border-color:var(--blue-bright);background:linear-gradient(135deg,#397bf7,#245ee8);box-shadow:0 6px 14px #2563eb2e}.primary-button:hover{background:linear-gradient(135deg,#4786ff,#1e57df);border-color:#2058db;box-shadow:0 9px 18px #2563eb42}.primary-button:active,.outline-button:active,.chip:active,.icon-button:active,.sidebar-logout:active,.danger-button-text:active{transform:translateY(1px)scale(.98)}.outline-button:hover,.chip:hover{box-shadow:0 5px 12px #1f487014}.form-field input,.field-group select,.payment-row select,.login-form input,.form-dialog textarea{transition:border-color .18s,box-shadow .18s,background-color .18s}.form-field input:focus-visible,.field-group select:focus-visible,.payment-row select:focus-visible,.login-form input:focus-visible,.form-dialog textarea:focus-visible{border-color:var(--blue-bright);box-shadow:0 0 0 4px var(--blue-glow);background:#fff;outline:0}.form-field:has(input:user-invalid) input{border-color:#dc6a79}.login-form input:user-invalid{border-color:#dc6a79}.flash-message{border-color:#9cddc5;border-inline-start:4px solid var(--mint);color:#076445;background:linear-gradient(90deg,#effcf7,#fbfffd);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 14px;animation:.32s cubic-bezier(.2,.8,.2,1) both notice-enter;display:grid;box-shadow:0 12px 26px #0578571a}.flash-message.is-dismissing{animation:.22s ease-in both notice-leave}.flash-message-icon{background:var(--mint);color:#fff;border-radius:50%;place-items:center;width:25px;height:25px;font-size:.78rem;font-weight:900;display:grid}.flash-message-copy{min-width:0}.flash-message-close{color:#16775a;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:30px;height:30px;font-size:1.25rem;line-height:1;display:grid}.flash-message-close:hover{background:#0b9b731a}.page-loader{z-index:80;color:#fff;opacity:0;pointer-events:none;place-content:center;justify-items:center;gap:10px;padding:24px;font-size:.86rem;font-weight:750;transition:opacity .16s;display:grid;position:fixed;inset:0}.page-loader:before{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);content:"";background:#081e342e;position:absolute;inset:0}.page-loader>*{position:relative}.page-loader-mark{background:#0b2540f0;border:1px solid #ffffff42;border-radius:18px;align-items:end;gap:5px;min-width:62px;min-height:58px;padding:17px 15px;display:inline-flex;box-shadow:0 18px 42px #07182945}.page-loader-mark i{background:#b9d4ff;border-radius:99px;width:7px;height:18px;animation:.8s ease-in-out infinite loader-bars;display:block}.page-loader-mark i:nth-child(2){background:#f7c968;height:28px;animation-delay:.12s}.page-loader-mark i:nth-child(3){background:#8ce0c7;height:14px;animation-delay:.24s}body.is-page-loading .page-loader,body.is-submitting .page-loader{opacity:1}button.is-loading{cursor:progress;pointer-events:none}button.is-loading:before{content:"";border:2px solid;border-left-color:#0000;border-radius:50%;width:.86em;height:.86em;margin-inline-end:8px;animation:.7s linear infinite button-spin}.form-dialog,.confirm-dialog{position:relative}.dialog-submit-loader{z-index:5;border-radius:inherit;color:var(--ink);background:#fffffff0;place-content:center;justify-items:center;gap:10px;padding:24px;font-size:.86rem;font-weight:800;animation:.16s ease-out both dialog-loader-enter;display:grid;position:absolute;inset:0}.dialog-submit-loader-mark{background:#103455;border:1px solid #2f6df638;border-radius:17px;align-items:end;gap:5px;min-width:58px;min-height:54px;padding:15px 13px;display:inline-flex;box-shadow:0 14px 28px #102a4329}.dialog-submit-loader-mark i{background:#b9d4ff;border-radius:99px;width:7px;height:17px;animation:.8s ease-in-out infinite loader-bars;display:block}.dialog-submit-loader-mark i:nth-child(2){background:#f7c968;height:27px;animation-delay:.12s}.dialog-submit-loader-mark i:nth-child(3){background:#8ce0c7;height:13px;animation-delay:.24s}.form-dialog.is-submitting,.confirm-dialog.is-submitting{overflow:hidden}.form-dialog.is-submitting form,.confirm-dialog.is-submitting form{pointer-events:none}.form-message{border:1px solid #f2b2bb;border-inline-start:3px solid var(--danger);color:#a92538;background:#fff6f7;border-radius:8px;align-items:flex-start;gap:8px;margin-top:10px;padding:10px 12px;font-size:.82rem;font-weight:650;display:flex}.form-message:before{background:var(--danger);color:#fff;content:"!";border-radius:50%;flex:none;place-items:center;width:17px;height:17px;font-size:.7rem;font-weight:900;display:grid}.user-edit-dialog{width:min(720px,100vw - 28px);max-block-size:calc(100dvh - 28px);overflow-y:auto}.user-edit-section{background:#fbfdff;border:1px solid #dbe6f1;border-radius:12px;margin:2px 0 0;padding:16px}.user-edit-section legend{color:var(--ink);padding:0 5px;font-size:.95rem;font-weight:800}.user-edit-section>.muted{margin:-2px 0 13px;font-size:.78rem}.user-edit-section .permission-head{margin-bottom:13px}.user-edit-section .permission-head h3{color:var(--ink);margin:0;font-size:.95rem}.user-edit-section .permission-head p{margin:4px 0 0}.edit-user-permissions .permission-option{background:#fff}.edit-user-permissions .permission-option:has(input:checked){box-shadow:inset 0 0 0 1px #2f6df614}.edit-user-permissions .field-hint{margin:11px 0 0}.student-lookup{animation:.2s ease-out both lookup-enter}.student-lookup.is-found{border-inline-start:3px solid var(--mint)}.student-lookup.is-new{border-inline-start:3px solid var(--blue-bright)}.student-lookup.is-error{border-inline-start:3px solid var(--gold)}.student-lookup.is-found{justify-content:space-between;align-items:center;gap:14px;display:flex}.student-lookup.is-found>div{gap:2px;min-width:0;display:grid}.student-lookup.is-found strong{color:#087152;font-size:.82rem}.student-lookup.is-found span{color:#28705d;overflow-wrap:anywhere;font-size:.76rem;line-height:1.45}.student-lookup-profile-link{color:#087152;background:#fff;border:1px solid #8ccfb8;border-radius:8px;flex:none;justify-content:center;align-items:center;min-height:36px;padding:0 12px;font-size:.78rem;font-weight:800;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s,transform .16s;display:inline-flex}.student-lookup-profile-link:hover{color:#075a42;background:#f5fffa;border-color:#38a67f}.student-lookup-profile-link:active{transform:translateY(1px)}.student-lookup-profile-link:focus-visible{outline:0;box-shadow:0 0 0 3px #0b9b7338}.success-dialog{border:1px solid #cfe9dc;overflow:hidden}.success-mark{background:var(--mint-pale);position:relative}.success-mark:before{border-radius:inherit;content:"";border:1px solid #0b9b7338;position:absolute;inset:-8px}.success-dialog[open] .success-mark{animation:.35s cubic-bezier(.2,1.3,.4,1) 80ms both success-pop}.login-page{background:radial-gradient(circle at 12% 15%,#387bf729,#0000 25rem),radial-gradient(circle at 90% 88%,#0b9b731f,#0000 24rem),linear-gradient(135deg,#edf5ff,#f6faff 48%,#ecfbf6);width:100%;position:relative;overflow:hidden}.login-card{animation:.42s cubic-bezier(.2,.8,.2,1) both login-arrive;position:relative;box-shadow:0 24px 56px #102a4329}.login-brand{background:linear-gradient(145deg,#0a2947,#174d7a)}.login-mark{background:linear-gradient(145deg,#4d93d4,#2b68a0);box-shadow:0 8px 18px #051c3233}@keyframes screen-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes notice-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes notice-leave{to{opacity:0;transform:translateY(-6px)}}@keyframes lookup-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes success-pop{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes login-arrive{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes dialog-loader-enter{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes button-spin{to{transform:rotate(360deg)}}@keyframes loader-bars{50%{opacity:.72;transform:translateY(-7px)scaleY(.82)}}@media (width<=480px){.flash-message{align-items:start}.flash-message-close{margin-top:-3px}}.subscription-workflow{gap:clamp(22px,3vw,30px);max-width:min(1080px,100%);padding:clamp(20px,3vw,34px);display:grid}.subscription-workflow .subscription-step{min-width:0}.subscription-step-heading{align-items:flex-start;gap:11px;min-width:0;display:flex}.subscription-step-number{color:#fff;font-variant-numeric:tabular-nums;background:linear-gradient(145deg,#397bf7,#245ee8);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;margin-top:1px;font-size:.76rem;font-weight:800;display:grid;box-shadow:0 5px 12px #2563eb2e}.subscription-workflow h2{color:var(--ink);margin:0;font-size:1.05rem;line-height:1.35}.subscription-step-heading p{color:var(--muted);margin:3px 0 0;font-size:.8rem;line-height:1.55}.management-form{width:100%;padding:clamp(22px,3vw,34px)}.management-form-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.management-form-heading h2{color:var(--ink);margin:2px 0 0;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.35}.management-form-heading p:not(.eyebrow){max-width:62ch;color:var(--muted);margin:5px 0 0;font-size:.8rem;line-height:1.6}.management-form-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:18px;display:flex}.management-form-actions p{max-width:62ch;color:var(--muted);margin:0;font-size:.78rem}.management-form-actions .form-save{flex:none;margin-top:0}.settings-layout{grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:clamp(22px,3vw,36px);display:grid}.settings-section{min-width:0}.settings-preferences{border-inline-start:1px solid var(--line);padding-inline-start:clamp(22px,3vw,36px)}.settings-preferences .management-form-heading{margin-bottom:16px}.settings-options{gap:10px}.settings-options label{min-height:66px;color:var(--ink);cursor:pointer;background:#fbfdff;border:1px solid #dbe6f1;border-radius:10px;align-items:flex-start;gap:11px;padding:12px 13px;transition:border-color .18s,background-color .18s,box-shadow .18s}.settings-options label:hover{background:#f6faff;border-color:#a9c5eb}.settings-options label:has(input:checked){box-shadow:inset 3px 0 0 var(--mint);background:#f3fcf7;border-color:#a7dcca}.settings-options input{width:17px;height:17px;accent-color:var(--blue);flex:none;margin:3px 0 0}.settings-options span{gap:2px;min-width:0;display:grid}.settings-options strong{color:var(--ink);font-size:.82rem}.settings-options small{color:var(--muted);font-size:.74rem;line-height:1.45}.teachers-workspace{grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:18px;margin-bottom:18px;display:grid}.teacher-create-form{align-content:start;display:grid}.teachers-guide{background:linear-gradient(135deg,#f9fcff,#f0f7ff);border-color:#cfe0f4;align-content:start;gap:15px;padding:clamp(20px,2.5vw,30px);display:grid}.teachers-guide-mark{background:var(--navy);color:#dcecff;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.teachers-guide-mark .app-icon{width:21px;height:21px}.teachers-guide h2{color:var(--ink);margin:2px 0 0;font-size:1.1rem}.teachers-guide p:not(.eyebrow){color:var(--muted);margin:5px 0 0;font-size:.8rem;line-height:1.6}.teachers-guide .outline-button{width:max-content}.teachers-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.teachers-grid .empty-state{text-align:center;border-style:dashed;grid-column:1/-1;place-items:center;min-height:132px;display:grid}.users-create-layout{grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:clamp(22px,3vw,36px);display:grid}.users-create-layout>section{min-width:0}.permission-panel{border-inline-start:1px solid var(--line);padding-inline-start:clamp(22px,3vw,36px)}.permission-panel .permission-head{margin-bottom:16px}.permission-panel .permission-head h2{color:var(--ink);margin:2px 0 0;font-size:1.1rem}.permission-panel .permission-head p:not(.eyebrow){color:var(--muted);margin:5px 0 0;font-size:.78rem;line-height:1.55}.permission-panel .permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.users-create-form+.structured-list{margin-top:18px}@media (width<=980px){.settings-layout,.teachers-workspace,.users-create-layout{grid-template-columns:1fr}.settings-preferences,.permission-panel{padding-inline-start:0;border-inline-start:0;border-top:1px solid var(--line);padding-top:22px}}@media (width<=620px){.management-form{padding:18px}.management-form-actions{flex-direction:column;align-items:stretch}.management-form-actions .form-save,.teachers-guide .outline-button{width:100%}.permission-panel .permission-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.subscription-step>.form-grid{margin-top:18px}.subscription-subjects{border-top:1px solid var(--line);padding-top:clamp(22px,3vw,30px)}.subscription-section-head{align-items:flex-start}.subscription-section-head>.subscription-step-heading{flex:auto}.subscription-add-button{color:#1d55a5;border-color:#b9cdf0;flex:none;gap:7px}.subscription-add-button>span{color:#245ee8;background:#e7f0ff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:1rem;line-height:1;display:grid}.subscription-rows{gap:14px;margin-top:20px}.subject-entry{background:linear-gradient(135deg,#fff,#f9fbff);border-color:#d9e5f2;border-radius:13px;padding:18px;position:relative;box-shadow:0 4px 14px #20486f08}.subject-entry-head{border-bottom:1px solid #e6edf5;align-items:flex-start;margin-bottom:17px;padding-bottom:13px}.subject-entry-head>div{gap:2px;display:grid}.subject-entry-label{color:var(--blue);letter-spacing:.02em;font-size:.69rem;font-weight:800}.subject-entry-head strong{font-size:.95rem}.subject-entry .danger-button{border-radius:10px;width:36px;height:36px;font-size:1rem}.subject-entry .danger-button:disabled{cursor:not-allowed;color:#a9b4c1;opacity:.8;background:#f5f7fa;border-color:#e4eaf1}.subject-entry-grid{gap:14px 18px}.field-label{color:var(--ink-soft);margin-bottom:6px;font-size:.76rem;font-weight:700;display:block}.field-hint{overflow-wrap:anywhere;align-items:center;min-height:42px;display:flex}.subscription-summary{border-top:1px solid var(--line);padding-top:clamp(22px,3vw,30px)}.subscription-summary .payment-summary{background:#f6fbf8;border:1px solid #cfe7dc;border-radius:13px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:18px;padding:0;display:grid;overflow:hidden}.payment-summary>div{border-inline-start:1px solid #dcebe3;min-width:0;padding:16px clamp(14px,2vw,22px)}.payment-summary>div:first-child{border-inline-start:0}.payment-summary strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin-top:5px;font-size:clamp(1.05rem,2vw,1.35rem)}.payment-summary-remaining{background:linear-gradient(135deg,#eaf9f1,#f8fffb)}.subscription-submit{justify-content:space-between;align-items:center;gap:16px;padding-top:4px;display:flex}.subscription-submit p{color:var(--muted);margin:0;font-size:.78rem}.subscription-submit .form-save{min-height:46px;padding-inline:20px}@media (width<=760px){.subscription-section-head,.subscription-submit{flex-direction:column;align-items:stretch}.subscription-add-button,.subscription-submit .form-save{width:100%}.subscription-summary .payment-summary{grid-template-columns:1fr}.payment-summary>div{border-inline-start:0;border-top:1px solid #dcebe3}.payment-summary>div:first-child{border-top:0}}@media (width<=480px){.subscription-workflow{gap:22px;padding:18px}.subject-entry{padding:14px}.subscription-step-heading p{font-size:.76rem}}.daily-date-filter{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:18px;padding:16px;display:flex}.daily-date-filter .field-group{flex:0 230px;min-width:180px}.daily-date-filter input{width:100%;min-height:42px;color:var(--ink);font:inherit;background:#fff;border:1px solid #cbd8e6;border-radius:8px;padding:0 11px}.daily-date-filter input:focus-visible{border-color:var(--blue-bright);box-shadow:0 0 0 3px var(--blue-glow);outline:0}.daily-cash-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.daily-cash-card{min-width:0;padding:18px;position:relative;overflow:hidden}.daily-cash-card:after{content:"";height:3px;position:absolute;inset:auto 0 0}.daily-cash-card span,.daily-cash-card small{color:var(--muted);font-size:.76rem;display:block}.daily-cash-card strong{font-variant-numeric:tabular-nums;letter-spacing:-.035em;margin:10px 0 6px;font-size:clamp(1.25rem,2.5vw,1.65rem);display:block}.daily-cash-income:after,.daily-cash-net-positive:after{background:var(--mint)}.daily-cash-income strong,.daily-cash-net-positive strong{color:var(--mint)}.daily-cash-expense:after,.daily-cash-net-negative:after{background:var(--danger)}.daily-cash-expense strong,.daily-cash-net-negative strong{color:var(--danger)}.daily-cash-forms{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px;display:grid}.daily-cash-form{min-width:0;padding:clamp(18px,2.5vw,26px)}.daily-cash-form .panel-heading{align-items:flex-start;margin-bottom:8px}.daily-cash-form .muted{min-height:40px;margin:0 0 17px;font-size:.8rem;line-height:1.55}.daily-cash-form .form-grid{gap:14px}.daily-cash-form .form-save{margin-top:18px}.daily-form-badge{border-radius:999px;align-items:center;min-height:26px;padding:0 9px;font-size:.7rem;font-weight:800;display:inline-flex}.income-badge{background:var(--mint-pale);color:var(--mint)}.expense-badge{color:var(--danger);background:#fff0f2}.expense-form{border-color:#f0d5da}.expense-form .danger-button-text{transition:transform .16s,background-color .18s,border-color .18s,box-shadow .18s;box-shadow:0 6px 14px #b6233a29}.expense-form .danger-button-text:hover{background:#941d30;border-color:#941d30;box-shadow:0 9px 18px #b6233a3d}.daily-cash-form .field-group input{width:100%;min-height:42px;color:var(--ink);font:inherit;background:#fff;border:1px solid #cbd8e6;border-radius:8px;padding:0 11px}.daily-cash-form .field-group input:focus-visible{border-color:var(--blue-bright);box-shadow:0 0 0 3px var(--blue-glow);outline:0}@media (width<=760px){.daily-cash-summary,.daily-cash-forms{grid-template-columns:1fr}.daily-date-filter .field-group,.daily-date-filter .primary-button{flex:100%}.daily-date-filter .primary-button{width:100%}}.student-filter-panel{gap:18px;margin-bottom:18px;padding:clamp(16px,2.3vw,24px);display:grid}.student-filter-search{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.student-filter-search .form-field{flex:290px}.student-filter-search .form-field input{width:100%}.student-filter-group{border:0;min-width:0;margin:0;padding:0}.student-filter-group legend{color:var(--ink-soft);margin-bottom:9px;font-size:.77rem;font-weight:800}.student-filter-chips,.student-filter-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-filter-chip{max-width:100%;min-height:36px;color:var(--ink-soft);cursor:pointer;background:#fff;border:1px solid #cddbeb;border-radius:10px;align-items:center;padding:0 11px;font-size:.78rem;font-weight:750;transition:transform .16s,background-color .18s,border-color .18s,color .18s,box-shadow .18s;display:inline-flex}.student-filter-chip input{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.student-filter-chip:has(input:checked){background:var(--blue-soft);color:#1d58c7;border-color:#9bbdff;box-shadow:0 4px 10px #2f6df61a}.student-filter-chip:has(input:checked):before{content:"×";color:#2866d9;margin-inline-end:6px;font-size:1rem;line-height:1}.student-filter-chip:hover{background:#f7faff;border-color:#94b3df}.student-filter-chip:has(input:focus-visible){box-shadow:0 0 0 3px var(--blue-glow);outline:0}.student-filter-status .student-filter-chip:has(input:checked){background:var(--mint-pale);color:#087452;border-color:#8fd6bd}.student-filter-status .student-filter-chip:has(input:checked):before{content:"✓";color:#087452}.student-filter-status .student-filter-chip:has(input[value=due]:checked){background:var(--amber-soft);color:#9c5b05;border-color:#f0c78d}.student-filter-status .student-filter-chip:has(input[value=due]:checked):before{color:#9c5b05}.student-filter-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.student-filter-summary .cash-card{padding:16px}.student-filter-summary .cash-card strong{font-size:clamp(1.12rem,2.2vw,1.4rem)}.student-filter-sort{color:var(--muted);align-items:center;gap:7px;margin:0 0 13px;font-size:.77rem;display:flex}.student-filter-sort strong{color:var(--ink-soft)}.student-filter-sort .app-icon{width:15px;height:15px;color:var(--blue)}@media (width<=760px){.student-filter-search>.primary-button,.student-filter-search>.outline-button{flex:auto}.student-filter-summary{grid-template-columns:1fr}}@media (width<=480px){.student-filter-search{align-items:stretch}.student-filter-search>.primary-button,.student-filter-search>.outline-button{width:100%}.student-filter-chip{flex:auto;justify-content:center}.student-filter-summary{gap:10px}}.date-range-trigger{width:100%;min-height:44px;color:var(--ink);cursor:pointer;font:inherit;background:#fff;border:1px solid #cbd8e6;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .8rem;transition:border-color .16s,box-shadow .16s,background-color .16s;display:inline-flex}.date-range-trigger:hover{border-color:var(--blue-bright);background:#f8fbff}.date-range-trigger:focus-visible,.date-range-day:focus-visible,.date-range-dialog button:focus-visible{outline-offset:2px;outline:3px solid #2f6df661}.date-range-dialog{color:#edf6ff;background:#102b45;border:1px solid #234a70;border-radius:1rem;width:min(25rem,100vw - 2rem);max-width:none;padding:0;overflow:hidden;box-shadow:0 1.5rem 4rem #04172a6b}.date-range-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#091c2f8f}.date-range-dialog-head{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.1rem .75rem;display:flex}.date-range-dialog .eyebrow{color:#a9c9ed;margin-bottom:.2rem}.date-range-dialog h2{color:#fff;margin:0;font-size:1.1rem}.date-range-close,.date-range-nav{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #cee4f847;border-radius:.62rem;flex:none;place-items:center;width:2.2rem;height:2.2rem;transition:background-color .16s,border-color .16s,transform .16s;display:inline-grid}.date-range-close:hover,.date-range-nav:hover{background:#ffffff2e;border-color:#ffffffb8;transform:translateY(-1px)}.date-range-calendar-head{grid-template-columns:2.2rem minmax(0,1fr) 2.2rem;align-items:center;gap:.6rem;padding:.25rem 1.1rem .8rem;display:grid}.date-range-calendar-head strong{color:#fff;text-align:center;font-size:.95rem}.date-range-weekdays,.date-range-calendar{direction:ltr;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.date-range-weekdays{color:#a9c9ed;text-align:center;padding:0 1.1rem .35rem;font-size:.69rem}.date-range-calendar{gap:.15rem;padding:.15rem 1.1rem 1rem}.date-range-day{color:#eef7ff;cursor:pointer;min-height:2rem;font:inherit;background:0 0;border:0;border-radius:.56rem;font-size:.78rem;transition:background-color .15s,color .15s,transform .15s}.date-range-day:hover:not(.is-outside-month){background:#ffffff29;transform:translateY(-1px)}.date-range-day.is-outside-month{color:#bed5eb59}.date-range-day.is-in-range{background:#3e84eba6;border-radius:.25rem}.date-range-day.is-range-start,.date-range-day.is-range-end{color:#fff;background:#4388f4;border-radius:999px;font-weight:800}.date-range-selection{color:#c6dcf1;min-height:1.35rem;margin:0;padding:0 1.1rem .85rem;font-size:.78rem}.date-range-dialog .dialog-actions{border-top:1px solid #cee4f829;justify-content:flex-end;align-items:center;gap:.6rem;padding:.9rem 1.1rem;display:flex}.date-range-dialog .outline-button{color:#eaf5ff;background:0 0;border-color:#cee4f84d}@media (width<=480px){.date-range-dialog-head,.date-range-calendar-head,.date-range-dialog .dialog-actions,.date-range-weekdays,.date-range-calendar{padding-left:.8rem;padding-right:.8rem}}.field-help{color:var(--muted);margin-top:6px;font-size:.74rem;line-height:1.45;display:block}.academic-console{gap:clamp(18px,2.2vw,26px);display:grid}.academic-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.academic-stat{min-width:0;padding:18px 20px;position:relative;overflow:hidden}.academic-stat:after{content:"";background:#8f6be5;height:3px;position:absolute;inset:auto 0 0}.academic-stat:nth-child(2):after{background:var(--mint)}.academic-stat-primary{background:linear-gradient(135deg,#fff,#f1f7ff);border-color:#bdd0ee}.academic-stat-primary:after{background:var(--blue-bright)}.academic-stat-label,.academic-stat small{color:var(--muted);font-size:.76rem;display:block}.academic-stat strong{overflow-wrap:anywhere;min-width:0;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.025em;margin:8px 0 5px;font-size:clamp(1.28rem,2.2vw,1.65rem);display:block}.academic-setup{background:#ffffffa3;border:1px solid #dbe6f1;border-radius:15px;padding:clamp(18px,2.5vw,28px)}.academic-section-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:19px;display:flex}.academic-section-heading h2{color:var(--ink);margin:0;font-size:clamp(1.12rem,1.8vw,1.35rem)}.academic-section-heading p:not(.eyebrow){max-width:50rem;color:var(--muted);margin:5px 0 0;font-size:.82rem;line-height:1.55}.academic-section-heading .outline-button{white-space:nowrap;flex:none}.academic-setup-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.academic-setup-card,.academic-reference{min-width:0;padding:clamp(17px,2vw,22px)}.academic-setup-card{flex-direction:column;display:flex}.academic-setup-card .form-save{align-self:flex-start;margin-top:auto}.academic-card-head{align-items:flex-start;gap:10px;min-width:0;margin-bottom:17px;display:flex}.academic-card-head>div{min-width:0}.academic-card-head h3{color:var(--ink);margin:0;font-size:1rem}.academic-card-head p{color:var(--muted);margin:3px 0 0;font-size:.77rem;line-height:1.5}.academic-step{color:#fff;font-variant-numeric:tabular-nums;background:linear-gradient(145deg,#397bf7,#245ee8);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:.76rem;font-weight:800;display:grid;box-shadow:0 5px 12px #2563eb2e}.academic-step-muted{box-shadow:none;color:var(--mint);background:#eaf7f1}.academic-reference{background:linear-gradient(150deg,#fbfefc,#f3faf7)}.academic-reference-row{border-top:1px solid #dcece4;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 0;display:flex}.academic-reference-row span{color:var(--muted);font-size:.77rem}.academic-reference-row strong{overflow-wrap:anywhere;color:#087452;text-align:end;min-width:0;font-size:.83rem}.academic-reference-note{color:#39705e;margin:12px 0 0;font-size:.76rem;line-height:1.6}.academic-subject-form{padding:clamp(20px,2.7vw,30px)}.academic-subject-form .academic-section-heading{align-items:flex-start}.academic-subject-form .academic-card-head{margin:0}.academic-form-note{color:var(--ink-soft);background:#f3f7fd;border-radius:999px;flex:none;padding:6px 9px;font-size:.72rem;font-weight:700}.academic-subject-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.academic-form-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding-top:18px;display:flex}.academic-form-footer p{color:var(--muted);margin:0;font-size:.78rem}.academic-form-footer .form-save{flex:none;margin-top:0}.optional-label{color:var(--muted);font-size:.7rem;font-weight:500}.academic-distribution{scroll-margin-top:20px}.year-closing-panel{background:linear-gradient(135deg,#fffdf8,#fff8eb);border-color:#ead8ba;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:clamp(18px,2.5vw,25px);display:grid}.year-closing-panel h2{margin:2px 0 0;font-size:1.12rem}.year-closing-panel p:not(.eyebrow){max-width:52rem;color:var(--ink-soft);margin:7px 0 0;font-size:.79rem;line-height:1.6}.year-closing-status,.year-closing-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.year-closing-actions{grid-column:2}.year-closing-panel .eyebrow{color:#a26a15}@media (width<=1080px){.academic-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.academic-reference{grid-column:1/-1}.academic-subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.academic-overview,.academic-setup-grid,.academic-subject-grid{grid-template-columns:1fr}.academic-reference{grid-column:auto}.academic-section-heading,.academic-form-footer,.year-closing-panel{flex-direction:column;align-items:stretch}.academic-section-heading .outline-button,.academic-form-footer .form-save,.academic-setup-card .form-save,.year-closing-actions{width:100%}.academic-form-note{align-self:flex-start}.academic-setup{padding:16px}.year-closing-actions{grid-column:auto;justify-content:stretch}.year-closing-actions>*{flex:auto}}
