:root{--brand-orange:#d6402b;--brand-orange-dark:#ad2d1c;--brand-blue:#1e5b8a;--brand-blue-dark:#123f5f;--brand-lime:#b9ed32;--brand-teal:#2a9d8f;--brand-teal-dark:#1e7267;--brand-cyan:#50c8c6;--brand-gold:#e8a33d;--brand-ink:#0f2a3d;--brand-ink-soft:#4b6472;--brand-border:#dce7e8;--brand-surface-alt:#f6fafa;--brand-font-weight-display:800;--brand-letter-spacing-display:-.01em;--ds-color-primary:var(--brand-orange);--ds-color-primary-dark:var(--brand-orange-dark);--ds-color-secondary:var(--brand-blue);--ds-color-secondary-dark:var(--brand-blue-dark);--ds-color-accent:var(--brand-lime);--ds-color-info:#2f5fd7;--ds-color-success:#24806b;--ds-color-warning:#96600e;--ds-color-danger:#b42318;--ds-color-danger-text:#b42318;--ds-color-primary-soft:#fff0ec;--ds-color-secondary-soft:#eaf0ff;--ds-color-info-soft:#eaf0ff;--ds-color-success-soft:#e8f7f0;--ds-color-warning-soft:#fff2d4;--ds-color-danger-soft:#fff0ed;--ds-color-canvas:#dce5ef;--ds-color-container:#fff;--ds-color-text:#191719;--ds-color-text-muted:#5f6671;--ds-color-text-subtle:#4f5965;--ds-color-border:#e1e4e8;--ds-color-surface-subtle:#f5f7f8;--ds-color-ring:#2f5fd7;--ds-color-focus-ring:#2f5fd77a;--ds-color-glass:#fffffff0;--ds-glass-blur:12px;--ds-radius-control:6px;--ds-radius-card:14px;--ds-radius-pill:999px;--ds-space-0:0;--ds-space-1:4px;--ds-space-2:8px;--ds-space-3:12px;--ds-space-4:16px;--ds-space-5:20px;--ds-space-6:24px;--ds-space-8:32px;--ds-space-10:40px;--ds-space-12:48px;--ds-space-16:64px;--ds-font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ds-font-display:"Avenir Next", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--ds-font-mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--ds-font-size-xs:12px;--ds-font-size-sm:13px;--ds-font-size-base:14px;--ds-font-size-md:16px;--ds-font-size-lg:18px;--ds-font-size-xl:21px;--ds-font-size-2xl:28px;--ds-font-size-3xl:34px;--ds-font-weight-regular:400;--ds-font-weight-medium:500;--ds-font-weight-semibold:600;--ds-font-weight-bold:700;--ds-font-weight-extrabold:800;--ds-line-height-tight:1.15;--ds-line-height-snug:1.35;--ds-line-height-base:1.5;--ds-line-height-relaxed:1.6;--ds-shadow-card:0 12px 28px #17223517;--ds-shadow-pop:0 16px 34px #17324d29;--ds-shadow-lift:0 16px 34px #1722351f;--ds-letter-spacing-display:-.01em;--ds-motion-instant:.1s;--ds-motion-fast:.16s;--ds-motion-standard:.24s;--ds-motion-slow:.36s;--ds-ease-out:cubic-bezier(.22, .8, .28, 1);--ds-ease-in:cubic-bezier(.55, .05, .67, .19);--brand-sky:var(--ds-color-canvas);--ink:var(--ds-color-text);--ink-muted:var(--ds-color-text-muted);--line:var(--ds-color-border);--canvas:var(--ds-color-canvas);--white:var(--ds-color-container);--blue:var(--ds-color-secondary);--blue-dark:var(--ds-color-secondary-dark);--blue-soft:var(--ds-color-secondary-soft);--teal:var(--ds-color-primary);--teal-dark:var(--ds-color-primary-dark);--teal-soft:var(--ds-color-primary-soft);--cyan:#5f8fec;--amber:#b17a05;--amber-soft:var(--ds-color-warning-soft);--coral:var(--ds-color-primary);--coral-soft:var(--ds-color-primary-soft);--lilac:#9a8de3;--lilac-soft:#eeebfc;--leaf:#71ad74;--text-secondary:var(--ds-color-text-subtle);--text-tertiary:var(--ds-color-text-muted);--surface-subtle:var(--ds-color-surface-subtle);--focus-ring:var(--ds-color-focus-ring);--radius-card:var(--ds-radius-card);--radius-panel:var(--ds-radius-card);--radius-control:10px;--radius-pill:var(--ds-radius-pill);--shadow-card:var(--ds-shadow-card);--shadow-pop:var(--ds-shadow-pop);--shadow:var(--ds-shadow-card);--font-body:var(--ds-font-sans);--font-display:var(--ds-font-display);--font-mono-quiet:var(--ds-font-mono);--ease-out:var(--ds-ease-out);--ease-in:var(--ds-ease-in);--motion-instant:var(--ds-motion-instant);--motion-fast:var(--ds-motion-fast);--motion-standard:var(--ds-motion-standard);--motion-slow:var(--ds-motion-slow);--mockup-lavender:#ece7fb;--mockup-lavender-deep:#6a5bc0;--mockup-blue:#e2ecfd;--mockup-blue-deep:#2f5fd7;--mockup-mint:#ddf3e7;--mockup-mint-deep:#23755f;--mockup-peach:#fdeadb;--mockup-peach-deep:#b3541e;--mockup-pink:#fbdfea;--mockup-pink-deep:#a8325f;--mockup-ink:#101014;--mockup-radius:24px;--mockup-radius-sm:20px;--mockup-chart-orange:#d95d27;--mockup-chart-blue:#2f5fd7;--pastel-ink:#101014;--pastel-lavender:#e8e4fb;--pastel-sky:#dbe8fd;--pastel-mint:#d9f1e3;--pastel-peach:#fde4cf;--pastel-pink:#fbdcea;--pastel-wash:#ffffff8c}:root.dark,.dark{--ds-color-canvas:#121212;--ds-color-container:#1c1c1c;--ds-color-text:#e0e0e0;--ds-color-text-muted:#a3a3a3;--ds-color-text-subtle:#8a8a8a;--ds-color-border:#2e2e2e;--ds-color-surface-subtle:#202020;--ds-color-glass:#1c1c1cf5;--ds-color-primary-dark:#e8937c;--ds-color-secondary-dark:#9db4f0;--ds-color-danger-text:#f1998a;--ds-color-primary-soft:#2a1714;--ds-color-secondary-soft:#17203a;--ds-color-info-soft:#17203a;--ds-color-success-soft:#14251f;--ds-color-warning-soft:#2a2412;--ds-color-danger-soft:#2a1614;--brand-blue:#7ab3de;--brand-blue-dark:#9cc6e7;--brand-teal:#5ac8b8;--brand-teal-dark:#7ed3c3;--brand-cyan:#7fe0de;--brand-gold:#edb95e;--brand-ink:#e2ecf2;--brand-ink-soft:#a3b9c4;--brand-border:#2e3f45;--brand-surface-alt:#1b262b;--ds-shadow-card:0 12px 28px #00000080;--ds-shadow-pop:0 16px 34px #0009}:root{color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--canvas);min-width:320px;margin:0;overflow-x:hidden}button,input{font:inherit}button,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #50c8c66b}.skip-link{z-index:100;color:#fff;background:var(--blue-dark);transition:transform .18s var(--ease-out);border-radius:7px;padding:10px 13px;font-size:12px;font-weight:700;text-decoration:none;position:fixed;top:12px;left:16px;transform:translateY(-180%)}.skip-link:focus{outline-offset:3px;outline:3px solid #50c8c68c;transform:translateY(0)}button:active:not(:disabled),.action-card:active,.module-action:active,.date-button:active,.select-button:active,.workspace-switcher:active{transform:scale(.98)}.logo{width:166px;height:55px;color:var(--ink);letter-spacing:0;align-items:center;font-weight:700;display:inline-flex}.brand-logo-image{object-fit:contain;object-position:center;width:166px;height:55px;display:block}.login-shell{background:#fff;grid-template-columns:minmax(360px,.9fr) minmax(460px,1.1fr);min-height:100vh;display:grid}.login-story{background:var(--teal);color:#fff;flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(28px,5vw,70px);display:flex;position:relative;overflow:hidden}.login-story:before{content:"";border:1px solid #fff3;width:360px;height:360px;position:absolute;top:13%;right:-150px;transform:rotate(45deg)}.login-story:after{content:"";border:1px solid #ffffff29;width:450px;height:450px;position:absolute;bottom:7%;left:-280px;transform:rotate(45deg)}.story-topline,.story-footer{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.login-story .logo{color:#fff;background:#fffffff0;border-radius:11px;width:178px;height:58px;padding:4px 8px}.login-story .brand-logo-image{width:162px;height:50px}.status-pill{letter-spacing:.01em;background:#075b5459;border:1px solid #ffffff3b;border-radius:99px;align-items:center;gap:7px;padding:8px 10px;font:500 11px IBM Plex Mono,monospace;display:inline-flex}.status-dot{background:#8df2c7;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #8df2c72b}.story-content{z-index:1;width:100%;max-width:480px;margin:70px auto;position:relative}.kicker,.eyebrow{text-transform:uppercase;letter-spacing:.11em;margin:0 0 13px;font:600 10px IBM Plex Mono,monospace}.story-content .kicker{color:#a6eee2}.story-content h1{letter-spacing:0;max-width:430px;margin:0 0 22px;font:800 60px/1.01 Manrope,sans-serif}.story-copy{color:#d7faf4;max-width:400px;margin:0;font-size:17px;line-height:1.6}.story-stat-grid{border-top:1px solid #fff3;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:62px;padding-top:18px;display:grid}.story-stat-grid strong{letter-spacing:0;font:600 25px IBM Plex Mono,monospace;display:block}.story-stat-grid span{color:#b9eee8;margin-top:4px;font-size:11px;line-height:1.4;display:block}.story-footer{color:#c0eee7;font-size:11px}.story-footer-link{color:#fff;align-items:center;gap:6px;display:inline-flex}.login-panel{background:#fff;justify-content:center;align-items:center;padding:40px 28px;display:flex}.login-panel-inner{width:min(100%,470px)}.mobile-logo{margin-bottom:46px;display:none}.login-heading h2{color:var(--ink);letter-spacing:0;margin:0 0 8px;font:800 36px/1.15 Manrope,sans-serif}.login-heading p:not(.eyebrow){color:var(--ink-muted);margin:0 0 30px;font-size:15px}.role-switcher{border:1px solid var(--line);background:#f8fbfb;border-radius:11px;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:5px;display:grid}.role-option{color:#708292;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:43px;font-size:12px;font-weight:600;transition:color .18s,background .18s,box-shadow .18s;display:flex}.role-option:hover{color:var(--teal-dark)}.role-option:disabled{cursor:wait;opacity:.7}.role-note{background:var(--teal-soft);color:#286962;border:1px solid #c9eeea;border-radius:9px;align-items:center;gap:9px;margin:15px 0 26px;padding:10px 12px;font-size:12px;line-height:1.45;display:flex}.role-note-icon{height:25px;color:var(--teal-dark);background:#c8efeb;border-radius:7px;flex:0 0 25px;place-items:center;display:grid}.login-form label{color:#344d65;margin-bottom:7px;font-size:12px;font-weight:600;display:block}.label-row{justify-content:space-between;align-items:center;margin-top:19px;display:flex}.label-row label{margin:0}.text-button{color:var(--teal-dark);text-underline-offset:3px;background:0 0;border:0;padding:3px;font-size:11px;text-decoration:underline}.input-wrap{border:1px solid #d8e3e7;border-radius:8px;align-items:center;height:49px;transition:border-color .16s,box-shadow .16s;display:flex;position:relative}.input-wrap>svg{color:#8a9ba9;flex:none;margin-left:15px}.input-wrap input{min-width:0;height:100%;color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:0 13px;font-size:14px}.input-wrap input::placeholder{color:#aab6bf}.input-action{color:#8a9ba9;background:0 0;border:0;place-items:center;width:42px;height:42px;margin-right:3px;display:grid}.eye-icon{transform:rotate(180deg)}.form-error{color:#b42318;min-height:18px;margin:11px 0 -4px;font-size:12px}.submit-button{background:var(--teal);color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:9px;width:100%;height:49px;margin-top:26px;font-size:14px;font-weight:600;transition:background .18s,box-shadow .18s,transform .18s;display:flex;box-shadow:0 4px 12px #0d948838}.submit-button:hover:not(:disabled){background:var(--teal-dark);transform:translateY(-1px);box-shadow:0 6px 16px #0d948842}.submit-button:disabled{opacity:.75;cursor:wait}.button-loader{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}.login-option-divider{color:#66788a;text-transform:uppercase;align-items:center;gap:12px;margin:20px 0 12px;font:600 10px IBM Plex Mono,monospace;display:flex}.login-option-divider:before,.login-option-divider:after{content:"";background:var(--line);flex:1;height:1px}.smart-classroom-button{width:100%;min-height:49px;color:var(--brand-blue-dark,#2146a6);background:#f5f7ff;border:1px solid #b9c9ef;border-radius:8px;grid-template-columns:20px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:0 14px;font-size:14px;font-weight:700;text-decoration:none;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;display:grid}.smart-classroom-button span{text-align:left}.smart-classroom-button svg:last-child{justify-self:end}.smart-classroom-button:hover{border-color:var(--brand-blue,#2f5fd7);background:#e9efff;transform:translateY(-1px);box-shadow:0 6px 16px #2f5fd724}.smart-classroom-button:focus-visible{outline:3px solid var(--focus-ring,#2f5fd759);outline-offset:2px}.smart-classroom-button:active{transform:scale(.99)}.secure-note{color:#8a9ba9;justify-content:center;align-items:center;gap:6px;margin:22px 0 0;font-size:11px;display:flex}.story-live-note{color:#d7faf4;border-top:1px solid #fff3;margin:62px 0 0;padding-top:18px;font-size:13px;line-height:1.6}.story-footer-link{color:#fff;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.story-footer-link:hover{text-underline-offset:3px;text-decoration:underline}.status-checking .status-dot{background:#f2b84b;box-shadow:0 0 0 3px #f2b84b33}.status-unavailable .status-dot{background:#ee6c5d;box-shadow:0 0 0 3px #ee6c5d33}.status-demo .status-dot{background:#b9eee8;box-shadow:0 0 0 3px #b9eee833}.recovery-note{color:#536275;margin:16px 0 0;font-size:12px;line-height:1.6}.recovery-note a{color:var(--teal-dark);text-underline-offset:3px}.demo-note{color:#536275;border:1px solid var(--line);background:#f8fbfb;border-radius:8px;margin:14px 0 0;padding:9px 11px;font-size:12px;line-height:1.5}a.text-button{display:inline-block}@media (width<=520px){.role-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{background:var(--canvas);min-height:100vh;display:flex}.app-sidebar{border-right:1px solid var(--line);z-index:20;background:#fff;flex-direction:column;flex:0 0 248px;width:248px;min-height:100vh;padding:25px 15px 17px;display:flex}.sidebar-head{justify-content:space-between;align-items:center;padding:0 11px 28px;display:flex}.sidebar-close{display:none!important}.workspace-switcher-wrap{margin:0 2px 28px;position:relative}.workspace-switcher{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:9px;align-items:center;gap:9px;padding:10px 9px;transition:border-color .17s,box-shadow .17s;display:flex}.workspace-switcher:hover{border-color:#b9dcd8;box-shadow:0 4px 12px #2a9d8f14}.workspace-switcher>span:nth-child(2){flex:1;min-width:0}.workspace-switcher strong,.workspace-switcher small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.workspace-switcher strong{font-size:11px}.workspace-switcher small{color:#8b9aa6;margin-top:3px;font-size:9px}.campus-badge{color:#fff;background:var(--teal);border-radius:7px;place-items:center;width:29px;height:29px;font:600 13px IBM Plex Mono,monospace;display:grid}.campus-menu{z-index:35;border:1px solid var(--line);background:#fff;border-radius:9px;padding:5px;position:absolute;top:calc(100% + 7px);left:0;right:0;box-shadow:0 12px 26px #17324d24}.campus-option{width:100%;min-height:40px;color:var(--ink-muted);text-align:left;background:#fff;border:0;border-radius:6px;align-items:center;padding:0 10px;font-size:11px;display:flex}.campus-option:hover,.campus-option[aria-current=true]{color:var(--teal-dark);background:var(--teal-soft)}.app-nav{padding:0 2px}.nav-label{color:#9aa9b5;text-transform:uppercase;letter-spacing:.1em;margin:0 0 9px;padding:0 11px;font:600 9px IBM Plex Mono,monospace}.nav-item{color:#748594;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:12px;width:100%;min-height:42px;padding:0 11px;font-size:12px;font-weight:500;transition:background .17s,color .17s;display:flex}.nav-item svg{stroke-width:1.8px}.nav-item.is-active{color:var(--teal-dark);background:var(--teal-soft);font-weight:600}.sidebar-spacer{flex:1;min-height:28px}.sidebar-help{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#8a9ba9;text-align:left;background:#fff;align-items:center;gap:9px;width:100%;margin-bottom:14px;padding:17px 6px;display:flex}.sidebar-help:hover{color:var(--teal-dark)}.sidebar-help strong,.sidebar-help small{display:block}.sidebar-help strong{color:var(--ink);font-size:11px}.sidebar-help small{margin-top:3px;font-size:10px}.help-icon{color:var(--teal);background:var(--teal-soft);border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.sidebar-signout{border:1px solid var(--line);color:#718493;background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:38px;font-size:11px;font-weight:600;display:flex}.sidebar-signout:hover{color:var(--teal-dark);background:#fbfefe;border-color:#b9dcd8}.sidebar-signout:disabled{cursor:wait;opacity:.65}.sidebar-profile{align-items:center;gap:9px;padding:5px 5px 0;display:flex}.sidebar-profile>span:nth-child(2){flex:1;min-width:0}.sidebar-profile strong,.sidebar-profile small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.sidebar-profile strong{color:var(--ink);font-size:11px}.sidebar-profile small{color:#8a9ba9;margin-top:3px;font-size:10px}.avatar{border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;font:600 10px IBM Plex Mono,monospace;display:inline-grid}.icon-button{color:#78909f;background:0 0;border:0;border-radius:7px;place-items:center;width:44px;height:44px;transition:color .17s,background .17s;display:inline-grid}.icon-button:hover{color:var(--ink);background:#eef5f5}.sidebar-more{width:44px}.dashboard-main{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#ffffffde;align-items:center;height:72px;padding:0 clamp(20px,3.2vw,52px);display:flex}.topbar-search{color:#8b9ca8;align-items:center;gap:10px;width:min(260px,37vw);display:flex}.topbar-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.topbar-search input::placeholder{color:#98a8b3}.topbar-actions{align-items:center;gap:7px;margin-left:auto;display:flex}.notification-button{position:relative}.notification-button>span{background:var(--amber);border:1px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:8px;right:8px}.topbar-divider{background:var(--line);width:1px;height:25px;margin:0 9px}.topbar-user{text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:3px 0 3px 3px;display:flex}.topbar-user-copy{min-width:90px}.topbar-user strong,.topbar-user small{display:block}.topbar-user strong{color:var(--ink);font-size:11px}.topbar-user small{color:#8a9ba9;margin-top:3px;font-size:10px}.account-menu-wrap{position:relative}.account-menu{z-index:60;border:1px solid var(--line);background:#fff;border-radius:8px;width:min(260px,100vw - 24px);padding:6px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 16px 34px #17324d29}.account-menu-identity{border-bottom:1px solid var(--line);align-items:center;gap:9px;margin-bottom:4px;padding:9px 9px 12px;display:flex}.account-menu-identity>span{min-width:0}.account-menu-identity strong,.account-menu-identity small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.account-menu-identity strong{color:var(--ink);font-size:12px}.account-menu-identity small{color:var(--text-secondary);margin-top:3px;font-size:10px}.account-menu>button{width:100%;min-height:44px;color:var(--ink-muted);text-align:left;background:#fff;border:0;border-radius:6px;align-items:center;gap:9px;padding:0 10px;font-size:11px;font-weight:600;display:flex}.account-menu>button:hover,.account-menu>button:focus-visible{color:var(--teal-dark);background:var(--teal-soft)}.account-menu>button.account-menu-logout{color:#9b2c23}.account-menu>button.account-menu-logout:hover,.account-menu>button.account-menu-logout:focus-visible{background:#fff0ed}.mobile-menu{margin-right:6px;display:none}.dashboard-content{max-width:1440px;margin:0 auto;padding:clamp(28px,4vw,56px) clamp(20px,3.2vw,52px) 54px}.dashboard-intro{justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:29px;display:flex}.dashboard-intro .eyebrow,.section-heading .eyebrow{color:var(--teal);margin-bottom:9px}.dashboard-intro h1{color:var(--ink);letter-spacing:0;margin:0 0 9px;font-size:36px;font-weight:600;line-height:1.1}.dashboard-intro>div>p:last-child{color:#718493;margin:0;font-size:13px}.date-button,.select-button{border:1px solid var(--line);color:#607586;white-space:nowrap;background:#fff;border-radius:7px;align-items:center;gap:8px;min-height:40px;padding:10px 11px;font-size:11px;display:inline-flex}.date-button:hover,.select-button:hover{color:var(--teal-dark);border-color:#b9dcd8}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:20px;display:grid}.metric-card{border:1px solid var(--line);min-height:122px;box-shadow:var(--shadow);background:#fff;border-radius:10px;align-items:flex-start;gap:12px;padding:19px 17px;display:flex;position:relative}.metric-icon{border-radius:9px;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid}.metric-teal{color:var(--teal);background:var(--teal-soft)}.metric-amber{color:var(--amber);background:var(--amber-soft)}.metric-blue{color:var(--blue);background:var(--blue-soft)}.metric-copy span,.metric-copy small{display:block}.metric-copy span{color:#718493;margin:1px 0 8px;font-size:11px}.metric-copy strong{color:var(--ink);letter-spacing:0;font:600 26px IBM Plex Mono,monospace;display:block}.metric-copy small{color:#63907e;margin-top:6px;font-size:10px}.metric-more{color:#a7b5be;margin-left:auto}.dashboard-grid{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:13px;margin-bottom:21px;display:grid}.chart-card,.upcoming-card,.quick-actions,.activity-section{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:10px}.chart-card{min-height:327px;padding:22px 23px 17px}.upcoming-card{padding:22px 21px 18px}.section-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.section-heading h3{color:var(--ink);letter-spacing:0;margin:0;font-size:15px;font-weight:600}.section-heading .eyebrow{margin:0 0 5px}.select-button{min-height:32px;padding:7px 8px;font-size:10px}.chart-summary{align-items:center;gap:7px;margin-top:17px;display:flex}.chart-summary strong{color:var(--ink);letter-spacing:0;font:600 21px IBM Plex Mono,monospace}.chart-summary>span:last-child{color:#91a0aa;font-size:10px}.bar-chart{justify-content:space-between;align-items:flex-end;gap:10px;height:180px;margin:22px 0 0;padding:0 7px 0 6px;display:flex;position:relative}.chart-gridline{pointer-events:none;border-top:1px dashed #e9eff1;position:absolute;left:0;right:0}.grid-100{top:0}.grid-75{top:25%}.grid-50{top:50%}.grid-25{top:75%}.bar-column{z-index:1;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;width:100%;height:100%;display:flex;position:relative}.bar-track{align-items:flex-end;width:min(30px,70%);height:160px;display:flex}.bar-fill{background:#9eddd6;border-radius:5px 5px 3px 3px;width:100%;min-height:11px;transition:height .28s;position:relative}.bar-fill span{opacity:0;color:var(--teal-dark);font:500 8px IBM Plex Mono,monospace;transition:opacity .18s;position:absolute;top:-17px;left:50%;transform:translate(-50%)}.bar-column:hover .bar-fill span{opacity:1}.bar-column small{color:#96a5b0;font-size:9px}.event-list{margin:21px 0 17px}.event-row{border-bottom:1px solid #f0f3f4;grid-template-columns:8px 39px 1fr;align-items:start;gap:9px;padding:10px 0;display:grid}.event-row:last-child{border:0}.event-row time{color:#8797a2;padding-top:1px;font:500 10px IBM Plex Mono,monospace}.event-row strong,.event-row small{display:block}.event-row strong{color:var(--ink);font-size:11px;font-weight:600}.event-row small{color:#8999a5;margin-top:4px;font-size:10px}.link-button{color:var(--teal-dark);background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:11px;font-weight:600;display:inline-flex}.link-button:hover{color:var(--teal)}.quick-actions,.activity-section{margin-bottom:20px;padding:21px 23px}.quick-actions .section-heading,.activity-section .section-heading{align-items:center}.action-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:17px;display:grid}.action-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;align-items:center;gap:10px;min-height:67px;padding:13px 12px;transition:border-color .17s,background .17s,box-shadow .17s;display:flex}.action-card:hover{background:#fbfefe;border-color:#b8ddd9;box-shadow:0 4px 12px #16344c0d}.action-card>span:nth-child(2){flex:1;min-width:0}.action-card strong,.action-card small{display:block}.action-card strong{color:var(--ink);font-size:11px}.action-card small{color:#8999a5;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:10px;overflow:hidden}.action-icon{border-radius:8px;flex:0 0 35px;place-items:center;width:35px;height:35px;display:grid}.action-teal{color:var(--teal);background:var(--teal-soft)}.action-amber{color:var(--amber);background:var(--amber-soft)}.action-blue{color:var(--blue);background:var(--blue-soft)}.action-arrow{color:#9bacb7}.activity-list{margin-top:16px}.activity-item{border-top:1px solid #eef2f3;align-items:center;gap:10px;padding:11px 0;display:flex}.activity-symbol{border-radius:7px;flex:0 0 27px;place-items:center;width:27px;height:27px;display:grid}.symbol-teal{color:var(--teal);background:var(--teal-soft)}.symbol-amber{color:var(--amber);background:var(--amber-soft)}.activity-item>span:nth-child(2){flex:1;min-width:0}.activity-item strong,.activity-item small{display:block}.activity-item strong{color:var(--ink);font-size:11px}.activity-item small{color:#8999a5;margin-top:4px;font-size:10px}.activity-status{white-space:nowrap;border-radius:5px;padding:5px 7px;font-size:9px}.status-done{color:#24806b;background:#e8f7f0}.status-pending{color:#96600e;background:#fff3df}.status-warning{color:#8a5a0b;background:#fff1cf;border:1px solid #f0d48a}.status-danger{color:#9b2c23;background:#fff0ed;border:1px solid #f3b8b0}.toast{color:#fff;z-index:50;background:#17324d;border-radius:8px;align-items:center;gap:8px;max-width:min(420px,100vw - 32px);padding:12px 14px;font-size:12px;animation:.2s ease-out toast-in;display:flex;position:fixed;bottom:25px;right:25px;box-shadow:0 10px 25px #17324d33}.toast svg{color:#9de8d6;flex:none}.toast-success{background:#134e3d;border:1px solid #1f7a5f}.toast-success svg{color:#7df0c6}.toast-error{background:#6e1f18;border:1px solid #b34032}.toast-error svg{color:#ffc9c2}.toast-warning{background:#6b4a08;border:1px solid #c99a1f}.toast-warning svg{color:#ffe08a}.toast-info{background:#17324d;border:1px solid #2f5a80}.toast-info svg{color:#a8d8ff}.form-error,.admin-form-error{color:#7a2018;background:#fff0ed;border:1px solid #f3b8b0;border-radius:7px;margin:0 0 12px;padding:10px 12px;font-size:12px;line-height:1.5}.field-error,.admin-field-error{color:#9b2c23;margin-top:6px;font-size:11px;line-height:1.4;display:block}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{box-shadow:0 0 0 2px #c0453626;border-color:#c04536!important}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.logout-fab{border:1px solid var(--line);color:#718493;box-shadow:var(--shadow);z-index:30;background:#fff;border-radius:7px;align-items:center;gap:7px;padding:9px 11px;font-size:11px;display:none;position:fixed;bottom:25px;right:25px}.logout-fab:hover{color:var(--teal-dark);border-color:#b9dcd8}.sidebar-overlay{display:none}.dashboard-intro{position:relative}.breadcrumbs{color:#8394a1;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:15px;font-size:10px;display:flex}.breadcrumbs button{color:var(--blue);background:0 0;border:0;padding:0;font-weight:600}.breadcrumbs button:hover{color:var(--teal-dark);text-underline-offset:3px;text-decoration:underline}.breadcrumbs span[aria-current=page]{color:var(--ink);font-weight:600}.dashboard-intro h1{outline:0}.dashboard-intro h1:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #50c8c657}.module-action{background:var(--blue);color:#fff;white-space:nowrap;min-height:38px;transition:transform .18s var(--ease-out), background .18s ease, box-shadow .18s ease;border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:11px;font-weight:700;display:inline-flex}.module-action:hover{background:var(--blue-dark);transform:translateY(-1px);box-shadow:0 6px 14px #1e5b8a33}.metric-card,.chart-card,.upcoming-card,.quick-actions,.activity-section{transition:border-color .18s ease, box-shadow .18s ease, transform .18s var(--ease-out)}.metric-card:hover,.chart-card:hover,.upcoming-card:hover,.quick-actions:hover,.activity-section:hover{border-color:#c7dfe7;box-shadow:0 12px 34px #1e5b8a1a}.bar-fill{transition:height .52s var(--ease-out), background .18s ease}@keyframes content-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes module-enter{0%{opacity:0;transform:translateY(-5px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.sync-pill{border:1px solid var(--line);color:#718493;white-space:nowrap;background:#fff;border-radius:99px;align-items:center;min-height:27px;padding:0 9px;font:600 9px IBM Plex Mono,monospace;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.sync-loading{color:#96600e;background:#fff9ed;border-color:#f0d8a6}.sync-synced{color:#24806b;background:#effaf5;border-color:#bde6d7}.sync-error{color:#a23a31;background:#fff5f3;border-color:#efc6c1}.crud-panel{border:1px solid var(--line);box-shadow:var(--shadow);animation:module-enter .36s var(--ease-out) both;background:#fff;border-radius:10px;margin:-1px 0 20px;padding:21px 23px}.crud-heading{align-items:flex-start;gap:18px}.crud-heading>div:first-child{min-width:0}.crud-heading h3{margin-bottom:5px}.sync-message{color:#7d8e9a;min-height:15px;margin:0;font-size:10px;line-height:1.45}.sync-message.sync-loading{color:#96600e}.sync-message.sync-synced{color:#24806b}.sync-message.sync-error{color:#a23a31}.crud-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.crud-toolbar .select-button{min-height:40px}.record-search{border:1px solid var(--line);width:min(190px,24vw);min-height:40px;color:var(--ink);background:#fff;border-radius:7px;outline:0;padding:0 11px;font-size:11px;transition:border-color .16s,box-shadow .16s}.record-search:focus{border-color:var(--teal);box-shadow:0 0 0 3px #2a9d8f1f}.crud-toolbar .module-action{min-height:40px}.crud-form{border-top:1px solid #eef2f3;margin-top:18px;padding-top:18px}.crud-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 15px;display:grid}.crud-form-grid label{color:#344d65;font-size:11px;font-weight:600}.crud-form-grid input:not([type=checkbox]),.crud-form-grid textarea,.crud-form-grid select{width:100%;color:var(--ink);background:#fff;border:1px solid #d8e3e7;border-radius:7px;outline:0;margin-top:7px;font:400 12px/1.45 DM Sans,sans-serif;transition:border-color .16s,box-shadow .16s;display:block}.crud-form-grid input{min-height:40px;padding:0 10px}.crud-form-grid textarea{resize:vertical;min-height:82px;padding:9px 10px}.crud-form-grid select{min-height:40px;padding:0 10px}.crud-form-grid input[type=checkbox]{width:20px;height:20px;accent-color:var(--teal);margin-top:9px}.crud-form-grid input:not([type=checkbox]):focus,.crud-form-grid textarea:focus,.crud-form-grid select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #2a9d8f1f}.crud-form-actions{justify-content:flex-end;align-items:center;gap:14px;margin-top:16px;display:flex}.crud-form-actions .module-action{min-height:40px}.record-list{border-top:1px solid #eef2f3;margin-top:18px}.record-row{border-bottom:1px solid #eef2f3;grid-template-columns:minmax(0,1fr) minmax(90px,.45fr) auto;align-items:center;gap:15px;min-height:63px;padding:10px 0;display:grid}.record-copy{min-width:0}.record-copy strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:12px;font-weight:600;display:block;overflow:hidden}.record-copy small{-webkit-line-clamp:2;line-clamp:2;white-space:normal;color:#8999a5;-webkit-box-orient:vertical;margin-top:4px;font-size:12.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.record-id{color:#8999a5;text-overflow:ellipsis;white-space:nowrap;font:500 10px IBM Plex Mono,monospace;overflow:hidden}.record-id[title]{cursor:default}.record-actions{align-items:center;gap:2px;display:inline-flex}.record-actions .icon-button{width:44px;height:44px}.record-actions .icon-button:disabled{opacity:.45;cursor:wait}.record-file-action{color:var(--blue);text-decoration:none}.record-delete:hover{color:#b42318;background:#fff1ef}.crud-empty{color:#8999a5;text-align:center;justify-items:center;gap:8px;padding:30px 15px 19px;display:grid}.crud-empty strong{color:var(--ink);font-size:12px}.crud-empty span{max-width:480px;font-size:10px;line-height:1.5}.crud-empty-icon{width:36px;height:36px;color:var(--teal);background:var(--teal-soft);border-radius:9px;place-items:center;display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=980px){.login-shell{grid-template-columns:minmax(320px,.75fr) minmax(430px,1.25fr)}.story-content h1{font-size:50px}.app-sidebar{flex-basis:225px;width:225px}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr)}.dashboard-content{padding-left:28px;padding-right:28px}}@media (width<=900px){.login-shell{display:block}.login-story{height:238px;min-height:auto;padding:22px 22px 24px}.story-content{margin:29px 0 0}.story-content h1{max-width:380px;margin-bottom:8px;font-size:38px}.story-copy,.story-stat-grid,.story-footer{display:none}.status-pill{padding:6px 8px;font-size:9px}.login-panel{min-height:calc(100dvh - 238px);padding:37px 22px calc(45px + env(safe-area-inset-bottom));align-items:flex-start}.mobile-logo{display:none}.login-panel-inner{max-width:520px;margin:0 auto}.app-sidebar{padding-bottom:calc(17px + env(safe-area-inset-bottom));transition:transform .26s var(--ease-out);position:fixed;top:0;bottom:0;left:0;transform:translate(-102%);box-shadow:10px 0 28px #16344c1a}.app-sidebar.is-open{transform:translate(0)}.sidebar-close{display:inline-grid!important}.sidebar-overlay{z-index:10;background:#0a202e59;border:0;display:block;position:fixed;inset:0}.mobile-menu{display:inline-grid}.topbar{height:62px;padding:0 18px}.topbar-search{flex:1;width:auto}.topbar-actions .topbar-user-copy,.topbar-actions .topbar-user>svg,.topbar-divider{display:none}.topbar-user{padding-left:4px}.sync-pill{display:none}.dashboard-content{padding:27px 18px calc(45px + env(safe-area-inset-bottom))}.dashboard-intro{display:block}.breadcrumbs{margin-bottom:12px}.date-button{margin-top:18px}.module-action{width:100%}.crud-panel{padding:18px 15px}.crud-heading{display:block}.crud-toolbar{grid-template-columns:minmax(0,1fr) auto;justify-content:stretch;margin-top:14px;display:grid}.record-search{width:100%;min-width:0}.crud-toolbar .module-action{grid-column:1/-1;width:100%}.crud-form-grid{grid-template-columns:1fr}.record-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.record-id{display:none}.metrics-grid{grid-template-columns:1fr;gap:9px}.metric-card{align-items:center;min-height:91px;padding:14px}.metric-copy{grid-template-columns:auto auto;align-items:center;column-gap:13px;display:grid}.metric-copy span{margin:0}.metric-copy strong{grid-area:span 2/2;font-size:24px}.metric-copy small{margin:0}.metric-more{margin-left:auto}.dashboard-grid{grid-template-columns:1fr}.chart-card{min-height:299px;padding:18px 15px 15px}.upcoming-card{padding:18px 15px}.action-grid{grid-template-columns:1fr}.quick-actions,.activity-section{padding:18px 15px}.logout-fab{bottom:calc(19px + env(safe-area-inset-bottom));display:flex}.toast{left:18px;right:18px;bottom:calc(76px + env(safe-area-inset-bottom));justify-content:center}}@media (width<=420px){.login-story{height:214px}.story-content{margin-top:23px}.story-content h1{font-size:33px}.login-panel{min-height:calc(100vh - 214px);padding:30px 18px 36px}.login-heading h2{font-size:27px}.role-option{gap:5px;font-size:11px}.role-note{margin-top:12px;margin-bottom:22px}.topbar-search input{font-size:11px}.topbar-actions{gap:1px}.dashboard-intro h1{font-size:27px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}button:active:not(:disabled),.action-card:active,.module-action:active,.date-button:active,.select-button:active,.workspace-switcher:active{transform:none}}.role-overview{animation:module-enter .36s var(--ease-out) both;grid-template-columns:minmax(0,1fr) 235px;gap:13px;margin:-1px 0 20px;display:grid}.role-overview-main,.role-overview-rail{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px}.role-overview-main{min-width:0;padding:21px 23px}.role-overview-rail{align-self:stretch;padding:20px 17px}.role-overview-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.role-overview-header h2{color:var(--ink);margin:0 0 6px;font:700 19px/1.2 Manrope,sans-serif}.role-overview-header p:not(.eyebrow){color:var(--ink-muted);margin:0;font-size:12px;line-height:1.55}.outline-action{min-height:38px;color:var(--teal-dark);white-space:nowrap;transition:border-color .18s ease, background .18s ease, transform .18s var(--ease-out);background:#f6fcfb;border:1px solid #b7dcd7;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex}.outline-action:hover{border-color:var(--teal);background:var(--teal-soft);transform:translateY(-1px)}.progress-hero{color:#fff;background:#17324d;border-radius:11px;grid-template-columns:1fr 92px minmax(165px,.8fr);align-items:center;gap:18px;margin-top:20px;padding:17px 18px;display:grid}.progress-hero-copy{gap:4px;display:grid}.progress-kicker{color:#a7eee2;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:5px;font:600 9px IBM Plex Mono,monospace;display:inline-flex}.progress-hero-copy strong{font:700 36px/1 IBM Plex Mono,monospace}.progress-hero-copy>span:last-child{color:#c6d9e1;font-size:11px}.progress-ring{border:7px solid #76d9c9;border-right-color:#3b7f9c;border-radius:50%;place-items:center;width:78px;height:78px;display:grid;transform:rotate(28deg)}.progress-ring span{color:#fff;font:600 13px IBM Plex Mono,monospace;transform:rotate(-28deg)}.student-goal-hero .progress-ring{background:conic-gradient(#76d9c9 var(--goal-progress,50%), #3b7f9c 0);border:7px solid #76d9c9;border-color:#76d9c9 #76d9c9 #3b7f9c #3b7f9c}.hero-action{color:#eafffa;background:#ffffff14;border:1px solid #a7eee259;border-radius:6px;align-items:center;gap:6px;width:max-content;margin-top:8px;padding:8px 10px;font-size:10px;font-weight:700;transition:background .18s,transform .18s;display:inline-flex}.hero-action:hover{background:#ffffff29;transform:translateY(-1px)}.streak-block{border-bottom:1px solid #eef2f3;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:16px 0;display:grid}.streak-block strong{color:var(--teal-dark);font:700 35px/1 IBM Plex Mono,monospace}.streak-block span,.streak-block small{grid-column:2}.streak-block span{color:var(--ink);font-size:11px;font-weight:700}.streak-block small{color:#8999a5;margin-top:4px;font-size:9px}.teacher-spotlight{animation:module-enter .36s var(--ease-out) both;gap:13px;margin:-1px 0 20px;display:grid}.teacher-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.teacher-focus-card{border:1px solid var(--line);min-height:92px;color:var(--ink);box-shadow:var(--shadow);text-align:left;background:#fff;border-radius:10px;align-items:center;gap:11px;padding:15px;transition:border-color .17s,box-shadow .17s,transform .17s;display:flex}.teacher-focus-card:hover{border-color:#9ed7cf;transform:translateY(-2px);box-shadow:0 12px 28px #1e5b8a1a}.teacher-focus-card>span:nth-child(2){flex:1;min-width:0}.focus-card-icon{width:38px;height:38px;color:var(--teal-dark);background:var(--teal-soft);border-radius:9px;flex:0 0 38px;place-items:center;display:grid}.teacher-focus-card small,.teacher-focus-card em{color:var(--ink-muted);font-size:10px;font-style:normal;display:block}.teacher-focus-card strong{margin:4px 0;font-size:12px;display:block}.teacher-focus-card em{color:#78909f;font-size:9px}.teacher-focus-card>svg{color:#78909f;flex:none}.resource-type{border-radius:7px;flex:0 0 29px;place-items:center;width:29px;height:29px;display:grid}.resource-type-teal{color:var(--teal-dark);background:var(--teal-soft)}.resource-type-amber{color:#98620c;background:var(--amber-soft)}.resource-type-blue{color:var(--blue);background:var(--blue-soft)}.progress-checks{justify-self:end;gap:8px;display:grid}.progress-checks span{color:#d7e9ec;align-items:center;gap:6px;font-size:10px;display:inline-flex}.progress-checks svg{color:#8de7c9}.segmented-tabs{border:1px solid var(--line);background:#f7fafb;border-radius:8px;gap:3px;margin:18px 0 8px;padding:4px;display:inline-flex}.segmented-tabs button{color:#81919c;background:0 0;border:0;border-radius:6px;min-height:32px;padding:0 10px;font-size:10px;font-weight:600;transition:color .17s,background .17s,box-shadow .17s}.segmented-tabs button:hover,.segmented-tabs button.is-active{color:var(--teal-dark);background:#fff;box-shadow:0 2px 7px #1e5b8a14}.syllabus-list{border-top:1px solid #eef2f3}.syllabus-row{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-bottom:1px solid #eef2f3;grid-template-columns:24px minmax(0,1fr) 120px 16px;align-items:center;gap:10px;padding:12px 0;transition:background .17s,padding .17s;display:grid}.syllabus-row:hover{background:#fbfefe;padding-left:6px;padding-right:6px}.syllabus-copy{min-width:0}.syllabus-copy strong,.syllabus-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.syllabus-copy strong{font-size:11px}.syllabus-copy small{color:#8999a5;margin-top:4px;font-size:10px}.syllabus-progress{gap:5px;display:grid}.syllabus-progress>span{background:#e8f0f1;border-radius:99px;height:5px;overflow:hidden}.syllabus-progress i{border-radius:inherit;background:#63cbb7;height:100%;display:block}.syllabus-progress small{color:#81919c;white-space:nowrap;font-size:9px}.focus-row{align-items:center;gap:11px;margin-top:9px;padding:15px 0 4px;display:flex}.focus-icon{width:38px;height:38px;color:var(--teal-dark);background:var(--teal-soft);border-radius:9px;flex:0 0 38px;place-items:center;display:grid}.focus-row>span:nth-child(2){flex:1;min-width:0}.focus-row strong,.focus-row small{display:block}.focus-row strong{color:var(--ink);font-size:12px}.focus-row small{color:#8999a5;margin-top:4px;font-size:10px}.focus-row .link-button{white-space:nowrap}.routine-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:9px;display:grid}.routine-grid span{border:1px solid var(--line);background:#fbfefe;border-radius:8px;gap:5px;padding:13px 12px;display:grid}.routine-grid strong{color:var(--ink);font:600 12px IBM Plex Mono,monospace}.routine-grid small{color:#8999a5;font-size:10px}.rail-heading{color:var(--ink);border-bottom:1px solid #eef2f3;justify-content:space-between;align-items:center;padding-bottom:14px;font-size:11px;font-weight:700;display:flex}.rail-heading svg{color:var(--teal)}.rail-stat{border-bottom:1px solid #eef2f3;gap:4px;padding:15px 0;display:grid}.rail-stat span,.rail-stat small{color:#8999a5;font-size:10px}.rail-stat strong{color:var(--ink);font:600 25px IBM Plex Mono,monospace}.rail-link{color:var(--teal-dark);background:0 0;border:0;align-items:center;gap:6px;margin-top:16px;padding:0;font-size:10px;font-weight:700;display:inline-flex}.rail-link:hover{color:var(--teal)}.family-pulse-grid{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px;display:grid}.pulse-card{border:1px solid var(--line);min-height:82px;color:var(--ink);text-align:left;transition:border-color .17s ease, transform .17s var(--ease-out);background:#fbfefe;border-radius:9px;grid-template-columns:30px minmax(0,1fr) 15px;align-items:center;gap:8px;padding:12px;display:grid}.pulse-card:hover{border-color:#aad9d2;transform:translateY(-1px)}.pulse-icon{border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.pulse-card span:nth-child(2){min-width:0}.pulse-card strong,.pulse-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.pulse-card strong{font-size:11px}.pulse-card small{color:#8999a5;margin-top:4px;font-size:9px}.pulse-card>svg{color:#9cacb7}.pulse-attendance .pulse-icon{color:var(--teal-dark);background:var(--teal-soft)}.pulse-fees .pulse-icon{color:#a4650c;background:#fff0cf}.pulse-message .pulse-icon{color:var(--blue);background:var(--blue-soft)}.family-note{border-top:1px solid #eef2f3;align-items:center;gap:10px;margin-top:15px;padding-top:14px;display:flex}.note-avatar{color:#32679c;background:#d7e6f7;border-radius:50%;flex:0 0 31px;place-items:center;width:31px;height:31px;display:grid}.family-note>span:nth-child(2){flex:1;min-width:0}.family-note strong,.family-note small{display:block}.family-note strong{color:var(--ink);font-size:10px}.family-note small{color:#8999a5;margin-top:4px;font-size:10px}.family-note .link-button{white-space:nowrap}.rail-event{border-bottom:1px solid #e7eff0;gap:4px;padding:15px 0;display:grid}.rail-event strong{color:var(--ink);font-size:11px}.rail-event small{color:#8999a5;font-size:10px}.mobile-bottom-nav{display:none}.portal-select{color:var(--ink-muted);gap:6px;margin:0 14px 16px;font-size:10px;font-weight:700;display:grid}.portal-select select{border:1px solid var(--line);width:100%;min-height:36px;color:var(--ink);background:#fff;border-radius:7px;padding:0 9px;font-size:11px;font-weight:600}.auth-loading{min-height:100vh;color:var(--ink-muted);background:var(--canvas);place-items:center;padding:24px;font-size:13px;font-weight:600;display:grid}.version-banner{color:#fff;background:#6b4a08;align-items:center;gap:10px;padding:10px 16px;font-size:12px;font-weight:600;line-height:1.5;display:flex}.version-banner[data-kind=unknown]{background:#17324d}.version-banner-versions{opacity:.9;font-family:IBM Plex Mono,monospace;font-size:11px}.app-error-boundary{background:var(--canvas);place-items:center;min-height:100vh;padding:28px;display:grid}.app-error-content{width:min(100%,440px);color:var(--ink);text-align:center}.app-error-icon{color:#a23a31;background:#fff0ed;border-radius:8px;place-items:center;width:48px;height:48px;margin-bottom:18px;display:inline-grid}.app-error-content h1{letter-spacing:0;margin:0 0 10px;font-size:26px}.app-error-content p{color:var(--ink-muted);margin:0;font-size:13px;line-height:1.6}.app-error-content .submit-button{width:auto;min-width:190px;margin:24px auto 0;padding:0 18px}.syllabus-copy small,.syllabus-progress small,.focus-row small,.routine-grid small,.rail-stat span,.rail-stat small,.pulse-card small,.family-note small,.rail-event small,.mobile-bottom-nav button{color:var(--ink-muted)}@media (width<=900px){.role-overview{margin-bottom:17px;display:block}.role-overview-main{padding:18px 15px}.role-overview-rail{margin-top:10px;padding:17px 15px}.role-overview-header{display:block}.role-overview-header .outline-action{width:100%;margin-top:14px}.progress-hero{grid-template-columns:1fr 74px;gap:10px;padding:15px}.progress-ring{border-width:6px;width:67px;height:67px}.progress-checks{border-top:1px solid #ffffff26;grid-column:1/-1;grid-template-columns:repeat(3,1fr);justify-self:stretch;padding-top:9px}.progress-checks span{font-size:9px}.segmented-tabs{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.segmented-tabs button{padding:0 5px;font-size:9px}.syllabus-row{grid-template-columns:24px minmax(0,1fr) 16px;gap:8px}.syllabus-progress{display:none}.routine-grid{grid-template-columns:1fr}.focus-row{flex-wrap:wrap}.focus-row .link-button{margin-left:49px}.family-pulse-grid{grid-template-columns:1fr}.pulse-card{min-height:65px}.mobile-bottom-nav{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:28;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border:1px solid #e1e9eef5;border-radius:15px;grid-template-columns:repeat(5,1fr);gap:2px;padding:6px;display:grid;position:fixed;box-shadow:0 12px 32px #17324d29}.mobile-bottom-nav button{color:#8797a2;background:0 0;border:0;border-radius:9px;place-items:center;gap:2px;min-height:45px;font-size:8px;font-weight:600;display:grid}.mobile-bottom-nav button:hover,.mobile-bottom-nav button.is-active{color:var(--teal-dark);background:var(--teal-soft)}.mobile-bottom-nav button svg{stroke-width:1.9px}.dashboard-content{padding-bottom:calc(102px + env(safe-area-inset-bottom))}.logout-fab{bottom:calc(80px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.role-overview *,.mobile-bottom-nav *,.syllabus-row,.pulse-card{transition-duration:.01ms!important;animation-duration:.01ms!important}}.student-life-panel{border:1px solid var(--line);background:var(--surface,#fff);box-shadow:var(--shadow);animation:module-enter var(--motion-slow) var(--ease-out) both;border-radius:14px;margin:-1px 0 20px;padding:23px}.life-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.life-header h3{color:var(--ink);margin:0 0 6px;font:800 21px/1.2 Manrope,sans-serif}.life-header p:not(.eyebrow){max-width:620px;color:var(--ink-muted);margin:0;font-size:13px;line-height:1.55}.life-intro{background:#fffaf0;border:1px solid #f4d8a0;border-radius:10px;align-items:center;gap:12px;margin:20px 0 15px;padding:13px 14px;display:flex}.life-intro-icon{color:#a96b18;background:#ffedc4;border-radius:9px;flex:0 0 35px;place-items:center;width:35px;height:35px;display:grid}.life-intro>span:nth-child(2){flex:1;min-width:0}.life-intro strong,.life-intro small{display:block}.life-intro strong{color:#704b16;font-size:12px}.life-intro small{color:#92764b;margin-top:3px;font-size:10px}.life-intro .link-button{color:#976318;white-space:nowrap}.life-filters{border-bottom:1px solid #edf0ef;gap:5px;margin-bottom:15px;padding-bottom:9px;display:flex}.life-filters button{min-height:34px;color:var(--ink-muted);transition:color var(--motion-fast) ease, background var(--motion-fast) ease, transform var(--motion-fast) var(--ease-out);background:0 0;border:0;border-radius:99px;padding:0 12px;font-size:11px;font-weight:700}.life-filters button:hover,.life-filters button.is-active{color:#fff;background:var(--ink)}.life-filters button:active{transform:scale(.97)}.activity-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.campus-activity-card{border:1px solid var(--line);transition:transform var(--motion-standard) var(--ease-out), box-shadow var(--motion-standard) ease, border-color var(--motion-standard) ease;background:#fff;border-radius:12px;overflow:hidden}.campus-activity-card:hover{border-color:#c6d4d2;transform:translateY(-3px);box-shadow:0 15px 30px #1722351c}.activity-card-art{justify-content:space-between;align-items:flex-start;min-height:92px;padding:15px;display:flex}.activity-card-art>span{background:#ffffffbf;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.activity-card-art small{color:var(--ink);background:#ffffffb8;border-radius:99px;padding:5px 7px;font-size:9px;font-weight:800}.activity-card-body{padding:15px}.activity-date{color:var(--ink-muted);align-items:center;gap:5px;font:600 10px IBM Plex Mono,monospace;display:inline-flex}.activity-card-body h4{color:var(--ink);margin:9px 0 5px;font:800 14px/1.25 Manrope,sans-serif}.activity-card-body p{min-height:45px;color:var(--ink-muted);margin:0 0 13px;font-size:11px;line-height:1.5}.activity-join-button{width:100%;min-height:37px;color:var(--teal-dark);transition:color var(--motion-fast) ease, background var(--motion-fast) ease, border-color var(--motion-fast) ease;background:#f5fbfa;border:1px solid #c5ded9;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-size:10px;font-weight:800;display:inline-flex}.activity-join-button:hover,.activity-join-button.is-joined{color:#fff;border-color:var(--teal);background:var(--teal)}.activity-join-button.is-joined{animation:activity-confirm var(--motion-standard) var(--ease-out) both}.life-footer{color:var(--ink-muted);border-top:1px solid #edf0ef;justify-content:space-between;gap:12px;margin-top:17px;padding-top:13px;font-size:10px;display:flex}.life-footer>span:first-child{align-items:center;gap:6px;display:inline-flex}.life-footer svg{color:var(--coral)}.activity-action-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.activity-participation-unavailable{color:#865b22;background:#fff8ed;border:1px solid #e8c9a0;border-radius:8px;place-items:center;min-height:37px;font-size:10px;font-weight:700;display:grid}@keyframes activity-confirm{0%{transform:scale(.98)}55%{transform:scale(1.02)}to{transform:scale(1)}}@media (width<=900px){.student-life-panel{padding:18px 15px}.life-header{display:block}.life-header .select-button{margin-top:14px}.life-intro{flex-wrap:wrap;align-items:flex-start}.life-intro .link-button{margin-left:47px}.life-filters{padding-bottom:11px;overflow-x:auto}.life-filters button{flex:none}.activity-card-grid{grid-template-columns:1fr}.activity-card-body p{min-height:auto}.life-footer{display:block}.life-footer .sync-message{margin-top:8px}}.student-assignments-panel,.teacher-resources-panel{animation:module-enter .36s var(--ease-out) both;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;margin:-1px 0 20px;padding:22px 23px}.learning-panel-header,.resource-panel-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.learning-panel-header h3,.resource-panel-header h3{color:var(--ink);margin:0 0 6px;font:700 19px/1.2 Manrope,sans-serif}.learning-panel-header p:not(.eyebrow),.resource-panel-header p:not(.eyebrow){color:var(--ink-muted);margin:0;font-size:12px;line-height:1.55}.assignment-summary,.resource-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 15px;display:grid}.assignment-summary>div,.resource-stats>span{background:#fbfefe;border:1px solid #e7eef0;border-radius:8px;align-items:center;gap:8px;min-height:52px;padding:10px 12px;display:flex}.assignment-summary strong{color:var(--ink);font:700 20px IBM Plex Mono,monospace}.assignment-summary span{color:var(--ink-muted);font-size:10px}.assignment-toolbar{border-bottom:1px solid #eef2f3;justify-content:space-between;align-items:center;gap:12px;display:flex}.assignment-toolbar .segmented-tabs{margin:0 0 8px}.assignment-toolbar .sync-message{text-align:right}.assignment-list{border-top:1px solid #eef2f3}.assignment-row{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-bottom:1px solid #eef2f3;grid-template-columns:30px minmax(0,1fr) auto 16px;align-items:center;gap:11px;padding:13px 4px;transition:background .17s,padding .17s;display:grid}.assignment-row:hover,.assignment-row.is-selected{background:#f7fbfb;padding-left:9px;padding-right:9px}.assignment-status,.resource-visibility{white-space:nowrap;border-radius:5px;padding:5px 7px;font-size:9px}.assignment-status-open{color:var(--teal-dark);background:var(--teal-soft)}.assignment-status-active{color:#98620c;background:var(--amber-soft)}.assignment-status-review{color:var(--blue);background:var(--blue-soft)}.assignment-status-done{color:#24806b;background:#e8f7f0}.next-step-note{color:var(--blue);white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:inline-flex}.next-step-note.is-complete{color:#24806b}.assignment-workspace{border-top:1px solid #e7eef0;margin-top:18px;padding-top:18px}.assignment-brief{grid-template-columns:minmax(0,1fr) auto;gap:24px;display:grid}.assignment-brief h4,.submission-heading{color:var(--ink);margin:0 0 8px;font-size:15px}.assignment-brief p,.assignment-feedback p,.submission-detail p{color:var(--ink-muted);white-space:pre-wrap;margin:0;font-size:12px;line-height:1.6}.assignment-meta{flex-direction:column;align-items:flex-start;gap:8px;min-width:180px;display:flex}.assignment-meta>span,.assignment-file-link{color:var(--ink-muted);align-items:center;gap:6px;font-size:11px;display:inline-flex}.assignment-file-link{color:var(--blue);text-decoration:none}.assignment-feedback{border-left:3px solid var(--amber);background:#fff9ec;margin-top:15px;padding:13px}.assignment-feedback strong{color:var(--ink);align-items:center;gap:6px;font-size:12px;display:flex}.assignment-feedback p{margin-top:6px}.assignment-feedback small{color:var(--ink-muted);margin-top:7px;font-size:10px;display:block}.assignment-editor{gap:13px;margin-top:15px;display:grid}.assignment-editor label,.submission-detail label{color:var(--ink);gap:6px;font-size:11px;font-weight:600;display:grid}.assignment-editor textarea,.submission-detail textarea,.assignment-create-form input,.assignment-create-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:10px 11px;line-height:1.5}.assignment-editor input[type=file],.assignment-create-form input[type=file]{padding:8px}.assignment-editor-actions,.assignment-header-actions,.assignment-status-actions{justify-content:flex-end;align-items:center;gap:9px;display:flex}.assignment-create-form{border-top:1px solid #e7eef0;border-bottom:1px solid #e7eef0;margin:16px 0;padding:16px 0}.assignment-create-form .crud-form-grid{margin-bottom:14px}.assignment-status-actions{flex-wrap:wrap;justify-content:flex-start;margin:14px 0 18px}.danger-action{color:#a32929;border-color:#e7b9b9}.submission-heading{margin-top:4px}.submission-review-layout{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:16px;display:grid}.submission-list{border-right:1px solid #e7eef0;padding-right:16px}.submission-list>button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-bottom:1px solid #eef2f3;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.submission-list>button.is-selected{background:#f7fbfb}.submission-list strong,.submission-list small{display:block}.submission-list strong{font-size:11px}.submission-list small{color:var(--ink-muted);margin-top:3px;font-size:9px}.submission-list>p{color:var(--ink-muted);font-size:11px}.submission-detail{min-width:0}.submission-detail>strong{color:var(--ink);font-size:13px}.submission-detail>p{margin:8px 0 12px}.submission-detail>label{margin-top:14px}.submission-detail .assignment-editor-actions{margin-top:10px}.resource-panel-actions{align-items:center;gap:12px;display:flex}.resource-count{color:var(--ink-muted);white-space:nowrap;font-size:10px}.resource-count strong{color:var(--teal-dark);font:700 18px IBM Plex Mono,monospace}.resource-stats{margin-bottom:18px}.resource-stats>span{color:var(--ink-muted);font-size:10px}.resource-stats svg{color:var(--teal)}.resource-stats strong{color:var(--ink);font:600 14px IBM Plex Mono,monospace}.resource-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.resource-card{background:#fbfefe;border:1px solid #e7eef0;border-radius:9px;align-items:flex-start;gap:10px;min-width:0;min-height:105px;padding:13px;display:flex}.resource-card-icon{border-radius:8px;flex:0 0 31px;place-items:center;width:31px;height:31px;display:grid}.resource-card-copy{flex:1;min-width:0}.resource-card-copy span,.resource-card-copy small{color:var(--ink-muted);font-size:9px;display:block}.resource-card-copy strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:4px 0;font-size:11px;display:block;overflow:hidden}.resource-card-copy small{line-height:1.45}.resource-visibility{color:var(--teal-dark);background:var(--teal-soft)}.teacher-resources-panel>div:last-child .crud-panel{box-shadow:none;border:0;border-top:1px solid #eef2f3;border-radius:0;margin:0;padding:18px 0 0}.teacher-resources-panel>div:last-child .crud-panel .crud-heading{padding:0}@media (width<=900px){.student-assignments-panel,.teacher-resources-panel{padding:18px 15px}.learning-panel-header,.resource-panel-header{display:block}.learning-panel-header .select-button,.resource-panel-actions{margin-top:14px}.resource-panel-actions{justify-content:space-between}.assignment-summary,.resource-stats{grid-template-columns:1fr}.assignment-summary>div{min-height:44px}.assignment-toolbar{display:block}.assignment-toolbar .sync-message{text-align:left;padding-bottom:9px;display:block}.assignment-row{grid-template-columns:28px minmax(0,1fr) 16px;gap:9px}.assignment-status{display:none}.next-step-note{margin-left:46px}.resource-card-grid{grid-template-columns:1fr}.resource-card{min-height:76px}.teacher-resources-panel>div:last-child .crud-panel{padding-top:16px}.assignment-brief,.submission-review-layout{grid-template-columns:1fr}.assignment-meta{min-width:0}.assignment-header-actions{justify-content:flex-start;margin-top:12px}.assignment-status-actions{flex-direction:column;align-items:stretch}.submission-list{border-bottom:1px solid #e7eef0;border-right:0;padding:0 0 14px}.assignment-editor-actions{flex-direction:column-reverse;align-items:stretch}.assignment-editor-actions button{width:100%}.assignment-workspace .next-step-note{margin-left:0}}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#2f5fd78c}.skip-link{background:var(--brand-blue-dark)}.logo-compact{justify-content:center;width:48px;height:48px}.logo-monogram{color:#fff;background:var(--brand-orange);border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.app-shell{background:var(--brand-sky);align-items:flex-start;gap:0;min-height:100vh;padding:24px}.app-sidebar{scrollbar-width:none;background:#f0f2f3;border:1px solid #ffffffc2;border-right:0;border-radius:8px 0 0 8px;flex:0 0 232px;width:232px;min-height:calc(100vh - 48px);max-height:calc(100vh - 48px);padding:16px 12px 14px;position:sticky;top:24px;overflow:hidden auto;box-shadow:-10px 18px 36px #1f405926}.app-sidebar::-webkit-scrollbar{display:none}.sidebar-head{justify-content:center;padding:0 0 16px}.sidebar-head .logo:not(.logo-compact){flex:auto;width:auto;min-width:0;height:auto}.sidebar-head .logo-compact{flex:none}.sidebar-head .brand-logo-image{width:100%;max-width:158px;height:auto;max-height:52px}.sidebar-head .sidebar-close{flex:none}.workspace-switcher-wrap{width:100%;margin:0 0 14px}.workspace-switcher{background:#fff;border-color:#0000;justify-content:flex-start;width:100%;min-height:52px;padding:8px}.workspace-switcher>span:nth-child(2),.workspace-switcher>svg{display:block}.campus-badge{color:#fff;background:var(--brand-blue);width:34px;height:34px}.campus-menu{width:auto;position:absolute;top:calc(100% + 7px);left:0;right:0}.nav-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-nav{gap:4px;width:100%;padding:0;display:grid}.nav-item{color:#626871;border-radius:8px;justify-content:flex-start;width:100%;height:48px;min-height:48px;padding:0 12px;position:relative}.sidebar-spacer{min-height:16px}.sidebar-help,.sidebar-signout{background:0 0;border:0;border-radius:8px;justify-content:flex-start;width:100%;min-height:48px;margin:0 0 8px;padding:0 11px}.sidebar-help:hover,.sidebar-signout:hover{color:var(--brand-orange-dark);background:#fff}.sidebar-help>div,.sidebar-help>svg,.sidebar-signout>span{display:block}.sidebar-help>div{flex:1}.help-icon{width:36px;height:36px;color:var(--brand-blue);background:var(--blue-soft)}.sidebar-profile{justify-content:flex-start;padding:4px 5px 0}.sidebar-profile>span:nth-child(2),.sidebar-more{display:block}.sidebar-more{margin-left:auto}.dashboard-main{background:#fff;border:1px solid #ffffffc2;border-left:0;border-radius:0 8px 8px 0;min-height:calc(100vh - 48px);overflow:hidden;box-shadow:14px 18px 36px #1f405926}.topbar{background:#fffffff7;border-color:#eceef0;grid-template-columns:176px minmax(260px,440px) minmax(300px,1fr);gap:20px;height:82px;padding:0 clamp(24px,3vw,44px);display:grid}.topbar-brand{align-items:center;display:flex}.topbar-brand .logo,.topbar-brand .brand-logo-image{width:154px;height:50px}.topbar-search{color:#777c84;background:#f0f2f4;border:1px solid #0000;border-radius:8px;justify-self:center;align-items:center;gap:10px;width:100%;height:48px;padding:4px 5px 4px 15px;transition:border-color .18s,box-shadow .18s,background .18s;display:flex}.topbar-search input{flex:1;width:auto;height:100%;padding:0}.topbar-search-submit{color:#fff;background:var(--brand-orange);border:0;border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;transition:background .18s,transform .18s;display:grid}.topbar-search-submit:hover{background:var(--brand-orange-dark)}.topbar-actions{justify-content:flex-end;min-width:0}.topbar .icon-button{color:#44484f;background:#f4f5f6}.topbar .icon-button:hover{color:var(--brand-orange-dark);background:var(--teal-soft)}.notification-button>span{background:var(--brand-orange)}.sync-pill{color:#4f6519;background:#f4f9e8;border-color:#dce7d0}.topbar-user{min-height:48px}.dashboard-content{max-width:1420px;padding:30px clamp(24px,3vw,44px) 48px}.dashboard-intro{align-items:center;margin-bottom:24px}.dashboard-intro h1{font:800 34px/1.1 Manrope,sans-serif}.breadcrumbs{color:#737983;margin-bottom:12px}.breadcrumbs button{color:var(--brand-blue)}.date-button,.select-button{color:#4e545d;background:#f6f7f8;border-color:#dde1e6;border-radius:8px;min-height:44px}.date-button:hover,.select-button:hover{color:var(--brand-blue-dark);background:#fff;border-color:#b8c7ea}.role-overview{grid-template-columns:minmax(0,1fr) minmax(240px,290px);gap:16px;margin-bottom:22px}.role-overview-main{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.role-overview-rail{box-shadow:none;border:0;border-radius:8px;padding:22px}.role-overview-header{align-items:center;margin-bottom:16px}.role-overview-header h2{font:800 20px/1.2 Manrope,sans-serif}.outline-action{min-height:44px;color:var(--brand-blue-dark);background:#f7f9ff;border-color:#c8d3ee;border-radius:8px}.outline-action:hover{border-color:var(--brand-blue);color:var(--brand-blue-dark);background:var(--blue-soft)}.progress-hero{background:var(--brand-blue);border-radius:8px;margin-top:0;padding:22px}.student-goal-hero{background:var(--brand-blue)}.progress-kicker{color:#dce5ff}.progress-hero-copy>span:last-child{color:#e6ebfb}.student-goal-hero .progress-ring{border-color:#7694e3;border-top-color:var(--brand-lime);border-right-color:var(--brand-lime);background:conic-gradient(var(--brand-lime) var(--goal-progress,50%), #7694e3 0)}.hero-action{color:#191719;background:var(--brand-lime);border:0;min-height:38px}.hero-action:hover{color:#191719;background:#cdf766}.segmented-tabs{background:#eef0f2;border-radius:8px}.segmented-tabs button{min-height:38px}.segmented-tabs button.is-active{color:#fff;background:var(--brand-blue);box-shadow:none}.syllabus-row:hover{background:#f5f7fc}.syllabus-progress i{background:var(--brand-blue)}.student-overview>.role-overview-rail{color:#191719;background:var(--brand-lime)}.student-overview .role-overview-rail .streak-block{border-color:#19171929}.student-overview .role-overview-rail .streak-block strong,.student-overview .role-overview-rail .streak-block span,.student-overview .role-overview-rail .streak-block small,.student-overview .role-overview-rail .rail-stat span,.student-overview .role-overview-rail .rail-stat strong,.student-overview .role-overview-rail .rail-stat small,.student-overview .role-overview-rail .rail-link{color:#191719}.student-overview .role-overview-rail .rail-stat{border-color:#19171929}.parent-rail{color:#fff;background:var(--brand-blue)}.parent-rail .rail-event strong,.parent-rail .rail-event small,.parent-rail .rail-link{color:#fff}.metrics-grid{gap:14px;margin-bottom:18px}.metric-card{min-height:132px;box-shadow:none;border:0;border-radius:8px;padding:20px}.metric-card:first-child{color:#fff;background:var(--brand-blue)}.metric-card:nth-child(2){color:#fff;background:var(--brand-orange)}.metric-card:nth-child(3){color:#fff;background:#191719}.metric-card .metric-icon{color:#fff;background:#ffffff29}.metric-card .metric-copy span,.metric-card .metric-copy strong,.metric-card .metric-copy small{color:#fff}.metric-card .metric-copy small{opacity:.82}.metric-card:hover{border-color:#0000;transform:translateY(-2px);box-shadow:0 10px 22px #1917191f}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);gap:14px}.chart-card,.upcoming-card,.quick-actions,.activity-section{box-shadow:none;border:0;border-radius:8px}.chart-card{background:#f0f2f4}.upcoming-card{color:#191719;background:var(--brand-lime)}.upcoming-card .eyebrow,.upcoming-card h3,.upcoming-card .event-row time,.upcoming-card .event-row strong,.upcoming-card .event-row small,.upcoming-card .link-button{color:#191719}.upcoming-card .event-row{border-color:#19171929}.upcoming-card .icon-button{color:#191719;background:#ffffff7a}.bar-fill{background:#91a9e8}.bar-today{background:var(--brand-blue)}.quick-actions{background:0 0;padding:22px 0}.action-card{background:#fff;border-radius:8px;min-height:82px}.action-card:hover{background:#f8faff;border-color:#b9c9ef}.activity-section{background:#f0f2f4}.link-button{color:var(--brand-blue-dark)}.module-action{background:var(--brand-blue);border-radius:8px;min-height:44px}.crud-panel,.student-life-panel,.student-assignments-panel,.teacher-resources-panel{box-shadow:none;border-radius:8px}.teacher-focus-card,.pulse-card,.campus-activity-card,.resource-card,.life-intro{border-radius:8px}.record-search:focus,.crud-form-grid input:not([type=checkbox]):focus,.crud-form-grid textarea:focus,.crud-form-grid select:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px #2f5fd71f}.login-story{background:var(--brand-blue)}.submit-button{background:var(--brand-orange);box-shadow:0 4px 12px #ad2d1c38}.submit-button:hover:not(:disabled){background:var(--brand-orange-dark);box-shadow:0 6px 16px #ad2d1c40}.role-option.is-active{color:var(--brand-blue-dark);box-shadow:0 2px 8px #2f5fd71f}.role-note{color:#34436b;background:#edf2ff;border-color:#d8e1fa}.role-note-icon{color:var(--brand-blue-dark);background:#dce5ff}.logout-fab{display:none!important}@media (width<=1180px){.topbar{grid-template-columns:150px minmax(240px,390px) minmax(250px,1fr);gap:12px;padding-inline:24px}.topbar-brand .logo,.topbar-brand .brand-logo-image{width:136px}.sync-pill{display:none}.dashboard-content{padding-inline:28px}}@media (width<=980px){.app-sidebar{flex-basis:212px;width:212px}.topbar{grid-template-columns:130px minmax(210px,1fr) auto}.topbar-brand .logo,.topbar-brand .brand-logo-image{width:120px}.topbar-user-copy{display:none}.role-overview{grid-template-columns:minmax(0,1fr) 230px}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.72fr)}}@media (width<=900px){.app-shell{background:#fff;padding:0}.app-sidebar{width:min(300px,86vw);min-height:100dvh;max-height:100dvh;padding:18px 14px calc(18px + env(safe-area-inset-bottom));border:0;border-radius:0;position:fixed;top:0;box-shadow:12px 0 34px #1917192e}.sidebar-head{justify-content:space-between;padding:0 8px 18px}.workspace-switcher-wrap{width:100%;margin:0 0 18px}.workspace-switcher{justify-content:flex-start;width:100%;height:auto;min-height:52px;padding:8px}.workspace-switcher>span:nth-child(2),.workspace-switcher>svg{display:block}.campus-menu{width:auto;position:absolute;top:calc(100% + 7px);left:0;right:0}.portal-select{margin-inline:4px}.app-nav{display:block}.nav-item{justify-content:flex-start;width:100%;height:auto;min-height:48px;padding:0 13px}.sidebar-help,.sidebar-signout{justify-content:flex-start;width:100%;min-height:48px;padding:0 11px}.sidebar-help>div,.sidebar-help>svg,.sidebar-signout>span{display:block}.sidebar-help>div{flex:1}.sidebar-profile{justify-content:flex-start;padding-inline:5px}.sidebar-profile>span:nth-child(2),.sidebar-more{display:block}.sidebar-more{margin-left:auto}.dashboard-main{min-height:100vh;box-shadow:none;border:0;border-radius:0}.topbar{gap:8px;height:66px;padding:0 14px;display:flex}.topbar-brand{display:none}.topbar-search{min-width:0;height:48px;padding:0 2px 0 12px}.topbar-search-submit{flex-basis:44px;width:44px;height:44px}.topbar-actions{gap:2px}.topbar-actions>button[aria-label=Help]{display:none}.topbar-user{justify-content:center;min-width:44px}.dashboard-content{padding:24px 16px calc(106px + env(safe-area-inset-bottom))}.dashboard-intro h1{font-size:29px}.role-overview-main{padding:0}.role-overview-rail{margin-top:12px}.progress-hero{padding:18px}.hero-action,.link-button,.rail-link,.segmented-tabs button,.life-filters button,.activity-join-button{min-height:44px}.breadcrumbs button{align-items:center;min-height:44px;display:inline-flex}.metrics-grid{gap:10px}.metric-card{min-height:104px}.metric-more{flex:0 0 44px;min-width:44px}.dashboard-grid{grid-template-columns:1fr}.mobile-bottom-nav{border-radius:8px}.mobile-bottom-nav button{border-radius:6px}.mobile-bottom-nav button:hover,.mobile-bottom-nav button.is-active{color:var(--brand-orange-dark);background:var(--teal-soft)}}@media (width<=420px){.topbar-search>svg{display:none}.dashboard-intro h1{font-size:27px}.date-button{justify-content:space-between;width:100%}}.skip-link{align-items:center;min-height:44px;display:inline-flex}.nav-item{font-size:13px}.workspace-switcher strong,.sidebar-help strong,.sidebar-profile strong,.topbar-user strong{font-size:12px}.workspace-switcher small,.sidebar-help small,.sidebar-profile small,.topbar-user small{font-size:11px}.topbar-search-submit{flex-basis:44px;width:44px;height:44px}.topbar-search{height:52px;padding-block:3px}.topbar-search input,.record-search,.crud-form-grid label{font-size:12px}.topbar-search input{min-height:44px}.breadcrumbs{min-height:44px;margin-bottom:8px;font-size:11px}.breadcrumbs button{align-items:center;min-height:44px;padding-inline:2px;display:inline-flex}.dashboard-intro>div>p:last-child{max-width:720px;font-size:14px;line-height:1.55}.section-heading h3{font-size:16px}.metric-copy span{font-size:12px}.metric-copy small,.event-row small,.action-card small,.activity-item small,.sync-message,.record-copy small,.crud-empty span{font-size:11px}.event-row strong,.action-card strong,.activity-item strong,.record-copy strong{font-size:12px}.event-row time{font-size:11px}.link-button,.rail-link,.hero-action,.outline-action,.segmented-tabs button,.life-filters button,.activity-join-button{min-height:44px;font-size:12px}.segmented-tabs button,.life-filters button{min-width:44px}.select-button,.crud-toolbar .select-button,.crud-toolbar .module-action,.record-search{min-height:46px}.crud-toolbar .select-button{min-width:48px}.activity-status,.assignment-status,.resource-visibility,.mobile-bottom-nav button{font-size:10px}@media (width<=900px){.topbar-search{height:52px}.mobile-bottom-nav button{min-height:48px}}body{font-size:16px;line-height:1.5}button,input,select,textarea{letter-spacing:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}input::placeholder,textarea::placeholder{color:var(--text-tertiary);opacity:1}.role-option,.input-action,.text-button,.campus-option,.sidebar-signout,.portal-select select,.crud-form-grid input:not([type=checkbox]),.crud-form-grid select,.crud-form-actions .module-action,.secondary-action,.record-filter{min-height:44px}.role-option{min-height:44px;color:var(--text-secondary)}.input-action{width:44px;height:44px;color:var(--text-secondary);flex:0 0 44px}.topbar .icon-button{flex:0 0 44px}.text-button{align-items:center;padding:0 6px;font-size:12px;display:inline-flex}.input-wrap>svg,.secure-note,.sidebar-help,.sidebar-signout,.app-sidebar small,.sidebar-profile small,.topbar-user small,.dashboard-intro>div>p:last-child,.breadcrumbs,.record-id,.crud-empty span,.chart-summary>span:last-child,.segmented-tabs button,.mobile-bottom-nav button{color:var(--text-secondary)}.sync-message.sync-synced,.status-done,.next-step-note.is-complete{color:#23755f}.parent-rail .rail-heading,.parent-rail .rail-heading svg{color:#fff;border-color:#ffffff40}.story-stat-grid span,.story-footer{color:#effffd}.avatar-amber{color:#7d4904}.kicker,.eyebrow,.status-pill,.nav-label,.sync-pill,.progress-kicker,.activity-date,.record-id,.portal-select,.mobile-bottom-nav button{font-size:12px}.app-shell small,.login-shell small,.teacher-focus-card em{color:var(--text-secondary);font-size:12px;line-height:1.45}.app-shell .parent-rail small{color:#fff}.app-shell .student-overview>.role-overview-rail small{color:#191719}.app-shell .progress-hero-copy>span:last-child{color:#f0f3ff;font-size:13px;line-height:1.45}.app-shell .progress-kicker,.app-shell .progress-checks span{color:#fff;font-size:12px}.bar-fill span,.avatar,.breadcrumbs,.date-button,.select-button,.module-action,.link-button,.rail-link,.outline-action,.hero-action,.life-filters button,.segmented-tabs button,.activity-join-button,.activity-status,.assignment-status,.resource-visibility,.sync-message,.record-search,.crud-form-grid label{font-size:12px}.role-overview-header p:not(.eyebrow),.learning-panel-header p:not(.eyebrow),.resource-panel-header p:not(.eyebrow),.life-header p:not(.eyebrow),.activity-card-body p{color:var(--text-secondary);font-size:13px;line-height:1.55}.event-row strong,.action-card strong,.activity-item strong,.record-copy strong,.resource-card-copy strong,.pulse-card strong,.family-note strong,.rail-event strong,.teacher-focus-card strong{font-size:13px}.dashboard-intro-actions{flex:none;justify-items:end;gap:8px;display:grid}.child-switcher{min-height:44px;color:var(--text-secondary);background:var(--surface-subtle);border:1px solid #dde1e6;border-radius:8px;grid-template-columns:18px auto minmax(140px,1fr);align-items:center;gap:8px;padding:4px 6px 4px 11px;font-size:12px;font-weight:600;display:grid}.child-switcher svg{color:var(--brand-blue)}.child-switcher select{min-height:34px;color:var(--ink);background:0 0;border:0;outline:0;min-height:44px;font-size:13px;font-weight:700}.spotlight-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.spotlight-heading h2{color:var(--ink);margin:0;font:800 22px/1.2 Manrope,sans-serif}.teacher-focus-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-focus-card{min-height:110px;box-shadow:none;border-radius:8px;padding:17px}.teacher-focus-card.is-primary{background:#edf2ff;border-color:#b9c9ef}.teacher-focus-card:nth-child(2) .focus-card-icon{color:var(--brand-orange-dark);background:var(--teal-soft)}.teacher-focus-card:nth-child(3) .focus-card-icon{color:#5c6419;background:#f3f9df}.result-count{color:var(--text-secondary);white-space:nowrap;font:600 12px IBM Plex Mono,monospace}.assignment-toolbar{flex-wrap:wrap}.assignment-toolbar .result-count{margin-left:auto}.record-filter{border:1px solid var(--line);max-width:150px;color:var(--ink);background:#fff;border-radius:8px;padding:0 28px 0 10px;font-size:12px}.icon-text-button{justify-content:center}.secondary-action{color:var(--ink);background:#fff;border:1px solid #ccd2d8;border-radius:8px;justify-content:center;align-items:center;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex}.secondary-action:hover{background:var(--surface-subtle);border-color:#aeb8c2}.empty-recovery{margin:12px auto 0}.form-context{color:var(--brand-blue-dark);background:#f5f7ff;border:1px solid #d8e1fa;border-radius:8px;align-items:center;gap:11px;margin-bottom:16px;padding:13px 14px;display:flex}.form-context>span{min-width:0}.form-context strong,.form-context small{display:block}.form-context strong{font-size:13px}.form-context small{color:var(--text-secondary);margin-top:2px}.crud-form-grid .field-wide{grid-column:1/-1}.crud-form-grid .field-helper{color:var(--text-secondary);margin-top:6px;font-size:12px;font-weight:400;display:block}.required-mark{color:#b42318}.crud-form-grid input:not([type=checkbox]),.crud-form-grid textarea,.crud-form-grid select{font-size:14px;line-height:1.5}.crud-form-grid textarea{min-height:104px}.crud-form-actions{gap:10px}.metric-card:first-child,.metric-card:nth-child(2),.metric-card:nth-child(3){color:var(--ink);border:1px solid var(--line);background:#fff}.metric-card:first-child{border-top:3px solid var(--brand-blue)}.metric-card:nth-child(2){border-top:3px solid var(--brand-orange)}.metric-card:nth-child(3){border-top:3px solid #191719}.metric-card .metric-copy span,.metric-card .metric-copy strong{color:var(--ink)}.metric-card .metric-copy small{color:var(--text-secondary);opacity:1}.metric-card:first-child .metric-icon{color:var(--brand-blue-dark);background:var(--blue-soft)}.metric-card:nth-child(2) .metric-icon{color:var(--brand-orange-dark);background:var(--teal-soft)}.metric-card:nth-child(3) .metric-icon{color:#191719;background:#ececef}.metric-card .metric-more{color:var(--text-secondary);background:var(--surface-subtle)}.metric-card .metric-more:hover{color:var(--brand-blue-dark);background:var(--blue-soft)}.story-stat-grid span,.story-footer,.streak-block span,.sidebar-signout,.avatar,.chart-summary>span:last-child,.event-row time,.assignment-summary span,.crud-empty span,.resource-card-copy span,.syllabus-copy strong,.rail-heading,.rail-stat span,.family-note strong{font-size:12px}@media (width<=1100px){.teacher-focus-grid{grid-template-columns:1fr}.teacher-focus-card{min-height:88px}}@media (width<=900px){.dashboard-intro-actions{justify-items:stretch;width:100%;margin-top:16px}.child-switcher{grid-template-columns:18px auto 1fr}.spotlight-heading{display:block}.spotlight-heading .outline-action{width:100%;margin-top:14px}.teacher-focus-grid{grid-template-columns:1fr}.crud-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.crud-toolbar .record-search,.crud-toolbar .record-filter{grid-column:1/-1;width:100%;max-width:none}.crud-toolbar .select-button{width:100%}.crud-form-actions .secondary-action,.crud-form-actions .module-action{flex:1;width:auto}}@media (width<=900px) and (orientation:landscape) and (height<=500px){.mobile-bottom-nav{display:none}.dashboard-content{padding-bottom:32px}.toast{justify-content:flex-start;max-width:min(360px,100vw - 32px);inset:74px 16px auto auto}}.admin-morning{gap:16px;display:grid}.morning-command{border-left:4px solid var(--brand-orange);background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex}.morning-command-copy{min-width:0}.morning-command .eyebrow{color:var(--brand-orange-dark);margin-bottom:6px}.morning-command h2{color:var(--ink);margin:0;font:800 20px/1.25 Manrope,sans-serif}.morning-command p:last-child{color:var(--text-secondary);margin:7px 0 0;font-size:13px}.morning-command .secondary-action{flex:none;gap:7px}.admin-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.admin-metric{border:1px solid var(--line);border-top:3px solid var(--brand-blue);min-height:108px;color:var(--ink);text-align:left;background:#fff;border-radius:8px;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:11px;padding:15px;transition:border-color .18s,box-shadow .18s,background .18s;display:grid}.admin-metric:nth-child(2){border-top-color:var(--brand-orange)}.admin-metric:nth-child(3){border-top-color:#23755f}.admin-metric:nth-child(4){border-top-color:#191719}.admin-metric:hover{background:#fafbff;border-color:#b9c9ef;box-shadow:0 7px 18px #19171912}.admin-metric-icon{width:38px;height:38px;color:var(--brand-blue-dark);background:var(--blue-soft);border-radius:8px;place-items:center;display:grid}.admin-metric:nth-child(2) .admin-metric-icon{color:var(--brand-orange-dark);background:var(--coral-soft)}.admin-metric:nth-child(3) .admin-metric-icon{color:#23755f;background:#e8f7f0}.admin-metric:nth-child(4) .admin-metric-icon{color:#191719;background:#ececef}.admin-metric>span:nth-child(2){min-width:0}.admin-metric small,.admin-metric strong,.admin-metric em{display:block}.admin-metric small{color:var(--text-secondary);font-size:12px}.admin-metric strong{margin-top:4px;font:600 22px IBM Plex Mono,monospace}.admin-metric em{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:11px;font-style:normal;overflow:hidden}.admin-metric>svg{color:var(--text-secondary)}.admin-primary-grid,.admin-chart-grid,.admin-bottom-grid{grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr);gap:12px;display:grid}.admin-chart-grid,.admin-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.fee-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.fee-totals>span{background:#f6f8fb;border-radius:12px;padding:10px 12px;display:block}.fee-totals small{letter-spacing:.04em;text-transform:uppercase;color:#4f5965;font-size:11px;font-weight:600;display:block}.fee-totals strong{letter-spacing:-.01em;color:var(--pastel-ink,#101014);margin-top:2px;font-size:19px;font-weight:800;display:block}.flagged-notes{margin:12px 0}.admin-work-panel{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:19px 20px}.admin-section-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.admin-section-head .eyebrow{color:var(--brand-orange-dark);margin-bottom:5px}.admin-section-head h3{color:var(--ink);margin:0;font:800 16px/1.3 Manrope,sans-serif}.count-badge{min-width:34px;min-height:30px;color:var(--brand-blue-dark);background:var(--blue-soft);border-radius:6px;place-items:center;padding:0 8px;font:600 12px IBM Plex Mono,monospace;display:grid}.admin-tab-row{flex-wrap:wrap;gap:5px;margin:14px 0 8px;display:flex}.admin-tab-row button,.admin-domain-tabs button,.admin-group-filter button{min-height:44px;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:7px;padding:0 13px;font-size:12px;font-weight:700;transition:color .17s,background .17s,border-color .17s}.admin-tab-row button:hover,.admin-domain-tabs button:hover,.admin-group-filter button:hover{color:var(--brand-blue-dark);background:#f5f7ff}.admin-tab-row button.is-active,.admin-domain-tabs button.is-active,.admin-group-filter button.is-active{color:var(--brand-blue-dark);background:var(--blue-soft);border-color:#cdd8f3}.admin-queue{border-top:1px solid var(--line)}.admin-queue>button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:64px;color:var(--ink);text-align:left;background:#fff;grid-template-columns:32px minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:9px 0;display:grid}.queue-mark{color:#755018;background:#fff3df;border-radius:7px;place-items:center;width:32px;height:32px;display:grid}.queue-mark.tone-success{color:#23755f;background:#e8f7f0}.queue-mark.tone-danger{color:#9b2c23;background:#fff0ed}.queue-mark.tone-warning{color:#8a5a0b;background:#fff1cf}.admin-queue strong,.admin-queue small{display:block}.admin-queue strong{font-size:13px}.admin-queue small{color:var(--text-secondary);margin-top:3px;font-size:11px}.admin-queue>button>span:nth-child(3){color:var(--text-secondary);font-size:11px;font-weight:700}.admin-queue>button>svg{color:var(--text-secondary)}.admissions-season{color:#fff;background:var(--brand-blue);border-radius:8px;padding:20px}.season-icon{color:#191719;background:var(--brand-lime);border-radius:8px;place-items:center;width:42px;height:42px;margin-bottom:18px;display:grid}.admissions-season .eyebrow{color:#d8ff75}.admissions-season h3{margin:0;font:800 21px/1.2 Manrope,sans-serif}.admissions-season>p:not(.eyebrow){color:#f0f3ff;margin:9px 0 17px;font-size:13px;line-height:1.5}.pipeline-mini{border-top:1px solid #ffffff38;border-bottom:1px solid #ffffff38;grid-template-columns:repeat(3,1fr);margin-bottom:19px;display:grid}.pipeline-mini span{border-right:1px solid #ffffff38;padding:12px 7px}.pipeline-mini span:last-child{border-right:0}.pipeline-mini strong,.pipeline-mini small{display:block}.pipeline-mini strong{font:600 18px IBM Plex Mono,monospace}.pipeline-mini small{color:#f0f3ff;margin-top:3px;font-size:10px}.admissions-season .module-action{color:#191719;background:var(--brand-lime);width:100%}.admissions-season .module-action:hover{background:#d3fa72}.attendance-trend-chart{margin-top:15px}.attendance-trend-chart .mockup-line-chart{margin-top:10px}.attendance-trend-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.attendance-trend-summary>span{background:#f6f8fb;border-radius:8px;min-width:0;padding:10px 12px}.attendance-trend-summary small,.attendance-trend-summary strong{display:block}.attendance-trend-summary small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600;overflow:hidden}.attendance-trend-summary strong{color:var(--ink);margin-top:3px;font-size:18px;font-weight:800}.attendance-single{background:#f6f8fb;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(120px,.7fr);align-items:center;gap:22px;min-height:168px;margin-top:14px;padding:24px;display:grid}.attendance-single-copy span,.attendance-single-copy strong,.attendance-single-copy small{display:block}.attendance-single-copy span{color:var(--text-secondary);text-transform:uppercase;font-size:11px;font-weight:700}.attendance-single-copy strong{color:var(--ink);margin-top:7px;font-size:34px;font-weight:800}.attendance-single-copy small{color:var(--text-secondary);margin-top:3px;font-size:11px}.attendance-single-track{background:#e4e9f0;border-radius:6px;height:12px;overflow:hidden}.attendance-single-track i{border-radius:inherit;background:var(--mockup-chart-orange);height:100%;display:block}.admin-chart-empty,.admin-domain-empty,.compact-empty{min-height:148px;color:var(--text-secondary);text-align:center;justify-content:center;align-items:center;gap:10px;padding:22px;display:flex}.admin-chart-empty{flex-direction:column}.admin-chart-empty strong,.admin-chart-empty span,.compact-empty strong,.compact-empty small{display:block}.admin-chart-empty strong,.compact-empty strong{color:var(--ink);font-size:13px}.admin-chart-empty span,.compact-empty small{max-width:390px;font-size:12px;line-height:1.5}.grade-collection-list{gap:13px;margin-top:18px;display:grid}.grade-collection{grid-template-columns:minmax(120px,.9fr) minmax(90px,1fr) 38px;align-items:center;gap:10px;display:grid}.grade-collection strong,.grade-collection small{display:block}.grade-collection strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.grade-collection small{color:var(--text-secondary);margin-top:2px;font-size:10px}.grade-track{background:#edf0f4;border-radius:4px;height:8px;overflow:hidden}.grade-track i{background:var(--brand-orange);border-radius:4px;height:100%;display:block}.grade-collection em{color:var(--ink);text-align:right;font:600 10px IBM Plex Mono,monospace}.admin-quick-band{padding:20px 0}.admin-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.admin-quick-grid>button{border:1px solid var(--line);min-height:76px;color:var(--brand-blue-dark);text-align:left;background:#fff;border-radius:8px;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:11px;padding:12px 14px;transition:border-color .17s,background .17s;display:grid}.admin-quick-grid>button:hover{background:#f8faff;border-color:#b9c9ef}.admin-quick-grid>button>svg:first-child{box-sizing:content-box;background:var(--blue-soft);border-radius:8px;padding:10px}.admin-quick-grid>button:nth-child(2){color:var(--brand-orange-dark)}.admin-quick-grid>button:nth-child(2)>svg:first-child{background:var(--coral-soft)}.admin-quick-grid>button:nth-child(3){color:#23755f}.admin-quick-grid>button:nth-child(3)>svg:first-child{background:#e8f7f0}.admin-quick-grid strong,.admin-quick-grid small{display:block}.admin-quick-grid strong{color:var(--ink);font-size:13px}.admin-quick-grid small{color:var(--text-secondary);margin-top:3px;font-size:11px}.notice-feed{border-top:1px solid var(--line);margin-top:12px}.notice-feed>button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:61px;color:var(--ink);text-align:left;background:#fff;align-items:center;gap:12px;padding:9px 0;display:flex}.notice-feed>button:hover{background:var(--surface-subtle)}.notice-feed>button>span:first-child{flex:1;min-width:0}.notice-feed strong,.notice-feed small{display:block}.notice-feed strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.notice-feed small{color:var(--text-secondary);margin-top:3px;font-size:10px}.admin-status{color:#755018;text-overflow:ellipsis;white-space:nowrap;background:#fff3df;border-radius:5px;align-items:center;max-width:130px;min-height:26px;padding:0 7px;font-size:10px;font-weight:700;display:inline-flex;overflow:hidden}.admin-status.tone-success{color:#23755f;background:#e8f7f0}.admin-status.tone-danger{color:#9b2c23;background:#fff0ed}.admin-status.tone-warning{color:#8a5a0b;background:#fff1cf;border:1px solid #f0d48a}.admin-domain{min-width:0;margin-bottom:20px}.transport-snapshot{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.transport-snapshot span{border:1px solid var(--line);background:var(--surface);border-radius:7px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:9px;min-height:68px;padding:12px 14px;display:grid}.transport-snapshot svg{color:var(--brand-blue);grid-row:1/span 2}.transport-snapshot small{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:10px;font-weight:700}.transport-snapshot strong{color:var(--ink);font-size:17px}.linked-profile{background:#f8faff;border:1px solid #d8e1fa;border-radius:7px;margin:0 0 14px;padding:12px}.linked-profile.is-loading{color:var(--text-secondary);align-items:center;gap:8px;font-size:11px;display:flex}.linked-profile h4{color:var(--brand-blue-dark);text-transform:uppercase;letter-spacing:.04em;margin:0 0 9px;font-size:11px}.linked-profile h4:not(:first-child){margin-top:14px}.linked-profile p{color:var(--text-secondary);margin:0;font-size:11px;line-height:1.5}.linked-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.linked-metrics span{border:1px solid var(--line);background:#fff;border-radius:6px;min-width:0;padding:8px;display:block}.linked-metrics small,.linked-metrics strong{overflow-wrap:anywhere;display:block}.linked-metrics small{color:var(--text-secondary);font-size:9px}.linked-metrics strong{color:var(--ink);margin-top:3px;font-size:12px}.linked-timeline{gap:6px;display:grid}.linked-timeline span{background:#fff;border-left:2px solid #b7c8f2;padding:7px 9px;display:block}.linked-timeline strong,.linked-timeline small{overflow-wrap:anywhere;display:block}.linked-timeline strong{color:var(--ink);font-size:11px}.linked-timeline small{color:var(--text-secondary);margin-top:2px;font-size:10px}.admin-domain-tabs{border-bottom:1px solid var(--line);scrollbar-width:thin;gap:4px;margin-bottom:12px;padding:4px;display:flex;overflow-x:auto}.admin-domain-tabs button{white-space:nowrap;flex:none}.admin-domain-toolbar{justify-content:flex-end;align-items:center;gap:8px;margin-bottom:10px;display:flex}.admin-search{border:1px solid var(--line);min-width:180px;max-width:420px;min-height:44px;color:var(--text-secondary);background:#fff;border-radius:8px;align-items:center;gap:8px;margin-right:auto;padding:0 12px;display:flex}.admin-search:focus-within{border-color:var(--brand-blue);box-shadow:0 0 0 3px #2f5fd71f}.admin-search input{width:100%;min-width:0;min-height:42px;color:var(--ink);background:0 0;border:0;outline:0;font-size:13px}.admin-domain-toolbar .secondary-action,.admin-domain-toolbar .module-action{flex:none;gap:6px}.admin-control-note{color:var(--text-secondary);margin:-2px 0 10px;font-size:10px;line-height:1.45}.admin-source-state{border:1px solid var(--line);min-height:38px;color:var(--text-secondary);background:var(--surface-subtle);border-radius:7px;align-items:center;gap:8px;margin-bottom:12px;padding:7px 11px;font-size:11px;display:flex}.admin-source-state>span{background:#8d98a3;border-radius:50%;flex:0 0 7px;width:7px;height:7px}.admin-source-state.state-loading>span{background:#b67a1b;box-shadow:0 0 0 3px #fff3df}.admin-source-state.state-synced>span{background:#23755f;box-shadow:0 0 0 3px #e8f7f0}.admin-source-state.state-error{color:#9b2c23;background:#fff3ef;border-color:#f0c7bc}.admin-source-state.state-error>span{background:#b42318}.report-workspace{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:14px;padding:14px 0}.report-definition{color:var(--brand-blue-dark);align-items:flex-start;gap:10px;display:flex}.report-definition>svg{flex:none;margin-top:2px}.report-definition strong,.report-definition small{display:block}.report-definition strong{font-size:12px}.report-definition small{max-width:760px;color:var(--text-secondary);margin-top:3px;font-size:11px;line-height:1.5}.report-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.report-summary>span{background:var(--surface-subtle);border-left:3px solid #b7c8f2;min-width:0;padding:9px 11px}.report-summary small,.report-summary strong{overflow-wrap:anywhere;display:block}.report-summary small{color:var(--text-secondary);font-size:10px}.report-summary strong{color:var(--ink);margin-top:3px;font-size:15px}.report-filter-grid{grid-template-columns:repeat(4,minmax(130px,1fr));align-items:end;gap:9px;margin-top:12px;display:grid}.report-filter-grid label{min-width:0;color:var(--ink);font-size:10px;font-weight:700}.report-filter-grid label>span{margin-bottom:5px;display:block}.report-filter-grid input,.report-filter-grid select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:#fff;border-radius:8px;padding:8px 9px;font-size:12px}.report-filter-grid .secondary-action{width:100%}.admin-group-filter{align-items:center;gap:13px;margin-bottom:12px;display:flex}.admin-group-filter>span{color:var(--text-secondary);flex:none;font-size:11px;font-weight:700}.admin-group-filter>div{gap:4px;display:flex;overflow-x:auto}.admin-group-filter button{flex:none;min-height:40px}.admin-record-layout{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden}.admin-record-layout.has-detail{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}.admin-record-list{min-width:0;min-height:350px;padding:0 18px 14px}.admin-list-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:62px;display:flex}.admin-list-heading strong,.admin-list-heading small{display:block}.admin-list-heading strong{font:800 15px Manrope,sans-serif}.admin-list-heading small{color:var(--text-secondary);margin-top:2px;font-size:10px}.admin-record-row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:66px;color:var(--ink);text-align:left;background:#fff;grid-template-columns:34px minmax(0,1fr) auto 18px;align-items:center;gap:11px;padding:8px 6px;transition:background .16s;display:grid}.admin-record-row:hover,.admin-record-row.is-selected{background:#f5f7ff}.admin-record-avatar{width:34px;height:34px;color:var(--brand-blue-dark);background:var(--blue-soft);border-radius:7px;place-items:center;font:700 12px IBM Plex Mono,monospace;display:grid}.admin-record-row>span:nth-child(2){min-width:0}.admin-record-row strong,.admin-record-row small{display:block}.admin-record-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.admin-record-row small{-webkit-line-clamp:2;line-clamp:2;white-space:normal;color:var(--text-secondary);text-overflow:ellipsis;-webkit-box-orient:vertical;margin-top:3px;font-size:12.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.admin-record-row>svg{color:var(--text-secondary)}.record-row,.admin-record-row{content-visibility:auto;contain-intrinsic-size:auto 64px}.admin-record-skeleton{gap:10px;padding:16px 0;display:grid}.admin-record-skeleton i{background:linear-gradient(90deg,#f0f2f4,#f8f9fa,#f0f2f4);border-radius:7px;height:48px;animation:1.1s ease-in-out infinite skeleton-pulse;display:block}@keyframes skeleton-pulse{50%{opacity:.55}}.admin-domain-empty{flex-direction:column;min-height:260px}.admin-domain-empty strong,.admin-domain-empty span{display:block}.admin-domain-empty strong{color:var(--ink);font-size:14px}.admin-domain-empty span{max-width:430px;font-size:12px;line-height:1.55}.admin-domain-empty .secondary-action{margin-top:8px}.admin-record-detail{border-left:1px solid var(--line);background:var(--surface-subtle);min-width:0;padding:18px}.admin-detail-head{align-items:center;gap:9px;margin-bottom:13px;display:flex}.admin-detail-head .icon-button{flex:0 0 44px;margin-left:-8px}.admin-detail-head>span{min-width:0}.admin-detail-head small,.admin-detail-head strong{display:block}.admin-detail-head small{color:var(--text-secondary);font:600 10px IBM Plex Mono,monospace}.admin-detail-head strong{overflow-wrap:anywhere;margin-top:3px;font:800 15px/1.35 Manrope,sans-serif}.admin-detail-hint{color:var(--brand-blue-dark);background:#f5f7ff;border:1px solid #d8e1fa;border-radius:7px;align-items:flex-start;gap:8px;margin:0 0 14px;padding:10px;font-size:11px;line-height:1.5;display:flex}.admin-detail-hint svg{flex:none;margin-top:1px}.admin-record-detail dl{margin:0}.admin-record-detail dl>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(90px,.55fr) minmax(0,1fr);gap:10px;padding:9px 0;display:grid}.admin-record-detail dt{color:var(--text-secondary);text-transform:capitalize;font-size:10px;font-weight:700}.admin-record-detail dd{min-width:0;color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:11px}.admin-file-link{min-height:30px;color:var(--brand-blue-dark);align-items:center;gap:6px;font-weight:700;text-decoration:none;display:inline-flex}.admin-record-detail details{margin-top:12px;font-size:11px}.admin-record-detail summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:700}.admin-record-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border-radius:6px;max-height:180px;padding:10px;overflow:auto}.admin-detail-actions{gap:8px;margin-top:16px;display:flex}.admin-detail-actions .module-action{flex:1}.danger-action{color:#9b2c23;background:#fff;border:1px solid #e2aaa4;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex}.danger-action:hover{background:#fff0ed}.admin-sheet-backdrop{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.admin-sheet{width:min(640px,100%);max-height:calc(100dvh - 32px);animation:admin-sheet-in .22s var(--ease-out) both;background:#fff;border-radius:14px;margin:auto;padding:24px;overflow-y:auto;box-shadow:0 16px 34px #19171940}@keyframes admin-sheet-in{0%{opacity:0;transform:scale(.97)translateY(8px)}to{opacity:1;transform:none}}.admin-sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:17px;display:flex}.admin-sheet-head .eyebrow{color:var(--brand-orange-dark);margin-bottom:5px}.admin-sheet-head h3{margin:0;font:800 20px/1.25 Manrope,sans-serif}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:20px 0;display:grid}.admin-form-grid label{min-width:0;color:var(--ink);font-size:12px;font-weight:700}.admin-form-grid label>span:first-child{margin-bottom:6px;display:block}.admin-form-grid b{color:#b42318}.admin-form-grid input:not([type=checkbox]),.admin-form-grid select,.admin-form-grid textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:#fff;border-radius:8px;padding:10px 11px;font-size:14px}.admin-form-grid textarea{resize:vertical;min-height:108px}.admin-form-grid .field-wide{grid-column:1/-1}.admin-form-grid input[type=file]{padding:8px}.admin-field-helper{color:var(--text-secondary);margin-top:6px;font-size:10px;font-weight:400;display:block}.check-field{border:1px solid var(--line);border-radius:8px;align-items:center;gap:9px;min-height:44px;padding:9px 10px;display:flex}.check-field input{width:18px;height:18px}.admin-form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;padding-top:15px;display:flex}.admin-form-actions .module-action,.admin-form-actions .secondary-action{min-width:110px}.sheet-helper{color:var(--text-secondary);margin:17px 0;font-size:12px;line-height:1.55}.csv-picker{width:100%;min-height:92px;color:var(--brand-blue-dark);text-align:left;background:#f8faff;border:1px dashed #aebde2;border-radius:8px;align-items:center;gap:12px;padding:16px;display:flex}.csv-picker strong,.csv-picker small{display:block}.csv-picker strong{color:var(--ink);font-size:13px}.csv-picker small{color:var(--text-secondary);margin-top:4px;font-size:11px;line-height:1.45}.csv-preview{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;gap:7px;margin:16px 0;padding:14px;display:grid}.csv-preview strong{font-size:12px}.csv-preview span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.csv-import-sheet{width:min(640px,100%)}.csv-policy-field{color:var(--ink);gap:6px;margin:14px 0;font-size:12px;font-weight:700;display:grid}.csv-policy-field select{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#fff;border-radius:8px;padding:9px 10px;font-size:13px}.csv-preflight-state{color:#76531c;background:#fff9eb;border:1px solid #ecd9ae;border-radius:7px;align-items:center;gap:8px;min-height:40px;margin-top:14px;padding:9px 11px;font-size:11px;display:flex}.csv-issues{color:#8e2f27;background:#fff3ef;border:1px solid #f0c7bc;border-radius:7px;gap:5px;margin-top:14px;padding:11px;font-size:11px;line-height:1.45;display:grid}.csv-issues strong{color:#76251f}.csv-preview-summary{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.csv-preview-summary small{color:var(--text-secondary);font-size:10px}.csv-preview span{background:#fff;border-radius:4px;padding:6px 7px;display:block}.csv-preview span.has-issue{color:#8e2f27;background:#fff3ef}.csv-preview span.is-skipped{color:#76531c;background:#fff9eb}.csv-results{border:1px solid var(--line);background:#fff;border-radius:8px;gap:6px;margin:16px 0;padding:14px;display:grid}.csv-results>span{border-bottom:1px solid var(--line);grid-template-columns:54px 120px minmax(0,1fr);align-items:baseline;gap:8px;padding:6px 0;font-size:11px;display:grid}.csv-results>span:last-child{border-bottom:0}.csv-results small{min-width:0;color:var(--text-secondary);overflow-wrap:anywhere}.csv-results b{font-size:10px}.result-created b{color:#23755f}.result-skipped b,.result-not-attempted b{color:#76531c}.result-failed b,.result-rollback-failed b{color:#9b2c23}.result-rolled-back b{color:#5f6c7a}.permission-matrix{min-width:0}.permission-matrix-toolbar{align-items:center;gap:8px;margin-bottom:10px;display:flex}.permission-matrix-toolbar .admin-search{flex:260px;max-width:none;margin-right:0}.permission-role-filter{color:var(--text-secondary);flex:none;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.permission-role-filter select{border:1px solid var(--line);max-width:180px;min-height:44px;color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px;font-size:12px}.permission-table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;overflow-x:auto}.permission-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:11px}.permission-table th,.permission-table td{border-bottom:1px solid var(--line);text-align:center;white-space:nowrap;min-width:54px;padding:9px 8px}.permission-table th:first-child,.permission-table td:first-child{text-align:left;min-width:170px}.permission-table th:nth-child(2),.permission-table td:nth-child(2){text-align:left;min-width:130px}.permission-table th:nth-child(4),.permission-table td:nth-child(4){text-align:left;min-width:105px}.permission-table th{color:var(--text-secondary);background:var(--surface-subtle);text-transform:uppercase;letter-spacing:.03em;font-size:10px;font-weight:800}.permission-table td strong{color:var(--ink)}.permission-source{color:var(--text-secondary);font-size:10px}.permission-source.is-custom{color:var(--brand-blue-dark);font-weight:700}.permission-mark{color:#9b2c23;background:#fff0ed;border-radius:4px;place-items:center;width:22px;height:22px;display:inline-grid}.permission-mark.is-allowed{color:#23755f;background:#e8f7f0}.permission-readonly-note{color:var(--text-secondary);align-items:center;gap:7px;margin:10px 0 0;font-size:10px;display:flex}.integration-gate{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;justify-items:start;gap:9px;min-height:270px;padding:30px;display:grid}.integration-gate>svg{color:var(--brand-blue)}.integration-gate .eyebrow{color:var(--brand-orange-dark);margin:0}.integration-gate h3{color:var(--ink);margin:0;font:800 19px/1.25 Manrope,sans-serif}.integration-gate p{max-width:500px;color:var(--text-secondary);margin:0;font-size:12px;line-height:1.55}.integration-gate dl{gap:20px;margin:4px 0;display:flex}.integration-gate dl div{gap:2px;display:grid}.integration-gate dt{color:var(--text-secondary);text-transform:uppercase;font-size:10px;font-weight:700}.integration-gate dd{color:var(--ink);margin:0;font-size:12px;font-weight:700}.pm1-workspace .sheet-helper{margin:10px 0 0}.pm1-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.pm1-card{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;gap:10px;min-width:0;padding:14px;display:flex}.pm1-card-icon{width:36px;height:36px;color:var(--brand-blue-dark);background:var(--blue-soft);border-radius:8px;place-items:center;display:grid}.pm1-card-copy .eyebrow{color:var(--brand-orange-dark);margin:0 0 4px}.pm1-card-kicker{color:var(--brand-orange-dark);letter-spacing:.01em;margin:0 0 4px;font:600 11px Manrope,sans-serif}.pm1-card-copy h4{color:var(--ink);margin:0;font:800 13px/1.35 Manrope,sans-serif}.pm1-card-copy p{color:var(--text-secondary);margin:6px 0 0;font-size:11px;line-height:1.5}.pm1-card-copy small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;display:block;overflow:hidden}.pm1-card-copy .admin-status{vertical-align:middle;margin-left:6px}.pm1-note{border-left:3px solid #f0d48a;padding-left:8px}.pm1-card-actions{flex-wrap:wrap;gap:4px 10px;margin-top:auto;padding-top:4px;display:flex}.pm1-todo-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:12px 0;display:grid}.pm1-todo-form input{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px;font-size:13px}.pm1-todo-list{gap:8px;margin:8px 0 4px;display:grid}.pm1-todo-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:32px minmax(0,1fr) 34px;align-items:center;gap:8px;padding:8px 9px;display:grid}.pm1-todo-row span strong{overflow-wrap:anywhere;color:var(--ink);font-size:12px;display:block}.pm1-todo-row span.is-done strong{color:var(--text-secondary);text-decoration:line-through}.pm1-todo-check{border:1px solid var(--line);width:28px;height:28px;color:var(--brand-blue-dark);background:var(--blue-soft);border-radius:7px;place-items:center;display:grid}.pm1-todo-check span{border:1.5px solid;border-radius:4px;width:12px;height:12px}.pm1-todo-check.is-done{color:#23755f;background:#e8f7f0;border-color:#bfe3d6}.pm2-workspace .sheet-helper{margin:10px 0 0}.pm2-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.pm2-card{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;gap:10px;min-width:0;padding:14px;display:flex}.pm2-card-icon{width:36px;height:36px;color:var(--brand-blue-dark);background:var(--blue-soft);border-radius:8px;place-items:center;display:grid}.pm2-card-copy .eyebrow{color:var(--brand-orange-dark);margin:0 0 4px}.pm2-card-copy h4{color:var(--ink);margin:0;font:800 13px/1.35 Manrope,sans-serif}.pm2-card-copy p{color:var(--text-secondary);margin:6px 0 0;font-size:11px;line-height:1.5}.pm2-card-copy small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;display:block;overflow:hidden}.pm2-card-copy .admin-status{vertical-align:middle;margin-left:6px}.pm2-note{border-left:3px solid #f0d48a;padding-left:8px}.pm2-card-actions{flex-wrap:wrap;gap:4px 10px;margin-top:auto;padding-top:4px;display:flex}@media (width<=1180px){.admin-metric-grid,.pm1-grid,.pm2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-record-layout.has-detail{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr)}}@media (width<=900px){.morning-command{align-items:flex-start}.admin-primary-grid,.admin-chart-grid,.admin-bottom-grid{grid-template-columns:1fr}.admin-domain-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-search{grid-column:1/-1;max-width:none}.admin-domain-toolbar .secondary-action,.admin-domain-toolbar .module-action{width:100%}.report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-record-layout.has-detail{grid-template-columns:1fr}.admin-record-layout.has-detail .admin-record-list{display:none}.admin-record-detail{border-left:0;min-height:390px}}@media (width<=600px){.morning-command{padding:17px 16px;display:block}.morning-command .secondary-action{width:100%;margin-top:14px}.admin-metric-grid,.admin-quick-grid,.pm1-grid,.pm2-grid{grid-template-columns:1fr}.admin-metric{min-height:92px}.admin-work-panel{padding:16px}.admin-queue>button{grid-template-columns:32px minmax(0,1fr) 18px}.admin-queue>button>span:nth-child(3){display:none}.grade-collection{grid-template-columns:minmax(100px,.9fr) minmax(70px,1fr) 35px}.admin-group-filter{display:block}.admin-group-filter>div{margin-top:6px}.admin-domain-toolbar{grid-template-columns:1fr}.admin-domain-toolbar>*{grid-column:1}.admin-record-list{padding-inline:10px}.admin-record-row{grid-template-columns:34px minmax(0,1fr) 18px}.admin-record-row .admin-status{display:none}.admin-sheet{padding:18px 16px calc(18px + env(safe-area-inset-bottom))}.admin-form-grid{grid-template-columns:1fr}.admin-form-grid .field-wide{grid-column:auto}.report-summary,.report-filter-grid{grid-template-columns:1fr}.admin-form-actions .module-action,.admin-form-actions .secondary-action{flex:1;min-width:0}.transport-snapshot{grid-template-columns:1fr}.linked-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-matrix-toolbar{grid-template-columns:1fr;display:grid}.permission-matrix-toolbar .admin-search{width:100%}.permission-role-filter{grid-template-columns:1fr;display:grid}.permission-role-filter select{width:100%;max-width:none}.permission-matrix-toolbar .secondary-action{width:100%}.csv-results>span{grid-template-columns:48px minmax(100px,.7fr) minmax(0,1fr)}}body{background:linear-gradient(135deg,#d7e1ec 0%,#eef1f5 52%,#e7e4ef 100%) fixed}button,input,select,textarea{border-radius:var(--radius-control)}.login-shell{background:linear-gradient(135deg,#dbe4ef 0%,#f4f6fa 55%,#e3ddf0 100%)}.login-story{color:var(--ink);background:linear-gradient(150deg,#2f5fd7 0%,#4a63dd 55%,#6f5bd0 100%)}.login-story .logo{color:var(--ink);box-shadow:var(--shadow-card);background:#fffffff0;border:1px solid #ffffffeb}.login-story h1{color:#fff}.login-story .story-copy{color:#e4e9f7}.login-story .story-stat-grid{border-color:#ffffff40}.login-story .story-stat-grid span,.login-story .story-footer{color:#dbe3f7}.login-story .story-footer-link{color:#fff}.status-pill{color:#fff;background:#ffffff29;border-color:#ffffff59}.status-dot{background:var(--brand-lime);box-shadow:0 0 0 3px #b9ed3240}.login-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffdb}.login-heading h2{color:var(--ink)}.login-heading .eyebrow{color:var(--brand-orange-dark)}.role-switcher{border-color:var(--line);border-radius:var(--radius-panel);background:#fff9}.role-option{border-radius:var(--radius-control)}.role-option.is-active{color:#fff;background:linear-gradient(135deg, var(--brand-blue), #5a67e0);box-shadow:0 8px 18px #2f5fd740}.role-note{color:#34436b;border-radius:var(--radius-control);background:#edf2ff;border-color:#d8e1fa}.input-wrap{border-radius:var(--radius-control);background:#ffffffe6;border-color:#d4dbe2}.input-wrap:focus-within{border-color:var(--brand-blue);box-shadow:0 0 0 4px #2f5fd724}.submit-button{border-radius:var(--radius-pill);background:linear-gradient(100deg, #c93a26 0%, var(--brand-orange) 100%);box-shadow:0 10px 22px #d6402b40}.submit-button:hover:not(:disabled){background:linear-gradient(100deg, var(--brand-orange-dark) 0%, #c93a26 100%)}.smart-classroom-button{border-radius:var(--radius-pill);background:#ebf0ffe6}.app-shell{background:0 0}.app-sidebar{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(160deg,#f9fbfeeb,#e9eef6c7);border-color:#ffffffe6;box-shadow:-12px 22px 46px #2e3d5b24}.workspace-switcher{border-radius:var(--radius-control);background:#ffffffd9;border-color:#ffffffd9}.campus-badge{border-radius:var(--radius-control);background:linear-gradient(145deg,#2f5fd7,#5f7fe5)}.campus-menu,.account-menu{border-radius:var(--radius-panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-pop);background:#fffffff5;border-color:#d6dce4}.campus-option,.account-menu>button{border-radius:8px}.nav-item{border-radius:var(--radius-control);min-height:44px}.nav-item:hover{color:var(--brand-orange-dark);background:#fffc}.nav-item.is-active{color:#fff;background:linear-gradient(100deg, #c93a26 0%, var(--brand-orange) 100%);box-shadow:0 8px 18px #d6402b38}.sidebar-help,.sidebar-signout{border-radius:var(--radius-control);min-height:44px}.help-icon{border-radius:var(--radius-control);background:var(--blue-soft)}.dashboard-main{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#fffffff0,#f8fafde0);border-color:#ffffffe6;box-shadow:18px 22px 46px #2e3d5b24}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc7;border-color:#dfe4ea}.topbar-search{border-radius:var(--radius-pill);background:#f0f3f7e6;border:1px solid #d4dbe2;min-height:44px}.topbar-search:focus-within{border-color:var(--brand-blue);box-shadow:0 0 0 4px #2f5fd71f}.topbar-search-submit{background:linear-gradient(135deg, #c93a26, var(--brand-orange));border-radius:50%;min-width:44px;min-height:44px}.topbar .icon-button{border-radius:var(--radius-control);background:#f0f3f7e6;min-width:44px;min-height:44px}.topbar-user{border-radius:var(--radius-pill);min-height:44px}.dashboard-content{padding-top:34px}.breadcrumbs button{color:var(--brand-blue-dark);min-height:44px}.dashboard-intro .eyebrow,.section-heading .eyebrow,.role-overview-header .eyebrow{color:var(--brand-orange-dark)}.dashboard-intro h1{color:var(--ink)}.date-button,.select-button{border-radius:var(--radius-pill);background:#f7f9fce6;min-height:44px}.role-overview{gap:18px}.role-overview-main,.role-overview-rail,.metric-card,.chart-card,.upcoming-card,.action-card,.activity-section,.crud-panel,.student-life-panel,.student-assignments-panel,.teacher-resources-panel{border-radius:var(--radius-card)}.role-overview-main,.role-overview-rail{box-shadow:var(--shadow-card);background:#ffffffdb;border-color:#dfe4ea}.progress-hero{border-radius:var(--radius-card);background:linear-gradient(120deg,#2b53c6 0%,#4a63dd 55%,#7a5fd0 115%);box-shadow:0 16px 30px #394c9f38}.student-goal-hero .progress-ring{border-top-color:var(--brand-lime);border-right-color:var(--brand-lime)}.hero-action{border-radius:var(--radius-pill);color:#191719;background:var(--brand-lime);min-height:44px}.hero-action:hover{background:#cdf766}.teacher-spotlight .teacher-focus-card.is-primary,.teacher-focus-card.is-primary{color:#fff;background:linear-gradient(145deg,#1f2a44,#31405e);border-color:#31405e}.teacher-focus-card.is-primary strong,.teacher-focus-card.is-primary small,.teacher-focus-card.is-primary em{color:#fff}.teacher-focus-card.is-primary .focus-card-icon{color:#fff;background:#ffffff29}.morning-command{border-radius:var(--radius-card);border-left:4px solid var(--brand-orange);background:#f5f7f8}.morning-command .module-action,.morning-command .secondary-action{border-radius:var(--radius-pill)}.admissions-season .module-action{background:var(--brand-lime);color:#191719}.segmented-tabs{border-radius:var(--radius-pill);background:#ebeef4f0}.segmented-tabs button{border-radius:var(--radius-pill);min-height:44px}.segmented-tabs button.is-active{color:#fff;background:var(--brand-blue)}.student-overview>.role-overview-rail{background:linear-gradient(145deg,#c4f24a,#d8fa7a);border-color:#1917191f}.parent-rail{background:linear-gradient(145deg,#2b53c6,#5a67e0)}.metric-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-card);background:linear-gradient(145deg,#fffffff0,#f3f6fbd1);border:1px solid #ffffffbf;position:relative}.metric-card:before{content:"";pointer-events:none;background:linear-gradient(90deg,#ffffffe6,#fff0);height:1px;position:absolute;top:0;left:14px;right:14px}.metric-card:first-child{border-top:0;border-left:4px solid var(--brand-blue)}.metric-card:nth-child(2){border-top:0;border-left:4px solid var(--brand-orange)}.metric-card:nth-child(3){border-top:0;border-left:4px solid #24252b}.metric-copy strong,.admin-metric strong,.chart-summary strong,.pipeline-mini strong,.resource-count strong{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.metric-icon,.action-icon,.focus-card-icon{border-radius:var(--radius-control)}.chart-card{box-shadow:var(--shadow-card);background:linear-gradient(145deg,#fffffff0,#eef2f8db)}.upcoming-card{box-shadow:var(--shadow-card);background:linear-gradient(145deg,#c9f452,#dcfa7e);border-color:#1917191a}.action-card{background:#ffffffe6;border-color:#d9dfe6;min-height:82px}.action-card:hover{box-shadow:var(--shadow-card);background:#fff;border-color:#b9c9ef;transform:translateY(-1px)}.activity-section{box-shadow:var(--shadow-card);background:linear-gradient(145deg,#fffffff0,#f0f4f9e0)}.activity-item strong,.activity-item small{overflow-wrap:anywhere}.module-action{border-radius:var(--radius-pill);background:linear-gradient(100deg, #c93a26, var(--brand-orange));min-height:44px;box-shadow:0 8px 18px #d6402b33}.module-action:hover{background:linear-gradient(100deg, var(--brand-orange-dark), #c93a26)}.outline-action,.secondary-action{border-radius:var(--radius-pill);min-height:44px}.crud-panel,.student-life-panel,.student-assignments-panel,.teacher-resources-panel{box-shadow:var(--shadow-card);background:#ffffffe6;border-color:#dfe4ea}.record-search,.admin-search{border-radius:var(--radius-pill);background:#f5f7fae6;min-height:44px}.record-row,.admin-record-row{border-radius:var(--radius-control)}.record-row:hover,.admin-record-row:hover,.admin-record-row.is-selected{background:#f4f7ff}.record-id{color:#9aa5b1;text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:10px;overflow:hidden}.admin-record-row small,.record-copy small{color:var(--text-secondary)}.activity-status,.resource-visibility,.assignment-status{border-radius:var(--radius-pill)}.status-done,.tone-success,.sync-synced{color:#23755f;background:#e8f7f0;border-color:#bde6d7}.status-pending,.sync-loading{color:#96600e;background:#fff9ed;border-color:#f0d8a6}.status-warning{color:#8a5a0b;background:#fff1cf;border-color:#f0d48a}.status-danger,.tone-danger,.tone-warning.sync-error,.sync-error,.data-state-error .crud-empty-icon{color:#9b2c23;background:#fff0ed;border-color:#f0c7bc}.admin-work-panel,.admin-record-layout,.admin-domain-tabs,.permission-table-wrap{border-radius:var(--radius-card)}.admin-work-panel,.admin-record-layout{background:#ffffffe6;border-color:#dfe4ea}.admin-domain-tabs{background:#edf0f6cc}.admin-domain-tabs button.is-active,.admin-tab-row button.is-active{border-radius:var(--radius-pill);color:#fff;background:linear-gradient(100deg, #c93a26, var(--brand-orange));border-color:#0000}.admin-sheet{box-shadow:var(--shadow-pop);background:#fffffff7;border-radius:14px}.admin-form-grid input:not([type=checkbox]),.admin-form-grid select,.admin-form-grid textarea,.csv-picker{border-radius:var(--radius-control)}.toast{border-radius:var(--radius-card);box-shadow:var(--shadow-pop);background:#191a21}.sync-pill{min-height:28px;font-size:10px}.sync-message{color:var(--text-secondary);font-size:11px}.data-state-loading .data-skeleton{gap:8px;width:100%;margin-bottom:12px;display:grid}.data-state-loading .data-skeleton i{background:linear-gradient(90deg,#edf0f4,#f8f9fb,#edf0f4);border-radius:6px;height:14px;animation:1.2s ease-in-out infinite pm4-skeleton;display:block}.data-state-loading .data-skeleton i:nth-child(2){width:82%}.data-state-loading .data-skeleton i:nth-child(3){width:64%}@keyframes pm4-skeleton{50%{opacity:.55}}.data-state-error{border-radius:var(--radius-control);background:#fff5f3;border:1px solid #f0c7bc}.dashboard-empty{padding:26px 16px}.mobile-bottom-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-pop);background:#fcfdfff0;border-radius:20px;padding:7px}.mobile-bottom-nav button{border-radius:var(--radius-control);min-width:44px;min-height:48px;font-size:10px}.mobile-bottom-nav button:hover,.mobile-bottom-nav button.is-active{color:#fff;background:linear-gradient(135deg, #c93a26, var(--brand-orange));box-shadow:0 7px 15px #d6402b40}.admin-sheet-backdrop{background:#141a2680}.admin-sheet:focus-visible{outline-offset:-3px;outline:3px solid #2f5fd78c}@media (width<=900px){.app-shell{background:linear-gradient(145deg,#dbe4ef,#f2f4f8 52%,#e2ddf0)}.dashboard-main{background:#f9fbfeeb}.topbar{background:#f9fbfee6}.app-sidebar{background:linear-gradient(155deg,#f9fbfe 0%,#e9eef5 100%);box-shadow:16px 0 34px #2b395233}.dashboard-content{padding-top:22px}.dashboard-intro h1{font-size:30px}.role-overview-main,.role-overview-rail,.metric-card,.chart-card,.upcoming-card,.activity-section,.student-assignments-panel,.teacher-resources-panel,.progress-hero{border-radius:var(--radius-card)}.metric-card{box-shadow:var(--shadow-card)}.admin-sheet{border-radius:20px 20px 0 0}.record-id{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.data-state-loading .data-skeleton i{animation:none}}.topbar-search-wrap{flex:1;gap:2px;min-width:0;max-width:340px;display:grid}.topbar-search-wrap .topbar-search{width:100%}.search-result-count{min-height:0;font-size:10px}.search-result-count:empty{display:none}.crud-panel .result-count,.leave-range,.payroll-range{margin:8px 0 0}@media (width<=1024px){.breadcrumbs>button,.breadcrumbs>span:not([aria-current=page]){clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.breadcrumbs>span[aria-current=page]{font-weight:700}}.mockup-title{color:var(--mockup-ink)!important;letter-spacing:-.01em!important;font-weight:800!important}.metric-copy strong,.admin-metric strong,.chart-summary strong,.pipeline-mini strong,.resource-count strong,.mockup-kpi{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.tint-lavender{background:var(--mockup-lavender)!important}.tint-blue{background:var(--mockup-blue)!important}.tint-mint{background:var(--mockup-mint)!important}.tint-peach{background:var(--mockup-peach)!important}.tint-pink{background:var(--mockup-pink)!important}.pill-black,.legend-pill{color:#fff;white-space:nowrap;background:#101014;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:4px 12px;font:600 11px IBM Plex Mono,monospace;display:inline-flex}.legend-pill svg{flex:none}.legend-pill.is-orange,.legend-pill.is-blue{background:#101014}.legend-pill .legend-dot{border-radius:50%;flex:0 0 8px;width:8px;height:8px}.legend-pill.is-orange .legend-dot{background:var(--mockup-chart-orange)}.legend-pill.is-blue .legend-dot{background:#7aa2f7}.mockup-legend-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.mockup-status{white-space:nowrap;border-radius:999px;align-items:center;min-height:26px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-flex}.mockup-status-active{color:var(--brand-blue-dark);background:var(--blue-soft);border:1px solid #ccd8f3}.mockup-status-opened{color:#8a5a0b;background:#fff1cf;border:1px solid #f0d48a}.mockup-status-done{color:#23755f;background:#e8f7f0;border:1px solid #bde6d7}.mockup-icon-chip{background:#ffffffbf;border-radius:14px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.tint-lavender .mockup-icon-chip{color:var(--mockup-lavender-deep);background:#ffffffb3}.tint-blue .mockup-icon-chip{color:var(--mockup-blue-deep);background:#ffffffb3}.tint-mint .mockup-icon-chip{color:var(--mockup-mint-deep);background:#ffffffb3}.tint-peach .mockup-icon-chip{color:var(--mockup-peach-deep);background:#ffffffb3}.tint-pink .mockup-icon-chip{color:var(--mockup-pink-deep);background:#ffffffb3}.mockup-greeting{align-items:center;gap:12px;margin-bottom:16px;display:flex}.mockup-greeting-copy{flex:1;min-width:0}.mockup-greeting-copy small{color:var(--text-secondary);font-size:12px;display:block}.mockup-greeting-copy strong{color:var(--mockup-ink);letter-spacing:-.01em;font:800 24px/1.15 Manrope,sans-serif;display:block}.mockup-bell{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);background:#fff;border-radius:50%;flex:0 0 44px;place-items:center;display:grid;position:relative}.mockup-bell:hover{color:var(--brand-blue-dark);border-color:#b9c9ef}.mockup-bell-badge{color:#fff;background:#101014;border:2px solid #fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font:700 10px IBM Plex Mono,monospace;display:grid;position:absolute;top:-2px;right:-2px}.mockup-hero{position:relative;overflow:hidden;border-radius:var(--mockup-radius)!important}.mockup-hero-student{color:#1c2430!important;background:linear-gradient(115deg,#dcebd8 0%,#e8ecdf 55%,#f2e7cf 100%)!important}.mockup-hero-student .progress-hero-copy strong{color:#1c2430!important}.mockup-hero-student .progress-hero-copy>span:last-child,.mockup-hero-student .progress-kicker,.mockup-hero-student .progress-checks span{color:#3d4a5c!important}.mockup-hero-student .hero-action{border:0;color:#fff!important;background:#101014!important}.mockup-hero-teacher{grid-template-columns:minmax(0,1fr) minmax(190px,max-content);background:linear-gradient(115deg,#2f5fd7 0%,#5a5fe0 60%,#7a5fd0 100%)!important}.mockup-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 20px;display:grid}.mockup-stat-card{border-radius:var(--mockup-radius-sm);min-height:132px;color:var(--mockup-ink);text-align:left;border:0;align-content:end;gap:6px;padding:16px;display:grid;position:relative;overflow:hidden}.mockup-stat-card:after{content:"";pointer-events:none;background:linear-gradient(#fff0 30%,#10101424 100%);position:absolute;inset:0}.mockup-stat-card>*{z-index:1;position:relative}.mockup-stat-card strong{font-variant-numeric:tabular-nums;font:700 26px/1 IBM Plex Mono,monospace}.mockup-stat-card span{font-size:12px;font-weight:700}.mockup-stat-card small{color:#101014ad;font-size:11px}.mockup-stat-card .mockup-icon-chip{flex-basis:36px;width:36px;height:36px}.mockup-today-strip{gap:10px;margin-top:14px;display:grid}.mockup-today-pill{border-radius:var(--mockup-radius-sm);border:0;align-items:center;gap:12px;min-height:64px;padding:10px 14px 10px 10px;display:flex}.mockup-today-pill time{color:var(--mockup-ink);min-width:44px;font:600 12px IBM Plex Mono,monospace}.mockup-today-pill strong,.mockup-today-pill small{display:block}.mockup-today-pill strong{color:var(--mockup-ink);font-size:13px}.mockup-today-pill small{color:#1010149e;margin-top:2px;font-size:11px}.mockup-schedule-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:14px;display:grid}.mockup-schedule-strip span{min-height:56px;color:var(--text-secondary);background:#ffffffb3;border-radius:14px;justify-items:center;gap:2px;padding:8px 4px;font-size:10px;display:grid}.mockup-schedule-strip span.is-today{color:#fff;background:#101014}.mockup-schedule-strip strong{font:700 13px IBM Plex Mono,monospace}.mockup-timeline-chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.mockup-timeline-chips span{border:1px solid var(--line);background:#fffc;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:6px 12px;font-size:11px;font-weight:700;display:inline-flex}.assignment-row.mockup-homework{border-radius:var(--mockup-radius-sm);grid-template-columns:44px minmax(0,1fr) auto 20px;align-items:center;gap:12px;padding:14px 10px}.assignment-row.mockup-homework:hover,.assignment-row.mockup-homework.is-selected{background:#f6f8fc}.mockup-homework-copy{gap:2px;min-width:0;display:grid}.mockup-homework-eyebrow{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font:600 10px IBM Plex Mono,monospace;overflow:hidden}.mockup-homework-copy strong,.mockup-homework-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mockup-homework-foot{align-items:center;gap:8px;margin-top:8px;display:flex}.mockup-progress{background:#e8ecf1;border-radius:999px;flex:1;min-width:60px;height:6px;overflow:hidden}.mockup-progress i{border-radius:inherit;background:#101014;height:100%;display:block}.mockup-priority{border:1px solid var(--line);background:#fffc;border-radius:999px;flex:none;padding:3px 10px;font:700 10px IBM Plex Mono,monospace}.mockup-priority.is-high{color:#8a5a0b;background:#fff1cf;border-color:#f0d48a}.mockup-priority.is-done{color:#23755f;background:#e8f7f0;border-color:#bde6d7}.mockup-kebab{color:var(--text-secondary);place-items:center;width:20px;height:44px;display:grid}.mockup-table-head{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;grid-template-columns:40px minmax(0,1fr) auto 44px;gap:10px;padding:10px 10px 6px;font:600 10px IBM Plex Mono,monospace;display:grid}.mockup-avatar{color:#fff;border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;font:700 11px IBM Plex Mono,monospace;display:grid}.mockup-avatar.tint-lavender{color:#4a3f9e}.mockup-avatar.tint-blue{color:#2146a6}.mockup-avatar.tint-mint{color:#14584c}.mockup-avatar.tint-peach{color:#8a3d12}.mockup-avatar.tint-pink{color:#8a2450}.mockup-view-pill{border:1px solid var(--line);min-width:44px;min-height:36px;color:var(--ink);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:11px;font-weight:700;display:inline-flex}button.mockup-view-pill{min-height:44px}.mockup-view-pill:hover{color:var(--brand-blue-dark);border-color:#b9c9ef}.mockup-top-list{gap:10px;margin-top:14px;display:grid}.mockup-top-row{border-radius:var(--mockup-radius-sm);border:1px solid var(--line);background:#ffffffbf;align-items:center;gap:12px;min-height:64px;padding:10px 12px;display:flex}.mockup-top-row strong,.mockup-top-row small{display:block}.mockup-top-row strong{color:var(--mockup-ink);font-size:13px}.mockup-top-row small{color:var(--text-secondary);margin-top:2px;font-size:11px}.mockup-top-row .mockup-view-pill{margin-left:auto}.mockup-announcement{border-radius:var(--mockup-radius-sm)!important;background:linear-gradient(115deg,#fff8ee,#fdf1f4)!important;border:1px solid #f0dcc8!important}.mockup-chart .mockup-line-chart{border-radius:var(--mockup-radius-sm);background:#ffffffb3;margin-top:14px;padding:12px 12px 6px}.mockup-line-chart svg{width:100%;height:auto;display:block}.mockup-line-chart .mockup-gridline{stroke:#e6ebf1;stroke-width:1px;stroke-dasharray:3 4}.mockup-line-chart .mockup-area-orange{fill:#d95d271a}.mockup-line-chart .mockup-stroke-orange{fill:none;stroke:var(--mockup-chart-orange);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.mockup-line-chart .mockup-axis{fill:#8a94a0;font-family:IBM Plex Mono,monospace;font-size:9px}.mockup-line-chart .mockup-dot{stroke:#fff;stroke-width:2px}.mockup-calendar{border-radius:var(--mockup-radius-sm);border:1px solid var(--line);background:#fffc;margin-top:14px;padding:14px}.mockup-calendar-head{color:var(--mockup-ink);justify-content:space-between;align-items:center;font-size:14px;font-weight:800;display:flex}.mockup-calendar-grid{text-align:center;color:var(--text-secondary);grid-template-columns:repeat(7,1fr);gap:2px;margin-top:10px;font-size:10px;display:grid}.mockup-calendar-grid strong{min-height:28px;color:var(--ink);border-radius:50%;place-items:center;font-weight:600;display:grid}.mockup-calendar-grid strong.is-today{background:var(--mockup-chart-orange);color:#101014}.mobile-bottom-nav.mockup-pill-nav{background:#101014f5;border:1px solid #ffffff14;border-radius:999px;gap:2px;padding:6px;left:12px;right:12px}.mobile-bottom-nav.mockup-pill-nav button{color:#b9bec7;border-radius:999px;min-height:48px}.mobile-bottom-nav.mockup-pill-nav button:hover{color:#fff;background:#ffffff1a}.mobile-bottom-nav.mockup-pill-nav button.is-active{color:#101014;box-shadow:none;background:#fff}@media (width<=900px){.mockup-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mockup-stat-card{border-radius:20px;min-height:118px}.mockup-hero{border-radius:20px!important}.assignment-row.mockup-homework{grid-template-columns:44px minmax(0,1fr) 20px}.assignment-row.mockup-homework .mockup-status{display:none}.mockup-schedule-strip{grid-template-columns:repeat(7,minmax(44px,1fr));overflow-x:auto}.mobile-bottom-nav.mockup-pill-nav{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.mockup-stat-card,.mockup-today-pill,.mockup-top-row,.mobile-bottom-nav.mockup-pill-nav button,.mockup-progress i{transition-duration:.01ms!important;animation-duration:.01ms!important}}.student-overview>.role-overview-rail{color:var(--ink);border:1px solid var(--line);background:linear-gradient(160deg,#f0f6ea,#fbfdf4)}.student-overview .role-overview-rail .streak-block strong,.student-overview .role-overview-rail .streak-block span,.student-overview .role-overview-rail .streak-block small,.student-overview .role-overview-rail .rail-stat span,.student-overview .role-overview-rail .rail-stat strong,.student-overview .role-overview-rail .rail-stat small,.student-overview .role-overview-rail .rail-link,.student-overview .role-overview-rail .rail-heading,.student-overview .role-overview-rail .rail-heading svg{color:var(--ink);border-color:#17324d24}.student-overview .role-overview-rail .rail-stat small,.student-overview .role-overview-rail .streak-block small{color:var(--ink-muted)}.parent-rail{color:var(--ink);border:1px solid var(--line);background:linear-gradient(160deg,#edf1fa,#f7f9fe)}.parent-rail .rail-heading,.parent-rail .rail-heading svg,.parent-rail .rail-event strong,.parent-rail .rail-link{color:var(--ink);border-color:#17324d24}.parent-rail .rail-event small,.parent-rail small{color:var(--ink-muted)}.parent-rail .rail-event{border-color:#e3e9f0}.kicker,.eyebrow{letter-spacing:.06em}.mockup-hero .progress-checks{min-width:190px}.mockup-title{letter-spacing:-.01em}.mockup-schedule-strip>span{white-space:nowrap}.assistant-sheet{flex-direction:column;gap:14px;display:flex}.assistant-sheet h3{align-items:center;gap:8px;display:flex}.assistant-examples{flex-wrap:wrap;gap:8px;display:flex}.assistant-example{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#f6f8fa;border-radius:999px;padding:7px 12px;font-size:12px}.assistant-example:hover:not(:disabled){background:#fff;border-color:#b9c9ef}.assistant-example:disabled{opacity:.6;cursor:default}.assistant-log{flex-direction:column;gap:10px;max-height:46vh;padding:4px 2px;display:flex;overflow-y:auto}.assistant-empty{color:var(--text-secondary);font-size:13px}.assistant-message{border-radius:12px;max-width:92%;padding:10px 12px;font-size:13px;line-height:1.5}.assistant-message p{white-space:pre-wrap;margin:0}.assistant-user{background:#eef3ff;border:1px solid #d7e2fb;align-self:flex-end}.assistant-assistant{border:1px solid var(--line);background:#f6f8fa;align-self:flex-start}.assistant-charts{gap:10px;display:grid}.assistant-chart figcaption{margin-bottom:6px;font-size:12px;font-weight:700}.assistant-status{border-radius:8px;padding:8px 10px;font-size:12px}.assistant-info{color:#2f5fd7;background:#eef4ff}.assistant-error{color:#a4262c;background:#fdeeee}.assistant-success{color:#236b4a;background:#e9f7ef}.assistant-composer{align-items:center;gap:8px;display:flex}.assistant-composer input{border:1px solid var(--line);border-radius:10px;flex:1;min-width:0;height:42px;padding:0 12px;font-size:13px}.dashboard-content>*{scroll-margin-bottom:120px}.dashboard-content{scroll-padding-bottom:120px}.crud-panel .record-list,.assignment-list{max-width:880px}.record-helper{color:var(--ink-muted);margin:6px 0 0;font-size:11px}@media (width<=900px){.dashboard-content{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.assignment-toolbar .segmented-tabs{scrollbar-width:thin;width:100%;max-width:100%;padding-bottom:8px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000 100%);mask-image:linear-gradient(90deg,#000 85%,#0000 100%)}.assignment-toolbar .segmented-tabs button{flex:none}}html,body,button,input,select,textarea{font-family:var(--font-body)}.dashboard-intro h1,.role-overview-header h2,.spotlight-heading h2,.mockup-title,.mockup-greeting-copy strong,.login-heading h2,.story-content h1,.admin-sheet-head h3,.learning-panel-header h3,.resource-panel-header h3,.life-header h3{font-family:var(--font-display)}.dashboard-intro h1{letter-spacing:-.02em;font-size:34px;font-weight:800;line-height:1.08}.role-overview-header h2,.spotlight-heading h2{letter-spacing:-.015em;font-size:21px;font-weight:750;line-height:1.2}.section-heading h3,.admin-section-head h3{letter-spacing:-.01em;font-size:17px;font-weight:700}.mockup-stat-card strong,.metric-copy strong,.admin-metric strong{letter-spacing:-.02em;color:var(--pastel-ink);font-size:32px;font-weight:800;line-height:1}.dashboard-intro>div>p:last-child,.role-overview-header p:not(.eyebrow),.learning-panel-header p:not(.eyebrow),.life-header p:not(.eyebrow){font-size:14.5px;line-height:1.55}.metric-copy small,.admin-metric em,.mockup-stat-card small,.event-row small,.action-card small,.activity-item small,.record-copy small,.admin-record-row small{font-size:12.5px;line-height:1.45}.kicker,.eyebrow,.progress-kicker,.nav-label{font-family:var(--font-body);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:600}.kicker,.eyebrow{margin:0 0 6px}.dashboard-intro .eyebrow,.section-heading .eyebrow,.role-overview-header .eyebrow,.admin-section-head .eyebrow,.pm1-card-copy .eyebrow,.pm2-card-copy .eyebrow,.morning-command .eyebrow{color:#4f5965}.login-heading .eyebrow,.story-content .kicker{color:#3c4450}.login-story .kicker{color:#ffffffd1}.status-pill,.sync-pill,.record-id,.activity-date,.mockup-homework-eyebrow,.mockup-calendar-grid,.stat-delta-pill,.pill-black,.legend-pill{font-family:var(--font-body)}.app-nav{gap:4px}.nav-item{color:#5b6672;transition:background var(--motion-fast) ease, color var(--motion-fast) ease, transform var(--motion-fast) var(--ease-out);border-radius:999px;font-weight:600}.nav-item:hover{color:var(--pastel-ink);background:#eef1f5;transform:translate(2px)}.nav-item.is-active{color:#fff;background:#101014;font-weight:700;box-shadow:0 8px 18px #10101438}.nav-item.is-active svg{color:#fff}.topbar-search{transition:border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, background var(--motion-fast) ease;background:#eef1f5;border:1px solid #0000;border-radius:999px}.topbar-search:focus-within{background:#fff;border-color:#c3cbd6;box-shadow:0 0 0 3px #10101414}.avatar{border-radius:999px;font-weight:700}.avatar-teal{color:#14584c;background:#d9f1e3}.avatar-amber{color:#8a3d12;background:#fde4cf}.avatar-blue{color:#2146a6;background:#dbe8fd}.topbar-user{transition:background var(--motion-fast) ease;border-radius:999px;padding:4px 10px 4px 4px}.topbar-user:hover{background:#eef1f5}.metric-card,.admin-metric,.pm1-card,.pm2-card,.teacher-focus-card,.pulse-card,.mockup-stat-card,.resource-card{isolation:isolate;transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) ease, border-color var(--motion-fast) ease;border:1px solid #10101412;border-radius:22px;position:relative;overflow:hidden}.metric-card:after,.admin-metric:after,.pm1-card:after,.pm2-card:after,.teacher-focus-card:after,.pulse-card:after,.mockup-stat-card:after{content:"✦";z-index:0;color:#10101412;pointer-events:none;font-size:128px;line-height:1;position:absolute;bottom:-38px;right:-14px}.metric-card>*,.admin-metric>*,.pm1-card>*,.pm2-card>*,.teacher-focus-card>*,.pulse-card>*,.mockup-stat-card>*{z-index:1;position:relative}.metrics-grid .metric-card:nth-child(n),.admin-metric-grid .admin-metric:nth-child(n),.pm1-grid .pm1-card:nth-child(n),.pm2-grid .pm2-card:nth-child(n),.teacher-focus-grid .teacher-focus-card:nth-child(n){border-top-color:#10101412}.metric-card:first-child,.admin-metric:first-child,.pm1-card:first-child,.pm2-card:first-child,.teacher-focus-card:first-child{background:linear-gradient(135deg, var(--pastel-lavender) 0%, #f1edfd 55%, var(--pastel-wash) 130%)}.metric-card:nth-child(2),.admin-metric:nth-child(2),.pm1-card:nth-child(2),.pm2-card:nth-child(2),.teacher-focus-card:nth-child(2){background:linear-gradient(135deg, var(--pastel-sky) 0%, #e9f1fe 55%, var(--pastel-wash) 130%)}.metric-card:nth-child(3),.admin-metric:nth-child(3),.pm1-card:nth-child(3),.pm2-card:nth-child(3),.teacher-focus-card:nth-child(3){background:linear-gradient(135deg, var(--pastel-mint) 0%, #e6f6ec 55%, var(--pastel-wash) 130%)}.metric-card:nth-child(4),.admin-metric:nth-child(4),.pm1-card:nth-child(4),.pm2-card:nth-child(4){background:linear-gradient(135deg, var(--pastel-peach) 0%, #fdf0e2 55%, var(--pastel-wash) 130%)}.pm1-card:nth-child(5),.pm2-card:nth-child(5),.pm1-card:nth-child(8),.pm2-card:nth-child(8){background:linear-gradient(135deg, var(--pastel-pink) 0%, #fdeef4 55%, var(--pastel-wash) 130%)}.pm1-card:nth-child(6),.pm2-card:nth-child(6),.pm1-card:nth-child(7),.pm2-card:nth-child(7),.pm2-card:nth-child(9){background:linear-gradient(135deg, #eef1f6 0%, #f7f9fc 55%, var(--pastel-wash) 130%)}.mockup-stat-card.tint-blue{background:linear-gradient(135deg, var(--pastel-sky) 0%, #e9f1fe 60%, #fff 140%)}.mockup-stat-card.tint-mint{background:linear-gradient(135deg, var(--pastel-mint) 0%, #e6f6ec 60%, #fff 140%)}.mockup-stat-card.tint-peach{background:linear-gradient(135deg, var(--pastel-peach) 0%, #fdf0e2 60%, #fff 140%)}.mockup-stat-card.tint-pink{background:linear-gradient(135deg, var(--pastel-pink) 0%, #fdeef4 60%, #fff 140%)}.mockup-stat-card.tint-lavender{background:linear-gradient(135deg, var(--pastel-lavender) 0%, #f1edfd 60%, #fff 140%)}.metric-card:hover,.admin-metric:hover,.pm1-card:hover,.pm2-card:hover,.teacher-focus-card:hover,.pulse-card:hover,.mockup-stat-card:hover,.chart-card:hover,.upcoming-card:hover,.quick-actions:hover,.activity-section:hover{border-color:#1010141f;transform:translateY(-2px);box-shadow:0 14px 30px #1010141f}.metric-icon,.admin-metric-icon,.pm1-card-icon,.pm2-card-icon,.focus-card-icon,.pulse-icon,.mockup-icon-chip{color:var(--pastel-ink);background:#ffffffc7;border-radius:14px}.metric-card:first-child .metric-icon,.admin-metric:first-child .admin-metric-icon{color:#4a3f9e}.metric-card:nth-child(2) .metric-icon,.admin-metric:nth-child(2) .admin-metric-icon{color:#2146a6}.metric-card:nth-child(3) .metric-icon,.admin-metric:nth-child(3) .admin-metric-icon{color:#14584c}.metric-card:nth-child(4) .metric-icon,.admin-metric:nth-child(4) .admin-metric-icon{color:#8a3d12}.mockup-today-pill,.event-row.mockup-today-pill{background:linear-gradient(135deg,#eef1f6 0%,#f8fafc 70%,#fff 130%);border:1px solid #1010140f;border-radius:20px}.mockup-today-pill.tint-lavender,.event-row.mockup-today-pill.tint-lavender{background:linear-gradient(135deg, var(--pastel-lavender), #f4f1fe)}.mockup-today-pill.tint-blue,.event-row.mockup-today-pill.tint-blue{background:linear-gradient(135deg, var(--pastel-sky), #eaf2fe)}.mockup-today-pill.tint-mint,.event-row.mockup-today-pill.tint-mint{background:linear-gradient(135deg, var(--pastel-mint), #e8f6ee)}.mockup-today-pill.tint-peach,.event-row.mockup-today-pill.tint-peach{background:linear-gradient(135deg, var(--pastel-peach), #fdf1e3)}.mockup-today-pill.tint-pink,.event-row.mockup-today-pill.tint-pink{background:linear-gradient(135deg, var(--pastel-pink), #fdeff5)}.mockup-top-row{border-radius:20px}.admin-queue>button{border-radius:16px;padding-inline:10px}.admin-queue>button:hover{background:#f3f5f8}.module-action,.hero-action,.submit-button,.topbar-search-submit{color:#fff;transition:transform var(--motion-fast) var(--ease-out), background var(--motion-fast) ease, box-shadow var(--motion-fast) ease;background:#101014;border:0;border-radius:999px}.module-action:hover,.hero-action:hover,.submit-button:hover:not(:disabled),.topbar-search-submit:hover{background:#2a2a32;box-shadow:0 8px 18px #10101438}.module-action:active,.hero-action:active,.submit-button:active:not(:disabled),.outline-action:active,.secondary-action:active,.mockup-view-pill:active,.life-filters button:active,.segmented-tabs button:active,.admin-tab-row button:active,.admin-domain-tabs button:active{transform:scale(.97)}.nav-item.is-active,.role-option.is-active,.segmented-tabs button.is-active,.life-filters button.is-active,.admin-tab-row button.is-active,.admin-domain-tabs button.is-active,.admin-group-filter button.is-active{color:#fff;background:#101014;border-color:#0000;box-shadow:0 8px 18px #1010142e}.role-option.is-active{background:#101014}.segmented-tabs,.life-filters{background:#eef1f5;border-radius:999px;padding:4px}.segmented-tabs button,.life-filters button,.admin-tab-row button,.admin-domain-tabs button,.admin-group-filter button{border-radius:999px}.life-filters button:hover,.life-filters button.is-active,.segmented-tabs button:hover{color:#fff}.life-filters button:not(.is-active):hover,.segmented-tabs button:not(.is-active):hover{color:var(--pastel-ink);background:#ffffffb3}.outline-action,.secondary-action,.mockup-view-pill,.select-button,.date-button,.record-search,.admin-search{border-radius:999px}.stat-delta-pill{color:#fff;letter-spacing:.01em;white-space:nowrap;background:#101014;border-radius:999px;align-items:center;gap:6px;width:max-content;max-width:100%;min-height:26px;margin-top:8px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-flex}.stat-delta-pill:before{content:"";background:#b9ed32;border-radius:50%;flex:0 0 6px;width:6px;height:6px}.legend-pill{background:#101014;border-radius:999px}.dashboard-content>*{animation:design1-enter var(--motion-standard) var(--ease-out) both}.dashboard-content>:nth-child(2){animation-delay:40ms}.dashboard-content>:nth-child(3){animation-delay:80ms}.dashboard-content>:nth-child(4){animation-delay:.12s}.dashboard-content>:nth-child(5){animation-delay:.16s}.dashboard-content>:nth-child(6){animation-delay:.2s}@keyframes design1-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.role-overview,.teacher-spotlight,.crud-panel,.student-life-panel,.student-assignments-panel,.teacher-resources-panel{animation:design1-enter var(--motion-standard) var(--ease-out) both}.admin-sheet-backdrop{animation:design1-backdrop var(--motion-standard) var(--ease-out) both}@keyframes design1-backdrop{0%{opacity:0}to{opacity:1}}.admin-sheet{animation:design1-dialog var(--motion-standard) var(--ease-out) both}@keyframes design1-dialog{0%{opacity:0;transform:translate(16px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}.data-state-loading .data-skeleton i,.admin-record-skeleton i{animation:design1-shimmer 1.4s var(--ease-out) infinite;background:linear-gradient(90deg,#e9edf2 25%,#f7f9fc 50%,#e9edf2 75%) 0 0/200% 100%}@keyframes design1-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.mockup-line-chart .mockup-stroke-orange{stroke-dasharray:1200;stroke-dashoffset:1200px;animation:design1-draw var(--motion-slow) var(--ease-out) forwards}.mockup-line-chart .mockup-area-orange{animation:design1-enter var(--motion-slow) var(--ease-out) both;animation-delay:.12s}@keyframes design1-draw{to{stroke-dashoffset:0}}.dashboard-content{row-gap:8px}.chart-card,.upcoming-card,.quick-actions,.activity-section,.admin-work-panel,.crud-panel,.student-life-panel,.student-assignments-panel,.teacher-resources-panel,.role-overview-main,.role-overview-rail{border-radius:24px}.pm1-grid,.pm2-grid{gap:12px}.admin-metric-grid,.metrics-grid{gap:14px}.submit-button{box-shadow:0 10px 22px #10101438}.dashboard-main .link-button,.dashboard-main a.text-button,.dashboard-main button.text-button,.link-button,a.text-button,button.text-button,.rail-heading .link-button,.mockup-top-card .link-button{color:#101014}.link-button:hover,a.text-button:hover,button.text-button:hover{color:#000}.text-button{color:#101014}.morning-command{border-left-color:#101014}.count-badge{color:#fff;background:#101014}.mockup-kpi,.metric-copy strong,.admin-metric strong,.progress-hero-copy strong,.pipeline-mini strong,.mockup-stat-card strong{font-family:var(--font-display)}.login-story{color:#fff}.login-story .story-copy,.login-story .story-stat-grid span,.login-story .story-footer,.login-story .story-live-note{color:#ffffffdb}.login-story .story-stat-grid strong,.login-story .status-pill{color:#fff}@media (width<=900px){.dashboard-intro h1,.metric-copy strong,.admin-metric strong{font-size:30px}.admin-sheet{animation-name:design1-dialog-mobile}@keyframes design1-dialog-mobile{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}}@media (prefers-reduced-motion:reduce){.dashboard-content>*,.role-overview,.teacher-spotlight,.crud-panel,.admin-sheet,.admin-sheet-backdrop,.mockup-line-chart .mockup-stroke-orange,.data-state-loading .data-skeleton i,.admin-record-skeleton i{animation-duration:.01ms!important;animation-iteration-count:1!important}.metric-card:hover,.admin-metric:hover,.pm1-card:hover,.pm2-card:hover,.teacher-focus-card:hover,.nav-item:hover{transform:none}}.dashboard-main{overflow:clip}.topbar{z-index:40;background:#fff;position:sticky;top:0}@media (width>=901px){.app-shell{height:100dvh;min-height:100dvh;overflow:hidden}.dashboard-main{height:calc(100dvh - 48px);min-height:0;overflow:clip auto}}.dashboard-main{overscroll-behavior-y:contain}@media (width<=1300px){.topbar{grid-template-columns:140px minmax(180px,1fr) minmax(0,auto);gap:12px}.topbar .sync-pill,.topbar-actions .topbar-user-copy,.topbar-actions .topbar-divider,.topbar-actions [aria-label=Help]{display:none}}.mockup-schedule-strip>.is-empty{grid-column:1/-1;justify-items:start}.dashboard-content>*,.role-overview-main,.role-overview-rail,.chart-card,.upcoming-card,.quick-actions,.activity-section,.admin-work-panel,.admin-record-list,.admin-record-detail,.crud-panel,.mockup-stat-card,.metric-card,.admin-metric,.bar-column,.pm1-card,.pm2-card,.teacher-focus-card{min-width:0}.metric-card,.admin-metric,.pm1-card,.pm2-card,.teacher-focus-card,.pulse-card{position:relative}.metric-card>*,.admin-metric>*,.pm1-card>*,.pm2-card>*,.teacher-focus-card>*,.pulse-card>*{z-index:1;position:relative}.metric-card:after,.admin-metric:after,.pm1-card:after,.pm2-card:after,.teacher-focus-card:after,.pulse-card:after,.mockup-stat-card:after{content:"";z-index:0;width:var(--watermark-size,60px);height:var(--watermark-size,60px);color:#0000;pointer-events:none;background:100% 100%/contain no-repeat;background-image:var(--card-watermark,url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20200%20200'%20role='img'%20aria-labelledby='classTitle%20classDesc'%3e%3ctitle%20id='classTitle'%3eClassroom%3c/title%3e%3cdesc%20id='classDesc'%3eA%20pastel%20classroom%20board%20with%20desks%20in%20front.%3c/desc%3e%3cellipse%20cx='100'%20cy='176'%20rx='82'%20ry='12'%20fill='%23ffffff'%20opacity='0.6'/%3e%3crect%20x='34'%20y='30'%20width='132'%20height='74'%20rx='10'%20fill='%234a3f9e'/%3e%3crect%20x='42'%20y='38'%20width='116'%20height='58'%20rx='6'%20fill='%23e8e4fb'/%3e%3cline%20x1='56'%20y1='56'%20x2='130'%20y2='56'%20stroke='%234a3f9e'%20stroke-width='5'%20stroke-linecap='round'%20opacity='0.55'/%3e%3cline%20x1='56'%20y1='70'%20x2='112'%20y2='70'%20stroke='%234a3f9e'%20stroke-width='5'%20stroke-linecap='round'%20opacity='0.35'/%3e%3cline%20x1='56'%20y1='84'%20x2='122'%20y2='84'%20stroke='%234a3f9e'%20stroke-width='5'%20stroke-linecap='round'%20opacity='0.25'/%3e%3ccircle%20cx='142'%20cy='80'%20r='7'%20fill='%23d6402b'%20opacity='0.8'/%3e%3crect%20x='94'%20y='104'%20width='12'%20height='26'%20rx='4'%20fill='%239a6b4f'/%3e%3cg%20fill='%23dbe8fd'%20stroke='%238fa8e8'%20stroke-width='4'%3e%3crect%20x='40'%20y='132'%20width='48'%20height='14'%20rx='7'/%3e%3crect%20x='112'%20y='132'%20width='48'%20height='14'%20rx='7'/%3e%3c/g%3e%3cg%20fill='%239a6b4f'%3e%3crect%20x='48'%20y='146'%20width='8'%20height='26'%20rx='4'/%3e%3crect%20x='72'%20y='146'%20width='8'%20height='26'%20rx='4'/%3e%3crect%20x='120'%20y='146'%20width='8'%20height='26'%20rx='4'/%3e%3crect%20x='144'%20y='146'%20width='8'%20height='26'%20rx='4'/%3e%3c/g%3e%3crect%20x='140'%20y='116'%20width='34'%20height='22'%20rx='6'%20fill='%23fde4cf'/%3e%3crect%20x='146'%20y='108'%20width='22'%20height='12'%20rx='4'%20fill='%23f8cfa4'/%3e%3c/svg%3e"));opacity:.14;font-size:0;line-height:0;position:absolute;inset:auto 12px 10px auto}.pulse-card:after{--watermark-size:40px;opacity:.12}.metric-card:first-child:after,.admin-metric:first-child:after,.pm1-card:first-child:after,.pm2-card:first-child:after,.teacher-focus-card:first-child:after,.mockup-stat-card:first-child:after,.metric-card:nth-child(5):after,.admin-metric:nth-child(5):after,.pm1-card:nth-child(5):after,.pm2-card:nth-child(5):after{--card-watermark:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20200%20200'%20role='img'%20aria-labelledby='booksTitle%20booksDesc'%3e%3ctitle%20id='booksTitle'%3eBook%20stack%3c/title%3e%3cdesc%20id='booksDesc'%3eA%20pastel%20stack%20of%20three%20books%20with%20a%20pencil.%3c/desc%3e%3cellipse%20cx='100'%20cy='172'%20rx='76'%20ry='12'%20fill='%23ffffff'%20opacity='0.6'/%3e%3crect%20x='44'%20y='132'%20width='104'%20height='30'%20rx='8'%20fill='%232f5fd7'/%3e%3crect%20x='44'%20y='138'%20width='12'%20height='18'%20fill='%23ffffff'%20opacity='0.5'/%3e%3cline%20x1='66'%20y1='147'%20x2='132'%20y2='147'%20stroke='%23ffffff'%20stroke-width='4'%20stroke-linecap='round'%20opacity='0.6'/%3e%3crect%20x='52'%20y='102'%20width='104'%20height='30'%20rx='8'%20fill='%23d6402b'%20opacity='0.88'/%3e%3crect%20x='144'%20y='108'%20width='12'%20height='18'%20fill='%23ffffff'%20opacity='0.5'/%3e%3cline%20x1='66'%20y1='117'%20x2='128'%20y2='117'%20stroke='%23ffffff'%20stroke-width='4'%20stroke-linecap='round'%20opacity='0.6'/%3e%3crect%20x='44'%20y='72'%20width='104'%20height='30'%20rx='8'%20fill='%2323755f'/%3e%3crect%20x='44'%20y='78'%20width='12'%20height='18'%20fill='%23ffffff'%20opacity='0.5'/%3e%3cline%20x1='66'%20y1='87'%20x2='132'%20y2='87'%20stroke='%23ffffff'%20stroke-width='4'%20stroke-linecap='round'%20opacity='0.6'/%3e%3cg%20transform='rotate(24%20158%2060)'%3e%3crect%20x='150'%20y='30'%20width='14'%20height='74'%20rx='4'%20fill='%23f2b84b'/%3e%3cpolygon%20points='150,104%20157,118%20164,104'%20fill='%23101014'%20opacity='0.7'/%3e%3crect%20x='150'%20y='22'%20width='14'%20height='10'%20rx='3'%20fill='%23fbdcea'/%3e%3c/g%3e%3ccircle%20cx='52'%20cy='48'%20r='10'%20fill='%23fbdcea'/%3e%3ccircle%20cx='52'%20cy='48'%20r='5'%20fill='%23f0a8c4'/%3e%3c/svg%3e")}.metric-card:nth-child(2):after,.admin-metric:nth-child(2):after,.pm1-card:nth-child(2):after,.pm2-card:nth-child(2):after,.teacher-focus-card:nth-child(2):after,.mockup-stat-card:nth-child(2):after,.metric-card:nth-child(6):after,.admin-metric:nth-child(6):after,.pm1-card:nth-child(6):after,.pm2-card:nth-child(6):after{--card-watermark:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20200%20200'%20role='img'%20aria-labelledby='calTitle%20calDesc'%3e%3ctitle%20id='calTitle'%3eSchool%20calendar%3c/title%3e%3cdesc%20id='calDesc'%3eA%20pastel%20calendar%20page%20with%20a%20check%20mark%20on%20one%20day.%3c/desc%3e%3cellipse%20cx='100'%20cy='174'%20rx='72'%20ry='11'%20fill='%23ffffff'%20opacity='0.6'/%3e%3crect%20x='46'%20y='34'%20width='108'%20height='132'%20rx='12'%20fill='%23ffffff'%20stroke='%23d5cdf5'%20stroke-width='4'/%3e%3crect%20x='46'%20y='34'%20width='108'%20height='34'%20rx='12'%20fill='%234a3f9e'/%3e%3crect%20x='46'%20y='54'%20width='108'%20height='14'%20fill='%234a3f9e'/%3e%3cg%20fill='%238fa8e8'%3e%3crect%20x='66'%20y='24'%20width='10'%20height='26'%20rx='5'/%3e%3crect%20x='124'%20y='24'%20width='10'%20height='26'%20rx='5'/%3e%3c/g%3e%3cg%20fill='%23eef1f5'%3e%3ccircle%20cx='72'%20cy='92'%20r='9'/%3e%3ccircle%20cx='100'%20cy='92'%20r='9'/%3e%3ccircle%20cx='128'%20cy='92'%20r='9'/%3e%3ccircle%20cx='72'%20cy='118'%20r='9'/%3e%3ccircle%20cx='128'%20cy='118'%20r='9'/%3e%3ccircle%20cx='72'%20cy='144'%20r='9'/%3e%3ccircle%20cx='100'%20cy='144'%20r='9'/%3e%3ccircle%20cx='128'%20cy='144'%20r='9'/%3e%3c/g%3e%3ccircle%20cx='100'%20cy='118'%20r='13'%20fill='%2323755f'/%3e%3cpath%20d='M94%20118l4.5%204.5L107%20113'%20stroke='%23ffffff'%20stroke-width='3.5'%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3ccircle%20cx='152'%20cy='52'%20r='12'%20fill='%23fde4cf'/%3e%3cpath%20d='M147%2052l3.5%203.5%206-7'%20stroke='%238a3d12'%20stroke-width='2.5'%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e")}.metric-card:nth-child(4):after,.admin-metric:nth-child(4):after,.pm1-card:nth-child(4):after,.pm2-card:nth-child(4):after,.teacher-focus-card:nth-child(4):after,.mockup-stat-card:nth-child(4):after,.metric-card:nth-child(8):after,.admin-metric:nth-child(8):after,.pm1-card:nth-child(8):after,.pm2-card:nth-child(8):after{--card-watermark:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20200%20200'%20role='img'%20aria-labelledby='busTitle%20busDesc'%3e%3ctitle%20id='busTitle'%3eSchool%20bus%3c/title%3e%3cdesc%20id='busDesc'%3eA%20pastel%20school%20bus%20on%20a%20road%20with%20clouds.%3c/desc%3e%3cellipse%20cx='100'%20cy='160'%20rx='86'%20ry='10'%20fill='%23101014'%20opacity='0.08'/%3e%3cg%20fill='%23ffffff'%20opacity='0.85'%3e%3cellipse%20cx='52'%20cy='46'%20rx='22'%20ry='12'/%3e%3cellipse%20cx='70'%20cy='40'%20rx='18'%20ry='12'/%3e%3cellipse%20cx='150'%20cy='34'%20rx='20'%20ry='11'/%3e%3c/g%3e%3crect%20x='24'%20y='70'%20width='152'%20height='62'%20rx='14'%20fill='%23f2b84b'/%3e%3crect%20x='24'%20y='108'%20width='152'%20height='24'%20rx='12'%20fill='%23e09a1f'/%3e%3cg%20fill='%23dbe8fd'%20stroke='%23101014'%20stroke-width='3'%20opacity='1'%3e%3crect%20x='34'%20y='80'%20width='30'%20height='22'%20rx='5'/%3e%3crect%20x='70'%20y='80'%20width='30'%20height='22'%20rx='5'/%3e%3crect%20x='106'%20y='80'%20width='30'%20height='22'%20rx='5'/%3e%3c/g%3e%3crect%20x='142'%20y='80'%20width='24'%20height='52'%20rx='6'%20fill='%239a6b4f'/%3e%3crect%20x='146'%20y='84'%20width='16'%20height='22'%20rx='3'%20fill='%23dbe8fd'/%3e%3ccircle%20cx='58'%20cy='140'%20r='16'%20fill='%23101014'/%3e%3ccircle%20cx='58'%20cy='140'%20r='7'%20fill='%23eef1f5'/%3e%3ccircle%20cx='142'%20cy='140'%20r='16'%20fill='%23101014'/%3e%3ccircle%20cx='142'%20cy='140'%20r='7'%20fill='%23eef1f5'/%3e%3crect%20x='70'%20y='60'%20width='60'%20height='14'%20rx='7'%20fill='%23d6402b'%20opacity='0.9'/%3e%3cline%20x1='20'%20y1='162'%20x2='180'%20y2='162'%20stroke='%23101014'%20stroke-width='4'%20stroke-linecap='round'%20stroke-dasharray='18%2014'%20opacity='0.25'/%3e%3c/svg%3e")}.mockup-calendar-grid strong{aspect-ratio:1;border-radius:50%;place-items:center;width:min(100%,40px);min-height:0;margin-inline:auto;display:grid}.upcoming-card{background:linear-gradient(135deg, var(--pastel-peach) 0%, #fdf0e2 55%, #fff 130%);border:1px solid #10101412}.metrics-grid .metric-card:nth-child(n),.admin-metric-grid .admin-metric:nth-child(n),.morning-command{border:1px solid #10101412}.pill-black,.legend-pill,.stat-delta-pill,.result-count,.count-badge{font-family:var(--font-body)}.empty-art{width:132px;max-width:60%;height:auto;margin:2px auto 4px;display:block}.story-art{width:min(100%,300px);height:auto;margin:26px 0 0;display:block}@media (width<=900px){.story-art{display:none}.mockup-hero-teacher{grid-template-columns:1fr 74px}.metric-card:after,.admin-metric:after,.pm1-card:after,.pm2-card:after,.teacher-focus-card:after,.pulse-card:after,.mockup-stat-card:after{--watermark-size:48px}}.absence-alert-card{background:linear-gradient(135deg,#fde4cf 0%,#fdf0e2 55%,#fff 130%);border:1px solid #10101412;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 4px;padding:14px;display:flex}.absence-alert-icon{color:#8a3d12;background:#ffffffb3;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.absence-alert-copy{flex:220px;min-width:0}.absence-alert-copy strong{color:#101014;font-size:14px;display:block}.absence-alert-copy small{color:#1010149e;margin-top:2px;font-size:11px;display:block}.absence-notice-card{margin:0 0 12px}.pm2-digest-card{background:linear-gradient(135deg,#dbe8fd 0%,#e9f1fe 60%,#fff 140%);border:1px solid #10101412}.digest-list{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.digest-list li .link-button{font-size:11px}.fee-chase-board{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:14px;padding:14px}.fee-chase-list{gap:8px;margin-top:10px;display:grid}.fee-chase-row{background:linear-gradient(135deg,#fde4cf 0%,#fff 130%);border:1px solid #10101412;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px;display:flex}.fee-chase-copy{flex:220px;min-width:0}.fee-chase-copy strong{color:#101014;font-size:13px;display:block}.fee-chase-copy small{color:#1010149e;margin-top:2px;font-size:11px;display:block}.fee-chase-actions{flex-wrap:wrap;gap:4px 10px;display:flex}.fee-paid-list{gap:6px;margin-top:10px;display:grid}.fee-paid-row{background:#f7f9fc;border:1px dashed #10101424;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.fee-paid-row strong{font-size:12px;display:block}.fee-paid-row small{color:#1010149e;font-size:11px;display:block}.fee-receipt dl{gap:8px;margin:14px 0;display:grid}.fee-receipt dl div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.fee-receipt dt{color:#1010149e;font-size:11px}.fee-receipt dd{color:#101014;margin:0;font-size:13px;font-weight:700}.fee-receipt-sheet{max-width:480px}@media print{.admin-sheet-backdrop{background:#fff;position:static}.fee-receipt .admin-form-actions{display:none}}.topbar-search-wrap{position:relative}.global-search-results{z-index:60;border:1px solid var(--line);max-height:340px;box-shadow:var(--shadow-pop,0 12px 32px #1010142e);background:#fff;border-radius:14px;padding:8px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.global-search-group-label{letter-spacing:.06em;text-transform:uppercase;color:#1010148c;margin:8px 4px 4px;font:700 10px IBM Plex Mono,monospace}.global-search-hit{text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 10px;display:flex}.global-search-hit:hover,.global-search-hit.is-active{background:#f2f6ff;border-color:#b9c9ef}.global-search-hit-copy{flex:1;min-width:0}.global-search-hit-copy strong{color:#101014;text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.global-search-hit-copy small{color:#1010149e;text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.global-search-state{color:#1010149e;margin:6px 4px;font-size:12px}@media (width<=900px){.global-search-results{left:-40px;right:-10px}.absence-alert-card{padding:12px}.fee-chase-row{align-items:flex-start}}
