@font-face{font-family:system;src:local('Inter'),local('Segoe UI')}
:root{--bg:#f5f8fc;--white:#fff;--ink:#20344c;--muted:#63778d;--line:#e2eaf3;--green:#2256a8;--light:#eaf1ff;--lime:#73e2ce;--gold:#d99b4d;--red:#b74e58;--shadow:0 10px 38px #17315208;font-family:system,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:var(--green);text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #a5cdb4;outline-offset:3px}h1,h2,h3,p{margin:0}button{border:0}button svg{pointer-events:none}svg{vertical-align:middle;flex-shrink:0}.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.initial{min-height:100dvh;display:grid;place-content:center;gap:20px;text-align:center}.logo-mark{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:29px;font-weight:600;background:transparent url("/icon.svg") center/contain no-repeat;width:42px;height:42px;border-radius:13px;color:white;line-height:1}.logo-mark>span{position:absolute;font-size:15px;right:7px;top:6px;color:var(--lime)}
.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:#ffffff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:33px 20px;z-index:20}.brand{display:flex;gap:12px;align-items:center;padding:0 10px 39px}.brand-name{font-size:22px;letter-spacing:-.8px;font-weight:650}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:1.4px;text-transform:uppercase;margin-top:4px}.nav-caption{padding:0 16px;margin:0 0 12px;color:#9aa49c;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;font-weight:700}.nav{display:grid;gap:6px}.nav a{display:flex;align-items:center;gap:13px;padding:13px 16px;border-radius:9px;color:#77857c;font-size:13px;font-weight:550;position:relative}.nav a:hover{background:#edf3fc}.nav a.active{background:var(--light);color:var(--green)}.nav a.active:after{content:'';position:absolute;right:13px;width:5px;height:5px;background:var(--green);border-radius:50%}.sidebar-spacer{flex:1}.side-note{background:#edf4fc;border:1px solid #e3ebf6;border-radius:12px;padding:17px;margin:26px 4px 20px}.side-note .tiny-flower{color:var(--green);font-size:25px}.side-note p{font-size:12px;line-height:1.7;margin-top:9px;color:#6d7e6d}.side-note strong{color:var(--ink);font-weight:600;display:block}.profile{display:flex;gap:11px;align-items:center;border-top:1px solid var(--line);padding:20px 8px 0}.avatar{height:36px;width:36px;min-width:36px;background:#eee9df;color:#7b7567;border-radius:50%;display:grid;place-items:center;font-weight:650;font-size:12px}.profile-info{min-width:0;flex:1}.profile-info b{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-info small{font-size:10px;color:var(--muted)}
.workspace{margin-left:236px;min-height:100dvh}.topbar{height:78px;border-bottom:1px solid var(--line);padding:0 40px;background:#ffffff;display:flex;justify-content:space-between;align-items:center;gap:15px}.breadcrumb{font-size:12px;color:#9aaba0;display:flex;gap:13px;align-items:center}.breadcrumb strong{font-weight:500;color:#596b60}.top-right{display:flex;align-items:center;gap:19px}.top-date{font-size:11px;color:var(--muted)}.saved-label{font-size:10px;color:#809180;display:flex;align-items:center;gap:6px}.saved-dot{width:6px;height:6px;border-radius:50%;background:#8eae79}.icon-button{background:transparent;color:#7c8b81;padding:6px;border-radius:7px}.icon-button:hover{background:var(--light);color:var(--green)}.menu-button{display:none}.main{max-width:1540px;margin:auto;padding:37px 40px 45px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:1.9px;font-size:9px;font-weight:700;margin-bottom:10px}.page-head h1{font-size:29px;letter-spacing:-1.1px;font-weight:600;line-height:1.3}.page-head p{font-size:12px;color:var(--muted);line-height:1.6;margin-top:8px}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:8px;background:var(--green);color:white;font-size:11px;font-weight:600;min-height:39px;white-space:nowrap}.btn .icon{width:16px;height:16px}.btn:hover{background:#194785}.btn.secondary{border:1px solid var(--line);background:white;color:#5b6c61}.btn.secondary:hover{background:#edf3fc}.btn.danger{background:#fff1ef;color:var(--red);border:1px solid #f0d7d1}.btn.soft{background:var(--light);color:var(--green)}.btn.small{font-size:10px;padding:7px 10px;min-height:30px}.btn.text{background:transparent;color:var(--green);padding:0;min-height:auto}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:23px}.segmented{background:#eceedf;border:1px solid #e7eada;border-radius:8px;display:inline-flex;padding:3px;gap:2px}.segmented button{background:transparent;color:#8a9586;font-size:11px;padding:8px 16px;border-radius:5px}.segmented button.active{background:white;color:var(--green);box-shadow:0 1px 3px #223e2c0c}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.select-wrap select,.filters select,.year-picker{appearance:auto;background:white;border:1px solid var(--line);border-radius:7px;color:#4f6357;font-size:11px;padding:9px 11px;min-height:35px}.filters input{border:1px solid var(--line);border-radius:7px;padding:9px 12px;background:white;color:var(--ink);font-size:11px;min-height:35px}.search{position:relative}.search>.icon{position:absolute;left:12px;top:10px;color:#94a190;width:16px;height:16px}.search input{padding-left:36px;min-width:220px}.period-label{font-size:11px;color:var(--muted);display:flex;gap:8px;align-items:center}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:23px}.stat{background:white;border:1px solid var(--line);padding:20px 21px;border-radius:12px;position:relative;box-shadow:var(--shadow);overflow:hidden;min-height:144px}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#7e8c80}.stat-icon{height:29px;width:29px;border-radius:9px;display:grid;place-items:center;background:#edf4ff;color:#7c9674}.stat-icon .icon{width:15px;height:15px}.stat-value{font-size:28px;letter-spacing:-1px;font-weight:600;margin-top:15px;font-variant-numeric:tabular-nums}.stat-bottom{font-size:9px;margin-top:9px;color:#8a9789;line-height:1.5}.stat-bottom b{font-weight:600;color:var(--green)}.stat.featured{background:var(--green);border-color:var(--green);color:white}.stat.featured .stat-top{color:#c0d4c7}.stat.featured .stat-icon{background:#ffffff13;color:#d6e8b5}.stat.featured .stat-bottom{color:#abc5b3}.stat.featured .stat-bottom b{color:#d6e8b5}.stat.featured:after{content:'';width:125px;height:125px;border:22px solid #ffffff05;border-radius:50%;position:absolute;right:-38px;bottom:-53px;pointer-events:none}.panels{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(270px,1fr);gap:21px;margin-bottom:23px}.panel{background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px 24px 0}.panel-head h2{font-size:13px;letter-spacing:-.2px;font-weight:600}.panel-head p{color:#93a08e;font-size:9px;margin-top:6px}.panel-body{padding:22px 24px}.legend{display:flex;align-items:center;gap:15px;font-size:9px;color:#8b9886}.legend span{display:flex;align-items:center;gap:6px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green)}.dot.lime{background:#bfcfa7}.dot.gold{background:#d5b380}.dot.gray{background:#cbd1ca}.chart-container{height:229px;margin:18px 22px 3px}.chart{width:100%;height:100%;overflow:visible}.chart text{font-family:inherit;font-size:10px;fill:#a2ac9b}.chart .grid-line{stroke:#edf0e8;stroke-dasharray:3 4}.chart-bar{fill:#bfcfa7;rx:4}.chart-bar.current{fill:var(--green)}.chart-bar:hover{fill:#62917a}.chart-footer{display:flex;justify-content:space-between;border-top:1px solid #f0f2eb;margin:14px 24px 0;padding:14px 0;color:#8c9b87;font-size:9px}.chart-footer strong{color:#4e6554;font-weight:500}.distribution{display:flex;align-items:center;justify-content:center;gap:18px;padding:21px 22px 4px;min-height:181px}.donut-wrap{position:relative;width:150px;min-width:150px;height:150px;display:grid;place-items:center}.donut{width:150px;height:150px;transform:rotate(-90deg)}.donut circle{fill:none;stroke-width:13}.donut-center{position:absolute;text-align:center}.donut-center b{display:block;font-size:22px;font-weight:600;letter-spacing:-.7px}.donut-center small{font-size:8px;color:#97a08f}.distribution-legend{display:grid;gap:17px;font-size:10px}.distribution-legend .legend-name{display:flex;align-items:center;gap:7px;white-space:nowrap}.distribution-legend strong{display:block;margin:4px 0 0 14px;font-size:10px;font-weight:500;color:#94a08e}.distribution-bottom{margin:19px 24px 0;padding:15px 0;border-top:1px solid #f0f2eb;display:flex;justify-content:space-between;font-size:9px;color:#96a18e}.distribution-bottom b{font-weight:500;color:#57715c}
.table-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px 20px;gap:15px}.table-title h2{font-size:13px;font-weight:600}.table-title p{font-size:9px;color:#93a08e;margin-top:6px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap;font-size:10px}th{font-weight:500;color:#8d9a87;background:#f8faf5;font-size:9px;padding:12px 16px;border-top:1px solid #eef1e9;border-bottom:1px solid #eef1e9}td{padding:14px 16px;border-bottom:1px solid #f0f2ed;color:#697b68;font-variant-numeric:tabular-nums}th:first-child,td:first-child{padding-left:24px}th:last-child,td:last-child{padding-right:24px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcf8}td.amount{font-weight:600;color:#3e5947;text-align:right}th.right,td.right{text-align:right}.student-cell{display:flex;align-items:center;gap:10px}.student-avatar{background:#e9eee1;border-radius:50%;height:30px;width:30px;min-width:30px;display:grid;place-items:center;color:#799267;font-size:9px;font-weight:600}.student-avatar.blue{background:#e6edf1;color:#6f91a1}.student-avatar.gold{background:#f3ebdd;color:#ac946c}.student-cell b{font-weight:550;color:#3d5748;font-size:10px;display:block;max-width:200px;overflow:hidden;text-overflow:ellipsis}.student-cell small{font-size:8px;color:#9ca795;display:block;margin-top:4px}.badge{display:inline-flex;align-items:center;gap:4px;background:#eef4e8;color:#7d9c67;padding:4px 7px;border-radius:5px;font-size:8px;font-weight:500}.badge.blue{background:#edf2f6;color:#7a95ac}.badge.gold{background:#f8f1e5;color:#b29b72}.badge.gray{background:#f0f1ed;color:#9aa291}.badge.red{background:#fff0ec;color:#ad7467}.badge.purple{background:#f0edf5;color:#9381aa}.table-bottom{padding:14px 24px;border-top:1px solid #f0f2eb;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#a0aa96;gap:14px}.table-total td{font-weight:600;background:#f3f7ee;color:var(--green);font-size:11px;border-top:1px solid var(--line)}.clickable-row{cursor:pointer}.income-bar{width:105px;display:inline-block;background:#eff3e9;border-radius:3px;height:5px;overflow:hidden;margin-left:15px;vertical-align:middle}.income-bar>span{display:block;height:100%;background:#b8cca3;border-radius:3px}.note-line{font-size:10px;color:#8b9985;line-height:1.7;margin-top:18px;display:flex;gap:7px;align-items:flex-start}.note-line .icon{width:14px;height:14px;margin-top:1px}.alert{border:1px solid #e6e8d8;background:#f4f5e9;border-radius:9px;padding:14px 17px;font-size:11px;line-height:1.7;color:#7f8867;display:flex;gap:10px;align-items:flex-start;margin-bottom:20px}.alert .icon{width:17px;height:17px;min-width:17px;margin-top:1px}.alert a,.alert button{font-size:inherit;color:var(--green);background:transparent;padding:0;text-decoration:underline}.alert strong{font-weight:600;color:#66724f}.alert.error{border-color:#f0d5cc;background:#fff6f1;color:#a26a59}.empty{padding:55px 25px;text-align:center;white-space:normal}.empty .icon{width:28px;height:28px;color:#a4b49a}.empty h3{font-size:13px;font-weight:500;margin-top:15px}.empty p{font-size:11px;color:var(--muted);max-width:350px;margin:9px auto 19px;line-height:1.7}.footer{font-size:9px;display:flex;justify-content:space-between;color:#a6ae9d;margin-top:28px;padding-top:3px;gap:12px}.footer .flower{color:#88a279;margin-right:5px}.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.group-card{padding:23px}.group-card h3{font-size:16px;font-weight:600;margin-top:14px}.group-card .group-top{display:flex;justify-content:space-between;align-items:center}.group-card p{font-size:11px;line-height:1.7;color:var(--muted);margin-top:8px}.group-card .avatars{display:flex;margin:20px 0}.group-card .avatars>.student-avatar{border:2px solid white;margin-right:-6px}.group-card .group-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:16px;font-size:10px;color:var(--muted)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-panel{padding:25px}.settings-panel h2{font-size:15px;font-weight:600}.settings-panel p{font-size:11px;color:var(--muted);line-height:1.8;margin-top:10px}.settings-panel .actions{margin-top:18px}.settings-panel .field{margin-top:15px}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.detail-key{font-size:10px;color:var(--muted);margin-bottom:5px}.detail-value{font-size:13px;line-height:1.7}.student-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.student-summary>div{padding:16px;background:#f5f8ef;border-radius:9px}.student-summary b{display:block;font-size:18px;margin-top:7px}.student-summary small{font-size:9px;color:var(--muted)}.section-label{font-size:10px;color:var(--muted);margin:22px 0 12px;letter-spacing:.7px;text-transform:uppercase}.info-list{padding-left:19px;margin:8px 0;color:#7d8e74;font-size:11px;line-height:1.9}.review-counts{display:flex;gap:15px;flex-wrap:wrap;margin:16px 0}.review-counts>div{background:#f3f7ed;padding:15px 20px;border-radius:9px;min-width:130px}.review-counts b{font-size:24px;display:block}.review-counts small{font-size:10px;color:var(--muted)}
dialog{width:min(640px,calc(100vw - 30px));max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 100px #17362c33;color:var(--ink);background:white}dialog::backdrop{background:#142d2560;backdrop-filter:blur(3px)}.modal-head{padding:24px 27px 19px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-head h2{font-size:20px;font-weight:550;letter-spacing:-.6px}.modal-head p{font-size:10px;color:var(--muted);margin-top:6px}.modal-body{padding:23px 27px;overflow:auto}.modal-footer{display:flex;justify-content:flex-end;gap:9px;align-items:center;border-top:1px solid var(--line);padding:17px 27px}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:17px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field>label,.label{font-size:10px;font-weight:550;color:#6c7e69}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #dfe5da;border-radius:8px;padding:10px 11px;background:#fff;color:#385341;min-height:40px;font-size:12px;outline:0}.field textarea{resize:vertical;min-height:75px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#80a991;box-shadow:0 0 0 3px #e9f2e8}.field small{font-size:9px;color:#9aa88f;line-height:1.6}.field input:disabled,.field select:disabled{background:#f3f5ee;color:#95a18b}.check{display:flex;gap:9px;align-items:flex-start;color:#809075;font-size:11px;line-height:1.7}.check input{accent-color:var(--green);width:15px;height:15px;flex-shrink:0;min-height:0;margin-top:2px}.form-error{background:#fff0ea;border-radius:8px;padding:12px;color:#ad6251;font-size:11px;line-height:1.6;display:none;margin-bottom:16px}.form-error:not(:empty){display:block}.calculation{background:#f2f6ec;border:1px solid #e2eadb;border-radius:10px;padding:17px;display:flex;gap:12px;justify-content:space-between;font-size:10px;color:#8c9c7e;margin-top:19px}.calculation b{font-size:18px;display:block;margin-top:7px;color:#365d43;font-weight:550}.calculation .net b{color:var(--green)}.attendees{display:grid;gap:8px;max-height:180px;overflow:auto;padding:12px;background:#f5f8f0;border-radius:8px}.attendees label{display:flex;align-items:center;gap:8px;font-size:11px;color:#6a805f}.attendees small{margin-left:auto}.attendees input{accent-color:var(--green)}.readonly-note{font-size:10px;line-height:1.8;padding:13px;background:#f4f6ee;border-radius:8px;color:#8d9c7d;margin-bottom:18px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);background:#214e3e;color:white;z-index:150;font-size:12px;padding:13px 22px;border-radius:9px;box-shadow:0 6px 30px #16382720;opacity:0;pointer-events:none;transition:.2s;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.error{background:#974f43}.auth{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.auth-art{background:var(--green);color:white;display:flex;flex-direction:column;justify-content:center;padding:11%;position:relative;overflow:hidden}.auth-art:after{content:'文';font-size:550px;position:absolute;bottom:-95px;right:-100px;color:#ffffff03;line-height:1;pointer-events:none;font-family:serif}.auth-art .logo-mark{background:#ffffff16;width:52px;height:55px}.auth-art h1{font-size:clamp(30px,3.5vw,52px);font-weight:450;letter-spacing:-2px;margin:40px 0 22px;line-height:1.15;max-width:420px}.auth-art p{font-size:13px;line-height:1.9;color:#d0e2f6;max-width:350px}.language-chips{display:flex;gap:8px;margin-top:32px;flex-wrap:wrap}.language-chips span{border:1px solid #ffffff25;border-radius:30px;padding:8px 13px;font-size:10px;color:#e1edf9}.auth-main{display:flex;align-items:center;justify-content:center;padding:30px}.auth-card{max-width:350px;width:100%}.auth-card .brand-name{color:var(--green);font-size:25px;margin-bottom:40px}.auth-card h2{font-size:25px;font-weight:550;letter-spacing:-.7px}.auth-card>p{font-size:12px;line-height:1.8;color:var(--muted);margin:10px 0 26px}.auth-card .field{margin:17px 0}.auth-card .btn{width:100%;margin-top:21px}.auth-card .auth-foot{font-size:10px;color:#98a38b;margin-top:27px;line-height:1.8}.mobile-nav-overlay{display:none}.year-compare{font-size:9px;color:#8c9b80}.review-table td{white-space:normal;max-width:230px;min-width:95px}.inline-link{color:var(--green);text-decoration:underline;background:transparent;padding:0;font:inherit}.month-highlight td{background:#f7faef}.month-highlight td:first-child{border-left:3px solid #83a26a;padding-left:21px}.help-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.help-step{padding:20px;border:1px solid var(--line);border-radius:10px}.help-step span{font-size:10px;color:#91a57d}.help-step h3{font-size:13px;margin-top:9px}.help-step p{font-size:11px;color:var(--muted);line-height:1.8;margin-top:9px}
table{font-size:12px}th{font-size:11px}.student-cell b{font-size:12px}.student-cell small{font-size:10px}.badge{font-size:10px}.stat-top{font-size:11px}.stat-bottom{font-size:10px}.panel-head h2,.table-title h2{font-size:14px}.panel-head p,.table-title p{font-size:11px}.field>label{font-size:12px}.btn{font-size:12px}.modal-head p{font-size:11px}
@media(min-width:1550px){.main{padding-top:45px}.stat{padding:25px}.stat-value{font-size:33px}.chart-container{height:263px}.distribution{padding-top:37px;min-height:214px}}
@media(max-width:1180px){.sidebar{width:205px;padding:30px 14px}.workspace{margin-left:205px}.main{padding:28px 25px}.topbar{padding:0 25px}.stats{gap:11px}.stat{padding:17px 15px}.stat-value{font-size:24px}.panels{grid-template-columns:minmax(0,1.5fr) minmax(255px,1fr)}.distribution{gap:8px;padding-left:12px;padding-right:12px}.donut-wrap,.donut{width:125px;height:125px;min-width:125px}.legend{gap:10px}.page-head h1{font-size:26px}}
@media(max-width:960px){.sidebar{width:185px;padding:28px 10px}.brand{gap:8px;padding-left:8px}.brand-name{font-size:19px}.brand small{font-size:8px}.nav a{padding:12px;font-size:12px}.workspace{margin-left:185px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.panels{grid-template-columns:1fr}.distribution{min-height:175px;gap:36px}.donut-wrap,.donut{width:150px;height:150px;min-width:150px}.distribution-legend{grid-template-columns:1fr;gap:16px}.distribution-bottom{margin-top:12px}.top-date{display:none}.settings-grid{grid-template-columns:1fr}.group-grid{grid-template-columns:repeat(2,1fr)}.page-head{align-items:flex-start}.page-head>.actions{justify-content:flex-end}.main{padding:26px 22px}.panel-head{padding-left:20px;padding-right:20px}}
@media(max-width:680px){.sidebar{transform:translateX(-100%);width:240px;transition:transform .2s;padding:30px 20px}.sidebar.open{transform:translateX(0)}.mobile-nav-overlay.open{display:block;position:fixed;inset:0;background:#1b355950;z-index:19}.workspace{margin-left:0}.topbar{height:62px;padding:0 19px}.menu-button{display:inline-block;margin-right:8px}.breadcrumb{gap:0;font-size:11px}.breadcrumb>.icon,.breadcrumb>.crumb-home{display:none}.top-right{gap:10px}.top-right>.avatar{display:none}.saved-label{font-size:9px}.main{padding:25px 17px 30px}.page-head{display:block;margin-bottom:22px}.page-head h1{font-size:27px;letter-spacing:-1px}.page-head p{font-size:11px;max-width:290px}.page-head>.actions{justify-content:flex-start;margin-top:18px}.eyebrow{font-size:8px;margin-bottom:8px}.btn{padding:10px 13px;font-size:10px;min-height:38px}.toolbar{margin-bottom:17px;align-items:flex-start}.filters{gap:6px}.filters select,.filters input{font-size:10px;max-width:150px}.search{width:100%}.search input{min-width:0;max-width:none;width:100%}.filters .search{width:100%}.toolbar>.filters{width:100%}.toolbar>.filters>.year-picker{flex:1}.segmented button{font-size:10px;padding:8px 15px}.period-label{font-size:10px}.stats{gap:10px;margin-bottom:18px}.stat{min-height:134px;padding:16px 14px}.stat-top{font-size:9px;gap:4px}.stat-icon{width:24px;height:24px;border-radius:7px}.stat-icon .icon{width:13px;height:13px}.stat-value{font-size:24px;margin-top:13px}.stat-bottom{font-size:8px;margin-top:8px}.panels{gap:17px;margin-bottom:18px}.panel-head{padding:19px 18px 0}.panel-head h2{font-size:12px}.legend{font-size:8px;gap:9px}.chart-container{height:205px;margin:15px 16px 0}.chart-footer{margin-left:18px;margin-right:18px;font-size:8px}.chart text{font-size:11px}.distribution{gap:37px}.distribution-bottom{margin-left:18px;margin-right:18px}.table-head{padding:19px 18px 17px}.table-title h2{font-size:12px}.table-title p{font-size:8px;max-width:200px;line-height:1.6}.table-bottom{padding:13px 18px}.table-head .btn.text{font-size:9px}th:first-child,td:first-child{padding-left:18px}td{padding:13px 12px}th{padding:12px}.table-total td{font-size:10px}.alert{font-size:10px;padding:12px 13px}.note-line{font-size:9px}.footer{font-size:8px;flex-direction:column;gap:9px}.income-bar{display:none}.group-grid{grid-template-columns:1fr}.settings-panel{padding:20px}.settings-grid{gap:17px}.auth{grid-template-columns:1fr}.auth-art{display:none}.auth-main{padding:35px 26px;min-height:100dvh}.auth-card{max-width:380px}.auth-card .brand-name{margin-bottom:30px}.modal-head{padding:20px}.modal-head h2{font-size:18px}.modal-body{padding:20px}.modal-footer{padding:15px 20px}.form-grid{gap:14px}.field input,.field select,.field textarea{font-size:16px}.student-summary{gap:7px}.student-summary>div{padding:12px}.student-summary b{font-size:16px}.calculation{padding:13px;font-size:9px}.calculation b{font-size:16px}.help-columns{grid-template-columns:1fr}.details-grid{gap:13px}.detail-value{font-size:12px}.review-counts>div{min-width:100px;padding:13px}.review-counts b{font-size:22px}.panel-body{padding:18px}.month-highlight td:first-child{padding-left:15px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:680px){.btn{font-size:12px}.stat-top{font-size:10px}.stat-bottom{font-size:10px}.stat{min-height:145px}.filters select,.filters input{font-size:12px}.table-title p{font-size:10px}.panel-head h2,.table-title h2{font-size:13px}.panel-head p{font-size:10px}.form-grid{column-gap:12px}.form-grid .full{grid-column:1/-1}.table-wrap{max-width:100%}}

/* TeachMetria identity system. Presentation-only overrides; business logic stays unchanged. */
:root{--brand-navy:#162c4c;--brand-blue:#2256a8;--brand-teal:#6ce1cf;--brand-cloud:#eef5fc}
.logo-mark{background:transparent url("/icon.svg") center/contain no-repeat;flex:none;box-shadow:0 2px 9px #1836610b}
.auth-art{background:linear-gradient(138deg,#122b4c 5%,#194d77 63%,#146877 100%)}
.auth-art:after{content:"";width:430px;height:430px;border:1px solid #ffffff1c;border-radius:50%;right:-130px;bottom:-150px;box-shadow:0 0 0 78px #ffffff09,0 0 0 156px #ffffff04}
.auth-art .logo-mark{background:transparent url("/icon.svg") center/contain no-repeat;width:58px;height:58px;border-radius:16px;box-shadow:0 14px 32px #071d3b45}
.auth-art h1{font-weight:520;letter-spacing:-1.7px;position:relative;z-index:1}
.auth-art p,.language-chips{position:relative;z-index:1}
.language-chips span{background:#ffffff11;border-color:#c9f6f440;color:#ecffff}
.auth-card{max-width:395px}
.auth-card .brand-name{font-weight:720;letter-spacing:-1px}
.brand-name{letter-spacing:-.8px}
.brand small{letter-spacing:.45px;font-size:9px}
.btn:not(.secondary):not(.danger):not(.text):hover{background:#163f87}
.stat.featured{background:linear-gradient(140deg,#1c4a8c,#153e79);border-color:#1c4a8c}
.stat.featured .stat-top,.stat.featured .stat-bottom{color:#d2e5fa}
.stat.featured .stat-icon{color:#77e0d2}
:focus-visible{outline-color:#73cfc8}
@media(max-width:680px){.auth-art:after{width:260px;height:260px;right:-60px;bottom:-135px}.auth-art h1{letter-spacing:-1px}}
