:root{font-family:DM Sans,Inter,ui-sans-serif,system-ui,sans-serif;color:#1b2924;background:#f7f9f8;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:#fff;border-right:1px solid #e9eeeb;padding:25px 17px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:1px 9px;font:800 16px Manrope,sans-serif;letter-spacing:-.4px}.brand-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#197555;color:#fff;font-size:19px}.brand-sub{display:block;color:#899790;font:700 8px DM Sans,sans-serif;letter-spacing:1.35px;margin-top:2px}.org-switch{display:flex;align-items:center;gap:10px;border:1px solid #e9eeeb;border-radius:9px;padding:10px;margin:35px 0 29px}.org-avatar,.profile-avatar{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:9px;background:#e8f4ed;color:#347a59;font-weight:700;font-size:12px}.org-switch b,.sidebar-bottom b{display:block;font-size:11px;font-weight:700}.org-switch small,.sidebar-bottom small{display:block;color:#8b9790;font-size:10px;margin-top:3px}.chevron{margin-left:auto;color:#829089}.nav-label{font-size:9px;font-weight:700;letter-spacing:1.1px;color:#9aa49f;padding:0 10px;margin:0 0 9px}.sidebar nav{display:grid;gap:4px}.sidebar nav a{display:flex;align-items:center;gap:12px;text-decoration:none;color:#64716a;padding:11px 12px;border-radius:8px;font-size:12px;font-weight:600}.sidebar nav a>span{width:17px;font-size:16px;text-align:center}.sidebar nav a.selected{background:#edf6f0;color:#23704f}.sidebar nav i{margin-left:auto;color:#a1aaa5;font-size:9px;font-style:normal;font-weight:500}.sidebar-bottom{margin-top:auto;border-top:1px solid #edf0ee;padding:17px 3px 1px;display:flex;align-items:center;gap:9px}.profile-avatar{background:#f0eaf7;color:#76579a;font-size:10px}.sidebar-bottom button{margin-left:auto;border:0;background:none;color:#7f8b84;font-size:19px}.main-area{margin-left:252px;min-height:100vh}.topbar{height:62px;background:#fff;border-bottom:1px solid #e9eeeb;display:flex;justify-content:space-between;align-items:center;padding:0 42px}.breadcrumb{color:#69766f;font-size:11px}.breadcrumb span{padding:0 9px;color:#b4beb8}.top-actions{display:flex;align-items:center;gap:14px}.icon-button{width:30px;height:30px;display:grid;place-items:center;border:1px solid #e9eeeb;border-radius:8px;background:#fff;color:#5c6a63;font-size:14px}.notification{font-size:16px}.small{width:28px;height:28px;border-radius:50%}.content{max-width:1260px;margin:0 auto;padding:39px 42px 30px}.heading-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.eyebrow{margin:0 0 7px;color:#408464;font-size:9px;font-weight:700;letter-spacing:1.1px}h1,h2{font-family:Manrope,DM Sans,sans-serif;letter-spacing:-.6px}.heading-row h1{font-size:25px;margin:0;font-weight:800}.subtitle{font-size:12px;color:#7f8b84;margin:8px 0 0}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #176e4b;border-radius:7px;background:#197653;color:#fff;padding:10px 14px;font-size:11px;font-weight:700;box-shadow:0 2px 5px #1b714b1a}.primary-button:hover{background:#126341}.primary-button:disabled{opacity:.5;cursor:not-allowed}.primary-button span{font-size:17px;line-height:10px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.stats article{min-height:93px;display:flex;align-items:center;gap:12px;padding:17px;background:#fff;border:1px solid #e9eeeb;border-radius:9px}.stat-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:17px}.green{color:#2b8057;background:#edf7f0}.blue{color:#477ca1;background:#eef5fa}.amber{color:#af8040;background:#fbf5e9}.stats small{display:block;color:#77847c;font-size:10px}.stats strong{display:block;font:800 20px Manrope,sans-serif;margin-top:3px}.stat-caption{margin-left:auto;color:#a2aca6;font-size:9px}.panel{background:#fff;border:1px solid #e8eeea;border-radius:10px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 15px}.panel-head h2{font-size:14px;margin:0;font-weight:800}.panel-head p{font-size:10px;color:#86928b;margin:5px 0 0}.secondary-button{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #e3e9e5;border-radius:6px;color:#56635c;padding:8px 10px;font-size:11px}.filters{display:flex;gap:10px;padding:0 20px 15px}.search{height:35px;display:flex;align-items:center;gap:8px;flex:1;border:1px solid #e7ece9;border-radius:6px;padding:0 10px;color:#89968e}.search>span{font-size:20px}.search input{width:100%;border:0;outline:0;color:#27342e;font-size:10px}.search input::placeholder{color:#a2aca6}.select-wrap{height:35px;display:flex;align-items:center;gap:8px;border:1px solid #e7ece9;border-radius:6px;padding:0 10px;color:#88948d;font-size:10px}.select-wrap select{border:0;background:transparent;color:#39473f;outline:0;font-size:10px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}thead{background:#f8faf9}th{padding:10px 20px;color:#8a9690;font-size:8px;letter-spacing:.7px;font-weight:700}td{padding:12px 20px;border-top:1px solid #f0f2f1;color:#69766f;font-size:10px}tbody tr:hover{background:#fcfdfc}.student-cell{display:flex;align-items:center;gap:10px}.student-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f2eee7;color:#86765f;font-size:9px;font-weight:700}.student-cell b{display:block;color:#34423a;font-size:10px}.student-cell small{display:block;color:#97a19b;font-size:9px;margin-top:3px}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:20px;font-size:9px;font-weight:700}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge.active{color:#39805a;background:#eef7f0}.badge.inactive{color:#818982;background:#f0f2f1}.actions-col{width:68px;text-align:center}.row-action{border:0;background:transparent;color:#77847c;font-size:17px}.empty{text-align:center;color:#909b94;padding:38px 20px}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;border-top:1px solid #edf0ee;color:#8c9791;font-size:9px}.table-footer b{color:#536159}.table-footer>div{display:flex;align-items:center;gap:10px}.table-footer button{border:1px solid #e6ebe8;background:#fff;border-radius:5px;padding:6px 8px;color:#536159;font-size:9px}.table-footer button:disabled{color:#b6bfba;cursor:default}.page-count{color:#607067}.privacy-note{text-align:center;color:#9aa49e;font-size:9px;margin:18px 0}.notice,.error-banner{display:flex;flex-direction:column;gap:4px;border-radius:7px;padding:11px 14px;margin:0 0 16px;font-size:10px}.notice{background:#f1f7f3;border:1px solid #dcebe1;color:#526b5b}.notice b{color:#34714e}.notice code{font-size:10px}.error-banner{background:#fff3f1;border:1px solid #f2d9d4;color:#9b4d41}.modal-backdrop{position:fixed;inset:0;background:#17221e66;display:grid;place-items:center;padding:20px;z-index:3}.modal{width:min(100%,440px);background:#fff;border-radius:12px;padding:24px;box-shadow:0 20px 65px #12201838}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal-head h2{font-size:19px;margin:0}.modal form{display:grid;gap:14px}.modal form>label{display:grid;gap:6px;color:#506057;font-size:10px;font-weight:700}.modal input{height:37px;border:1px solid #e2e9e4;border-radius:6px;padding:0 10px;outline-color:#69a986;font-size:11px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.form-actions .primary-button{font-size:10px}@media(max-width:900px){.sidebar{width:205px}.main-area{margin-left:205px}.content{padding:30px 24px}.topbar{padding:0 24px}.stats article{padding:12px;gap:8px}.stat-caption{display:none}}@media(max-width:650px){.sidebar{position:static;width:auto;height:auto;padding:12px 16px;border-right:0;border-bottom:1px solid #e9eeeb}.brand{padding:0}.org-switch,.nav-label,.sidebar nav,.sidebar-bottom{display:none}.main-area{margin:0}.topbar{height:48px;padding:0 16px}.content{padding:25px 15px}.heading-row{align-items:flex-start;gap:12px}.heading-row h1{font-size:22px}.primary-button{padding:9px 10px;white-space:nowrap}.stats{grid-template-columns:1fr}.stats article{min-height:69px}.stat-caption{display:block}.panel-head{padding:16px 13px 12px}.filters{padding:0 13px 12px;flex-direction:column}.table-footer{padding:12px;gap:10px;align-items:flex-start;flex-direction:column}.breadcrumb{font-size:10px}}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f8f6}.auth-loading{min-height:100vh;display:grid;place-items:center;color:#68766e;font:14px DM Sans,sans-serif}.auth-card{width:min(100%,420px);display:grid;gap:14px;padding:32px;background:#fff;border:1px solid #e5ece7;border-radius:14px;box-shadow:0 20px 60px #20392b12}.auth-card .brand{padding:0 0 12px}.auth-card h1{margin:0;font:800 24px Manrope,sans-serif;color:#26362d}.auth-card>.subtitle{margin:-8px 0 4px;line-height:1.5}.auth-card>label,.invite-form label,.access-role-form form>label{display:grid;gap:6px;color:#506057;font-size:11px;font-weight:700}.auth-card input,.invite-form input,.invite-form select,.access-role-form input:not([type=checkbox]){height:38px;border:1px solid #e2e9e4;border-radius:6px;padding:0 10px;outline-color:#69a986;font:12px DM Sans,sans-serif}.auth-card>small{color:#849088;font-size:10px;line-height:1.5}.access-content>.panel{margin-bottom:18px}.access-role-form form{display:grid;gap:13px;padding:0 18px 18px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.permission-grid label{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid #e9eeeb;border-radius:7px;font-size:10px}.permission-grid input{margin-top:2px;accent-color:#327651}.permission-grid b,.permission-grid small{display:block}.permission-grid b{color:#3d4d43}.permission-grid small{margin-top:4px;color:#8b968f}.invite-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:10px;padding:0 18px 16px;border-bottom:1px solid #edf0ee}.invite-form select,.access-user-row select{height:38px;border:1px solid #e2e9e4;border-radius:6px;padding:0 8px;background:#fff;color:#39473f;font:11px DM Sans,sans-serif}.access-user-list{padding:0 18px}.access-user-row{display:flex;align-items:center;gap:10px;padding:12px 2px;border-bottom:1px solid #edf0ee}.access-user-copy{min-width:0;flex:1}.access-user-copy b,.access-user-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-user-copy b{font-size:11px;color:#34423a}.access-user-copy small{margin-top:4px;color:#929d96;font-size:9px}.access-user-row select{max-width:160px}.access-user-row .secondary-button{font-size:9px;padding:7px 9px}.access-empty{padding:20px 0;color:#909b94;text-align:center;font-size:11px}.access-role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:0 18px 18px}.access-role-grid article{padding:14px;border:1px solid #e9eeeb;border-radius:8px}.access-role-grid article>div{display:flex;align-items:center;gap:8px}.access-role-grid article>b,.access-role-grid article>div>b{font-size:12px;color:#34423a}.access-role-grid article p,.access-role-grid article small{color:#849088;font-size:10px}.access-role-grid ul{max-height:140px;overflow:auto;padding-left:17px;color:#5f6e64;font-size:9px;line-height:1.7}@media(max-width:760px){.invite-form,.permission-grid{grid-template-columns:1fr}.access-user-row{flex-wrap:wrap}.access-user-copy{flex-basis:calc(100% - 60px)}.access-user-row select{margin-left:46px}.access-role-form{overflow:hidden}}.access-invite-note{margin:0;padding:0 18px 14px;color:#849088;font-size:9px}.overview-content>.heading-row{margin-bottom:22px}.overview-content>.heading-row .secondary-button:disabled{opacity:.55;cursor:default}.overview-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.overview-stat{min-height:126px;display:flex;align-items:flex-start;gap:13px;padding:18px;background:#fff;border:1px solid #e9eeeb;border-radius:10px}.overview-stat-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;font-size:19px}.overview-stat-icon.green{background:#edf7f0;color:#2b8057}.overview-stat-icon.blue{background:#eef5fa;color:#477ca1}.overview-stat-icon.violet{background:#f2eef9;color:#7864a1}.overview-stat-icon.amber{background:#fbf5e9;color:#af8040}.overview-stat-icon.teal{background:#eaf6f4;color:#43847b}.overview-stat-icon.rose{background:#fbf0f0;color:#a96969}.overview-stat-copy{display:grid;gap:5px}.overview-stat-copy small{color:#78857d;font-size:10px}.overview-stat-copy strong{color:#26362d;font:800 25px Manrope,DM Sans,sans-serif;letter-spacing:-.7px}.overview-stat-copy>span{color:#9aa49e;font-size:9px}.overview-panel{margin-top:20px}.overview-week{color:#8b978f;font-size:8px;font-weight:700;letter-spacing:.8px}.overview-schedule-list{padding:0 20px 8px}.overview-schedule-row{display:flex;align-items:center;gap:14px;min-height:60px;border-top:1px solid #f0f2f1}.overview-day{width:34px;color:#347653;font-size:10px;font-weight:800}.overview-time{width:42px;color:#56655c;font-size:10px;font-weight:700}.overview-class-name{display:flex;align-items:center;justify-content:space-between;flex:1;gap:12px}.overview-class-name b{color:#39483f;font-size:11px}.overview-class-name small{color:#929d96;font-size:9px}.overview-schedule-mark{color:#9aa49e;font-size:20px}.overview-empty{padding:24px 20px;margin:0;color:#909b94;font-size:11px;text-align:center}@media(max-width:760px){.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-stat{min-height:108px;padding:14px}.overview-schedule-list{padding:0 13px 7px}.overview-schedule-row{gap:8px}.overview-class-name{align-items:flex-start;flex-direction:column;gap:4px}}@media(max-width:430px){.overview-stats{grid-template-columns:1fr}}.auth-mode-select{display:flex;flex-wrap:wrap;gap:6px;padding:5px;background:#f4f7f5;border-radius:8px}.auth-mode-select button{flex:1;border:0;border-radius:6px;background:transparent;color:#6f7d74;padding:8px 9px;font-family:inherit;font-size:10px;font-weight:600}.auth-mode-select button.active{background:#fff;color:#236e4e;box-shadow:0 1px 4px #26362d18}.student-portal{min-height:100vh;background:#f7f9f8}.student-portal-header{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid #e9eeeb}.student-portal-user{display:flex;align-items:center;gap:14px;color:#526057;font-size:11px}.student-portal-content{max-width:1180px;margin:0 auto;padding:38px 26px}.student-welcome{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.student-welcome h1{margin:0;font:800 27px Manrope,system-ui,sans-serif;color:#26362d}.student-portal-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.student-portal-stats article{display:flex;gap:12px;align-items:flex-start;padding:17px;background:#fff;border:1px solid #e9eeeb;border-radius:10px}.student-portal-stats article>div{display:grid;gap:5px}.student-portal-stats small{color:#77847c;font-size:10px}.student-portal-stats strong{color:#26362d;font:800 24px Manrope,system-ui,sans-serif}.student-portal-stats article>div>span{color:#9aa49e;font-size:9px}.student-portal-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:15px}.student-enrollment-list{padding:0 18px 8px}.student-enrollment-list article{display:flex;align-items:center;gap:10px;padding:13px 0;border-top:1px solid #f0f2f1}.student-enrollment-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#edf7f0;color:#347653}.student-enrollment-mark.pending{background:#fbf5e9;color:#af8040}.student-enrollment-copy{flex:1;min-width:0}.student-enrollment-copy b,.student-enrollment-copy small{display:block}.student-enrollment-copy b{color:#39483f;font-size:11px}.student-enrollment-copy small{margin-top:4px;color:#929d96;font-size:9px}.student-performance{display:flex;align-items:center;gap:20px;padding:6px 20px 22px}.performance-rate{display:grid;place-items:center;align-content:center;flex:none;width:92px;height:92px;border:7px solid #e8f3ec;border-radius:50%}.performance-rate strong{color:#28734e;font:800 20px Manrope,system-ui,sans-serif}.performance-rate span{color:#8b978f;font-size:9px}.performance-breakdown{display:grid;gap:9px;flex:1}.performance-breakdown span{display:flex;align-items:center;gap:7px;color:#69766f;font-size:10px}.performance-breakdown b{margin-left:auto;color:#3b4c42}.performance-breakdown i{width:7px;height:7px;border-radius:50%}.present-dot{background:#39805a}.late-dot{background:#af8040}.absent-dot{background:#bd6b60}.excused-dot{background:#7892a4}.student-schedule-panel{margin-top:16px}.student-available{margin-top:28px}.student-available>.heading-row{margin-bottom:14px}.student-available h2{margin:0;font-size:18px}.available-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.available-class-card{display:flex;flex-direction:column;gap:10px;padding:16px;background:#fff;border:1px solid #e9eeeb;border-radius:10px}.available-class-top{display:flex;align-items:center;justify-content:space-between}.available-seats{color:#738278;font-size:9px}.available-class-card h3{margin:0;color:#34423a;font:800 14px Manrope,system-ui,sans-serif}.available-class-card>p{margin:0;color:#7f8b84;font-size:10px;line-height:1.5}.available-class-card .class-schedules{display:grid;gap:5px;min-height:26px}.available-class-card .class-schedule{font-size:9px}.available-class-card>.primary-button,.available-class-card>.secondary-button{margin-top:auto;justify-content:center;font-size:10px}.student-portal-footer{padding:25px 0 4px;text-align:center;color:#9aa49e;font-size:9px}@media(max-width:820px){.student-portal-grid{grid-template-columns:1fr}.available-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.student-portal-header{padding:0 15px}.student-portal-user>span{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-portal-content{padding:24px 14px}.student-portal-stats{grid-template-columns:1fr}.student-portal-stats article{min-height:76px}.student-welcome{align-items:flex-start;gap:10px}.student-welcome h1{font-size:23px}.available-class-grid{grid-template-columns:1fr}.student-performance{gap:12px;padding:4px 13px 17px}.performance-rate{width:76px;height:76px}.overview-schedule-list{padding:0 13px 8px}}.theme-selector{height:30px;display:flex;align-items:center;gap:6px;padding:0 8px;border:1px solid #e9eeeb;border-radius:8px;background:#fff;color:#69766f;font-size:11px}.theme-selector select{border:0;outline:0;background:transparent;color:inherit;font:600 10px DM Sans,sans-serif;cursor:pointer}.theme-selector:focus-within{outline:2px solid #d99a28;outline-offset:2px}:root[data-theme=dark]{color-scheme:dark;background:#050d1a;color:#edf1f7}:root[data-theme=dark] body,:root[data-theme=dark] .app-shell,:root[data-theme=dark] .main-area,:root[data-theme=dark] .student-portal,:root[data-theme=dark] .auth-screen{background:#050d1a;color:#edf1f7}:root[data-theme=dark] .sidebar,:root[data-theme=dark] .topbar,:root[data-theme=dark] .student-portal-header,:root[data-theme=dark] .panel,:root[data-theme=dark] .stats article,:root[data-theme=dark] .overview-stat,:root[data-theme=dark] .schedule-summary article,:root[data-theme=dark] .access-role-grid article,:root[data-theme=dark] .location-card,:root[data-theme=dark] .available-class-card,:root[data-theme=dark] .auth-card,:root[data-theme=dark] .modal,:root[data-theme=dark] .student-portal-stats article{background:#091426;border-color:#1a2a40;color:#edf1f7}:root[data-theme=dark] .org-switch,:root[data-theme=dark] .icon-button,:root[data-theme=dark] .secondary-button,:root[data-theme=dark] .theme-selector{background:#0c192c;border-color:#26364b;color:#d2d9e3}:root[data-theme=dark] .brand,:root[data-theme=dark] .heading-row h1,:root[data-theme=dark] .panel-head h2,:root[data-theme=dark] .student-welcome h1,:root[data-theme=dark] .student-portal-stats strong,:root[data-theme=dark] .overview-stat-copy strong,:root[data-theme=dark] .class-title h3,:root[data-theme=dark] .available-class-card h3,:root[data-theme=dark] .student-enrollment-copy b,:root[data-theme=dark] .overview-class-name b,:root[data-theme=dark] .access-user-copy b,:root[data-theme=dark] .access-role-grid article>b,:root[data-theme=dark] .access-role-grid article>div>b,:root[data-theme=dark] .location-card-copy b,:root[data-theme=dark] .attendance-row b{color:#f2f4f8}:root[data-theme=dark] .brand-sub,:root[data-theme=dark] .org-switch small,:root[data-theme=dark] .sidebar-bottom small,:root[data-theme=dark] .sidebar nav a,:root[data-theme=dark] .breadcrumb,:root[data-theme=dark] .subtitle,:root[data-theme=dark] .panel-head p,:root[data-theme=dark] .stats small,:root[data-theme=dark] .overview-stat-copy small,:root[data-theme=dark] .overview-stat-copy>span,:root[data-theme=dark] .schedule-summary small,:root[data-theme=dark] .class-copy>p,:root[data-theme=dark] .class-meta,:root[data-theme=dark] .class-schedule,:root[data-theme=dark] .overview-time,:root[data-theme=dark] .overview-class-name small,:root[data-theme=dark] .overview-empty,:root[data-theme=dark] .student-portal-user,:root[data-theme=dark] .student-portal-stats small,:root[data-theme=dark] .student-portal-stats article>div>span,:root[data-theme=dark] .student-enrollment-copy small,:root[data-theme=dark] .available-class-card>p,:root[data-theme=dark] .available-seats,:root[data-theme=dark] .performance-breakdown span,:root[data-theme=dark] .performance-breakdown b,:root[data-theme=dark] .access-role-grid article p,:root[data-theme=dark] .access-role-grid article small,:root[data-theme=dark] .access-role-grid ul,:root[data-theme=dark] .location-card-copy small,:root[data-theme=dark] .location-empty,:root[data-theme=dark] td{color:#aeb9c8}:root[data-theme=dark] .eyebrow,:root[data-theme=dark] .overview-day,:root[data-theme=dark] .text-button,:root[data-theme=dark] .inline-location{color:#f0ad2c}:root[data-theme=dark] .brand-icon{background:#e7a323;color:#08111f}:root[data-theme=dark] .primary-button{background:#e7a323;border-color:#e7a323;color:#09111d;box-shadow:none}:root[data-theme=dark] .primary-button:hover{background:#f5b83e;border-color:#f5b83e}:root[data-theme=dark] .sidebar nav a.selected{background:#2b2110;color:#ffc34d}:root[data-theme=dark] .org-avatar,:root[data-theme=dark] .profile-avatar{background:#192941;color:#f0b13a}:root[data-theme=dark] .sidebar-bottom,:root[data-theme=dark] .class-card,:root[data-theme=dark] .overview-schedule-row,:root[data-theme=dark] .student-enrollment-list article,:root[data-theme=dark] .access-user-row,:root[data-theme=dark] .invite-form,:root[data-theme=dark] .attendance-row{border-color:#1b2b40}:root[data-theme=dark] thead,:root[data-theme=dark] .search,:root[data-theme=dark] .select-wrap,:root[data-theme=dark] .class-schedule,:root[data-theme=dark] .schedule-form-row,:root[data-theme=dark] .auth-mode-select,:root[data-theme=dark] .auth-mode-select button.active{background:#0d1b2f;color:#c6d0de;border-color:#26364b;box-shadow:none}:root[data-theme=dark] th,:root[data-theme=dark] .stat-caption,:root[data-theme=dark] .search,:root[data-theme=dark] .select-wrap{color:#9eacbd}:root[data-theme=dark] input,:root[data-theme=dark] textarea,:root[data-theme=dark] select,:root[data-theme=dark] .schedule-form-row select,:root[data-theme=dark] .schedule-form-row input,:root[data-theme=dark] .attendance-create input,:root[data-theme=dark] .attendance-create select,:root[data-theme=dark] .attendance-row select,:root[data-theme=dark] .invite-form select,:root[data-theme=dark] .access-user-row select,:root[data-theme=dark] .auth-card input{background:#07111f;color:#edf1f7;border-color:#2a3b52}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#75849a}:root[data-theme=dark] .search input,:root[data-theme=dark] .select-wrap select{background:transparent;color:#edf1f7}:root[data-theme=dark] .class-mark,:root[data-theme=dark] .student-enrollment-mark{background:#172a3f;color:#eeb039}:root[data-theme=dark] .student-enrollment-mark.pending{background:#302514;color:#f0bd5a}:root[data-theme=dark] .location-card-icon,:root[data-theme=dark] .schedule-summary-icon,:root[data-theme=dark] .overview-stat-icon.green,:root[data-theme=dark] .overview-stat-icon.blue,:root[data-theme=dark] .overview-stat-icon.violet,:root[data-theme=dark] .overview-stat-icon.amber,:root[data-theme=dark] .overview-stat-icon.teal,:root[data-theme=dark] .overview-stat-icon.rose{background:#17263a;color:#efb13b}:root[data-theme=dark] .performance-rate{border-color:#26364b}:root[data-theme=dark] .performance-rate strong{color:#f0b13a}:root[data-theme=dark] .auth-mode-select button{color:#aeb9c8}:root[data-theme=dark] .auth-mode-select button.active{color:#f5bd50}:root[data-theme=dark] .schedule-modal textarea,:root[data-theme=dark] .attendance-session-list button{background:#091426;color:#dce3ec;border-color:#26364b}:root[data-theme=dark] .badge.active{background:#173322;color:#8fd3a6}:root[data-theme=dark] .badge.inactive{background:#302514;color:#f0bd5a}:root[data-theme=dark] .error-banner{background:#321d22;color:#ffc2c2;border-color:#5a2c34}:root[data-theme=dark] .notice{background:#192a20;color:#b8e7c7;border-color:#2d5139}@media(max-width:600px){.theme-selector{padding:0 6px}.theme-selector select{max-width:66px}}:root[data-theme=dark] tbody tr{background:#091426}:root[data-theme=dark] tbody tr:hover{background:#122239}:root[data-theme=dark] tbody tr:hover td{background:transparent}:root[data-theme=dark] .student-cell b{color:#f2f4f8}:root[data-theme=dark] .student-cell small{color:#9eacbd}:root[data-theme=dark] .student-avatar{background:#1a2a40;color:#f2c46d}:root[data-theme=dark] .row-action{color:#c2cddd;border-radius:5px}:root[data-theme=dark] .row-action:hover{background:#26364b;color:#ffc34d}:root[data-theme=dark] .table-footer{border-color:#1b2b40;color:#aeb9c8}:root[data-theme=dark] .table-footer b,:root[data-theme=dark] .page-count{color:#d2d9e3}:root[data-theme=dark] .table-footer button{background:#0c192c;border-color:#2b3d54;color:#d2d9e3}:root[data-theme=dark] .table-footer button:hover:not(:disabled){background:#182a40;border-color:#e7a323;color:#ffc34d}:root[data-theme=dark] .table-footer button:disabled{background:#0a1525;border-color:#1c2a3b;color:#637188}:root[data-theme=dark] .secondary-button:hover,:root[data-theme=dark] .icon-button:hover{background:#182a40;border-color:#e7a323;color:#ffc34d}:root[data-theme=light]{color-scheme:light;background:#f5f7fa;color:#17263a}:root[data-theme=light] body,:root[data-theme=light] .app-shell,:root[data-theme=light] .main-area,:root[data-theme=light] .student-portal,:root[data-theme=light] .auth-screen{background:#f5f7fa;color:#17263a}:root[data-theme=light] .sidebar,:root[data-theme=light] .topbar,:root[data-theme=light] .student-portal-header,:root[data-theme=light] .panel,:root[data-theme=light] .stats article,:root[data-theme=light] .overview-stat,:root[data-theme=light] .schedule-summary article,:root[data-theme=light] .access-role-grid article,:root[data-theme=light] .location-card,:root[data-theme=light] .available-class-card,:root[data-theme=light] .auth-card,:root[data-theme=light] .modal,:root[data-theme=light] .student-portal-stats article{background:#fff;border-color:#e1e7ef;color:#17263a}:root[data-theme=light] .heading-row h1,:root[data-theme=light] .panel-head h2,:root[data-theme=light] .student-welcome h1,:root[data-theme=light] .student-portal-stats strong,:root[data-theme=light] .overview-stat-copy strong,:root[data-theme=light] .class-title h3,:root[data-theme=light] .available-class-card h3,:root[data-theme=light] .student-enrollment-copy b,:root[data-theme=light] .overview-class-name b,:root[data-theme=light] .access-user-copy b,:root[data-theme=light] .access-role-grid article>b,:root[data-theme=light] .access-role-grid article>div>b,:root[data-theme=light] .location-card-copy b,:root[data-theme=light] .attendance-row b,:root[data-theme=light] .student-cell b{color:#17263a}:root[data-theme=light] .brand-sub,:root[data-theme=light] .org-switch small,:root[data-theme=light] .sidebar-bottom small,:root[data-theme=light] .sidebar nav a,:root[data-theme=light] .breadcrumb,:root[data-theme=light] .subtitle,:root[data-theme=light] .panel-head p,:root[data-theme=light] .stats small,:root[data-theme=light] .overview-stat-copy small,:root[data-theme=light] .overview-stat-copy>span,:root[data-theme=light] .schedule-summary small,:root[data-theme=light] .class-copy>p,:root[data-theme=light] .class-meta,:root[data-theme=light] .overview-time,:root[data-theme=light] .overview-class-name small,:root[data-theme=light] .overview-empty,:root[data-theme=light] .student-portal-user,:root[data-theme=light] .student-portal-stats small,:root[data-theme=light] .student-portal-stats article>div>span,:root[data-theme=light] .student-enrollment-copy small,:root[data-theme=light] .available-class-card>p,:root[data-theme=light] .available-seats,:root[data-theme=light] .performance-breakdown span,:root[data-theme=light] .performance-breakdown b,:root[data-theme=light] .access-role-grid article p,:root[data-theme=light] .access-role-grid article small,:root[data-theme=light] .access-role-grid ul,:root[data-theme=light] .location-card-copy small,:root[data-theme=light] .location-empty,:root[data-theme=light] td,:root[data-theme=light] .student-cell small{color:#66758a}:root[data-theme=light] .eyebrow,:root[data-theme=light] .overview-day{color:#b77a13}:root[data-theme=light] .brand-icon{background:#17365d;color:#fff}:root[data-theme=light] .primary-button{background:#17365d;border-color:#17365d;color:#fff;box-shadow:0 2px 5px #17365d1a}:root[data-theme=light] .primary-button:hover{background:#102844;border-color:#102844}:root[data-theme=light] .sidebar nav a.selected{background:#fff3d8;color:#8b5a08}:root[data-theme=light] .sidebar nav a:hover{background:#f1f4f8;color:#17365d}:root[data-theme=light] .org-switch,:root[data-theme=light] .icon-button,:root[data-theme=light] .secondary-button,:root[data-theme=light] .theme-selector{background:#fff;border-color:#e1e7ef;color:#33465f}:root[data-theme=light] .secondary-button:hover,:root[data-theme=light] .icon-button:hover{background:#fff8e9;border-color:#d99a24;color:#8b5a08}:root[data-theme=light] thead{background:#f1f4f8}:root[data-theme=light] th{color:#66758a}:root[data-theme=light] tbody tr{background:#fff}:root[data-theme=light] tbody tr:hover{background:#f5f7fa}:root[data-theme=light] tbody tr:hover td{background:transparent}:root[data-theme=light] td,:root[data-theme=light] .table-footer,:root[data-theme=light] .class-card,:root[data-theme=light] .overview-schedule-row,:root[data-theme=light] .student-enrollment-list article,:root[data-theme=light] .access-user-row,:root[data-theme=light] .invite-form,:root[data-theme=light] .attendance-row,:root[data-theme=light] .sidebar-bottom{border-color:#e1e7ef}:root[data-theme=light] .row-action{color:#66758a;border-radius:5px}:root[data-theme=light] .row-action:hover{background:#fff3d8;color:#8b5a08}:root[data-theme=light] .table-footer button{background:#fff;border-color:#e1e7ef;color:#33465f}:root[data-theme=light] .table-footer button:hover:not(:disabled){background:#fff8e9;border-color:#d99a24;color:#8b5a08}:root[data-theme=light] .table-footer button:disabled{background:#f5f7fa;border-color:#e1e7ef;color:#9aa6b6}:root[data-theme=light] .search,:root[data-theme=light] .select-wrap,:root[data-theme=light] .schedule-form-row{background:#fff;border-color:#e1e7ef;color:#66758a}:root[data-theme=light] input,:root[data-theme=light] textarea,:root[data-theme=light] select,:root[data-theme=light] .schedule-form-row select,:root[data-theme=light] .schedule-form-row input,:root[data-theme=light] .attendance-create input,:root[data-theme=light] .attendance-create select,:root[data-theme=light] .attendance-row select,:root[data-theme=light] .invite-form select,:root[data-theme=light] .access-user-row select,:root[data-theme=light] .auth-card input{background:#fff;color:#17263a;border-color:#d6dee8}:root[data-theme=light] .search input,:root[data-theme=light] .select-wrap select{background:transparent;color:#17263a}:root[data-theme=light] .search input::placeholder,:root[data-theme=light] input::placeholder,:root[data-theme=light] textarea::placeholder{color:#8794a6}:root[data-theme=light] .badge.active{background:#e8f4ed;color:#26734c}:root[data-theme=light] .badge.inactive{background:#fff3d8;color:#95620e}:root[data-theme=light] .performance-rate{border-color:#f1dfb9}:root[data-theme=light] .performance-rate strong{color:#17365d}:root[data-theme=light] .auth-mode-select{background:#f1f4f8}:root[data-theme=light] .auth-mode-select button.active{background:#fff;color:#17365d}.profile-content{max-width:920px;margin:0 auto}.profile-form{display:grid;gap:16px}.profile-photo-controls{display:flex;align-items:center;gap:20px;padding:0 20px 20px}.profile-photo-preview{width:96px;height:96px;display:grid;place-items:center;overflow:hidden;flex:none;border:1px solid #e1e7ef;border-radius:50%;background:#edf1f6;color:#17365d;font:800 24px Manrope,DM Sans,sans-serif}.profile-photo-preview img,.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-photo-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.profile-photo-actions small{flex-basis:100%;color:#66758a;font-size:10px}.profile-file-input{display:none}.profile-remove-photo{border:0;background:transparent}.profile-remove-photo:disabled{opacity:.45;cursor:not-allowed}.profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 20px 20px}.profile-fields label{display:grid;align-content:start;gap:7px;color:#33465f;font-size:11px;font-weight:700}.profile-fields label:first-child{grid-column:1/-1}.profile-fields input{height:40px;padding:0 11px;border:1px solid #d6dee8;border-radius:7px;background:#fff;color:#17263a;font:12px DM Sans,sans-serif}.profile-fields input:focus{outline:2px solid #d99a24;outline-offset:1px}.profile-fields input:disabled{opacity:.65}.profile-fields input[readonly]{background:#f1f4f8;color:#66758a;cursor:not-allowed}.profile-fields label small{color:#66758a;font-size:9px;font-weight:400;line-height:1.5}.profile-save-row{display:flex;justify-content:flex-end;padding:14px 20px;border-top:1px solid #e1e7ef}.profile-avatar-button{padding:0;border:0;overflow:hidden;cursor:pointer}.profile-avatar-button:hover{outline:2px solid #d99a24;outline-offset:2px}.student-portal-user .profile-content{width:100%}:root[data-theme=dark] .profile-photo-preview{background:#17263a;border-color:#2b3d54;color:#f0b13a}:root[data-theme=dark] .profile-fields label{color:#d2d9e3}:root[data-theme=dark] .profile-fields input[readonly]{background:#0d1b2f;color:#aeb9c8}:root[data-theme=dark] .profile-fields label small,:root[data-theme=dark] .profile-photo-actions small{color:#aeb9c8}:root[data-theme=dark] .profile-save-row{border-color:#1b2b40}:root[data-theme=dark] .profile-remove-photo{color:#ffc34d}:root[data-theme=light] .profile-photo-preview{background:#edf1f6;border-color:#e1e7ef;color:#17365d}:root[data-theme=light] .profile-fields label{color:#33465f}:root[data-theme=light] .profile-fields input[readonly]{background:#f1f4f8;color:#66758a}:root[data-theme=light] .profile-fields label small,:root[data-theme=light] .profile-photo-actions small{color:#66758a}:root[data-theme=light] .profile-save-row{border-color:#e1e7ef}@media(max-width:600px){.profile-photo-controls{align-items:flex-start;flex-direction:column;padding:0 14px 16px}.profile-fields{grid-template-columns:1fr;padding:0 14px 16px}.profile-fields label:first-child{grid-column:auto}.profile-save-row{padding:12px 14px}.profile-photo-actions{gap:8px}}:root{--tv-symbol-secondary:#17365d;--tv-symbol-text:#17365d}:root[data-theme=dark]{--tv-symbol-secondary:#f3f1e9;--tv-symbol-text:#f3f1e9}.brand-icon,:root[data-theme=dark] .brand-icon,:root[data-theme=light] .brand-icon{background:transparent;border-radius:0;color:inherit;font-size:inherit}.brand-icon svg{display:block;width:38px;height:38px;overflow:visible}.brand-symbol-secondary{fill:none;stroke:var(--tv-symbol-secondary);stroke-width:3.3;stroke-linecap:round}.brand-symbol-gold{fill:none;stroke:#e5a323;stroke-width:3.3;stroke-linecap:round}.brand-symbol-gold-fill{fill:#e5a323}.brand-symbol-secondary-fill{fill:var(--tv-symbol-secondary)}.brand-symbol-text{fill:var(--tv-symbol-text);font-family:Manrope,DM Sans,sans-serif;font-size:19px;font-weight:900;letter-spacing:-1.5px}.org-switch-container{position:relative;flex:none;margin:35px 0 29px}.org-switch-container .org-switch{width:100%;margin:0;text-align:left;color:#1b2924;font:inherit;cursor:pointer}.org-switch-container .org-avatar{overflow:hidden;flex:none}.org-switch-container .org-avatar img{width:100%;height:100%;object-fit:contain}.org-menu{position:absolute;z-index:5;top:calc(100% + 6px);left:0;right:0;display:grid;gap:4px;padding:8px;border:1px solid #e1e7ef;border-radius:9px;background:#fff;box-shadow:0 12px 28px #1028441a}.org-menu-heading{padding:5px 7px;color:#7b8897;font-size:9px;font-weight:700;letter-spacing:.4px}.org-menu button{padding:9px 8px;border:0;border-radius:6px;background:transparent;color:#17365d;text-align:left;font-size:10px;font-weight:700}.org-menu button:hover{background:#fff3d8;color:#8b5a08}:root[data-theme=dark] .org-switch-container .org-switch{color:#edf1f7}:root[data-theme=dark] .org-menu{border-color:#26364b;background:#091426;box-shadow:0 12px 28px #0006}:root[data-theme=dark] .org-menu-heading{color:#aeb9c8}:root[data-theme=dark] .org-menu button{color:#f3f1e9}:root[data-theme=dark] .org-menu button:hover{background:#182a40;color:#ffc34d}@media(max-width:650px){.org-switch-container{display:none}}.brand-home{border:0;background:transparent;color:inherit;text-align:left;width:max-content;cursor:pointer}.brand-home:focus-visible{outline:2px solid var(--accent,#e5a323);outline-offset:3px;border-radius:8px}.legal-links{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:14px;font-size:10px}.legal-links a,.app-legal-footer a{color:#a66c0b;text-decoration:none}.legal-links a:hover,.app-legal-footer a:hover{text-decoration:underline}.app-legal-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 42px 22px;color:#8794a5;font-size:10px}.app-legal-footer nav{display:flex;gap:16px}@media(max-width:600px){.app-legal-footer{padding:16px;align-items:flex-start;flex-direction:column;gap:8px}}.access-student-help{display:grid;gap:5px;margin:0 18px 14px;padding:12px 14px;border:1px solid #e3ece6;border-radius:7px;background:#f6faf7;color:#516057;font-size:10px;line-height:1.55}.access-student-help>b{color:#34423a;font-size:11px}.access-student-help strong{color:#23704f}@media(max-width:760px){.access-student-help{margin:0 12px 14px}}:root[data-theme=dark] .access-student-help{background:#0c192c;border-color:#26364b;color:#bdc8d6}:root[data-theme=dark] .access-student-help>b{color:#f2f4f8}:root[data-theme=dark] .access-student-help strong{color:#f0ad2c}.access-student-invite{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.access-student-invite>label{display:grid;gap:6px;color:#506057;font-size:11px;font-weight:700}.access-student-invite input,.access-student-invite select{width:100%;height:38px;border:1px solid #e2e9e4;border-radius:6px;padding:0 10px;background:#fff;color:#39473f;outline-color:#69a986;font:12px DM Sans,sans-serif}.access-student-invite label small{color:#849088;font-size:9px;line-height:1.4}.access-student-invite>.primary-button{min-height:38px;white-space:nowrap}@media(max-width:760px){.access-student-invite{grid-template-columns:1fr}}:root[data-theme=dark] .access-student-invite>label{color:#aeb9c8}:root[data-theme=dark] .access-student-invite input,:root[data-theme=dark] .access-student-invite select{background:#0c192c;border-color:#26364b;color:#edf1f7}:root[data-theme=dark] .access-student-invite label small{color:#9eacbe}.cognito-invite-result{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px) auto;gap:12px;align-items:end;margin:0 18px 14px;padding:14px;border:1px solid #d5e8dc;border-radius:8px;background:#f4faf6;color:#435249;font-size:11px}.cognito-invite-result>div{display:grid;gap:5px;line-height:1.5}.cognito-invite-result>div>b{color:#255b3c;font-size:13px}.cognito-invite-result label{display:grid;gap:5px;font-weight:700}.cognito-invite-result input{height:38px;padding:0 10px;border:1px solid #d4dfd7;border-radius:6px;background:#fff;color:#233328;font:12px ui-monospace,monospace}.cognito-invite-result>.secondary-button{height:38px;white-space:nowrap}@media(max-width:760px){.cognito-invite-result{grid-template-columns:1fr;margin:0 12px 14px}}:root[data-theme=dark] .cognito-invite-result{border-color:#315540;background:#0d2018;color:#bdc8c1}:root[data-theme=dark] .cognito-invite-result>div>b{color:#a6e2b9}:root[data-theme=dark] .cognito-invite-result input{border-color:#315540;background:#08140f;color:#f0f4f1}.mobile-bottom-nav{display:none}@media(max-width:650px){.mobile-bottom-nav{position:fixed;z-index:100;left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));display:flex;align-items:stretch;gap:3px;min-height:66px;padding:7px;border:1px solid rgba(255,255,255,.72);border-radius:25px;background:#ffffffc7;box-shadow:0 12px 34px #17365d33,0 2px 8px #17365d14;backdrop-filter:blur(22px) saturate(175%);-webkit-backdrop-filter:blur(22px) saturate(175%)}.mobile-nav-item{position:relative;z-index:101;display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 2px;border:0;border-radius:18px;background:transparent;color:#66758a;touch-action:manipulation}.mobile-nav-item>span{font-size:20px;line-height:1;font-weight:600}.mobile-nav-item>small{max-width:100%;overflow:hidden;color:inherit;font-size:9px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.mobile-nav-item.selected{background:#fff3d8e0;color:#8b5a08}.mobile-nav-item:focus-visible,.mobile-more-panel button:focus-visible{outline:2px solid #d99a24;outline-offset:2px}.mobile-more-wrap{position:static;display:flex;flex:1;min-width:0;justify-content:center}.mobile-more-wrap>.mobile-nav-item{width:100%}.mobile-more-scrim{position:fixed;z-index:109;inset:0;border:0;background:transparent;cursor:default}.mobile-more-panel{position:fixed;z-index:110;right:14px;bottom:calc(107px + env(safe-area-inset-bottom));display:grid;gap:4px;width:min(250px,calc(100vw - 28px));padding:8px;border:1px solid rgba(255,255,255,.78);border-radius:18px;background:#ffffffe0;box-shadow:0 16px 40px #17365d33;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%)}.mobile-more-panel button{display:flex;align-items:center;gap:11px;min-height:43px;padding:0 12px;border:0;border-radius:11px;background:transparent;color:#33465f;text-align:left;font-size:12px;font-weight:600}.mobile-more-panel button:hover{background:#fff3d8;color:#8b5a08}.mobile-more-panel button span{width:20px;color:#8b5a08;text-align:center;font-size:16px}.content{padding-bottom:calc(112px + env(safe-area-inset-bottom))}}:root[data-theme=dark] .mobile-bottom-nav{border-color:#ffffff24;background:#091426c7;box-shadow:0 12px 34px #00000057,0 2px 8px #0003}:root[data-theme=dark] .mobile-nav-item{color:#aeb9c8}:root[data-theme=dark] .mobile-nav-item.selected{background:#2b2110e0;color:#ffc34d}:root[data-theme=dark] .mobile-more-panel{border-color:#ffffff24;background:#091426e6;box-shadow:0 16px 40px #0000006b}:root[data-theme=dark] .mobile-more-panel button{color:#edf1f7}:root[data-theme=dark] .mobile-more-panel button:hover{background:#182a40;color:#ffc34d}.profile-preferences-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px 18px}.profile-preferences-row>div{display:grid;gap:5px}.profile-preferences-row>div>b{color:#33465f;font-size:12px}.profile-preferences-row>div>small{color:#66758a;font-size:10px;line-height:1.45}.profile-theme-control{display:flex;align-items:center;gap:10px;color:#33465f;font-size:11px;font-weight:700}.profile-theme-control select{min-width:132px;height:38px;padding:0 10px;border:1px solid #d6dee8;border-radius:7px;background:#fff;color:#17263a;font:12px DM Sans,sans-serif}.profile-theme-control select:focus{outline:2px solid #d99a24;outline-offset:1px}:root[data-theme=dark] .profile-preferences-row>div>b,:root[data-theme=dark] .profile-theme-control{color:#d2d9e3}:root[data-theme=dark] .profile-preferences-row>div>small{color:#aeb9c8}:root[data-theme=dark] .profile-theme-control select{border-color:#26364b;background:#0c192c;color:#edf1f7}@media(max-width:600px){.profile-preferences-row{align-items:flex-start;flex-direction:column;padding:0 14px 16px}.profile-theme-control{width:100%;justify-content:space-between}.profile-theme-control select{flex:1;max-width:190px}}.location-geofence-fields{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px}.location-geofence-fields label:first-child,.location-geofence-fields label:nth-child(4){grid-column:auto}.location-geofence-help{color:#66758a;font-size:10px;line-height:1.5}@media(max-width:760px){.location-geofence-fields{grid-template-columns:1fr;padding:10px}.location-geofence-fields label:first-child,.location-geofence-fields label:nth-child(4){grid-column:auto}}:root[data-theme=dark] .location-geofence-help{color:#aeb9c8}.student-checkin-panel{margin-bottom:18px}.student-checkin-panel>.error-banner{margin:0 18px 14px}.student-checkin-list{display:grid;gap:9px;padding:0 18px 16px}.student-checkin-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px;border:1px solid #e1e7ef;border-radius:9px;background:#fbfcfe}.student-checkin-card-main{display:flex;align-items:center;gap:10px;min-width:0}.student-checkin-mark{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:#fff3d8;color:#8b5a08;font-size:18px}.student-checkin-card-main>div{display:grid;gap:4px;min-width:0}.student-checkin-card-main b{color:#17263a;font-size:12px}.student-checkin-card-main small{color:#66758a;font-size:10px;line-height:1.35}.student-checkin-state{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.student-checkin-intention{display:flex;grid-column:1/-1;gap:7px;flex-wrap:wrap}.student-checkin-intention .secondary-button{font-size:10px}.student-checkin-intention .secondary-button.selected{border-color:#d99a24;background:#fff8e9;color:#8b5a08}.student-checkin-action{display:grid;gap:9px;margin:0 18px 18px;padding:14px;border:1px solid #d6e2ef;border-radius:10px;background:#f5f8fc}.student-checkin-action>label{display:grid;gap:6px;color:#33465f;font-size:11px;font-weight:700}.student-checkin-action select{height:38px;padding:0 10px;border:1px solid #d6dee8;border-radius:7px;background:#fff;color:#17263a;font-size:12px}.student-checkin-action .primary-button{justify-self:start;min-height:40px}.student-checkin-action>small,.student-checkin-note{margin:0;color:#66758a;font-size:10px;line-height:1.5}.student-checkin-note{padding:0 18px 16px}:root[data-theme=dark] .student-checkin-card{border-color:#26364b;background:#0c192c}:root[data-theme=dark] .student-checkin-card-main b{color:#f2f4f8}:root[data-theme=dark] .student-checkin-card-main small,:root[data-theme=dark] .student-checkin-action>small,:root[data-theme=dark] .student-checkin-note{color:#aeb9c8}:root[data-theme=dark] .student-checkin-action{border-color:#26364b;background:#0c192c}:root[data-theme=dark] .student-checkin-action>label{color:#d2d9e3}:root[data-theme=dark] .student-checkin-action select{border-color:#26364b;background:#091426;color:#edf1f7}:root[data-theme=dark] .student-checkin-intention .secondary-button.selected{border-color:#8b5a08;background:#2b2110;color:#ffc34d}@media(max-width:600px){.student-checkin-list{padding:0 12px 14px}.student-checkin-panel>.error-banner{margin:0 12px 12px}.student-checkin-card{grid-template-columns:1fr}.student-checkin-state{justify-content:flex-start}.student-checkin-action{margin:0 12px 14px}.student-checkin-action .primary-button{width:100%}}.password-recovery-link{justify-self:center;padding:4px 8px;border:0;background:transparent;color:#245b91;font-size:11px;text-decoration:underline;cursor:pointer}.password-recovery-link:disabled{opacity:.55;cursor:not-allowed}:root[data-theme=dark] .password-recovery-link{color:#93c5fd}.schedule-actions{display:flex;align-items:center;gap:9px}.schedule-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.schedule-summary article{min-height:82px;display:flex;align-items:center;gap:12px;padding:15px 17px;background:#fff;border:1px solid #e9eeeb;border-radius:9px}.schedule-summary-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#edf7f0;color:#2e8057;font-size:18px}.location-icon{background:#eef5fa;color:#477ca1}.time-icon{background:#fbf5e9;color:#af8040}.schedule-summary small{display:block;color:#77847c;font-size:10px}.schedule-summary strong{display:block;margin-top:3px;font:800 19px Manrope,sans-serif}.class-list{padding:0 18px}.class-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 2px;border-top:1px solid #edf0ee}.class-card-main{display:flex;align-items:flex-start;gap:12px;min-width:0}.class-mark{width:36px;height:36px;display:grid;place-items:center;flex:none;border-radius:10px;background:#eaf4ed;color:#347c56;font:800 14px Manrope,sans-serif}.class-copy{min-width:0}.class-title{display:flex;align-items:center;gap:9px}.class-title h3{font:700 12px Manrope,sans-serif;color:#34423a;margin:0}.class-copy>p{color:#849088;font-size:10px;margin:5px 0 0}.class-schedules{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.class-schedule{padding:5px 8px;border-radius:5px;background:#f5f8f6;color:#617067;font-size:9px}.class-schedule.no-schedule{color:#919b95}.class-meta{display:flex;align-items:center;gap:13px;flex:none;color:#859189;font-size:9px}.class-meta>div{display:flex;gap:5px}.class-meta .row-action{width:24px;height:25px}.class-empty{padding:38px 10px;text-align:center;color:#909b94;font-size:11px}.schedule-modal{width:min(100%,660px);max-height:calc(100vh - 36px);overflow-y:auto}.schedule-modal form>label{margin-bottom:1px}.schedule-modal textarea{min-height:64px;resize:vertical;border:1px solid #e2e9e4;border-radius:6px;padding:9px 10px;outline-color:#69a986;font:11px DM Sans,sans-serif}.schedule-form-heading{display:flex;justify-content:space-between;align-items:center;margin-top:4px;padding-top:12px;border-top:1px solid #edf0ee;color:#506057;font-size:10px}.text-button,.inline-location{border:0;background:none;color:#29734f;font-size:10px;font-weight:700;padding:5px}.schedule-form-row{display:grid;grid-template-columns:1.3fr .8fr .8fr 1.2fr 24px;align-items:end;gap:8px;padding:10px;background:#f8faf9;border:1px solid #edf0ee;border-radius:7px}.schedule-form-row label{display:grid;gap:5px;color:#69766f;font-size:9px;font-weight:700}.schedule-form-row select,.schedule-form-row input{width:100%;height:33px;padding:0 7px;border:1px solid #e2e9e4;border-radius:5px;background:#fff;color:#39473f;font:10px DM Sans,sans-serif}.remove-schedule{width:24px;height:30px;border:0;background:none;color:#9a5b50;font-size:17px}.inline-location{justify-self:start;margin-top:-7px}.schedule-modal .form-actions{padding-top:4px}@media(max-width:760px){.schedule-summary{grid-template-columns:1fr}.schedule-summary article{min-height:65px}.schedule-actions{align-items:flex-end;flex-direction:column}.class-card{align-items:flex-start;flex-direction:column}.class-meta{width:100%;justify-content:space-between;padding-left:48px}.schedule-form-row{grid-template-columns:1fr 1fr}.schedule-form-row label:first-child,.schedule-form-row label:nth-child(4){grid-column:span 2}.remove-schedule{position:absolute;right:25px}.schedule-form-row{position:relative;padding-right:38px}}.attendance-modal{width:min(100%,600px);max-height:calc(100vh - 36px);overflow-y:auto}.attendance-create{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:end;gap:9px}.attendance-create label{display:grid;gap:5px;color:#69766f;font-size:10px;font-weight:700}.attendance-create input,.attendance-create select,.attendance-row select{height:36px;padding:0 8px;border:1px solid #e2e9e4;border-radius:6px;background:#fff;color:#39473f;font:11px DM Sans,sans-serif}.attendance-history-title{margin:20px 0 8px;color:#506057;font-size:11px}.attendance-session-list{max-height:200px;overflow-y:auto}.attendance-session-list button{width:100%;display:flex;justify-content:space-between;padding:10px 4px;border:0;border-top:1px solid #edf0ee;background:#fff;text-align:left;color:#34423a;font-size:10px}.attendance-session-list small,.attendance-row small{display:block;margin-top:3px;color:#929d96;font-size:9px}.attendance-roster{max-height:380px;overflow-y:auto}.attendance-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 2px;border-top:1px solid #edf0ee}.attendance-row b{font-size:10px;color:#34423a}.attendance-row select{min-width:130px}.attendance-modal .form-actions{padding-top:14px}@media(max-width:650px){.attendance-create{grid-template-columns:1fr}.attendance-row select{min-width:110px}}.attendance-row{flex-wrap:wrap}.attendance-checkin-review{display:flex;flex-basis:100%;align-items:center;gap:7px}.attendance-checkin-review>small{margin-right:auto!important}.attendance-checkin-review .primary-button,.attendance-checkin-review .secondary-button{padding:7px 9px;font-size:9px;white-space:nowrap}:root[data-theme=dark] .attendance-checkin-review>small{color:#aeb9c8}@media(max-width:600px){.attendance-checkin-review{flex-wrap:wrap}.attendance-checkin-review>small{flex-basis:100%}}.class-card-link{cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.class-card-link:hover,.class-card-link:focus-visible{transform:translateY(-2px);border-color:#0a84ff73;outline:none}.class-open-hint{color:var(--text-secondary,#8e8e93);font-weight:600}.class-profile-page{max-width:1440px}.class-profile-cover{position:relative;display:flex;align-items:center;gap:20px;padding:76px 28px 22px!important;min-height:220px;overflow:hidden;background:linear-gradient(135deg,#3a568257,#1c2331d1)!important}.class-profile-cover:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 0%,rgba(10,132,255,.2),transparent 48%);pointer-events:none}.class-profile-back{position:absolute;z-index:1;left:24px;top:18px}.class-profile-mark{width:88px;height:88px;flex:0 0 88px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(145deg,#4f8ee8,#244f8e);color:#fff;font-size:38px;font-weight:750;box-shadow:0 12px 30px #0003}.class-profile-title{position:relative;flex:1;min-width:0}.class-profile-title .eyebrow{margin:0 0 6px}.class-profile-title h1{margin:0;font-size:clamp(28px,4vw,40px)}.class-profile-title p:last-child{margin:8px 0 0;color:var(--text-secondary,#cbd5e1)}.class-profile-actions{display:flex;gap:8px;align-self:flex-start;position:relative}.class-profile-tabs{position:absolute;left:28px;right:28px;bottom:0;display:flex;gap:26px;border-top:1px solid var(--border-color,rgba(148,163,184,.18));padding:13px 0;color:var(--text-secondary,#cbd5e1)}.class-profile-tabs a{color:inherit;text-decoration:none;font-weight:600}.class-profile-tabs a:hover{color:#60a5fa}.class-profile-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,.8fr);gap:20px;margin-top:20px}.class-profile-main,.class-profile-aside{display:grid;align-content:start;gap:20px;min-width:0}.class-profile-page .panel{scroll-margin-top:24px}.class-week-list{display:grid}.class-week-row{display:grid;grid-template-columns:minmax(150px,1fr) 140px minmax(130px,1fr);align-items:center;gap:12px;padding:15px 4px;border-top:1px solid var(--border-color,rgba(148,163,184,.16))}.class-week-day{font-weight:650}.class-week-row>span:last-child{color:var(--text-secondary,#8e8e93)}.class-profile-empty{padding:20px 0;color:var(--text-secondary,#8e8e93)}.class-roster{display:grid}.class-roster-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border-color,rgba(148,163,184,.16))}.class-roster-row .member-copy{flex:1}.class-profile-about p{display:flex;justify-content:space-between;gap:14px;color:var(--text-secondary,#8e8e93)}.class-profile-about p span{color:var(--text-primary,#fff);font-weight:600}.class-profile-loading{display:flex;align-items:center;gap:16px}.class-profile-loading button{margin-left:auto}@media(max-width:760px){.class-profile-cover{align-items:flex-start;flex-wrap:wrap;padding:70px 18px 58px!important;gap:14px}.class-profile-mark{width:64px;height:64px;flex-basis:64px;border-radius:21px;font-size:30px}.class-profile-title{flex-basis:calc(100% - 82px)}.class-profile-cover>.badge{position:absolute;right:18px;top:18px}.class-profile-actions{width:100%;padding-left:78px}.class-profile-tabs{left:18px;right:18px;gap:20px;overflow-x:auto;white-space:nowrap}.class-profile-grid{grid-template-columns:1fr;gap:16px;margin-top:16px}.class-profile-main,.class-profile-aside{gap:16px}.class-week-row{grid-template-columns:1fr auto;gap:4px 12px}.class-week-row>span:last-child{grid-column:1/-1}.class-profile-page .panel-head{align-items:flex-start}.class-profile-page .panel-head .primary-button{white-space:nowrap;font-size:12px;padding:9px 11px}}.class-enrollment-add-button{margin:0 0 0 16px;flex:0 0 48px}.class-student-directory-card{position:relative;padding-right:58px;cursor:default}.class-enrollment-remove{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:34px;height:34px;padding:5px;border:1px solid color-mix(in srgb,var(--danger) 22%,transparent);border-radius:12px;background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger);cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.class-enrollment-remove svg{display:block;width:100%;height:100%}.class-enrollment-remove:hover{transform:scale(1.06);background:color-mix(in srgb,var(--danger) 18%,var(--surface));border-color:color-mix(in srgb,var(--danger) 38%,transparent)}.class-enrollment-remove:focus-visible{outline:3px solid color-mix(in srgb,var(--danger) 35%,transparent);outline-offset:2px}@media(max-width:760px){.class-enrollment-add-button{flex-basis:44px}.class-student-directory-card{padding-right:52px}.class-enrollment-remove{top:8px;right:8px;width:31px;height:31px}}.student-directory-cards .class-student-directory-card{padding-right:50px}.class-student-directory-card .student-directory-amount,.class-student-directory-card .student-directory-status{margin-right:24px}.class-enrollment-remove{top:10px;right:10px;width:26px;height:26px;padding:4px;border-radius:9px;transform:none}.class-enrollment-remove:hover{transform:scale(1.05)}.class-enrollment-remove svg path{stroke-width:3}@media(max-width:760px){.student-directory-cards .class-student-directory-card{padding-right:46px}.class-student-directory-card .student-directory-amount,.class-student-directory-card .student-directory-status{margin-right:19px}.class-enrollment-remove{top:8px;right:8px;width:24px;height:24px;padding:4px}}.class-agenda-event-link{cursor:pointer;transition:border-color .16s ease,transform .16s ease,background .16s ease}.class-agenda-event-link:hover,.class-agenda-event-link:focus-visible{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 42%,var(--border));outline:none}.class-session-page{display:grid;gap:18px;max-width:1100px;margin:0 auto}.class-session-header{position:relative;display:grid;place-items:center;min-height:300px;padding:34px 60px 26px!important;overflow:hidden;text-align:center;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-secondary) 70%,var(--surface)),var(--surface))!important}.class-session-header:after{position:absolute;inset:0;content:"";pointer-events:none;background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--primary) 15%,transparent),transparent 58%)}.class-session-back{position:absolute;z-index:1;top:20px;left:20px;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--border);border-radius:14px;background:var(--surface-secondary);color:var(--text-primary);font-size:21px}.class-session-hero-content{position:relative;z-index:1;display:grid;justify-items:center;gap:8px}.class-session-hero-content .eyebrow{margin:0;color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:1px}.class-session-hero-content h1{margin:0;color:var(--text-primary);font-size:clamp(48px,8vw,76px);font-weight:750;letter-spacing:-3px;line-height:1}.class-session-subtitle{margin:0;color:var(--text-secondary);font-size:15px}.class-session-state{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid color-mix(in srgb,var(--success) 34%,transparent);border-radius:999px;background:color-mix(in srgb,var(--success) 12%,var(--surface));color:var(--success);font-size:12px;font-weight:700}.class-session-counts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:10px;color:var(--text-secondary);font-size:12px;font-weight:650}.class-session-counts .present{color:var(--success)}.class-session-counts .unmarked{color:var(--text-secondary)}.class-session-counts .absent{color:var(--danger)}.class-session-counts .excused{color:var(--primary)}.class-session-roster-panel .panel-head{padding-bottom:12px}.class-session-roster{display:grid;gap:9px;padding:0 24px 22px}.class-session-student{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) minmax(150px,auto);align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface-secondary) 76%,var(--surface))}.class-session-student-avatar{width:42px;height:42px}.class-session-student-copy{display:grid;min-width:0;gap:4px}.class-session-student-copy>b{overflow:hidden;color:var(--text-primary);font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.class-session-student-copy>small{overflow:hidden;color:var(--text-secondary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.class-session-status{display:grid;gap:5px;color:var(--text-secondary);font-size:11px;font-weight:650}.class-session-status select{height:40px;min-width:150px;padding:0 34px 0 12px;border:1px solid var(--border);border-radius:12px;background-color:var(--surface);color:var(--text-primary);font-size:13px}.class-session-checkin-actions{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:8px}.class-session-checkin-actions .primary-button,.class-session-checkin-actions .secondary-button{min-height:38px;padding:8px 12px;font-size:12px}.class-session-actions{padding:0 24px 22px}.class-session-actions .primary-button{min-width:160px;min-height:44px}.class-session-actions .secondary-button{min-height:44px}.student-checkin-intention{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:11px;font-weight:600}.student-checkin-intention i{width:7px;height:7px;border-radius:50%;background:currentColor}.student-checkin-intention.attending{color:var(--success)}.student-checkin-intention.not_attending{color:var(--danger)}.student-checkin-intention.pending{color:var(--warning)}@media(max-width:760px){.class-session-page{gap:14px}.class-session-header{min-height:270px;padding:52px 16px 22px!important}.class-session-back{top:14px;left:14px;width:36px;height:36px}.class-session-hero-content h1{font-size:60px}.class-session-subtitle{font-size:13px}.class-session-counts{gap:7px 12px;font-size:11px}.class-session-roster{padding:0 14px 16px;gap:8px}.class-session-student{grid-template-columns:38px minmax(0,1fr) auto;gap:9px;padding:10px}.class-session-student-avatar{width:36px;height:36px}.class-session-student-copy>b{font-size:13px}.class-session-student-copy>small{font-size:11px}.class-session-status{grid-column:3;grid-row:1/span 2}.class-session-status select{min-width:112px;width:112px;height:38px;font-size:12px}.class-session-checkin-actions{grid-column:1/-1;padding-left:47px}.class-session-checkin-actions button{flex:1}.class-session-actions{padding:0 14px 16px;flex-direction:column-reverse}.class-session-actions button{width:100%}}.class-session-roster.student-directory-cards{padding:0 24px 22px;gap:10px}.class-session-roster .class-session-student{grid-template-columns:48px minmax(0,1fr) auto auto minmax(150px,auto);align-items:center;min-height:78px;gap:14px;padding:12px 16px;cursor:default}.class-session-roster .class-session-student-avatar{grid-column:auto;grid-row:auto;width:46px;height:46px}.class-session-roster .class-session-student-copy{grid-column:auto;grid-row:auto;gap:4px}.class-session-roster .class-session-status{grid-column:auto;grid-row:auto;min-width:150px}.class-session-roster .class-session-status select{width:100%;height:40px;min-width:150px}.class-session-roster .class-session-checkin-actions{grid-column:2/-1}.class-session-roster .class-session-actions{padding:0 0 2px}.class-session-roster .student-directory-status{margin:0;justify-self:end}.class-session-roster .student-directory-amount{margin:0}.class-session-roster .student-checkin-intention{font-size:11px}.class-session-roster .class-session-checkin-actions .primary-button,.class-session-roster .class-session-checkin-actions .secondary-button{min-height:36px;padding:7px 11px;font-size:12px}@media(max-width:760px){.class-session-roster.student-directory-cards{padding:0 14px 16px;gap:8px}.class-session-roster .class-session-student{grid-template-columns:40px minmax(0,1fr) auto;grid-template-rows:auto auto auto;align-items:center;gap:7px 10px;padding:11px 12px}.class-session-roster .class-session-student-avatar{grid-column:1;grid-row:1/3;width:38px;height:38px}.class-session-roster .class-session-student-copy{grid-column:2;grid-row:1/3;min-width:0}.class-session-roster .class-session-student-copy>b{font-size:14px}.class-session-roster .class-session-student-copy>small{font-size:11px}.class-session-roster .class-session-student .student-directory-amount{grid-column:3;grid-row:1;font-size:12px}.class-session-roster .class-session-student .student-directory-status{grid-column:3;grid-row:2;justify-self:end;font-size:10px;padding:4px 7px}.class-session-roster .class-session-status{grid-column:1/-1;grid-row:3;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;font-size:11px}.class-session-roster .class-session-status select{min-width:0;width:100%;height:40px}.class-session-roster .class-session-checkin-actions{grid-column:1/-1;grid-row:auto;padding:0}.class-session-roster .class-session-checkin-actions button{flex:1}.class-session-roster .student-checkin-intention{font-size:10px}}.class-session-roster .class-session-student{grid-template-columns:48px minmax(0,1fr) auto;gap:14px;cursor:default}.class-session-roster .class-session-student:hover{transform:none}.class-session-roster .class-session-student-copy{grid-column:auto;grid-row:auto}.class-session-presence-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.class-session-presence-button{display:grid;place-items:center;width:38px;height:38px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-secondary);transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.class-session-presence-button svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.class-session-presence-button:hover:not(:disabled){transform:translateY(-1px);border-color:currentColor}.class-session-presence-button.present{color:var(--success)}.class-session-presence-button.absent{color:var(--danger)}.class-session-presence-button.late{color:var(--warning)}.class-session-presence-button.excused{color:var(--primary)}.class-session-presence-button.selected{border-color:currentColor;background:color-mix(in srgb,currentColor 16%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 22%,transparent)}.class-session-presence-button:disabled{cursor:wait;opacity:.55}.class-session-saving{position:absolute;right:14px;bottom:5px;color:var(--text-secondary);font-size:10px}.class-session-roster .class-session-student:has(.class-session-saving){padding-bottom:22px}@media(max-width:760px){.class-session-roster .class-session-student{grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;gap:8px 10px}.class-session-roster .class-session-student-avatar{grid-column:1;grid-row:1/3}.class-session-roster .class-session-student-copy{grid-column:2;grid-row:1}.class-session-roster .class-session-presence-actions{grid-column:2;grid-row:2;justify-content:flex-start}.class-session-presence-button{width:34px;height:34px;padding:7px}.class-session-roster .class-session-checkin-actions{grid-column:2/-1;grid-row:3;padding:0}.class-session-roster .class-session-checkin-actions button{flex:1}.class-session-saving{right:12px;bottom:5px}.class-session-roster .class-session-student:has(.class-session-saving){padding-bottom:22px}}.agenda-intention-count{color:var(--success)!important;font-weight:700;white-space:nowrap}.agenda-intention-count b{font-size:13px}.class-checkin-panel{padding:22px 24px 24px;animation:checkin-panel-enter .38s ease both}.class-checkin-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.class-checkin-heading .eyebrow{margin:0 0 5px}.class-checkin-heading h2{margin:0;font-size:20px}.class-checkin-heading p:last-child{margin:5px 0 0;color:var(--text-secondary);font-size:13px}.class-checkin-count{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:1px solid color-mix(in srgb,var(--success) 35%,var(--border));border-radius:15px;background:color-mix(in srgb,var(--success) 12%,var(--surface));color:var(--success);font-size:18px;font-weight:800}.class-checkin-avatars{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}.class-checkin-avatar{position:relative;display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px;border:2px solid var(--success);border-radius:50%;background:color-mix(in srgb,var(--primary) 18%,var(--surface));color:var(--primary);font-size:13px;font-weight:750;animation:checkin-avatar-enter .42s cubic-bezier(.2,.8,.2,1) both}.class-checkin-avatar.pending{border-color:var(--warning)}.class-checkin-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.class-checkin-avatar i{position:absolute;right:-1px;bottom:0;width:13px;height:13px;border:2px solid var(--surface);border-radius:50%;background:var(--success)}.class-checkin-avatar.pending i{background:var(--warning)}.class-checkin-empty{margin:16px 0 0;color:var(--text-secondary);font-size:13px}@keyframes checkin-panel-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes checkin-avatar-enter{0%{opacity:0;transform:translateY(8px) scale(.84)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:760px){.agenda-intention-count{flex-basis:100%;white-space:normal}.class-checkin-panel{padding:18px 16px 20px}.class-checkin-heading h2{font-size:18px}.class-checkin-heading p:last-child{font-size:12px}.class-checkin-avatars{gap:10px;margin-top:15px}.class-checkin-avatar{width:48px;height:48px;flex-basis:48px}}@media(prefers-reduced-motion:reduce){.class-checkin-panel,.class-checkin-avatar{animation:none}}.class-checkin-star{display:inline-block;margin-left:3px;color:var(--warning);font-size:.9em;vertical-align:1px;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--warning) 45%,transparent))}.class-profile-cover{min-height:252px;padding:82px 28px 70px!important;gap:18px 20px}.class-profile-back{left:24px;top:18px}.class-profile-mark{align-self:center}.class-profile-title{align-self:center;padding-right:12px}.class-profile-title p:last-child{max-width:620px;line-height:1.5}.class-profile-actions{position:absolute;top:76px;right:28px;align-self:auto}.class-profile-cover>.badge{position:absolute;top:126px;right:28px}.class-profile-tabs{left:28px;right:28px;bottom:0;min-height:48px;align-items:center;gap:28px;padding:12px 0}.class-profile-tabs a{display:inline-flex;align-items:center;min-height:28px}.class-profile-grid{margin-top:20px}@media(max-width:760px){.class-profile-cover{min-height:300px;align-items:flex-start;flex-wrap:wrap;padding:76px 18px 60px!important;gap:14px}.class-profile-back{left:18px;top:16px}.class-profile-mark{align-self:flex-start;margin-top:20px}.class-profile-title{align-self:flex-start;flex:1 1 calc(100% - 82px);padding:20px 0 0}.class-profile-title h1{font-size:30px}.class-profile-title p:last-child{margin-top:7px;line-height:1.45}.class-profile-cover>.badge{top:18px;right:18px}.class-profile-actions{position:static;width:auto;flex:1 0 100%;padding:0;margin:0;justify-content:flex-end}.class-profile-tabs{left:18px;right:18px;min-height:46px;gap:24px;padding:10px 0}}.class-profile-archive{min-height:38px;padding:0 12px;border:1px solid color-mix(in srgb,var(--warning) 32%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--warning) 9%,var(--surface));color:var(--warning);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.class-profile-archive:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--warning) 48%,var(--border));background:color-mix(in srgb,var(--warning) 16%,var(--surface))}.class-profile-archive:focus-visible{outline:3px solid color-mix(in srgb,var(--warning) 35%,transparent);outline-offset:2px}.scheduling-content>.heading-row{align-items:center;gap:24px;margin-bottom:24px}.scheduling-content>.heading-row .eyebrow{margin:0 0 8px;font-size:13px;font-weight:750;letter-spacing:.7px}.scheduling-content>.heading-row h1{font-size:clamp(32px,3.2vw,42px);letter-spacing:-1.1px;line-height:1.12}.scheduling-content>.heading-row .subtitle{margin-top:9px;font-size:16px;line-height:1.5}.schedule-actions{gap:10px}.schedule-actions button{min-height:46px;padding:0 18px;font-size:14px}.schedule-summary{gap:14px;margin-bottom:22px}.schedule-summary article{min-height:92px;gap:14px;padding:18px 20px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 5px 18px #00000014}.schedule-summary-icon{width:42px;height:42px;border-radius:14px;font-size:20px}.schedule-summary small{color:var(--text-secondary);font-size:13px;font-weight:600}.schedule-summary strong{margin-top:4px;font-size:23px}.scheduling-content>.panel>.panel-head{padding:24px 24px 14px}.scheduling-content>.panel>.panel-head h2{font-size:22px;letter-spacing:-.3px}.scheduling-content>.panel>.panel-head p{margin-top:6px;font-size:15px}.scheduling-content>.panel>.filters{gap:10px;padding:0 24px 16px}.scheduling-content>.panel>.filters .search input,.scheduling-content>.panel>.filters .select-wrap select{min-height:46px;font-size:14px}.class-list{display:grid;gap:10px;padding:0 18px 16px}.class-card{min-height:98px;align-items:center;gap:18px;padding:18px 14px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface-secondary) 62%,var(--surface));transition:transform .16s ease,border-color .16s ease,background .16s ease}.class-card-link:hover,.class-card-link:focus-visible{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 40%,var(--border));background:color-mix(in srgb,var(--surface-secondary) 78%,var(--surface));outline:none}.class-card-main{align-items:center;gap:14px}.class-mark{width:46px;height:46px;border-radius:15px;font-size:18px}.class-title{gap:10px}.class-title h3{color:var(--text-primary);font-size:17px;font-weight:700;letter-spacing:-.2px}.class-copy>p{margin:5px 0 0;color:var(--text-secondary);font-size:14px;line-height:1.45}.class-schedules{gap:8px;margin-top:9px}.class-schedule{padding:6px 10px;border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:10px;background:color-mix(in srgb,var(--surface) 65%,transparent);color:var(--text-secondary);font-size:12px;font-weight:550}.class-meta{color:var(--text-secondary);font-size:13px;font-weight:600}.class-list+.class-empty,.class-empty{padding:36px 18px;font-size:14px}.scheduling-content>.panel>.panel-head:has(+.filters){padding-bottom:12px}.scheduling-content>.panel>.filters+.error-banner{margin:0 24px 14px}.scheduling-content>.panel>.class-list+.class-empty{padding-top:28px}.scheduling-content>.panel>.class-list~.class-empty{padding:22px 18px 30px}.scheduling-content>.panel>.class-list:after{content:none}@media(max-width:760px){.scheduling-content>.heading-row{align-items:flex-start;flex-direction:column;margin-bottom:18px}.scheduling-content>.heading-row h1{font-size:32px}.scheduling-content>.heading-row .subtitle{font-size:15px}.schedule-actions{width:100%;justify-content:flex-start}.schedule-actions button{flex:1}.schedule-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px}.schedule-summary article{min-width:0;min-height:96px;align-items:flex-start;flex-direction:column;gap:8px;padding:12px;border-radius:15px}.schedule-summary-icon{width:34px;height:34px;font-size:17px}.schedule-summary small{font-size:11px;line-height:1.25}.schedule-summary strong{font-size:20px}.scheduling-content>.panel>.panel-head{padding:18px 16px 12px}.scheduling-content>.panel>.panel-head h2{font-size:20px}.scheduling-content>.panel>.panel-head p{font-size:14px}.scheduling-content>.panel>.filters{padding:0 16px 14px}.class-list{gap:9px;padding:0 12px 14px}.class-card{min-height:0;align-items:flex-start;flex-direction:column;gap:10px;padding:14px 12px}.class-card-main{width:100%;align-items:flex-start;gap:11px}.class-mark{width:40px;height:40px;flex-basis:40px;border-radius:13px;font-size:16px}.class-title h3{font-size:15px}.class-schedule{font-size:11px}.class-meta{width:auto;justify-content:flex-start;padding-left:51px;font-size:12px}.scheduling-content>.panel>.filters+.error-banner{margin:0 16px 12px}}.class-profile-grid{grid-template-columns:minmax(0,1fr)}.class-profile-main{gap:18px}.class-profile-fields{overflow:hidden}.class-profile-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 24px 24px}.class-profile-field-card{min-width:0;padding:16px 18px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface-secondary) 68%,var(--surface))}.class-profile-field-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:12px;font-weight:700}.class-profile-edit{flex:0 0 36px;width:36px;height:36px;border-radius:12px}.class-profile-field-card>p{margin:10px 0 0;color:var(--text-primary);font-size:15px;font-weight:650;overflow-wrap:anywhere;white-space:pre-wrap}.class-profile-field-form{display:grid;gap:10px;margin-top:10px}.class-profile-field-form input,.class-profile-field-form textarea,.class-profile-field-form select,.class-profile-schedule-form-row input,.class-profile-schedule-form-row select{width:100%;min-width:0;min-height:40px;padding:8px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-primary);font:inherit;font-size:14px}.class-profile-field-form textarea{resize:vertical}.class-profile-field-form>div,.class-profile-schedule-actions{display:flex;justify-content:flex-end;gap:8px}.class-profile-field-form .primary-button,.class-profile-field-form .secondary-button,.class-profile-schedule-actions .primary-button,.class-profile-schedule-actions .secondary-button{min-height:38px;padding:8px 13px;font-size:13px}.class-profile-schedules{overflow:hidden}.class-profile-schedules .panel-head{align-items:center}.class-profile-schedule-editor{display:grid;gap:12px;padding:0 24px 22px}.class-profile-schedule-form-row{position:relative;display:grid;grid-template-columns:minmax(150px,1.2fr) repeat(2,minmax(110px,.75fr)) minmax(150px,1fr) 34px;align-items:end;gap:10px;padding:14px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface-secondary) 68%,var(--surface))}.class-profile-schedule-form-row label{display:grid;gap:6px;color:var(--text-secondary);font-size:12px;font-weight:650}.class-profile-schedule-form-row input,.class-profile-schedule-form-row select{height:42px}.class-profile-schedule-remove{display:grid;place-items:center;width:34px;height:38px;border:0;background:transparent;color:var(--danger);font-size:24px;cursor:pointer}.class-profile-schedule-add{justify-self:start;padding:8px 2px;border:0;background:transparent;color:var(--warning);font:inherit;font-size:14px;font-weight:700;cursor:pointer}.class-profile-schedule-actions{padding-top:4px}.class-profile-schedules .class-week-list{padding:0 24px 18px}.class-profile-schedules .class-week-row:first-child{border-top:0}.class-profile-schedules .class-week-row{grid-template-columns:minmax(150px,1fr) minmax(130px,.8fr) minmax(150px,1fr);padding:14px 4px;font-size:14px}@media(max-width:760px){.class-profile-field-grid{grid-template-columns:1fr;padding:0 16px 18px;gap:10px}.class-profile-field-card{padding:14px}.class-profile-schedules .panel-head{align-items:center}.class-profile-schedule-editor{padding:0 16px 18px}.class-profile-schedule-form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 32px;gap:9px;padding:12px}.class-profile-schedule-form-row label:first-child,.class-profile-schedule-form-row label:last-of-type{grid-column:span 2}.class-profile-schedule-remove{grid-column:3;grid-row:1}.class-profile-schedules .class-week-list{padding:0 16px 14px}.class-profile-schedules .class-week-row{grid-template-columns:1fr 1fr;gap:6px 12px}.class-profile-schedules .class-week-row>span:last-child{grid-column:1/-1}}.locations-panel{margin-top:16px}.location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0 18px 18px}.location-card{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #edf0ee;border-radius:7px}.location-card-icon{width:30px;height:30px;display:grid;place-items:center;flex:none;border-radius:8px;background:#eef5fa;color:#477ca1;font-size:17px}.location-card-copy{min-width:0;flex:1}.location-card-copy b,.location-card-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-card-copy b{color:#34423a;font-size:10px}.location-card-copy small{margin-top:3px;color:#929d96;font-size:9px}.location-card .row-action{width:23px;height:24px}.location-empty{grid-column:1/-1;padding:12px 0;text-align:center;color:#929d96;font-size:10px}@media(max-width:760px){.location-grid{grid-template-columns:1fr}}.members-button{border:1px solid #dce9e0;border-radius:5px;background:#f4f9f5;color:#327651;padding:6px 8px;font-size:9px;font-weight:700;white-space:nowrap}.membership-modal{width:min(100%,520px)}.membership-help{color:#78857d;font-size:10px;margin:-8px 0 15px}.add-member-row{display:flex;gap:8px;margin-bottom:14px}.add-member-row select{min-width:0;flex:1;height:36px;border:1px solid #e2e9e4;border-radius:6px;padding:0 9px;background:#fff;color:#39473f;font-size:10px}.add-member-row .primary-button{font-size:10px}.member-list{max-height:320px;overflow-y:auto}.member-row{display:flex;align-items:center;gap:10px;padding:10px 2px;border-top:1px solid #edf0ee}.member-copy{min-width:0;flex:1}.member-copy b,.member-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-copy b{font-size:10px;color:#34423a}.member-copy small{font-size:9px;color:#929d96;margin-top:3px}.member-row .secondary-button{padding:6px 8px;font-size:9px}.membership-modal .location-empty{padding:23px 0}@media(max-width:760px){.add-member-row{align-items:stretch;flex-direction:column}.add-member-row select{min-height:36px}.class-meta>div{flex-wrap:wrap;justify-content:flex-start}}.membership-modal .class-enrollment-modal-eyebrow{margin:0 0 5px;color:var(--text-secondary);font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.5px}.membership-help{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:-8px 0 18px}.add-member-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;margin:0}.add-member-row select,.add-member-row .primary-button{height:44px;min-height:44px;border-radius:12px}.add-member-row select{border:1px solid var(--border);padding:0 14px;background:var(--surface-secondary);color:var(--text-primary);font:inherit;font-size:14px}.add-member-row .primary-button{display:inline-flex;align-items:center;justify-content:center;padding:0 18px;font-size:14px}.class-enrollment-modal-close{display:grid;place-items:center;width:38px;height:38px;padding:7px;border-radius:12px}.class-enrollment-modal-close svg{width:100%;height:100%}.row-action.delete-action{display:grid;place-items:center}.row-action.delete-action svg{display:block;width:21px;height:21px}.row-action.delete-action svg path{stroke:currentColor;stroke-width:3.6;stroke-linecap:round}@media(max-width:760px){.add-member-row{grid-template-columns:1fr;gap:10px}.add-member-row select,.add-member-row .primary-button{width:100%;height:44px;min-height:44px}}.add-member-row{flex-wrap:wrap}.student-lookup{height:36px;min-width:130px;flex:1;border:1px solid #e2e9e4;border-radius:6px;padding:0 9px;color:#39473f;font-size:10px}.add-member-row select{min-width:140px;flex:1.3}.finance-panel{margin-top:18px;padding-bottom:17px}.finance-heading{align-items:flex-end;gap:16px;flex-wrap:wrap;padding-bottom:17px}.finance-heading .eyebrow{margin:0 0 5px;color:#b17812}.finance-heading h2{margin:0;font-size:19px}.finance-head-actions{display:flex;align-items:flex-end;gap:10px}.finance-head-actions label,.finance-filters label{display:grid;gap:5px;color:#69766f;font-size:9px;font-weight:700}.finance-head-actions input,.finance-filters select,.finance-plan-form input,.finance-panel form input,.finance-panel form select{min-height:34px;border:1px solid #e1e7e2;border-radius:6px;background:#fff;color:#25332a;padding:0 9px;font-size:10px}.finance-filters{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:9px;padding:0 20px 16px}.finance-filters select{width:100%;font-weight:500}.finance-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:0 20px 17px}.finance-stats article{min-height:80px;display:grid;align-content:center;gap:6px;padding:13px;border:1px solid #e9eeeb;border-radius:8px;background:#fbfcfb}.finance-stats small,.finance-stats span{color:#77847c;font-size:9px}.finance-stats strong{color:#24352a;font:800 17px Manrope,DM Sans,sans-serif}.finance-stats article.top-class strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.finance-stats article.received strong{color:#23704f}.finance-stats article.overdue strong{color:#b54a43}.finance-stats article.pending strong{color:#a77719}.finance-payment-chart{margin:0 20px 13px}.finance-count-bars{display:grid;grid-template-columns:repeat(2,minmax(110px,180px));justify-content:center;gap:clamp(30px,12vw,150px);padding:4px 16px 18px}.finance-count-column{display:grid;grid-template-rows:22px 140px 20px;justify-items:center;align-items:end;gap:6px;color:#38463d;font-size:10px}.finance-count-column>strong{align-self:center;font-size:12px}.finance-count-track{display:flex;width:100%;height:140px;align-items:flex-end;overflow:hidden;border-radius:7px 7px 0 0;background:#edf1ed}.finance-count-track i{display:block;width:100%;min-height:0;border-radius:6px 6px 0 0;transition:height .25s ease}.finance-count-column.on-time .finance-count-track i{background:linear-gradient(180deg,#55b889,#31966a)}.finance-count-column.overdue .finance-count-track i{background:linear-gradient(180deg,#e98177,#d35c51)}.finance-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:13px;padding:0 20px 15px}.finance-subpanel{min-width:0;border:1px solid #e9eeeb;border-radius:8px;background:#fff}.finance-subhead{padding:15px 16px 10px}.finance-subhead h3{margin:0;color:#2b3930;font:800 12px Manrope,DM Sans,sans-serif}.finance-subhead p{margin:5px 0 0;color:#829087;font-size:9px;line-height:1.45}.finance-class-list,.finance-plan-list{display:grid;gap:12px;padding:0 16px 15px}.finance-class-line{display:flex;justify-content:space-between;gap:10px;color:#38463d;font-size:10px}.finance-class-line span{font-weight:700}.finance-bar{height:6px;margin-top:6px;overflow:hidden;border-radius:99px;background:#edf1ed}.finance-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e7a323,#f0c35e)}.finance-class-list article>small{display:block;margin-top:5px;color:#88948d;font-size:8px}.finance-plan-list article{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid #eff2ef}.finance-plan-list article>span b,.finance-plan-list article>span small{display:block}.finance-plan-list article>span b{color:#38463d;font-size:10px}.finance-plan-list article>span small,.finance-plan-list article strong small{color:#87938b;font-size:8px;font-weight:500}.finance-plan-list article strong{color:#293a30;font-size:11px}.finance-plan-list article strong small{margin-left:3px}.finance-plan-form{display:grid;grid-template-columns:1.3fr 1fr auto;align-items:end;gap:8px;margin:0 16px 15px;padding-top:10px;border-top:1px solid #eff2ef}.finance-plan-form label,.finance-panel form label{display:grid;gap:5px;color:#69766f;font-size:9px;font-weight:700}.finance-plan-form .secondary-button{min-height:34px;white-space:nowrap}.finance-payments{margin:0 20px 13px;overflow:hidden}.finance-table-wrap{overflow-x:auto}.finance-table-wrap table{width:100%;border-collapse:collapse;white-space:nowrap}.finance-table-wrap th{padding:9px 12px;background:#f7f9f7;color:#7b8980;text-align:left;font-size:8px;letter-spacing:.6px}.finance-table-wrap td{padding:10px 12px;border-top:1px solid #edf0ed;color:#56645a;font-size:9px}.finance-table-wrap td b,.finance-table-wrap td small{display:block}.finance-table-wrap td b{color:#37453b;font-size:10px}.finance-table-wrap td small{margin-top:3px;color:#929d95;font-size:8px}.finance-status{display:inline-block;border-radius:20px;padding:4px 7px;font-size:8px;font-weight:700}.finance-status.paid{background:#e9f5ed;color:#28754f}.finance-status.pending{background:#fff4da;color:#916516}.finance-status.overdue{background:#fce9e7;color:#b34840}.finance-empty{padding:13px;color:#87938b;font-size:9px}.finance-note{margin:0 20px;color:#859188;font-size:8px;line-height:1.5}.finance-panel>.error-banner,.finance-panel>.notice{margin:0 20px 13px}:root[data-theme=dark] .finance-subpanel{border-color:#24364d;background:#091426}:root[data-theme=dark] .finance-stats article{border-color:#24364d;background:#0d192a}:root[data-theme=dark] .finance-stats strong,:root[data-theme=dark] .finance-subhead h3,:root[data-theme=dark] .finance-class-line,:root[data-theme=dark] .finance-plan-list article>span b,:root[data-theme=dark] .finance-plan-list article strong,:root[data-theme=dark] .finance-table-wrap td b{color:#edf1f7}:root[data-theme=dark] .finance-head-actions label,:root[data-theme=dark] .finance-filters label,:root[data-theme=dark] .finance-plan-form label,:root[data-theme=dark] .finance-panel form label{color:#aeb9c8}:root[data-theme=dark] .finance-head-actions input,:root[data-theme=dark] .finance-filters select,:root[data-theme=dark] .finance-plan-form input,:root[data-theme=dark] .finance-panel form input,:root[data-theme=dark] .finance-panel form select{border-color:#26364b;background:#111f33;color:#edf1f7}:root[data-theme=dark] .finance-plan-list article{border-color:#24364d}:root[data-theme=dark] .finance-table-wrap th{background:#0d192a;color:#aeb9c8}:root[data-theme=dark] .finance-table-wrap td{border-color:#24364d;color:#c4ceda}:root[data-theme=dark] .finance-bar{background:#1c2b3f}:root[data-theme=dark] .finance-count-column{color:#edf1f7}:root[data-theme=dark] .finance-count-track{background:#1c2b3f}:root[data-theme=dark] .finance-note,:root[data-theme=dark] .finance-class-list article>small{color:#aeb9c8}@media(max-width:900px){.finance-filters{grid-template-columns:repeat(3,minmax(120px,1fr))}.finance-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-grid{grid-template-columns:1fr}}@media(max-width:620px){.finance-filters,.finance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-heading{align-items:flex-start}.finance-head-actions{width:100%;flex-wrap:wrap}.finance-plan-form{grid-template-columns:1fr 1fr}.finance-plan-form button{grid-column:1/-1}.finance-payments,.finance-payment-chart{margin-left:10px;margin-right:10px}.finance-count-bars{gap:clamp(20px,10vw,60px);padding-left:10px;padding-right:10px}.finance-grid,.finance-stats,.finance-filters{padding-left:10px;padding-right:10px}}.finance-panel{overflow:visible;padding:0 0 20px;border-radius:22px}.finance-panel .finance-heading{align-items:center;justify-content:space-between;margin:0;padding:22px 24px 12px;border:0}.finance-panel .finance-heading h2{margin:0;color:var(--text-primary);font-size:25px;font-weight:650;letter-spacing:-.4px}.finance-panel .finance-heading>div:first-child>p:last-child{margin:5px 0 0;color:var(--text-secondary);font-size:14px}.finance-panel .finance-heading .eyebrow{margin:0 0 5px;color:var(--text-secondary);font-size:13px;font-weight:700;letter-spacing:.5px}.finance-panel .finance-head-actions label{display:grid;gap:5px;color:var(--text-secondary);font-size:12px;font-weight:600}.finance-panel .finance-head-actions input,.finance-panel .finance-list-filters input,.finance-panel .finance-list-filters select,.finance-panel .finance-advanced-filter-grid select{min-height:42px;padding:0 12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface-secondary) 78%,transparent);color:var(--text-primary);font:inherit;font-size:14px}.finance-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 24px 12px}.finance-summary-heading h3,.finance-operational-heading h3{margin:0;color:var(--text-primary);font-size:18px;font-weight:650;letter-spacing:-.2px}.finance-summary-heading p,.finance-operational-heading p{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.finance-details-toggle{border:0;background:transparent;color:var(--primary);font:inherit;font-size:14px;font-weight:650;cursor:pointer}.finance-details-toggle span{margin-left:4px}.finance-summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 24px 16px}.finance-summary-card{display:grid;grid-template-columns:22px 1fr;align-items:center;column-gap:8px;row-gap:8px;min-height:86px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:17px;background:color-mix(in srgb,var(--surface-secondary) 76%,transparent);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}.finance-summary-card>span{display:grid;place-items:center;width:21px;height:21px;border-radius:8px;background:color-mix(in srgb,currentColor 13%,transparent);font-size:13px;font-weight:800}.finance-summary-card small{color:var(--text-secondary);font-size:13px;font-weight:600}.finance-summary-card strong{grid-column:1/-1;color:var(--text-primary);font-size:21px;font-weight:700;letter-spacing:-.35px;font-variant-numeric:tabular-nums}.finance-summary-card.received{color:#299653}.finance-summary-card.overdue{color:#d9793d}.finance-summary-card.due{color:#5489bd}.finance-summary-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;margin:0 24px 18px;padding:16px 18px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface-secondary) 70%,transparent)}.finance-summary-detail-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.finance-summary-detail-metrics article{display:grid;align-content:center;gap:7px;min-width:0;padding:12px;border-radius:12px;background:color-mix(in srgb,var(--surface) 75%,transparent)}.finance-summary-detail-metrics small,.finance-summary-detail-classes>div span{color:var(--text-secondary);font-size:12px}.finance-summary-detail-metrics b,.finance-summary-detail-classes>div b{color:var(--text-primary);font-size:14px}.finance-summary-detail-classes h4{margin:0 0 8px;color:var(--text-primary);font-size:14px}.finance-summary-detail-classes>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--border)}.finance-tabs{display:flex;gap:6px;margin:0 24px 18px;padding:4px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface-secondary) 74%,transparent)}.finance-tabs button{flex:1;min-height:40px;border:0;border-radius:11px;background:transparent;color:var(--text-secondary);font:inherit;font-size:14px;font-weight:650;cursor:pointer}.finance-tabs button.active{background:var(--surface);color:var(--primary);box-shadow:0 2px 8px #0f172a14}.finance-operational-section{padding:0 24px}.finance-operational-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.finance-operational-actions{display:flex;align-items:center;gap:8px}.finance-operational-actions .primary-button,.finance-operational-actions .secondary-button{min-height:42px;font-size:14px}.finance-list-filters{display:grid;grid-template-columns:minmax(190px,1fr) minmax(145px,.45fr) minmax(145px,.45fr) auto;align-items:end;gap:10px;margin-bottom:14px}.finance-list-filters>label:not(.finance-search){display:grid;gap:5px;color:var(--text-secondary);font-size:12px;font-weight:600}.finance-search{position:relative;display:flex;align-items:center}.finance-search>span{position:absolute;left:13px;color:var(--text-secondary);font-size:19px;pointer-events:none}.finance-search input{width:100%;padding-left:38px!important}.finance-advanced-filters{position:relative}.finance-advanced-filters summary{display:flex;align-items:center;min-height:42px;padding:0 8px;color:var(--text-secondary);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;list-style:none}.finance-advanced-filters summary::-webkit-details-marker{display:none}.finance-advanced-filters summary:after{margin-left:6px;content:"⌄"}.finance-advanced-filter-grid{position:absolute;z-index:5;top:calc(100% + 8px);right:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(520px,calc(100vw - 48px));box-sizing:border-box;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 14px 34px #0f172a29}.finance-advanced-filter-grid label{display:grid;min-width:0;gap:5px;color:var(--text-secondary);font-size:12px;font-weight:600}.finance-advanced-filter-grid select{width:100%;min-width:0;box-sizing:border-box}.finance-payment-list{display:grid;gap:8px}.finance-payment-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) minmax(105px,auto) minmax(80px,auto) 34px;align-items:center;gap:12px;min-height:76px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:16px;background:color-mix(in srgb,var(--surface-secondary) 66%,transparent);backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%)}.finance-payment-card.menu-open{z-index:8}.finance-student-avatar{display:grid;place-items:center;width:40px;height:40px;border:2px solid color-mix(in srgb,var(--primary) 45%,var(--border));border-radius:50%;background:color-mix(in srgb,var(--primary) 16%,var(--surface));color:var(--primary);font-size:16px;font-weight:700}.finance-student-copy{display:grid;gap:4px;min-width:0}.finance-student-copy b{overflow:hidden;color:var(--text-primary);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.finance-student-copy small,.finance-payment-value small{color:var(--text-secondary);font-size:12px;font-weight:500}.finance-payment-value{color:var(--text-primary);font-size:14px;font-weight:700;white-space:nowrap}.finance-payment-value small{margin-left:3px}.finance-panel .finance-status{justify-self:start;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:650}.finance-panel .finance-status.paid{background:color-mix(in srgb,var(--success) 15%,var(--surface));color:#27914c}.finance-panel .finance-status.pending{background:color-mix(in srgb,var(--warning) 17%,var(--surface));color:#a26b0d}.finance-panel .finance-status.overdue{background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:#d74c45}.finance-payment-menu-wrap{position:relative;justify-self:end}.finance-context-trigger{width:34px;height:34px;border:0;border-radius:50%;background:color-mix(in srgb,var(--surface-secondary) 88%,transparent);color:var(--text-secondary);font-size:15px;letter-spacing:1px;cursor:pointer}.finance-context-menu{position:absolute;z-index:6;top:calc(100% + 6px);right:0;display:grid;gap:7px;width:180px;padding:8px;border:1px solid var(--border);border-radius:13px;background:var(--surface);box-shadow:0 12px 30px #0f172a2e}.finance-context-menu button{padding:9px;border:0;border-radius:9px;background:transparent;color:var(--text-primary);font:inherit;font-size:13px;text-align:left;cursor:pointer}.finance-context-menu button:hover{background:var(--surface-secondary)}.finance-context-menu>span{padding:0 9px 6px;color:var(--text-secondary);font-size:11px}.finance-list-count{margin:10px 2px 0;color:var(--text-secondary);font-size:12px}.finance-plan-list-redesign{gap:8px;padding:0;margin-bottom:16px}.finance-plan-list-redesign article{min-height:62px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface-secondary) 68%,transparent)}.finance-plan-list-redesign article>span b{font-size:14px}.finance-plan-list-redesign article>span small{margin-top:4px;font-size:12px}.finance-plan-list-redesign article strong{font-size:15px}.finance-panel .finance-plan-form{grid-template-columns:minmax(180px,1fr) minmax(160px,.55fr) auto;gap:12px;margin:0;padding:16px 0 0;border-top:1px solid var(--border)}.finance-panel .finance-plan-form label{gap:6px;color:var(--text-secondary);font-size:12px}.finance-panel .finance-plan-form input{min-height:42px;font-size:14px}.finance-panel .finance-plan-form .primary-button{min-height:42px;white-space:nowrap}.finance-billing-modal{width:min(100%,520px);max-height:calc(100dvh - 32px);overflow-y:auto}.finance-billing-modal form{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;width:100%}.finance-billing-modal form>label{display:grid;min-width:0;gap:7px;color:var(--text-primary);font-size:14px;font-weight:600}.finance-billing-modal form input,.finance-billing-modal form select{width:100%;min-width:0;box-sizing:border-box;min-height:44px;padding:0 38px 0 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-secondary);color:var(--text-primary);font:inherit;font-size:14px}.finance-billing-modal form input[type=date]{padding-right:12px}.finance-billing-modal .form-actions{grid-column:1/-1;flex-wrap:wrap}.finance-billing-modal .form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.finance-panel .finance-note{margin:18px 24px 0;font-size:12px}:root[data-theme=dark] .finance-summary-card.received{color:#62d586}:root[data-theme=dark] .finance-summary-card.overdue{color:#ff9b67}:root[data-theme=dark] .finance-summary-card.due{color:#82b9f2}:root[data-theme=dark] .finance-summary-card strong,:root[data-theme=dark] .finance-summary-detail-classes h4,:root[data-theme=dark] .finance-summary-detail-metrics b,:root[data-theme=dark] .finance-summary-detail-classes>div b,:root[data-theme=dark] .finance-tabs button.active{color:#f8fafc}:root[data-theme=dark] .finance-summary-card.received strong{color:#73df92}:root[data-theme=dark] .finance-summary-card.overdue strong{color:#ffad7f}:root[data-theme=dark] .finance-summary-card.due strong{color:#92c5f5}:root[data-theme=dark] .finance-payment-card,:root[data-theme=dark] .finance-plan-list-redesign article{border-color:#bfdbfe24;background:linear-gradient(135deg,#94a3b81f,#f4f9ff12 50%,#1e293b2e);box-shadow:inset 0 1px #ffffff14}:root[data-theme=dark] .finance-summary-details,:root[data-theme=dark] .finance-summary-detail-metrics article,:root[data-theme=dark] .finance-tabs,:root[data-theme=dark] .finance-summary-card{border-color:#bfdbfe24;background:#ffffff0b}:root[data-theme=dark] .finance-context-trigger{background:#26364b;color:#dbe5f2}:root[data-theme=dark] .finance-panel .finance-status.paid{color:#73df92}:root[data-theme=dark] .finance-panel .finance-status.pending{color:#ffca70}:root[data-theme=dark] .finance-panel .finance-status.overdue{color:#ff8f87}@media(max-width:760px){.finance-summary-details{grid-template-columns:1fr}.finance-list-filters{grid-template-columns:1fr 1fr}.finance-search,.finance-advanced-filters{grid-column:1/-1}.finance-advanced-filter-grid{position:static;width:100%;margin-top:6px}.finance-payment-card{grid-template-columns:40px minmax(0,1fr) auto 34px;gap:9px}.finance-payment-value{grid-column:2;grid-row:2}.finance-panel .finance-status{grid-column:3;grid-row:1}.finance-payment-menu-wrap{grid-column:4;grid-row:1}.finance-student-copy{grid-column:2/4}.finance-panel .finance-plan-form{grid-template-columns:1fr 1fr}.finance-panel .finance-plan-form button{grid-column:1/-1}}@media(max-width:540px){.finance-panel .finance-heading{align-items:flex-start;padding:18px 16px 10px}.finance-panel .finance-head-actions{width:auto}.finance-panel .finance-head-actions input{min-height:38px}.finance-summary-heading{align-items:flex-start;padding:8px 16px 12px}.finance-summary-cards{gap:7px;padding:0 16px 14px}.finance-summary-card{grid-template-columns:17px 1fr;gap:6px;padding:10px 8px;min-height:74px;border-radius:14px}.finance-summary-card>span{width:17px;height:17px;font-size:11px}.finance-summary-card small{font-size:11px}.finance-summary-card strong{font-size:14px;letter-spacing:-.3px}.finance-tabs{margin:0 16px 16px}.finance-operational-section{padding:0 16px}.finance-operational-heading{align-items:flex-start;flex-direction:column}.finance-operational-actions{width:100%}.finance-operational-actions button{flex:1;padding:0 10px}.finance-list-filters{grid-template-columns:1fr 1fr;gap:8px}.finance-panel .finance-list-filters input,.finance-panel .finance-list-filters select{font-size:13px}.finance-payment-card{grid-template-columns:36px minmax(0,1fr) auto 32px;padding:10px 8px}.finance-student-avatar{width:34px;height:34px}.finance-student-copy b,.finance-payment-value{font-size:13px}.finance-panel .finance-status{font-size:10px;padding:4px 7px}.finance-panel .finance-plan-form{grid-template-columns:1fr}.finance-panel .finance-plan-form button{grid-column:auto}.finance-summary-detail-metrics{grid-template-columns:1fr 1fr}.finance-panel .finance-note{margin:16px;font-size:11px}}.finance-payment-card{grid-template-columns:48px minmax(0,1fr) minmax(118px,auto) minmax(88px,auto) 36px;min-height:82px;gap:14px;padding:13px 14px}.finance-student-avatar{width:46px;height:46px;overflow:hidden;font-size:18px;font-weight:750}.finance-student-avatar img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}.finance-student-copy{gap:5px}.finance-student-copy b{font-size:15px;font-weight:700;letter-spacing:-.15px}.finance-student-copy small,.finance-payment-value small{font-size:13px}.finance-payment-value{font-size:15px;font-weight:700}.finance-panel .finance-status{font-size:13px;font-weight:650}.finance-context-trigger{width:36px;height:36px}@media(max-width:760px){.finance-payment-card{grid-template-columns:42px minmax(0,1fr) auto 34px;min-height:76px;gap:10px;padding:11px 10px}.finance-student-avatar{width:40px;height:40px}.finance-student-copy b{font-size:14px}.finance-student-copy small{font-size:12px}.finance-payment-value{font-size:14px}.finance-payment-value small{font-size:12px}.finance-panel .finance-status{font-size:11px}}@media(max-width:540px){.finance-payment-card{grid-template-columns:38px minmax(0,1fr) auto 32px;padding:10px 9px}.finance-student-avatar{width:36px;height:36px}.finance-student-copy b{font-size:13px}.finance-student-copy small{font-size:12px}.finance-payment-value{font-size:13px}.finance-panel .finance-status{font-size:10px}}.organization-content{max-width:1000px;margin:0 auto}.organization-form{display:grid;gap:16px}.org-plan-panel{padding-bottom:18px}.org-plan-panel .panel-head{padding-bottom:10px}.org-plan-panel .panel-head p b{color:#17365d}.org-plan-badge{padding:7px 10px;border-radius:20px;background:#fff3d8;color:#8b5a08;font-size:10px;font-weight:700}.org-plan-select{display:grid;grid-template-columns:110px minmax(180px,1fr);align-items:center;gap:8px 12px;padding:0 20px}.org-plan-select label,.organization-fields label{color:#33465f;font-size:10px;font-weight:700}.org-plan-select select,.organization-fields input{width:100%;height:39px;padding:0 10px;border:1px solid #d6dee8;border-radius:7px;background:#fff;color:#17263a;font:11px DM Sans,sans-serif}.org-plan-select small{grid-column:2;color:#66758a;font-size:9px;line-height:1.5}.org-logo-controls{display:flex;align-items:center;gap:16px;padding:0 20px 18px}.org-logo-preview{width:86px;height:86px;display:grid;place-items:center;overflow:hidden;flex:none;border:1px solid #e1e7ef;border-radius:12px;background:#f1f4f8;color:#17365d;font:800 25px Manrope,DM Sans,sans-serif}.org-logo-preview img{width:100%;height:100%;object-fit:contain}.org-logo-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.org-logo-actions small{flex-basis:100%;color:#66758a;font-size:9px}.org-logo-actions .text-button{border:0;background:transparent;color:#8b5a08;font-size:10px;font-weight:700}.org-logo-actions .text-button:disabled{opacity:.45;cursor:not-allowed}.organization-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:0 20px 20px}.organization-fields label{display:grid;align-content:start;gap:6px}.organization-fields label small{color:#66758a;font-size:9px;font-weight:400;line-height:1.45}.organization-fields input:focus,.org-plan-select select:focus{outline:2px solid #d99a24;outline-offset:1px}.organization-save-row{display:flex;justify-content:flex-end;padding:14px 20px;border-top:1px solid #e1e7ef}.organization-save-row .primary-button{background:#17365d;border-color:#17365d;color:#fff}.organization-save-row .primary-button:hover{background:#102844}:root[data-theme=dark] .org-plan-panel .panel-head p b{color:#f3f1e9}.org-plan-badge{background:#33260e;color:#ffc34d}.org-plan-select label,:root[data-theme=dark] .organization-fields label{color:#d2d9e3}:root[data-theme=dark] .org-plan-select select,:root[data-theme=dark] .organization-fields input{border-color:#2b3d54;background:#0d1b2f;color:#edf1f7}.org-plan-select small,:root[data-theme=dark] .organization-fields label small,:root[data-theme=dark] .org-logo-actions small{color:#aeb9c8}.org-logo-preview{border-color:#2b3d54;background:#0d1b2f;color:#f0b13a}.organization-save-row{border-color:#1b2b40}.organization-save-row .primary-button{background:#e7a323;border-color:#e7a323;color:#09111d}.organization-save-row .primary-button:hover{background:#f0b13a}@media(max-width:650px){.org-plan-select{grid-template-columns:1fr;padding:0 14px}.org-plan-select small{grid-column:auto}.organization-fields{grid-template-columns:1fr;padding:0 14px 16px}.org-logo-controls{align-items:flex-start;flex-direction:column;padding:0 14px 16px}.organization-save-row{padding:12px 14px}}.audit-panel{margin-top:18px;overflow:hidden}.audit-panel>.error-banner{margin:0 20px 14px}.audit-table-wrap{overflow-x:auto}.audit-table-wrap table{width:100%;border-collapse:collapse;white-space:nowrap}.audit-table-wrap th{padding:10px 13px;background:#f7f9f7;color:#7b8980;text-align:left;font-size:8px;letter-spacing:.6px}.audit-table-wrap td{padding:11px 13px;border-top:1px solid #edf0ed;color:#56645a;font-size:10px}.audit-table-wrap td b,.audit-table-wrap td small{display:block}.audit-table-wrap td b{color:#37453b;font-size:10px}.audit-table-wrap td small{margin-top:3px;color:#929d95;font-size:8px}.audit-table-wrap td code{color:#718077;font-size:9px}.audit-outcome{display:inline-block;border-radius:20px;padding:4px 8px;font-size:8px;font-weight:700}.audit-outcome.success{background:#e9f5ed;color:#28754f}.audit-outcome.failure{background:#fce9e7;color:#b34840}.audit-empty{padding:18px!important;text-align:center;color:#87938b!important}.audit-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;color:#77847c;font-size:9px}.audit-footer>div{display:flex;gap:7px}.audit-footer button{min-height:30px;border:1px solid #dfe6e1;border-radius:6px;background:#fff;color:#506056;padding:0 10px;font-size:9px}.audit-footer button:disabled{opacity:.45;cursor:not-allowed}.audit-note{margin:0 18px 14px;color:#859188;font-size:8px;line-height:1.5}:root[data-theme=dark] .audit-table-wrap th{background:#0d192a;color:#aeb9c8}:root[data-theme=dark] .audit-table-wrap td{border-color:#24364d;color:#c4ceda}:root[data-theme=dark] .audit-table-wrap td b{color:#edf1f7}:root[data-theme=dark] .audit-table-wrap td code,:root[data-theme=dark] .audit-note{color:#aeb9c8}:root[data-theme=dark] .audit-footer{color:#aeb9c8}:root[data-theme=dark] .audit-footer button{border-color:#26364b;background:#111f33;color:#edf1f7}.student-profile-page{display:grid;gap:16px}.student-profile-back{justify-self:start;padding:7px 0;border:0;background:transparent;color:var(--primary);font:inherit;font-weight:600}.student-profile-cover{height:190px;margin-bottom:-92px;border:1px solid color-mix(in srgb,var(--primary) 16%,var(--border));border-radius:24px;background:radial-gradient(ellipse at 16% 18%,rgb(10 132 255 / 27%),transparent 38%),linear-gradient(130deg,color-mix(in srgb,var(--surface-secondary) 75%,#0b1a30),color-mix(in srgb,var(--primary) 12%,var(--surface)))}.student-profile-hero{position:relative;display:flex;align-items:flex-end;gap:24px;min-height:190px;padding:24px 30px}.student-profile-avatar{display:grid;place-items:center;flex:0 0 132px;width:132px;height:132px;margin-bottom:2px;border:5px solid var(--surface);border-radius:50%;background:linear-gradient(145deg,#8fbef8,#315f9e);color:#fff;font-size:38px;font-weight:700;box-shadow:0 6px 24px #00000029}.student-profile-avatar-wrap{position:relative;flex:0 0 132px;width:132px;height:132px;margin-bottom:2px}.student-profile-avatar img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}.student-photo-input{display:none}.student-photo-trigger,.student-photo-remove{position:absolute;z-index:1;display:grid;place-items:center;width:38px;height:38px;border:3px solid var(--surface);border-radius:50%;background:var(--warning);color:#fff;box-shadow:0 3px 12px #00000038;cursor:pointer}.student-photo-trigger{right:3px;bottom:4px}.student-photo-trigger svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.student-photo-remove{top:0;right:0;width:38px;height:38px;background:var(--surface-elevated);color:var(--danger)}.student-photo-remove svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.student-photo-trigger:disabled,.student-photo-remove:disabled{opacity:.6;cursor:wait}.student-photo-error{margin:0;color:var(--danger);font-size:13px}.student-photo-feedback,.student-photo-review{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text-primary);font-size:14px}.student-photo-feedback.error{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));color:var(--danger)}.student-photo-feedback.success{border-color:color-mix(in srgb,var(--success) 42%,var(--border));color:var(--success)}.student-photo-review{border-color:color-mix(in srgb,var(--warning) 42%,var(--border));background:color-mix(in srgb,var(--warning) 8%,var(--surface))}.student-photo-review>div{display:flex;gap:8px}.student-photo-review .primary-button,.student-photo-review .secondary-button{min-height:40px;font-size:14px}.student-profile-identity{flex:1;min-width:0}.student-profile-kicker{margin:0 0 5px;color:var(--text-secondary);font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.5px}:root[data-theme=dark] .student-profile-kicker{color:#cbd5e1;font-size:14px}.student-profile-name-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.student-profile-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.student-profile-header-actions .secondary-button{min-height:38px;padding:0 13px;font-size:13px}.student-profile-delete{min-height:38px;padding:0 12px;border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--danger) 8%,var(--surface));color:var(--danger);font:inherit;font-size:13px;font-weight:600}.student-profile-delete:hover{background:color-mix(in srgb,var(--danger) 14%,var(--surface))}.student-profile-name-row h1{margin:0;font-size:clamp(26px,3vw,36px)}.student-profile-name-row .eyebrow{margin-bottom:5px}.student-profile-identity>p{margin:8px 0 15px;color:var(--text-secondary)}.student-profile-quick-links{display:flex;gap:20px;border-top:1px solid var(--border);padding-top:13px}.student-profile-quick-links a{color:var(--text-secondary);font-size:14px;font-weight:600;text-decoration:none}.student-profile-quick-links a:hover{color:var(--primary)}.student-profile-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr);align-items:start;gap:20px}.student-profile-main,.student-profile-aside{display:grid;align-content:start;gap:20px;min-width:0}.student-profile-section{overflow:hidden}.student-profile-section .panel-head{padding-bottom:15px}.student-profile-section .panel-head h2{margin:0}.student-inline-edit{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--warning) 24%,var(--border));border-radius:13px;background:color-mix(in srgb,var(--warning) 10%,var(--surface));color:var(--warning);cursor:pointer;transition:background .15s ease,transform .15s ease}.student-inline-edit:hover{background:color-mix(in srgb,var(--warning) 18%,var(--surface));transform:translateY(-1px)}.student-inline-edit svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.student-inline-editor,.student-inline-about-form,.student-inline-finance-form{display:grid;gap:12px;padding:0 22px 18px}.student-inline-about-form,.student-inline-finance-form{padding-top:4px}.student-inline-about-form label,.student-inline-finance-form label{display:grid;gap:6px;color:var(--text-secondary);font-size:13px;font-weight:600}.student-inline-about-form input,.student-inline-about-form textarea,.student-inline-finance-form select,.student-inline-add-row select{width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--border);border-radius:12px;outline-color:var(--primary);background:var(--surface-secondary);color:var(--text-primary);font:inherit}.student-inline-about-form textarea{resize:vertical}.student-inline-finance-form{grid-template-columns:repeat(2,minmax(0,1fr))}.student-inline-actions,.student-inline-add-row{display:flex;align-items:center;justify-content:flex-end;gap:9px}.student-inline-finance-form .student-inline-actions{grid-column:1 / -1}.student-inline-add-row select{flex:1}.student-inline-add-row .primary-button,.student-inline-actions .primary-button,.student-inline-actions .secondary-button{min-height:40px;font-size:13px}.student-inline-action{padding:7px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-secondary);color:var(--primary);font:inherit;font-size:13px;font-weight:600;white-space:nowrap}.student-inline-action.danger{color:var(--danger)}.student-inline-action:disabled{opacity:.55}.student-inline-error{margin:0;color:var(--danger);font-size:13px}.student-inline-error-padded{padding:0 22px 10px}.student-profile-list{padding:0 22px 18px}.student-profile-list-row{display:flex;align-items:center;gap:14px;min-height:68px;padding:12px 4px;border-top:1px solid var(--border)}.student-profile-list-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary);font-size:20px}.student-profile-list-copy{display:grid;flex:1;gap:5px;min-width:0}.student-profile-list-copy b{color:var(--text-primary);font-size:15px}.student-profile-list-copy small{color:var(--text-secondary);font-size:13px}.student-profile-empty{margin:0;padding:18px 4px;color:var(--text-secondary)}.student-attendance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 22px 16px}.student-attendance-summary article{display:grid;gap:5px;padding:14px;border-radius:15px;background:var(--surface-secondary)}.student-attendance-summary strong{font-size:21px}.student-attendance-summary span,.student-finance-summary span{color:var(--text-secondary);font-size:12px}.student-attendance-dot,.student-finance-dot{flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:var(--text-secondary)}.student-attendance-dot.present,.student-finance-dot.paid{background:var(--success)}.student-attendance-dot.late,.student-finance-dot.pending{background:var(--warning)}.student-attendance-dot.absent,.student-finance-dot.overdue{background:var(--danger)}.student-attendance-dot.excused{background:var(--primary)}.student-attendance-status{font-size:13px;font-weight:600}.student-attendance-status.present{color:var(--success)}.student-attendance-status.late{color:var(--warning)}.student-attendance-status.absent{color:var(--danger)}.student-attendance-status.excused{color:var(--primary)}.student-finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 22px 16px}.student-finance-summary article{display:grid;gap:7px;padding:14px;border-radius:15px;background:var(--surface-secondary)}.student-finance-summary b{font-size:14px}.student-payment-amount{color:var(--text-primary);white-space:nowrap}.student-profile-about{display:grid;grid-template-columns:1fr;gap:5px;margin:0;padding:0 22px 22px}.student-profile-about dt{margin-top:10px;color:var(--text-secondary);font-size:12px}.student-profile-about dd{margin:0;overflow-wrap:anywhere;font-size:14px;font-weight:600}.student-profile-facts{display:grid;gap:12px;padding:0 22px 22px}.student-profile-facts div{display:flex;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:13px}.student-profile-facts b{color:var(--text-primary)}.student-profile-loading{padding:35px;text-align:center;color:var(--text-secondary)}.student-profile-row{cursor:pointer}.student-profile-row:hover{background:color-mix(in srgb,var(--primary) 6%,var(--surface))}@media(max-width:800px){.student-profile-layout{grid-template-columns:1fr}.student-profile-aside{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.student-profile-avatar-wrap{flex-basis:112px;width:112px;height:112px;margin:0}.student-profile-avatar{flex-basis:auto;width:100%;height:100%;margin:0}}@media(max-width:600px){.student-photo-feedback,.student-photo-review{align-items:stretch;flex-direction:column}.student-photo-review>div{justify-content:flex-end}}@media(max-width:600px){.student-profile-cover{height:135px;margin-bottom:-75px;border-radius:20px}.student-profile-hero{align-items:center;flex-direction:column;gap:12px;padding:18px;text-align:center}.student-profile-avatar{flex-basis:112px;width:112px;height:112px;font-size:32px}.student-profile-name-row{align-items:center;flex-direction:column}.student-profile-header-actions{justify-content:center}.student-profile-name-row h1{font-size:27px}.student-profile-identity>p{overflow-wrap:anywhere;font-size:14px}.student-profile-quick-links{justify-content:center;gap:18px}.student-profile-aside{grid-template-columns:1fr}.student-profile-list{padding:0 14px 14px}.student-profile-list-row{gap:10px;flex-wrap:wrap}.student-profile-list-copy{flex-basis:calc(100% - 62px)}.student-profile-list-row>.badge,.student-attendance-status{margin-left:52px}.student-attendance-summary,.student-finance-summary{grid-template-columns:repeat(2,1fr);padding-right:14px;padding-left:14px}.student-profile-payment-amount{font-size:13px}}:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--background: #f2f2f7;--sidebar: #fff;--surface: #fff;--surface-secondary: #f8fafc;--surface-elevated: #fff;--text-primary: #111827;--text-secondary: #64748b;--border: #e2e8f0;--primary: #007aff;--success: #34c759;--danger: #ff3b30;--warning: #ff9500;--yellow: #fc0;--mint: #00c8b3;--radius-card: 20px;--radius-container: 22px;--radius-button: 16px;--radius-input: 14px;--radius-modal: 24px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;color:var(--text-primary);background:var(--background)}:root[data-theme=dark]{color-scheme:dark;--background: #0b1220;--sidebar: #0d1728;--surface: #111827;--surface-secondary: #1f2937;--surface-elevated: #1f2937;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--border: #334155;--primary: #0a84ff;--success: #30d158;--danger: #ff453a;--warning: #ff9f0a;--yellow: #ffd60a;--mint: #00dac3}html{font-size:16px}body,.app-shell,.main-area,.student-portal,.auth-screen{background:var(--background);color:var(--text-primary)}.sidebar,.topbar,.student-portal-header,.panel,.stats article,.overview-stat,.student-portal-stats article,.available-class-card,.modal,.auth-card,.access-role-grid article,.student-checkin-card,.student-checkin-action{background:var(--surface)}.sidebar,.topbar,.panel,.stats article,.overview-stat,.student-portal-stats article,.available-class-card,.modal,.auth-card,.access-role-grid article{border-color:var(--border);border-radius:var(--radius-card)}h1,.heading-row h1,.student-welcome h1{font-size:34px;line-height:1.18;font-weight:600;letter-spacing:-.7px}.panel-head h2,h2{font-size:22px;line-height:1.3;font-weight:600}body,button,input,select,textarea{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif}.subtitle,.panel-head p,.breadcrumb,.student-portal-user,.access-user-copy b,.overview-class-name b,.student-enrollment-copy b,.student-cell b{font-size:16px}.eyebrow,.nav-label,th,.badge,.table-footer,.privacy-note,.notice,.error-banner,.stats small,.stat-caption,.student-cell small,.overview-stat-copy small,.overview-stat-copy>span,.overview-day,.overview-time,.overview-class-name small,.student-portal-stats small,.student-portal-stats article>div>span,.student-enrollment-copy small,.performance-breakdown span,.available-seats,.available-class-card>p,.available-class-card .class-schedule,.student-portal-footer{font-size:13px}.content{padding:40px 42px}.heading-row{margin-bottom:32px}.stats,.overview-stats,.student-portal-stats{gap:20px;margin-bottom:24px}.stats article,.overview-stat,.student-portal-stats article{padding:24px}.panel-head{padding:22px 24px 18px}.filters{padding:0 24px 20px}.student-directory-cards{display:grid;gap:10px;padding:0 24px 20px}.student-directory-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:14px;width:100%;min-height:78px;padding:12px 16px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-secondary) 82%,var(--surface)),var(--surface-secondary));box-shadow:inset 3px 0 color-mix(in srgb,var(--success) 70%,transparent);color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.student-directory-card:hover{border-color:color-mix(in srgb,var(--primary) 36%,var(--border));transform:translateY(-1px)}.student-directory-card:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 42%,transparent);outline-offset:2px}.student-directory-avatar{display:grid;place-items:center;overflow:hidden;width:46px;height:46px;border-radius:50%;background:color-mix(in srgb,var(--primary) 18%,var(--surface));color:var(--primary);font-size:13px;font-weight:700}.student-directory-avatar img{width:100%;height:100%;object-fit:cover}.student-directory-copy{display:grid;justify-items:start;gap:4px;min-width:0}.student-directory-copy b{overflow:hidden;max-width:100%;color:var(--text-primary);font-size:15px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.student-directory-copy small{color:var(--text-secondary);font-size:12px}.student-directory-payment{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:12px;font-weight:600}.student-directory-payment i{width:7px;height:7px;border-radius:50%;background:var(--text-secondary)}.student-directory-payment.paid{color:var(--success)}.student-directory-payment.paid i{background:var(--success)}.student-directory-payment.overdue{color:var(--danger)}.student-directory-payment.overdue i{background:var(--danger)}.student-directory-payment.pending{color:var(--warning)}.student-directory-payment.pending i{background:var(--warning)}.student-directory-amount{display:flex;align-items:baseline;gap:4px;color:var(--text-primary);font-size:15px;font-weight:700;white-space:nowrap}.student-directory-amount small{color:var(--text-secondary);font-size:11px;font-weight:500}.student-directory-status{justify-self:end;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.student-directory-status.active{background:color-mix(in srgb,var(--success) 16%,var(--surface));color:var(--success)}.student-directory-status.inactive{background:color-mix(in srgb,var(--text-secondary) 14%,var(--surface));color:var(--text-secondary)}.student-add-button{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;margin-left:16px;padding:0;border:0;border-radius:15px;background:transparent;color:var(--warning);cursor:pointer;transition:transform .16s ease,filter .16s ease}.student-add-button svg{display:block;width:100%;height:100%;filter:drop-shadow(0 4px 10px rgb(255 149 0 / 24%))}.student-add-button:hover{transform:translateY(-1px);filter:brightness(1.06)}.student-add-button:active{transform:scale(.96)}.student-add-button:focus-visible{outline:3px solid color-mix(in srgb,var(--warning) 38%,transparent);outline-offset:3px}.student-add-button:disabled{opacity:.5;cursor:not-allowed}th{padding:14px 20px}td{padding:16px 20px;font-size:15px}.primary-button,.secondary-button,.search input,.select-wrap,.select-wrap select,.modal form>label,.modal input,.access-role-form form>label,.invite-form input,.invite-form select,.access-user-row select{font-size:15px}.primary-button{min-height:46px;border:0;border-radius:var(--radius-button);background:var(--primary);box-shadow:none;padding:0 18px}.primary-button:hover{background:#0066d6}.secondary-button{min-height:42px;border-radius:var(--radius-button)}.search,.select-wrap,.modal input,.invite-form input,.invite-form select,.access-user-row select{min-height:44px;border-radius:var(--radius-input)}.modal{padding:28px;border-radius:var(--radius-modal)}.modal form{gap:18px}.modal form>label{gap:8px}.stats strong,.overview-stat-copy strong,.student-portal-stats strong{font-family:inherit;font-weight:600}.sidebar nav a{font-size:15px;border-radius:12px}.sidebar{width:300px}.main-area{margin-left:300px}.brand-icon{background:var(--primary);border-radius:12px}.org-avatar,.profile-avatar,.stat-icon,.overview-stat-icon,.student-enrollment-mark,.product-avatar,.stat-icon.green,.stat-icon.blue,.stat-icon.amber,.overview-stat-icon.green,.overview-stat-icon.blue,.overview-stat-icon.violet,.overview-stat-icon.amber,.overview-stat-icon.teal,.overview-stat-icon.rose{background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary)}.sidebar{background:color-mix(in srgb,var(--sidebar) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar{background:color-mix(in srgb,var(--background) 82%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.panel,.stats article,.overview-stat,.student-portal-stats article,.available-class-card,.modal,.auth-card{box-shadow:0 8px 28px #0f172a0d}.sidebar nav a.selected{background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--primary)}.badge.active{color:#248a3d;background:#e8f7eb}.badge.inactive{color:var(--text-secondary);background:var(--surface-secondary)}:root[data-theme=dark] .sidebar{background:color-mix(in srgb,var(--sidebar) 90%,transparent);border-color:var(--border)}:root[data-theme=dark] .topbar{background:color-mix(in srgb,var(--background) 84%,transparent);border-color:var(--border)}:root[data-theme=dark] .student-portal-header{background:var(--sidebar);border-color:var(--border)}:root[data-theme=dark] .panel,:root[data-theme=dark] .stats article,:root[data-theme=dark] .overview-stat,:root[data-theme=dark] .student-portal-stats article,:root[data-theme=dark] .available-class-card,:root[data-theme=dark] .modal,:root[data-theme=dark] .auth-card,:root[data-theme=dark] .access-role-grid article,:root[data-theme=dark] .student-checkin-card,:root[data-theme=dark] .student-checkin-action{background:color-mix(in srgb,var(--surface) 92%,transparent);border-color:color-mix(in srgb,var(--border) 78%,transparent);box-shadow:0 12px 32px #00000024;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}:root[data-theme=dark] .primary-button{background:var(--primary)}:root[data-theme=dark] .primary-button:hover{background:#006fe6}.eyebrow,.sidebar nav a.selected,.back-link{color:var(--primary)}.sidebar nav a.selected{background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.primary-button,.permission-grid input{accent-color:var(--primary)}.overview-week-select{position:relative;display:inline-flex;align-items:center;flex:none;min-height:38px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface-secondary);color:var(--text-primary);cursor:pointer}.overview-week-select:focus-within{outline:2px solid var(--primary);outline-offset:2px}.overview-week-select select{min-height:36px;appearance:none;padding:0;border:0;outline:0;background:transparent;color:inherit;font-family:inherit;font-size:13px;font-weight:600;line-height:1;cursor:pointer}.overview-week-select option{background:var(--surface);color:var(--text-primary)}.overview-week-select>span{position:absolute;top:50%;right:13px;width:7px;height:7px;transform:translateY(-50%) rotate(45deg);border-right:1.5px solid var(--text-secondary);border-bottom:1.5px solid var(--text-secondary);pointer-events:none}.agenda-date-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px 12px;color:var(--text-secondary);font-size:13px;text-transform:capitalize}.agenda-date-bar b{color:var(--text-primary);font-size:14px;font-weight:600}.agenda-slider{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:8px;width:min(100%,658px);padding:0 16px 14px}.agenda-day-nav{display:flex;gap:8px;min-width:0;overflow-x:hidden;padding:3px 2px 10px;border-bottom:1px solid var(--border);scrollbar-width:none;scroll-behavior:smooth;scroll-snap-type:none;overscroll-behavior-x:contain;touch-action:pan-y}.agenda-day-nav::-webkit-scrollbar{display:none}.agenda-day-button{display:grid;flex:0 0 70px;justify-items:center;gap:4px;min-height:62px;padding:8px 10px;border:1px solid transparent;border-radius:14px;background:var(--surface-secondary);color:var(--text-secondary);cursor:pointer;scroll-snap-align:start}.agenda-day-button>span{font-size:12px;font-weight:600}.agenda-day-button>strong{color:var(--text-primary);font-size:18px;font-weight:650;line-height:1}.agenda-day-button.selected{border-color:color-mix(in srgb,var(--primary) 36%,transparent);background:color-mix(in srgb,var(--primary) 15%,var(--surface));color:var(--primary)}.agenda-day-button.selected>strong{color:var(--primary)}.agenda-slider-arrow{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);border-radius:50%;background:var(--surface-secondary);color:var(--text-primary);cursor:pointer}.agenda-slider-arrow>span{display:block;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}.agenda-slider-arrow.previous>span{transform:rotate(225deg)}.agenda-slider-arrow:disabled{opacity:.35;cursor:default}.agenda-slider-arrow:focus-visible,.agenda-day-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.agenda-timeline{display:grid;gap:12px;padding:18px 24px 24px}.agenda-timeline-item{display:grid;grid-template-columns:82px 18px minmax(0,1fr);gap:14px;min-height:72px}.agenda-time{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-top:4px}.agenda-time strong{color:var(--text-primary);font-size:16px;font-variant-numeric:tabular-nums}.agenda-time span{color:var(--text-secondary);font-size:11px;line-height:1.25}.agenda-track{position:relative;display:flex;justify-content:center}.agenda-track:before{position:absolute;top:11px;bottom:-14px;width:2px;background:var(--border);content:""}.agenda-track i{position:relative;z-index:1;width:10px;height:10px;margin-top:7px;border:2px solid var(--primary);border-radius:50%;background:var(--surface)}.agenda-timeline-item.completed .agenda-track i{border-color:var(--success)}.agenda-timeline-item.in-progress .agenda-track i{border-color:var(--primary);background:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 18%,transparent)}.agenda-timeline-item:last-child .agenda-track:before{bottom:calc(100% - 12px)}.agenda-event-card{align-self:start;min-width:0;padding:13px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.overview-agenda-event-link{cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.overview-agenda-event-link:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.overview-agenda-event-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.agenda-event-heading{display:flex;align-items:center;gap:9px;min-width:0}.agenda-event-heading h3{flex:1;min-width:0;margin:0;overflow:hidden;color:var(--text-primary);font-size:15px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.agenda-status-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--warning)}.agenda-timeline-item.in-progress .agenda-status-dot{background:var(--primary)}.agenda-timeline-item.completed .agenda-status-dot{background:var(--success)}.agenda-status{padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--warning) 14%,var(--surface));color:var(--warning);font-size:10px;font-weight:650;white-space:nowrap}.agenda-status.in-progress{background:color-mix(in srgb,var(--primary) 15%,var(--surface));color:var(--primary)}.agenda-status.completed{background:color-mix(in srgb,var(--success) 14%,var(--surface));color:var(--success)}.agenda-event-details{display:flex;flex-wrap:wrap;gap:6px 14px;margin:6px 0 0 17px;color:var(--text-secondary);font-size:12px}.agenda-empty{display:grid;justify-items:center;gap:6px;padding:30px 20px 34px;text-align:center}.agenda-empty>span{color:var(--text-secondary);font-size:24px}.agenda-empty>b{color:var(--text-primary);font-size:15px}.agenda-empty>p{margin:0;color:var(--text-secondary);font-size:13px}.heading-row h1,.panel-head h2,.modal-head h2,.student-welcome h1,.overview-stat-copy strong,.student-portal-stats strong{color:var(--text-primary)}:root[data-theme=dark] .heading-row h1,:root[data-theme=dark] .panel-head h2,:root[data-theme=dark] .modal-head h2,:root[data-theme=dark] .student-welcome h1,:root[data-theme=dark] .overview-stat-copy strong,:root[data-theme=dark] .student-portal-stats strong{color:var(--text-primary)}:root[data-theme=dark] .subtitle,:root[data-theme=dark] .panel-head p,:root[data-theme=dark] .breadcrumb,:root[data-theme=dark] .table-footer,:root[data-theme=dark] .stats small,:root[data-theme=dark] .student-cell small{color:var(--text-secondary)}@media(max-width:650px){.content{padding:28px 16px}h1,.heading-row h1,.student-welcome h1{font-size:30px}.panel-head{padding:20px 16px 16px}.filters,.student-directory-cards{padding:0 16px 16px}.student-add-button{flex-basis:44px;width:44px;height:44px;margin-left:10px}.student-directory-card{grid-template-columns:42px minmax(0,1fr) auto;gap:10px;min-height:72px;padding:10px 12px}.student-directory-avatar{width:40px;height:40px;grid-row:span 2}.student-directory-copy{grid-row:span 2}.student-directory-copy b{font-size:14px}.student-directory-amount{grid-column:3;grid-row:1;font-size:13px}.student-directory-status{grid-column:3;grid-row:2;padding:4px 8px;font-size:11px}}@media(max-width:900px){.sidebar{width:205px}.main-area{margin-left:205px}}@media(max-width:650px){.sidebar{position:static;width:auto}.main-area{margin-left:0}}:root[data-theme=dark]{--background: #0b1220;--sidebar: #0d1728;--surface: #172337;--surface-secondary: #1f2937;--surface-elevated: #202d42;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--border: #334155;--primary: #1677ff}:root[data-theme=dark] body,:root[data-theme=dark] .app-shell,:root[data-theme=dark] .main-area,:root[data-theme=dark] .student-portal,:root[data-theme=dark] .auth-screen{background:var(--background);color:var(--text-primary)}:root[data-theme=dark] .sidebar{width:324px;padding:24px 18px;background:var(--sidebar);border-color:#1c2a3d;border-radius:0 0 18px}:root[data-theme=dark] .main-area{margin-left:324px}:root[data-theme=dark] .topbar{height:58px;margin:0 36px;padding:0;background:var(--background);border-bottom:1px solid #263549;-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-theme=dark] .content{max-width:none;padding:24px 36px 40px 46px}:root[data-theme=dark] .brand{color:#f8fafc;gap:14px;font-size:22px;letter-spacing:-.5px}:root[data-theme=dark] .brand-sub{color:#aebbd0;font-size:11px;letter-spacing:1.5px}:root[data-theme=dark] .brand-icon{background:transparent;color:inherit}:root[data-theme=dark] .org-switch{margin:34px 0 30px;padding:14px;min-height:74px;border:1px solid #334155;border-radius:17px;background:#1a273a;color:#f8fafc;box-shadow:inset 0 1px #ffffff0a}:root[data-theme=dark] .org-avatar,:root[data-theme=dark] .profile-avatar{background:#315b9b;color:#fff}:root[data-theme=dark] .org-switch b,:root[data-theme=dark] .sidebar-bottom b{color:#f8fafc;font-size:14px}:root[data-theme=dark] .org-switch small,:root[data-theme=dark] .sidebar-bottom small{color:#cbd5e1;font-size:13px}:root[data-theme=dark] .chevron{color:#dbe5f2}:root[data-theme=dark] .nav-label{margin:0 0 12px;color:#aebbd0;font-size:13px;letter-spacing:1px}:root[data-theme=dark] .sidebar nav{gap:5px}:root[data-theme=dark] .sidebar nav a{min-height:52px;padding:0 16px;gap:14px;border-radius:15px;color:#edf2fa;font-size:18px;font-weight:500}:root[data-theme=dark] .sidebar nav a>span{width:24px;font-size:21px}:root[data-theme=dark] .sidebar nav a.selected{background:#2858a2;color:#fff;font-weight:650;box-shadow:inset 0 1px #ffffff1a}:root[data-theme=dark] .sidebar nav a:hover:not(.selected){background:#17263a;color:#fff}:root[data-theme=dark] .sidebar-bottom{margin:auto -4px 0;padding:14px;border:1px solid #1d2b3e;border-radius:18px;background:#111d2e}:root[data-theme=dark] .sidebar-bottom button{color:#e2eaf5}:root[data-theme=dark] .breadcrumb{color:#e2eaf5;font-size:15px}:root[data-theme=dark] .breadcrumb span{color:#9aabc2}:root[data-theme=dark] .profile-avatar-button{background:#50688d;border:0;color:#fff}:root[data-theme=dark] .heading-row{margin-bottom:20px}:root[data-theme=dark] .eyebrow{margin-bottom:8px;color:#1683ff;font-size:15px;letter-spacing:.6px}:root[data-theme=dark] .heading-row h1,:root[data-theme=dark] .student-welcome h1{color:#f8fafc;font-size:clamp(36px,3vw,46px);line-height:1.1;font-weight:700;letter-spacing:-1.3px}:root[data-theme=dark] .subtitle{margin-top:8px;color:#cbd5e1;font-size:18px}:root[data-theme=dark] .overview-stats{gap:18px;margin:20px 0 22px}:root[data-theme=dark] .overview-stat{min-height:116px;align-items:center;gap:20px;padding:18px 26px;border:1px solid #34445b;border-radius:22px;background:#1a273a;box-shadow:inset 0 1px #ffffff0d,0 12px 30px #00000024}:root[data-theme=dark] .overview-stat-icon{width:62px;height:62px;border-radius:16px;font-size:28px;background:#2b4f82;color:#f4f8ff}:root[data-theme=dark] .overview-stat-icon:nth-child(n){background:#2b4f82;color:#f4f8ff}:root[data-theme=dark] .overview-stat-copy{gap:2px}:root[data-theme=dark] .overview-stat-copy small{color:#edf2fa;font-size:16px}:root[data-theme=dark] .overview-stat-copy strong{color:#fff;font-size:32px;line-height:1.05;letter-spacing:-.7px}:root[data-theme=dark] .overview-stat-copy>span{color:#cbd5e1;font-size:15px}:root[data-theme=dark] .panel,:root[data-theme=dark] .stats article,:root[data-theme=dark] .student-portal-stats article,:root[data-theme=dark] .available-class-card,:root[data-theme=dark] .auth-card,:root[data-theme=dark] .modal,:root[data-theme=dark] .access-role-grid article,:root[data-theme=dark] .location-card{color:var(--text-primary);background:#172337;border-color:#34445b;border-radius:22px;box-shadow:inset 0 1px #ffffff0a,0 12px 30px #00000024}:root[data-theme=dark] .overview-panel{margin-top:20px}:root[data-theme=dark] .panel-head{padding:21px 24px 15px}:root[data-theme=dark] .overview-panel .panel-head{justify-content:flex-start;text-align:left}:root[data-theme=dark] .overview-panel .panel-head>div{flex:1;min-width:0;text-align:left}:root[data-theme=dark] .overview-panel .overview-week{margin-left:auto}:root[data-theme=dark] .panel-head h2{color:#f8fafc;font-size:24px;font-weight:700;letter-spacing:-.4px}:root[data-theme=dark] .panel-head p{margin-top:5px;color:#cbd5e1;font-size:17px}:root[data-theme=dark] .overview-panel .panel-head:before{content:"▦";flex:none;display:grid;place-items:center;width:52px;height:52px;margin-right:14px;border-radius:14px;background:#2b4f82;color:#8ec0ff;font-size:30px}:root[data-theme=dark] .finance-heading>div:first-child{position:relative;min-height:54px;padding-left:70px}:root[data-theme=dark] .finance-heading>div:first-child:before{content:"▤";position:absolute;inset:0 auto auto 0;display:grid;place-items:center;width:54px;height:54px;border-radius:14px;background:#2b4f82;color:#8ec0ff;font-size:29px}:root[data-theme=dark] .overview-week{color:#dbe5f2;font-size:13px;letter-spacing:.5px}:root[data-theme=dark] .overview-week-select{position:relative;display:inline-flex;align-items:center;flex:none;min-height:38px;padding:0 12px;border:1px solid #3b4b62;border-radius:999px;background:#94a3b81f;color:#f1f5f9;cursor:pointer}:root[data-theme=dark] .overview-week-select select{min-height:36px;appearance:none;padding:0;border:0;outline:0;background:transparent;color:inherit;font-family:inherit;font-size:13px;font-weight:600;line-height:1;cursor:pointer}:root[data-theme=dark] .overview-week-select option{background:#172337;color:#f8fafc}:root[data-theme=dark] .overview-week-select>span{border-color:#cbd5e1}:root[data-theme=dark] .agenda-date-bar{color:#aebbd0}:root[data-theme=dark] .agenda-date-bar b{color:#e2eaf5}:root[data-theme=dark] .agenda-day-nav{border-color:#2c3a4f}:root[data-theme=dark] .agenda-slider-arrow{border-color:#3b4b62;background:#1f2937;color:#e2eaf5}:root[data-theme=dark] .agenda-slider-arrow:disabled{color:#91a0b5}:root[data-theme=dark] .agenda-day-button{border-color:#34445b;background:#1f2937a8;color:#cbd5e1}:root[data-theme=dark] .agenda-day-button>strong{color:#f8fafc}:root[data-theme=dark] .agenda-day-button.selected{border-color:#60a5fa94;background:#2563b461;color:#bfdbfe}:root[data-theme=dark] .agenda-day-button.selected>strong{color:#fff}:root[data-theme=dark] .agenda-track:before{background:#3b4b62}:root[data-theme=dark] .agenda-track i{background:#172337}:root[data-theme=dark] .agenda-event-card{border-color:#bfdbfe24;background:#0f172a6b}:root[data-theme=dark] .agenda-event-heading h3,:root[data-theme=dark] .agenda-time strong,:root[data-theme=dark] .agenda-empty>b{color:#f8fafc}:root[data-theme=dark] .agenda-time span,:root[data-theme=dark] .agenda-event-details,:root[data-theme=dark] .agenda-empty>p{color:#aebbd0}:root[data-theme=dark] .agenda-status.pending{background:#f59e0b26;color:#fbbf64}:root[data-theme=dark] .agenda-status.in-progress{background:#1677ff33;color:#8ec0ff}:root[data-theme=dark] .agenda-status.completed{background:#34c75929;color:#6ee7a0}:root[data-theme=dark] .overview-schedule-list{padding:0 24px 10px}:root[data-theme=dark] .overview-schedule-row{min-height:49px;border-color:#2c3a4f}:root[data-theme=dark] .overview-day{width:80px;padding:6px 12px;border-radius:999px;text-align:center;background:#2b4f82;color:#fff;font-size:15px;font-weight:700}:root[data-theme=dark] .overview-time{width:90px;color:#dbe5f2;font-size:16px}:root[data-theme=dark] .overview-class-name b{color:#fff;font-size:17px}:root[data-theme=dark] .overview-class-name small{color:#d0d9e7;font-size:15px}:root[data-theme=dark] .overview-schedule-mark{color:#dbe5f2}:root[data-theme=dark] .secondary-button,:root[data-theme=dark] .icon-button,:root[data-theme=dark] .theme-selector{min-height:44px;padding:0 16px;border:1px solid #34445b;border-radius:16px;background:#1b293d;color:#f8fafc;font-size:15px}:root[data-theme=dark] .primary-button{min-height:48px;border-radius:16px;background:#126dff;color:#fff;font-size:15px;font-weight:700}:root[data-theme=dark] .primary-button:hover{background:#2c80ff}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea,:root[data-theme=dark] .search,:root[data-theme=dark] .select-wrap{border-color:#3b4b62;border-radius:13px;background:#131f31;color:#f8fafc}:root[data-theme=dark] input::placeholder{color:#91a0b5}:root[data-theme=dark] input:focus,:root[data-theme=dark] select:focus,:root[data-theme=dark] textarea:focus{outline-color:#1683ff}:root[data-theme=dark] .finance-panel{padding-bottom:18px}:root[data-theme=dark] .finance-heading .eyebrow{margin:0 0 5px;color:#cbd5e1;font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.5px}:root .heading-row .eyebrow{margin:0 0 5px;color:var(--text-secondary);font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.5px}:root[data-theme=dark] .heading-row .eyebrow{color:#cbd5e1}.overview-stat-button{position:relative;width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.overview-stat-button:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.overview-stat-button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.overview-stat-chevron{align-self:center;margin-left:auto;color:var(--text-secondary);font-size:28px;line-height:1}.enrollment-detail-list{padding:0 24px 12px}.enrollment-detail-row{display:grid;grid-template-columns:42px minmax(0,1fr) minmax(130px,.6fr) auto;align-items:center;gap:14px;min-height:76px;border-top:1px solid var(--border)}.enrollment-detail-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:color-mix(in srgb,var(--primary) 14%,var(--surface));color:var(--primary);font-weight:700}.enrollment-detail-copy,.enrollment-detail-class{display:grid;gap:4px;min-width:0}.enrollment-detail-copy b,.enrollment-detail-class b{overflow:hidden;color:var(--text-primary);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.enrollment-detail-copy small,.enrollment-detail-class small{color:var(--text-secondary);font-size:13px}.enrollment-detail-row .badge{padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--success) 14%,var(--surface));color:var(--success)}@media(max-width:650px){.enrollment-detail-list{padding:0 16px 10px}.enrollment-detail-row{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:12px 0}.enrollment-detail-class{grid-column:2}.enrollment-detail-row .badge{grid-column:3;grid-row:1}}:root[data-theme=dark] .finance-heading h2{color:#f8fafc;font-size:24px}:root[data-theme=dark] .finance-head-actions label,:root[data-theme=dark] .finance-filters label,:root[data-theme=dark] .finance-plan-form label,:root[data-theme=dark] .finance-panel form label{color:#e2eaf5;font-size:13px}:root[data-theme=dark] .finance-head-actions input,:root[data-theme=dark] .finance-filters select,:root[data-theme=dark] .finance-plan-form input,:root[data-theme=dark] .finance-panel form input,:root[data-theme=dark] .finance-panel form select{min-height:42px;border:1px solid #3b4b62;border-radius:13px;background:#172337;color:#f8fafc;font-size:14px}:root[data-theme=dark] .finance-stats article,:root[data-theme=dark] .finance-subpanel{background:#1b293d;border-color:#34445b;border-radius:16px}:root[data-theme=dark] .finance-stats strong,:root[data-theme=dark] .finance-subhead h3,:root[data-theme=dark] .finance-class-line,:root[data-theme=dark] .finance-plan-list article>span b,:root[data-theme=dark] .finance-plan-list article strong,:root[data-theme=dark] .finance-table-wrap td b{color:#f8fafc}:root[data-theme=dark] .finance-stats small,:root[data-theme=dark] .finance-stats span,:root[data-theme=dark] .finance-subhead p,:root[data-theme=dark] .finance-class-list article>small,:root[data-theme=dark] .finance-plan-list article>span small,:root[data-theme=dark] .finance-note{color:#aebbd0}:root[data-theme=dark] .finance-table-wrap th{background:#1f2c40;color:#cbd5e1}:root[data-theme=dark] .finance-table-wrap td{color:#cbd5e1;border-color:#2c3a4f}:root[data-theme=dark] .finance-bar,:root[data-theme=dark] .finance-count-track{background:#26364c}:root[data-theme=dark] .finance-class-list,:root[data-theme=dark] .finance-plan-list article,:root[data-theme=dark] .finance-plan-form{border-color:#2c3a4f}:root[data-theme=dark] .notice{background:#172b42;border-color:#29415f;color:#dbeafe}:root[data-theme=dark] .error-banner{background:#3a2028;border-color:#65404a;color:#ffd7dc}:root[data-theme=dark] .badge.active{background:#173a32;color:#6ee7b7}:root[data-theme=dark] .badge.inactive{background:#263447;color:#cbd5e1}:root[data-theme=dark] .sidebar-bottom,:root[data-theme=dark] .overview-schedule-row,:root[data-theme=dark] .finance-plan-list article,:root[data-theme=dark] .finance-plan-form,:root[data-theme=dark] td,:root[data-theme=dark] .table-footer{border-color:#2c3a4f}:root[data-theme=dark] .panel,:root[data-theme=dark] .stats article,:root[data-theme=dark] .overview-stat,:root[data-theme=dark] .student-portal-stats article,:root[data-theme=dark] .available-class-card,:root[data-theme=dark] .schedule-summary article,:root[data-theme=dark] .location-card,:root[data-theme=dark] .class-card,:root[data-theme=dark] .finance-stats article,:root[data-theme=dark] .finance-subpanel,:root[data-theme=dark] .access-role-grid article,:root[data-theme=dark] .student-checkin-card,:root[data-theme=dark] .student-checkin-action,:root[data-theme=dark] .auth-card,:root[data-theme=dark] .modal{background:linear-gradient(135deg,#94a3b829,#f4f9ff1f,#1e293b38);border-color:#bfdbfe24;box-shadow:0 8px 32px #0003,inset 0 1px #ffffff1a}:root[data-theme=dark] .overview-stat,:root[data-theme=dark] .overview-panel,:root[data-theme=dark] .finance-panel{position:relative;overflow:hidden;background:linear-gradient(135deg,#94a3b829,#f4f9ff1f,#1e293b38);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);border:1px solid rgba(191,219,254,.14);box-shadow:0 8px 32px #0003,inset 0 1px #ffffff1a;border-radius:18px}@media(max-width:650px){:root[data-theme=dark] .mobile-bottom-nav{position:fixed;overflow:hidden;background:linear-gradient(135deg,#94a3b829,#f4f9ff1f,#1e293b38);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);border:1px solid rgba(191,219,254,.14);box-shadow:0 8px 32px #0003,inset 0 1px #ffffff1a;border-radius:18px}:root[data-theme=dark] .mobile-nav-item{color:#dbeafe}:root[data-theme=dark] .mobile-nav-item.selected{background:#1677ff52;color:#fff}}@media(max-width:900px){:root[data-theme=dark] .sidebar{width:205px}:root[data-theme=dark] .main-area{margin-left:205px}:root[data-theme=dark] .content{padding:24px}}@media(max-width:650px){:root[data-theme=dark] .sidebar{width:auto;padding:12px 16px;border-radius:0}:root[data-theme=dark] .main-area{margin-left:0}:root[data-theme=dark] .topbar{margin:0 16px}:root[data-theme=dark] .content{padding:24px 16px}:root[data-theme=dark] .heading-row h1{font-size:34px}:root[data-theme=dark] .overview-stat{min-height:96px;padding:16px}:root[data-theme=dark] .overview-panel .panel-head{flex-wrap:wrap;gap:12px}:root[data-theme=dark] .overview-panel .overview-week-select{margin-left:64px}.agenda-date-bar{padding:0 16px 10px}.agenda-slider{display:block;width:100%;padding:0 16px 14px}.agenda-slider-arrow{display:none}.agenda-day-nav{gap:6px;overflow-x:auto;padding:3px 2px 10px;scroll-snap-type:x mandatory;touch-action:pan-x pan-y}.agenda-day-button{flex-basis:48px;min-height:54px;padding:7px 4px}.agenda-timeline{gap:10px;padding:16px 16px 20px}.agenda-timeline-item{grid-template-columns:62px 14px minmax(0,1fr);gap:8px}.agenda-time strong{font-size:14px}.agenda-time span{font-size:10px}.agenda-event-card{padding:12px}.agenda-event-heading{gap:7px}.agenda-event-heading h3{font-size:14px}.agenda-status{padding:3px 7px;font-size:9px}.agenda-event-details{gap:4px 10px;margin-left:15px;font-size:11px}}@media(max-width:430px){.overview-content .overview-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.overview-content .overview-stat{display:grid;grid-template-columns:1fr;justify-items:center;min-width:0;min-height:108px;gap:0;padding:12px 8px;border-radius:16px;text-align:center}.overview-content .overview-stat-icon{display:none}.overview-content .overview-stat-copy{min-width:0;justify-items:center;gap:7px;text-align:center}.overview-content .overview-stat-copy small{font-size:13px;font-weight:700;line-height:1.25}.overview-content .overview-stat-copy strong{font-size:24px;line-height:1}.overview-content .overview-stat-copy>span{font-size:11px;line-height:1.3;text-align:center}.overview-content .overview-stat-chevron{display:none}}.finance-panel select{appearance:none!important;-webkit-appearance:none!important;padding-right:38px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='m3.5 5.25 3.5 3.5 3.5-3.5' stroke='%2364758b' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 13px center!important;background-size:14px 14px!important}.finance-advanced-filters summary{display:flex;align-items:center;min-height:42px}.finance-advanced-filters summary:after{display:block;width:7px;height:7px;margin:-3px 2px 0 9px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;content:"";transform:rotate(45deg);transition:transform .18s ease,margin .18s ease}.finance-advanced-filters[open] summary:after{margin-top:4px;transform:rotate(225deg)}.finance-advanced-filters summary:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:6px}:root[data-theme=dark] .finance-panel select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='m3.5 5.25 3.5 3.5 3.5-3.5' stroke='%23cbd5e1' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}:root[data-theme=dark] .finance-context-menu{border-color:#bfdbfe2e;background:#162336fa;color:#edf2fa;box-shadow:0 16px 38px #0000007a,inset 0 1px #ffffff14;backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%)}:root[data-theme=dark] .finance-context-menu button{color:#edf2fa}:root[data-theme=dark] .finance-context-menu button:hover{background:#94a3b81f;color:#fff}:root[data-theme=dark] .finance-context-menu>span{color:#aebbd0}:root[data-theme=dark] .mobile-more-panel{border-color:#bfdbfe2e;background:#111d2ef5;box-shadow:0 18px 42px #00000080,inset 0 1px #ffffff14;backdrop-filter:blur(24px) saturate(155%);-webkit-backdrop-filter:blur(24px) saturate(155%)}:root[data-theme=dark] .mobile-more-panel button{color:#e7edf6}:root[data-theme=dark] .mobile-more-panel button span{color:#8ec0ff}:root[data-theme=dark] .mobile-more-panel button:hover{background:#60a5fa24;color:#fff}.student-avatar img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover}:root .membership-modal .class-enrollment-modal-eyebrow{margin:0 0 5px;color:var(--text-secondary);font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.5px}:root[data-theme=dark] .membership-modal .class-enrollment-modal-eyebrow{color:#cbd5e1}:root .membership-modal{position:relative}:root[data-theme=light] .membership-modal .class-enrollment-modal-close,:root[data-theme=dark] .membership-modal .class-enrollment-modal-close{position:absolute;top:6px;right:6px;z-index:2;display:grid;flex:0 0 24px;place-items:center;box-sizing:border-box;width:24px!important;min-width:24px;height:24px!important;min-height:24px;aspect-ratio:1;padding:4px;border:1px solid color-mix(in srgb,var(--danger) 22%,transparent);border-radius:9px!important;background:color-mix(in srgb,var(--danger) 10%,var(--surface));box-shadow:none;color:var(--danger);transition:transform .16s ease,background .16s ease,border-color .16s ease}:root[data-theme=dark] .membership-modal .class-enrollment-modal-close{color:#ff453a}:root .membership-modal .class-enrollment-modal-close:hover{transform:scale(1.05);background:color-mix(in srgb,var(--danger) 18%,var(--surface));border-color:color-mix(in srgb,var(--danger) 38%,transparent)}:root .membership-modal .class-enrollment-modal-close svg{display:block;width:17px!important;height:17px!important;overflow:visible}:root .membership-modal .class-enrollment-modal-close svg path{fill:none!important;stroke:currentColor!important;stroke-width:4.2!important;stroke-linecap:round!important}:root .membership-modal .add-member-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;margin:0}:root .membership-modal .add-member-row select{box-sizing:border-box;width:100%;height:44px!important;min-height:44px!important;padding:0 42px 0 14px!important;border:1px solid var(--border);border-radius:12px;appearance:none;-webkit-appearance:none;background-color:var(--surface-secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='m3.5 5.25 3.5 3.5 3.5-3.5' stroke='%2364758b' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px 14px;color:var(--text-primary);font:inherit;font-size:14px}:root[data-theme=dark] .membership-modal .add-member-row select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='m3.5 5.25 3.5 3.5 3.5-3.5' stroke='%23cbd5e1' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}:root .membership-modal .add-member-row .primary-button{box-sizing:border-box;height:44px!important;min-height:44px!important;padding:0 18px!important;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:14px}@media(max-width:760px){:root .membership-modal .add-member-row{grid-template-columns:minmax(0,1fr)}:root .membership-modal .add-member-row select,:root .membership-modal .add-member-row .primary-button{width:100%}}:root .class-enrollment-remove,:root .membership-modal .class-enrollment-modal-close,:root .location-card .row-action.delete-action{border-color:transparent!important;background:transparent!important;box-shadow:none!important;color:var(--danger)!important}:root .class-enrollment-remove:hover,:root .membership-modal .class-enrollment-modal-close:hover,:root .location-card .row-action.delete-action:hover{border-color:transparent!important;background:transparent!important;box-shadow:none!important;color:var(--danger)!important}
