:root{--color-primary:#1c90ed;--color-primary-hover:#0879cf;--color-primary-soft:#eaf5fe;--color-ink:#111827;--color-text:#334155;--color-muted:#718096;--color-border:#dce5ef;--color-border-soft:#e9eef5;--color-surface:#fff;--color-canvas:#f4f7fa;--color-success:#0f9f6e;--color-success-soft:#e9f9f3;--color-warning:#dc7a00;--color-warning-soft:#fff6e5;--color-danger:#e5484d;--color-danger-soft:#fff0f1;--shadow-panel:0 8px 28px #0f172a12;--radius-sm:5px;--radius-md:8px;--header-height:64px;--mobile-header-height:52px;--mobile-nav-height:56px;color:var(--color-ink);background:var(--color-canvas);font-synthesis:none;text-rendering:optimizelegibility;font-family:Pretendard,Noto Sans KR,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;height:100%;margin:0}body{overflow:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #1c90ed3d}.icon-button{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;flex:0 0 40px;place-items:center;width:40px;height:40px;display:inline-grid;position:relative}.primary-button{border-radius:var(--radius-sm);color:#fff;background:var(--color-primary);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;min-height:46px;font-weight:750;display:inline-flex}.primary-button:hover{background:var(--color-primary-hover)}.content-fade-enter-active,.content-fade-leave-active{transition:opacity .12s,transform .12s}.content-fade-enter-from{opacity:0;transform:translateY(4px)}.content-fade-leave-to{opacity:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login-error{margin:0}.primary-button:disabled{cursor:wait;opacity:.7}.selection-page{background:var(--color-canvas);min-height:100dvh}.selection-page>header{background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;min-height:64px;padding:0 max(24px,50vw - 540px);display:flex}.selection-page>section{width:min(640px,100% - 32px);margin:0 auto;padding:72px 0}.selection-page section>p{color:var(--color-primary);margin:0 0 8px;font-weight:800}.selection-page h1{margin:0 0 28px;font-size:28px}.text-button{color:var(--color-muted);background:0 0;padding:9px}.destination-list{gap:10px;display:grid}.destination-list a{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;grid-template-columns:44px 1fr 20px;align-items:center;gap:14px;padding:17px;display:grid}.destination-list a:hover{border-color:var(--color-primary)}.destination-list strong,.destination-list small{display:block}.destination-list small{color:var(--color-muted);text-transform:uppercase;margin-top:4px}.destination-icon{width:44px;height:44px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:8px;place-items:center;display:grid}@media (width<=600px){.selection-page>header{padding:0 16px}.selection-page>section{padding:42px 0}.selection-page h1{font-size:23px}}.app-brand{align-items:center;min-width:0;display:inline-flex}.app-brand__name{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:800;overflow:hidden}.app-brand--inverse{color:#fff}.desktop-shell{background:var(--color-canvas);grid-template-columns:236px minmax(0,1fr);width:100%;height:100dvh;display:grid;overflow:hidden}.desktop-sidebar{z-index:20;grid-template-rows:var(--header-height) minmax(0, 1fr) auto;border-right:1px solid var(--color-border);background:var(--color-surface);min-height:0;display:grid;position:relative}.desktop-sidebar__brand{border-bottom:1px solid var(--color-border-soft);align-items:center;padding:0 18px;display:flex}.desktop-sidebar nav{flex-direction:column;gap:3px;min-height:0;padding:16px 12px;display:flex;overflow-y:auto}.desktop-sidebar nav a{color:#526176;border-radius:6px;align-items:center;gap:12px;min-height:42px;padding:0 12px;font-size:14px;font-weight:650;display:flex}.desktop-sidebar nav a:hover{color:var(--color-ink);background:#f5f8fb}.desktop-sidebar nav a.active{color:#0875c6;background:var(--color-primary-soft)}.sidebar-account{border:0;border-top:1px solid var(--color-border-soft);text-align:left;cursor:pointer;background:#fff;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:70px;padding:12px 16px;display:grid}.sidebar-account-wrap{position:relative}.sidebar-account-menu{border:1px solid var(--color-border);background:#fff;border-radius:8px;padding:6px;position:absolute;bottom:calc(100% + 7px);left:12px;right:12px;box-shadow:0 12px 32px #0f172a24}.sidebar-account-menu button{color:#be123c;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;width:100%;min-height:38px;padding:0 10px;font-weight:750;display:flex}.sidebar-account-menu button:hover{background:#fff1f2}.sidebar-account .avatar{color:#0875c6;background:var(--color-primary-soft);border-radius:50%;place-items:center;width:36px;height:36px;font-size:13px;font-weight:800;display:grid}.sidebar-account strong,.sidebar-account small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-account strong{font-size:13px}.sidebar-account small{color:var(--color-muted);margin-top:3px;font-size:11px}.desktop-workspace{grid-template-rows:var(--header-height) minmax(0, 1fr);min-width:0;min-height:0;display:grid}.desktop-header{z-index:10;border-bottom:1px solid var(--color-border);background:#fff;justify-content:space-between;align-items:center;gap:20px;min-width:0;padding:0 24px;display:flex;position:relative}.desktop-header__title,.desktop-header__actions{align-items:center;gap:12px;min-width:0;display:flex}.desktop-header__title p,.desktop-header__title h1{margin:0}.desktop-header__title p{color:var(--color-muted);font-size:11px;font-weight:650}.desktop-header__title h1{letter-spacing:0;margin-top:2px;font-size:18px}.mobile-menu-button{display:none}.header-search{border:1px solid var(--color-border);border-radius:var(--radius-md);width:310px;height:40px;color:var(--color-muted);text-align:left;cursor:pointer;background:#f8fafc;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:0 10px 0 12px;display:grid}.header-search span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.header-search kbd{border:1px solid var(--color-border);color:#7b8797;background:#fff;border-radius:4px;padding:3px 6px;font-family:inherit;font-size:10px}.notification-button>span{color:#fff;background:var(--color-warning);border:2px solid #fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:9px;font-weight:800;display:grid;position:absolute;top:-5px;right:-5px}.desktop-content{overscroll-behavior:contain;min-width:0;min-height:0;padding:24px;overflow:auto}.desktop-mobile-nav{display:none}.workspace-search-backdrop{z-index:70;background:#0f172a61;place-items:start center;padding:12vh 20px 20px;display:grid;position:fixed;inset:0}.workspace-search{background:#fff;border-radius:12px;width:min(620px,100%);overflow:hidden;box-shadow:0 24px 80px #0f172a3d}.workspace-search>header{border-bottom:1px solid var(--color-border-soft);color:#64748b;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px 14px;display:grid}.workspace-search input{min-width:0;height:38px;font:inherit;border:0;outline:0}.workspace-search header button{background:#f1f5f9;border:0;border-radius:7px;place-items:center;width:36px;height:36px;display:grid}.workspace-search__results{max-height:420px;padding:8px;overflow:auto}.workspace-search__results button{color:#334155;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;min-height:58px;padding:8px 12px;display:flex}.workspace-search__results button:hover,.workspace-search__results button:focus-visible{background:#eff6ff}.workspace-search__results button>span{gap:3px;display:grid}.workspace-search__results small{color:#94a3b8}.workspace-search__results p{color:#64748b;text-align:center;padding:24px}.mobile-shell{grid-template-rows:calc(var(--mobile-header-height) + env(safe-area-inset-top)) minmax(0, 1fr) calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));background:#fff;width:100%;height:100dvh;display:grid;overflow:hidden}.mobile-header{z-index:10;min-width:0;padding:env(safe-area-inset-top) 18px 0;border-bottom:1px solid var(--color-border-soft);background:#fff;justify-content:space-between;align-items:center;display:flex;position:relative}.mobile-header .app-brand__name{font-size:14px}.mobile-header__notification{cursor:pointer;background:0 0;border:0;place-items:center;width:38px;height:38px;display:grid;position:relative}.mobile-header__notification span{background:var(--color-warning);border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:7px}.mobile-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-width:0;min-height:0;overflow-y:auto}.mobile-content__inner{width:min(100%,1024px);min-height:100%;margin:0 auto}.mobile-bottom-nav,.desktop-mobile-nav{z-index:10;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--color-border-soft);background:#fff;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;position:relative}.mobile-bottom-nav{display:grid}.mobile-bottom-nav a,.desktop-mobile-nav a{color:#6f7f94;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;font-size:10px;font-weight:700;display:flex}.mobile-bottom-nav a span,.desktop-mobile-nav a span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-bottom-nav a.active,.desktop-mobile-nav a.active{color:var(--color-primary)}.mobile-header__actions{align-items:center;gap:2px;display:flex}.mobile-header__account{color:#526176;background:0 0;border:0;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.teacher-shell{background:#f5f6fa;grid-template-columns:248px minmax(0,1fr);width:100%;height:100dvh;display:grid;overflow:hidden}.teacher-shell__sidebar{color:#e9e8ff;background:linear-gradient(#26204f 0%,#171432 100%);flex-direction:column;min-height:0;display:flex}.teacher-shell__brand{border-bottom:1px solid #ffffff1a;align-items:center;min-height:64px;padding:0 20px;display:flex}.teacher-shell__workspace{color:inherit;text-align:left;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:9px;grid-template-columns:38px minmax(0,1fr) 16px;align-items:center;gap:10px;margin:14px 12px 8px;padding:10px;display:grid}.teacher-shell__workspace-mark{color:#201b46;background:#c9f36b;border-radius:9px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.teacher-shell__workspace strong,.teacher-shell__workspace small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.teacher-shell__workspace strong{font-size:13px}.teacher-shell__workspace small{color:#aaa7c8;margin-top:3px;font-size:11px}.teacher-shell__channels{gap:3px;padding:12px;display:grid}.teacher-shell__channels p{color:#8e8aa9;letter-spacing:.12em;text-transform:uppercase;margin:0 10px 7px;font-size:10px;font-weight:800}.teacher-shell__channels a{color:#bdbad2;border-radius:7px;align-items:center;gap:11px;min-height:39px;padding:0 11px;font-size:13px;font-weight:650;display:flex}.teacher-shell__channels a:hover{color:#fff;background:#ffffff12}.teacher-shell__channels a.active{color:#fff;background:#6558d3;box-shadow:0 8px 18px #0000002e}.teacher-shell__profile{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-top:1px solid #ffffff1a;align-items:center;gap:10px;margin-top:auto;padding:15px 18px;display:flex}.teacher-shell__profile>span{color:#26204f;background:#e8dcff;border-radius:9px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-weight:850;display:grid}.teacher-shell__profile strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.account-sheet-backdrop{z-index:80;background:#0f172a6b;align-items:end;display:grid;position:fixed;inset:0}.account-sheet{width:min(100%,480px);padding:20px 20px calc(20px + env(safe-area-inset-bottom));background:#fff;border-radius:18px 18px 0 0;gap:18px;margin:0 auto;display:grid;box-shadow:0 -18px 50px #0f172a2e}.account-sheet header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.account-sheet h2,.account-sheet p{margin:0}.account-sheet h2{margin-top:3px;font-size:20px}.account-sheet p,.account-sheet small{color:#6f7f94}.account-sheet header>button{background:#f1f5f9;border:0;border-radius:9px;place-items:center;width:40px;height:40px;display:grid}.account-sheet__logout{color:#be123c;background:#fff1f2;border:1px solid #fecdd3;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:46px;font-weight:800;display:flex}.teacher-shell__main{grid-template-rows:64px minmax(0,1fr);min-width:0;min-height:0;display:grid}.teacher-shell__topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border-bottom:1px solid #e2e5ec;justify-content:space-between;align-items:center;padding:0 24px;display:flex}.teacher-shell__topbar div{gap:2px;display:grid}.teacher-shell__topbar small{color:#8a93a5;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:750}.teacher-shell__topbar strong{color:#25293a;font-size:15px}.teacher-shell__topbar a{color:#596177;background:#fff;border:1px solid #e2e5ec;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.teacher-shell__topbar-actions{align-items:center;gap:7px;display:flex}.teacher-shell__topbar-actions>button{color:#596177;background:#fff;border:1px solid #e2e5ec;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.teacher-shell__content{overscroll-behavior:contain;min-width:0;min-height:0;overflow-y:auto}.teacher-shell__content>*{width:min(100%,1180px);min-height:100%;margin:0 auto}.teacher-shell__bottom-nav{display:none}@media (width<=1024px){.teacher-shell{grid-template-columns:1fr;grid-template-rows:calc(52px + env(safe-area-inset-top)) minmax(0, 1fr) calc(56px + env(safe-area-inset-bottom))}.teacher-shell__sidebar{display:none}.teacher-shell__main{display:contents}.teacher-shell__topbar{min-height:52px;padding:env(safe-area-inset-top) 16px 0}.teacher-shell__topbar small{display:none}.teacher-shell__content{grid-row:2}.teacher-shell__bottom-nav{padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #e2e5ec;grid-row:3;grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.teacher-shell__bottom-nav a{color:#7a8294;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;font-size:10px;font-weight:700;display:flex}.teacher-shell__bottom-nav a.active{color:#6558d3}}.sidebar-backdrop{display:none}@media (width<=900px){.desktop-shell{display:block}.desktop-sidebar{width:min(82vw,280px);transition:transform .16s;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%)}.desktop-sidebar--open{transform:translate(0)}.sidebar-backdrop{z-index:15;background:#0f172a52;display:block;position:fixed;inset:0}.desktop-workspace{grid-template-rows:calc(56px + env(safe-area-inset-top)) minmax(0, 1fr) calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));height:100dvh}.desktop-header{padding:env(safe-area-inset-top) 14px 0}.mobile-menu-button{display:inline-grid}.desktop-header__title p,.header-search{display:none}.desktop-header__title h1{font-size:16px}.desktop-content{padding:18px}.desktop-mobile-nav{display:grid}}.workspace-overview{width:min(100%,1480px);margin:0 auto}.overview-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.overview-heading p,.overview-heading h1{margin:0}.overview-heading p{color:var(--color-primary);font-size:13px;font-weight:750}.overview-heading h1{letter-spacing:0;margin-top:6px;font-size:25px;line-height:1.3}.child-switcher{border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:#fff;align-items:center;gap:6px;min-height:38px;padding:0 12px;font-size:13px;font-weight:750;display:inline-flex}.next-action{border-radius:var(--radius-md);color:#fff;background:#167fda;justify-content:space-between;align-items:flex-end;gap:20px;min-height:150px;padding:24px;display:flex;box-shadow:0 10px 24px #0875c62e}.next-action span,.next-action h2,.next-action p{margin:0}.next-action span{opacity:.84;font-size:12px;font-weight:700}.next-action h2{letter-spacing:0;margin-top:7px;font-size:25px}.next-action p{opacity:.92;margin-top:6px;font-size:13px;font-weight:600}.next-action button{color:#0b67ad;cursor:pointer;background:#fff;border:1px solid #ffffff80;border-radius:6px;flex:none;align-items:center;gap:7px;min-height:40px;padding:0 14px;font-size:12px;font-weight:800;display:inline-flex}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.metric-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;grid-template-rows:auto auto auto;grid-template-columns:42px minmax(0,1fr);align-content:center;column-gap:12px;min-width:0;min-height:140px;padding:18px;display:grid}.metric-card__icon{border-radius:8px;grid-row:1/4;place-items:center;width:42px;height:42px;display:grid}.tone-blue{color:#0875c6;background:var(--color-primary-soft)}.tone-green{color:var(--color-success);background:var(--color-success-soft)}.tone-amber{color:var(--color-warning);background:var(--color-warning-soft)}.tone-red{color:var(--color-danger);background:var(--color-danger-soft)}.metric-card p,.metric-card strong,.metric-card small{min-width:0;margin:0}.metric-card p{color:var(--color-muted);font-size:12px;font-weight:650}.metric-card strong{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:22px;overflow:hidden}.metric-card small{color:#738196;margin-top:4px;font-size:11px}.task-section{border-top:1px solid var(--color-border);margin-top:30px;padding-top:24px}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:12px;display:flex}.section-heading p,.section-heading h2{margin:0}.section-heading p{color:var(--color-primary);text-transform:uppercase;font-size:11px;font-weight:800}.section-heading h2{letter-spacing:0;margin-top:3px;font-size:18px}.section-heading>button{color:#0875c6;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:750}.task-list{border-top:1px solid var(--color-border-soft)}.task-row{border:0;border-bottom:1px solid var(--color-border-soft);text-align:left;cursor:pointer;background:0 0;grid-template-columns:8px minmax(0,1fr) auto auto;align-items:center;gap:12px;width:100%;min-height:68px;padding:10px 8px;display:grid}.task-row:hover{background:#f8fafc}.task-row__indicator{border-radius:50%;width:8px;height:8px}.task-row__body{min-width:0}.task-row strong,.task-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.task-row strong{font-size:13px}.task-row small{color:var(--color-muted);margin-top:5px;font-size:11px}.status-badge{white-space:nowrap;border-radius:12px;align-items:center;min-height:24px;padding:0 8px;font-size:10px;font-weight:800;display:inline-flex}.status-badge--blue{color:#0875c6;background:var(--color-primary-soft)}.status-badge--green{color:var(--color-success);background:var(--color-success-soft)}.status-badge--amber{color:var(--color-warning);background:var(--color-warning-soft)}.status-badge--red{color:var(--color-danger);background:var(--color-danger-soft)}.login-page{background:#fff;grid-template-columns:minmax(360px,.9fr) minmax(480px,1.1fr);width:100%;height:100dvh;display:grid;overflow:auto}.login-intro{color:#fff;background:#127dce;flex-direction:column;justify-content:space-between;min-height:640px;padding:46px 54px;display:flex}.login-intro>div p,.login-intro>div h1,.login-intro>div span{margin:0;display:block}.login-intro>div p{text-transform:uppercase;margin-bottom:14px;font-size:12px;font-weight:800}.login-intro>div h1{letter-spacing:0;font-size:38px;line-height:1.28}.login-intro>div span{color:#ffffffd1;max-width:440px;margin-top:20px;font-size:15px;line-height:1.7}.login-intro>small{color:#ffffffb3;font-size:11px}.login-form-area{place-items:center;min-height:640px;padding:40px;display:grid}.login-form{gap:18px;width:min(100%,430px);display:grid}.login-form>.app-brand{display:none}.login-form__heading{margin-bottom:8px}.login-form__heading p,.login-form__heading h2,.login-form__heading span{margin:0;display:block}.login-form__heading p{color:var(--color-primary);font-size:13px;font-weight:750}.login-form__heading h2{letter-spacing:0;margin-top:6px;font-size:30px}.login-form__heading span{color:var(--color-muted);margin-top:8px;font-size:14px}.login-form>label>span:first-child{color:var(--color-text);margin-bottom:7px;font-size:12px;font-weight:700;display:block}.input-field{border:1px solid var(--color-border);color:#8491a3;background:#fff;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;height:48px;padding:0 13px;display:grid}.input-field:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #1c90ed1a}.input-field input{width:100%;min-width:0;color:var(--color-ink);background:0 0;border:0;outline:0;font-size:14px}.input-field button{color:#8491a3;cursor:pointer;background:0 0;border:0;place-items:center;width:32px;height:32px;display:grid}.login-options{justify-content:space-between;align-items:center;gap:16px;font-size:12px;display:flex}.checkbox-field{color:var(--color-text);align-items:center;gap:7px;display:inline-flex}.checkbox-field input{width:16px;height:16px;accent-color:var(--color-primary)}.login-options a{color:#0875c6;font-weight:700}.error-page{background:#fff;place-items:center;min-height:100dvh;padding:24px;display:grid}.error-page section{text-align:center;max-width:480px}.error-page p{color:var(--color-primary);margin:0;font-weight:850}.error-page h1{margin:8px 0;font-size:24px}.error-page span{color:var(--color-muted);font-size:14px;display:block}.error-page a{color:#fff;background:var(--color-primary);border-radius:6px;margin-top:24px;padding:11px 16px;font-size:13px;font-weight:750;display:inline-flex}@media (width<=1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.workspace-overview--compact{padding:18px 18px 28px}.overview-heading{align-items:center;margin-bottom:16px}.overview-heading h1{font-size:21px}.next-action{flex-direction:column;align-items:flex-start;min-height:152px;padding:20px}.next-action h2{font-size:23px}.next-action button{min-height:38px}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.metric-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:126px;padding:12px 6px;display:flex}.metric-card__icon{width:36px;height:36px;margin-bottom:4px}.metric-card strong{margin-top:1px;font-size:18px}.metric-card small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;overflow:hidden}.task-section{margin-top:24px;padding-top:20px}.task-row{grid-template-columns:7px minmax(0,1fr) auto;gap:10px;padding-right:2px}.task-row>svg{display:none}.login-page{display:block;overflow-y:auto}.login-intro{display:none}.login-form-area{min-height:100dvh;padding:calc(28px + env(safe-area-inset-top)) 22px calc(28px + env(safe-area-inset-bottom));background:#fff}.login-form>.app-brand{margin-bottom:22px;display:inline-flex}}@media (width>=768px) and (width<=1023px){.workspace-overview--compact{padding:28px}.workspace-overview--compact .task-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;display:grid}}.live-panel{min-height:100%;padding:28px}.panel-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.panel-heading p{color:var(--color-primary);margin:0 0 5px;font-size:12px;font-weight:800}.panel-heading h2{margin:0;font-size:24px}.panel-heading a{min-height:40px;color:var(--color-primary-dark);align-items:center;padding:0 8px;font-weight:700;display:inline-flex}.panel-actions{align-items:center;gap:8px;display:flex}.live-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.live-metric-grid article{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;grid-template-columns:40px 1fr;align-items:center;gap:4px 12px;min-height:126px;padding:20px;display:grid}.live-metric-grid svg{width:40px;height:40px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:8px;grid-row:1/3;padding:9px}.live-metric-grid span{color:var(--color-muted);font-size:13px}.live-metric-grid strong{font-size:24px}.primary-small,.table-action,.text-button{cursor:pointer;font:inherit;border:0;justify-content:center;align-items:center;gap:6px;font-weight:700;display:inline-flex}.primary-small{color:#fff;background:var(--color-primary);border-radius:7px;min-height:38px;padding:0 14px}.inline-create-form{border:1px solid var(--color-border);background:#f7f9fc;border-radius:8px;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin-bottom:18px;padding:16px;display:grid}.inline-create-form label{color:var(--color-muted);gap:6px;font-size:12px;font-weight:700;display:grid}.inline-create-form input{border:1px solid var(--color-border-strong);min-width:0;height:40px;font:inherit;border-radius:6px;padding:0 12px}.inline-error,.login-error{color:var(--color-danger);background:var(--color-danger-soft);border-radius:7px;padding:11px 13px;font-size:13px}.data-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:760px}.data-table th,.data-table td{border-bottom:1px solid var(--color-border);text-align:left;padding:15px 16px;font-size:13px}.data-table th{color:var(--color-muted);background:#f8fafc}.data-table td strong,.data-table td small{display:block}.data-table td small{color:var(--color-muted);margin-top:4px}.status-pill{border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.status-active{color:var(--color-success);background:var(--color-success-soft)}.status-pending{color:var(--color-warning);background:var(--color-warning-soft)}.status-suspended,.status-closed{color:var(--color-danger);background:var(--color-danger-soft)}.table-action{color:var(--color-primary-dark);background:var(--color-primary-soft);border-radius:6px;padding:6px 10px}.table-action.danger{color:var(--color-danger);background:var(--color-danger-soft)}.empty-cell{height:160px;color:var(--color-muted);text-align:center!important}@media (width<=900px){.live-panel{padding:18px}.live-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.panel-heading{align-items:flex-start}.panel-heading h2{font-size:20px}.live-metric-grid{gap:8px}.live-metric-grid article{grid-template-columns:1fr;min-height:116px;padding:14px}.live-metric-grid svg{grid-row:auto;width:34px;height:34px}.live-metric-grid strong{font-size:20px}.inline-create-form{grid-template-columns:1fr}}.ops-panel{flex-direction:column;gap:18px;min-height:100%;padding:24px;display:flex;position:relative}.ops-head,.split-toolbar,.attendance-tools{justify-content:space-between;align-items:center;gap:14px;display:flex}.ops-head p{color:#1c90ed;margin:0 0 6px;font-size:12px;font-weight:800}.ops-head h2{align-items:center;gap:9px;margin:0;font-size:24px;display:flex}.ops-actions{gap:8px;display:flex}.icon-action,.primary-action,.split-toolbar button,.attendance-tools button{color:#26384d;background:#fff;border:1px solid #dbe5ef;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 14px;font-weight:700;display:inline-flex}.primary-action{color:#fff;background:#1c90ed;border-color:#1c90ed}.ops-loading{color:#6d8096}.ops-form{background:#fff;border:1px solid #dce6f0;border-radius:8px;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;padding:16px;display:grid}.ops-form input,.ops-form select,.attendance-tools select,.attendance-list input,.attendance-list select,.message-compose input{color:#152236;background:#fff;border:1px solid #d7e1eb;border-radius:6px;min-width:0;height:42px;padding:0 12px}.form-title{grid-column:1/-1;justify-content:space-between;display:flex}.form-title button{color:#687b90;background:0 0;border:0}.data-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.data-grid article{background:#fff;border:1px solid #dce6f0;border-radius:8px;flex-direction:column;gap:7px;padding:17px;display:flex}.data-grid article strong{font-size:16px}.data-grid article span{color:#41566e}.data-grid article small{color:#7c8da1}.section-label,.split-toolbar h3{margin:8px 0 0;font-size:17px}.table-list{background:#fff;border:1px solid #dce6f0;border-radius:8px;overflow:hidden}.table-list>div{border-bottom:1px solid #edf2f6;grid-template-columns:1fr 2fr auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.table-list>div:last-child{border-bottom:0}.table-list span{color:#687b90}.table-list em{color:#1c90ed;font-style:normal}.table-list button{background:#fff;border:1px solid #dbe5ef;border-radius:5px;padding:7px 10px}.attendance-tools select{min-width:340px}.attendance-list{background:#fff;border:1px solid #dce6f0;border-radius:8px;overflow:hidden}.attendance-list>div{border-bottom:1px solid #edf2f6;grid-template-columns:minmax(120px,1fr) 160px 2fr;align-items:center;gap:12px;padding:12px 16px;display:grid}.attendance-list>div:last-child{border-bottom:0}.chat-layout{background:#fff;border:1px solid #dce6f0;border-radius:8px;grid-template-columns:260px minmax(0,1fr);height:calc(100vh - 210px);min-height:480px;display:grid;overflow:hidden}.chat-layout aside{border-right:1px solid #dce6f0;overflow:auto}.chat-layout aside button{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf2f6;flex-direction:column;gap:5px;width:100%;padding:15px;display:flex}.chat-layout aside button.active{color:#157bc5;background:#edf7ff}.chat-layout aside span{color:#7a8b9d;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-layout>section{grid-template-rows:minmax(0,1fr) auto;min-width:0;display:grid}.message-list{padding:18px;overflow:auto}.message-list article{background:#f3f7fb;border-radius:8px;max-width:72%;margin:0 0 14px;padding:12px 14px;position:relative}.message-list article b{color:#526980;font-size:12px}.message-list article p{margin:5px 0}.message-list article a{color:#1c90ed;display:block}.message-list article time{color:#8b9aab;margin-top:4px;font-size:11px;display:block}.message-compose{border-top:1px solid #dce6f0;align-items:center;gap:8px;padding:12px;display:flex}.message-compose label{cursor:pointer;border:1px solid #dce6f0;border-radius:6px;place-items:center;width:40px;height:40px;display:grid}.message-compose label input{display:none}.message-compose>input{flex:1}.message-compose button{color:#fff;background:#1c90ed;border:0;border-radius:6px;place-items:center;width:42px;height:42px;display:grid}.notification-list,.approval-list{flex-direction:column;gap:10px;display:flex}.notification-list article,.approval-list article{background:#fff;border:1px solid #dce6f0;border-radius:8px;align-items:center;gap:13px;padding:15px;display:flex}.notification-list article.unread{border-left:3px solid #1c90ed}.notification-list article>div,.approval-list article>div:first-child{flex:1}.notification-list p{color:#60748a;margin:4px 0}.notification-list time{color:#8796a7;font-size:12px}.approval-list article span,.approval-list article small{color:#72849a;margin-top:5px;display:block}.approval-list article>div:last-child{gap:7px;display:flex}.approve,.reject{border:0;border-radius:6px;align-items:center;gap:4px;padding:9px 12px;font-weight:700;display:inline-flex}.approve{color:#0a936a;background:#e7f8f2}.reject{color:#d84a57;background:#fff0f1}.audit-list{background:#fff;border:1px solid #dce6f0;border-radius:8px;overflow:hidden}.audit-list>div{border-bottom:1px solid #edf2f6;grid-template-columns:auto 1fr 120px 180px;align-items:center;gap:12px;padding:13px 15px;display:grid}.audit-list p{color:#718398;margin:3px 0 0}.audit-list time{color:#7b8b9c;font-size:12px}.audit-icon{color:#1c90ed;background:#edf7ff;border-radius:6px;place-items:center;width:32px;height:32px;display:grid}.detail-drawer{z-index:4;background:#fff;border-left:1px solid #dce6f0;width:min(390px,90%);height:100%;padding:24px;position:absolute;top:0;right:0;overflow:auto;box-shadow:-14px 0 40px #233d571f}.detail-drawer>button{float:right;background:0 0;border:0}.detail-drawer>p{color:#1c90ed;font-size:12px;font-weight:800}.detail-drawer h3{font-size:23px}.detail-drawer dl{grid-template-columns:1fr 1fr;gap:0;margin:20px 0;display:grid}.detail-drawer dt,.detail-drawer dd{border-bottom:1px solid #edf2f6;margin:0;padding:10px 0}.detail-drawer dt{color:#718398}.detail-drawer dd{text-align:right;font-weight:700}.drawer-member{border-bottom:1px solid #edf2f6;justify-content:space-between;padding:10px 0;display:flex}.account-card{background:#fff;border:1px solid #dce6f0;border-radius:8px;align-items:center;gap:16px;padding:20px;display:flex}.account-avatar{color:#1c90ed;background:#eaf6ff;border-radius:50%;place-items:center;width:52px;height:52px;font-size:20px;font-weight:800;display:grid}.account-card p{color:#61758a;margin:4px 0}.account-card small{color:#8a99aa}.empty-state{color:#8091a3;place-items:center;min-height:180px;display:grid}.live-error{color:#c53f4c;background:#fff0f1;border-radius:6px;padding:12px}@media (width<=900px){.ops-panel{padding:18px}.ops-form,.data-grid{grid-template-columns:1fr 1fr}.chat-layout{grid-template-columns:210px minmax(0,1fr)}.audit-list>div{grid-template-columns:auto 1fr}.audit-list>div>span:last-of-type,.audit-list time{display:none}}@media (width<=620px){.ops-head{flex-direction:column;align-items:flex-start}.ops-head h2{font-size:20px}.ops-actions{width:100%}.ops-form,.data-grid{grid-template-columns:1fr}.attendance-tools{flex-direction:column;align-items:stretch}.attendance-tools select{width:100%;min-width:0}.attendance-list>div{grid-template-columns:1fr 120px}.attendance-list input{grid-column:1/-1}.chat-layout{flex-direction:column;height:calc(100dvh - 170px);display:flex}.chat-layout aside{border-bottom:1px solid #dce6f0;border-right:0;min-height:74px;display:flex;overflow-x:auto}.chat-layout aside button{min-width:150px}.message-list article{max-width:90%}.approval-list article{flex-direction:column;align-items:flex-start}.table-list>div{grid-template-columns:1fr auto}.table-list>div span{grid-area:2/1/auto/-1}.notification-list article time{display:none}}.file-link{color:#1c90ed;text-align:left;cursor:pointer;background:0 0;border:0;padding:2px 0;text-decoration:underline;display:block}.ops-actions{flex-wrap:wrap}.secondary-action{color:#0876c5;background:#edf7ff;border:1px solid #b8dcf8;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 14px;font-weight:700;display:inline-flex}.ops-searchbar{background:#fff;border:1px solid #dce6f0;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;display:flex}.ops-searchbar>input{min-width:0;height:38px;font:inherit;border:0;outline:0;flex:1}.ops-searchbar>button,.import-button{color:#0876c5;cursor:pointer;background:#edf7ff;border:0;border-radius:6px;align-items:center;gap:6px;height:36px;padding:0 12px;font-weight:700;display:inline-flex}.import-button input{display:none}.import-result{color:#087a59;background:#eaf9f4;border-radius:6px;margin:0;padding:10px 12px}.token-result{background:#f4f8fc;border-radius:6px;grid-column:1/-1;gap:7px;padding:12px;display:grid}.token-result code{overflow-wrap:anywhere;color:#0876c5}.data-grid article{position:relative}.card-actions{opacity:0;gap:4px;transition:opacity .15s;display:flex;position:absolute;top:10px;right:10px}.data-grid article:hover .card-actions,.data-grid article:focus-within .card-actions{opacity:1}.card-actions button{color:#60748a;cursor:pointer;background:#fff;border:1px solid #dce6f0;border-radius:5px;place-items:center;width:30px;height:30px;display:grid}.card-actions button:last-child{color:#d84a57}.data-grid article>strong{padding-right:64px}.chat-layout aside strong{justify-content:space-between;gap:8px;display:flex}.chat-layout aside strong em{color:#fff;text-align:center;background:#1c90ed;border-radius:999px;min-width:20px;padding:2px 6px;font-size:11px;font-style:normal}.chat-image{object-fit:contain;cursor:pointer;border-radius:6px;max-width:min(360px,100%);max-height:300px;margin-top:8px;display:block}.pager{justify-content:center;align-items:center;gap:14px;display:flex}.pager button{background:#fff;border:1px solid #dce6f0;border-radius:6px;height:36px;padding:0 14px}.pager button:disabled{opacity:.45}.ops-form label{color:#526980;gap:6px;font-size:12px;font-weight:700;display:grid}.ops-form label input,.ops-form label select{width:100%}.ops-form textarea{resize:vertical;color:#152236;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #d7e1eb;border-radius:6px;padding:10px 12px}.ops-form .wide-field{grid-column:span 2}.ops-form .check-field{grid-column:1/-1;align-items:center;gap:8px;display:flex}.ops-form .check-field input{width:18px;height:18px}.ops-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.ops-metrics article{background:#fff;border:1px solid #dce6f0;border-radius:8px;gap:7px;padding:17px;display:grid}.ops-metrics span{color:#687b90;font-size:13px}.ops-metrics strong{font-size:22px}.ops-metrics.finance article:nth-child(3){background:#f5faff;border-color:#b8dcf8}.consultation-ops-list,.invoice-ops-list{gap:12px;display:grid}.consultation-ops-list>article,.invoice-ops-list>article{background:#fff;border:1px solid #dce6f0;border-radius:8px;gap:11px;padding:17px;display:grid}.record-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.record-title>div{gap:5px;display:grid}.record-title span,.consultation-ops-list small{color:#718398;font-size:12px}.record-title em{color:#526980;white-space:nowrap;background:#edf2f7;border-radius:6px;padding:5px 8px;font-size:11px;font-style:normal;font-weight:800}.record-title em.requested,.record-title em.issued,.record-title em.partially_paid{color:#0876c5;background:#edf7ff}.record-title em.confirmed,.record-title em.paid{color:#087a59;background:#e7f8f2}.record-title em.cancelled,.record-title em.overdue{color:#c53f4c;background:#fff0f1}.consultation-ops-list p,.invoice-ops-list p{color:#41566e;margin:0}.record-preview{background:#f4f8fc;border-radius:7px;gap:5px;padding:12px;display:grid}.record-preview b{color:#0876c5;font-size:12px}.record-actions{flex-wrap:wrap;gap:7px;display:flex}.record-actions button,.payment-rows button{color:#0876c5;background:#edf7ff;border:1px solid #b8dcf8;border-radius:6px;align-items:center;gap:5px;padding:8px 10px;font-weight:700;display:inline-flex}.record-actions button.danger,.payment-rows button{color:#c53f4c;background:#fff5f5;border-color:#f1c8cc}.invoice-ops-list dl{background:#f4f8fc;border-radius:7px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:12px;display:grid}.invoice-ops-list dl div{gap:4px;display:grid}.invoice-ops-list dt{color:#718398;font-size:11px}.invoice-ops-list dd{margin:0;font-weight:800}.payment-rows{border:1px solid #e5ecf3;border-radius:7px;display:grid;overflow:hidden}.payment-rows>div{border-bottom:1px solid #edf2f6;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.payment-rows>div:last-child{border-bottom:0}.payment-rows>div.cancelled{color:#8b9aab;text-decoration:line-through}.payment-rows em{font-size:11px;font-style:normal}.payment-rows button{padding:5px 8px}@media (width<=900px){.ops-metrics{grid-template-columns:1fr 1fr}.ops-form .wide-field{grid-column:1/-1}}@media (width<=620px){.ops-metrics{grid-template-columns:1fr 1fr}.ops-metrics strong{font-size:18px}.record-title{align-items:flex-start}.invoice-ops-list dl{grid-template-columns:1fr 1fr}.payment-rows>div{grid-template-columns:1fr auto}.payment-rows button,.payment-rows em{grid-column:2}.ops-searchbar{flex-wrap:wrap}.ops-searchbar{flex-wrap:wrap;align-items:stretch}.ops-searchbar>input{flex-basis:calc(100% - 30px)}.ops-searchbar>button,.import-button{white-space:nowrap;flex:1;justify-content:center}.card-actions{opacity:1}.card-actions button{width:40px;height:40px}.data-grid article>strong{padding-right:88px}.secondary-action{min-height:40px;padding:0 10px;font-size:12px}}.family-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.family-toolbar h3{margin:0;font-size:18px}.family-toolbar p{color:#73869a;margin:5px 0 0;font-size:13px}.family-toolbar>button,.family-add{color:#0876c5;background:#edf7ff;border:1px solid #b8dcf8;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:0 14px;font-weight:750;display:inline-flex}.family-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.family-card{background:#fff;border:1px solid #dce6f0;border-radius:12px;overflow:hidden;box-shadow:0 3px 12px #28415a0d}.family-card>header{background:#f8fbfe;border-bottom:1px solid #e7edf3;align-items:center;gap:11px;padding:16px 17px;display:flex}.family-card>header>div{flex:1;gap:3px;min-width:0;display:grid}.family-card>header strong{font-size:16px}.family-card>header small{color:#74879a}.family-card>header>em{color:#a86600;background:#fff1df;border-radius:999px;padding:5px 8px;font-size:11px;font-style:normal;font-weight:800}.family-avatar,.member-avatar{border-radius:10px;flex:none;place-items:center;font-weight:850;display:grid}.family-avatar{color:#147dc6;background:#dff2ff;width:42px;height:42px;font-size:17px}.family-members{padding:14px 17px}.family-members.guardian{border-top:1px solid #edf2f6}.family-section-title{color:#687c91;align-items:center;gap:7px;margin-bottom:9px;font-size:12px;font-weight:800;display:flex}.family-section-title b{color:#4e657b;background:#edf3f8;border-radius:999px;place-items:center;min-width:19px;height:19px;font-size:10px;display:grid}.family-member{align-items:center;gap:10px;min-height:46px;padding:7px 0;display:flex}.family-member+.family-member{border-top:1px solid #f0f3f6}.member-avatar{border-radius:9px;width:34px;height:34px}.member-avatar.student{color:#167dc3;background:#e9f4ff}.member-avatar.guardian{color:#6859c3;background:#eeeafd}.family-member>div:nth-child(2){flex:1;gap:3px;min-width:0;display:grid}.family-member strong{font-size:14px}.family-member strong em{color:#7565c7;margin-left:5px;font-size:11px;font-style:normal}.family-member small{color:#788a9c;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.member-actions{opacity:0;transition:opacity .15s;flex:none!important;gap:4px!important;display:flex!important}.family-member:hover .member-actions,.family-member:focus-within .member-actions{opacity:1}.member-actions button{color:#60748a;background:#fff;border:1px solid #dce6f0;border-radius:6px;place-items:center;width:30px;height:30px;display:grid}.member-actions button:last-child{color:#d84a57}.family-missing{color:#9a6a1b;background:#fff8eb;border-radius:7px;margin:0;padding:11px;font-size:12px}.family-add{background:#f8fcff;border-style:dashed;width:calc(100% - 34px);margin:0 17px 16px}@media (width<=900px){.family-grid{grid-template-columns:1fr}}@media (width<=620px){.family-toolbar{flex-direction:column;align-items:stretch}.family-toolbar>button{width:100%}.family-card>header{align-items:flex-start}.family-card>header>em{white-space:nowrap}.member-actions{opacity:1}.member-actions button{width:38px;height:38px}.family-add{min-height:44px}}.assignee-picker{border:1px solid #dce6f0;border-radius:8px;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:12px;display:grid}.assignee-picker legend{color:#526980;padding:0 5px;font-size:12px;font-weight:800}.assignee-picker label{cursor:pointer;background:#f8fafc;border:1px solid #e5ebf1;border-radius:7px;align-items:center;gap:9px;padding:10px;display:flex}.assignee-picker label:has(input:checked){background:#edf7ff;border-color:#8bc8f3}.assignee-picker input{width:18px!important;height:18px!important}.assignee-picker label>span{gap:2px;display:grid}.assignee-picker small{color:#77899c;font-weight:500}.assignee-picker p{color:#8797a8;grid-column:1/-1;margin:0}.work-task-list{gap:12px;display:grid}.work-task-list>article{background:#fff;border:1px solid #dce6f0;border-radius:10px;gap:12px;padding:17px;display:grid}.work-task-list>article.cancelled{opacity:.62}.work-task-list>article>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.work-task-list>article>header>div{align-items:center;gap:9px;display:flex}.work-task-list>article>header>em{color:#5c7085;background:#eef3f7;border-radius:999px;padding:5px 9px;font-size:11px;font-style:normal;font-weight:800}.work-task-list>article.in_progress>header>em{color:#0876c5;background:#edf7ff}.work-task-list>article.done>header>em{color:#087a59;background:#e7f8f2}.work-task-list>article.cancelled>header>em{color:#c53f4c;background:#fff0f1}.work-task-list>article>p{color:#41566e;margin:0}.task-priority{color:#526980;background:#edf2f7;border-radius:5px;padding:4px 7px;font-size:11px;font-weight:800}.task-priority.p1{color:#c53f4c;background:#fff0f1}.task-priority.p2{color:#a86600;background:#fff4e2}.task-meta{color:#74869a;flex-wrap:wrap;gap:8px 18px;font-size:12px;display:flex}.task-assignees{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.task-assignees>div{background:#f4f7fa;border-radius:7px;grid-template-columns:1fr auto;gap:2px 8px;padding:9px 10px;display:grid}.task-assignees span{font-weight:750}.task-assignees small{color:#7b8c9e;grid-row:2}.task-assignees em{color:#0876c5;grid-area:1/2/3;align-self:center;font-size:11px;font-style:normal;font-weight:800}.permission-intro{color:#5146b8;background:#f3f1ff;border-radius:9px;grid-column:1/-1;align-items:flex-start;gap:12px;padding:13px;display:flex}.permission-intro div{gap:4px;display:grid}.permission-intro p{color:#697186;margin:0;font-size:12px}.permission-picker{border:0;grid-column:1/-1;gap:8px;margin:0;padding:0;display:grid}.permission-picker label{cursor:pointer;background:#fff;border:1px solid #e1e5ec;border-radius:9px;align-items:flex-start;gap:11px;padding:13px;display:flex}.permission-picker label:has(input:checked){background:#f7f6ff;border-color:#958bec}.permission-picker input{accent-color:#6558d3;margin-top:2px;width:18px!important;height:18px!important}.permission-picker span{gap:4px;display:grid}.permission-picker small{color:#737d90;font-weight:500}.permission-note{color:#93630a;grid-column:1/-1;margin:0;font-size:12px}@media (width<=900px){.assignee-picker,.task-assignees{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.assignee-picker,.task-assignees{grid-template-columns:1fr}.work-task-list>article>header>div{flex-direction:column;align-items:flex-start}.task-metrics{grid-template-columns:1fr 1fr}}.ops-form textarea{resize:vertical;min-height:120px;font:inherit;color:#152236;border:1px solid #d7e1eb;border-radius:6px;grid-column:1/-1;padding:12px}.recovery-success{color:#087a59;background:#eaf9f4;border-radius:7px;padding:14px;line-height:1.6}.student-portal{width:min(100%,960px);color:var(--color-ink);margin:0 auto;padding:22px 18px 32px}.student-heading,.portal-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.student-heading p,.portal-title p,.student-section>header p{color:var(--color-primary);margin:0 0 4px;font-size:13px;font-weight:700}.student-heading h1,.portal-title h1{letter-spacing:0;margin:0;font-size:24px;line-height:1.3}.portal-title>svg{color:var(--color-primary)}.student-next{color:#fff;background:var(--color-primary);border-radius:8px;justify-content:space-between;align-items:flex-end;gap:16px;min-height:156px;padding:24px;display:flex;box-shadow:0 12px 28px #1c90ed2e}.student-next span{opacity:.86;font-size:13px;font-weight:700}.student-next h2{letter-spacing:0;margin:8px 0 6px;font-size:25px}.student-next p{margin:0;font-size:14px;font-weight:600}.student-next a{color:var(--color-primary);background:#fff;border-radius:7px;flex:none;align-items:center;gap:4px;padding:10px 13px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.student-next--empty{box-shadow:none;background:#526171}.student-metrics{grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 20px;display:grid}.student-metrics article{border:1px solid var(--color-border);background:#fff;border-radius:8px;flex-direction:column;align-items:center;min-width:0;padding:17px 10px;display:flex}.student-metrics strong{margin-top:10px;font-size:20px}.student-metrics small{color:var(--color-muted);margin-top:3px;font-size:12px}.student-icon{border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.student-icon svg{width:18px;height:18px}.student-icon.blue{color:var(--color-primary);background:#eaf5ff}.student-icon.green{color:#07966f;background:#e9faf4}.student-icon.amber{color:#d98900;background:#fff7e5}.student-section{border:1px solid var(--color-border);background:#fff;border-radius:8px;margin-top:16px;padding:18px}.student-section>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.student-section>header h2{letter-spacing:0;margin:0;font-size:18px}.student-section>header a{color:var(--color-primary);font-size:13px;font-weight:700;text-decoration:none}.student-list{gap:8px;display:grid}.student-row{min-height:66px;color:inherit;text-align:left;background:#f7f9fc;border:1px solid #0000;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:11px 12px;text-decoration:none;display:grid}.student-row>span:nth-child(2){gap:3px;min-width:0;display:grid}.student-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.student-row small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.student-row em{color:var(--color-primary);white-space:nowrap;font-size:12px;font-style:normal;font-weight:700}.student-row em.danger{color:#e64a54}.student-empty,.portal-state{min-height:170px;color:var(--color-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.student-empty strong{color:var(--color-ink);font-size:14px}.student-empty span{font-size:12px}.portal-state{min-height:55vh}.portal-state button{color:#fff;background:var(--color-primary);border:0;border-radius:6px;padding:9px 14px;font-weight:700}.portal-state--error{color:#d9424e}.spin{animation:.8s linear infinite portal-spin}@keyframes portal-spin{to{transform:rotate(360deg)}}.lesson-list{gap:10px}.lesson-row{border:1px solid var(--color-border);background:#fff;border-radius:8px;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;display:grid}.lesson-row time{color:var(--color-primary);font-size:12px;font-weight:800}.lesson-row>div{gap:3px;min-width:0;display:grid}.lesson-row strong{font-size:15px}.lesson-row span{color:var(--color-text);font-size:13px}.lesson-row small{color:var(--color-muted);font-size:12px}.lesson-row em{color:#087c61;background:#e9faf4;border-radius:5px;padding:5px 8px;font-size:11px;font-style:normal;font-weight:800}.assignment-list{gap:14px;display:grid}.assignment-card{border:1px solid var(--color-border);background:#fff;border-radius:8px;padding:18px}.assignment-card>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.assignment-card>header span{color:var(--color-primary);font-size:12px;font-weight:700}.assignment-card h2{letter-spacing:0;margin:5px 0 0;font-size:18px}.assignment-card>header em{color:var(--color-primary);white-space:nowrap;background:#eaf5ff;border-radius:5px;padding:5px 8px;font-size:11px;font-style:normal;font-weight:800}.assignment-card>header em.danger{color:#d9424e;background:#fff0f1}.assignment-card>header em.success{color:#087c61;background:#e9faf4}.assignment-card>p{color:var(--color-text);margin:14px 0 10px;font-size:14px;line-height:1.55}.assignment-meta{color:var(--color-muted);align-items:center;gap:6px;font-size:12px;display:flex}.submission-form{border-top:1px solid var(--color-border);gap:10px;margin-top:16px;padding-top:14px;display:grid}.submission-form label{color:var(--color-text);gap:7px;font-size:12px;font-weight:700;display:grid}.submission-form textarea{resize:vertical;border:1px solid var(--color-border);width:100%;font:inherit;background:#f8fafc;border-radius:6px;padding:11px}.submission-form button{color:#fff;background:var(--color-primary);border:0;border-radius:6px;justify-self:end;min-width:110px;padding:10px 15px;font-weight:800}.submission-form button:disabled{opacity:.55}.file-picker{cursor:pointer;background:#eef7ff;border-radius:6px;grid-auto-flow:column;align-items:center;width:fit-content;padding:9px 12px;color:var(--color-primary)!important;display:inline-flex!important}.file-picker input{opacity:0;width:1px;height:1px;position:absolute}.submission-result{background:#f7f9fc;border-radius:7px;gap:7px;margin-top:15px;padding:13px;font-size:13px;display:grid}.submission-result>p{white-space:pre-wrap;margin:0;line-height:1.5}.submission-result>span{color:var(--color-muted);align-items:center;gap:5px;font-size:12px;display:flex}.score-result{border-top:1px solid var(--color-border);align-items:flex-start;gap:12px;padding-top:10px;display:flex}.score-result b{color:var(--color-primary);white-space:nowrap;font-size:19px}.score-result p{color:var(--color-text);margin:2px 0 0}.inline-error{color:#b82c39;background:#fff0f1;border-radius:6px;padding:10px 12px;font-size:13px}.student-chat{border:1px solid var(--color-border);background:#fff;border-radius:8px;grid-template-columns:220px minmax(0,1fr);min-height:550px;display:grid;overflow:hidden}.student-chat aside{border-right:1px solid var(--color-border);overflow-y:auto}.student-chat aside button{border:0;border-bottom:1px solid var(--color-border);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:14px;display:flex}.student-chat aside button.active{background:#eef7ff}.student-chat aside span{gap:4px;min-width:0;display:grid}.student-chat aside strong,.student-chat aside small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-chat aside small{color:var(--color-muted);font-size:11px}.student-chat aside b{color:#fff;background:var(--color-primary);text-align:center;border-radius:10px;min-width:20px;padding:3px 5px;font-size:10px}.student-chat>section{grid-template-rows:auto minmax(0,1fr) auto;min-width:0;display:grid}.student-chat>section>header{border-bottom:1px solid var(--color-border);gap:2px;padding:13px 15px;display:grid}.student-chat>section>header span{color:var(--color-muted);font-size:11px}.chat-messages{background:#f7f9fc;flex-direction:column;gap:10px;min-height:0;padding:16px;display:flex;overflow-y:auto}.chat-message{align-self:flex-start;max-width:min(78%,440px)}.chat-message small{color:var(--color-muted);margin:0 0 4px 3px;font-size:10px;display:block}.chat-message p{border:1px solid var(--color-border);white-space:pre-wrap;background:#fff;border-radius:7px;margin:0;padding:10px 12px;font-size:13px;line-height:1.45}.chat-message time{color:var(--color-muted);margin:3px 3px 0;font-size:9px;display:block}.chat-message.mine{align-self:flex-end}.chat-message.mine small{text-align:right}.chat-message.mine p{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.chat-message.mine time{text-align:right}.student-chat form{border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) 40px;gap:8px;padding:10px;display:grid}.student-chat form input{border:1px solid var(--color-border);background:#f8fafc;border-radius:6px;min-width:0;padding:10px 12px}.student-chat form button{color:#fff;background:var(--color-primary);border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.profile-band{border:1px solid var(--color-border);background:#fff;border-radius:8px;align-items:center;gap:14px;padding:18px;display:flex}.profile-band>span{width:52px;height:52px;color:var(--color-primary);background:#eaf5ff;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:20px;font-weight:800;display:inline-flex}.profile-band h2{margin:0 0 4px;font-size:18px}.profile-band p,.profile-band small{color:var(--color-muted);margin:0;font-size:12px}.score-list{gap:10px;display:grid}.score-list article{background:#f7f9fc;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;gap:7px 16px;padding:14px;display:grid}.score-list article>div{gap:3px;display:grid}.score-list article span,.score-list article small{color:var(--color-muted);font-size:11px}.score-list article b{color:var(--color-primary);font-size:21px}.score-list article b small{color:var(--color-muted);font-size:11px}.score-list progress{width:100%;height:6px;accent-color:var(--color-primary);grid-column:1/-1}.score-list article>p{color:var(--color-text);grid-column:1/-1;margin:3px 0 0;font-size:12px;line-height:1.45}.notification-list{gap:8px;display:grid}.notification-list button{border:1px solid var(--color-border);text-align:left;background:#fff;border-radius:8px;grid-template-columns:8px minmax(0,1fr);gap:10px;padding:15px;display:grid}.notification-list button>span{background:0 0;border-radius:50%;width:7px;height:7px;margin-top:5px}.notification-list button.unread>span{background:var(--color-primary)}.notification-list button>div{gap:4px;display:grid}.notification-list p{color:var(--color-text);margin:0;font-size:13px;line-height:1.45}.notification-list small{color:var(--color-muted);font-size:11px}@media (width<=640px){.student-portal{padding:18px 16px 26px}.student-heading h1,.portal-title h1{font-size:21px}.student-next{flex-direction:column;align-items:stretch;min-height:166px;padding:20px}.student-next h2{font-size:22px}.student-next a{align-self:flex-start}.student-metrics{gap:8px}.student-metrics article{padding:14px 6px}.student-metrics strong{font-size:18px}.student-metrics small{font-size:10px}.student-section{padding:15px}.lesson-row{grid-template-columns:1fr auto;gap:8px}.lesson-row time{grid-column:1/-1}.assignment-card{padding:15px}.student-chat{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;height:calc(100dvh - 190px);min-height:0}.student-chat aside{border-right:0;border-bottom:1px solid var(--color-border);display:flex;overflow-x:auto}.student-chat aside button{border-right:1px solid var(--color-border);border-bottom:0;flex:0 0 170px;width:170px}.chat-message{max-width:86%}}.ops-form fieldset{border:1px solid #dce6f0;border-radius:7px;grid-column:1/-1;align-items:center;gap:18px;margin:0;padding:10px 13px;display:flex}.ops-form fieldset legend{color:#526980;padding:0 5px;font-size:12px;font-weight:800}.ops-form fieldset label{align-items:center;gap:7px;display:flex}.ops-form fieldset input{width:18px;height:18px}.live-panel{padding:16px 18px 24px}.panel-heading{justify-content:flex-end;min-height:40px;margin-bottom:12px}.panel-heading>div:first-child{display:none}.panel-heading:has(>div:only-child){display:none}.files-panel{gap:12px!important;padding:14px 18px 24px!important}.files-panel>header{min-height:40px;justify-content:flex-end!important}.files-panel>header>div{display:none}.files-panel .file-search input{height:40px!important}.files-panel .file-grid{gap:9px!important}.files-panel .file-grid article{gap:10px!important;padding:12px 13px!important}.files-panel .file-icon{width:38px!important;height:38px!important}.files-panel .file-empty{min-height:220px!important}.ops-panel{gap:12px;padding:14px 18px 24px}.ops-head{justify-content:flex-end;min-height:40px}.ops-head>div:first-child{display:none}.ops-form{padding:12px}.data-grid{gap:9px}.data-grid article{gap:5px;padding:13px 14px}.table-list>div,.notification-list article,.approval-list article{padding:11px 13px}.ops-metrics{gap:9px}.ops-metrics article{padding:12px 14px}.student-portal{gap:12px;padding:14px 18px 26px}.student-portal>.student-heading,.student-portal>.portal-title{display:none}.student-next,.profile-band{padding:17px 19px}.student-section>header,.student-row,.assignment-card{padding:12px 14px}@media (width<=640px){.live-panel,.ops-panel,.student-portal{padding:12px 12px 22px}.panel-heading,.ops-head{min-height:38px}.ops-actions{flex-wrap:wrap;justify-content:flex-end}.student-next,.profile-band{padding:15px}}@media (width<=760px){.files-panel{padding:12px 12px 22px!important}}.dev-page{width:100%;height:100dvh;color:var(--color-ink);background:radial-gradient(circle at 8% 0%, #1c90ed1a, transparent 30rem), var(--color-canvas);overflow-y:auto}.dev-header{z-index:5;min-height:var(--header-height);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;justify-content:space-between;align-items:center;padding:0 max(24px,50vw - 590px);display:flex;position:sticky;top:0}.dev-back-link,.dev-session a{color:var(--color-primary-hover);align-items:center;gap:6px;font-size:13px;font-weight:750;display:inline-flex}.dev-content{width:min(1180px,100% - 40px);margin:0 auto;padding:56px 0 80px}.dev-hero{margin-bottom:24px}.dev-eyebrow{color:#8a4b00;background:var(--color-warning-soft);border:1px solid #f2c979;border-radius:999px;align-items:center;gap:6px;margin-bottom:12px;padding:6px 9px;font-size:12px;font-weight:800;display:inline-flex}.dev-hero h1{letter-spacing:-.035em;margin:0;font-size:clamp(30px,5vw,46px)}.dev-hero>p{max-width:720px;color:var(--color-muted);margin:12px 0 0;font-size:15px;line-height:1.7}.dev-session{border-radius:var(--radius-md);color:#704000;background:var(--color-warning-soft);border:1px solid #f2c979;align-items:center;gap:10px;margin-top:24px;padding:14px 16px;font-size:13px;display:flex}.dev-session.is-signed-in{color:#096b4a;background:var(--color-success-soft);border-color:#a9e4cf}.dev-session a{margin-left:auto}.dev-navigation-error{border-radius:var(--radius-md);color:var(--color-danger);background:var(--color-danger-soft);border:1px solid #f3b9bc;margin:10px 0 0;padding:12px 14px;font-size:13px}.dev-system-section,.dev-link-section{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-panel);border-radius:12px}.dev-system-section{grid-template-columns:minmax(240px,.65fr) 1fr;align-items:center;gap:24px;margin-bottom:18px;padding:20px;display:grid}.dev-section-heading{align-items:center;gap:12px;min-width:0;display:flex}.dev-section-heading h2,.dev-section-heading p{margin:0}.dev-section-heading h2{font-size:16px}.dev-section-heading p{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.dev-section-icon{width:42px;height:42px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:10px;flex:0 0 42px;place-items:center;display:grid}.dev-system-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.dev-system-links a,.dev-link-section nav a{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);align-items:center;gap:10px;transition:border-color .12s,background .12s,transform .12s;display:grid}.dev-system-links a{color:var(--color-text);background:var(--color-canvas);grid-template-columns:22px 1fr 18px;padding:13px}.dev-system-links a:hover,.dev-link-section nav a:hover{border-color:var(--color-primary);background:var(--color-primary-soft);transform:translateY(-1px)}.dev-system-links strong,.dev-system-links small,.dev-link-section nav strong,.dev-link-section nav small{display:block}.dev-system-links small,.dev-link-section nav small{color:var(--color-muted);margin-top:3px;font-size:11px}.dev-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.dev-link-section{min-width:0;padding:20px}.dev-access-badge{color:var(--color-muted);background:var(--color-canvas);white-space:nowrap;border-radius:999px;margin-left:auto;padding:5px 7px;font-size:10px;font-weight:800}.dev-access-badge.is-available{color:var(--color-success);background:var(--color-success-soft)}.dev-link-section nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.dev-link-section nav a{min-width:0;color:var(--color-text);grid-template-columns:1fr 18px;padding:12px}.dev-link-section nav a.is-switching{color:var(--color-primary-hover);border-color:var(--color-primary);background:var(--color-primary-soft);cursor:wait}@media (width<=800px){.dev-content{width:min(100% - 28px,620px);padding:38px 0 60px}.dev-system-section,.dev-section-grid{grid-template-columns:1fr}}@media (width<=520px){.dev-header{min-height:var(--mobile-header-height);padding:0 14px}.dev-back-link{font-size:0}.dev-back-link svg{width:20px;height:20px}.dev-session{flex-wrap:wrap;align-items:flex-start}.dev-session a{width:100%;margin:4px 0 0 30px}.dev-system-links,.dev-link-section nav{grid-template-columns:1fr}.dev-link-section{padding:16px}.dev-access-badge{display:none}}.theme-toggle{z-index:35;border:1px solid var(--color-border);border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-text);background:var(--color-surface);cursor:pointer;place-items:center;display:grid;position:fixed;top:12px;right:76px}.theme-toggle:hover{color:var(--color-primary);background:var(--color-primary-soft)}:root[data-theme=dark]{--color-primary:#55b4ff;--color-primary-hover:#78c3ff;--color-primary-soft:#143552;--color-ink:#f1f5f9;--color-text:#d5deea;--color-muted:#94a3b8;--color-border:#344255;--color-border-soft:#293548;--color-surface:#172131;--color-canvas:#0e1623;--color-success:#45d3a1;--color-success-soft:#123a30;--color-warning:#f7b84b;--color-warning-soft:#3d2d12;--color-danger:#ff7780;--color-danger-soft:#431e27;--shadow-panel:0 10px 30px #0000003d}:root[data-theme=dark] body{color:var(--color-ink);background:var(--color-canvas)}:root[data-theme=dark] :where(input,textarea,select){color:var(--color-ink)!important;border-color:var(--color-border)!important;background:#111c2b!important}:root[data-theme=dark] :where(input,textarea)::placeholder{color:#718096}:root[data-theme=dark] :where(.desktop-header,.desktop-sidebar,.sidebar-account,.mobile-header,.mobile-bottom-nav,.desktop-mobile-nav,.teacher-shell__topbar,.teacher-shell__bottom-nav,.account-sheet,.workspace-search){background:var(--color-surface)!important}:root[data-theme=dark] :where(.desktop-sidebar nav a,.mobile-bottom-nav a,.desktop-mobile-nav a){color:#aab7c8}:root[data-theme=dark] :where(.desktop-sidebar nav a:hover,.desktop-sidebar nav a.active,.mobile-bottom-nav a.active,.desktop-mobile-nav a.active){color:var(--color-primary);background:var(--color-primary-soft)}:root[data-theme=dark] :where(.header-search,.header-search kbd,.icon-button,.theme-toggle,.teacher-shell__topbar a,.teacher-shell__topbar-actions>button,.mobile-header__actions>a,.mobile-header__actions>button){color:var(--color-text);border-color:var(--color-border);background:#111c2b}:root[data-theme=dark] :where(.sidebar-account-menu,.workspace-search__results button,.account-sheet__logout){color:var(--color-text);background:var(--color-surface)}:root[data-theme=dark] :where(.desktop-header,.desktop-sidebar,.mobile-header,.mobile-bottom-nav,.desktop-mobile-nav,.teacher-shell__topbar,.teacher-shell__bottom-nav){border-color:var(--color-border)!important}:root[data-theme=dark] :where(.live-panel,.ops-panel,.student-portal,.role-portal,.teacher-portal,.driver-portal,.transport-panel,.files-panel,.insights-panel){color:var(--color-ink)!important;background:var(--color-canvas)!important}:root[data-theme=dark] :where(.metric-card,.activity-panel,.schedule-panel,.next-panel,.status-panel,.academy-table-wrap,.ops-form,.data-grid article,.table-list,.attendance-list,.chat-layout,.notification-list article,.approval-list article,.audit-list,.detail-drawer,.account-card,.ops-searchbar,.ops-metrics article,.consultation-ops-list>article,.invoice-ops-list>article,.family-card,.work-task-list>article,.permission-picker label,.student-metrics article,.student-section,.lesson-row,.assignment-card,.student-chat,.profile-band,.content-card,.profile-card,.metric-grid article,.system-grid article,.usage-note,.notice-list,.service-form,.cancel-dialog,.metrics article,.card,.lesson-list,.attendance-card,.chat,.form-card,.grade-card,.check-list,.vehicle-grid article,.route-list>article,.assign-form>section,.operations-grid>section,.file-grid article,.file-empty){color:var(--color-ink)!important;border-color:var(--color-border)!important;background:var(--color-surface)!important}:root[data-theme=dark] :where(.table-list>div,.attendance-list>div,.message-compose,.audit-list>div,.family-card>header,.family-members.guardian,.payment-rows>div,.student-section>header,.student-row,.card>header,.attendance-card>header,.grade-card>header,.rows article,.rows>button,.lesson-list article,.task-list article,.grade-list article,.score-grid article,.chat aside,.chat aside>header,.conversation>header,.conversation form,.route-list article,.boarding-list article,.contact-list article,.notice-list button,.notice-list article,.content-card>header,.item-list article,.item-list button){border-color:var(--color-border)!important}:root[data-theme=dark] :where(.table-list button,.chat-layout aside button,.card-actions button,.pager button,.member-actions button,.student-next a,.rows article,.rows>button,.wide-select,.tabs,.chat aside button,.notice-list>button,.sub-tabs,.cancel-button,.files-panel header button,.file-grid article>button,.insights-panel button,.transport-panel button){color:var(--color-text)!important;border-color:var(--color-border)!important;background:var(--color-surface)!important}:root[data-theme=dark] :where(.family-card>header,.record-preview,.invoice-ops-list dl,.task-assignees>div,.consultation-record,.invoice-list dl,.grade-list article.missing,.chat aside,.chat-layout aside button.active,.rows>button.selected,.chat aside button.active,.assignee-picker label,.file-search){background:#111c2b!important}:root[data-theme=dark] :where(.message-list article,.messages article p){color:var(--color-ink);background:#263449!important}:root[data-theme=dark] :where(.message-list article.mine,.messages article.mine p){color:#fff;background:#2563a9!important}:root[data-theme=dark] :where(.data-grid article span,.data-grid article small,.table-list span,.notification-list p,.notification-list time,.approval-list span,.approval-list small,.record-title span,.consultation-ops-list small,.consultation-ops-list p,.invoice-ops-list p,.family-toolbar p,.family-card small,.family-member small,.task-meta,.task-assignees small,.student-section p,.student-row small,.assignment-card p,.role-portal p,.role-portal small,.teacher-portal p,.teacher-portal small,.driver-portal p,.driver-portal small,.transport-panel p,.transport-panel small,.files-panel p,.files-panel small,.insights-panel p,.insights-panel small){color:var(--color-muted)!important}:root[data-theme=dark] :where(.primary-action,.primary-button,.tabs button.active,.sub-tabs button.active,.attendance-card>header button,.form-card>button,.grade-card header button,.conversation button,.messages article.mine p){color:#fff!important;background:#287fca!important}:root[data-theme=dark] :where(.student-next,.next-lesson,.hero-card,.run-hero,.tuition-summary){color:#fff}:root[data-theme=dark] .teacher-portal{background:var(--color-canvas)!important}:root[data-theme=dark] .teacher-shell__sidebar{background:#17152b}:root[data-theme=dark] .teacher-shell__content{background:var(--color-canvas)}:root[data-theme=dark] .insights-panel pre{background:#090f19}:root[data-theme=dark] .dialog-backdrop{background:#020617b8}@media (width<=760px){.theme-toggle{width:38px;height:38px;top:7px;right:104px}}
