/* ClassFlow product design system. Loaded last to unify legacy page styles. */
@font-face{font-family:'Material Symbols Outlined';src:url('/assets/material-symbols.ttf') format('truetype');font-weight:400;font-style:normal;font-display:block}
:root{--primary:#16634e!important;--primary-strong:#104b3b!important;--primary-soft:#edf5f0!important;--ink:#1f302b!important;--muted:#6a7973!important;--bg:#f5f6f2!important;--card:#fff!important;--surface:#fff!important;--line:#e1e7e1!important;--line-strong:#cdd8d0!important;--success:#217452!important;--success-soft:#edf7f0!important;--danger:#b34136!important;--danger-soft:#fcf0ed!important;--warning:#986421!important;--warning-soft:#faf3e7!important;--blue:#39699a!important;--blue-soft:#eff5fb!important;--shadow:0 3px 16px #24382d05!important;--radius:16px!important;--cf-primary:var(--primary)!important;--cf-primary2:var(--primary-strong)!important;--cf-soft:var(--primary-soft)!important;--cf-line:var(--line)!important;--cf-ink:var(--ink)!important;--cf-muted:var(--muted)!important}
html{background:var(--bg);scroll-padding-top:100px}body{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;background:var(--bg)!important;color:var(--ink)!important;font-size:14px;line-height:1.55;letter-spacing:-.012em}
[hidden]{display:none!important}button,a,input,select,textarea,summary{touch-action:manipulation}button{font-family:inherit}button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #8bbca5!important;outline-offset:3px}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.035em}p{line-height:1.6}.muted,.small.muted{color:var(--muted)!important}.material-symbols-outlined,.nav-icon,.ui-icon{font-family:'Material Symbols Outlined'!important;font-weight:400;font-style:normal;font-size:22px;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-smoothing:antialiased}.ui-icon{font-size:18px;flex-shrink:0}
.app-shell{display:grid!important;grid-template-columns:248px minmax(0,1fr)!important;min-height:100dvh!important;background:var(--bg)!important}.main{background:var(--bg)!important;min-width:0}.sidebar{width:auto!important;height:100dvh!important;position:sticky!important;top:0;padding:26px 18px 18px!important;background:#fff!important;border-right:1px solid var(--line)!important;overflow-y:auto;scrollbar-width:thin}.brand{padding:0 8px 23px!important;border-bottom:1px solid var(--line)!important;margin-bottom:20px!important;gap:11px!important}.brand-mark{background:var(--primary)!important;border-radius:12px!important;box-shadow:none!important}.institutional-brand .brand-mark{width:40px;height:42px}.brand strong{font-size:16px!important;color:var(--ink)!important;letter-spacing:-.035em!important}.brand span{font-size:11px!important;color:var(--muted)!important}.brand-mark .material-symbols-outlined{color:white!important;font-size:23px!important}
.nav{gap:4px!important}.nav-group-title{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8a958e;font-weight:700;padding:15px 12px 7px}.nav button,.sidebar .nav button{min-height:44px!important;padding:10px 12px!important;gap:11px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#65726b!important;font-size:13px!important;font-weight:550!important;position:relative;transition:background .18s,color .18s!important}.nav button:before{display:none!important}.nav button:hover,.sidebar .nav button:hover{background:#f4f7f3!important;color:var(--ink)!important;transform:none!important}.nav button.active,.sidebar .nav button.active{background:var(--primary-soft)!important;color:var(--primary)!important;font-weight:700!important}.nav button.active .nav-icon,.sidebar .nav button.active .nav-icon{color:var(--primary)!important}.nav-icon{color:#7c8981!important;font-size:21px!important;width:23px!important;height:23px!important}.nav-count{margin-left:auto;border-radius:6px;padding:1px 6px;font-size:10px;background:#e6efe8;color:var(--primary)}
.sidebar-cta{margin:24px 0 12px!important;background:var(--primary)!important;color:#fff!important;border-radius:10px!important;min-height:44px!important;box-shadow:none!important}.sidebar-cta:hover{background:var(--primary-strong)!important}.sidebar-utility{margin-top:auto!important;padding:12px 0 8px!important;border-top:1px solid var(--line)!important}.utility-btn,.sidebar-signout{color:var(--muted)!important;font-size:12px!important;border-radius:9px!important}.utility-btn:hover,.sidebar-signout:hover{background:var(--primary-soft)!important;color:var(--primary)!important}.profile-mini{display:flex!important;background:#f7f9f6!important;padding:12px!important;border:1px solid var(--line)!important;border-radius:12px!important}.profile-mini strong{color:var(--ink)!important;font-size:12px}.profile-mini span{color:var(--muted)!important;max-width:145px}.profile-mini .avatar{background:#e4eee5!important;color:var(--primary)!important;border-radius:10px!important}
.topbar{height:92px!important;position:sticky;top:0;padding:0 36px!important;background:#f5f6f2f5!important;backdrop-filter:blur(12px)!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important;gap:16px}.topbar-copy{min-width:0}.topbar-copy h2{font-size:24px!important;color:var(--ink)!important;letter-spacing:-.045em!important}.topbar-copy p{font-size:12px!important;color:var(--muted)!important}.breadcrumb{display:flex;align-items:center;gap:7px;color:#7f8c84;font-size:10px;margin-bottom:3px}.breadcrumb span:last-child{color:var(--primary)}.topbar-actions{gap:8px}.month-pill{background:#fff!important;border:1px solid var(--line)!important;color:var(--muted)!important;border-radius:9px!important;font-size:11px!important;padding:8px 10px!important}.global-search-trigger{color:var(--muted)!important;gap:12px!important;min-width:155px}.global-search-trigger kbd{font-size:10px;color:#8a948e;border:1px solid var(--line);padding:1px 4px;border-radius:4px}.mobile-menu-toggle{display:none!important}.page{max-width:1560px!important;padding:30px 36px 64px!important;width:100%!important;margin:auto!important;min-width:0}.page>*{animation:page-enter .22s ease-out both}.section-head{gap:16px!important;margin-bottom:20px!important}.section-head>div:first-child h3,.hero-heading h3{font-size:22px!important;color:var(--ink)!important}.section-head p{font-size:12px!important}.toolbar{gap:8px!important;flex-wrap:wrap}
.btn{border-radius:9px!important;min-height:42px!important;padding:9px 14px!important;font-size:12px!important;font-weight:650!important;box-shadow:none!important;gap:7px;transition:background .18s,border-color .18s,transform .18s!important}.btn:hover{transform:translateY(-1px)!important}.btn.primary{background:var(--primary)!important;color:#fff!important;border:1px solid var(--primary)!important}.btn.primary:hover{background:var(--primary-strong)!important;border-color:var(--primary-strong)!important}.btn.subtle,.btn.ghost,.btn.soft{background:#fff!important;color:#52645b!important;border:1px solid var(--line-strong)!important}.btn.subtle:hover,.btn.ghost:hover,.btn.soft:hover{background:var(--primary-soft)!important;border-color:#a5bbae!important}.btn.text{background:transparent!important;color:var(--primary)!important;border:0!important;margin-top:0}.btn.danger{background:var(--danger-soft)!important;color:var(--danger)!important;border:1px solid #efd3cd!important}.btn.icon-only,.icon-btn{height:40px!important;width:40px!important;min-width:40px;padding:0!important;display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--line)!important;border-radius:9px;background:#fff!important;color:var(--muted)}.small-btn{min-height:34px!important;padding:6px 10px!important;font-size:11px!important}.btn.large{min-height:48px!important}.btn.wide{width:100%}
input,select,textarea{min-height:44px!important;border:1px solid var(--line-strong)!important;border-radius:9px!important;background:#fff!important;color:var(--ink)!important;padding:11px 12px!important;box-shadow:none!important;font-size:13px!important;transition:border-color .18s,box-shadow .18s!important}input::placeholder,textarea::placeholder{color:#929e96}input:focus,select:focus,textarea:focus{border-color:#6c9d83!important;box-shadow:0 0 0 3px #16634e12!important}input:disabled,select:disabled{background:#f3f5f1!important;color:#819087!important}label{color:#526159!important;font-size:12px!important;font-weight:600!important;gap:7px!important}input[type=radio],input[type=checkbox]{width:17px!important;height:17px!important;min-height:17px!important;accent-color:var(--primary)}fieldset{min-width:0;border:1px solid var(--line);border-radius:12px;padding:20px;display:grid;gap:16px}legend{font-weight:700;color:var(--ink);padding:0 7px}.form-row{gap:16px!important}.search-row{position:relative}.search-row:before{content:'search';font-family:'Material Symbols Outlined';font-size:20px;color:#8c9990;position:absolute;left:13px;top:50%;transform:translateY(-50%)}.search-row input{padding-left:40px!important}.search{max-width:450px!important;min-width:0}.filter-tabs{display:inline-flex!important;max-width:100%;background:#eaf0e9!important;border:0!important;border-radius:10px!important;padding:4px!important;gap:3px!important}.filter-tab{border:0!important;padding:8px 13px!important;background:transparent!important;color:var(--muted)!important;font-size:11px!important;border-radius:7px!important;min-height:34px;box-shadow:none!important}.filter-tab.active{background:#fff!important;color:var(--primary)!important;box-shadow:0 2px 5px #233b2910!important}
.section,.panel,.card,.metric-card,.home-ref-panel{background:#fff!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important}.section{padding:22px!important;margin-top:24px}.section.flat{padding:20px!important}.metric-grid,.grid.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;margin-bottom:22px!important}.metric-card,.grid.cards>.card{padding:22px!important;min-height:130px!important}.metric-card:before,.metric-card:after{display:none!important}.metric-label{font-size:12px!important;font-weight:550!important;color:var(--muted)!important}.metric-value,.metric-card .metric-value{font-size:30px!important;font-weight:720!important;letter-spacing:-.045em!important;color:var(--ink)!important;margin-top:12px!important}.metric-sub{color:var(--muted)!important;font-size:11px!important;margin-top:9px}.metric-icon{display:inline-grid;width:32px;height:32px;background:var(--primary-soft);color:var(--primary);border-radius:9px;margin-bottom:12px}.metric-card.positive .metric-value{color:var(--success)!important}.metric-card.negative .metric-value{color:var(--danger)!important}
.home-ref-head h2{font-size:27px!important;color:var(--ink)!important}.home-ref-head p{color:var(--muted)!important}.home-ref-period{background:#fff!important;border-color:var(--line)!important;color:var(--muted)!important;border-radius:10px!important}.home-ref-period strong{color:var(--primary)!important}.home-ref-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;margin-bottom:24px!important}.home-ref-stat{background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:22px!important;min-height:132px!important;box-shadow:var(--shadow)!important}.home-ref-stat span{color:var(--muted)!important;font-size:12px!important}.home-ref-stat strong{font-size:30px!important;color:var(--ink)!important;letter-spacing:-.045em!important;margin:10px 0!important}.home-ref-stat small{font-size:11px!important;color:var(--muted)!important}.home-ref-layout{grid-template-columns:minmax(0,1.7fr) minmax(270px,.8fr)!important;gap:22px!important}.home-ref-panel{padding:22px!important;border-top:1px solid var(--line)!important}.home-ref-panel-head h3{font-size:17px!important;color:var(--ink)!important}.home-ref-panel-head p{font-size:11px!important;color:var(--muted)!important}.home-ref-link{color:var(--primary)!important;font-size:11px}.home-ref-rule{background:var(--line)!important;border-color:var(--line)!important}.home-ref-class-grid{gap:12px!important}.home-ref-class-card{background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:none!important;padding:18px!important}.home-ref-class-top h4{color:var(--ink)!important;font-size:16px!important}.home-ref-class-top small,.home-ref-mini-grid span{color:var(--muted)!important}.home-ref-class-card:hover{border-color:#adc6b6!important;background:#fcfdfb!important;transform:translateY(-2px)!important}.home-ref-good{color:var(--success)!important}.home-ref-watch{background:var(--warning-soft)!important;color:var(--warning)!important;border:0!important}.home-ref-risk{color:var(--danger)!important}.home-ref-positive{color:var(--success)!important}.home-ref-negative{color:var(--danger)!important}.home-ref-side{gap:20px}.home-ref-action{background:#f8faf6!important;border:1px solid var(--line)!important;border-radius:10px!important;padding:14px!important}.home-ref-action .material-symbols-outlined,.home-ref-flag .material-symbols-outlined{color:var(--primary)!important}.home-ref-action strong{color:var(--ink)!important}.home-ref-action small,.home-ref-flag small{color:var(--muted)!important}.home-ref-flag{border-color:var(--line)!important}.home-ref-quick-panel,.home-ref-attention{border-top:1px solid var(--line)!important;box-shadow:var(--shadow)!important}
/* People directories retain their existing filter and action handlers. */
.people-table-section{overflow:auto!important;padding:0!important}.people-table-head{display:none!important}.student-list.excel-list,.student-list{display:grid!important;gap:0!important}.student-row,.excel-list>.student-row{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:20px!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:#fff!important;padding:18px 22px!important;min-height:86px!important;transform:none!important;box-shadow:none!important}.student-row:last-child{border-bottom:0!important}.student-row:hover,.excel-list>.student-row:hover{background:#f8faf6!important;transform:none!important}.student-left,.excel-list>.student-row>.student-left{display:flex!important;gap:13px!important;flex:1;min-width:0}.student-avatar{display:grid!important;width:42px!important;height:42px!important;background:var(--primary-soft)!important;color:var(--primary)!important;border-radius:12px!important;flex-shrink:0}.student-meta,.excel-list>.student-row>.student-left>.student-meta{display:block!important;min-width:0}.student-meta strong,.excel-list>.student-row>.student-left>.student-meta>strong{display:block!important;padding:0!important;border:0!important;font-size:14px!important;color:var(--ink)!important;white-space:normal!important}.student-meta span,.excel-list>.student-row>.student-left>.student-meta>span{display:block!important;padding:0!important;border:0!important;font-size:11px!important;line-height:1.6!important;white-space:normal!important;color:var(--muted)!important}.student-money,.excel-list>.student-row>.student-money{padding:0!important;border:0!important;flex:0 0 145px;white-space:normal!important;text-align:right!important}.student-money strong{font-size:14px!important;color:var(--ink)}.student-actions,.excel-list>.student-row>.student-actions{padding:0!important;display:flex!important;flex:0 0 auto;gap:7px;flex-wrap:wrap}.student-row.hidden{display:none!important}
.class-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))!important;gap:18px!important}.class-card{background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:22px!important;box-shadow:var(--shadow)!important}.class-card:hover{border-color:#adc6b6!important;transform:translateY(-2px)!important}.class-card h4{color:var(--ink)!important;font-size:18px}.mini-stat{background:#f6f8f3!important;border:0!important;border-radius:9px!important;padding:12px!important}.mini-stat span{color:var(--muted)!important;font-size:10px!important}.mini-stat strong{color:var(--ink)!important}.chip,.health{border:0!important;border-radius:6px!important;padding:5px 8px!important;font-size:10px!important;font-weight:650!important}.chip.good,.health.healthy{background:var(--success-soft)!important;color:var(--success)!important}.chip.bad,.health.merge,.health.loss{background:var(--danger-soft)!important;color:var(--danger)!important}.chip.warn,.health.watch{background:var(--warning-soft)!important;color:var(--warning)!important}.chip.blue{background:var(--blue-soft)!important;color:var(--blue)!important}
.finance-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}.finance-action{background:#fff!important;border:1px solid var(--line)!important;border-radius:11px!important;padding:16px!important}.finance-action:hover{background:#f8faf6!important;border-color:#adc6b6!important;transform:translateY(-2px)!important;box-shadow:none!important}.finance-action .quick-icon,.quick-icon{display:grid;place-items:center;width:38px!important;height:38px!important;border-radius:10px!important;background:var(--primary-soft)!important;color:var(--primary)!important;font-size:20px!important}.finance-action strong{color:var(--ink)!important;font-size:12px}.finance-action span{color:var(--muted)!important;font-size:10px}.finance-columns{gap:22px!important}.activity-row,.attention-row{padding:16px 0!important;border-color:var(--line)!important;gap:16px!important}.row-main p{color:var(--muted)!important}.amount-in{color:var(--success)!important}.amount-out{color:var(--danger)!important}.month-panel{background:#edf3ed!important;color:var(--ink)!important;border:1px solid #d5e2d6!important;border-radius:16px!important;padding:24px!important;box-shadow:none!important}.month-panel h3,.month-panel h4,.month-panel strong{color:var(--ink)!important}.month-panel .muted,.month-panel p{color:var(--muted)!important}.month-step,.decision-row{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important}.month-step p,.month-step .step-num{color:var(--muted)!important}.month-panel .empty{color:var(--muted)!important;border-color:var(--line-strong)!important}
.table-wrap{border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;overflow:auto!important;max-width:100%}table{background:#fff!important;color:var(--ink)!important}th{background:#f5f8f2!important;color:var(--muted)!important;font-size:10px!important;font-weight:650!important;letter-spacing:.04em!important;padding:13px 16px!important}td{padding:15px 16px!important;font-size:12px!important;border-color:var(--line)!important}tbody tr:hover td{background:#f9fbf7!important}.kv{gap:12px 22px}.kv>div{color:var(--muted)}.kv strong{font-variant-numeric:tabular-nums;color:var(--ink)}
.history-filters{display:grid!important;grid-template-columns:minmax(180px,2fr) repeat(3,minmax(120px,1fr)) auto!important;gap:12px!important;padding:20px!important;align-items:end;background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important}.history-payment{padding:20px!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important;margin-top:12px!important}.history-payment:hover{border-color:#adc6b6!important}.history-payment .toolbar{justify-content:flex-end}.daily-income-card{width:100%;display:flex;align-items:center;gap:18px;padding:24px;margin-bottom:24px;text-align:left;border:1px solid #c6dbcc;border-radius:14px;background:#eef5ed;color:var(--primary);cursor:pointer;transition:background .18s}.daily-income-card>span:nth-child(2){display:grid;gap:5px;flex:1}.daily-income-card strong{font-size:34px;letter-spacing:-.04em}.daily-income-card:hover{background:#e5efe4}.daily-history{padding:20px;margin:12px 0;border:1px solid var(--line);border-radius:12px;background:#fff}.daily-history summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;color:var(--muted)}.daily-history summary strong{color:var(--ink)}
/* Reports, owner insights and health review use the same surfaces. */
.reports-head{background:#fff!important;border:1px solid var(--line)!important;border-radius:16px!important;padding:24px!important}.reports-head h2{color:var(--ink)!important;font-size:24px!important}.reports-tabs{gap:7px!important;flex-wrap:wrap}.reports-tabs button{border:1px solid var(--line)!important;background:#f8faf6!important;color:var(--muted)!important;border-radius:8px!important;padding:10px 14px!important}.reports-tabs button.active{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.report-card,.report-panel,.smart-report-bot,.owner-chat-card,.owner-insights-card{background:#fff!important;border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:var(--shadow)!important}.smart-report-bot{padding:24px!important}.smart-report-bot h3,.smart-report-bot h2{color:var(--ink)!important}.smart-report-bot input,.smart-report-bot textarea{background:#fff!important}.smart-report-bot button{border-radius:9px!important}.owner-insights-head{background:transparent!important}.owner-insights-head h3{color:var(--ink)!important}.owner-insights-prompts button{background:#fff!important;border:1px solid var(--line)!important;color:var(--primary)!important;border-radius:9px!important}.owner-insights-answer{background:#f2f7ef!important;border:1px solid var(--line)!important;border-radius:12px!important;color:var(--ink)!important}.agent-issue,.agent-proposal{border-color:var(--line)!important;border-radius:12px!important;background:#fff!important}.note{background:#eff4ed!important;color:#526b5a!important;border:1px solid #dbe6d8!important;border-radius:10px!important;padding:14px!important}.alert{background:var(--danger-soft)!important;color:var(--danger)!important;border:1px solid #edd1cb!important;border-radius:10px!important}.empty,.empty-state{padding:38px 22px!important;background:#fafbf8!important;border:1px dashed var(--line-strong)!important;border-radius:12px!important;color:var(--muted)!important;line-height:1.7}.empty .ui-icon{display:block;margin-bottom:10px;font-size:28px;color:#94aa9a}.toast{background:var(--ink)!important;color:#fff!important;border:0!important;border-radius:11px!important;padding:14px 20px!important;box-shadow:0 10px 30px #1d302525!important}.toast.error{background:var(--danger)!important}
/* Dedicated form pages, including registration, edits, settings and receipts. */
.workflow-page{position:static!important;width:min(100%,960px)!important;margin:0 auto!important;padding:30px 36px 60px!important;background:transparent!important;backdrop-filter:none!important;min-height:0!important;display:block}.workflow-page[hidden]{display:none!important}.workflow-page>form,#modalForm{width:100%!important;height:auto!important;max-height:none!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:var(--shadow)!important;overflow:visible!important;margin:0!important}.modal-head{padding:22px 26px!important;border-bottom:1px solid var(--line)!important;position:static!important;background:#fff!important;border-radius:16px 16px 0 0!important}.modal-head h3{font-size:21px!important;color:var(--ink)!important;margin:0}.modal-body,.workflow-page .modal-body{display:grid;gap:20px;padding:26px!important;max-height:none!important;overflow:visible!important;background:#fff!important}.modal-actions{padding:18px 26px!important;background:#f8faf6!important;border-top:1px solid var(--line)!important;position:static!important;border-radius:0 0 16px 16px!important}.class-mode-picker{display:flex!important;gap:14px!important;border:0!important;padding:0!important}.class-mode-picker label{background:#fff!important;border:1px solid var(--line-strong)!important;padding:18px!important;border-radius:10px!important;gap:12px!important}.class-mode-picker label:has(input:checked){background:var(--primary-soft)!important;border-color:#7ba58a!important;color:var(--primary)!important}.drawer-stats{gap:14px!important}.drawer-stat{background:#f6f8f3!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:18px!important}.drawer-stat span{color:var(--muted)!important}.drawer-stat strong{color:var(--ink)!important}.drawer-hero h2{color:var(--ink)!important;font-size:28px!important}.receipt-document{border-color:var(--line-strong)!important}.receipt-document header{background:var(--primary)!important;border-bottom-color:#bad1bc!important}.receipt-document header h2{color:#fff!important}.receipt-document dl,.receipt-document footer{color:var(--ink)!important}.inline-confirmation{padding:20px!important;border:1px solid #dbc59a!important;background:#fcf8ed!important}
.auth-screen{min-height:100dvh!important;background:var(--bg)!important;padding:36px!important;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);gap:80px;max-width:1260px;margin:auto}.auth-card{width:100%!important;padding:38px!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:20px!important;box-shadow:0 16px 60px #2b413609!important}.auth-copy{padding:30px 0 24px}.auth-copy h1{font-size:32px!important;color:var(--ink)!important}.auth-copy p{font-size:13px!important;color:var(--muted)!important}.auth-brand{border-bottom:1px solid var(--line)!important;padding-bottom:22px!important}.auth-brand strong{color:var(--ink)!important}.auth-brand span{color:var(--muted)!important}.auth-story{max-width:530px;justify-self:start}.auth-story .auth-wordmark{color:var(--primary);font-size:14px;font-weight:700;display:flex;align-items:center;gap:10px;margin-bottom:46px}.auth-story h2{font-size:clamp(38px,4.2vw,60px);line-height:1.08;letter-spacing:-.055em;margin:0 0 22px}.auth-story>p{font-size:16px;color:var(--muted);max-width:420px}.auth-feature-list{display:grid;gap:20px;margin-top:40px}.auth-feature{display:flex;gap:14px;align-items:center}.auth-feature>.material-symbols-outlined{background:#e7eee2;color:var(--primary);border-radius:10px;padding:11px;font-size:22px}.auth-feature strong{display:block;font-size:13px}.auth-feature small{color:var(--muted);font-size:12px}.password-field{position:relative}.password-field input{padding-right:48px!important}.password-toggle{position:absolute;right:5px;top:5px;background:transparent;border:0;width:34px;height:34px;display:grid;place-items:center;color:var(--muted)}#authHint{text-align:center;margin-top:18px}#recoveryScreen{grid-template-columns:1fr;max-width:none}#recoveryScreen .auth-card{max-width:480px;margin:auto}
.search-dialog{border:1px solid var(--line);border-radius:16px;padding:0;width:min(560px,calc(100vw - 28px));max-height:80dvh;box-shadow:0 26px 80px #172b2440;background:#fff;color:var(--ink)}.search-dialog::backdrop{background:#182e2550;backdrop-filter:blur(4px)}.command-head{display:flex;align-items:center;gap:12px;padding:18px;border-bottom:1px solid var(--line)}.command-head input{border:0!important;box-shadow:none!important;padding:0!important}.command-results{padding:10px;max-height:50dvh;overflow:auto}.command-result{width:100%;display:flex;align-items:center;gap:12px;background:#fff;border:0;padding:12px;border-radius:9px;text-align:left;color:var(--ink)}.command-result:hover,.command-result:focus{background:var(--primary-soft)}.command-result .material-symbols-outlined{color:var(--primary)}.command-result small{display:block;color:var(--muted);font-size:11px}.command-result strong{font-size:13px}.command-footer{border-top:1px solid var(--line);padding:12px 20px;color:var(--muted);font-size:11px}.network-status{padding:8px 20px;background:var(--warning-soft);color:var(--warning);text-align:center;font-size:12px}.mobile-drawer-backdrop{display:none}.skip-link{position:fixed;top:-60px;left:12px;z-index:9999;background:var(--primary);color:white;padding:12px 18px;border-radius:8px}.skip-link:focus{top:12px}.skeleton{background:linear-gradient(90deg,#ebefe8 25%,#f8faf6 50%,#ebefe8 75%)!important;background-size:200% 100%!important;border-radius:12px;animation:shimmer 1.4s infinite}.page-loading{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.page-loading>div{height:130px}.page-loading>div:last-child{grid-column:1/-1;height:260px}
@keyframes page-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes shimmer{to{background-position:-200% 0}}
@media(min-width:761px){body.sidebar-collapsed .app-shell{grid-template-columns:80px minmax(0,1fr)!important}body.sidebar-collapsed .sidebar{padding:25px 12px!important}body.sidebar-collapsed .brand>div:last-child,body.sidebar-collapsed .nav-label,body.sidebar-collapsed .nav-group-title,body.sidebar-collapsed .sidebar-cta>span:last-child,body.sidebar-collapsed .utility-btn>span:last-child,body.sidebar-collapsed .sidebar-signout>span:last-child,body.sidebar-collapsed .profile-mini,body.sidebar-collapsed .nav-count{display:none!important}body.sidebar-collapsed .brand{padding:0 6px 20px!important}body.sidebar-collapsed .nav button{justify-content:center!important;padding:12px!important}body.sidebar-collapsed .sidebar-cta{padding:12px!important}body.sidebar-collapsed .utility-btn,body.sidebar-collapsed .sidebar-signout{justify-content:center}}
@media(max-width:1200px){.page{padding:26px!important}.topbar{padding:0 26px!important}.finance-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}.global-search-trigger{min-width:0}.global-search-trigger .search-caption,.global-search-trigger kbd{display:none}.home-ref-layout{grid-template-columns:1fr!important}.home-ref-side{display:grid!important;grid-template-columns:1fr 1fr!important}.history-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}.auth-screen{gap:40px!important}}
@media(max-width:1000px){.app-shell{grid-template-columns:220px minmax(0,1fr)!important}.metric-grid,.grid.cards,.home-ref-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.finance-columns{grid-template-columns:1fr!important}.topbar-copy p{display:none}.student-actions{max-width:150px}.auth-story h2{font-size:42px}.auth-screen{padding:24px!important}}
@media(max-width:760px){.app-shell{display:block!important}.sidebar{display:flex!important;position:fixed!important;left:0;top:0;bottom:0;z-index:210;width:270px!important;height:100dvh!important;transform:translateX(-100%);transition:transform .22s ease}.mobile-menu-open .sidebar{transform:none}.mobile-menu-open .mobile-drawer-backdrop{display:block;position:fixed;inset:0;z-index:200;background:#14291f66;backdrop-filter:blur(3px)}.mobile-menu-toggle{display:inline-flex!important}.desktop-collapse{display:none!important}.topbar{height:76px!important;padding:0 16px!important;gap:10px}.topbar-copy{flex:1}.topbar-copy h2{font-size:20px!important}.breadcrumb{font-size:9px}.topbar-actions{gap:6px}.month-pill{display:none}.global-search-trigger{width:38px;padding:0!important;min-width:38px!important}.page{padding:22px 16px 108px!important}.metric-grid,.grid.cards,.home-ref-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.metric-card,.home-ref-stat,.grid.cards>.card{padding:17px!important;min-height:118px!important}.metric-value,.metric-card .metric-value,.home-ref-stat strong{font-size:26px!important}.home-ref-side{display:flex!important}.home-ref-head{gap:12px!important;align-items:flex-start!important}.home-ref-class-grid,.class-grid{grid-template-columns:1fr!important}.home-ref-panel,.section{padding:18px!important}.home-ref-summary{margin-top:18px!important}.finance-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.section-head{align-items:flex-start!important;flex-wrap:wrap}.section-head>div{max-width:100%}.filter-tabs{max-width:100%;flex-wrap:wrap!important}.student-row,.excel-list>.student-row{flex-wrap:wrap!important;padding:18px!important;gap:12px!important}.student-left{flex:1 1 calc(100% - 110px)!important}.student-money{flex:0 0 95px!important;text-align:right!important}.student-actions,.excel-list>.student-row>.student-actions{flex-basis:100%!important;max-width:none;justify-content:flex-end}.excel-list>.student-row>.student-left>.student-meta{width:100%}.activity-row{flex-wrap:wrap}.row-side{white-space:normal}.history-filters{padding:16px!important}.history-payment .toolbar{justify-content:flex-start}.workflow-page{padding:20px 14px 108px!important}.workflow-page>form,#modalForm{max-height:none!important;border-radius:14px!important}.modal-body,.workflow-page .modal-body{padding:20px!important;gap:18px}.modal-head,.modal-actions{padding:18px 20px!important}.modal-actions{position:sticky!important;bottom:76px!important;z-index:10}.form-row,.drawer-stats,.account-grid{grid-template-columns:1fr!important}.class-mode-picker{gap:10px!important}.class-mode-picker label{padding:14px!important}.receipt-card h2{font-size:30px!important}.daily-income-card{padding:20px;gap:14px}.daily-income-card strong{font-size:30px}.daily-history summary{display:grid}.daily-history{padding:16px}.auth-screen{display:block!important;padding:24px 18px!important;min-height:100dvh!important}.auth-story{margin:20px auto 28px;max-width:460px}.auth-story .auth-wordmark{margin-bottom:24px}.auth-story h2{font-size:38px}.auth-story>p{font-size:14px}.auth-feature-list{display:none}.auth-card{padding:28px!important;max-width:460px;margin:auto}.mobile-nav{display:flex!important;position:fixed!important;bottom:0;left:0;right:0;z-index:100;height:76px!important;padding:8px 12px calc(8px + env(safe-area-inset-bottom))!important;background:#ffffffed!important;border-top:1px solid var(--line)!important;box-shadow:0 -4px 20px #253a2807!important;gap:6px}.mobile-nav button{flex:1!important;min-width:0!important;padding:7px 3px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:var(--muted)!important;display:grid!important;place-items:center;gap:4px;font-size:9px!important}.mobile-nav button.active{background:var(--primary-soft)!important;color:var(--primary)!important}.mobile-nav .nav-icon{font-size:21px!important;color:inherit!important}.page-loading{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.topbar{padding:0 12px!important}.topbar-copy h2{font-size:18px!important}.page{padding:18px 12px 108px!important}.finance-actions{grid-template-columns:1fr!important}.home-ref-stat strong{font-size:24px!important}.home-ref-stat small{font-size:10px!important}.history-filters{grid-template-columns:1fr!important}.home-ref-head h2{font-size:23px!important}.daily-income-card>.material-symbols-outlined:last-child{display:none}.global-search-trigger{display:none!important}.auth-story h2{font-size:34px}.toolbar .btn{flex:1 1 auto}.student-left{flex-basis:100%!important}.student-money{flex-basis:auto!important;text-align:left!important}.student-actions{justify-content:flex-start!important}.modal-actions .btn{flex:1}.reports-head{padding:18px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.page>*{animation:none!important}}
@media print{.sidebar,.topbar,.mobile-nav,.daily-income-card,.command-dialog,.network-status{display:none!important}.app-shell{display:block!important}.page,.workflow-page{padding:0!important}.section,.home-ref-panel{box-shadow:none!important}body{background:white!important}}
/* Visibility must win over responsive layout declarations. */
#appShell.hidden,#authScreen.hidden,#recoveryScreen.hidden,[hidden],.student-row.hidden{display:none!important}
html,body{background:var(--bg)!important;color:var(--ink)!important}body:before{display:none!important}.sidebar{animation:none!important}.page.cf-page-enter>*{animation:page-enter .22s ease-out both!important;animation-delay:0s!important}.auth-screen:before,.auth-screen:after{display:none!important}.auth-screen .brand-mark{background:var(--primary)!important;color:white!important}.activity-row:hover{box-shadow:none!important;transform:none!important}
@media(max-width:760px){.sidebar{transform:translateX(-100%)!important;visibility:hidden}.mobile-menu-open .sidebar{transform:none!important;visibility:visible}}
@media(prefers-reduced-motion:reduce){.page.cf-page-enter>*{animation:none!important}}
#sideNav button.active{background:var(--primary-soft)!important;color:var(--primary)!important}#sideNav button.active .nav-icon{color:var(--primary)!important}.home-ref-mini-grid>div{background:#f8faf6!important;border-color:var(--line)!important}.home-ref-flag>.material-symbols-outlined{background:var(--primary-soft)!important}.institutional-brand>div:last-child span{letter-spacing:0!important;text-transform:none!important}
@media(max-width:760px){.search-row{width:100%}.search-row .search{max-width:none!important;width:100%}.student-row .student-left{align-items:flex-start!important}.student-row .student-money{align-self:flex-start!important}.student-avatar{margin-top:2px}}
.metric-card .metric-icon .ui-icon{font-size:20px!important;color:var(--primary)!important;line-height:1!important}.metric-icon{display:grid;place-items:center}.month-panel input{background:#fff!important;border:1px solid var(--line-strong)!important;color:var(--ink)!important}.month-panel .btn.subtle{background:#fff!important;border:1px solid var(--line-strong)!important;color:var(--muted)!important}.month-panel .btn.primary{background:var(--primary)!important;color:#fff!important}.smart-report-kicker,.smart-report-title,.smart-report-verified,.smart-report-live{color:var(--primary)!important}.smart-report-icon{background:var(--primary-soft)!important;color:var(--primary)!important}.smart-report-form{border-color:var(--line-strong)!important;box-shadow:none!important;background:#fff!important}.smart-report-prompts button{color:var(--primary)!important;border-color:var(--line)!important;background:#f8faf6!important}.smart-report-bot:before,.smart-report-bot:after{display:none!important}.reports-head p,.report-panel p{color:var(--muted)!important}.report-card h3,.report-panel h3{color:var(--ink)!important}.agent-hero{background:#fff!important;border:1px solid var(--line)!important;border-radius:16px!important;padding:24px!important}.agent-kicker{color:var(--primary)!important}.agent-loop-note{background:#f5f8f2!important;border-color:var(--line)!important;border-radius:10px!important}.agent-node{background:#f8faf6!important;border-color:var(--line)!important}.agent-score>div{background:#f6f8f3!important;border-color:var(--line)!important}.agent-finding,.agent-proposal-card{border-color:var(--line)!important;border-radius:12px!important}.agent-proposal-state{background:var(--primary-soft)!important;color:var(--primary)!important}

/* Persistent light/dark switch, shared by login and every workspace page. */
.theme-toggle-floating{position:fixed!important;top:18px;right:18px;z-index:250}.theme-toggle{flex-shrink:0}
:root[data-theme="dark"]{color-scheme:dark;--primary:#79c8a7!important;--primary-strong:#98dbba!important;--primary-soft:#20362c!important;--ink:#e4ece7!important;--muted:#a1b1a7!important;--bg:#0c1110!important;--card:#151d19!important;--surface:#151d19!important;--line:#2b3931!important;--line-strong:#405247!important;--success:#8dd6ac!important;--success-soft:#203a2b!important;--danger:#f1a59a!important;--danger-soft:#402923!important;--warning:#e6c18a!important;--warning-soft:#393020!important;--blue:#9fc7ec!important;--blue-soft:#223447!important;--shadow:0 3px 16px #00000020!important}
html[data-theme="dark"] :is(.sidebar,.auth-card,.section,.panel,.card,.metric-card,.home-ref-panel,.home-ref-stat,.home-ref-class-card,.class-card,.finance-action,.quick-action,.history-filters,.history-payment,.daily-history,.reports-head,.report-card,.report-panel,.smart-report-bot,.owner-chat-card,.owner-insights-card,.agent-hero,.agent-finding,.agent-proposal-card,.agent-proposal,.agent-issue,.search-dialog,.command-result,.table-wrap,table,.drawer-stat,.workflow-page>form,#modalForm,.modal-head,.modal-body,.class-mode-picker label){background:var(--card)!important;border-color:var(--line)!important;color:var(--ink)!important}
html[data-theme="dark"] :is(.topbar,.mobile-nav){background:#0c1110f2!important;border-color:var(--line)!important}
html[data-theme="dark"] :is(input,select,textarea,.month-panel input,.btn.icon-only,.icon-btn,.btn.subtle,.btn.ghost,.btn.soft,.month-panel .btn.subtle,.month-pill,.filter-tab.active,.home-ref-period){background:#1a241e!important;color:var(--ink)!important;border-color:var(--line-strong)!important}
html[data-theme="dark"] :is(.btn.primary,.sidebar-cta,.month-panel .btn.primary,.reports-tabs button.active){background:#2e7154!important;color:#fff!important;border-color:#2e7154!important}
html[data-theme="dark"] :is(.btn.primary:hover,.sidebar-cta:hover){background:#398564!important;border-color:#398564!important}
html[data-theme="dark"] :is(.profile-mini,.mini-stat,.home-ref-mini-grid>div,.home-ref-action,.month-panel,.month-step,.decision-row,.modal-actions,.filter-tabs,.smart-report-prompts button,.agent-loop-note,.agent-node,.agent-score>div,.command-footer,th){background:#1b2820!important;border-color:var(--line)!important;color:var(--ink)!important}
html[data-theme="dark"] :is(.empty,.empty-state,.skeleton){background:#101813!important;border-color:var(--line-strong)!important;color:var(--muted)!important}
html[data-theme="dark"] :is(.student-row,.excel-list>.student-row){background:var(--card)!important;border-color:var(--line)!important}
html[data-theme="dark"] :is(.student-row:hover,.excel-list>.student-row:hover,.class-card:hover,.home-ref-class-card:hover,.finance-action:hover,.command-result:hover,tbody tr:hover td){background:#1c2c22!important;border-color:var(--line-strong)!important}
html[data-theme="dark"] :is(.daily-income-card,.owner-insights-answer,.note,.smart-report-answer,.smart-report-live,.smart-report-verified){background:#1c3023!important;border-color:#35543e!important;color:var(--ink)!important}
html[data-theme="dark"] .daily-income-card:hover{background:#25412e!important}
html[data-theme="dark"] :is(label,.row-main strong,.student-money strong,.smart-report-title,.report-panel h3,.report-card h3,.agent-hero h2,.agent-finding strong,.command-result strong,.receipt-document dl,.receipt-document footer){color:var(--ink)!important}
html[data-theme="dark"] :is(.breadcrumb,.auth-story>p,.auth-feature small,.command-result small,.command-footer,.student-meta span,.smart-report-note,.smart-report-row span){color:var(--muted)!important}
html[data-theme="dark"] :is(.auth-feature>.material-symbols-outlined,.student-avatar,.profile-mini .avatar,.metric-icon,.quick-icon,.smart-report-icon){background:var(--primary-soft)!important;color:var(--primary)!important}
html[data-theme="dark"] :is(.command-head,.modal-head,.modal-actions,td,fieldset){border-color:var(--line)!important}
html[data-theme="dark"] .receipt-document{background:var(--card)!important;color:var(--ink)!important;border-color:var(--line-strong)!important}html[data-theme="dark"] .receipt-document header{background:#24583f!important}html[data-theme="dark"] .toast{background:#d9e7dd!important;color:#132218!important}html[data-theme="dark"] .toast.error{background:#8b3c31!important;color:white!important}
@media print{#themeToggle{display:none!important}}
