@font-face{font-family:Manrope;src:url(/assets/manrope.ttf) format("truetype");font-weight:200 800;font-display:swap}:root{color-scheme:dark;--bg: #0c0b0e;--frame: #121215;--panel: #1b1b20;--surface: #222128;--line: #303039;--text: #f5f2f9;--muted: #aaa5b5;--purple: #c0a5f8;--green: #a0cdb7;--amber: #dbc18b;--rose: #dba6b5;--blue: #a6c4e9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 85% 0,#21172766,transparent 42%),var(--bg);font:13px/1.6 Manrope,Arial,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation;outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.38;cursor:not-allowed}a{text-decoration:none;color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.35;overflow-wrap:anywhere}h1{font-size:28px;font-weight:650;letter-spacing:-1px}h2{font-size:17px;font-weight:650;letter-spacing:-.4px}h3{font-size:14px;font-weight:650;letter-spacing:-.2px}button,a{transition:background .2s,color .2s,border-color .2s,transform .2s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid #cfb4ff}.icon{width:20px;height:20px;vertical-align:middle;flex-shrink:0}.rotate{transform:rotate(180deg)}.out-arrow{transform:rotate(-45deg)}.muted{color:var(--muted)}.positive{color:var(--green)}.purple-dot{color:var(--purple)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--purple);color:#22172f;border-radius:9px;padding:10px 16px}.skip-link:focus{top:15px}.app-frame{display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-rows:86px auto;margin:20px auto;width:calc(100% - 40px);max-width:1640px;min-height:calc(100vh - 40px);background:var(--frame);border:1px solid var(--line);border-radius:26px;box-shadow:0 25px 90px #0004}.sidebar{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;align-items:center;padding:22px 0 20px;position:sticky;top:20px;align-self:start;height:calc(100dvh - 40px);min-height:580px;border-right:1px solid var(--line);border-radius:26px 0 0 26px;background:#141317;z-index:30}.brand-mark{height:41px;width:41px;display:grid;place-items:center;background:#fff;border:1px solid #fff;border-radius:12px;flex-shrink:0}.brand-mark img{display:block;width:35px;height:35px;border-radius:8px}.rail-nav{display:flex;flex-direction:column;align-items:center;gap:9px;width:100%;margin:30px 0 14px;flex:1;min-height:0}.nav-item{width:39px;flex-shrink:0;display:grid;place-items:center;position:relative}.nav-item .icon{width:19px;height:19px}.nav-tooltip{position:absolute;left:calc(100% + 16px);top:50%;transform:translateY(-50%);white-space:nowrap;background:#2c2334;color:#f0dfff;border:1px solid #63506e;border-radius:7px;padding:7px 11px;font-size:11px;opacity:0;visibility:hidden;pointer-events:none;z-index:80;box-shadow:0 6px 18px #0004}.nav-item:hover .nav-tooltip,.nav-item:focus-visible .nav-tooltip{opacity:1;visibility:visible}.rail-bottom{display:flex;align-items:center;flex-direction:column;gap:15px;margin-top:auto}.rail-monogram{font-size:11px;font-weight:800;letter-spacing:2px;color:#b5a7c2}.topbar{grid-column:2;grid-row:1;display:flex;align-items:center;gap:26px;padding:0 30px;border-bottom:1px solid var(--line);min-width:0}.topbar-brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.topbar-brand a{font-size:17px;font-weight:750;letter-spacing:-.5px}.topbar-brand a>span{color:var(--purple)}.topbar-brand small{display:block;font-size:10px;color:#aca2b9;line-height:1.5;margin-top:2px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-button,.mobile-logo{display:none!important}.global-search{display:flex;align-items:center;gap:9px;max-width:330px;width:100%;margin-left:auto}.global-search .icon{height:15px;width:15px}.global-search kbd{font:10px Manrope,sans-serif;white-space:nowrap;background:#27222f;border:1px solid #40334d;border-radius:4px;padding:1px 5px;margin-left:auto;color:#bea9d0}.header-actions{display:flex;align-items:center;gap:20px}.demo-badge{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:11px;color:#cbb3e6}.demo-badge i{width:5px;height:5px;border-radius:50%;background:#c2a2ed;box-shadow:0 0 0 4px #b98be910}.icon-button{width:36px;display:inline-grid;place-items:center;flex-shrink:0}.icon-button .icon{width:16px;height:16px}.icon-button.small{width:28px}.icon-button.small .icon{width:14px;height:14px}.notification-button{position:relative}.notification-button>span{position:absolute;top:0;right:0;height:14px;min-width:14px;display:grid;place-items:center;padding:0 3px;background:#bfa4ee;border:2px solid #121215;color:#291d3e;border-radius:50%;font-size:11px;font-weight:800;line-height:1}.profile-button{display:flex;align-items:center;gap:9px;border-left:1px solid #38303f;text-align:left;white-space:nowrap}.profile-avatar{height:35px;width:35px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#665279,#3b2b48);border:1px solid #79608d;color:#f0d7ff;font-size:11px;font-weight:700}.profile-avatar.large{height:58px;width:58px;font-size:16px}.profile-button>span:nth-child(2){font-size:11px;font-weight:650}.profile-button small{display:block;color:#bba8ca;font-size:11px;font-weight:400;margin-top:1px}.profile-button>.icon{height:13px;width:13px;color:#b9a2cb}main{grid-column:2;grid-row:2;padding:0 30px;min-width:0}main:focus{outline:none}.demo-strip{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:17px 0 27px;color:#ac9cba;font-size:11px}.demo-strip>span:first-child{display:flex;align-items:center;gap:6px;color:#c8addf}.demo-strip .icon{height:13px;width:13px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.eyebrow{display:block;font-size:10px;color:#b6a4c6;letter-spacing:1.6px;font-weight:650;margin-bottom:9px}.page-heading p{font-size:12px;color:#afa1bb;margin-top:8px;line-height:1.8}.page-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.button .icon{height:16px;width:16px}.danger{color:#e8a8bd}.text-link{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;padding:0;min-height:28px}.text-link .icon{width:14px;height:14px}.button-row{display:flex;gap:9px;flex-wrap:wrap}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:24px}.stats-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{border:1px solid var(--line);border-radius:15px;background:#1c1b21;padding:17px 19px}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#c1b3cd;font-size:11px;font-weight:600}.stat-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;border:1px solid #493759}.stat-icon .icon{height:15px;width:15px}.stat-card>strong{display:block;font-size:28px;font-weight:600;letter-spacing:-1px;line-height:1.2;margin-top:9px}.stat-bottom{font-size:11px;color:#b29fbf;margin-top:9px;line-height:1.7}.purple{background:#362940;color:#d3b6ee;border-color:#584068}.green{background:#273a32;color:#b2d6c1;border-color:#3d5a49}.amber{background:#3b3226;color:#dfc894;border-color:#5a4a31}.blue{background:#293440;color:#b4cbe7;border-color:#405368}.rose{background:#3c2833;color:#e3b0c3;border-color:#5b3c4b}.orange{background:#3e2c26;color:#e6b598;border-color:#634334}.muted.badge{background:#29232f;color:#c6b3d5;border-color:#493654}.panel{background:var(--panel);border:1px solid var(--line);border-radius:17px;overflow:hidden}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 21px 17px}.panel-title .eyebrow{font-size:11px;margin-bottom:5px}.count-label{color:#b6a3c7;font-size:11px;white-space:nowrap}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:23px;align-items:start}.main-column{min-width:0;display:flex;flex-direction:column;gap:22px}.insight-column{display:flex;flex-direction:column;gap:18px;min-width:0}.activity-panel .panel-title{padding-bottom:19px}.segmented{display:flex;gap:2px;padding:4px;border:1px solid #332a3a;background:#131115;border-radius:10px}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 21px;margin-bottom:13px}.calendar-header>span{font-size:11px;color:#cdbbdc;font-weight:600}.calendar-header>div{display:flex;align-items:center;gap:5px}.calendar-header .text-button{margin-right:7px}.date-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:0 21px}.date-card{padding:10px 3px 12px;min-height:69px;display:flex;flex-direction:column;align-items:center;gap:5px;position:relative}.date-card>span{font-size:11px;color:#b7a7c4}.date-card>strong{font-size:18px;font-weight:600;line-height:1.3}.date-card.selected>span{color:#49345e}.date-card>i{height:3px;width:3px;background:#cbaaed;border-radius:50%;position:absolute;bottom:5px}.date-card.selected>i{background:#4d3268}.chart-wrap{padding:20px 20px 0;position:relative}.attendance-chart{display:block;width:100%;height:220px}.chart-axis-text{font:11px Manrope,Arial,sans-serif;fill:#b8a3c8}.chart-grid-line{stroke:#51405c;stroke-width:.7;stroke-dasharray:2 5;opacity:.65}.chart-no-data{position:absolute;inset:30px;display:grid;place-items:center;background:#1b1b20ce;color:#d8bde9;font-size:12px}.chart-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:10px 21px 0;border-top:1px solid #342b3b;padding:11px 0 14px}.chart-legend{display:flex;align-items:center;gap:17px;font-size:11px;color:#bfabce}.chart-legend span,.chart-legend button{display:flex;align-items:center;gap:6px}.chart-legend button{font:inherit}.chart-legend button.off{text-decoration:line-through;opacity:.65}.chart-legend i{width:6px;height:6px;display:block;background:#b693e8;border-radius:50%}.chart-legend i.yellow{background:#d4b67f}.avatar{height:34px;min-width:34px;width:34px;border-radius:11px;display:inline-grid;place-items:center;font-size:11px;font-weight:700;border:1px solid;flex-shrink:0}.avatar.large{height:55px;min-width:55px;width:55px;border-radius:17px;font-size:15px}.person{display:flex;align-items:center;gap:10px;min-width:0}.person strong{display:block;font-size:12px;font-weight:600;white-space:nowrap}.person small{display:block;font-size:11px;color:#b29bc3;margin-top:2px;white-space:nowrap}.batch-tag{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}.badge{display:inline-flex;align-items:center;padding:4px 7px;border:1px solid;border-radius:5px;font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap}.table-scroll{overflow:auto;scrollbar-width:thin;scrollbar-color:#634b72 #1b1720}.data-table{border-collapse:collapse;width:100%;text-align:left;min-width:620px}.data-table th{font-size:11px;letter-spacing:.2px;font-weight:550;color:#b9a5ca;background:#17151b;padding:12px 21px;border-top:1px solid #332b3a;border-bottom:1px solid #332b3a;white-space:nowrap}.data-table td{padding:14px 21px;border-bottom:1px solid #302835;font-size:11px;color:#dfccec;white-space:nowrap}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#221c29}.data-table td:first-child{color:#f1e3fa}.data-table th:last-child,.data-table td:last-child{text-align:right}.data-table th:only-child,.data-table td:only-child{text-align:left}.row-actions{display:flex;justify-content:flex-end;gap:7px}.row-actions .icon-button{width:29px}.row-actions .icon{height:14px;width:14px}.recent-panel .data-table{min-width:540px}.recent-panel .data-table td,.recent-panel .data-table th{padding-left:19px;padding-right:19px}.recent-panel .person strong,.recent-panel .person small{font-size:11px}.focus-banner{display:flex;align-items:center;gap:14px;padding:17px 19px;border:1px solid #44304f;border-radius:14px;background:linear-gradient(100deg,#2b1f34,#211925)}.focus-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:#3b2848;color:#d3a6ee;flex-shrink:0}.focus-icon .icon{width:18px;height:18px}.focus-banner h3{font-size:12px;color:#e5c9f5}.focus-banner p{font-size:11px;color:#c1a3d0;line-height:1.85;margin-top:4px}.focus-banner .button{margin-left:auto}.side-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.side-heading h2{font-size:15px}.side-heading>span{font-size:11px;color:#c1a7d1}.side-heading .icon{width:16px;height:16px;color:#d0ace7}.schedule-cards{display:flex;flex-direction:column;gap:12px}.class-card{width:100%;padding:15px 17px;text-align:left}.class-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.class-time{font-size:11px;font-weight:650;color:#caa9e1}.class-top .badge{font-size:11px;padding:3px 5px}.class-card h3{font-size:12px;font-weight:650;line-height:1.6}.class-teacher{display:flex;align-items:center;gap:8px;margin-top:15px}.class-teacher>.avatar{height:28px;min-width:28px;width:28px;font-size:11px;border-radius:9px}.class-teacher>span{font-size:11px;line-height:1.4;color:#d5b9e5}.class-teacher small{font-size:11px;display:block;margin-top:3px;color:#bba0c9}.class-teacher>.icon{width:14px;height:14px;margin-left:auto;color:#cca7e1}.schedule-link{font-size:11px;justify-content:space-between;margin-top:-5px}.gradient-card{position:relative;background:linear-gradient(125deg,#60409b,#7a3c8e 48%,#a95430);border:1px solid #b683b7;box-shadow:0 8px 30px #572c5d20;padding:21px;border-radius:18px;color:#fff;overflow:hidden;margin-left:-5px;width:calc(100% + 5px)}.gradient-orbit{position:absolute;right:-75px;top:75px;border:1px solid #ffffff24;border-radius:50%;width:210px;height:210px}.gradient-orbit:before,.gradient-orbit:after{content:"";position:absolute;inset:20px;border:1px solid #ffffff24;border-radius:50%}.gradient-orbit:after{inset:40px}.gradient-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:650;position:relative;gap:10px}.gradient-top .icon{height:18px;width:18px}.gradient-card>strong{display:block;font-size:34px;font-weight:600;letter-spacing:-1.2px;line-height:1.3;margin-top:14px;position:relative}.gradient-card p{font-size:11px;line-height:1.9;margin-top:10px;position:relative}.gradient-card>a{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;margin-top:21px}.gradient-card>a:hover{background:#26122da0}.gradient-card>a .icon{height:15px;width:15px}.gradient-card small{display:block;font-size:11px;margin-top:11px;position:relative}.notice-panel{padding-top:2px}.notice-card{border-bottom:1px solid #3b2a42;text-align:left;display:flex;align-items:flex-start;gap:10px;padding:16px 0;width:100%}.notice-card>span:nth-child(2){flex:1}.notice-card strong{font-size:11px;font-weight:600;display:block;line-height:1.65}.notice-card small{display:block;font-size:11px;color:#c4a2d0;margin-top:5px}.notice-card>.icon{height:13px;width:13px;margin-top:3px;color:#c39dd3}.notice-dot{height:7px;width:7px;border-radius:50%;margin-top:6px;flex-shrink:0}.notice-dot.purple{background:#c09adf}.notice-dot.amber{background:#d8b37b}.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;color:#b29ac3;font-size:11px;padding:21px 0;margin-top:27px;border-top:1px solid #372a40}.footer>span{display:flex;align-items:center;gap:8px}.footer i{font-style:normal;color:#b395c5}.status-dot{height:4px;width:4px;background:#c5a1dd;border-radius:50%;display:inline-block}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 21px 17px}.toolbar.standalone{padding:0;margin:0 0 22px}.toolbar-spacer{flex:1}.toolbar .muted{font-size:11px}.search-field{display:flex;align-items:center;gap:9px;padding:0 11px;height:39px;border:1px solid #47344f;border-radius:9px;background:#151219;max-width:325px;width:100%}.search-field .icon{height:15px;width:15px;color:#c6a8d8}.search-field input{width:100%;height:100%;border:0;background:none;color:#f1ddfc;outline:none;font-size:11px;min-width:0}.search-field input::placeholder{color:#ba9ecb}.search-field:focus-within{border-color:#bb8ed7;box-shadow:0 0 0 2px #be89dd14}.filter-select{height:39px;display:flex;align-items:center;border:1px solid #4b3458;background:#231a2a;border-radius:9px;position:relative;flex-shrink:0}.filter-select select{appearance:none;background:transparent;border:0;color:#dfc0ee;font-size:11px;padding:0 33px 0 11px;height:100%;width:100%;cursor:pointer;max-width:290px}.filter-select>.icon{position:absolute;right:10px;height:13px;width:13px;color:#cba5df;pointer-events:none}.filter-select.wide{min-width:240px}.filter-select option,select option{background:#25192e;color:#f1ddfc}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 21px;border-top:1px solid #38293f;color:#bfa1cf;font-size:11px;flex-wrap:wrap}.pagination{display:flex;align-items:center;gap:6px}.pagination label{display:flex;align-items:center;gap:7px;margin-right:10px}.pagination select{border:1px solid #50355c;color:#dec0ed;background:#25182d;border-radius:6px;padding:5px 6px;font-size:11px}.pagination>span{margin:0 8px}.empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:55px 22px;text-align:center;min-height:240px}.empty-state>span{display:grid;place-items:center;height:48px;width:48px;border-radius:14px;background:#36213e;border:1px solid #654071;color:#d6a9ec;margin-bottom:15px}.empty-state h3{font-size:17px;color:#ead2f5}.empty-state p{font-size:12px;color:#c8a6d6;margin-top:8px;max-width:420px;line-height:1.9}.empty-state .button{margin-top:20px}.small-empty{padding:18px 10px;color:#c3a4d0;font-size:11px;text-align:center}.teacher-grid,.batch-grid,.announcement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.teacher-card,.batch-card{padding:22px}.teacher-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.teacher-card h2{margin-top:17px;font-size:17px}.teacher-subject{font-size:12px;color:#c6a5d8;margin-top:5px}.teacher-email{display:flex;align-items:center;gap:6px;font-size:11px;color:#bea1cc;margin-top:14px;overflow-wrap:anywhere}.teacher-email .icon{height:13px;width:13px}.teacher-metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px 0;border-top:1px solid #3b2943;border-bottom:1px solid #3b2943;margin:20px 0 16px;color:#c0a0cf;font-size:11px}.teacher-metrics>span+span{border-left:1px solid #432c4d;padding-left:19px}.teacher-metrics strong{display:block;font-size:22px;line-height:1.4;color:#ead0f6;font-weight:600;margin-bottom:4px}.teacher-batches{display:flex;flex-wrap:wrap;gap:6px;min-height:28px}.card-actions{display:flex;align-items:center;gap:9px;margin-top:20px}.card-actions>.secondary{flex:1}.batch-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.batch-symbol{height:42px;width:42px;display:grid;place-items:center;border-radius:13px;border:1px solid}.batch-symbol .icon{height:21px;width:21px}.batch-card h2{margin-top:18px;font-size:17px;min-height:46px}.teacher-line{display:flex;align-items:center;gap:9px;font-size:11px;color:#d5b8e3;margin-top:12px}.teacher-line .avatar{height:27px;width:27px;min-width:27px;font-size:11px;border-radius:8px}.capacity-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#c0a1d0;margin-top:22px}.capacity-label strong{font-size:13px;color:#ead0f5}.capacity-label small{font-size:11px;font-weight:400;color:#bfa1cd}.progress-track{height:5px;border-radius:5px;background:#32233b;margin-top:9px;overflow:hidden}.progress-track>span{height:100%;display:block;background:#b589d9;border-radius:5px}.progress-track>.green{background:#8db79c}.progress-track>.blue{background:#8cadd4}.progress-track>.amber{background:#cfb478}.progress-track>.rose{background:#cc8fae}.progress-track>.orange{background:#d09872}.batch-fee{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:17px;border-top:1px solid #3e2a47;font-size:11px;color:#c2a1d0}.batch-fee strong{font-size:16px;font-weight:600;color:#ebd1f5}.inline-notice{display:flex;align-items:flex-start;gap:9px;border:1px solid #51335f;background:#2d1d36;padding:12px 15px;border-radius:11px;font-size:11px;line-height:1.8;color:#d4b1e4;margin-bottom:20px}.inline-notice .icon{height:16px;width:16px;margin-top:2px;color:#d4a7ef}.inline-field{display:flex;align-items:center;gap:10px;color:#cdb0dd;font-size:11px}.inline-field input{border:1px solid #593564;background:#24162c;color:#e6c4f6;border-radius:9px;padding:8px 10px;font-size:11px;min-height:39px}.attendance-buttons{display:flex;gap:4px;justify-content:flex-end}.attendance-table{min-width:690px}.cell-stack strong{display:block;font-size:11px;font-weight:600}.cell-stack small{display:block;font-size:11px;color:#bda0cb;margin-top:4px}.page-tabs{display:flex;gap:25px;border-bottom:1px solid #3d2c46;margin-bottom:24px}.page-tabs button{position:relative}.result-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:19px 22px;border-top:1px solid #3e2a47;background:#201825;color:#bea0cd;font-size:11px}.result-summary strong{display:block;font-size:22px;font-weight:550;color:#ead0f4;line-height:1.4;margin-top:5px}.marks-input{width:95px;background:#23142b;color:#f0d4ff;border:1px solid #6b407d;border-radius:8px;min-height:36px;padding:7px 10px;font-size:12px}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.schedule-toolbar>div:first-child{display:flex;align-items:center;gap:12px;font-size:12px;color:#d6b4e7}.schedule-date{margin-bottom:20px}.week-scroll{overflow:auto;scrollbar-width:thin}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:1020px}.day-column{border-right:1px solid #392a43;min-width:0;min-height:470px}.day-column:last-child{border-right:0}.day-column-heading{height:105px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:#18131d;border-bottom:1px solid #3c2847;color:#cbb0dc}.day-column-heading>span{font-size:11px}.day-column-heading>strong{font-size:23px;font-weight:550;line-height:1.3}.day-column-heading>small{font-size:11px;line-height:1}.day-column-heading.is-today{background:#3b274a;color:#ead2ff}.day-classes{display:flex;flex-direction:column;gap:14px;padding:17px 11px}.calendar-class{display:flex;flex-direction:column;align-items:flex-start;gap:10px;border-left-width:3px;padding:13px 11px;text-align:left;min-height:167px;width:100%;position:relative}.calendar-class>span:first-child{font-size:11px;font-weight:650}.calendar-class>strong{font-size:12px}.calendar-class>small{font-size:11px;line-height:1.9}.calendar-class .end-time{font-size:11px;border-top:1px solid #ffffff18;padding-top:7px;margin-top:auto;width:100%}.week-grid.day-view{min-width:0;grid-template-columns:1fr}.day-view .day-column{min-height:300px}.day-view .day-column-heading{height:83px;flex-direction:row;gap:15px}.day-view .day-classes{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));padding:21px;gap:16px}.day-view .calendar-class{min-height:180px}.announcement-card{padding:22px;display:flex;flex-direction:column;align-items:flex-start}.announcement-top{display:flex;justify-content:space-between;align-items:flex-start;width:100%;gap:20px;margin-bottom:22px}.category-icon{display:inline-grid;place-items:center;height:41px;width:41px;border:1px solid;border-radius:12px}.category-icon .icon{height:20px;width:20px}.announcement-card .eyebrow{font-size:11px;letter-spacing:.8px;margin-bottom:9px}.announcement-card h2{font-size:18px;line-height:1.5}.announcement-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.95;color:#c6a5d5;margin-top:13px;min-height:70px}.audience{display:flex;align-items:center;gap:7px;color:#d8b3e8;font-size:11px;margin-top:19px;margin-bottom:2px}.audience .icon{height:14px;width:14px}.announcement-card .card-actions{width:100%;margin-top:auto;padding-top:23px}.announcement-card .card-actions>.icon-button{width:34px}.settings-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:23px;align-items:start}.settings-fields{padding:0 23px 25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:8px;min-width:0;color:#dec1eb;font-size:11px;font-weight:600;line-height:1.7}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{background:#211528;border:1px solid #54345f;border-radius:10px;color:#f1d8ff;padding:10px 12px;min-height:42px;width:100%;font-size:12px;line-height:1.6;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#b897c7}.field input:focus,.field select:focus,.field textarea:focus{border-color:#c28add}.field-help{font-size:11px;color:#c2a0d0;line-height:1.9;margin-top:16px}.settings-fields>.button{margin-top:22px}.read-only{border:1px solid #44304c;border-radius:10px;background:#1d1622;color:#c9a9d5;font-size:11px;padding:11px 12px;min-height:42px}.settings-aside{display:flex;flex-direction:column;gap:20px}.demo-panel,.reset-panel{padding:24px}.demo-panel h2{font-size:19px;margin-top:18px}.demo-panel p,.reset-panel p{font-size:12px;color:#c6a4d3;line-height:1.9;margin-top:10px}.demo-panel ul{padding-left:17px;color:#d1b0de;font-size:11px;line-height:2.1;margin:17px 0}.demo-panel .badge{font-size:11px}.reset-panel>.button{display:flex;width:100%;margin-top:16px}.form-error{border:1px solid #99566d;border-radius:9px;padding:11px 13px;margin-top:16px;color:#ffc7d8;background:#512a3b;font-size:12px;line-height:1.8}#results-error{margin:15px 21px}.form-error:empty{display:none}#modal{background:#1c1622;color:#f3e3fb;border:1px solid #61416f;border-radius:21px;padding:27px;max-width:550px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);box-shadow:0 20px 100px #0008;overflow:auto}#modal::backdrop{background:#08050bb8;backdrop-filter:blur(6px)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.modal-header .eyebrow{font-size:11px;letter-spacing:1.6px;color:#cea6e1;margin-bottom:9px}.modal-header h2{font-size:23px;line-height:1.35;letter-spacing:-.6px;font-weight:650}.modal-intro{color:#c8a5d7;font-size:12px;line-height:1.95;margin-bottom:23px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:25px;padding-top:21px;border-top:1px solid #4a2e54;flex-wrap:wrap}.profile-heading{display:flex;align-items:center;gap:15px;margin-bottom:23px}.profile-heading h3{font-size:19px;color:#f0d6fc}.profile-heading p{font-size:11px;color:#caabd6;margin-top:6px;line-height:1.8}.profile-heading .badge{margin-top:9px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 18px;margin:24px 0}.detail-grid dt{font-size:11px;color:#c0a0ce;margin-bottom:7px}.detail-grid dd{margin:0;font-size:12px;color:#e6c8f3;overflow-wrap:anywhere;line-height:1.8}.detail-subheading{font-size:13px;color:#e3c1ef;margin:24px 0 12px}.detail-row{display:flex;align-items:center;gap:12px;width:100%;border-bottom:1px solid #4a2c54;padding:15px 0;font-size:11px;text-align:left;line-height:1.8}.detail-row>span:first-child{flex:1}.detail-row>span>small{display:block;color:#c6a0d5;font-size:11px;margin-top:4px}.detail-row>strong{margin-left:auto;font-size:11px;font-weight:600}.detail-row>.icon{width:14px;height:14px;color:#d3a3e8}.detail-row>.badge{margin-left:auto}div.detail-row{border:0;border-bottom:1px solid #4a2c54;background:none;color:#ebc9fa}.detail-list{max-height:350px;overflow:auto}.detail-chips{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:21px}.detail-chips>.muted{font-size:11px}.receipt-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.receipt-title strong{font-size:17px}.receipt-title~p{font-size:12px;line-height:1.9}.announcement-body{font-size:13px;color:#e3c5f1;line-height:2;white-space:pre-wrap;overflow-wrap:anywhere}.payment-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:5px 0 23px}.payment-summary>div:last-child{text-align:right}.payment-summary small{display:block;font-size:11px;color:#c6a1d6}.payment-summary strong{display:block;font-size:22px;color:#ecd0fa;font-weight:600;margin-top:3px}#modal.wide-dialog{max-width:730px}#modal .data-table{min-width:450px}#modal .data-table td,#modal .data-table th{padding-left:13px;padding-right:13px}#modal.command-dialog{max-width:610px}#modal.drawer-dialog{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:440px;max-width:100%;border-radius:0;border-width:0 0 0 1px}.command-search{display:flex;align-items:center;gap:11px;border:1px solid #775089;background:#281932;border-radius:11px;height:47px;padding:0 13px}.command-search .icon{height:18px;width:18px;color:#d4ace9}.command-search input{background:none;border:0;outline:none;color:#f4ddff;width:100%;font-size:13px}.command-search input::placeholder{color:#c8a3da}.command-results{margin-top:15px;max-height:420px;overflow:auto}.command-hit{width:100%;display:flex;align-items:center;gap:13px;text-align:left;border-bottom:1px solid #43294d;padding:13px 8px}.command-hit>.icon{height:18px;width:18px;color:#cf9fe8}.command-hit>span{flex:1}.command-hit strong{font-size:12px;font-weight:600;display:block}.command-hit small{font-size:11px;color:#c49cd4;display:block;margin-top:3px}.command-hit>.icon:last-child{height:14px;width:14px}.notification-item{display:flex;gap:13px;align-items:flex-start;width:100%;border-bottom:1px solid #50315d;text-align:left;padding:17px 10px}.notification-item>.icon{height:18px;width:18px;color:#d3a5e7;margin-top:3px}.notification-item>.icon:last-child{height:13px;width:13px;margin-left:auto}.notification-item>span{flex:1}.notification-item strong{font-size:12px;line-height:1.7;font-weight:600;display:block}.notification-item small{display:block;font-size:11px;color:#cba3db;margin-top:6px}.help-list{padding-left:20px;font-size:12px;line-height:2;color:#d9b7e8}.help-list li{margin:10px 0}.help-list strong{color:#f0d4ff}.mobile-nav{display:flex;flex-direction:column;gap:4px}.mobile-nav-link{display:flex;align-items:center;gap:13px;padding:13px 15px;font-size:13px}.mobile-nav-link>.icon{width:18px;height:18px}.mobile-nav-link>.icon:last-child{margin-left:auto;width:14px;height:14px}.toast{position:fixed;left:50%;bottom:23px;transform:translate(-50%);z-index:80;background:#42254f;border:1px solid #9564a7;color:#f0d5ff;border-radius:11px;box-shadow:0 8px 30px #0005;font-size:12px;line-height:1.9;padding:12px 18px;max-width:calc(100% - 32px);pointer-events:none}.table-hint{display:none}body[data-density=compact] .data-table td{padding-top:8px;padding-bottom:8px}body[data-density=compact] .person>.avatar{width:29px;min-width:29px;height:29px;font-size:11px}@media(min-width:1650px){.app-frame{margin-top:30px}.topbar,main{padding-left:35px;padding-right:35px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 320px;gap:28px}.attendance-chart{height:245px}.gradient-card{padding:24px}}@media(max-height:800px)and (min-width:701px){.sidebar{padding-top:18px;padding-bottom:15px;min-height:620px}.rail-nav{gap:5px;margin-top:20px}.nav-item{width:35px}.nav-item>.icon{width:18px;height:18px}.rail-bottom{gap:10px}.rail-monogram{font-size:11px}}@media(max-width:1350px){.app-frame{width:calc(100% - 28px);margin:14px auto;grid-template-columns:68px minmax(0,1fr)}.sidebar{top:14px;height:calc(100dvh - 28px)}.topbar,main{padding-left:24px;padding-right:24px}.topbar{gap:20px}.global-search{max-width:255px}.header-actions{gap:14px}.profile-button>span:nth-child(2){display:none}.profile-button>.icon{display:none}.page-heading h1{font-size:26px}.page-heading{gap:18px}.page-heading p{font-size:11px}.stats-grid{gap:12px}.stat-card{padding:15px 16px}.stat-card>strong{font-size:26px}.stat-top,.stat-bottom{font-size:11px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 265px;gap:20px}.activity-panel .panel-title{padding-left:18px;padding-right:18px}.panel-title h2{font-size:16px}.panel-title .eyebrow{font-size:11px}.calendar-header{padding-left:18px;padding-right:18px}.date-strip{padding-left:18px;padding-right:18px;gap:6px}.date-card{min-height:66px}.chart-wrap{padding-left:16px;padding-right:16px}.attendance-chart{height:200px}.chart-footer{margin-left:18px;margin-right:18px}.gradient-card{padding:18px}.gradient-card>strong{font-size:30px}.gradient-top,.gradient-card p{font-size:11px}.class-card{padding:14px}.class-card h3{font-size:11px}.class-teacher>span{font-size:11px}.class-teacher small{font-size:11px}.focus-banner{flex-wrap:wrap}.focus-banner>div{flex:1}.focus-banner>.button{margin-left:49px}.teacher-grid,.batch-grid,.announcement-grid{gap:16px}.teacher-card,.batch-card,.announcement-card{padding:20px}.teacher-card h2,.batch-card h2,.announcement-card h2{font-size:16px}.teacher-email{font-size:11px}.teacher-metrics{gap:10px;font-size:11px}.teacher-metrics>span+span{padding-left:12px}.settings-grid{grid-template-columns:minmax(0,1fr) 290px;gap:20px}.settings-fields{padding-left:20px;padding-right:20px}.toolbar{gap:9px}.toolbar .search-field{max-width:290px}.toolbar .filter-select select{max-width:210px}.data-table td,.data-table th{padding-left:18px;padding-right:18px}}@media(max-width:1100px){.demo-badge{display:none}.global-search{max-width:290px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:17px}.page-heading h1{font-size:28px}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.insight-column{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.insight-column>.side-heading{grid-column:1}.schedule-cards{grid-column:1;grid-row:2/4}.schedule-link{grid-column:1;grid-row:4}.gradient-card{grid-column:2;grid-row:1/4;width:100%;margin:0;height:100%;padding:22px;display:flex;flex-direction:column}.gradient-card>a{margin-top:auto}.gradient-card>strong{font-size:35px;margin-top:22px}.gradient-card p{font-size:12px;margin-bottom:22px}.gradient-top{font-size:12px}.gradient-card small{font-size:11px}.notice-panel{grid-column:1/-1}.notice-panel .notice-card{padding:15px 3px}.notice-card strong{font-size:12px}.notice-card small{font-size:11px}.class-card{padding:17px}.class-card h3{font-size:13px}.class-teacher>span{font-size:11px}.class-teacher small{font-size:11px}.stats-grid{gap:12px}.stat-top>span:first-child{max-width:110px}.stat-card{padding:15px}.stat-card>strong{font-size:24px}.stat-icon{height:26px;width:26px;border-radius:8px}.stat-top,.stat-bottom{font-size:11px}.activity-panel .panel-title{padding:22px 22px 19px}.panel-title h2{font-size:18px}.panel-title .eyebrow{font-size:11px}.calendar-header,.date-strip{padding-left:22px;padding-right:22px}.date-strip{gap:8px}.date-card{min-height:73px}.date-card>span{font-size:11px}.date-card>strong{font-size:20px}.attendance-chart{height:230px}.chart-footer{margin-left:22px;margin-right:22px}.chart-legend{font-size:11px}.focus-banner{flex-wrap:nowrap}.focus-banner>.button{margin-left:auto}.teacher-grid,.batch-grid,.announcement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.teacher-email{font-size:11px}.teacher-card h2,.batch-card h2{font-size:18px}.teacher-metrics,.teacher-batches .batch-tag{font-size:11px}.settings-grid{grid-template-columns:minmax(0,1fr)}.settings-aside{display:grid;grid-template-columns:1fr 1fr}.settings-form .form-grid{gap:21px}.footer{font-size:11px}.toolbar .search-field{max-width:320px}.table-hint{display:block;font-size:11px;color:#bca0ca;padding:7px 18px;background:#1b1520;border-top:1px solid #362540}}@media(max-width:850px){.topbar-brand a{font-size:16px}.topbar-brand small{max-width:180px}.topbar{gap:15px}.global-search{max-width:none;width:37px;justify-content:center;margin-left:auto}.global-search span,.global-search kbd{display:none}.header-actions{gap:13px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.stats-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-top{font-size:11px}.stat-top>span:first-child{max-width:none}.stat-bottom{font-size:11px}.stat-card>strong{font-size:28px}.page-heading h1{font-size:27px}.demo-strip{align-items:flex-start;font-size:11px;line-height:1.8}.demo-strip>span:last-child{max-width:220px;text-align:right}.calendar-header{padding:0 18px}.date-strip{padding:0 18px;gap:6px}.activity-panel .panel-title{padding:20px 18px 18px}.panel-title h2{font-size:16px}.panel-title .eyebrow{font-size:11px}.attendance-chart{height:200px}.chart-footer{margin-left:18px;margin-right:18px}.chart-legend{gap:12px;font-size:11px}.focus-banner{flex-wrap:wrap;gap:11px}.focus-banner>.button{margin-left:46px}.teacher-grid,.batch-grid,.announcement-grid{gap:15px}.teacher-card,.batch-card,.announcement-card{padding:19px}.teacher-card h2,.batch-card h2{font-size:16px}.teacher-email,.teacher-metrics{font-size:11px}.teacher-metrics strong{font-size:21px}.card-actions{gap:6px}.announcement-card h2{font-size:17px}.announcement-excerpt{font-size:11px}.announcement-card .card-actions{flex-wrap:wrap}.announcement-card .card-actions .secondary{flex:1}.toolbar .search-field{max-width:100%;flex-basis:100%}.filter-select select,.inline-field{font-size:11px}.settings-aside{gap:16px}.demo-panel,.reset-panel{padding:20px}.schedule-toolbar{flex-wrap:wrap;gap:17px}.schedule-toolbar>div:first-child{font-size:11px;gap:8px}.footer{font-size:11px}.footer>span:first-child{max-width:290px;flex-wrap:wrap;gap:5px}}@media(max-width:700px){.app-frame{width:100%;margin:0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr);grid-template-rows:76px auto;min-height:100vh}.sidebar{display:none}.topbar{grid-column:1;grid-row:1;padding:0 18px;gap:12px;position:sticky;top:0;z-index:35;background:#151219f2;backdrop-filter:blur(14px)}main{grid-column:1;grid-row:2;padding:0 20px}.topbar-brand{gap:9px;min-width:0}.topbar-brand a{font-size:16px}.topbar-brand small{font-size:9px;max-width:165px}.menu-button{display:inline-grid!important;width:29px;margin-left:-5px}.menu-button .icon{height:19px;width:19px}.mobile-logo{display:block!important;width:31px;height:31px;border-radius:9px;background:#fff;padding:2px;flex-shrink:0}.header-actions{gap:5px}.profile-button{display:none}.notification-button{width:32px}.notification-button .icon{height:17px;width:17px}.global-search{width:32px;flex-shrink:0}.global-search .icon{height:17px;width:17px}.demo-strip{font-size:11px;margin:15px 0 24px;line-height:1.9;gap:11px}.demo-strip>span:first-child{max-width:190px;align-items:flex-start}.demo-strip>span:first-child .icon{margin-top:3px;height:11px;width:11px}.demo-strip>span:last-child{max-width:190px}.page-heading{margin-bottom:22px;gap:16px}.page-heading h1{font-size:28px;line-height:1.35}.page-heading .eyebrow{font-size:11px;letter-spacing:1.3px}.page-heading p{font-size:12px}.page-actions{gap:9px;flex-wrap:wrap}.stats-grid{margin-bottom:21px;gap:11px}.stat-card{padding:15px}.stat-top{font-size:11px}.stat-card>strong{font-size:26px}.stat-bottom{font-size:11px}.stats-grid.three{gap:9px}.stats-grid.three .stat-card{padding:13px}.stats-grid.three .stat-top{flex-wrap:wrap;gap:8px;min-height:48px}.stats-grid.three .stat-icon{height:24px;width:24px;border-radius:7px}.stats-grid.three .stat-top>span:first-child{order:2;flex-basis:100%}.stats-grid.three .stat-card>strong{font-size:25px;margin-top:10px}.stats-grid.three .stat-bottom{font-size:11px;line-height:1.7}.dashboard-grid{gap:23px}.main-column{gap:19px}.panel{border-radius:15px}.activity-panel .panel-title{padding:19px 17px 17px;gap:12px}.panel-title h2{font-size:16px}.panel-title .eyebrow{font-size:11px;letter-spacing:1px}.segmented{padding:3px;border-radius:9px}.calendar-header{padding:0 17px;margin-bottom:11px}.calendar-header>span{font-size:11px}.date-strip{padding:0 17px;gap:6px}.date-card{min-height:67px}.date-card>span{font-size:11px}.date-card>strong{font-size:19px}.chart-wrap{padding:14px 13px 0}.attendance-chart{height:190px}.chart-footer{margin:3px 17px 0;padding:12px 0;gap:12px}.chart-legend{font-size:11px;gap:13px}.panel-title{padding:19px 17px 16px}.panel-title>.text-link{font-size:11px}.focus-banner{padding:16px 17px}.focus-banner h3{font-size:12px}.focus-banner p{font-size:11px}.toolbar{padding:0 17px 17px;gap:9px}.search-field{height:41px}.search-field input{font-size:16px}.search-field input::placeholder{font-size:11px}.filter-select{height:37px}.filter-select select{font-size:11px;max-width:220px}.table-footer{padding:12px 17px;gap:12px;font-size:11px}.data-table td,.data-table th{padding-left:17px;padding-right:17px}.teacher-grid,.batch-grid,.announcement-grid{gap:16px}.teacher-card h2,.batch-card h2{font-size:17px}.teacher-card-top .badge{font-size:11px}.teacher-card .avatar.large{height:48px;min-width:48px;width:48px;font-size:13px;border-radius:15px}.teacher-card .card-actions{flex-wrap:wrap}.teacher-card .card-actions>.secondary{flex-basis:100%}.teacher-email,.teacher-metrics{font-size:11px}.teacher-metrics>span+span{padding-left:10px}.batch-card h2{min-height:50px}.batch-card .teacher-line{font-size:11px}.batch-card .teacher-line .avatar{height:24px;width:24px;min-width:24px;font-size:11px}.batch-fee{font-size:11px}.batch-fee strong{font-size:15px}.announcement-card .eyebrow{font-size:11px}.announcement-card h2{font-size:17px}.announcement-excerpt{font-size:12px}.result-summary{padding:17px;gap:12px;font-size:11px}.result-summary strong{font-size:20px}.page-tabs{margin-bottom:21px;gap:24px}.inline-notice{font-size:11px;padding:12px}.schedule-toolbar>div:first-child{gap:8px;font-size:11px;flex-wrap:wrap}.schedule-toolbar>div:first-child .icon-button{width:31px}.settings-aside{grid-template-columns:1fr 1fr}.settings-fields{padding:0 20px 22px}.settings-fields .field{font-size:11px}.settings-form .form-grid{gap:17px}.settings-grid{gap:19px}.demo-panel h2{font-size:18px}.demo-panel p,.reset-panel p,.demo-panel ul,.demo-panel .badge{font-size:11px}.footer{padding:20px 0;font-size:11px;gap:15px;margin-top:24px}.footer>span:first-child{max-width:290px}.footer>span:last-child{white-space:nowrap}#modal{padding:24px 22px;border-radius:18px}.modal-header{gap:15px}.modal-header h2{font-size:22px}.modal-intro{font-size:12px}.field input,.field select,.field textarea{font-size:16px}.field input::placeholder,.field textarea::placeholder{font-size:12px}.modal-header .eyebrow{font-size:11px}.command-search input{font-size:16px}.command-search input::placeholder{font-size:12px}.toast{font-size:11px;bottom:17px}.mobile-nav-link{padding:11px 13px;font-size:13px}#modal.navigation-dialog{max-width:430px}.payment-summary{flex-wrap:wrap;gap:18px}.payment-summary>div:last-child{text-align:left}}@media(max-width:480px){main{padding:0 17px}.topbar{padding:0 15px;gap:6px}.topbar-brand{gap:7px}.topbar-brand a{font-size:15px}.topbar-brand small{font-size:9px;max-width:160px}.mobile-logo{height:28px;width:28px;border-radius:8px}.global-search{margin-left:auto;width:29px}.header-actions{gap:0}.notification-button{width:29px}.demo-strip{font-size:11px;gap:12px}.demo-strip>span:first-child{max-width:155px}.demo-strip>span:last-child{max-width:165px}.page-heading h1{font-size:27px}.page-heading p{font-size:11px}.stats-grid{gap:10px}.stat-card{padding:14px}.stat-top{font-size:11px;gap:7px}.stat-card>strong{font-size:26px}.stat-bottom{font-size:11px}.stats-grid.three{gap:8px}.stats-grid.three .stat-card{padding:12px}.stats-grid.three .stat-top{font-size:11px}.stats-grid.three .stat-card>strong{font-size:24px}.stats-grid.three .stat-bottom{font-size:11px}.activity-panel .panel-title{flex-wrap:wrap;gap:13px}.activity-panel .panel-title h2{font-size:17px}.panel-title .eyebrow{font-size:11px}.activity-panel .segmented{margin-left:auto}.date-strip{gap:5px;padding-left:14px;padding-right:14px}.date-card{min-height:62px}.date-card>span{font-size:11px}.date-card>strong{font-size:17px}.calendar-header{padding-left:14px;padding-right:14px}.calendar-header>span{font-size:11px}.chart-wrap{padding:7px 10px 0}.attendance-chart{height:165px}.chart-footer{margin-left:14px;margin-right:14px;gap:8px}.chart-legend{font-size:11px;gap:10px}.chart-legend i{width:5px;height:5px}.insight-column{display:flex;flex-direction:column;gap:17px}.insight-column>*{width:100%}.insight-column>.gradient-card{padding:23px;margin-top:2px}.gradient-card>strong{font-size:36px;margin-top:15px}.gradient-card p{font-size:12px;margin-bottom:0;margin-top:10px}.gradient-card>a{margin-top:23px}.gradient-card small{font-size:11px}.class-card{padding:17px}.class-card h3{font-size:13px}.class-top .badge,.class-time{font-size:11px}.class-teacher>span{font-size:11px}.class-teacher small{font-size:11px}.class-teacher>.avatar{height:30px;min-width:30px;width:30px;font-size:11px}.side-heading h2{font-size:16px}.side-heading>span{font-size:11px}.schedule-link{font-size:11px}.notice-card strong{font-size:12px}.notice-card small{font-size:11px}.teacher-grid,.batch-grid,.announcement-grid{grid-template-columns:minmax(0,1fr);gap:18px}.teacher-card,.batch-card,.announcement-card{padding:22px}.teacher-card h2,.batch-card h2{font-size:19px}.teacher-card .avatar.large{height:55px;min-width:55px;width:55px;font-size:15px;border-radius:17px}.teacher-card-top .badge{font-size:11px}.teacher-subject{font-size:13px}.teacher-email{font-size:12px}.teacher-metrics{font-size:11px;padding:19px 0}.teacher-metrics strong{font-size:24px}.teacher-metrics>span+span{padding-left:18px}.teacher-card .card-actions{flex-wrap:nowrap}.teacher-card .card-actions>.secondary{flex-basis:auto}.batch-card h2{min-height:0}.batch-card .teacher-line{font-size:12px}.capacity-label,.batch-fee{font-size:11px}.batch-fee strong{font-size:18px}.batch-card .teacher-line .avatar{height:29px;width:29px;min-width:29px;font-size:11px}.announcement-card h2{font-size:19px}.announcement-card .eyebrow{font-size:11px}.announcement-excerpt{font-size:12px}.announcement-card .audience{font-size:11px}.toolbar{gap:9px}.filter-select select{font-size:11px;max-width:180px}.toolbar .filter-select select{max-width:190px}.toolbar .search-field{max-width:100%}.table-footer{font-size:11px}.table-footer .pagination{width:100%;justify-content:flex-end}.pagination label{margin-right:auto}.count-label{font-size:11px}.panel-title{gap:12px}.page-tabs{gap:25px}.result-summary{gap:10px;font-size:11px}.result-summary strong{font-size:18px}.schedule-toolbar>div:first-child{gap:7px}.schedule-toolbar>div:first-child>span{font-size:11px}.settings-aside,.settings-fields .form-grid{grid-template-columns:1fr}.settings-fields .field{font-size:12px}.settings-form .form-grid{gap:18px}.settings-fields{padding-left:19px;padding-right:19px}.settings-fields .field input,.settings-fields .field select{font-size:16px}.demo-panel,.reset-panel{padding:23px}.demo-panel h2{font-size:21px}.demo-panel p,.reset-panel p,.demo-panel ul{font-size:12px}.demo-panel .badge{font-size:11px}.footer{font-size:11px;align-items:flex-start;gap:12px}.footer>span:first-child{max-width:210px}.footer>span:last-child{font-size:11px;gap:5px}.modal-header h2{font-size:21px}#modal{padding:23px 20px}.modal-header .eyebrow{font-size:11px}.modal-header>.icon-button{width:31px}.form-grid{grid-template-columns:1fr;gap:16px}.field.full{grid-column:auto}.field{font-size:12px}.modal-footer{gap:9px}.profile-heading h3{font-size:17px}.detail-grid{gap:21px 15px}.detail-grid dd,.detail-grid dt{font-size:11px}.detail-row>strong{font-size:11px}.detail-row{gap:9px}.detail-row .person strong,.detail-row .person small,.detail-row .badge{font-size:11px}.detail-row .avatar{height:28px;min-width:28px;width:28px;font-size:11px}.modal-intro{font-size:12px}.announcement-body{font-size:13px}.modal-footer{justify-content:flex-end}.notification-item{padding:15px 5px;gap:10px}.notification-item strong{font-size:12px}.notification-item small{font-size:11px}.command-search{padding:0 10px}.command-search input{min-width:0}.toast{font-size:11px;line-height:1.8;padding:11px 15px}.help-list{font-size:12px}}@media(max-width:360px){main{padding-left:14px;padding-right:14px}.topbar{padding-left:12px;padding-right:12px;gap:4px}.topbar-brand{gap:6px}.topbar-brand a{font-size:13px}.topbar-brand small{max-width:125px;font-size:11px}.mobile-logo{height:25px;width:25px;border-radius:7px}.menu-button{width:25px}.header-actions{margin-left:0}.global-search{width:27px}.notification-button{width:25px}.demo-strip{font-size:11px}.demo-strip>span:first-child{max-width:140px}.demo-strip>span:last-child{max-width:145px}.page-heading h1{font-size:25px}.page-heading .eyebrow,.page-heading p{font-size:11px}.page-actions,.stats-grid{gap:8px}.stat-card{padding:12px}.stat-top{font-size:11px}.stat-icon{height:24px;width:24px;border-radius:7px}.stat-icon .icon{height:13px;width:13px}.stat-card>strong{font-size:23px}.stat-bottom{font-size:11px}.stats-grid.three .stat-card{padding:10px}.stats-grid.three .stat-top,.stats-grid.three .stat-bottom{font-size:11px}.activity-panel .panel-title{padding-left:14px;padding-right:14px}.activity-panel .panel-title h2{font-size:16px}.activity-panel .panel-title .eyebrow{font-size:11px}.calendar-header,.date-strip{padding-left:12px;padding-right:12px}.date-strip{gap:4px}.date-card>span{font-size:11px}.date-card>strong{font-size:16px}.date-card{min-height:60px}.chart-legend{font-size:11px;gap:9px}.chart-footer{margin-left:12px;margin-right:12px}.panel-title{padding-left:14px;padding-right:14px}.panel-title h2{font-size:15px}.panel-title .text-link{font-size:11px}.toolbar{padding-left:14px;padding-right:14px}.filter-select select{font-size:11px;padding-left:9px;padding-right:28px}.filter-select>.icon{right:8px;width:12px}.footer>span:first-child{max-width:175px}.footer{font-size:11px}.footer>span:last-child{font-size:11px}#modal{padding:22px 17px}.modal-header h2{font-size:20px}.modal-header .eyebrow{font-size:11px}.modal-header{gap:12px}.detail-grid{grid-template-columns:1fr}.form-grid{gap:15px}.payment-summary .person strong,.payment-summary .person small{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}:root{--control-radius: 14px;--control-motion: .2s;--control-ink: #ecddf7;--control-bg: linear-gradient(135deg, #2b2532, #211c28);--control-hover: linear-gradient(135deg, #382d42, #2b2235);--control-pressed: linear-gradient(135deg, #261d30, #201728);--control-border: #51415f;--control-border-hover: #8c70a1;--control-shadow: 0 2px 4px #0c071826, inset 0 1px 0 #ffffff09;--control-shadow-hover: 0 5px 12px #0b051e33, inset 0 1px 0 #ffffff0d;--control-ring: #d0b5ff}:where(button,.button,.nav-item,.text-link,.command-hit,.mobile-nav-link,.gradient-card>a){--button-bg: var(--control-bg);--button-hover: var(--control-hover);--button-pressed: var(--control-pressed);--button-border: var(--control-border);--button-border-hover: var(--control-border-hover);--button-ink: var(--control-ink);--button-ring: var(--control-ring);--button-shadow: var(--control-shadow);--button-shadow-hover: var(--control-shadow-hover)}:is(button,.button,.nav-item,.text-link,.command-hit,.mobile-nav-link,.gradient-card>a){appearance:none;color:var(--button-ink);background:var(--button-bg);border:1px solid var(--button-border);border-radius:var(--control-radius);box-shadow:var(--button-shadow);font-weight:700;line-height:1.5;text-decoration:none;transition:background var(--control-motion),color var(--control-motion),border-color var(--control-motion),box-shadow var(--control-motion),transform var(--control-motion);-webkit-tap-highlight-color:transparent}:is(button,.button,.nav-item,.text-link,.command-hit,.mobile-nav-link,.gradient-card>a):hover:not(:disabled){background:var(--button-hover);border-color:var(--button-border-hover);box-shadow:var(--button-shadow-hover);transform:translateY(-1px)}:is(button,.button,.nav-item,.text-link,.command-hit,.mobile-nav-link,.gradient-card>a):active:not(:disabled){background:var(--button-pressed);border-color:var(--button-border-hover);box-shadow:inset 0 1px 3px #08051036,inset 0 1px #ffffff05;transform:translateY(1px)}:is(button,.button,.nav-item,.text-link,.command-hit,.mobile-nav-link,.gradient-card>a):focus-visible{outline:3px solid var(--button-ring);outline-offset:3px}button:disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.42;transform:none;box-shadow:none}.primary,.nav-item.active,.date-card.selected,.segmented>button.selected,.page-tabs button.selected,.mobile-nav-link.active{--button-bg: linear-gradient(135deg, #c5aafa, #a582e1);--button-hover: linear-gradient(135deg, #cfb9ff, #b18fea);--button-pressed: linear-gradient(135deg, #b899ed, #9d78d9);--button-ink: #24162f;--button-border: #ccb3f6;--button-border-hover: #dfcaff;--button-shadow: 0 3px 7px #9872d326, inset 0 1px 0 #ffffff38;--button-shadow-hover: 0 5px 12px #9872d333, inset 0 1px 0 #ffffff30}.secondary{--button-border: #59476a}.quiet,.text-button,.text-link,.chart-legend button{--button-bg: linear-gradient(135deg, #25202c, #1f1a26);--button-hover: linear-gradient(135deg, #34293e, #2b2035);--button-pressed: linear-gradient(135deg, #291d32, #21172a);--button-ink: #dbc2ef;--button-border: #43324f}.danger-button,.icon-button.danger{--button-bg: linear-gradient(135deg, #472a38, #33202d);--button-hover: linear-gradient(135deg, #593243, #452736);--button-pressed: linear-gradient(135deg, #3e2230, #301b28);--button-ink: #ffd1df;--button-border: #815368;--button-border-hover: #c2839c;--button-ring: #efafc9}.button{min-height:49px;padding:13px 22px;gap:11px;font-size:13px}.page-actions,.button-row,.card-actions,.modal-footer{gap:10px}.card-actions .button{min-height:42px;padding:10px 14px;font-size:12px}.modal-footer .button,.settings-fields>.button,.reset-panel>.button{min-height:44px;padding:11px 18px;font-size:12px}.quiet{min-height:40px;padding:9px 13px;font-size:12px}.text-button,.text-link{min-height:32px;padding:7px 10px;gap:7px;font-size:11px}.table-button{min-height:36px;padding:8px 12px;font-size:11px}.icon-button{width:38px;height:38px;min-height:38px;padding:9px}.icon-button.small,.row-actions .icon-button{width:32px;height:32px;min-height:32px;padding:7px}.nav-item{width:40px;height:40px;min-height:40px;padding:9px;--button-border: #312a39;--button-bg: linear-gradient(135deg, #211c28, #18151e)}.nav-item.active{--button-bg: linear-gradient(135deg, #c5aafa, #a582e1);--button-border: #ccb3f6}.global-search{height:42px;min-height:42px;padding:0 13px;font-size:12px;font-weight:600}.profile-button{min-height:44px;padding:6px 10px;gap:9px}.notification-button{width:38px;height:38px;min-height:38px;padding:9px}.notification-button>span{border-color:#241c2d}.menu-button{width:32px;height:34px;min-height:34px;padding:7px}.segmented{gap:4px;padding:4px;border-radius:17px}.segmented>button{min-height:32px;padding:7px 11px;font-size:11px}.page-tabs{gap:10px;padding-bottom:14px}.page-tabs button{min-height:42px;padding:10px 17px;font-size:12px}.date-card{min-height:69px;font-weight:600;--button-bg: linear-gradient(135deg, #2a2431, #211c28)}.date-card.selected{--button-bg: linear-gradient(135deg, #c5aafa, #a582e1)}.date-card.selected>span{color:#402950}.chart-legend button{min-height:30px;padding:6px 9px;font-size:11px}.chart-legend button[aria-pressed=true]{--button-bg: linear-gradient(135deg, #36283f, #291f33);--button-border: #735486}.chart-footer{flex-wrap:wrap}.chart-legend{gap:12px;flex-wrap:wrap}.attendance-buttons{gap:7px}.attendance-buttons button{min-height:36px;padding:8px 11px;font-size:11px}.attendance-buttons button.selected.present{--button-bg: linear-gradient(135deg, #35543f, #253d30);--button-hover: linear-gradient(135deg, #41684e, #30513d);--button-pressed: linear-gradient(135deg, #2b4635, #21382a);--button-ink: #dcf9e4;--button-border: #689b78;--button-border-hover: #a2cbae;--button-ring: #b0dbbc}.attendance-buttons button.selected.late{--button-bg: linear-gradient(135deg, #574322, #3c2e1e);--button-hover: linear-gradient(135deg, #6a522c, #4e3c23);--button-pressed: linear-gradient(135deg, #44321c, #352718);--button-ink: #ffedba;--button-border: #a38149;--button-border-hover: #d0b276;--button-ring: #e6ca88}.attendance-buttons button.selected.absent{--button-bg: linear-gradient(135deg, #563044, #3b2534);--button-hover: linear-gradient(135deg, #6a3b52, #4d2e40);--button-pressed: linear-gradient(135deg, #442638, #321d2d);--button-ink: #ffd4e5;--button-border: #a56b88;--button-border-hover: #d49bb7;--button-ring: #f0b5d1}.attendance-buttons button.selected.unmarked{--button-bg: linear-gradient(135deg, #463051, #30203c);--button-ink: #efd5ff;--button-border: #9063a6}.class-card,.calendar-class,.notice-card,.command-hit,.notification-item,button.detail-row,.mobile-nav-link{--button-bg: linear-gradient(135deg, #27212e, #1d1924);--button-hover: linear-gradient(135deg, #32263d, #261d30);--button-pressed: linear-gradient(135deg, #23192c, #1c1524);--button-border: #44324f;--button-border-hover: #8d659f;font-weight:600}.notice-card,.notification-item,.command-hit,button.detail-row{padding:13px 12px;margin-top:7px}.notice-card:first-of-type,.notification-item:first-child,.command-hit:first-child,button.detail-row:first-child{margin-top:0}.notification-item:not(.read){--button-bg: linear-gradient(135deg, #33213d, #241a2d);--button-border: #78518b}.calendar-class{border-left-width:3px}.calendar-class.purple{--button-bg: linear-gradient(135deg, #3e2e4b, #2b2236);--button-ink: #e1c4fb;--button-border: #705184}.calendar-class.green{--button-bg: linear-gradient(135deg, #304638, #26362d);--button-hover: linear-gradient(135deg, #3d5847, #2c4236);--button-pressed: linear-gradient(135deg, #25392d, #1f2f26);--button-ink: #c5e4d0;--button-border: #557961;--button-border-hover: #91b49c;--button-ring: #b0dbbc}.calendar-class.amber{--button-bg: linear-gradient(135deg, #493a28, #352b21);--button-hover: linear-gradient(135deg, #584731, #433521);--button-pressed: linear-gradient(135deg, #392c1e, #2f251c);--button-ink: #f1d8a2;--button-border: #846c42;--button-border-hover: #bea16b;--button-ring: #e6ca88}.calendar-class.blue{--button-bg: linear-gradient(135deg, #303e50, #26303e);--button-hover: linear-gradient(135deg, #3b5066, #2d3c4f);--button-pressed: linear-gradient(135deg, #253341, #202a38);--button-ink: #d1e5ff;--button-border: #5b789b;--button-border-hover: #9dbbdf;--button-ring: #c0dcff}.calendar-class.rose{--button-bg: linear-gradient(135deg, #4a303f, #342431);--button-hover: linear-gradient(135deg, #5d3b50, #422c3c);--button-pressed: linear-gradient(135deg, #392532, #2d1e29);--button-ink: #f3c9dc;--button-border: #865d73;--button-border-hover: #c393ab;--button-ring: #f0b5d1}.calendar-class.orange{--button-bg: linear-gradient(135deg, #493427, #35271f);--button-hover: linear-gradient(135deg, #614432, #443023);--button-pressed: linear-gradient(135deg, #39281f, #2d211a);--button-ink: #f4ccb1;--button-border: #8c664a;--button-border-hover: #c79a76;--button-ring: #eac3a2}.gradient-card>a{--button-bg: linear-gradient(135deg, #2d143766, #28122366);--button-hover: linear-gradient(135deg, #2d1437aa, #281223aa);--button-pressed: linear-gradient(135deg, #24102ecc, #200e21cc);--button-ink: #fff;--button-border: #ecd2ed88;--button-border-hover: #f4ddfb;min-height:44px;padding:11px 14px;font-size:12px}.focus-banner .button,.schedule-toolbar .button{min-height:40px;padding:9px 14px;font-size:12px}.calendar-header .text-button{min-height:32px;padding:7px 10px}#modal .icon-button{width:36px;height:36px;min-height:36px;padding:8px}#modal .modal-header>.icon-button{--button-bg: linear-gradient(135deg, #382740, #271c30)}@media(max-height:800px)and (min-width:701px){.nav-item{width:36px;height:34px;min-height:34px;padding:7px}}@media(max-width:1100px){.page-heading,.page-actions{flex-wrap:wrap}.card-actions .button{padding:10px 12px}}@media(max-width:850px){.global-search{width:37px;height:37px;min-height:37px;padding:9px}.profile-button{min-height:42px;padding:4px 6px}.chart-footer{row-gap:10px}}@media(max-width:700px){.button{min-height:44px;padding:11px 16px;gap:10px;font-size:12px}.card-actions .button{min-height:42px;padding:10px 14px}.modal-footer .button{min-height:44px;padding:11px 15px}.table-button{min-height:36px;padding:8px 11px;font-size:11px}.text-button,.text-link{min-height:32px;padding:7px 9px;font-size:11px;gap:6px}.global-search,.notification-button{width:32px;height:34px;min-height:34px;padding:7px}.menu-button{width:30px;height:34px;min-height:34px;padding:6px}.segmented>button{min-height:32px;padding:7px 10px;font-size:11px}.page-tabs button{min-height:42px;padding:10px 15px}.date-card{min-height:65px}.chart-legend{gap:9px}.chart-legend button{min-height:30px;padding:6px 8px}.calendar-header{flex-wrap:wrap;gap:10px}.calendar-header>div{margin-left:auto}.schedule-toolbar>div:first-child{flex-wrap:wrap}.announcement-card .card-actions{flex-wrap:wrap}}@media(max-width:360px){.global-search,.notification-button{width:29px;height:32px;min-height:32px;padding:6px}.menu-button{width:27px;height:32px;min-height:32px;padding:5px}.button{padding-left:14px;padding-right:14px}.date-card{min-height:62px}.chart-footer{align-items:flex-start}.chart-legend,.modal-footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){:is(button,.button,.nav-item,.text-link,.command-hit,.mobile-nav-link,.gradient-card>a){transition:none!important}:is(button,.button,.nav-item,.text-link,.command-hit,.mobile-nav-link,.gradient-card>a):hover,:is(button,.button,.nav-item,.text-link,.command-hit,.mobile-nav-link,.gradient-card>a):active{transform:none!important}}
