@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.0gspg~~t9nou8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.0rx81dn62y51_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_4763db10-module__1Mkecq__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_4763db10-module__1Mkecq__variable{--font-ui:"Space Grotesk", "Space Grotesk Fallback"}
:root,:root[data-theme=dark]{--bg:#0b1016;--bg-2:#111823;--surface:#121923e6;--surface-2:#161e2af0;--surface-3:#1b2431f5;--line:#adbed41f;--line-strong:#adbed438;--text:#f3f7fb;--text-muted:#a7b3c2;--text-soft:#8392a4;--accent:#7cc7ff;--accent-strong:#aedfff;--primary-button-bg:linear-gradient(135deg, #4e89ff, #315ee7);--primary-button-color:#edf6ff;--primary-button-shadow:0 16px 28px #315ee740;--primary-button-hover-shadow:0 18px 32px #315ee752;--primary-button-focus-ring:0 0 0 4px #4e89ff2e;--success:#67d6a3;--success-rgb:103, 214, 163;--warning:#e4b85f;--warning-rgb:228, 184, 95;--alert:#f5a13a;--alert-rgb:245, 161, 58;--danger:#ff6b63;--danger-rgb:255, 107, 99;--error-text:var(--danger);--error-rgb:var(--danger-rgb);--error-surface:rgba(var(--error-rgb), .1);--error-border:rgba(var(--error-rgb), .34);--danger-surface:rgba(var(--danger-rgb), .1);--danger-surface-strong:rgba(var(--danger-rgb), .16);--danger-border:rgba(var(--danger-rgb), .34);--warning-surface:rgba(var(--warning-rgb), .1);--warning-surface-strong:rgba(var(--warning-rgb), .16);--warning-border:rgba(var(--warning-rgb), .3);--alert-surface:rgba(var(--alert-rgb), .12);--alert-surface-strong:rgba(var(--alert-rgb), .18);--alert-border:rgba(var(--alert-rgb), .34);--success-surface:rgba(var(--success-rgb), .1);--success-surface-strong:rgba(var(--success-rgb), .16);--success-border:rgba(var(--success-rgb), .3);--interactive-selected-bg:#7cc7ff24;--interactive-selected-border:#7cc7ff57;--interactive-selected-text:var(--text);--setup-progress-track:#adbed424;--setup-progress-fill:linear-gradient(90deg, #4e89ff, #7cc7ff);--setup-progress-text:var(--accent);--setup-card-bg:#ffffff09;--setup-card-border:#adbed421;--setup-card-shadow:none;--shadow:0 18px 40px #02060c57;--page-gradient:linear-gradient(180deg, #0b1016 0%, #101722 100%);--page-overlay:linear-gradient(#ffffff04, #ffffff02);--input-bg:#ffffff0e;--input-bg-focus:#ffffff13;--secondary-button-bg:#ffffff0a;--secondary-button-hover-bg:#ffffff12;--shell-hover-bg:#ffffff0d;--shell-active-bg:#7cc7ff24;--shell-active-text:#f4f8fc;--shell-disabled-text:#8e9cab;--shell-subtle-bg:#ffffff09;--shell-subtle-bg-strong:#ffffff0b;--shell-subtle-hover-bg:#ffffff14;--shell-subtle-border:#ffffff14;--shell-overlay-bg:#03060b7a;--shell-mobile-sheet-bg:linear-gradient(180deg, #111823fc, #0b1016fe), var(--surface-2);--avatar-shell-bg:#ffffff0f;--avatar-active-ring:#f3f7fb2e;--toast-border:#9bbeef40;--toast-bg:#101824f5;--toast-shadow:0 18px 40px #0000005c;--toast-text:#f4f8fd;--toast-dismiss-bg:#ffffff0f;--toast-dismiss-border:#ffffff24;--boot-meter-bg:#ffffff14;--radius-xl:30px;--radius-lg:24px;--radius-md:18px}:root[data-theme=light]{--bg:#f7f4ee;--bg-2:#fffdf8;--surface:#ffffffeb;--surface-2:#fffcf6fa;--surface-3:#faf4ebfa;--line:#2d3b4e42;--line-strong:#2d3b4e6b;--text:#17212b;--text-muted:#435365;--text-soft:#647184;--accent:#1869d8;--accent-strong:#0f52b7;--primary-button-bg:linear-gradient(135deg, #2f7bf0, #1557c7);--primary-button-color:#f7fbff;--primary-button-shadow:0 16px 28px #1557c72e;--primary-button-hover-shadow:0 18px 32px #1557c73d;--primary-button-focus-ring:0 0 0 4px #1869d829;--success:#1d8b5f;--success-rgb:29, 139, 95;--warning:#a86d00;--warning-rgb:168, 109, 0;--alert:#b16810;--alert-rgb:177, 104, 16;--danger:#c9413c;--danger-rgb:201, 65, 60;--danger-surface:rgba(var(--danger-rgb), .1);--danger-surface-strong:rgba(var(--danger-rgb), .16);--danger-border:rgba(var(--danger-rgb), .3);--warning-surface:rgba(var(--warning-rgb), .1);--warning-surface-strong:rgba(var(--warning-rgb), .16);--warning-border:rgba(var(--warning-rgb), .28);--alert-surface:rgba(var(--alert-rgb), .12);--alert-surface-strong:rgba(var(--alert-rgb), .2);--alert-border:rgba(var(--alert-rgb), .34);--success-surface:rgba(var(--success-rgb), .1);--success-surface-strong:rgba(var(--success-rgb), .16);--success-border:rgba(var(--success-rgb), .28);--interactive-selected-bg:#1869d824;--interactive-selected-border:#1869d861;--interactive-selected-text:#17212b;--setup-progress-track:#2d3b4e1f;--setup-progress-fill:linear-gradient(90deg, #2f7bf0, #1557c7);--setup-progress-text:#1557c7;--setup-card-bg:#ffffffd1;--setup-card-border:#2d3b4e2e;--setup-card-shadow:0 14px 26px #3e4e6514;--shadow:0 18px 40px #3e4e6524;--page-gradient:linear-gradient(180deg, #f7f4ee 0%, #fffdf8 100%);--page-overlay:linear-gradient(#ffffff80, #ffffff26);--input-bg:#fffffff0;--input-bg-focus:#fffffffa;--secondary-button-bg:#ffffffb8;--secondary-button-hover-bg:#ffffffeb;--shell-hover-bg:#17212b0f;--shell-active-bg:#1869d81f;--shell-active-text:#17212b;--shell-disabled-text:#7b8794;--shell-subtle-bg:#ffffff94;--shell-subtle-bg-strong:#ffffffbd;--shell-subtle-hover-bg:#ffffffeb;--shell-subtle-border:#50607629;--shell-overlay-bg:#17212b2e;--shell-mobile-sheet-bg:linear-gradient(180deg, #fcf7effc, #f4efe6fe), var(--surface-2);--avatar-shell-bg:#ffffffd6;--avatar-active-ring:#1869d829;--toast-border:#1869d82e;--toast-bg:#fcf7effa;--toast-shadow:0 18px 40px #5060762e;--toast-text:#17212b;--toast-dismiss-bg:#ffffffe0;--toast-dismiss-border:#5060762e;--boot-meter-bg:#50607629}*{box-sizing:border-box}html,body{width:100%;min-height:100%;color:var(--text);background-color:var(--bg);background-image:var(--page-gradient);font-family:var(--font-ui), "Segoe UI", sans-serif;color-scheme:normal;margin:0;padding:0}body{min-height:100dvh;position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;background:var(--page-overlay);opacity:.45;position:fixed;inset:0}.page-shell button,.page-shell input,.page-shell select{font:inherit}.page-shell button{background:var(--primary-button-bg);color:var(--primary-button-color);cursor:pointer;box-shadow:var(--primary-button-shadow);border:1px solid #0000;border-radius:999px;padding:.85rem 1.2rem;font-weight:800;transition:transform .14s,box-shadow .14s,opacity .14s,border-color .14s}.page-shell button:hover,.page-shell button:focus-visible{box-shadow:var(--primary-button-hover-shadow), var(--primary-button-focus-ring);transform:translateY(-1px)}.page-shell button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}.page-shell input,.page-shell select{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--input-bg);width:100%;color:var(--text);outline:none;margin-top:.45rem;padding:.95rem 1rem;transition:border-color .14s,background .14s,box-shadow .14s}.page-shell input::placeholder{color:var(--text-soft)}.page-shell input:focus,.page-shell select:focus{background:var(--input-bg-focus);border-color:#7cc7ff94;box-shadow:0 0 0 4px #7cc7ff1f}:root[data-theme=light] .page-shell input:focus,:root[data-theme=light] .page-shell select:focus{border-color:#1869d894;box-shadow:0 0 0 4px #1869d821}.page-shell .card,.page-shell .status-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:1.25rem}.page-shell .status-card strong,.page-shell .card h2,.page-shell .card h3{color:var(--text)}.page-shell .lede,.page-shell .status-card span,.page-shell .empty,.page-shell small{color:var(--text-muted)}.page-shell .eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.76rem;font-weight:700}.parent-stack{gap:.9rem;display:grid}.parent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.page-shell,.parent-grid,.parent-grid>*,.parent-stack,.parent-stack>*{min-width:0}.parent-wide{grid-column:1/-1}.parent-section-header,.parent-tab-row,.parent-class-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-shell .secondary-button{background:var(--secondary-button-bg);color:var(--text);border-color:var(--line-strong);box-shadow:none}.page-shell .secondary-button:hover{box-shadow:none;background:var(--secondary-button-hover-bg)}.page-shell .toggle-row input,.page-shell .check input{width:auto;accent-color:var(--accent);margin:0}.page-shell label{color:var(--text-muted);gap:.35rem;font-size:.95rem;display:grid}.page-shell a{color:inherit}.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}
.boot-splash{z-index:1;place-items:center;min-height:100svh;padding:1.5rem;display:grid;position:relative}.boot-splash__panel{border:1px solid var(--line);border-radius:var(--radius-xl);background:radial-gradient(circle at top, #7cc7ff24, transparent 55%), var(--surface);width:min(32rem,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:2rem}.boot-splash__panel h1{margin:.5rem 0 0;font-size:clamp(1.9rem,5vw,2.8rem);line-height:1.05}.boot-splash__copy{color:var(--text-muted);max-width:28rem;margin:.9rem 0 0}.boot-splash__meter{background:var(--boot-meter-bg);border-radius:999px;height:.45rem;margin-top:1.2rem;overflow:hidden}.boot-splash__meter-fill{border-radius:inherit;background:linear-gradient(135deg, var(--accent), var(--accent-strong));width:40%;height:100%;animation:1.25s ease-in-out infinite boot-splash-slide;display:block}@keyframes boot-splash-slide{0%{transform:translate(-100%)}50%{transform:translate(120%)}to{transform:translate(250%)}}
.page-shell{box-sizing:border-box;width:100%;max-width:1240px;margin:0 auto;padding:1.5rem 1rem 4rem}.page-shell.is-authenticated{padding-top:.72rem}.page-shell.is-guided-onboarding,.page-shell.is-setup-focus,.page-shell.is-calendar-focus,.page-shell[data-authenticated=unknown]{max-width:none;min-height:100svh;padding:0}.top-status-section{grid-template-columns:minmax(0,1.8fr) minmax(300px,.95fr);align-items:start;gap:1rem;margin-bottom:1rem;display:grid}.top-status-section h1{letter-spacing:-.05em;max-width:11ch;margin:.35rem 0 .9rem;font-size:clamp(2.25rem,4vw,4.1rem);font-weight:700;line-height:.92}.page-shell.is-authenticated .top-status-section{grid-template-columns:minmax(0,1.45fr) minmax(320px,.95fr)}.page-shell.is-authenticated .top-status-section h1{max-width:13ch;font-size:clamp(1.8rem,2.8vw,2.8rem);line-height:1}.lede{max-width:55ch;margin:0;font-size:1rem;line-height:1.55}.signed-in-shell{gap:.75rem;min-width:0;display:grid}.signed-in-shell[data-active-view=grades]{gap:.55rem}.guided-onboarding-shell,.guided-onboarding-content{min-width:0}.signed-in-header{background:var(--surface-2);box-sizing:border-box;z-index:2;gap:.65rem;display:grid;position:relative;overflow:visible}body.account-menu-open .signed-in-header{-webkit-backdrop-filter:none;backdrop-filter:none}.shell-primary-nav{flex:auto;align-items:center;gap:.4rem;width:100%;min-width:0;max-width:none;display:inline-flex}.page-shell .shell-primary-nav-item{min-height:2.15rem;color:var(--text-soft);box-shadow:none;background:0 0;border:0;border-radius:999px;align-items:center;gap:.38rem;padding:.45rem .86rem;font-size:.86rem;font-weight:600;display:inline-flex}.page-shell .shell-primary-nav-item:hover,.page-shell .shell-primary-nav-item:focus-visible{background:var(--shell-hover-bg);color:var(--text);box-shadow:none;transform:none}.page-shell .shell-primary-nav-item.is-active{background:var(--shell-active-bg);color:var(--shell-active-text)}.page-shell .shell-primary-nav-item.is-disabled,.page-shell .shell-primary-nav-item:disabled{opacity:1;color:var(--shell-disabled-text);cursor:not-allowed;background:0 0}.signed-in-appbar{justify-content:space-between;align-items:flex-start;gap:.85rem;min-width:0;min-height:2.5rem;display:flex;position:relative;overflow:visible}.signed-in-appbar.is-primary{justify-content:space-between;align-items:flex-start;gap:1rem}.status-card{background:var(--surface-2);box-sizing:border-box}.status-card.is-compact{background:var(--shell-subtle-bg);border-radius:24px;padding:.8rem .95rem}.status-card-header{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.status-inline-message{color:var(--text-soft)}.status-message.is-compact-detail{display:none}.status-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.compact-button{padding:.6rem .95rem}.status-meta{gap:.55rem;margin-top:.75rem;display:grid}.status-card.is-compact .status-meta{gap:.4rem;margin-top:.5rem}.status-chip-list{flex-wrap:wrap;gap:.45rem;display:flex}.status-chip{background:var(--secondary-button-bg);border:1px solid var(--line);color:var(--text);border-radius:999px;align-items:center;padding:.34rem .65rem;font-size:.82rem;display:inline-flex}.workflow-card{background:var(--surface-2)}.workflow-header{align-items:start}.workflow-title-block{gap:.2rem;display:grid}.workflow-header h2{letter-spacing:-.03em;margin:.3rem 0 0;font-size:1.35rem;line-height:1.1}.workflow-copy{max-width:60ch;color:var(--text-muted);margin-top:.9rem;line-height:1.5}.workflow-account{color:var(--text-soft);margin:.1rem 0 0;font-size:.92rem}.shell-home-trigger{border-radius:999px;min-height:2.2rem;padding:.45rem .72rem}.signed-in-feedback{border:1px solid var(--line);background:var(--shell-subtle-bg);border-radius:16px;margin-top:.65rem;padding:.7rem .9rem;font-size:.92rem;line-height:1.4}.signed-in-feedback.is-error{border-color:var(--error-border);background:var(--error-surface);color:var(--error-text)}.child-avatar-rail{border-top:1px solid var(--shell-subtle-border);min-width:0;padding-top:.2rem}.signed-in-shell[data-active-view=grades] .child-avatar-rail{padding-top:.1rem}.child-avatar-scroll{scrollbar-width:none;gap:.36rem;padding:.16rem 0 .02rem;display:flex;overflow-x:auto}.child-avatar-scroll::-webkit-scrollbar{display:none}.page-shell button.child-avatar-button{width:3.35rem;min-width:3.35rem;height:3.35rem;min-height:3.35rem;color:var(--text-soft);box-shadow:none;appearance:none;background:0 0;border:1px solid #0000;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:.24rem;transition:background-color .14s,border-color .14s,color .14s;display:inline-flex;transform:none}.page-shell button.child-avatar-button:hover,.page-shell button.child-avatar-button:focus-visible{background:var(--shell-subtle-bg);border-color:var(--shell-subtle-border);box-shadow:none;transform:none}.page-shell button.child-avatar-button.is-active{background:var(--shell-subtle-bg);color:var(--text);border-color:#7cc7ff42}.child-avatar-circle{border:1px solid var(--line);background:var(--avatar-shell-bg);width:2.42rem;min-width:2.42rem;height:2.42rem;min-height:2.42rem;color:var(--text);border-radius:999px;flex:0 0 2.42rem;justify-content:center;align-items:center;font-size:.83rem;font-weight:700;line-height:1;transition:background-color .14s,border-color .14s,color .14s,transform .14s;display:flex}.child-avatar-button.is-active .child-avatar-circle{box-shadow:0 0 0 2px var(--avatar-active-ring);transform:scale(1.02)}.child-avatar-button.is-inactive .child-avatar-circle{opacity:.64;filter:saturate(.82)}.child-avatar-button.tone-1 .child-avatar-circle{color:#eef8ff;background:#56b6ff5c;border-color:#56b6ffb8}.child-avatar-button.tone-2 .child-avatar-circle{color:#ecfff5;background:#3ac48357;border-color:#3ac483b3}.child-avatar-button.tone-3 .child-avatar-circle{color:#fff5db;background:#d7a63d57;border-color:#d7a63dad}.child-avatar-button.tone-4 .child-avatar-circle{color:#ffebe6;background:#e2675157;border-color:#e26751ad}:root[data-theme=light] .child-avatar-button.tone-1 .child-avatar-circle{color:#0b3b78;background:#dff1ff;border-color:#1869d875}:root[data-theme=light] .child-avatar-button.tone-2 .child-avatar-circle{color:#0c5d3c;background:#dcf6e9;border-color:#1d8b5f70}:root[data-theme=light] .child-avatar-button.tone-3 .child-avatar-circle{color:#704600;background:#fff0cd;border-color:#a86d0070}:root[data-theme=light] .child-avatar-button.tone-4 .child-avatar-circle{color:#8b241f;background:#ffe4dc;border-color:#c9413c6b}:root[data-theme=light] .page-shell button.child-avatar-button.is-active{background:#1869d81a;border-color:#1869d857}:root[data-theme=light] .child-avatar-button.is-active .child-avatar-circle{box-shadow:0 0 0 2px #fff,0 0 0 4px #1869d852,0 8px 18px #2d3b4e24}.account-menu{position:relative}.account-menu.is-open{z-index:4}.page-shell .account-menu-overlay{background:var(--shell-overlay-bg);box-shadow:none;z-index:4;border:0;border-radius:0;padding:0;position:fixed;inset:0}.page-shell .account-menu-overlay:hover,.page-shell .account-menu-overlay:focus-visible{box-shadow:none;background:var(--shell-overlay-bg);transform:none}.account-menu-trigger{-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:999px;justify-content:center;align-items:center;width:3.1rem;min-width:0;height:3.1rem;padding:.25rem;display:inline-flex}.account-menu-trigger.is-open{background:var(--secondary-button-hover-bg)}.page-shell .account-menu-trigger:focus-visible{box-shadow:0 0 0 4px #7cc7ff2e}.account-avatar{border:1px solid var(--line);background:var(--secondary-button-bg);width:2.82rem;height:2.82rem;color:var(--text);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:inline-flex}.account-avatar.tone-1{color:#dff1ff;background:#7cc7ff3d;border-color:#7cc7ff80}.account-avatar.tone-2{color:#def7eb;background:#67d6a33d;border-color:#67d6a37a}.account-avatar.tone-3{color:#fff2cf;background:#e4b85f3d;border-color:#e4b85f7a}.account-avatar.tone-4{color:#ffd8cf;background:#f07e6a3b;border-color:#f07e6a75}.account-avatar.role-parent{color:#e4d2ff;background:#8e53ff3d;border-color:#c08dff8a}.account-avatar.role-student{color:#d8e7ff;background:#4f8eff3d;border-color:#4f8eff8a}:root[data-theme=light] .account-avatar.tone-1{color:#0b3b78;background:#dff1ff;border-color:#1869d875}:root[data-theme=light] .account-avatar.tone-2{color:#0c5d3c;background:#dcf6e9;border-color:#1d8b5f70}:root[data-theme=light] .account-avatar.tone-3{color:#704600;background:#fff0cd;border-color:#a86d0070}:root[data-theme=light] .account-avatar.tone-4{color:#8b241f;background:#ffe4dc;border-color:#c9413c6b}:root[data-theme=light] .account-avatar.role-parent{color:#3f247a;background:#eadfff;border-color:#6d48bf6b}:root[data-theme=light] .account-avatar.role-student{color:#123f86;background:#dfeaff;border-color:#1869d86b}.account-menu-popover{border:1px solid var(--line-strong);background:var(--surface-2);z-index:5;border-radius:22px;gap:.35rem;min-width:min(18rem,100vw - 2rem);padding:.75rem;display:grid;position:absolute;top:calc(100% + .55rem);right:0;box-shadow:0 20px 40px #04080f52}.account-menu-header{justify-content:space-between;align-items:flex-start;gap:.9rem;padding:.2rem .1rem .45rem;display:flex}.account-menu-identity{align-items:center;gap:.75rem;min-width:0;display:flex}.account-menu-identity-copy{gap:.14rem;min-width:0;display:grid}.account-menu-identity-copy strong,.account-menu-identity-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu-identity-copy span{color:var(--text-muted);font-size:.9rem}.page-shell .account-menu-close{background:var(--secondary-button-bg);width:2.25rem;height:2.25rem;color:var(--text);border-color:var(--line);box-shadow:none;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.page-shell .account-menu-close:hover{box-shadow:none;background:var(--secondary-button-hover-bg)}.account-menu-group{gap:.35rem;display:grid}.account-menu-group.is-secondary{border-top:1px solid var(--line-strong);margin-top:.4rem;padding-top:.65rem}.page-shell .account-menu-item{text-align:left;background:var(--shell-subtle-bg);width:100%;color:var(--text);border-color:var(--line);box-shadow:none;border-radius:14px;justify-content:flex-start;transform:none}.page-shell .account-menu-item:hover,.page-shell .account-menu-item:focus-visible{box-shadow:none;background:var(--shell-active-bg);border-color:#7cc7ff38;transform:none}.page-shell .account-menu-item.is-danger{color:var(--danger)}@media (min-width:901px){.account-menu-overlay,.account-menu-overlay:hover,.account-menu-overlay:focus-visible{background:0 0}}@media (max-width:900px){body.account-menu-open{overflow:hidden}.top-status-section,.parent-grid{grid-template-columns:1fr}.top-status-section h1{max-width:9ch}.workflow-header,.signed-in-appbar,.signed-in-header-bar{flex-direction:column;align-items:stretch}.signed-in-appbar.is-primary{flex-direction:row;justify-content:space-between;align-items:flex-start}}@media (min-width:641px){.status-card.is-compact .status-inline-message{display:none}.status-card.is-compact .status-message.is-compact-detail{margin:.4rem 0 0;display:block}}@media (max-width:640px){.page-shell{padding:.6rem .75rem 2.1rem}.page-shell.is-authenticated{padding-top:.45rem}.page-shell.is-guided-onboarding,.page-shell.is-setup-focus,.page-shell.is-calendar-focus{padding:0}.card,.status-card{border-radius:22px;padding:.88rem}.status-card.is-compact{padding:.68rem .78rem}.top-status-section{gap:.8rem;margin-bottom:.8rem}.hero-panel{gap:.55rem;display:grid}.top-status-section h1,.page-shell.is-authenticated .top-status-section h1{max-width:none;margin:0;font-size:clamp(1.7rem,8vw,2.2rem);line-height:.98}.lede{font-size:.95rem;line-height:1.45}.status-card-header,.status-card-actions,.parent-section-header,.workflow-header{flex-direction:column;align-items:stretch}.signed-in-appbar.is-secondary{flex-direction:row;justify-content:space-between;align-items:center;gap:.6rem;min-width:0}.signed-in-appbar.is-primary{align-items:flex-start;gap:.6rem}.status-card-actions{justify-content:flex-start}.status-inline-message{text-align:left}.status-card.is-compact .status-message.is-compact-detail{display:none}.signed-in-header{gap:.45rem;width:100%;min-width:0;max-width:100%}.child-avatar-rail{min-width:0}.child-avatar-scroll{gap:.34rem;padding:.12rem 0 0}.page-shell button.child-avatar-button{width:3.05rem;min-width:3.05rem;height:3.05rem;min-height:3.05rem;padding:.2rem}.child-avatar-circle{flex-basis:2.2rem;width:2.2rem;min-width:2.2rem;height:2.2rem;min-height:2.2rem;font-size:.78rem}.account-menu-trigger{width:2.5rem;height:2.5rem;padding:.2rem}.page-shell .account-menu-item{width:100%}.account-menu-popover{background:var(--shell-mobile-sheet-bg);width:100vw;min-width:0;height:100dvh;box-shadow:none;border:0;border-radius:0;align-content:start;padding:1rem 1rem 1.2rem;position:fixed;inset:0;overflow-y:auto}.account-menu-header{padding:.1rem .1rem .8rem}.account-menu-identity-copy strong{font-size:1rem}.account-menu-group{gap:.5rem}.account-menu-group.is-secondary{margin-top:.55rem;padding-top:.75rem}.page-shell .account-menu-item{background:var(--shell-subtle-bg-strong);border-radius:1rem;min-height:3.35rem}.auth-card form button[type=submit],.status-card-actions button,.parent-section-header>button{width:100%}.status-card.is-compact{width:100%;min-width:0;max-width:100%;padding:.58rem .72rem}.status-card.is-compact .status-card-header{flex-direction:row;align-items:center;gap:.45rem;min-width:0}.status-card.is-compact .status-inline-message{text-align:right;white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:58%;overflow:hidden}.status-card.is-compact .status-card-header strong{font-size:.86rem}.status-card.is-compact .status-inline-message{font-size:.76rem}.status-card.is-compact .status-meta{gap:.28rem;margin-top:.35rem}.status-card.is-compact .status-chip-list{gap:.32rem}.status-card.is-compact .status-chip{padding:.22rem .48rem;font-size:.72rem}.page-shell .shell-primary-nav-item{justify-content:center;min-height:2.6rem;padding:.62rem .68rem;font-size:.95rem;font-weight:700}}.app-freshness-toast{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:70;border:1px solid var(--toast-border);background:var(--toast-bg);width:min(27rem,100vw - 2rem);box-shadow:var(--toast-shadow);color:var(--toast-text);border-radius:.5rem;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.7rem;padding:.72rem .78rem;display:grid;position:fixed}.app-freshness-toast-copy{min-width:0}.app-freshness-toast-copy strong{overflow-wrap:anywhere;font-size:.96rem;line-height:1.2;display:block}.page-shell .app-freshness-toast button{white-space:nowrap;border-radius:.42rem;min-height:2.2rem;padding:.45rem .7rem}.page-shell .app-freshness-toast-action{box-shadow:none}.page-shell .app-freshness-toast-dismiss{border-color:var(--toast-dismiss-border);background:var(--toast-dismiss-bg);width:2.2rem;color:var(--toast-text);padding:0;font-size:1rem}@media (max-width:560px){.app-freshness-toast{right:max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) auto auto;width:min(100% - 1.5rem,27rem)}}
.parent-tab-row{margin-bottom:1rem}.page-shell .auth-card{width:100%;max-width:390px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000;gap:1rem;padding:clamp(.25rem,2vw,1rem);display:grid}.auth-brand-panel{text-align:center;justify-content:center;justify-self:center;place-items:center;gap:.5rem;padding:.55rem 0 .5rem;display:grid;position:relative}.auth-brand-panel h1{color:#f3f7fbed;letter-spacing:0;margin:0;font-size:clamp(1.45rem,2.4vw,1.85rem);line-height:1}.auth-brand-icon{display:none}.auth-brand-panel:after{content:"";background:linear-gradient(90deg,#7cc7ff00,#7cc7ffe6,#7cc7ff00);border-radius:999px;width:min(7.2rem,86%);height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 12px #7cc7ff42}.top-auth-section{grid-template-columns:1fr;align-content:start;place-items:start center;gap:clamp(2.1rem,6vw,3.5rem);max-width:390px;min-height:min(760px,100svh - 3rem);margin:0 auto}.auth-card .parent-tab-row{border:1px solid var(--line);background:#ffffff08;border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:.3rem;display:grid}.auth-card .parent-tab-row button{min-height:3rem;box-shadow:none;color:var(--text-muted);background:0 0;border-color:#0000}.auth-card .parent-tab-row button:hover{box-shadow:none;background:#ffffff0d;transform:none}.auth-card .parent-tab-row button[aria-selected=true]{color:var(--text);background:#7cc7ff2e;border-color:#7cc7ff57;box-shadow:inset 0 0 0 1px #7cc7ff2e}.auth-card form button[type=submit]{min-height:3rem}.auth-card form button[type=submit]:disabled{border:1px solid var(--line);background:var(--secondary-button-bg);color:var(--text-soft);opacity:1}.auth-card .auth-secondary-action{min-height:2.8rem;color:var(--accent);box-shadow:none;background:0 0;border-color:#0000}.auth-card .auth-secondary-action:hover{box-shadow:none;background:#7cc7ff0f;transform:none}.auth-card .auth-link-action{color:#7cc7fff0;text-underline-offset:.28em;background:0 0;border:0;border-radius:.65rem;justify-self:center;width:auto;min-height:2.75rem;padding:.35rem .65rem;font-weight:650;text-decoration-line:underline;text-decoration-color:#7cc7ff5c;text-decoration-thickness:1px}.auth-card .auth-link-action:hover{color:#b9e4ff;background:#7cc7ff14;text-decoration-color:#b9e4ffcc}.auth-card .auth-link-action:focus-visible{outline-offset:3px;outline:2px solid #7cc7ffbd}.auth-card .auth-secondary-action:not(.auth-link-action){border-color:var(--line-strong);color:var(--text);background:#ffffff06}.auth-card .auth-secondary-action:not(.auth-link-action):hover{background:#ffffff0e}.auth-flow-header{gap:.65rem;display:grid}.auth-flow-header h2{max-width:12ch;color:var(--text);margin:0;font-size:clamp(2.35rem,10vw,3.1rem);font-weight:800;line-height:1.02}.auth-flow-header p{max-width:29ch;color:var(--text-muted);margin:0;font-size:1rem;line-height:1.5}.auth-password-field{gap:.55rem;display:grid}.auth-password-input-wrap{display:block;position:relative}.auth-password-input-wrap input{padding-right:3.5rem}.auth-code-field{border:0;gap:.55rem;margin:0;padding:0;display:grid}.auth-code-field legend{color:var(--text-soft);padding:0;font-size:.92rem;font-weight:700}.auth-code-entry{border-radius:.95rem;position:relative}.auth-code-inputs{z-index:3;-moz-text-size-adjust:100%;text-size-adjust:100%;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;display:grid;position:relative}.auth-code-cell{aspect-ratio:1;min-width:0;display:block;position:relative}.page-shell .auth-code-input-real{z-index:2;color:#0000;caret-color:#0000;opacity:.01;background:0 0;border:0;border-radius:.85rem;outline:none;width:100%;min-width:0;height:100%;padding:0;font-size:16px;line-height:1;position:absolute;inset:0}.page-shell .auth-code-box{aspect-ratio:1;width:100%;min-width:0;height:100%;min-height:0;color:var(--text);letter-spacing:0;text-align:center;pointer-events:none;background:linear-gradient(#ffffff13,#ffffff06),#0f172a70;border:1px solid #94a3b842;border-radius:.85rem;place-items:center;padding:0;font-size:1.45rem;font-weight:800;line-height:1;transition:border-color .14s,box-shadow .14s,background .14s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 14px 32px #0206172e}.auth-code-digit{transition:transform .14s;transform:translateY(0)}.page-shell .auth-code-box.is-filled{background:linear-gradient(#7cc7ff2e,#7cc7ff0f),#0f172a85;border-color:#7cc7ff6b}.auth-code-entry:focus-within .auth-code-box.is-active{border-color:#7cc7ffb3;box-shadow:inset 0 0 0 1px #7cc7ff47,inset 0 1px #ffffff1a,0 14px 32px #02061733}.auth-code-entry:focus-within .auth-code-box.is-active .auth-code-digit{transform:translateY(-.42rem)}.auth-code-caret{background:currentColor;border-radius:999px;width:2px;height:1.1rem;animation:1s steps(2,start) infinite auth-code-caret-blink;position:absolute;bottom:.82rem;left:50%;transform:translate(-50%)}.auth-code-box:not(.is-filled) .auth-code-caret{top:50%;bottom:auto;transform:translate(-50%,-50%)}@keyframes auth-code-caret-blink{0%,45%{opacity:1}46%,to{opacity:0}}.auth-feedback-message{color:var(--text-soft);margin:0 0 1rem;line-height:1.45}.auth-feedback-message.is-error{color:var(--error-text);font-weight:700}.page-shell .auth-password-toggle{all:unset;width:2.25rem;height:2.25rem;color:var(--text-muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:.7rem;transform:translateY(-50%)}.page-shell .auth-password-toggle:hover{color:var(--text);transform:translateY(-50%)}.page-shell .auth-password-toggle:focus-visible{outline-offset:2px;outline:2px solid #7cc7ff8c}.page-shell .auth-password-toggle svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:1.2rem;height:1.2rem}:root[data-theme=light] .auth-brand-panel h1{color:#17212b}:root[data-theme=light] .auth-brand-panel:after{background:linear-gradient(90deg,#1869d800,#1869d8b8,#1869d800);box-shadow:0 0 12px #1869d824}:root[data-theme=light] .auth-card .parent-tab-row{background:#ffffffad;border-color:#2d3b4e3d;box-shadow:inset 0 1px #ffffffc7}:root[data-theme=light] .auth-card .parent-tab-row button{color:#435365}:root[data-theme=light] .auth-card .parent-tab-row button:hover{background:#1869d80f}:root[data-theme=light] .auth-card .parent-tab-row button[aria-selected=true]{color:#17212b;background:#1869d81f;border-color:#1869d857;box-shadow:inset 0 0 0 1px #1869d81f,0 8px 18px #3e4e6514}:root[data-theme=light] .auth-card .auth-link-action{color:#1557c7;text-decoration-color:#1557c76b}:root[data-theme=light] .auth-card .auth-link-action:hover{color:#0f52b7;background:#1869d814;text-decoration-color:#0f52b7b8}:root[data-theme=light] .auth-card .auth-secondary-action:not(.auth-link-action){color:#17212b;background:#ffffffd1;border-color:#2d3b4e47}:root[data-theme=light] .auth-card .auth-secondary-action:not(.auth-link-action):hover{background:#fffffff5}:root[data-theme=light] .page-shell .auth-code-box{background:linear-gradient(#fffffff5,#faf4ebd1),#fffdf8;border-color:#2d3b4e47;box-shadow:0 12px 24px #3e4e651a}:root[data-theme=light] .page-shell .auth-code-box.is-filled{background:linear-gradient(#1869d81f,#1869d80a),#fffdf8;border-color:#1869d870}:root[data-theme=light] .auth-code-entry:focus-within .auth-code-box.is-active{border-color:#1869d89e;box-shadow:inset 0 0 0 1px #1869d82e,0 12px 24px #3e4e651f}:root[data-theme=light] .page-shell .auth-password-toggle:focus-visible{outline-color:#1869d894}@media (max-width:640px){.auth-card{max-width:none}.auth-brand-panel{padding:.35rem 0 .48rem}.top-auth-section{grid-template-columns:1fr;gap:1.75rem;min-height:calc(100svh - 2.7rem)}.auth-brand-panel h1{font-size:1.55rem}.auth-flow-header h2{max-width:11ch;font-size:clamp(2.35rem,11vw,3rem)}.auth-code-inputs{gap:.35rem}.auth-code-box{border-radius:.7rem;font-size:1.15rem}}
.dashboard-health-card{gap:1rem;display:grid}.dashboard-health-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;display:grid}.dashboard-health-stat{border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff06;padding:.9rem 1rem}.dashboard-health-stat strong{margin-top:.3rem;font-size:1.2rem;line-height:1.1;display:block}.dashboard-health-stat p{color:var(--text-muted);margin:.55rem 0 0}.dashboard-health-stat.is-warning{background:#f2b35c14;border-color:#f2b35c3d}.dashboard-health-stat.is-warning strong,.dashboard-health-stat.is-warning small{color:var(--warning)}.dashboard-health-stat.is-success{background:#4fc48d14;border-color:#4fc48d38}.dashboard-health-stat.is-success strong,.dashboard-health-stat.is-success small{color:var(--success)}.dashboard-nudge{background:#7cc7ff14;border-color:#7cc7ff33}.dashboard-panel-copy{color:var(--text-muted);margin:.85rem 0 0}.page-shell .dashboard-monitoring-surface{padding:1.05rem .42rem 1.15rem;overflow:visible}.dashboard-monitoring-surface>.empty{padding:1rem}.dashboard-monitoring-surface .parent-stack{gap:0}.dashboard-monitoring-mode-row{padding:0 .08rem .95rem}.dashboard-warning-card{background:#e4b85f14;border-color:#e4b85f38}.dashboard-warning-copy strong{color:var(--warning)}.dashboard-warning-copy p{color:var(--text-muted);margin:.45rem 0 0}.dashboard-status-strip{background:linear-gradient(#1a222eeb,#151d28f5);border-color:#ffffff17;justify-content:space-between;align-items:center;gap:1rem;display:flex}.dashboard-status-strip.is-warning{background:#e4b85f14;border-color:#e4b85f38}.dashboard-status-strip.is-success{background:#67d6a314;border-color:#67d6a333}.dashboard-status-strip-copy{min-width:0}.dashboard-status-strip-copy small{color:var(--text-soft);margin-bottom:.2rem;display:block}.dashboard-status-strip-copy strong{display:block}.dashboard-status-strip-copy p{color:var(--text-muted);margin:.3rem 0 0}.monitoring-paused-card{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:#ffffff06;padding:1rem}.monitoring-paused-card p{color:var(--text-muted);margin:.4rem 0 0}.monitoring-bucket-list{gap:0;display:grid}.monitoring-bucket{background:0 0;border:0;border-radius:0;position:relative;overflow:visible}.monitoring-bucket+.monitoring-bucket{border-top:1px solid #ffffff12}.monitoring-bucket summary{list-style:none}.monitoring-bucket summary::-webkit-details-marker{display:none}.monitoring-bucket summary::marker{content:""}.monitoring-bucket-summary{cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:.85rem;width:100%;padding:1rem .42rem;display:grid;position:relative}.monitoring-bucket[open] .monitoring-bucket-summary{z-index:3;box-shadow:none;background:#131a25eb;position:sticky;top:0}.monitoring-bucket-summary-main{flex-wrap:wrap;flex:auto;align-items:center;gap:.55rem;min-width:0;display:inline-flex}.monitoring-bucket-summary-title{color:var(--text);font-weight:600}.monitoring-bucket-summary-detail{color:var(--text);white-space:nowrap;font-size:1em;font-weight:600;line-height:normal}.monitoring-bucket-summary-count{text-align:right;background:#ffffff09;border:1px solid #adbed424;border-radius:999px;justify-content:center;align-items:center;gap:.24rem;min-width:1.85rem;min-height:1.42rem;padding:.16rem .44rem;font-size:.92rem;line-height:1;display:inline-flex}.dashboard-monitoring-mode-toggle{background:#ffffff08;border:1px solid #97a5b529;border-radius:1rem;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:.2rem;width:100%;min-height:2.5rem;padding:.2rem;display:grid}.page-shell .dashboard-monitoring-mode-button{box-sizing:border-box;height:2rem;min-height:0;box-shadow:none;color:#97a5b5;letter-spacing:.01em;appearance:none;background:0 0;border:0;border-radius:.8rem;justify-content:center;align-items:center;width:100%;padding:.38rem .8rem;font-size:.78rem;font-weight:600;line-height:1;display:inline-flex}.page-shell .dashboard-monitoring-mode-button:hover,.page-shell .dashboard-monitoring-mode-button:focus-visible{box-shadow:none;color:#d7e0ea;background:#ffffff0d;transform:none}.page-shell .dashboard-monitoring-mode-button.is-active{box-shadow:none;color:#f4f8fc;background:#7cc7ff1f}.page-shell .dashboard-monitoring-mode-button:disabled{opacity:.55}.monitoring-bucket.is-danger .monitoring-bucket-summary-title{color:var(--danger)}.monitoring-bucket.is-warning .monitoring-bucket-summary-title{color:var(--warning)}.monitoring-bucket.is-alert .monitoring-bucket-summary-title{color:var(--alert)}.monitoring-bucket.is-success .monitoring-bucket-summary-title{color:var(--success)}.monitoring-bucket.is-danger .monitoring-bucket-summary strong,.monitoring-bucket.is-danger .monitoring-bucket-summary-detail{color:var(--danger)}.monitoring-bucket.is-warning .monitoring-bucket-summary strong{color:var(--warning)}.monitoring-bucket.is-alert .monitoring-bucket-summary strong{color:var(--alert)}.monitoring-bucket.is-warning .monitoring-bucket-summary-detail{color:var(--warning)}.monitoring-bucket.is-alert .monitoring-bucket-summary-detail{color:var(--alert)}.monitoring-bucket.is-success .monitoring-bucket-summary strong,.monitoring-bucket.is-success .monitoring-bucket-summary-detail{color:var(--success)}.monitoring-bucket.is-danger .monitoring-bucket-summary-count{border-color:var(--danger-border);background:var(--danger-surface);color:var(--danger)}.monitoring-bucket.is-warning .monitoring-bucket-summary-count{border-color:var(--warning-border);background:var(--warning-surface);color:var(--warning)}.monitoring-bucket.is-alert .monitoring-bucket-summary-count{border-color:var(--alert-border);background:var(--alert-surface);color:var(--alert)}.monitoring-bucket.is-success .monitoring-bucket-summary-count{border-color:var(--success-border);background:var(--success-surface);color:var(--success)}.monitoring-bucket-summary strong{font-size:1rem;line-height:1}.monitoring-bucket-body{background:0 0;border-top:1px solid #ffffff0f;padding:.7rem 0 .85rem}.monitoring-detail-list{gap:.45rem;display:grid}.monitoring-bucket-explanation{color:var(--text-soft);margin:0 0 .75rem;font-size:.88rem}:root[data-theme=light] .dashboard-health-stat,:root[data-theme=light] .monitoring-paused-card{background:#ffffffbd}:root[data-theme=light] .dashboard-status-strip{background:#ffffffc7;border-color:#3e4e6529}:root[data-theme=light] .monitoring-bucket+.monitoring-bucket{border-top-color:#3e4e6524}:root[data-theme=light] .monitoring-bucket[open] .monitoring-bucket-summary{background:#fffffff5;box-shadow:0 8px 18px #2d3b4e1a}:root[data-theme=light] .dashboard-monitoring-mode-toggle{background:#ffffffb8;border-color:#3e4e652e}:root[data-theme=light] .page-shell .dashboard-monitoring-mode-button{color:#55667a}:root[data-theme=light] .page-shell .dashboard-monitoring-mode-button:hover,:root[data-theme=light] .page-shell .dashboard-monitoring-mode-button:focus-visible{color:#17212b;background:#1869d814}:root[data-theme=light] .page-shell .dashboard-monitoring-mode-button.is-active{background:var(--interactive-selected-bg);color:#17212b;box-shadow:inset 0 0 0 1px var(--interactive-selected-border)}:root[data-theme=light] .monitoring-bucket-body{background:#ffffff61;border-top-color:#3e4e651f}:root[data-theme=light] .monitoring-bucket-explanation{color:#4d5d70;background:#ffffffb3;border:1px solid #3e4e6521;border-radius:.75rem;margin:.2rem 0 .72rem;padding:.78rem .84rem}:root[data-theme=light] .monitoring-bucket-summary{border-radius:.82rem;transition:background .14s,box-shadow .14s}:root[data-theme=light] .monitoring-bucket-summary:hover,:root[data-theme=light] .monitoring-bucket-summary:focus-visible{background:#ffffffb8;box-shadow:inset 0 0 0 1px #2d3b4e1f}:root[data-theme=light] .monitoring-bucket.is-alert .monitoring-bucket-summary-title,:root[data-theme=light] .monitoring-bucket.is-alert .monitoring-bucket-summary-detail,:root[data-theme=light] .monitoring-bucket.is-alert .monitoring-bucket-summary strong{color:#d05200}:root[data-theme=light] .monitoring-bucket.is-warning .monitoring-bucket-summary-title,:root[data-theme=light] .monitoring-bucket.is-warning .monitoring-bucket-summary-detail,:root[data-theme=light] .monitoring-bucket.is-warning .monitoring-bucket-summary strong{color:#9a6400}:root[data-theme=light] .monitoring-bucket.is-danger .monitoring-bucket-summary-count{background:var(--danger-surface)}:root[data-theme=light] .monitoring-bucket.is-warning .monitoring-bucket-summary-count{background:var(--warning-surface)}:root[data-theme=light] .monitoring-bucket.is-alert .monitoring-bucket-summary-count{color:#d05200;background:#d052001f;border-color:#d0520061}:root[data-theme=light] .monitoring-bucket.is-success .monitoring-bucket-summary-count{background:var(--success-surface)}
.dashboard-assignment-row+.dashboard-assignment-row{border-top:0;padding-top:0}.dashboard-assignment-row{width:100%;max-height:var(--dashboard-assignment-row-height,64rem);opacity:1;--assignment-row-border:#adbed424;--assignment-row-accent:#adbed466;--assignment-row-bg:#09141df5;--assignment-row-bg-hover:#0c1a26fe;--assignment-row-meta:#d7e0ea;--assignment-row-score:#f4f8fc;--assignment-row-supporting:#9aa8b7;--assignment-row-title:var(--text);--assignment-comment-teacher-border:#ff9f1c73;--assignment-comment-teacher-bg:#282218f0;--assignment-comment-teacher-accent:#ffb238;--assignment-comment-teacher-copy:#fff6e9;--assignment-comment-family-border:#317bff85;--assignment-comment-family-bg:#062445f5;--assignment-comment-family-accent:#4d93ff;--assignment-comment-family-copy:#eef5ff;--assignment-note-bubble-size:1.72rem;--assignment-note-bubble-border:#e8f0ffd1;--assignment-note-bubble-bg:#ffffff04;--assignment-note-bubble-color:#eef4fb;--assignment-note-bubble-filled-border:#79a4ff7a;--assignment-note-bubble-filled-bg:#4e7bff2e;--assignment-note-bubble-filled-color:#f4f8fc;--assignment-note-input-border:#85abf03d;--assignment-note-input-bg:#09152cad;--assignment-note-input-color:#eef5ff;--assignment-comment-card-gap:.38rem;--assignment-comment-card-padding-block:.58rem;--assignment-comment-card-padding-inline:.72rem;--assignment-comment-card-padding:.58rem .72rem;--assignment-comment-card-radius:.46rem;--assignment-comment-label-size:.86rem;--assignment-comment-label-line-height:1.15;--assignment-note-label-color:#e3efffc7;--assignment-note-label-size:.84rem;--assignment-note-input-radius:.78rem;--assignment-note-button-border:#ffffff24;--assignment-note-button-bg:#ffffff0d;--assignment-note-button-color:var(--text);--assignment-note-button-hover-bg:#ffffff1a;--assignment-note-button-hover-border:#fff3;gap:.45rem;transition:max-height .42s cubic-bezier(.2,.9,.2,1),opacity .32s,transform .36s cubic-bezier(.2,.9,.2,1);display:grid;overflow:visible}.dashboard-assignment-row-shell{border:1px solid var(--assignment-row-border);background:var(--assignment-row-bg);transform-origin:50%;border-radius:9px;width:100%;transition:background .16s,border-color .16s,transform .36s cubic-bezier(.18,.88,.2,1),opacity .3s,filter .36s;position:relative;overflow:visible}.dashboard-assignment-row-shell:before{content:"";background:var(--assignment-row-accent);opacity:.92;pointer-events:none;width:2px;position:absolute;inset:0 auto 0 0}.dashboard-assignment-row-shell.is-swipeable{touch-action:pan-y;will-change:transform}.dashboard-assignment-row-shell:hover{background:var(--assignment-row-bg-hover)}.dashboard-assignment-row-shell:has(.dashboard-assignment-row-trigger:focus-visible){background:var(--assignment-row-bg-hover)}.dashboard-assignment-row.is-exiting{opacity:0;pointer-events:none;max-height:0}.dashboard-assignment-row.is-exiting .dashboard-assignment-row-shell{opacity:0;filter:saturate(.88)}.dashboard-assignment-row.is-highlighted .dashboard-assignment-row-shell{border-color:#7cc7ffb8;box-shadow:0 0 0 2px #7cc7ff2e}.page-shell .dashboard-assignment-row-trigger{appearance:none;width:100%;box-shadow:none;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;padding:.72rem .8rem;transform:none}.page-shell .dashboard-assignment-row-trigger:hover,.page-shell .dashboard-assignment-row-trigger:focus-visible{box-shadow:none;background:0 0;transform:none}.page-shell .dashboard-assignment-row-trigger:focus-visible{outline-offset:.15rem;border-radius:9px;outline:1px solid #7cc7ff6b}.dashboard-assignment-row.is-missing{--assignment-row-border:#adbed438;--assignment-row-accent:#ff4d4d;--assignment-row-bg:#09141df7;--assignment-row-bg-hover:#0c1a26fe;--assignment-row-meta:#e5ebf2;--assignment-row-score:#ffb1a9;--assignment-row-supporting:#f0b0aa;--assignment-row-title:#fffaf8}.dashboard-assignment-row.is-low_score{--assignment-row-border:#adbed438;--assignment-row-accent:#ff8a00;--assignment-row-bg:#09141df7;--assignment-row-bg-hover:#0c1a26fe;--assignment-row-meta:#e1e7ef;--assignment-row-score:#ffd089;--assignment-row-supporting:#ebc083;--assignment-row-title:#fffaf1}.dashboard-assignment-row.is-upcoming{--assignment-row-border:#adbed438;--assignment-row-accent:#58d65f;--assignment-row-bg:#09141df7;--assignment-row-bg-hover:#0c1a26fe;--assignment-row-meta:#e6e0cc;--assignment-row-score:#f2d793;--assignment-row-supporting:#dfc78e;--assignment-row-title:#fbfaf6}.dashboard-assignment-row.is-upcoming.is-unscored-upcoming{--assignment-row-border:#adbed429;--assignment-row-accent:transparent;--assignment-row-score:var(--assignment-row-supporting)}.dashboard-assignment-row.is-hidden{--assignment-row-border:#adbed41f;--assignment-row-bg:#141c2785;--assignment-row-bg-hover:#19222ea8;--assignment-row-meta:#9aa8b7;--assignment-row-score:#b4c0ce;--assignment-row-supporting:#8f9ba9;--assignment-row-title:#c8d2dd}.dashboard-assignment-row.is-hidden.is-missing{--assignment-row-border:#adbed438;--assignment-row-bg:#09141df7;--assignment-row-bg-hover:#0c1a26fe}.dashboard-assignment-row-header{grid-template-columns:max-content minmax(0,1fr) max-content;align-items:start;gap:.24rem .92rem;display:grid}.dashboard-assignment-row-shell.has-empty-note-action .dashboard-assignment-row-header{grid-template-columns:max-content minmax(0, 1fr) max-content var(--assignment-note-bubble-size)}.dashboard-assignment-row-score-block{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.18rem;width:4.35rem;min-width:4.35rem;display:inline-flex}.dashboard-assignment-row-region-score{grid-area:1/1/3}.dashboard-assignment-row-score-block.is-empty .dashboard-assignment-row-score-block-value{opacity:0}.dashboard-assignment-row-score-block.is-empty:before{content:"";background:var(--assignment-row-accent);border-radius:999px;width:1.35rem;height:.34rem;margin-top:.18rem;display:block;box-shadow:0 0 0 1px #ffffff14}.dashboard-assignment-row.is-unscored-upcoming .dashboard-assignment-row-score-block.is-empty:before{display:none}.dashboard-assignment-row-score-block-value{color:var(--assignment-row-score);letter-spacing:-.03em;font-size:2rem;font-weight:700;line-height:.92}.dashboard-assignment-row-score-block.is-success .dashboard-assignment-row-score-block-value{color:#7edd57}.dashboard-assignment-row-score-block.is-warning .dashboard-assignment-row-score-block-value{color:#ffd089}.dashboard-assignment-row-score-block.is-danger .dashboard-assignment-row-score-block-value{color:#ff7866}.dashboard-assignment-row-score-block.is-muted .dashboard-assignment-row-score-block-value{color:#b4c0ce}.dashboard-assignment-row-primary{gap:.24rem;min-width:0;display:grid}.dashboard-assignment-row-region-content{grid-area:1/2}.dashboard-assignment-row-region-meta{grid-area:2/2/auto/4}.dashboard-assignment-row-shell.has-empty-note-action .dashboard-assignment-row-region-meta{grid-column:2/-1;padding-right:.08rem}.dashboard-assignment-row-shell.has-empty-note-action .dashboard-assignment-row-region-content{padding-right:calc(var(--assignment-note-bubble-size) + 3.3rem);grid-column:2/-1}.dashboard-assignment-row-shell.has-empty-note-action .dashboard-assignment-row-meta-compact{grid-template-columns:minmax(0,1fr)}.dashboard-assignment-row-shell.has-empty-note-action .dashboard-assignment-row-meta-due{position:absolute;top:2.08rem;right:.98rem}.dashboard-assignment-row-shell.has-empty-note-action .dashboard-assignment-row-meta-grade{right:calc(var(--assignment-note-bubble-size) + .42rem);position:absolute;top:.72rem}.dashboard-assignment-row-shell.has-empty-note-action .dashboard-assignment-row-region-aside{padding-right:0}.dashboard-assignment-row-title-line{align-items:flex-start;gap:.35rem;min-width:0;display:flex}.dashboard-assignment-row-title{-webkit-line-clamp:2;min-width:0;color:var(--assignment-row-title);-webkit-box-orient:vertical;font-size:1.08rem;font-weight:700;line-height:1.14;display:-webkit-box;overflow:hidden}.dashboard-assignment-row-header-aside{align-content:start;justify-items:end;gap:.32rem;min-width:0;max-width:4.8rem;display:grid}.dashboard-assignment-row-region-aside{grid-area:1/3}.dashboard-assignment-row-header-badgeline{justify-content:flex-end;min-width:0;display:flex}.dashboard-assignment-reason{background:rgba(var(--warning-rgb), .12);color:#ffd089;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;max-width:4.8rem;padding:.12rem .34rem;font-size:.58rem;font-weight:800;line-height:1;display:inline-flex;overflow:hidden}.dashboard-assignment-row-grade{color:var(--assignment-row-meta);white-space:nowrap;font-size:.98rem;font-weight:700;line-height:1.1}.dashboard-assignment-row-meta-grade{text-align:right;font-variant-numeric:tabular-nums;flex:none;justify-content:flex-end;min-width:4.4rem;font-size:.82rem}.dashboard-assignment-row-grade.is-success{color:#7edd57}.dashboard-assignment-row-grade.is-warning{color:#ffd089}.dashboard-assignment-row-grade.is-danger{color:#ff7866}.dashboard-assignment-row-weight{color:#ffd33d;white-space:nowrap;align-items:center;font-size:.86rem;font-weight:700;line-height:1.05;display:inline-flex}.dashboard-assignment-row-meta{color:var(--assignment-row-meta)}.dashboard-assignment-row-meta-class{color:var(--assignment-row-meta);letter-spacing:.01em;text-transform:uppercase;margin:0;font-weight:700}.dashboard-assignment-row-meta{min-width:0;font-size:.82rem;line-height:1.18}.dashboard-assignment-row-meta-compact{grid-template-columns:minmax(0,1fr) 5.45rem minmax(4.65rem,max-content);align-items:center;gap:.42rem;min-width:0;max-width:100%;display:grid;overflow:hidden}.dashboard-assignment-row-meta-compact.is-date-only{grid-template-columns:minmax(0,1fr) 5.45rem}.dashboard-assignment-row-meta-compact.is-date-only .dashboard-assignment-row-meta-due{grid-column:2}.dashboard-assignment-row-meta-can-span{width:100%;max-width:100%}.dashboard-assignment-row-meta>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:inline-block;overflow:hidden}.dashboard-assignment-row-meta>span+span{padding-left:.5rem;position:relative}.dashboard-assignment-row-meta>span+span:before{content:"";background:#ffffff2e;width:1px;height:.8em;position:absolute;top:50%;left:0;transform:translateY(-50%)}.dashboard-assignment-row-meta-due,.dashboard-assignment-row-meta-class{justify-self:start}.dashboard-assignment-row-meta-class{min-width:0}.dashboard-assignment-row-meta-due{text-align:right;font-variant-numeric:tabular-nums;min-width:0}.dashboard-assignment-row-meta>.dashboard-assignment-row-meta-due{padding-left:0}.dashboard-assignment-row-meta>.dashboard-assignment-row-meta-due:before{display:none}.dashboard-assignment-row-meta-grade{min-width:0}.dashboard-assignment-row-meta>.dashboard-assignment-row-meta-grade{padding-left:0}.dashboard-assignment-row-meta>.dashboard-assignment-row-meta-grade:before{display:none}.dashboard-assignment-row-score-weight{padding-left:.94rem;font-size:.78rem;position:relative;transform:translate(.08rem)}.dashboard-assignment-row-score-weight:before{content:"";border-bottom:.5rem solid #ffd33d;border-left:.28rem solid #0000;border-right:.28rem solid #0000;width:0;height:0;position:absolute;top:50%;left:.1rem;transform:translateY(-48%)}.dashboard-assignment-row-panels{gap:.38rem;padding:0 .72rem .62rem;display:grid}:root[data-theme=light] .dashboard-assignment-row{--assignment-row-border:#3e4e652e;--assignment-row-accent:#3e4e6557;--assignment-row-bg:#ffffffe6;--assignment-row-bg-hover:#f7fafff5;--assignment-row-meta:#44566b;--assignment-row-score:#17212b;--assignment-row-supporting:#5b6b7f;--assignment-row-title:#17212b;--assignment-note-bubble-border:#3e4e6561;--assignment-note-bubble-bg:#ffffffd1;--assignment-note-bubble-color:#35475b;--assignment-note-bubble-filled-border:#1869d861;--assignment-note-bubble-filled-bg:#1869d81a;--assignment-note-bubble-filled-color:#1557c7;--assignment-note-input-border:#1869d83d;--assignment-note-input-bg:#ffffffeb;--assignment-note-input-color:#17212b;--assignment-note-label-color:#435365;--assignment-note-button-border:#3e4e6533;--assignment-note-button-bg:#ffffffc2;--assignment-note-button-color:#17212b;--assignment-note-button-hover-bg:#1869d814;--assignment-note-button-hover-border:#1869d840}:root[data-theme=light] .dashboard-assignment-row.is-missing{--assignment-row-border:var(--danger-border);--assignment-row-accent:var(--danger);--assignment-row-bg:var(--danger-surface);--assignment-row-bg-hover:var(--danger-surface-strong);--assignment-row-meta:#3f4f62;--assignment-row-score:#c9413c;--assignment-row-supporting:#94413c;--assignment-row-title:#17212b}:root[data-theme=light] .dashboard-assignment-row.is-low_score{--assignment-row-border:#d0520061;--assignment-row-accent:#d05200;--assignment-row-bg:#d052001a;--assignment-row-bg-hover:#d0520029;--assignment-row-meta:#3f4f62;--assignment-row-score:#d05200;--assignment-row-supporting:#8a3a00;--assignment-row-title:#17212b}:root[data-theme=light] .dashboard-assignment-row.is-upcoming{--assignment-row-border:var(--warning-border);--assignment-row-accent:var(--warning);--assignment-row-bg:var(--warning-surface);--assignment-row-bg-hover:var(--warning-surface-strong);--assignment-row-meta:#3f4f62;--assignment-row-score:#9a6400;--assignment-row-supporting:#6f510d;--assignment-row-title:#17212b}:root[data-theme=light] .dashboard-assignment-row.is-hidden{--assignment-row-border:#3e4e6524;--assignment-row-bg:#ffffff9e;--assignment-row-bg-hover:#ffffffc7;--assignment-row-meta:#647184;--assignment-row-score:#647184;--assignment-row-supporting:#7a8797;--assignment-row-title:#4d5d70}:root[data-theme=light] .dashboard-assignment-row-shell{box-shadow:0 8px 18px #3e4e6514}:root[data-theme=light] .dashboard-assignment-row-score-block.is-success .dashboard-assignment-row-score-block-value,:root[data-theme=light] .dashboard-assignment-row-grade.is-success{color:#168154}:root[data-theme=light] .dashboard-assignment-row-score-block.is-warning .dashboard-assignment-row-score-block-value,:root[data-theme=light] .dashboard-assignment-row-grade.is-warning{color:#9a5a0d}:root[data-theme=light] .dashboard-assignment-row-score-block.is-danger .dashboard-assignment-row-score-block-value,:root[data-theme=light] .dashboard-assignment-row-grade.is-danger{color:#c9413c}:root[data-theme=light] .dashboard-assignment-row-score-block.is-muted .dashboard-assignment-row-score-block-value{color:#647184}:root[data-theme=light] .dashboard-assignment-row-weight,:root[data-theme=light] .dashboard-assignment-row-score-weight:before{color:#9a6a00}:root[data-theme=light] .dashboard-assignment-row-score-weight:before{border-bottom-color:#c98700}:root[data-theme=light] .dashboard-assignment-row-meta>span+span:before{background:#3e4e652e}:root[data-theme=light] .dashboard-assignment-reason{color:#835400}
.assignment-comment-card{--assignment-comment-border:#ffffff1a;--assignment-comment-bg:#ffffff0a;--assignment-comment-accent:var(--text);--assignment-comment-copy:var(--text);gap:var(--assignment-comment-card-gap);padding:var(--assignment-comment-card-padding);border-radius:var(--assignment-comment-card-radius);border:1px solid var(--assignment-comment-border);background:var(--assignment-comment-bg);display:grid}.assignment-comment-card-teacher{--assignment-comment-border:var(--assignment-comment-teacher-border);--assignment-comment-bg:var(--assignment-comment-teacher-bg);--assignment-comment-accent:var(--assignment-comment-teacher-accent);--assignment-comment-copy:var(--assignment-comment-teacher-copy)}.assignment-comment-card-family{--assignment-comment-border:var(--assignment-comment-family-border);--assignment-comment-bg:var(--assignment-comment-family-bg);--assignment-comment-accent:var(--assignment-comment-family-accent);--assignment-comment-copy:var(--assignment-comment-family-copy);position:relative}.assignment-comment-card-family.is-parent{--assignment-comment-border:#9974ff94;--assignment-comment-bg:#352160f0;--assignment-comment-accent:#b89cff;--assignment-comment-copy:#f3edff;--assignment-note-bubble-filled-border:#b89cffc7;--assignment-note-bubble-filled-bg:#754ed280;--assignment-note-bubble-filled-color:#f7f2ff;--assignment-note-bubble-hover-border:#cebbffe0;--assignment-note-bubble-hover-bg:#8961e894}.assignment-comment-card-family.is-student{--assignment-comment-border:#317bff94;--assignment-comment-bg:#062445f5;--assignment-comment-accent:#4f93ff;--assignment-comment-copy:#eaf3ff;--assignment-note-bubble-filled-border:#5b9dffc7;--assignment-note-bubble-filled-bg:#3969c07a;--assignment-note-bubble-filled-color:#eaf3ff;--assignment-note-bubble-hover-border:#79b1ffe6;--assignment-note-bubble-hover-bg:#427dda8f}.assignment-comment-card-family.has-note-bubble{--assignment-note-compact-edit-size:var(--assignment-note-bubble-size);padding-right:calc(var(--assignment-comment-card-padding-inline,.72rem) + var(--assignment-note-bubble-size) + .55rem)}.assignment-comment-card-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.assignment-comment-card-title{align-items:center;gap:.52rem;min-width:0;display:inline-flex}.assignment-comment-card-icon{flex:none;justify-content:center;align-items:center;width:1.42rem;height:1.42rem;display:inline-flex}.assignment-comment-card-icon svg{width:100%;height:100%;display:block}.assignment-comment-card-teacher .assignment-comment-card-icon,.assignment-comment-card-teacher .assignment-comment-card-label,.assignment-comment-card-family .assignment-comment-card-icon,.assignment-comment-card-family .assignment-comment-card-label{color:var(--assignment-comment-accent)}.assignment-comment-card-label{font-size:var(--assignment-comment-label-size);font-weight:700;line-height:var(--assignment-comment-label-line-height);margin:0}.assignment-teacher-comments-list{gap:.45rem;display:grid}.assignment-teacher-comment{gap:.32rem;display:grid}.assignment-teacher-comment-body{color:var(--assignment-comment-copy);-webkit-line-clamp:3;white-space:pre-line;-webkit-box-orient:vertical;margin:0;font-size:.94rem;line-height:1.35;display:-webkit-box;overflow:hidden}.dashboard-assignment-row-panels .assignment-comment-card-teacher{border-radius:.44rem;min-height:0;padding:.36rem .64rem;display:block}.dashboard-assignment-row-panels .assignment-comment-card-family.has-note-bubble{border-radius:.44rem;min-height:2.4rem;padding:.42rem .64rem}.dashboard-assignment-row-panels .assignment-comment-card-family.has-role-icon,.dashboard-assignment-row-panels .assignment-comment-card-teacher.has-role-icon{padding-right:2.74rem;position:relative}.dashboard-assignment-row-panels .assignment-comment-card-teacher.has-role-icon{padding-right:2.64rem}.dashboard-assignment-row-panels .assignment-comment-card-family.has-edit-bubble{--assignment-note-compact-edit-size:2rem;padding-right:calc(.38rem + var(--assignment-note-compact-edit-size) + .12rem)}.dashboard-assignment-row-panels .assignment-comment-card-family.has-inline-editor .assignment-note-input{resize:none;overflow:hidden}.dashboard-assignment-row-panels .assignment-comment-card-family .assignment-comment-card-label{text-transform:none;margin-bottom:.18rem;font-size:.78rem}.assignment-compact-role-icon{width:2.32rem;height:2.32rem;color:var(--assignment-comment-accent);opacity:.82;pointer-events:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:50%;right:.38rem;transform:translateY(50%)}.assignment-compact-role-icon svg{width:1.78rem;height:1.78rem;display:block}.assignment-compact-role-icon.is-teacher{width:2.18rem;height:2.18rem;right:.28rem}.assignment-compact-role-icon.is-teacher svg{width:1.62rem;height:1.62rem}.dashboard-assignment-row-panels .assignment-comment-card-teacher .assignment-comment-card-header{display:none}.dashboard-assignment-row-panels .assignment-comment-card-teacher .assignment-teacher-comments-list{min-width:0;display:block}.dashboard-assignment-row-panels .assignment-comment-card-teacher .assignment-teacher-comment:not(:first-child){display:none}.dashboard-assignment-row-panels .assignment-comment-card-teacher .assignment-teacher-comment-body{-webkit-line-clamp:3;color:var(--assignment-comment-copy);white-space:normal;-webkit-box-orient:vertical;font-size:.88rem;line-height:1.24;display:-webkit-box;overflow:hidden}.dashboard-assignment-row-panels .assignment-comment-card-family.has-note-bubble .assignment-note-preview{-webkit-line-clamp:3;white-space:normal;font-size:.88rem;line-height:1.24}.dashboard-assignment-row-shell.has-empty-note-action.has-comment-panels .assignment-comment-card-teacher:not(.has-role-icon){padding-right:.64rem}.assignment-note-editor{gap:.52rem;display:grid}.assignment-note-label{color:var(--assignment-note-label-color);font-size:var(--assignment-note-label-size);letter-spacing:.01em;font-weight:700}.assignment-note-preview{color:var(--assignment-comment-copy);-webkit-line-clamp:3;white-space:pre-line;-webkit-box-orient:vertical;margin:0;font-size:.94rem;line-height:1.35;display:-webkit-box;overflow:hidden}.assignment-note-input{border:1px solid var(--assignment-note-input-border);border-radius:var(--assignment-note-input-radius);background:var(--assignment-note-input-bg);width:100%;min-height:5rem;color:var(--assignment-note-input-color);resize:vertical;font:inherit;padding:.78rem .88rem}.assignment-note-editor-actions{justify-content:flex-end;gap:.45rem;display:flex}.assignment-note-editor-footer{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.assignment-note-editor-actor{align-items:center;gap:.52rem;min-width:0;display:inline-flex}.page-shell .assignment-note-save,.page-shell .assignment-note-cancel,.page-shell .assignment-note-bubble{box-shadow:none;border-radius:999px}.page-shell .assignment-note-save,.page-shell .assignment-note-cancel{border:1px solid var(--assignment-note-button-border);background:var(--assignment-note-button-bg);min-height:2rem;color:var(--assignment-note-button-color);padding:.35rem .72rem;font-size:.84rem;font-weight:600}.page-shell .assignment-note-save:hover,.page-shell .assignment-note-save:focus-visible,.page-shell .assignment-note-cancel:hover,.page-shell .assignment-note-cancel:focus-visible{background:var(--assignment-note-button-hover-bg);border-color:var(--assignment-note-button-hover-border);transform:none}.page-shell .assignment-note-bubble{width:var(--assignment-note-bubble-size);height:var(--assignment-note-bubble-size);border:1px solid var(--assignment-note-bubble-border);background:var(--assignment-note-bubble-bg);color:var(--assignment-note-bubble-color);justify-content:center;align-items:center;padding:0;display:inline-flex}.page-shell .assignment-note-bubble.is-filled{border-color:var(--assignment-note-bubble-filled-border);background:var(--assignment-note-bubble-filled-bg);color:var(--assignment-note-bubble-filled-color)}.page-shell .assignment-note-bubble.is-parent{--assignment-note-bubble-filled-border:#b89cffc7;--assignment-note-bubble-filled-bg:#754ed280;--assignment-note-bubble-filled-color:#f7f2ff;--assignment-note-bubble-border:#b89cffb3;--assignment-note-bubble-bg:#754ed233;--assignment-note-bubble-color:#f7f2ff;--assignment-note-bubble-hover-border:#cebbffe0;--assignment-note-bubble-hover-bg:#8961e894}.page-shell .assignment-note-bubble.is-student{--assignment-note-bubble-filled-border:#5b9dffc7;--assignment-note-bubble-filled-bg:#3969c07a;--assignment-note-bubble-filled-color:#eaf3ff;--assignment-note-bubble-border:#5b9dffb8;--assignment-note-bubble-bg:#3969c033;--assignment-note-bubble-color:#eaf3ff;--assignment-note-bubble-hover-border:#79b1ffe6;--assignment-note-bubble-hover-bg:#427dda8f}.assignment-comment-card-family .assignment-note-bubble.is-filled,.assignment-comment-card-family .assignment-note-bubble.is-compact-card-edit{right:var(--assignment-comment-card-padding-inline,.72rem);position:absolute;bottom:50%;transform:translateY(50%)}.page-shell .assignment-comment-card-family .assignment-note-bubble.is-compact-card-edit{width:var(--assignment-note-compact-edit-size,var(--assignment-note-bubble-size));height:var(--assignment-note-compact-edit-size,var(--assignment-note-bubble-size));z-index:2;touch-action:manipulation;border-color:var(--assignment-note-bubble-filled-border);background:var(--assignment-note-bubble-filled-bg);color:var(--assignment-note-bubble-filled-color);right:.38rem}.page-shell .assignment-comment-card-family .assignment-note-bubble.is-compact-card-edit:hover,.page-shell .assignment-comment-card-family .assignment-note-bubble.is-compact-card-edit:focus-visible{border-color:var(--assignment-note-bubble-hover-border);background:var(--assignment-note-bubble-hover-bg);transform:translateY(50%)}.page-shell .assignment-note-bubble.is-header{flex:none}.dashboard-assignment-row-note-action-row{justify-content:flex-end;padding:0;display:flex}.dashboard-assignment-row-region-action{min-height:0}.dashboard-assignment-row-shell.has-empty-note-action .dashboard-assignment-row-note-action-row{z-index:2;position:absolute;top:-.12rem;right:-.12rem}.dashboard-assignment-row-shell.has-empty-note-action.has-comment-panels .dashboard-assignment-row-note-action-row{top:-.12rem;right:-.12rem}.page-shell .dashboard-assignment-row-note-action-row .assignment-note-bubble.is-compact-row-action{border-color:var(--assignment-note-bubble-border);background:var(--assignment-note-bubble-bg);color:var(--assignment-note-bubble-color)}.page-shell .assignment-note-bubble:hover,.page-shell .assignment-note-bubble:focus-visible{background:var(--assignment-note-bubble-hover-bg,#ffffff14);border-color:var(--assignment-note-bubble-hover-border,#ffffff47);transform:none}.assignment-note-icon{width:.94rem;height:.94rem;display:block}:root[data-theme=light] .assignment-comment-card-family.is-parent{--assignment-comment-border:#6d48bf47;--assignment-comment-bg:#f8f4fff5;--assignment-comment-accent:#5c3ea7;--assignment-comment-copy:#261c3f;--assignment-note-bubble-filled-border:#6d48bf61;--assignment-note-bubble-filled-bg:#6d48bf1f;--assignment-note-bubble-filled-color:#4f3296;--assignment-note-bubble-hover-border:#6d48bf7a;--assignment-note-bubble-hover-bg:#6d48bf2e}:root[data-theme=light] .assignment-comment-card-family.is-student{--assignment-comment-border:#1869d847;--assignment-comment-bg:#eff6fff5;--assignment-comment-accent:#1557c7;--assignment-comment-copy:#17212b;--assignment-note-bubble-filled-border:#1869d861;--assignment-note-bubble-filled-bg:#1869d81f;--assignment-note-bubble-filled-color:#1557c7;--assignment-note-bubble-hover-border:#1869d87a;--assignment-note-bubble-hover-bg:#1869d82e}:root[data-theme=light] .page-shell .assignment-note-bubble.is-parent{--assignment-note-bubble-filled-border:#6d48bf61;--assignment-note-bubble-filled-bg:#6d48bf1f;--assignment-note-bubble-filled-color:#4f3296;--assignment-note-bubble-border:#6d48bf57;--assignment-note-bubble-bg:#f8f4ffeb;--assignment-note-bubble-color:#5c3ea7;--assignment-note-bubble-hover-border:#6d48bf7a;--assignment-note-bubble-hover-bg:#6d48bf29}:root[data-theme=light] .page-shell .assignment-note-bubble.is-student{--assignment-note-bubble-filled-border:#1869d861;--assignment-note-bubble-filled-bg:#1869d81f;--assignment-note-bubble-filled-color:#1557c7;--assignment-note-bubble-border:#1869d857;--assignment-note-bubble-bg:#eff6ffeb;--assignment-note-bubble-color:#1557c7;--assignment-note-bubble-hover-border:#1869d87a;--assignment-note-bubble-hover-bg:#1869d829}:root[data-theme=light] .assignment-note-input{color:#17212b;background:#fffffff5;border-color:#2d3b4e4d}:root[data-theme=light] .assignment-note-input:focus{border-color:#1869d894;outline:none;box-shadow:0 0 0 4px #1869d821}
.assignment-detail-view{z-index:60;justify-content:center;align-items:stretch;padding:1rem;display:flex;position:fixed;inset:0}.assignment-detail-view-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020a10d1;position:absolute;inset:0}.assignment-detail-view-panel{--assignment-comment-teacher-border:#ff9f1c75;--assignment-comment-teacher-bg:#282218f0;--assignment-comment-teacher-accent:#ffb238;--assignment-comment-teacher-copy:#fff6e9;--assignment-comment-family-border:#317bff94;--assignment-comment-family-bg:#062445f5;--assignment-comment-family-accent:#4f93ff;--assignment-comment-family-copy:#eaf3ff;--assignment-note-bubble-size:2rem;--assignment-note-bubble-border:#ffffffc2;--assignment-note-bubble-bg:#ffffff05;--assignment-note-bubble-color:#f4f8fc;--assignment-note-bubble-filled-border:#669affd1;--assignment-note-bubble-filled-bg:#3969c070;--assignment-note-bubble-filled-color:#ddebff;--assignment-note-input-border:#669aff6b;--assignment-note-input-bg:#09152cad;--assignment-note-input-color:#eef5ff;--assignment-note-input-radius:.55rem;--assignment-note-label-color:#78a9ff;--assignment-note-label-size:.86rem;--assignment-note-button-border:#669aff6b;--assignment-note-button-bg:#3969c052;--assignment-note-button-color:#eef5ff;--assignment-note-button-hover-bg:#3969c07a;--assignment-note-button-hover-border:#8eb8ff94;--assignment-comment-card-gap:.58rem;--assignment-comment-card-padding-block:.78rem;--assignment-comment-card-padding-inline:.95rem;--assignment-comment-card-padding:.78rem .95rem;--assignment-comment-card-radius:.46rem;--assignment-comment-label-size:.9rem;--assignment-comment-label-line-height:1.15;z-index:3;width:min(100%,28rem);max-height:100%;transform:translateX(var(--assignment-detail-swipe-offset,0));touch-action:pan-y;will-change:transform;background:#04111a;border:1px solid #adbed42e;border-radius:1.45rem;align-content:start;gap:1rem;padding:1rem 1rem 1.15rem;transition:transform .18s cubic-bezier(.2,.9,.2,1),opacity .18s;display:grid;position:relative;overflow:auto;box-shadow:0 28px 70px #00000080}.assignment-detail-view-panel.is-swipe-next.is-swipe-exiting{opacity:.68}.assignment-detail-view-panel.is-swipe-next.is-swipe-entering{animation:.26s cubic-bezier(.2,.9,.2,1) assignment-detail-swipe-next-enter}.assignment-detail-view-panel.is-swipe-previous.is-swipe-exiting{opacity:.68}.assignment-detail-view-panel.is-swipe-previous.is-swipe-entering{animation:.26s cubic-bezier(.2,.9,.2,1) assignment-detail-swipe-previous-enter}.assignment-detail-view-panel.is-dragging{transition:opacity .18s}.assignment-detail-view-back-swipe-zone{z-index:2;width:max(4rem, env(safe-area-inset-right));touch-action:pan-y;position:absolute;top:4rem;bottom:4.5rem;right:0}@keyframes assignment-detail-swipe-next-enter{0%{opacity:.76;transform:translate(112%)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.assignment-detail-view-panel{transition:none}.assignment-detail-view-panel.is-swipe-next.is-swipe-entering,.assignment-detail-view-panel.is-swipe-previous.is-swipe-entering{animation:none}}@keyframes assignment-detail-swipe-previous-enter{0%{opacity:.76;transform:translate(-112%)}to{opacity:1;transform:translate(0)}}.assignment-detail-view-header{border-bottom:1px solid #adbed41f;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:3.15rem;margin:-.2rem -1rem 0;padding:0 1rem .65rem;display:grid}.assignment-detail-view-header h2{text-align:center;margin:0;font-size:1rem;font-weight:700}.page-shell .assignment-detail-view-close{color:#eef4fb;width:2.1rem;height:2.1rem;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:999px;padding:0}.page-shell .assignment-detail-view-close:hover,.page-shell .assignment-detail-view-close:focus-visible{background:#ffffff14;border-color:#ffffff3d;transform:none}.assignment-detail-view-close svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px;width:1.25rem;height:1.25rem}.assignment-detail-view-header-spacer{width:2.2rem;height:2.2rem}.assignment-detail-summary{gap:.58rem;display:grid}.assignment-detail-summary.is-low_score .assignment-detail-summary-score{color:#ffad3f}.assignment-detail-summary.is-missing .assignment-detail-summary-score{color:#ff7866}.assignment-detail-summary.is-upcoming .assignment-detail-summary-score{color:#f0ba4f}.assignment-detail-summary-topline,.assignment-detail-summary-meta{justify-content:space-between;align-items:start;gap:1rem;display:flex}.assignment-detail-summary-score,.assignment-detail-summary-grade{font-weight:700;line-height:1}.assignment-detail-summary-score{letter-spacing:0;font-size:2.1rem}.assignment-detail-summary-grade{letter-spacing:0;font-size:1.45rem}.assignment-detail-summary-grade.is-success{color:#7edd57}.assignment-detail-summary-grade.is-warning{color:#ffd089}.assignment-detail-summary-grade.is-danger{color:#ff7866}.assignment-detail-summary-title{letter-spacing:0;margin:0;font-size:1.55rem;line-height:1.12}.assignment-detail-summary-class,.assignment-detail-summary-due{color:#d7e0ea;margin:0}.assignment-detail-summary-class{letter-spacing:.01em;text-transform:uppercase;font-size:1rem;font-weight:700}.assignment-detail-summary-due{color:#b9c6d5;font-size:1rem}.assignment-detail-summary-impact{color:#ffd33d;text-align:right;white-space:nowrap;justify-content:flex-end;align-items:center;gap:.34rem;font-size:.95rem;font-weight:700;line-height:1.05;display:inline-flex}.assignment-detail-summary-impact-icon{border-bottom:.5rem solid #ffd33d;border-left:.28rem solid #0000;border-right:.28rem solid #0000;width:0;height:0;transform:translateY(-.04rem)}.assignment-detail-comments{gap:.9rem;display:grid}.assignment-detail-freshness-inline{color:#ddffd4;background:#7edd571f;border:1px solid #7edd5757;border-radius:.45rem;width:fit-content;max-width:100%;padding:.42rem .62rem;font-size:.88rem;font-weight:700;line-height:1.2}.assignment-detail-comment-card{--assignment-comment-card-padding-block:.9rem;--assignment-comment-card-padding-inline:.95rem;border-radius:.46rem;gap:.75rem;padding:.9rem .95rem}.assignment-detail-comment-card.assignment-comment-card-family:has(.assignment-note-bubble.is-filled){padding-right:calc(var(--assignment-comment-card-padding-inline) + 2.7rem + .85rem)}.assignment-detail-comment-card.assignment-comment-card-family .assignment-note-bubble.is-filled{right:var(--assignment-comment-card-padding-inline);bottom:var(--assignment-comment-card-padding-block);border-color:var(--assignment-note-bubble-filled-border);background:var(--assignment-note-bubble-filled-bg);width:2.7rem;height:2.7rem;color:var(--assignment-note-bubble-filled-color);touch-action:manipulation;position:absolute;transform:none;box-shadow:inset 0 0 0 1px #ffffff14}.page-shell .assignment-detail-view-panel .assignment-note-bubble:hover,.page-shell .assignment-detail-view-panel .assignment-note-bubble:focus-visible{box-shadow:none;transform:none}.assignment-detail-comment-card.assignment-comment-card-family .assignment-note-bubble.is-filled .assignment-note-icon{width:1.08rem;height:1.08rem}.assignment-detail-comment-card .assignment-note-input{resize:none;overflow:hidden}.page-shell .assignment-detail-comment-card.assignment-comment-card-family .assignment-note-bubble.is-filled:hover,.page-shell .assignment-detail-comment-card.assignment-comment-card-family .assignment-note-bubble.is-filled:focus-visible{border-color:var(--assignment-note-bubble-hover-border,#8eb8ffb8);background:var(--assignment-note-bubble-hover-bg,#3969c094);transform:none;box-shadow:inset 0 0 0 1px #ffffff1a}.assignment-detail-comment-body,.assignment-detail-family-plan-body{color:var(--assignment-comment-copy);white-space:pre-line;margin:0;font-size:1.02rem;line-height:1.45}.assignment-detail-comment-meta{color:#fff6e9bd;margin:.05rem 0 0;font-size:.92rem;line-height:1.3}.assignment-detail-meta-card{background:#ffffff09;border:1px solid #adbed429;border-radius:.55rem;gap:.75rem;padding:.95rem 1rem;display:grid}.assignment-detail-meta-card h4{margin:0;font-size:1.15rem}.assignment-detail-meta-list{gap:.85rem;margin:0;display:grid}.assignment-detail-meta-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;display:grid}.assignment-detail-meta-row dt,.assignment-detail-meta-row dd{margin:0}.assignment-detail-meta-row dt{color:#d7e0ea}.assignment-detail-meta-row dd{color:#f4f8fc;text-align:right}.assignment-detail-open-link{color:#f4f8fc;background:#ffffff08;border:1px solid #adbed429;border-radius:.55rem;justify-content:center;align-items:center;min-height:3.4rem;padding:.8rem 1rem;font-size:1.06rem;font-weight:600;text-decoration:none;display:inline-flex}.assignment-detail-open-link:hover,.assignment-detail-open-link:focus-visible{background:#ffffff0f;border-color:#ffffff38}.assignment-detail-view-return-zone{z-index:2;padding:.75rem 1rem calc(.85rem + env(safe-area-inset-bottom));background:linear-gradient(#04111a00,#04111a 28%);margin:0 -1rem -1.15rem;position:sticky;bottom:-1.15rem}.page-shell .assignment-detail-view-return{color:#eef4fb;width:100%;min-height:3rem;box-shadow:none;background:#ffffff0e;border:1px solid #adbed42e;border-radius:999px;font-size:1rem;font-weight:700}.page-shell .assignment-detail-view-return:hover,.page-shell .assignment-detail-view-return:focus-visible{background:#ffffff17;border-color:#ffffff47;transform:none}:root[data-theme=light] .assignment-detail-view-backdrop{background:#17212b2e}:root[data-theme=light] .assignment-detail-view-panel{--assignment-comment-teacher-border:rgba(var(--alert-rgb), .28);--assignment-comment-teacher-bg:#fff8ebf5;--assignment-comment-teacher-accent:#9a5a0d;--assignment-comment-teacher-copy:#332618;--assignment-comment-family-border:#1869d83d;--assignment-comment-family-bg:#eff6fff0;--assignment-comment-family-accent:#1557c7;--assignment-comment-family-copy:#17212b;--assignment-note-bubble-border:#3e4e6557;--assignment-note-bubble-bg:#ffffffd1;--assignment-note-bubble-color:#35475b;--assignment-note-bubble-filled-border:#1869d861;--assignment-note-bubble-filled-bg:#1869d81a;--assignment-note-bubble-filled-color:#1557c7;--assignment-note-input-border:#1869d83d;--assignment-note-input-bg:#ffffffeb;--assignment-note-input-color:#17212b;--assignment-note-label-color:#435365;--assignment-note-button-border:#3e4e6533;--assignment-note-button-bg:#ffffffc2;--assignment-note-button-color:#17212b;--assignment-note-button-hover-bg:#1869d814;--assignment-note-button-hover-border:#1869d840;background:linear-gradient(180deg, #fffffffa, #fffcf6fa), var(--surface);border-color:#3e4e652e;box-shadow:0 24px 60px #3e4e652e}:root[data-theme=light] .assignment-detail-view-header{border-bottom-color:#3e4e6524}:root[data-theme=light] .page-shell .assignment-detail-view-close{color:#203145}:root[data-theme=light] .page-shell .assignment-detail-view-close:hover,:root[data-theme=light] .page-shell .assignment-detail-view-close:focus-visible{background:#1869d814;border-color:#1869d833}:root[data-theme=light] .assignment-detail-summary.is-low_score .assignment-detail-summary-score,:root[data-theme=light] .assignment-detail-summary-grade.is-warning{color:#9a5a0d}:root[data-theme=light] .assignment-detail-summary.is-missing .assignment-detail-summary-score,:root[data-theme=light] .assignment-detail-summary-grade.is-danger{color:#c9413c}:root[data-theme=light] .assignment-detail-summary.is-upcoming .assignment-detail-summary-score,:root[data-theme=light] .assignment-detail-summary-grade.is-success{color:#168154}:root[data-theme=light] .assignment-detail-summary-class,:root[data-theme=light] .assignment-detail-summary-due,:root[data-theme=light] .assignment-detail-meta-row dt{color:#435365}:root[data-theme=light] .assignment-detail-summary-impact{color:#9a6a00}:root[data-theme=light] .assignment-detail-summary-impact-icon{border-bottom-color:#c98700}:root[data-theme=light] .assignment-detail-freshness-inline{border-color:rgba(var(--success-rgb), .24);background:rgba(var(--success-rgb), .08);color:#146c49}:root[data-theme=light] .assignment-detail-comment-meta{color:#6b5b45}:root[data-theme=light] .assignment-detail-meta-card,:root[data-theme=light] .assignment-detail-open-link{background:#ffffffbd;border-color:#3e4e6529}:root[data-theme=light] .assignment-detail-meta-row dd,:root[data-theme=light] .assignment-detail-open-link{color:#17212b}:root[data-theme=light] .assignment-detail-open-link:hover,:root[data-theme=light] .assignment-detail-open-link:focus-visible{background:#1869d814;border-color:#1869d83d}:root[data-theme=light] .assignment-detail-view-return-zone{background:linear-gradient(#fffcf600,#fffdf8 28%)}:root[data-theme=light] .page-shell .assignment-detail-view-return{color:#17212b;background:#ffffffdb;border-color:#3e4e652e}:root[data-theme=light] .page-shell .assignment-detail-view-return:hover,:root[data-theme=light] .page-shell .assignment-detail-view-return:focus-visible{background:#1869d814;border-color:#1869d83d}
@media (max-width:900px){.dashboard-health-grid{grid-template-columns:1fr}}@media (max-width:640px){.dashboard-health-card{gap:.85rem}.dashboard-health-grid{grid-template-columns:1fr}.dashboard-health-stat{padding:.85rem .95rem}.dashboard-health-stat strong{font-size:1.05rem}.dashboard-status-strip{flex-direction:column;align-items:start}.monitoring-bucket-summary{grid-template-columns:minmax(0,1fr) auto;column-gap:.65rem;padding:.9rem .36rem}.monitoring-bucket-summary-main{gap:.4rem;min-width:0}.dashboard-monitoring-mode-toggle{min-height:3.05rem}.page-shell .dashboard-monitoring-mode-button{height:2.65rem;padding:.5rem .78rem;font-size:.94rem;font-weight:700}.monitoring-bucket-body{padding:.7rem .04rem .85rem}.dashboard-assignment-row-title-line{gap:.35rem}.dashboard-assignment-row-header{grid-template-columns:max-content minmax(0,1fr) max-content;gap:.18rem .62rem}.dashboard-assignment-row-shell.has-empty-note-action .dashboard-assignment-row-header{grid-template-columns:max-content minmax(0, 1fr) max-content var(--assignment-note-bubble-size)}.dashboard-assignment-row-score-block{width:3.72rem;min-width:3.72rem}.dashboard-assignment-row-score-block-value{font-size:1.46rem}.dashboard-assignment-row-title{font-size:1rem;line-height:1.12}.dashboard-assignment-row-header-aside{gap:.22rem;max-width:4.55rem}.dashboard-assignment-row-grade{font-size:.84rem}.dashboard-assignment-row-weight{font-size:.76rem}.dashboard-assignment-row-meta{font-size:.76rem;line-height:1.12}.dashboard-assignment-row-meta-compact{grid-template-columns:minmax(0,1fr) 4.95rem minmax(4.35rem,max-content);gap:.32rem}.dashboard-assignment-row-meta-compact.is-date-only{grid-template-columns:minmax(0,1fr) 4.95rem}.dashboard-assignment-row-shell:not(.has-empty-note-action) .dashboard-assignment-row-note-action-row{padding:0 .62rem .08rem}.assignment-detail-view{padding:0}.assignment-detail-view-panel{border-left:0;border-right:0;border-radius:0;width:100%;padding:.9rem .85rem 1.2rem}.assignment-detail-summary-score{font-size:2rem}.assignment-detail-summary-grade{font-size:1.7rem}.assignment-detail-summary-title{font-size:1.72rem}}
.page-shell .grades-surface{touch-action:pan-y;padding:.15rem .42rem .05rem;position:relative;overflow:visible}.grades-back-swipe-zone{z-index:8;pointer-events:none;touch-action:pan-y;width:3rem;position:absolute;top:0;bottom:0;right:0}.grades-stack{gap:.42rem;display:grid}.grades-empty-state{border-radius:var(--radius-lg);background:#ffffff06;border:1px solid #ffffff14;margin:0 .08rem;padding:1rem}.grades-empty-state p{color:var(--text-muted);margin:.4rem 0 0}.grades-class-list{gap:0;display:grid}.grades-class-card{background:0 0;border:0;border-radius:0;gap:0;padding:0;display:grid;position:relative;overflow:visible}.grades-class-card+.grades-class-card{border-top:1px solid #ffffff12}.page-shell .grades-class-toggle{z-index:4;appearance:none;width:100%;min-height:0;box-shadow:none;color:inherit;text-align:left;cursor:default;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.62rem;padding:.72rem 2.66rem .7rem .42rem;display:grid;position:sticky;top:0;transform:none}.page-shell button.grades-class-toggle{cursor:pointer}.page-shell .grades-class-toggle:hover,.page-shell .grades-class-toggle:focus-visible{box-shadow:none;background:#ffffff09;transform:none}.page-shell .grades-class-toggle:focus-visible{outline-offset:.14rem;outline:1px solid #7cc7ff6b}.grades-class-copy{min-width:0}.grades-class-copy h3{color:#d7e0ea;text-overflow:ellipsis;white-space:nowrap;margin:.03rem 0 0;font-size:.97rem;font-weight:650;line-height:1.04;overflow:hidden}.grades-class-meta{color:#7f8da0;letter-spacing:.02em;margin:0;font-size:.72rem;font-weight:600;line-height:1.08}.grades-class-grade{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;align-self:start;font-size:.97rem;line-height:1.08}.grades-class-grade.is-success{color:#7edd57}.grades-class-grade.is-warning{color:#ffd089}.grades-class-grade.is-danger{color:#ff7866}.grades-class-grade.is-default,.grades-class-grade.is-muted{color:#b4c0ce}.grades-class-caret{width:1.34rem;height:1.34rem;color:var(--text-soft);pointer-events:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.62rem;right:.5rem}.grades-class-caret svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:.82rem;height:.82rem;transition:transform .14s}.grades-class-toggle[aria-expanded=true] .grades-class-caret svg{transform:rotate(180deg)}.page-shell .grades-class-toggle[aria-expanded=true]{background:#131a25f0;border-radius:0}.grades-assignment-list{border-top:1px solid #ffffff0d;gap:.55rem;padding:.58rem 0 .72rem;display:grid}:root[data-theme=light] .grades-empty-state{background:#ffffffbd;border-color:#3e4e6529}:root[data-theme=light] .grades-class-card+.grades-class-card{border-top-color:#3e4e651f}:root[data-theme=light] .page-shell .grades-class-toggle:hover,:root[data-theme=light] .page-shell .grades-class-toggle:focus-visible{background:#1869d812}:root[data-theme=light] .grades-class-copy h3{color:#17212b}:root[data-theme=light] .grades-class-meta{color:#526277}:root[data-theme=light] .grades-class-grade.is-success{color:#168154}:root[data-theme=light] .grades-class-grade.is-warning{color:#9a5a0d}:root[data-theme=light] .grades-class-grade.is-danger{color:#c9413c}:root[data-theme=light] .grades-class-grade.is-default,:root[data-theme=light] .grades-class-grade.is-muted{color:#647184}:root[data-theme=light] .page-shell .grades-class-toggle[aria-expanded=true]{background:#ffffffeb;box-shadow:inset 0 -1px #3e4e651f}:root[data-theme=light] .grades-assignment-list{border-top-color:#3e4e651f}@media (max-width:640px){.grades-class-card{gap:0}.page-shell .grades-class-toggle{grid-template-columns:minmax(0,1fr) auto;gap:.58rem;min-height:3.5rem;padding:.78rem 2.6rem .74rem .42rem}.grades-class-copy h3,.grades-class-grade{font-size:1.08rem;line-height:1.08}.grades-class-meta{font-size:.78rem;line-height:1.12}.grades-class-caret{width:1.5rem;height:1.5rem;top:.82rem;right:.58rem}}
.calendar-surface{box-sizing:border-box;touch-action:pan-y;align-content:start;gap:.55rem;width:100%;min-height:100svh;padding-top:.72rem;overflow:visible}.calendar-topbar{margin-bottom:.1rem}.calendar-stack{gap:.62rem;min-width:0;display:grid}.calendar-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:0 .08rem;display:grid}.calendar-header-copy{text-align:center;gap:.14rem;display:grid}.calendar-header-copy h2{letter-spacing:-.02em;margin:0;font-size:1.1rem;line-height:1.15}.calendar-header-summary{color:var(--text-muted);margin:0;font-size:.92rem;line-height:1.35}.page-shell .calendar-month-button{width:2.15rem;min-width:2.15rem;min-height:2.15rem;color:var(--text);box-shadow:none;background:#ffffff08;border:1px solid #ffffff1a;border-radius:999px;place-items:center;padding:0;line-height:0;display:inline-grid}.calendar-month-button svg{fill:none;stroke:currentColor;stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round;width:1.08rem;height:1.08rem;display:block}.calendar-weekdays{color:var(--text-soft);text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;padding:0 .08rem;font-size:.8rem;font-weight:600;display:grid}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;padding:0 .08rem;display:grid}.calendar-day-cell{aspect-ratio:1;background:#ffffff06;border:1px solid #ffffff14;border-radius:.9rem;align-content:start;gap:.45rem;min-height:0;padding:.5rem;display:grid;overflow:hidden}.calendar-day-cell.is-outside-month{opacity:.45;background:#ffffff03}.calendar-day-cell.has-assignments{cursor:pointer;background:linear-gradient(#18202df5,#121a25fa);border-color:#7cc7ff3d}.calendar-day-cell.is-selected{background:linear-gradient(#223a52fa,#12263bfa);border-color:#7cc7ffd1;box-shadow:inset 0 0 0 1px #7cc7ff80,0 0 0 1px #7cc7ff2e}.calendar-day-cell.is-selected .calendar-day-number{color:#dff1ff}.calendar-day-number{color:var(--text-soft);font-size:.82rem;font-weight:700}.calendar-day-summary{gap:.18rem;min-width:0;display:grid;overflow:hidden}.calendar-day-trigger{width:100%;min-width:0;min-height:0;color:inherit;text-align:left;pointer-events:none;display:block}.calendar-day-cell.has-assignments:focus-visible{outline-offset:.12rem;border-radius:.75rem;outline:1px solid #7cc7ff6b}.calendar-day-summary strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;line-height:1.2;display:block;overflow:hidden}.calendar-day-summary span{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:600;display:block;overflow:hidden}.calendar-day-summary.is-missing span{color:var(--danger)}.calendar-day-summary.is-low_score span{color:var(--alert)}.calendar-day-summary.is-upcoming span{color:var(--warning)}.calendar-day-summary.is-good_score span{color:var(--success)}.calendar-day-bars{gap:.18rem;width:100%;min-width:0;display:none}.calendar-day-bar{background:var(--text-soft);border-radius:999px;width:100%;height:.2rem;display:block}.calendar-day-bar[data-width-level=one]{width:38%}.calendar-day-bar[data-width-level=two]{width:68%}.calendar-day-bar[data-width-level=many]{width:100%}.calendar-day-bar[data-tone=missing],.calendar-legend-line[data-tone=missing]{background:var(--danger)}.calendar-day-bar[data-tone=low_score],.calendar-legend-line[data-tone=low_score]{background:var(--alert)}.calendar-day-bar[data-tone=upcoming],.calendar-legend-line[data-tone=upcoming]{background:var(--warning)}.calendar-day-bar[data-tone=good_score],.calendar-legend-line[data-tone=good_score]{background:var(--success)}.calendar-legend{flex-wrap:wrap;justify-content:center;gap:.5rem .8rem;padding:0 .08rem;display:flex}.calendar-legend-item{color:var(--text-soft);align-items:center;gap:.34rem;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.calendar-legend-line{background:var(--text-soft);border-radius:999px;width:1.25rem;height:.18rem;display:block}.calendar-empty-state{border-radius:var(--radius-lg);background:#ffffff06;border:1px solid #ffffff14;margin:0 .08rem;padding:1rem}.calendar-empty-state p{color:var(--text-muted);margin:.4rem 0 0}.calendar-day-detail{box-sizing:border-box;border-radius:var(--radius-lg);background:#ffffff06;border:1px solid #ffffff14;gap:.8rem;margin:0 .08rem;padding:1rem;display:grid}.calendar-day-detail-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.calendar-day-detail-copy{gap:.18rem;display:grid}.calendar-day-detail-copy h3{margin:0;font-size:1rem;line-height:1.15}.calendar-day-detail-copy p{color:var(--text-muted);margin:0;font-size:.9rem}.page-shell .calendar-day-detail-close{min-height:2.1rem;color:var(--text);box-shadow:none;background:#ffffff08;border:1px solid #ffffff1a;border-radius:999px;padding:.4rem .7rem}.calendar-day-detail-list{gap:.45rem;display:grid}.calendar-day-detail-item{background:#ffffff08;border:1px solid #ffffff14;border-radius:.9rem;gap:.16rem;padding:.72rem .8rem;display:grid}.calendar-day-detail-item strong{color:var(--text);font-size:.92rem;line-height:1.2}.calendar-day-detail-item span{color:var(--text-soft);font-size:.84rem}.calendar-day-detail-item.is-missing{border-color:rgba(var(--danger-rgb), .34);background:rgba(var(--danger-rgb), .05)}.calendar-day-detail-item.is-late{border-color:rgba(var(--alert-rgb), .32);background:rgba(var(--alert-rgb), .05)}.calendar-day-detail-item.is-upcoming{border-color:rgba(var(--warning-rgb), .28);background:rgba(var(--warning-rgb), .04)}:root[data-theme=light] .page-shell .calendar-month-button,:root[data-theme=light] .page-shell .calendar-day-detail-close{background:#ffffffc2;border-color:#3e4e6529}:root[data-theme=light] .calendar-day-cell{background:#ffffffad;border-color:#3e4e6524}:root[data-theme=light] .calendar-day-cell.is-outside-month{background:#ffffff61}:root[data-theme=light] .calendar-day-cell.has-assignments{background:#ffffffe0;border-color:#1869d83d}:root[data-theme=light] .calendar-day-cell.is-selected{background:#e8f1ff;border-color:#1869d8ad;box-shadow:inset 0 0 0 1px #1869d83d,0 0 0 1px #1869d81f}:root[data-theme=light] .calendar-day-cell.is-selected .calendar-day-number{color:#0f52b7}:root[data-theme=light] .calendar-empty-state,:root[data-theme=light] .calendar-day-detail,:root[data-theme=light] .calendar-day-detail-item{background:#ffffffbd;border-color:#3e4e6529}:root[data-theme=light] .calendar-day-detail-item.is-missing{border-color:rgba(var(--danger-rgb), .28);background:rgba(var(--danger-rgb), .06)}:root[data-theme=light] .calendar-day-detail-item.is-late{border-color:rgba(var(--alert-rgb), .26);background:rgba(var(--alert-rgb), .07)}:root[data-theme=light] .calendar-day-detail-item.is-upcoming{border-color:rgba(var(--warning-rgb), .24);background:rgba(var(--warning-rgb), .07)}@media (max-width:640px){.calendar-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.58rem}.calendar-header-copy{order:0;grid-column:auto}.calendar-header-summary{display:none}.calendar-weekdays,.calendar-grid{gap:.3rem}.calendar-day-cell{border-radius:.78rem;gap:.22rem;min-height:0;padding:.36rem}.calendar-day-summary{display:none}.calendar-day-bars{align-self:end;margin-top:.12rem;display:grid}.calendar-day-bar{height:.18rem}.calendar-day-summary strong{font-size:.58rem;line-height:1}.calendar-day-summary span{font-size:.56rem;line-height:1}.calendar-day-detail{width:calc(100% + 1rem);margin-inline:-.5rem;padding-inline:.9rem}.calendar-day-detail-header{flex-direction:column;align-items:stretch}}
.alerts-view{touch-action:pan-y;gap:1rem;display:grid;position:relative}.alerts-back-swipe-zone{z-index:8;touch-action:pan-y;width:3rem;position:absolute;top:0;bottom:0;right:0}.alerts-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.alerts-guidance-card{border-radius:var(--radius-lg);background:#f2b35c0f;border:1px solid #f2b35c38;gap:.45rem;padding:1rem 1.05rem;display:grid}.alerts-guidance-card strong{font-size:1rem}.alerts-guidance-card p:last-child{color:var(--text-muted);margin:0}.alerts-quiet-state{border-radius:var(--radius-lg);background:#4fc48d0f;border:1px solid #4fc48d38;gap:.45rem;padding:1rem 1.05rem;display:grid}.alerts-quiet-state strong{font-size:1rem}.alerts-quiet-state p:last-child{color:var(--text-muted);margin:0}.alerts-summary-item{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:#ffffff06;padding:.9rem 1rem}.alerts-summary-item strong{letter-spacing:-.03em;margin-top:.3rem;font-size:1.4rem;line-height:1.1;display:block}.alerts-summary-item p{color:var(--text-muted);margin:.55rem 0 0}.alert-filter-row{flex-wrap:wrap;gap:.55rem;display:flex}.alert-filter-row button{color:var(--text-muted);border:1px solid var(--line);box-shadow:none;background:#ffffff08}.alert-filter-row .active{background:var(--accent);color:#071017;border-color:#7cc7ffb8}.alert-feed{gap:.55rem;display:grid}.alert-item{border:1px solid var(--line-strong);background:#ffffff06;border-radius:8px;padding:.72rem .82rem;transition:max-height .32s,opacity .26s;display:grid;overflow:hidden}.alert-item-shell{gap:.38rem;transition:transform .32s cubic-bezier(.18,.88,.2,1),opacity .26s,filter .32s;display:grid}.alert-item-shell.is-swipeable{touch-action:pan-y;will-change:transform}.alert-item.is-exiting{opacity:0;pointer-events:none;max-height:0}.alert-item.is-exiting .alert-item-shell{opacity:0;filter:saturate(.88)}.alert-item strong{color:var(--text);font-size:.98rem;line-height:1.25;display:block}.alert-item p{color:var(--text-muted);margin:.16rem 0 0;font-size:.88rem;line-height:1.3}.alert-item small{color:var(--text-soft)}.alert-item.is-highlighted{border-color:#78c4ff99;box-shadow:0 0 0 2px #78c4ff33}.alert-item[data-highlighted=true]:focus{outline-offset:2px;outline:2px solid #78c4ffcc}.alert-item-header,.alert-item-footer{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.alert-item-body{gap:.1rem;display:grid}.alert-event-pill{border:1px solid var(--line);color:var(--text);background:#ffffff0a;border-radius:8px;align-items:center;padding:.18rem .45rem;font-size:.76rem;font-weight:700;display:inline-flex}.alert-event-pill.is-missing,.alert-event-pill.is-grade_dropped{color:var(--danger);background:rgba(var(--danger-rgb), .12);border-color:rgba(var(--danger-rgb), .24)}.alert-event-pill.is-low_grade{color:var(--alert);background:rgba(var(--alert-rgb), .14);border-color:rgba(var(--alert-rgb), .24)}.alert-event-pill.is-upcoming,.alert-event-pill.is-upcoming_assignment{color:var(--warning);background:rgba(var(--warning-rgb), .12);border-color:rgba(var(--warning-rgb), .22)}.alert-event-pill.is-recently_graded{color:var(--success);background:rgba(var(--success-rgb), .12);border-color:rgba(var(--success-rgb), .22)}.alert-student-name{color:var(--text-soft);margin:.15rem 0 0;font-size:.88rem}.page-shell button.alert-student-action{color:var(--accent-strong);box-shadow:none;background:0 0;border:0;border-radius:0;justify-self:start;padding:0;font-size:.82rem;font-weight:700}.page-shell button.alert-student-action:hover{box-shadow:none;color:var(--accent);transform:none}.alert-score-line{color:var(--text);font-weight:700}@media (max-width:900px){.alerts-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.alerts-guidance-card,.alerts-quiet-state{padding:.95rem}.alerts-summary{grid-template-columns:1fr;gap:.7rem}.alerts-summary-item{padding:.85rem .95rem}.alert-filter-row{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.alert-item-header,.alert-item-footer{align-items:start}}:root[data-theme=light] .alerts-guidance-card{border-color:rgba(var(--warning-rgb), .24);background:rgba(var(--warning-rgb), .07)}:root[data-theme=light] .alerts-quiet-state{border-color:rgba(var(--success-rgb), .24);background:rgba(var(--success-rgb), .07)}:root[data-theme=light] .alerts-summary-item,:root[data-theme=light] .alert-item{background:#ffffffc2}:root[data-theme=light] .alert-filter-row button{color:#435365;background:#ffffffb8}:root[data-theme=light] .alert-filter-row .active{color:#17212b;background:#e6f0ff;border-color:#1869d857;box-shadow:inset 0 0 0 1px #1869d814}:root[data-theme=light] .alert-event-pill{background:#ffffffbd}@media (max-width:640px){.alert-filter-row{gap:.36rem}.alert-filter-row button{min-height:2.15rem;padding:.52rem .62rem;font-size:.78rem}}
.plan-view{gap:1.25rem}.plan-surface,.plan-secondary-section{gap:1rem;display:grid}.plan-mode-toggle{border:1px solid var(--card-border);background:color-mix(in srgb, var(--card-bg) 88%, white 12%);border-radius:999px;align-items:center;gap:.35rem;padding:.28rem;display:inline-flex}.plan-mode-button{appearance:none;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.55rem .9rem;font-size:.86rem;font-weight:700;line-height:1;transition:background-color .16s,color .16s,box-shadow .16s}.plan-mode-button.is-active{background:color-mix(in srgb, var(--accent) 18%, white 82%);color:var(--accent-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 34%, transparent)}.plan-mode-button:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 58%, white 42%);outline-offset:2px}.plan-lead{color:var(--text-secondary);max-width:42rem;margin:0}.plan-ranked-list,.plan-secondary-list{gap:.9rem;display:grid}.plan-item-card{border:1px solid var(--card-border);background:linear-gradient(180deg, color-mix(in srgb, var(--card-bg) 94%, white 6%) 0%, var(--card-bg) 100%);border-radius:1.1rem;padding:1rem 1.05rem;box-shadow:0 16px 40px #0f172a14}.plan-item-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.plan-item-header h3{margin:.15rem 0 .25rem;font-size:1.02rem}.plan-item-header p{color:var(--text-secondary);margin:0;font-size:.92rem}.plan-item-rank{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent-strong);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.2rem .5rem;font-size:.76rem;font-weight:700;display:inline-flex}.plan-confidence-badge{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:.35rem .7rem;font-size:.78rem;font-weight:700;display:inline-flex}.plan-confidence-badge.is-high_confidence{color:#17693a;background:#1db95429}.plan-confidence-badge.is-limited_confidence{color:#8a4a08;background:#f0ad4e2e}.plan-confidence-badge.is-needs_review{color:#8d2323;background:#b91c1c24}.plan-item-reason{color:var(--text-primary);margin:.55rem 0 0}.plan-item-metadata{color:var(--text-secondary);flex-wrap:wrap;gap:.55rem .75rem;margin-top:.8rem;font-size:.86rem;display:flex}.plan-item-metadata span{background:color-mix(in srgb, var(--card-border) 34%, transparent);border-radius:999px;align-items:center;padding:.18rem .5rem;display:inline-flex}@media (max-width:720px){.plan-item-header{flex-direction:column}.plan-confidence-badge{align-self:flex-start}.plan-mode-toggle{justify-content:stretch;width:100%}.plan-mode-button{text-align:center;flex:1 1 0}}
