:root{--bad-bg:#fdebec;--bad-line:#f2b1b7;--border-dg:#727272;--brand:var(--primary-color);--brand-strong:#8f1620;--card:#fbffff;--card-soft:#f5f9ff;--err:#9e1d1d;--footer-background:var(--theme-footer-bg);--gold:#d6ab02;--hub-prefooter-button-bg:#f1f5ff;--hub-prefooter-button-border:#9bb5df;--hub-prefooter-button-hover-bg:#f3f8ff;--hub-prefooter-button-hover-border:#6f97cb;--hub-prefooter-button-text:#214072;--hub-theme-accent:#2f5be3;--hub-theme-accent-soft:rgba(47,91,227,.1);--hub-theme-accent-strong:#17329a;--hub-theme-banner-bg:var(--primary-color);--hub-theme-banner-border:hsla(0,0%,100%,.18);--hub-theme-banner-text:var(--secondary-color);--hub-theme-card-admin-border:#b50010;--hub-theme-card-admin-border-soft:rgba(255,219,223,.9);--hub-theme-card-admin-icon:#b50010;--hub-theme-card-admin-tone:var(--primary-color);--hub-theme-card-admin-tone-border:rgba(181,0,16,.96);--hub-theme-card-admin-tone-soft:rgba(181,0,16,.22);--hub-theme-card-parent-border:#303030;--hub-theme-card-parent-border-soft:#ededed;--hub-theme-card-parent-icon:#404040;--hub-theme-card-parent-tone:hsla(0,0%,44.3%,.95);--hub-theme-card-parent-tone-border:rgba(50,50,50,.92);--hub-theme-card-parent-tone-soft:rgba(95,94,93,.16);--hub-theme-card-student-border:#002786;--hub-theme-card-student-border-soft:rgba(220,228,245,.9);--hub-theme-card-student-icon:rgba(0,39,134,.8);--hub-theme-card-student-tone:rgba(0,39,134,.6);--hub-theme-card-student-tone-border:rgba(0,39,134,.96);--hub-theme-card-student-tone-soft:rgba(0,39,134,.16);--hub-theme-card-subtitle:#3f4f66;--hub-theme-card-title:#152033;--hub-theme-link:var(--brand-2);--hub-theme-page-bg-body:linear-gradient(180deg,#577284,#edf1f6);--hub-theme-page-bg-end:#edf1f6;--hub-theme-page-bg-glow:rgba(87,114,132,.2);--hub-theme-page-bg-mid:rgba(87,114,132,.44);--hub-theme-page-bg-start:#577284;--hub-theme-panel-bg:var(--secondary-color);--hub-theme-panel-bg-footer:var(--secondary-color);--hub-theme-panel-bg-hero:var(--secondary-color);--hub-theme-panel-bg-section:var(--secondary-color);--hub-theme-panel-bg-soft:#f7faff;--hub-theme-panel-bg-support:#edf3fa;--hub-theme-panel-border:rgba(6,11,20,.67);--hub-theme-panel-shadow:none;--hub-theme-text:#000;--hub-theme-text-soft:#2b2b2b;--ink:#000;--ink-soft:#2b2b2b;--line:#7388a3;--line-strong:#5f7391;--menu-bg:#f7faff;--menu-border:#d7dfea;--menu-button-active-bg:#84eadb;--menu-button-active-border:#1b9a88;--menu-button-active-text:#063f38;--menu-button-bg:#eef3ff;--menu-button-border:#c0d1ea;--menu-button-hover-bg:#9fc4ff;--menu-button-hover-border:#3f74cb;--menu-button-hover-text:var(--secondary-color);--menu-button-pressed-bg:#78a7f0;--menu-button-pressed-border:#2c58a3;--menu-button-pressed-text:#041d40;--menu-button-text:#10294d;--menu-group-pressed-bg:#dbe8fd;--menu-group-pressed-text:#082754;--menu-header-bg:#eef3ff;--menu-link-active-bg:#c9f3ea;--menu-link-active-border:#33a997;--menu-link-active-text:#0a554d;--menu-link-bg:#fbffff;--menu-link-hover-bg:#cfe1ff;--menu-link-hover-border:#4e7fcd;--menu-link-hover-text:var(--secondary-color);--menu-link-pressed-bg:#9fc0fb;--menu-link-pressed-border:#315faa;--menu-link-pressed-text:#062247;--ok:#1f7a4f;--ok-bg:#e8f8ef;--ok-line:#90d3ad;--open-bg:#fff7e6;--open-line:#f5cc85;--portal-action-blue-border:#13346f;--portal-action-blue-border-active:#103067;--portal-action-blue-border-hover:#1a448e;--portal-action-blue-bottom:#183f89;--portal-action-blue-bottom-active:#163a7b;--portal-action-blue-bottom-hover:#2150a7;--portal-action-blue-text:#fbffff;--portal-action-blue-top:#2d66cb;--portal-action-blue-top-active:#1f4f9d;--portal-action-blue-top-hover:#3a74e0;--portal-action-green-border:#123a25;--portal-action-green-bottom:#174d31;--portal-action-secondary-text:#fbffff;--portal-action-green-top:#23774a;--portal-action-red-border:#75131b;--portal-action-red-bottom:#8f1620;--portal-action-red-text:#fbffff;--portal-action-red-top:#cc4452;--portal-action-utility-fill:#f1f5ff;--portal-action-utility-fill-active:#c6d9f6;--portal-action-utility-fill-hover:#dbe8fd;--portal-action-utility-ink:#17345e;--portal-action-utility-stroke:#8fa7c8;--portal-action-utility-stroke-active:#3e679f;--portal-action-utility-stroke-hover:#5e84bb;--portal-admin-stat-card-dark-bad-accent:rgba(255,85,85,.66);--portal-admin-stat-card-dark-bad-bg-end:rgba(66,30,34,.98);--portal-admin-stat-card-dark-bad-bg-start:rgba(76,40,44,.98);--portal-admin-stat-card-dark-bad-border:rgba(255,100,100,.44);--portal-admin-stat-card-dark-bg-end:rgba(47,56,66,.98);--portal-admin-stat-card-dark-bg-start:rgba(57,66,76,.98);--portal-admin-stat-card-dark-border:rgba(115,136,163,.44);--portal-admin-stat-card-dark-good-accent:rgba(57,211,102,.66);--portal-admin-stat-card-dark-good-bg-end:rgba(36,59,40,.98);--portal-admin-stat-card-dark-good-bg-start:rgba(46,69,50,.98);--portal-admin-stat-card-dark-good-border:rgba(144,211,173,.44);--portal-admin-stat-card-dark-student-accent:rgba(0,102,255,.66);--portal-admin-stat-card-dark-student-bg-end:rgba(32,56,82,.98);--portal-admin-stat-card-dark-student-bg-start:rgba(42,76,102,.98);--portal-admin-stat-card-dark-student-border:rgba(0,102,255,.44);--portal-admin-stat-card-dark-warn-accent:rgba(255,168,0,.66);--portal-admin-stat-card-dark-warn-bg-end:rgba(92,64,22,.98);--portal-admin-stat-card-dark-warn-bg-start:rgba(102,74,32,.98);--portal-admin-stat-card-dark-warn-border:rgba(229,203,102,.44);--portal-assignment-head-bg:linear-gradient(180deg,color-mix(in srgb,var(--portal-surface-card) 92%,var(--brand) 8%),var(--portal-surface-card));--portal-border:rgba(115,136,163,.96);--portal-border-strong:#5f7391;--portal-brand-header-block-size:58px;--portal-brand-header-mobile-block-size:110px;--portal-brand-header-row-block-size:44px;--portal-button-alt-fill:#bcc6cc;--portal-button-alt-fill-active:#7d8d97;--portal-button-alt-fill-hover:#e9f7ff;--portal-button-alt-ink:#323435;--portal-button-alt-stroke:#697074;--portal-button-alt-stroke-active:#aeb6bb;--portal-button-alt-stroke-hover:#505355;--portal-button-amber-fill:#f3bf52;--portal-button-amber-fill-active:#e0a73a;--portal-button-amber-fill-hover:#ffd069;--portal-button-amber-ink:#4c2c00;--portal-button-amber-stroke:#a86400;--portal-button-amber-stroke-active:#915500;--portal-button-amber-stroke-hover:#bf7400;--portal-button-blue-fill:#2d66cb;--portal-button-blue-fill-active:#1f4f9d;--portal-button-blue-fill-hover:#3a74e0;--portal-button-blue-ink:#fbffff;--portal-button-blue-stroke:#13346f;--portal-button-blue-stroke-active:#103067;--portal-button-blue-stroke-hover:#1a448e;--portal-button-border:#b8cce4;--portal-button-border-hover:#7fa4d4;--portal-button-border-width:1.5px;--portal-button-chrome-fill:#2d3642;--portal-button-chrome-fill-active:#202936;--portal-button-chrome-fill-hover:#3a4454;--portal-button-chrome-ink:#fbffff;--portal-button-chrome-stroke:#0f1628;--portal-button-chrome-stroke-active:#0b1020;--portal-button-chrome-stroke-hover:#18233a;--portal-button-compact-inline:var(--portal-button-inline);--portal-button-disabled-fill:#d7dfea;--portal-button-disabled-ink:#4d5f79;--portal-button-disabled-stroke:#a1b0c5;--portal-button-font-size:clamp(0.9rem,0.25vw + 0.88rem,0.96rem);--portal-button-font-weight:800;--portal-button-block-padding:0.5rem;--portal-button-gap:0.42rem;--portal-button-green-fill:#1f6e43;--portal-button-green-fill-active:#175535;--portal-button-green-fill-hover:#278653;--portal-button-green-ink:#fbffff;--portal-button-green-stroke:#134428;--portal-button-green-stroke-active:#102f1d;--portal-button-green-stroke-hover:#185433;--portal-button-inline:160px;--portal-button-inline-padding:14px;--portal-button-line-height:1.2;--portal-button-max-inline:var(--portal-button-inline);--portal-button-min-block:48px;--portal-button-min-inline:var(--portal-button-inline);--portal-button-neutral-fill:#e8edee;--portal-button-neutral-fill-active:#b5d2ff;--portal-button-neutral-fill-hover:#c1c1c1;--portal-button-neutral-ink:#17345e;--portal-button-neutral-stroke:#7c97bb;--portal-button-neutral-stroke-active:#3f679e;--portal-button-neutral-stroke-hover:#5879aa;--portal-button-open-week-set-inline:var(--portal-button-inline);--portal-button-purple-fill:#7b4cd5;--portal-button-purple-fill-active:#6739c0;--portal-button-purple-fill-hover:#8b5fe0;--portal-button-purple-ink:#fbffff;--portal-button-purple-stroke:#40227f;--portal-button-purple-stroke-active:#351c69;--portal-button-purple-stroke-hover:#4f2b98;--portal-button-red-fill:#cc4452;--portal-button-red-fill-active:#b93442;--portal-button-red-fill-hover:#dd5765;--portal-button-red-ink:#fbffff;--portal-button-red-stroke:#75131b;--portal-button-red-stroke-active:#671119;--portal-button-red-stroke-hover:#8b1b26;--portal-button-shadow-active:0 8px 16px rgba(19,35,61,.18);--portal-button-shadow-focus:0 0 0 3px rgba(47,91,227,.24);--portal-button-shadow-hover:0 10px 20px rgba(19,35,61,.14);--portal-button-surface:#f5f9ff;--portal-button-surface-hover:#f3f8ff;--portal-button-teal-fill:#007b97;--portal-button-teal-fill-active:#00647c;--portal-button-teal-fill-hover:#0093b4;--portal-button-teal-ink:#fbffff;--portal-button-teal-stroke:#005e8d;--portal-button-teal-stroke-active:#1a9ee0;--portal-button-teal-stroke-hover:#0072a8;--portal-calendar-status-bad-bg:#d92d20;--portal-calendar-status-good-bg:#2e7d32;--portal-calendar-status-open-bg:#0f4a73;--portal-calendar-status-revise-bg:#7a59cc;--portal-calendar-status-submitted-bg:#f6a609;--portal-calendar-status-text-soft:#173b78;--portal-calendar-status-text-strong:#fbffff;--portal-chart-axis-label:var(--portal-text-soft);--portal-chart-surface:var(--portal-surface-card);--portal-chart-surface-soft:var(--portal-surface-support);--portal-chip-amber-fill:#fff3d8;--portal-chip-amber-ink:#6a4a00;--portal-chip-amber-stroke:#e5cb66;--portal-chip-blue-fill:#dfeaff;--portal-chip-blue-ink:#163a72;--portal-chip-blue-stroke:#8fb0dc;--portal-chip-border-width:1.5px;--portal-chip-disabled-fill:#dde4ee;--portal-chip-disabled-ink:#4d5f79;--portal-chip-disabled-stroke:#a8b4c5;--portal-chip-font-size:0.78rem;--portal-chip-font-weight:800;--portal-chip-gap:0.38rem;--portal-chip-green-fill:#e8f8ef;--portal-chip-green-ink:#155f3f;--portal-chip-green-stroke:#90d3ad;--portal-chip-inline:120px;--portal-chip-inline-padding:10px;--portal-chip-interactive-fill:#edf4ff;--portal-chip-interactive-fill-active:#d7e4f8;--portal-chip-interactive-fill-hover:#e3eefc;--portal-chip-interactive-ink:#17345e;--portal-chip-interactive-stroke:#7c97bb;--portal-chip-interactive-stroke-active:#4e6f9d;--portal-chip-interactive-stroke-hover:#6484b2;--portal-chip-line-height:1;--portal-chip-min-block:32px;--portal-chip-min-inline:var(--portal-chip-inline);--portal-chip-neutral-fill:#eff5ff;--portal-chip-neutral-ink:#264868;--portal-chip-neutral-stroke:#b7c8dd;--portal-chip-purple-fill:#efe7ff;--portal-chip-purple-ink:#4c338c;--portal-chip-purple-stroke:#b7a6ec;--portal-chip-red-fill:#fdebec;--portal-chip-red-ink:#8a1f1c;--portal-chip-red-stroke:#f2b1b7;--portal-chip-shadow-focus:0 0 0 3px rgba(47,91,227,.2);--portal-chip-teal-fill:#dff7f4;--portal-chip-teal-ink:#0f5d57;--portal-chip-teal-stroke:#87cfc7;--portal-control-border:#9bb5df;--portal-control-shadow-hover:0 8px 16px rgba(19,35,61,.12);--portal-control-surface:#f1f5ff;--portal-control-surface-hover:#f3f8ff;--portal-control-text:#214072;--portal-dark-bg:#000;--portal-dark-border:hsla(0,0%,100%,.42);--portal-dark-border-strong:hsla(0,0%,100%,.36);--portal-dark-card:#4c4c4c;--portal-dark-card-deep:#3b3c3e;--portal-dark-card-soft:#525252;--portal-dark-field-active-bg:#4b5157;--portal-dark-field-active-border:#c8d0da;--portal-dark-field-bg:#272c2f;--portal-dark-field-border:#aeb7c5;--portal-dark-field-placeholder:#58657a;--portal-dark-field-text:var(--secondary-color);--portal-dark-link:var(--portal-dark-text-soft);--portal-dark-link-active:#fff0f2;--portal-dark-link-hover:#fbffff;--portal-dark-page-bg:#000;--portal-dark-panel:#3b3c3e;--portal-dark-panel-soft:#525252;--portal-dark-radius:var(--radius-3);--portal-dark-surface-card:#4c4c4c;--portal-dark-surface-panel:#3b3c3e;--portal-dark-surface-soft:#525252;--portal-dark-surface-support:var(--portal-dark-surface-soft);--portal-dark-text:#fbffff;--portal-dark-text-soft:#e5f5ff;--portal-dark-theme-toggle-icon-bg:hsla(0,0%,100%,.12);--portal-dark-theme-toggle-ink:#ffd76a;--portal-data-label:var(--portal-text-soft);--portal-field-invalid-shadow:0 0 0 1px rgba(242,138,149,.22);--portal-field-placeholder:#6b7f97;--portal-field-state-edited:#124990;--portal-field-state-info:#5774a5;--portal-field-state-locked:#8f3939;--portal-field-state-muted:#5f6d7b;--portal-floating-menu-content-edge-gap:5px;--portal-floating-menu-content-max-inline-size:1440px;--portal-floating-menu-fill:#002786;--portal-floating-menu-fill-hover:#173f89;--portal-floating-menu-ink:#fbffff;--portal-floating-menu-stroke:#fbffff;--portal-footer-block-size:52px;--portal-footer-fill:var(--theme-footer-bg);--portal-footer-ink:var(--theme-footer-text);--portal-footer-min-block-size:52px;--portal-header-bar-fill:var(--primary-color);--portal-header-bar-ink:var(--secondary-color);--portal-header-bar-line-height:1;--portal-header-bar-max-block-size:40px;--portal-header-bar-min-block-size:20px;--portal-header-bar-mobile-block-size:64px;--portal-header-bar-mobile-max-block-size:64px;--portal-header-bar-mobile-min-block-size:40px;--portal-header-bar-padding-block:0.75rem;--portal-header-bar-padding-inline:1rem;--portal-homework-link:#174f92;--portal-homework-link-hover:#0f3c70;--portal-homework-square-border:#b7c8dd;--portal-homework-square-text:#264868;--portal-led-core-clear:hsla(0,0%,100%,0);--portal-led-core-highlight:hsla(0,0%,100%,.18);--portal-led-core-highlight-soft:hsla(0,0%,100%,.06);--portal-led-core-shadow:rgba(0,0,0,.26);--portal-led-error:#ff3131;--portal-led-glow-error-soft:rgba(255,49,49,.28);--portal-led-glow-error-wide:rgba(255,49,49,.12);--portal-led-glow-missing-soft:rgba(141,151,168,.16);--portal-led-glow-missing-wide:rgba(141,151,168,.08);--portal-led-glow-ok-soft:rgba(57,255,20,.28);--portal-led-glow-ok-wide:rgba(57,255,20,.12);--portal-led-glow-pending-soft:rgba(77,238,234,.26);--portal-led-glow-pending-wide:rgba(77,238,234,.12);--portal-led-glow-warn-soft:rgba(255,216,122,.26);--portal-led-glow-warn-wide:rgba(255,216,122,.12);--portal-led-missing:#8d97a8;--portal-led-ok:#39ff14;--portal-led-outline-dark:rgba(0,0,0,.05);--portal-led-outline-light:hsla(0,0%,100%,.14);--portal-led-outline-light-soft:hsla(0,0%,100%,.16);--portal-led-pending:#4deeea;--portal-led-warn:#ffd87a;--portal-login-form-max-width:430px;--portal-login-link:var(--brand-2);--portal-login-link-dark:var(--portal-dark-link);--portal-login-panel-max-width:550px;--portal-metric-border:#8ea3c1;--portal-modal-backdrop:rgba(8,22,40,.52);--portal-modal-backdrop-strong:rgba(8,22,40,.56);--portal-neutral-alert-dark:#9f9f9f;--portal-neutral-card-dark:#4c4c4c;--portal-neutral-card-light:#fcfdff;--portal-neutral-chart-dark:var(--portal-neutral-support-dark);--portal-neutral-content-dark:#2d2d2d;--portal-neutral-content-light:#fbffff;--portal-neutral-message-dark:var(--portal-neutral-support-dark);--portal-neutral-page-dark:#000;--portal-neutral-page-light:#869ab3;--portal-neutral-panel-dark:#3b3c3e;--portal-neutral-panel-light:#e3e9f0;--portal-neutral-support-dark:var(--portal-dark-surface-soft);--portal-neutral-support-light:#f1f4f8;--portal-neutral-table-dark:var(--portal-neutral-support-dark);--portal-ods-accent-bad-bg:red;--portal-ods-accent-bad-text:#000;--portal-ods-accent-border:#000;--portal-ods-accent-good-bg:#3cb371;--portal-ods-accent-good-text:#000;--portal-ods-accent-neutral-bg:#666;--portal-ods-accent-neutral-text:#fbffff;--portal-ods-accent-warning-bg:#ffc;--portal-ods-accent-warning-text:#333;--portal-page-bg:#e8eef4;--portal-page-bg-base:#e8eef4;--portal-page-stack-gap:12px;--portal-content-gap:12px;--portal-definition-chi:1.61803398875;--portal-definition-flow-gap:12px;--portal-definition-item-gap:calc(var(--portal-definition-flow-gap)/var(--portal-definition-chi));--portal-panel-shadow:0 8px 22px rgba(17,38,63,.08);--portal-panel-shadow-soft:0 8px 22px rgba(10,28,48,.18);--portal-panel-shadow-strong:0 26px 60px rgba(8,22,40,.26);--portal-pill-bg:#eff6ff;--portal-pill-border:#cde0fb;--portal-pill-text:#184372;--portal-prefooter-block-size:30px;--portal-primary-text-strong:#fbffff;--portal-quarter-button-active-bg:linear-gradient(180deg,color-mix(in srgb,var(--brand) 92%,#fff 8%),var(--brand));--portal-quarter-button-active-border:var(--brand);--portal-quarter-button-active-shadow:0 12px 24px rgba(0,39,134,.22),inset 0 0 0 1px hsla(0,0%,100%,.14);--portal-quarter-button-active-text:#fbffff;--portal-quarter-button-current-shadow:0 0 0 1px rgba(0,39,134,.1);--portal-quarter-button-hover-bg:color-mix(in srgb,var(--portal-surface-support) 82%,#fff 18%);--portal-quarter-button-hover-border:color-mix(in srgb,var(--line) 72%,var(--brand) 28%);--portal-quarter-card-current-bg:linear-gradient(180deg,color-mix(in srgb,var(--portal-surface-card) 88%,var(--brand) 12%),var(--portal-surface-card));--portal-quarter-card-current-shadow:0 0 0 1px rgba(0,39,134,.1),0 12px 26px rgba(0,39,134,.07);--portal-quarter-current-pill-bg:var(--brand);--portal-quarter-current-pill-border:var(--brand);--portal-quarter-current-pill-shadow:0 10px 20px rgba(0,39,134,.18);--portal-quarter-current-pill-text:#fbffff;--portal-quarter-meta-quarter-bg:color-mix(in srgb,var(--brand) 12%,#fff 88%);--portal-quarter-open-text:var(--warn);--portal-quick-link-hover-border:#6f97cb;--portal-radio-control-bg:#fbffff;--portal-radio-control-border:#9db0cc;--portal-radius-button:var(--radius-3);--portal-radius-chip:var(--radius-2);--portal-role-border:var(--portal-border);--portal-role-card-bg:var(--portal-surface-card);--portal-role-content-bg:var(--portal-neutral-content-light);--portal-role-panel-bg:var(--portal-surface-panel);--portal-role-shadow:var(--portal-panel-shadow);--portal-role-shadow-soft:var(--portal-panel-shadow-soft);--portal-role-shadow-strong:var(--portal-panel-shadow-strong);--portal-role-text:var(--portal-text);--portal-score-bar-fill:linear-gradient(90deg,#f39c12,#3ba853);--portal-shell-gap:var(--portal-page-stack-gap);--portal-stat-card-bg-end:#f7faff;--portal-stat-card-bg-start:#edf3fa;--portal-stat-card-border:rgba(115,136,163,.96);--portal-status-amber-bg:#fff1d0;--portal-status-amber-border:#d68a00;--portal-status-amber-text:#744300;--portal-status-bad-bg:#fde4e2;--portal-status-bad-border:#e7b6b2;--portal-status-bad-text:#8a1f1c;--portal-status-good-bg:#e7f8ee;--portal-status-good-border:#90d3ad;--portal-status-good-text:#155f3f;--portal-status-info-bg:#eaf2ff;--portal-status-info-border:#9ab9e0;--portal-status-info-text:#18436f;--portal-status-muted-text:#3f546f;--portal-status-neutral-bg:#f5f9ff;--portal-status-neutral-border:#c8d5e8;--portal-status-neutral-text:#345777;--portal-status-peer-bg:#f1f5ff;--portal-status-peer-border:#b3c3dd;--portal-status-peer-text:#214072;--portal-status-revise-bg:#55389f;--portal-status-revise-border:#3f2977;--portal-status-revise-text:#fbffff;--portal-status-warn-bg:#fff3d8;--portal-status-warn-border:#e5cb66;--portal-status-warn-text:#212121;--portal-support-message:var(--portal-text-soft);--portal-surface-card:#fcfdff;--portal-surface-panel:var(--portal-neutral-panel-light);--portal-surface-soft:var(--portal-neutral-panel-light);--portal-surface-support:#f1f4f8;--portal-svg-accent-soft-fill:rgba(62,123,192,.24);--portal-table-dark-border:hsla(0,0%,100%,.14);--portal-text:#000;--portal-text-soft:#2b2b2b;--portal-text-zoom:1;--portal-theme-toggle-focus-ring:0 0 0 3px rgba(47,91,227,.2);--portal-theme-toggle-hover-border:#0f1629;--portal-theme-toggle-hover-border-dark:rgba(255,215,106,.42);--portal-theme-toggle-icon-bg:hsla(0,0%,100%,.78);--portal-theme-toggle-icon-bg-dark:hsla(0,0%,100%,.12);--portal-theme-toggle-ink:#172033;--portal-theme-toggle-ink-dark:#ffd76a;--primary-color:#b50010;--radius-base:3.667px;--radius-pill:999px;--secondary-color:#fbffff;--shadow:0 10px 26px rgba(19,35,61,.1);--side-width:min(86vw,320px);--tertiary-color:#002786;--theme-footer-bg:var(--tertiary-color);--theme-footer-text:var(--secondary-color);--warn:#a46000;--bright-gold-1:#f4c45f;--bright-gold-2:#fdd017;--portal-page-bg-wash:radial-gradient(920px 420px at -15% -20%,rgba(87,114,132,.24) 0%,transparent 62%),radial-gradient(980px 520px at 110% -25%,rgba(87,114,132,.14) 0%,transparent 55%),linear-gradient(180deg,rgba(249,250,255,.42),rgba(235,237,247,.88));--bg-0:var(--secondary-color);--bg-1:#ebedf7;--brand-2:var(--tertiary-color);--hub-theme-wash:radial-gradient(860px 400px at 12% 8%,hsla(0,0%,100%,.68),transparent 58%),radial-gradient(640px 320px at 92% 0%,rgba(255,244,211,.18),transparent 56%),linear-gradient(180deg,hsla(0,0%,100%,.1),rgba(237,243,252,.48));--surface-2:#f7f9fc;--radius-1:var(--radius-base);--radius-2:calc(var(--radius-base)*2);--radius-3:calc(var(--radius-base)*3)}.sis-action-feedback{align-items:center;background:var(--portal-surface-card,#fff);border:1px solid var(--portal-border-strong,#5f7391);border-radius:var(--radius-2,8px);box-shadow:0 10px 28px rgba(0,0,0,.18);color:var(--portal-text,#172033);display:flex;inset:auto 16px 16px auto;max-inline-size:min(420px,calc(100vw - 32px));padding:10px 14px;position:absolute;z-index:1000}.sis-action-feedback[data-state="pending"]{border-color:var(--portal-status-info-border,#8fa7c8)}.sis-action-feedback[data-state="ok"]{background:var(--portal-status-good-bg,#e8f8ef);border-color:var(--portal-status-good-border,#90d3ad);color:var(--portal-status-good-text,#1f7a4f)}.sis-action-feedback[data-state="error"],html[data-theme="dark"] .sis-action-feedback[data-state="error"]{background:var(--primary-color);border-color:var(--primary-color);color:var(--secondary-color)}[data-action-feedback-state="pending"]{cursor:progress}[data-action-feedback-state="ok"]{outline:2px solid var(--portal-status-good-border,#90d3ad);outline-offset:2px}[data-action-feedback-state="error"]{outline:2px solid var(--portal-status-bad-border,#f2b1b7);outline-offset:2px}html[data-theme="dark"] body.portal-hub-page{--hub-panel-bg:var(--portal-dark-panel);--hub-panel-bg-footer:var(--portal-dark-panel-soft);--hub-panel-bg-hero:var(--portal-dark-panel);--hub-panel-bg-section:var(--portal-dark-panel);--hub-panel-bg-support:var(--portal-dark-panel-soft);--hub-surface-border:rgba(115,136,163,.96);--hub-surface-card:var(--portal-neutral-card-dark);--hub-surface-content:var(--portal-neutral-content-dark);--hub-surface-page:var(--portal-neutral-page-dark);--hub-surface-panel:var(--portal-neutral-panel-dark);--hub-surface-shadow:0 10px 26px rgba(19,35,61,.1);--hub-surface-support:var(--portal-neutral-support-dark);--hub-surface-text:#fbffff;--hub-surface-text-soft:var(--hub-theme-text-soft);--hub-theme-banner-border:hsla(0,0%,100%,.1);--hub-theme-banner-text:var(--secondary-color);--hub-theme-card-admin-border-soft:rgba(181,0,16,.26);--hub-theme-card-parent-border-soft:rgba(249,250,255,.34);--hub-theme-card-student-border-soft:rgba(123,153,214,.6);--hub-theme-card-subtitle:#f2f4f7;--hub-theme-card-title:#f7f8fa;--hub-theme-link:var(--hub-surface-text-soft);--hub-theme-page-bg-body:#000;--hub-theme-page-bg-end:#000;--hub-theme-page-bg-glow:transparent;--hub-theme-page-bg-mid:#000;--hub-theme-page-bg-start:#000;--hub-theme-panel-bg:var(--portal-neutral-panel-dark);--hub-theme-panel-bg-footer:var(--hub-theme-panel-bg-soft);--hub-theme-panel-bg-hero:var(--portal-neutral-panel-dark);--hub-theme-panel-bg-section:var(--portal-neutral-panel-dark);--hub-theme-panel-bg-soft:var(--portal-neutral-support-dark);--hub-theme-panel-bg-support:var(--hub-theme-panel-bg-soft);--hub-theme-panel-border:hsla(0,0%,100%,.2);--hub-theme-panel-shadow:none;--hub-theme-text:#fbffff;--hub-theme-text-soft:#f2f4f7;--hub-theme-wash:radial-gradient(860px 400px at 12% 8%,hsla(0,0%,100%,.08),transparent 58%),radial-gradient(640px 320px at 92% 0%,hsla(0,0%,100%,.04),transparent 56%),linear-gradient(180deg,hsla(0,0%,100%,.08),rgba(16,18,22,.24))}*{box-sizing:border-box}
body,html{color:var(--ink);font-family:var(--font-base,system-ui,-apple-system,sans-serif);margin:6px 0;min-height:100%}button,
input,
select,
textarea{font-family:inherit}body{-webkit-tap-highlight-color:transparent;background:var(--portal-page-bg);color:var(--portal-text);position:relative}html[data-theme="dark"]{--portal-assignment-head-bg:linear-gradient(180deg,color-mix(in srgb,var(--portal-dark-card) 88%,var(--portal-status-good-border) 12%),var(--portal-dark-card));--portal-calendar-status-bad-bg:#d92d20;--portal-calendar-status-good-bg:#2e7d32;--portal-calendar-status-open-bg:#0f4a73;--portal-calendar-status-revise-bg:#7a59cc;--portal-calendar-status-submitted-bg:#f6a609;--portal-calendar-status-text-soft:#173b78;--portal-calendar-status-text-strong:#fbffff;--portal-chart-axis-label:var(--portal-dark-text-soft);--portal-chart-surface:var(--portal-dark-surface-card);--portal-chart-surface-soft:var(--portal-dark-surface-support);--portal-control-border:var(--portal-dark-border);--portal-control-shadow-hover:0 8px 16px rgba(19,35,61,.12);--portal-control-surface:var(--portal-dark-surface-support);--portal-control-surface-hover:var(--portal-dark-surface-soft);--portal-control-text:var(--portal-dark-text);--portal-data-label:var(--portal-dark-text-soft);--portal-field-invalid-shadow:0 0 0 1px rgba(242,138,149,.22);--portal-field-state-edited:#9ab9e0;--portal-field-state-info:#b4c4ea;--portal-field-state-locked:#f28a95;--portal-field-state-muted:var(--portal-dark-text-soft);--portal-homework-link:#e5f5ff;--portal-homework-link-hover:#fbffff;--portal-homework-square-border:var(--portal-dark-border);--portal-homework-square-text:var(--portal-dark-text);--portal-metric-border:var(--portal-dark-border);--portal-modal-backdrop:rgba(8,22,40,.52);--portal-modal-backdrop-strong:rgba(8,22,40,.56);--portal-ods-accent-bad-bg:red;--portal-ods-accent-bad-text:#000;--portal-ods-accent-good-bg:#3cb371;--portal-ods-accent-good-text:#000;--portal-ods-accent-neutral-bg:#666;--portal-ods-accent-neutral-text:#fbffff;--portal-ods-accent-warning-bg:#ffc;--portal-ods-accent-warning-text:#333;--portal-panel-shadow:0 8px 22px rgba(17,38,63,.08);--portal-panel-shadow-soft:0 8px 22px rgba(10,28,48,.18);--portal-panel-shadow-strong:0 26px 60px rgba(8,22,40,.26);--portal-primary-text-strong:#fbffff;--portal-quarter-button-current-shadow:0 0 0 1px rgba(0,39,134,.1);--portal-quarter-open-text:#f0b05f;--portal-quick-link-hover-border:var(--portal-status-info-border);--portal-radio-control-bg:var(--portal-dark-field-bg);--portal-radio-control-border:var(--portal-dark-field-border);--portal-role-border:var(--portal-dark-border);--portal-role-card-bg:var(--portal-dark-surface-card);--portal-role-content-bg:var(--portal-neutral-content-dark);--portal-role-panel-bg:var(--portal-dark-surface-panel);--portal-role-shadow:var(--portal-panel-shadow);--portal-role-shadow-soft:var(--portal-panel-shadow-soft);--portal-role-shadow-strong:var(--portal-panel-shadow-strong);--portal-role-text:var(--portal-dark-text);--portal-score-bar-fill:linear-gradient(90deg,#f39c12,#3ba853);--portal-status-amber-bg:#ffd063;--portal-status-amber-border:#6a4a00;--portal-status-amber-text:#6a4a00;--portal-status-bad-bg:#a50102;--portal-status-bad-border:#710602;--portal-status-bad-text:#8a1f1c;--portal-status-good-bg:#218021;--portal-status-good-border:#005224;--portal-status-good-text:#fbffff;--portal-status-info-bg:#6aa4ff;--portal-status-info-border:#1d5fbb;--portal-status-info-text:#fbffff;--portal-status-muted-text:#c7d6ea;--portal-status-neutral-bg:#4c4c4c;--portal-status-neutral-border:var(--portal-dark-border);--portal-status-neutral-text:#fbffff;--portal-status-peer-bg:#6aa4ff;--portal-status-peer-border:#1d5fbb;--portal-status-peer-text:#fbffff;--portal-status-revise-bg:#55389f;--portal-status-revise-border:#3f2977;--portal-status-revise-text:#fbffff;--portal-status-warn-bg:#ffd063;--portal-status-warn-border:#6a4a00;--portal-status-warn-text:#212121;--portal-support-message:var(--portal-dark-text-soft);--portal-surface-card:var(--portal-dark-surface-card);--portal-surface-panel:var(--portal-dark-surface-panel);--portal-surface-soft:var(--portal-dark-surface-soft);--portal-surface-support:var(--portal-dark-surface-support);--portal-svg-accent-soft-fill:rgba(62,123,192,.28);--portal-table-dark-border:hsla(0,0%,100%,.14);--portal-theme-toggle-focus-ring:0 0 0 3px rgba(47,91,227,.2);--portal-theme-toggle-hover-border:#0f1629;--portal-theme-toggle-hover-border-dark:rgba(255,215,106,.42);background:var(--portal-dark-page-bg);color-scheme:dark}html[data-theme="dark"] body{color:var(--portal-dark-text)}.portal-button,
a.portal-button,
summary.portal-button{--portal-button-fill:var(--portal-button-neutral-fill);--portal-button-fill-active:var(--portal-button-neutral-fill-active);--portal-button-fill-hover:var(--portal-button-neutral-fill-hover);--portal-button-ink:var(--portal-button-neutral-ink);--portal-button-ink-active:var(--portal-button-neutral-ink);--portal-button-ink-hover:var(--portal-button-neutral-ink);--portal-button-stroke:var(--portal-button-neutral-stroke);--portal-button-stroke-active:var(--portal-button-neutral-stroke-active);--portal-button-stroke-hover:var(--portal-button-neutral-stroke-hover);align-items:center;appearance:none;background:var(--portal-button-fill);border:var(--portal-button-border-width) solid var(--portal-button-stroke);border-radius:var(--portal-radius-button);box-sizing:border-box;color:var(--portal-button-ink);cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:var(--portal-button-font-size);font-weight:var(--portal-button-font-weight);gap:var(--portal-button-gap);inline-size:min(100%,var(--portal-button-min-inline));justify-content:center;line-height:var(--portal-button-line-height);max-inline-size:min(100%,var(--portal-button-max-inline));min-block-size:var(--portal-button-min-block);min-inline-size:min(100%,var(--portal-button-min-inline));padding:var(--portal-button-block-padding) var(--portal-button-inline-padding);text-decoration:none;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease,color .12s ease,transform .12s ease;user-select:none;vertical-align:middle;white-space:nowrap}.portal-button:hover:not(:disabled):not(.is-disabled),
a.portal-button:hover:not(.is-disabled),
summary.portal-button:hover{background:var(--portal-button-fill-hover);border-color:var(--portal-button-stroke-hover);box-shadow:var(--portal-button-shadow-hover);color:var(--portal-button-ink-hover);text-decoration:none;transform:translateY(-1px)}
.portal-button.is-active,.portal-button:active:not(:disabled):not(.is-disabled),
a.portal-button.is-active,
a.portal-button:active:not(:disabled):not(.is-disabled),
summary.portal-button:active{background:var(--portal-button-fill-active);border-color:var(--portal-button-stroke-active);box-shadow:var(--portal-button-shadow-active);color:var(--portal-button-ink-active);transform:translateY(1px)}
.portal-button.proof-force-focus,.portal-button:focus-visible,
a.portal-button.proof-force-focus,
a.portal-button:focus-visible,
summary.portal-button.proof-force-focus,
summary.portal-button:focus-visible{box-shadow:var(--portal-button-shadow-focus);outline:none}.portal-button.is-current,
a.portal-button.is-current,
summary.portal-button.is-current{box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.22),var(--portal-button-shadow-focus)}
.portal-button.is-disabled,.portal-button:disabled,
a.portal-button.is-disabled,
summary.portal-button.is-disabled{background:var(--portal-button-disabled-fill);border-color:var(--portal-button-disabled-stroke);box-shadow:none;color:var(--portal-button-disabled-ink);cursor:not-allowed;pointer-events:none;transform:none}.portal-button-compact{--portal-button-max-inline:var(--portal-button-compact-inline);--portal-button-min-inline:var(--portal-button-compact-inline)}.portal-button-open-week-set{--portal-button-max-inline:var(--portal-button-open-week-set-inline);--portal-button-min-inline:var(--portal-button-open-week-set-inline)}.portal-button-alt-nav{--portal-button-font-size:18px;--portal-button-inline-padding:12px;--portal-button-line-height:1;--portal-button-max-inline:48px;--portal-button-min-block:48px;--portal-button-min-inline:48px;block-size:48px;max-block-size:48px}.portal-button__icon,
.portal-chip__icon{align-items:center;display:inline-flex;flex:0 0 auto;font-style:normal;justify-content:center;min-inline-size:1.1em}.portal-button__label,
.portal-chip__label{min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-button summary::-webkit-details-marker,
summary.portal-button::-webkit-details-marker{display:none}.portal-button.is-loading,
.portal-chip.is-loading,
a.portal-button.is-loading,
a.portal-chip.is-loading{cursor:progress}.portal-button.is-loading .portal-button__icon,
.portal-chip.is-loading .portal-chip__icon,
a.portal-button.is-loading .portal-button__icon,
a.portal-chip.is-loading .portal-chip__icon{animation:portal-button-chip-spin 1s linear infinite}.portal-button-blue-action,
.portal-button-primary,
summary.portal-button.portal-button-blue-action,
summary.portal-button.portal-button-primary{--portal-button-fill:var(--portal-button-blue-fill);--portal-button-fill-active:var(--portal-button-blue-fill-active);--portal-button-fill-hover:var(--portal-button-blue-fill-hover);--portal-button-ink:var(--portal-button-blue-ink);--portal-button-ink-active:var(--portal-button-blue-ink);--portal-button-ink-hover:var(--portal-button-blue-ink);--portal-button-stroke:var(--portal-button-blue-stroke);--portal-button-stroke-active:var(--portal-button-blue-stroke-active);--portal-button-stroke-hover:var(--portal-button-blue-stroke-hover)}
.portal-button-blue-action:focus-visible,.portal-button-blue-action:hover:not(:disabled):not(.is-disabled),
.portal-button-primary:focus-visible,
.portal-button-primary:hover:not(:disabled):not(.is-disabled),
a.portal-button-blue-action:focus-visible,
a.portal-button-blue-action:hover:not(.is-disabled),
a.portal-button-primary:focus-visible,
a.portal-button-primary:hover:not(.is-disabled),
button.portal-button-blue-action:focus-visible,
button.portal-button-blue-action:hover:not(:disabled):not(.is-disabled),
button.portal-button-primary:focus-visible,
button.portal-button-primary:hover:not(:disabled):not(.is-disabled),
summary.portal-button.portal-button-blue-action:focus-visible,
summary.portal-button.portal-button-blue-action:hover,
summary.portal-button.portal-button-primary:focus-visible,
summary.portal-button.portal-button-primary:hover{background:var(--portal-button-fill-hover)!important;border-color:var(--portal-button-stroke-hover)!important;box-shadow:var(--portal-button-shadow-hover)!important;color:var(--portal-button-ink-hover)!important}.portal-button-blue-action:active:not(:disabled):not(.is-disabled),
.portal-button-primary:active:not(:disabled):not(.is-disabled),
a.portal-button-blue-action:active:not(.is-disabled),
a.portal-button-primary:active:not(.is-disabled),
button.portal-button-blue-action:active:not(:disabled):not(.is-disabled),
button.portal-button-primary:active:not(:disabled):not(.is-disabled),
summary.portal-button.portal-button-blue-action:active,
summary.portal-button.portal-button-primary:active{background:var(--portal-button-fill-active)!important;border-color:var(--portal-button-stroke-active)!important;box-shadow:var(--portal-button-shadow-active)!important;color:var(--portal-button-ink-active)!important}
.portal-button-danger,.portal-button-red-action,
summary.portal-button.portal-button-danger,
summary.portal-button.portal-button-red-action{--portal-button-fill:var(--portal-button-red-fill);--portal-button-fill-active:var(--portal-button-red-fill-active);--portal-button-fill-hover:var(--portal-button-red-fill-hover);--portal-button-ink:var(--portal-button-red-ink);--portal-button-ink-active:var(--portal-button-red-ink);--portal-button-ink-hover:var(--portal-button-red-ink);--portal-button-stroke:var(--portal-button-red-stroke);--portal-button-stroke-active:var(--portal-button-red-stroke-active);--portal-button-stroke-hover:var(--portal-button-red-stroke-hover)}
.portal-button-affirm,.portal-button-green-action,
summary.portal-button.portal-button-affirm,
summary.portal-button.portal-button-green-action{--portal-button-fill:var(--portal-button-green-fill);--portal-button-fill-active:var(--portal-button-green-fill-active);--portal-button-fill-hover:var(--portal-button-green-fill-hover);--portal-button-ink:var(--portal-button-green-ink);--portal-button-ink-active:var(--portal-button-green-ink);--portal-button-ink-hover:var(--portal-button-green-ink);--portal-button-stroke:var(--portal-button-green-stroke);--portal-button-stroke-active:var(--portal-button-green-stroke-active);--portal-button-stroke-hover:var(--portal-button-green-stroke-hover)}.portal-button-purple-action,
.portal-button-warning,
summary.portal-button.portal-button-purple-action,
summary.portal-button.portal-button-warning{--portal-button-fill:var(--portal-button-purple-fill);--portal-button-fill-active:var(--portal-button-purple-fill-active);--portal-button-fill-hover:var(--portal-button-purple-fill-hover);--portal-button-ink:var(--portal-button-purple-ink);--portal-button-ink-active:var(--portal-button-purple-ink);--portal-button-ink-hover:var(--portal-button-purple-ink);--portal-button-stroke:var(--portal-button-purple-stroke);--portal-button-stroke-active:var(--portal-button-purple-stroke-active);--portal-button-stroke-hover:var(--portal-button-purple-stroke-hover)}.portal-button-alt,
summary.portal-button.portal-button-alt{--portal-button-fill:var(--portal-button-alt-fill);--portal-button-fill-active:var(--portal-button-alt-fill-active);--portal-button-fill-hover:var(--portal-button-alt-fill-hover);--portal-button-ink:var(--portal-button-alt-ink);--portal-button-ink-active:var(--portal-button-alt-ink);--portal-button-ink-hover:var(--portal-button-alt-ink);--portal-button-stroke:var(--portal-button-alt-stroke);--portal-button-stroke-active:var(--portal-button-alt-stroke-active);--portal-button-stroke-hover:var(--portal-button-alt-stroke-hover)}.external-link-turquoise,
.portal-button-external-link-turquoise,
summary.portal-button.portal-button-external-link-turquoise{--portal-button-fill:var(--portal-button-teal-fill);--portal-button-fill-active:var(--portal-button-teal-fill-active);--portal-button-fill-hover:var(--portal-button-teal-fill-hover);--portal-button-ink:var(--portal-button-teal-ink);--portal-button-ink-active:var(--portal-button-teal-ink);--portal-button-ink-hover:var(--portal-button-teal-ink);--portal-button-stroke:var(--portal-button-teal-stroke);--portal-button-stroke-active:var(--portal-button-teal-stroke-active);--portal-button-stroke-hover:var(--portal-button-teal-stroke-hover)}.portal-button-neutral-action,
summary.portal-button.portal-button-neutral-action{--portal-button-fill:var(--portal-button-neutral-fill);--portal-button-fill-active:var(--portal-button-neutral-fill-active);--portal-button-fill-hover:var(--portal-button-neutral-fill-hover);--portal-button-ink:var(--portal-button-neutral-ink);--portal-button-ink-active:var(--portal-button-neutral-ink);--portal-button-ink-hover:var(--portal-button-neutral-ink);--portal-button-stroke:var(--portal-button-neutral-stroke);--portal-button-stroke-active:var(--portal-button-neutral-stroke-active);--portal-button-stroke-hover:var(--portal-button-neutral-stroke-hover)}.portal-button-btn-refresh,
.portal-button-refresh,
.portal-button-teal-refresh,
summary.portal-button.portal-button-btn-refresh,
summary.portal-button.portal-button-refresh,
summary.portal-button.portal-button-teal-refresh{--portal-button-fill:var(--portal-button-teal-fill);--portal-button-fill-active:var(--portal-button-teal-fill-active);--portal-button-fill-hover:var(--portal-button-teal-fill-hover);--portal-button-ink:var(--portal-button-teal-ink);--portal-button-ink-active:var(--portal-button-teal-ink);--portal-button-ink-hover:var(--portal-button-teal-ink);--portal-button-stroke:var(--portal-button-teal-stroke);--portal-button-stroke-active:var(--portal-button-teal-stroke-active);--portal-button-stroke-hover:var(--portal-button-teal-stroke-hover)}.portal-button-amber-info,
.portal-button-info,
summary.portal-button.portal-button-amber-info,
summary.portal-button.portal-button-info{--portal-button-fill:var(--portal-button-amber-fill);--portal-button-fill-active:var(--portal-button-amber-fill-active);--portal-button-fill-hover:var(--portal-button-amber-fill-hover);--portal-button-ink:var(--portal-button-amber-ink);--portal-button-ink-active:var(--portal-button-amber-ink);--portal-button-ink-hover:var(--portal-button-amber-ink);--portal-button-stroke:var(--portal-button-amber-stroke);--portal-button-stroke-active:var(--portal-button-amber-stroke-active);--portal-button-stroke-hover:var(--portal-button-amber-stroke-hover)}.portal-button-info.portal-button-amber-ink-dark,
summary.portal-button.portal-button-info.portal-button-amber-ink-dark{--portal-button-ink:#212121;--portal-button-ink-active:#212121;--portal-button-ink-hover:#212121}.portal-button-immutable-chrome,
summary.portal-button.portal-button-immutable-chrome{--portal-button-fill:var(--portal-button-chrome-fill);--portal-button-fill-active:var(--portal-button-chrome-fill-active);--portal-button-fill-hover:var(--portal-button-chrome-fill-hover);--portal-button-ink:var(--portal-button-chrome-ink);--portal-button-ink-active:var(--portal-button-chrome-ink);--portal-button-ink-hover:var(--portal-button-chrome-ink);--portal-button-stroke:var(--portal-button-chrome-stroke);--portal-button-stroke-active:var(--portal-button-chrome-stroke-active);--portal-button-stroke-hover:var(--portal-button-chrome-stroke-hover)}@media (max-width:639px){.portal-button:not(.portal-button-immutable-chrome):not(.portal-button-alt-nav),
  a.portal-button:not(.portal-button-immutable-chrome):not(.portal-button-alt-nav),
  summary.portal-button:not(.portal-button-immutable-chrome):not(.portal-button-alt-nav){inline-size:min(100%,var(--portal-button-inline));max-inline-size:var(--portal-button-inline);min-inline-size:min(100%,var(--portal-button-inline))}}.portal-chip,
a.portal-chip,
button.portal-chip{--portal-chip-fill:var(--portal-chip-neutral-fill);--portal-chip-ink:var(--portal-chip-neutral-ink);--portal-chip-stroke:var(--portal-chip-neutral-stroke);align-items:center;appearance:none;background:var(--portal-chip-fill);border:var(--portal-chip-border-width) solid var(--portal-chip-stroke);border-radius:var(--portal-radius-chip);box-sizing:border-box;color:var(--portal-chip-ink);cursor:default;display:inline-flex;flex:0 0 auto;font-size:var(--portal-chip-font-size);font-weight:var(--portal-chip-font-weight);gap:var(--portal-chip-gap);inline-size:var(--portal-chip-min-inline);justify-content:center;line-height:var(--portal-chip-line-height);max-inline-size:var(--portal-chip-min-inline);min-block-size:var(--portal-chip-min-block);min-inline-size:var(--portal-chip-min-inline);padding:0 var(--portal-chip-inline-padding);text-decoration:none;text-transform:uppercase;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease,color .12s ease,transform .12s ease;user-select:none;vertical-align:middle;white-space:nowrap}
.portal-chip.proof-force-focus,.portal-chip:focus-visible,
a.portal-chip.proof-force-focus,
a.portal-chip:focus-visible,
button.portal-chip.proof-force-focus,
button.portal-chip:focus-visible{box-shadow:var(--portal-chip-shadow-focus);outline:none}.portal-chip.is-current,
a.portal-chip.is-current,
button.portal-chip.is-current{box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.22),var(--portal-chip-shadow-focus)}.portal-chip.is-disabled,
.portal-chip:disabled,
a.portal-chip.is-disabled,
button.portal-chip.is-disabled,
button.portal-chip:disabled{background:var(--portal-chip-disabled-fill);border-color:var(--portal-chip-disabled-stroke);box-shadow:none;color:var(--portal-chip-disabled-ink);cursor:not-allowed;pointer-events:none;transform:none}.portal-chip-neutral-status{--portal-chip-fill:var(--portal-chip-neutral-fill);--portal-chip-ink:var(--portal-chip-neutral-ink);--portal-chip-stroke:var(--portal-chip-neutral-stroke)}.portal-chip-blue-status{--portal-chip-fill:var(--portal-chip-blue-fill);--portal-chip-ink:var(--portal-chip-blue-ink);--portal-chip-stroke:var(--portal-chip-blue-stroke)}.portal-chip-teal-status{--portal-chip-fill:var(--portal-chip-teal-fill);--portal-chip-ink:var(--portal-chip-teal-ink);--portal-chip-stroke:var(--portal-chip-teal-stroke)}.portal-chip-green-status{--portal-chip-fill:var(--portal-chip-green-fill);--portal-chip-ink:var(--portal-chip-green-ink);--portal-chip-stroke:var(--portal-chip-green-stroke)}.portal-chip-red-status{--portal-chip-fill:var(--portal-chip-red-fill);--portal-chip-ink:var(--portal-chip-red-ink);--portal-chip-stroke:var(--portal-chip-red-stroke)}.portal-chip-amber-status{--portal-chip-fill:var(--portal-chip-amber-fill);--portal-chip-ink:var(--portal-chip-amber-ink);--portal-chip-stroke:var(--portal-chip-amber-stroke)}.portal-chip-purple-status{--portal-chip-fill:var(--portal-chip-purple-fill);--portal-chip-ink:var(--portal-chip-purple-ink);--portal-chip-stroke:var(--portal-chip-purple-stroke)}.portal-chip-interactive{--portal-chip-fill:var(--portal-chip-interactive-fill);--portal-chip-ink:var(--portal-chip-interactive-ink);--portal-chip-stroke:var(--portal-chip-interactive-stroke);cursor:pointer}
.portal-chip-interactive.proof-force-hover,
.portal-chip-interactive:focus-visible,.portal-chip-interactive:hover:not(:disabled):not(.is-disabled),
a.portal-chip-interactive.proof-force-hover,
a.portal-chip-interactive:focus-visible,
a.portal-chip-interactive:hover:not(.is-disabled),
button.portal-chip-interactive.proof-force-hover,
button.portal-chip-interactive:focus-visible,
button.portal-chip-interactive:hover:not(:disabled):not(.is-disabled){background:var(--portal-chip-interactive-fill-hover);border-color:var(--portal-chip-interactive-stroke-hover);color:var(--portal-chip-interactive-ink);transform:translateY(-1px)}
.portal-chip-interactive.is-active,.portal-chip-interactive:active:not(:disabled):not(.is-disabled),
a.portal-chip-interactive.is-active,
a.portal-chip-interactive:active:not(.is-disabled),
button.portal-chip-interactive.is-active,
button.portal-chip-interactive:active:not(:disabled):not(.is-disabled){background:var(--portal-chip-interactive-fill-active);border-color:var(--portal-chip-interactive-stroke-active);color:var(--portal-chip-interactive-ink);transform:translateY(1px)}body.admin-portal-page .level-chip{--chip-bg:var(--portal-chip-neutral-fill);--chip-border:var(--portal-chip-neutral-stroke);--chip-text:var(--portal-chip-neutral-ink);align-items:center;background:var(--chip-bg);border:var(--portal-chip-border-width) solid var(--chip-border);border-radius:999px;box-shadow:0 1px 0 rgba(11,32,60,.22);box-sizing:border-box;color:var(--chip-text);display:inline-flex;flex:0 0 auto;font-size:11px;font-weight:800;gap:6px;height:30px;inline-size:var(--portal-chip-inline);justify-content:center;letter-spacing:-.05px;line-height:1;max-inline-size:var(--portal-chip-inline);min-height:0;min-inline-size:var(--portal-chip-min-inline);overflow:hidden;padding:0 10px;text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}body.admin-portal-page .level-chip.panelbg-eggs-chicks{--chip-bg:var(--portal-color-cbfc8005b4);--chip-border:#b60001}body.admin-portal-page .level-chip.panelbg-starters{--chip-bg:var(--portal-color-03b5721e8c);--chip-border:#d28100}body.admin-portal-page .level-chip.panelbg-mov{--chip-bg:var(--portal-color-46586438f4);--chip-border:#67076e}body.admin-portal-page .level-chip.panelbg-fly{--chip-bg:var(--portal-color-edb7fe91a8);--chip-border:#8bab46}body.admin-portal-page .level-chip.panelbg-key{--chip-bg:var(--portal-color-709e6795a7);--chip-border:#006475;--chip-text:#07212c}body.admin-portal-page .level-chip.panelbg-pet{--chip-bg:var(--portal-color-9c1eaddb49);--chip-border:#981228}body.admin-portal-page .level-chip.panelbg-ielts{--chip-bg:var(--portal-color-fd15f49e34);--chip-border:#75061a}body.admin-portal-page .level-chip.panelbg-tayk{--chip-bg:var(--portal-color-312c8e26c3);--chip-border:#6e0000}body.admin-portal-page .level-chip.panelbg-private{--chip-bg:var(--tertiary-color);--chip-border:#00005c}body.admin-portal-page .level-chip.level-chip-standard{justify-content:center}body.admin-portal-page .level-chip::before{display:none}
body.admin-portal-page a .level-chip:focus-visible,
body.admin-portal-page a .level-chip:hover,
body.admin-portal-page a.level-chip:focus-visible,body.admin-portal-page a.level-chip:hover{cursor:pointer}@keyframes portal-button-chip-spin{from{transform:rotate(0deg)}to{transform:rotate(1turn)}}body.portal-hub-page{--hub-accent:var(--hub-theme-accent);--hub-accent-soft:var(--hub-theme-accent-soft);--hub-accent-strong:var(--hub-theme-accent-strong);--hub-panel-bg:var(--hub-theme-panel-bg);--hub-panel-bg-soft:var(--hub-theme-panel-bg-soft);--hub-panel-border:var(--hub-theme-panel-border);--hub-panel-shadow:var(--hub-theme-panel-shadow);--hub-surface-border:var(--hub-theme-panel-border);--hub-surface-card:var(--portal-neutral-card-light);--hub-surface-content:var(--portal-neutral-content-light);--hub-surface-page:var(--portal-neutral-page-light);--hub-surface-panel:var(--portal-neutral-panel-light);--hub-surface-shadow:var(--hub-theme-panel-shadow);--hub-surface-support:var(--portal-neutral-support-light);--hub-surface-text:var(--hub-theme-text);--hub-surface-text-soft:var(--hub-theme-text-soft);--hub-theme-page-bg-body:linear-gradient(180deg,#577284,#edf1f6);--hub-theme-page-bg-end:#edf1f6;--hub-theme-page-bg-glow:rgba(87,114,132,.2);--hub-theme-page-bg-mid:rgba(87,114,132,.44);--hub-theme-page-bg-start:#577284;--hub-wash:var(--hub-theme-wash);background-attachment:fixed;background:radial-gradient(920px 420px at -15% -20%,var(--hub-theme-page-bg-mid) 0,transparent 62%),radial-gradient(980px 520px at 110% -25%,var(--hub-theme-page-bg-glow) 0,transparent 55%),var(--hub-theme-page-bg-body);isolation:isolate}body::before{background:transparent;background-repeat:no-repeat,no-repeat,no-repeat;background-size:1080px 500px,800px 420px,100% 100%;content:"";inset:0;pointer-events:none;position:fixed;z-index:-1}
body.admin-portal-page,
body.parent-portal-page,body.student-portal-page{background:var(--portal-page-bg);color:var(--portal-text)}body.admin-portal-page{--background-color:var(--portal-neutral-page-light);--bg:var(--portal-neutral-page-light);--body-bgcolor:var(--portal-neutral-page-light);--footer-background:var(--theme-footer-bg);--menu-bg:var(--portal-neutral-card-light);--menu-border:var(--portal-border);--menu-button-active-bg:color-mix(in srgb,var(--portal-neutral-card-light) 18%,var(--portal-button-teal-fill-hover) 82%);--menu-button-active-border:color-mix(in srgb,var(--portal-border-strong) 10%,var(--portal-button-teal-stroke) 90%);--menu-button-active-text:#073f37;--menu-button-bg:var(--portal-neutral-support-light);--menu-button-border:color-mix(in srgb,var(--portal-border) 88%,#c7d8f0 12%);--menu-button-hover-bg:color-mix(in srgb,var(--portal-neutral-card-light) 22%,var(--portal-action-blue-top) 78%);--menu-button-hover-border:color-mix(in srgb,var(--portal-border-strong) 12%,var(--portal-action-blue-border) 88%);--menu-button-hover-text:var(--secondary-color);--menu-button-pressed-bg:color-mix(in srgb,var(--portal-neutral-card-light) 14%,var(--portal-action-blue-top-active) 86%);--menu-button-pressed-border:color-mix(in srgb,var(--portal-border-strong) 10%,var(--portal-action-blue-border-active) 90%);--menu-button-pressed-text:#f9fcff;--menu-button-text:#10294d;--menu-group-pressed-bg:color-mix(in srgb,var(--portal-neutral-support-light) 58%,var(--portal-action-blue-top) 42%);--menu-group-pressed-text:#082754;--menu-header-bg:var(--portal-neutral-support-light);--menu-link-active-bg:color-mix(in srgb,var(--portal-neutral-card-light) 20%,var(--portal-button-teal-fill-hover) 80%);--menu-link-active-border:color-mix(in srgb,var(--portal-border-strong) 10%,var(--portal-button-teal-stroke) 90%);--menu-link-active-text:var(--secondary-color);--menu-link-bg:var(--portal-neutral-card-light);--menu-link-hover-bg:color-mix(in srgb,var(--portal-neutral-card-light) 24%,var(--portal-action-blue-top) 76%);--menu-link-hover-border:color-mix(in srgb,var(--portal-border-strong) 12%,var(--portal-action-blue-border) 88%);--menu-link-hover-text:var(--secondary-color);--menu-link-pressed-bg:color-mix(in srgb,var(--portal-neutral-card-light) 14%,var(--portal-action-blue-top-active) 86%);--menu-link-pressed-border:color-mix(in srgb,var(--portal-border-strong) 10%,var(--portal-action-blue-border-active) 90%);--menu-link-pressed-text:#f9fcff;--panel:var(--portal-role-panel-bg);--portal-role-card-bg:var(--portal-neutral-card-light);--portal-role-content-bg:var(--portal-neutral-content-light);--portal-role-data-surface-bg:var(--portal-neutral-support-light);--portal-role-page-bg:var(--portal-neutral-page-light);--portal-role-panel-bg:var(--portal-neutral-panel-light);--surface-card:var(--portal-role-card-bg);--surface-card-muted:var(--portal-role-data-surface-bg);--surface-color:var(--portal-role-content-bg);--surface-contrast:var(--portal-role-data-surface-bg);--surface-muted:var(--portal-role-data-surface-bg);--surface-soft:var(--portal-role-data-surface-bg);--surface-warm:var(--portal-role-card-bg);--surface-1:var(--portal-role-card-bg);--surface-2:var(--portal-role-data-surface-bg)}body.portal-hub-page{color:var(--hub-theme-text)}
body.admin-portal-page,
body.parent-portal-page,
body.portal-hub-page,body.student-portal-page{min-height:100vh;padding-block:24px}
body.admin-portal-page #authBootPanel,
body.admin-portal-page #authPanel,
body.parent-portal-page #loginCard,body.student-portal-page #loginPanel{background:var(--portal-surface-card);border:1px solid var(--portal-border-strong);border-radius:var(--radius-2);box-sizing:border-box;font-size:1.02rem;line-height:1.48;padding:clamp(28px,3.6vw,40px);width:min(100%,var(--portal-login-panel-max-width))}
body.admin-portal-page #authBootPanel,body.admin-portal-page #authPanel{left:50%;position:fixed;top:clamp(3rem,5vw,4rem);transform:translateX(-50%);z-index:30}html[data-theme="dark"] body.admin-portal-page #authBootPanel,html[data-theme="dark"] body.admin-portal-page #authPanel{background-color:transparent;background-image:linear-gradient(180deg,rgba(45,45,45,.94),rgba(59,60,62,.94) 48%,rgba(76,76,76,.96)),linear-gradient(180deg,hsla(0,0%,100%,.08),transparent 48%);border-color:var(--portal-dark-border-strong);color:var(--portal-dark-text)}
body.admin-portal-page.admin-auth-booting #authBootPanel,
body.admin-portal-page.admin-auth-booting .wrap,html[data-admin-auth-state="unauthenticated"] body.admin-portal-page .wrap{background:transparent!important;background-image:none!important}
body.parent-portal-page #loginCard .login-form,body.student-portal-page #loginPanel #loginForm{gap:0;margin-inline:auto;width:min(100%,var(--portal-login-form-max-width))}body.admin-portal-page .form-row,
body.admin-portal-page .login-form{display:grid;gap:6px}body.admin-portal-page .login-form{gap:10px;margin-inline:auto;width:min(100%,var(--portal-login-form-max-width))}body.admin-portal-page #authPanel .row{grid-template-columns:1fr}body.admin-portal-page #authBootPanel{align-content:center;display:grid;gap:12px;justify-items:center;min-height:180px;text-align:center}body.admin-portal-page #authBootPanel .small{margin:0}
body.admin-portal-page #authPanel :is(input, select, textarea),
body.parent-portal-page #loginCard :is(input, select, textarea),body.student-portal-page #loginPanel :is(input, select, textarea){font-size:.98rem;min-height:48px;padding:12px 14px}
body.admin-portal-page #authPanel button:not(.portal-button),
body.parent-portal-page #loginCard button,body.student-portal-page #loginPanel button{font-size:1rem;margin:.75rem 0 .125rem;min-height:48px;padding:13px 16px}body.admin-portal-page #authPanel .actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}body.admin-portal-page #authPanel .actions-2 > *{flex:1 1 calc(50% - 6px)}
.row > .grid-actions,body.admin-portal-page .row > .grid-actions,
body.parent-portal-page .row > .grid-actions,
body.student-portal-page .row > .grid-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;grid-column:1/-1;margin-top:2px}
.row > .grid-actions > .portal-button,body.admin-portal-page .row > .grid-actions > .portal-button,
body.parent-portal-page .row > .grid-actions > .portal-button,
body.student-portal-page .row > .grid-actions > .portal-button{flex:0 0 var(--portal-button-inline);inline-size:var(--portal-button-inline)}@media (max-width:860px){
  .row > .grid-actions > .portal-button,body.admin-portal-page .row > .grid-actions > .portal-button,
  body.parent-portal-page .row > .grid-actions > .portal-button,
  body.student-portal-page .row > .grid-actions > .portal-button{flex:1 1 160px;inline-size:auto}}
body.admin-portal-page #authPanel .login-links,
body.parent-portal-page #loginCard .login-links,body.student-portal-page #loginPanel .login-links{display:flex;flex-wrap:wrap;gap:14px 22px;margin-top:14px}
body.admin-portal-page #authPanel .login-actions,
body.parent-portal-page #loginCard .login-actions,body.student-portal-page #loginPanel .login-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
body.admin-portal-page #authPanel .login-actions > *,
body.parent-portal-page #loginCard .login-actions > *,body.student-portal-page #loginPanel .login-actions > *{flex:1 1 160px}
body.admin-portal-page #authPanel .login-link,
body.parent-portal-page #loginCard .login-link,body.student-portal-page #loginPanel .login-link{color:var(--portal-login-link);font-size:1.02rem;font-weight:700;line-height:1.35;margin-top:1rem;text-decoration:none}
body.admin-portal-page #authPanel .login-link:focus-visible,
body.admin-portal-page #authPanel .login-link:hover,
body.parent-portal-page #loginCard .login-link:focus-visible,
body.parent-portal-page #loginCard .login-link:hover,
body.student-portal-page #loginPanel .login-link:focus-visible,body.student-portal-page #loginPanel .login-link:hover{text-decoration:underline}
body.parent-portal-page .security-badge,body.student-portal-page .security-badge{align-items:center;display:grid;gap:4px;justify-items:center;margin-inline-start:auto;max-width:min(100%,180px)}
body.parent-portal-page .security-badge__icon,body.student-portal-page .security-badge__icon{display:block;height:auto;inline-size:clamp(44px,6vw,56px)}body.parent-portal-page .security-badge__icon--dark,body.student-portal-page .security-badge__icon--dark,html[data-theme="dark"] body.parent-portal-page .security-badge__icon--light,html[data-theme="dark"] body.student-portal-page .security-badge__icon--light{display:none}
html[data-theme="dark"] body.parent-portal-page .security-badge__icon--dark,html[data-theme="dark"] body.student-portal-page .security-badge__icon--dark{display:block}
body.parent-portal-page .security-badge__caption,body.student-portal-page .security-badge__caption{color:var(--portal-text-soft);font-size:11px;font-weight:700;line-height:1.2;max-width:100%;text-align:center}html[data-admin-auth-state="booting"] body.admin-portal-page .floating-menu-btn,html[data-admin-auth-state="booting"] body.admin-portal-page .menu-toggle-btn,html[data-admin-auth-state="unauthenticated"] body.admin-portal-page .floating-menu-btn,html[data-admin-auth-state="unauthenticated"] body.admin-portal-page .menu-toggle-btn,html[data-parent-auth-state="booting"] body.parent-portal-page .floating-menu-btn,html[data-parent-auth-state="unauthenticated"] body.parent-portal-page #portalCard,html[data-parent-auth-state="unauthenticated"] body.parent-portal-page .floating-menu-btn,html[data-parent-auth-state="unauthenticated"] body.parent-portal-page .hero,html[data-parent-auth-state="unauthenticated"] body.parent-portal-page .nav-scrim,html[data-parent-auth-state="unauthenticated"] body.parent-portal-page .side-nav,html[data-parent-auth-state="unauthenticated"] body.parent-portal-page .topbar,html[data-student-auth-state="booting"] body.student-portal-page .floating-menu-btn,html[data-student-auth-state="unauthenticated"] body.student-portal-page .floating-menu-btn,html[data-student-auth-state="unauthenticated"] body.student-portal-page .nav-overlay,html[data-student-auth-state="unauthenticated"] body.student-portal-page .side-nav,html[data-student-auth-state="unauthenticated"] body.student-portal-page .status-strip,html[data-student-auth-state="unauthenticated"] body.student-portal-page .topbar{display:none!important}
html[data-parent-auth-state="unauthenticated"] body.parent-portal-page .portal-layout,html[data-student-auth-state="unauthenticated"] body.student-portal-page .portal-shell{padding-top:clamp(3rem,5vw,4rem)}
body.parent-portal-page .portal-layout.portal-shell,body.student-portal-page .portal-shell{box-sizing:border-box;width:100%}
html[data-parent-auth-state="unauthenticated"] body.parent-portal-page .portal-layout.portal-shell,html[data-student-auth-state="unauthenticated"] body.student-portal-page .portal-shell{margin-inline:auto;max-inline-size:1440px;width:min(calc(100% - 32px),1440px)}
body.admin-portal-page.admin-auth-booting .portal-login-header,
html[data-admin-auth-state="unauthenticated"] .portal-login-header,
html[data-parent-auth-state="unauthenticated"] .portal-login-header,html[data-student-auth-state="unauthenticated"] .portal-login-header{box-sizing:border-box;flex:0 0 auto;margin-inline:auto;max-inline-size:var(--portal-login-panel-max-width);width:min(100%,var(--portal-login-panel-max-width))}html[data-admin-auth-state="authenticated"] body.admin-portal-page .portal-login-header{display:flex;max-inline-size:none;width:100%}
body.admin-portal-page.admin-auth-booting .portal-login-footer,
body.admin-portal-page.admin-auth-booting .portal-login-header,
html[data-admin-auth-state="unauthenticated"] .portal-login-footer,html[data-admin-auth-state="unauthenticated"] .portal-login-header,
html[data-parent-auth-state="unauthenticated"] .portal-login-footer,
html[data-parent-auth-state="unauthenticated"] .portal-login-header,
html[data-student-auth-state="unauthenticated"] .portal-login-footer,
html[data-student-auth-state="unauthenticated"] .portal-login-header{min-inline-size:0;width:min(100%,var(--portal-login-panel-max-width))}
body.admin-portal-page.admin-auth-booting .portal-login-footer,
html[data-admin-auth-state="unauthenticated"] .portal-login-footer,
html[data-parent-auth-state="unauthenticated"] .portal-login-footer,html[data-student-auth-state="unauthenticated"] .portal-login-footer{flex-wrap:nowrap;margin-inline:auto;max-inline-size:var(--portal-login-panel-max-width);width:min(100%,var(--portal-login-panel-max-width))}@media (max-width:430px){
  html[data-parent-auth-state="unauthenticated"] body.parent-portal-page #loginCard,
  html[data-parent-auth-state="unauthenticated"] body.parent-portal-page .portal-login-footer,html[data-parent-auth-state="unauthenticated"] body.parent-portal-page .portal-login-header,
  html[data-student-auth-state="unauthenticated"] body.student-portal-page #loginPanel,
  html[data-student-auth-state="unauthenticated"] body.student-portal-page .portal-login-footer,
  html[data-student-auth-state="unauthenticated"] body.student-portal-page .portal-login-header{margin-inline:auto!important;max-inline-size:320px;width:min(320px,100%)}}
html[data-parent-auth-state="unauthenticated"] .portal-login-footer .hub-footer__copy,html[data-student-auth-state="unauthenticated"] .portal-login-footer .hub-footer__copy{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-parent-auth-state="unauthenticated"] .portal-login-footer .hub-footer__action,html[data-student-auth-state="unauthenticated"] .portal-login-footer .hub-footer__action{flex:0 0 auto;white-space:nowrap}
body.admin-portal-page.admin-auth-booting .portal-login-footer .hub-footer__copy,html[data-admin-auth-state="unauthenticated"] .portal-login-footer .hub-footer__copy{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.admin-portal-page.admin-auth-booting .portal-login-footer .hub-footer__action,html[data-admin-auth-state="unauthenticated"] .portal-login-footer .hub-footer__action{flex:0 0 auto;white-space:nowrap}
body.admin-portal-page.admin-auth-booting .wrap,html[data-admin-auth-state="unauthenticated"] body.admin-portal-page .wrap{box-sizing:border-box;margin-inline:auto;max-inline-size:1440px;width:min(100%,1440px)}body.admin-portal-page .portal-login-shell{display:grid;gap:12px;margin-inline:auto;max-inline-size:var(--portal-login-panel-max-width);width:min(calc(100vw - 32px),var(--portal-login-panel-max-width))}body.admin-portal-page .portal-login-shell #authBootPanel,
body.admin-portal-page .portal-login-shell #authPanel{left:auto;margin-inline:0;position:relative;top:auto;transform:none;width:100%;z-index:auto}
body.admin-portal-page.admin-auth-booting #authBootPanel,html[data-admin-auth-state="unauthenticated"] body.admin-portal-page #authPanel,
html[data-parent-auth-state="unauthenticated"] body.parent-portal-page #loginCard,
html[data-student-auth-state="unauthenticated"] body.student-portal-page #loginPanel{margin-top:0}html[data-admin-auth-state="unauthenticated"] body.admin-portal-page #authPanel{left:auto;margin-inline:auto;position:relative;top:auto;transform:none;z-index:auto}
html[data-theme="dark"] body.admin-portal-page input,
html[data-theme="dark"] body.admin-portal-page select,
html[data-theme="dark"] body.admin-portal-page textarea,
html[data-theme="dark"] body.parent-portal-page input,
html[data-theme="dark"] body.parent-portal-page select,
html[data-theme="dark"] body.parent-portal-page textarea,html[data-theme="dark"] body.student-portal-page input,
html[data-theme="dark"] body.student-portal-page select,
html[data-theme="dark"] body.student-portal-page textarea{background:var(--portal-dark-field-bg);border-color:var(--portal-dark-field-border);border-radius:var(--radius-base);color:var(--portal-dark-field-text)}
html[data-theme="dark"] body.admin-portal-page select,
html[data-theme="dark"] body.parent-portal-page select,html[data-theme="dark"] body.student-portal-page select{background:var(--portal-surface-card)}
html[data-theme="dark"] body.admin-portal-page input:focus,
html[data-theme="dark"] body.admin-portal-page input:focus-visible,
html[data-theme="dark"] body.admin-portal-page textarea:focus,
html[data-theme="dark"] body.admin-portal-page textarea:focus-visible,
html[data-theme="dark"] body.parent-portal-page input:focus,
html[data-theme="dark"] body.parent-portal-page input:focus-visible,
html[data-theme="dark"] body.parent-portal-page textarea:focus,
html[data-theme="dark"] body.parent-portal-page textarea:focus-visible,html[data-theme="dark"] body.student-portal-page input:focus,
html[data-theme="dark"] body.student-portal-page input:focus-visible,
html[data-theme="dark"] body.student-portal-page textarea:focus,
html[data-theme="dark"] body.student-portal-page textarea:focus-visible{background:var(--portal-dark-field-active-bg);border-color:var(--portal-dark-field-active-border);color:var(--portal-dark-field-text)}
html[data-theme="dark"] body.admin-portal-page select:focus,
html[data-theme="dark"] body.admin-portal-page select:focus-visible,
html[data-theme="dark"] body.parent-portal-page select:focus,
html[data-theme="dark"] body.parent-portal-page select:focus-visible,html[data-theme="dark"] body.student-portal-page select:focus,
html[data-theme="dark"] body.student-portal-page select:focus-visible{background:var(--portal-surface-card)}
html[data-theme="dark"] body.admin-portal-page input::placeholder,
html[data-theme="dark"] body.admin-portal-page select::placeholder,
html[data-theme="dark"] body.admin-portal-page textarea::placeholder,
html[data-theme="dark"] body.parent-portal-page input::placeholder,
html[data-theme="dark"] body.parent-portal-page select::placeholder,
html[data-theme="dark"] body.parent-portal-page textarea::placeholder,html[data-theme="dark"] body.student-portal-page input::placeholder,
html[data-theme="dark"] body.student-portal-page select::placeholder,
html[data-theme="dark"] body.student-portal-page textarea::placeholder{color:var(--portal-dark-field-placeholder)}
body.admin-portal-page .wrap,
body.parent-portal-page .portal-layout,body.student-portal-page .portal-shell{color:var(--portal-text)}
html[data-theme="dark"] body.parent-portal-page .card,
html[data-theme="dark"] body.parent-portal-page .portal-layout,
html[data-theme="dark"] body.student-portal-page .card,html[data-theme="dark"] body.student-portal-page .portal-shell{color:var(--portal-dark-text)}.portal-text{color:var(--portal-text)}.portal-text-soft{color:var(--portal-text-soft)}body.page{background:var(--portal-page-bg);color:var(--portal-text);min-height:100vh}html[data-theme="dark"] body.page{background:var(--portal-dark-page-bg);color:var(--portal-dark-text);color-scheme:dark}.content{background:var(--portal-role-content-bg);border:1px solid var(--portal-role-border);border-radius:var(--radius-3);box-shadow:var(--portal-role-shadow);box-sizing:border-box;color:var(--portal-role-text);min-width:0;padding:14px}.portal-center-column{margin-inline:auto;min-width:0;width:min(var(--portal-center-column-max,1040px),100%)}
.portal-theme-card,.portal-theme-panel,
.portal-theme-soft-card,
.portal-theme-table-shell{border:1px solid var(--portal-role-border);box-sizing:border-box;color:var(--portal-role-text)}.portal-theme-panel{background:var(--portal-role-panel-bg);box-shadow:var(--portal-role-shadow)}.portal-theme-card,
.portal-theme-soft-card{background:var(--portal-role-card-bg);box-shadow:var(--portal-role-shadow)}.portal-theme-table-shell{background:var(--portal-grade-table-shell-bg,var(--portal-role-card-bg));box-shadow:var(--portal-role-shadow)}.portal-theme-chart-shell,
.portal-theme-dialog,
.portal-theme-tooltip{background:var(--portal-role-card-bg);box-shadow:var(--portal-role-shadow)}body.admin-portal-page .admin-button-tooltip{background:rgba(49,109,214,.96);border:1px solid rgba(207,222,247,.92);border-radius:var(--radius-2);color:#fbffff;left:0;max-width:min(240px,calc(100vw - 24px));position:fixed;top:0}body.admin-portal-page .admin-button-tooltip,body.admin-portal-page .tabulator-tooltip{box-shadow:0 12px 28px rgba(8,22,40,.24);font-size:12px;font-weight:700;padding:8px 10px;pointer-events:none;white-space:normal;word-break:break-word;z-index:1200}body.admin-portal-page .tabulator-tooltip{background:#123055;border:1px solid #7f9bc4;border-radius:var(--radius-2);color:#fff;max-width:min(280px,calc(100vw - 24px));position:absolute;transform:translateY(calc(-100% - 28px))}html[data-theme="dark"] body.admin-portal-page .tabulator-tooltip{background:#e7f0ff;border-color:#8faed8;color:#10213d}.portal-theme-chart-shell,
.portal-theme-dialog{overflow:hidden}.portal-theme-overlay{background:var(--portal-modal-backdrop)}.portal-theme-overlay-strong{background:var(--portal-modal-backdrop-strong)}
body.admin-portal-page .card,
body.parent-portal-page .card,
body.report-template-page .card,body.student-portal-page .card{background:var(--portal-surface-card);border:1px solid var(--portal-border);color:var(--portal-text)}html[data-theme="dark"] body.parent-portal-page .card{background:var(--portal-neutral-card-dark);border-color:var(--portal-dark-border);color:var(--portal-dark-text)}html[data-theme="dark"] body.admin-portal-page textarea.card{background:var(--portal-surface-card);border-color:var(--portal-dark-border);color:var(--portal-dark-text)}
body.admin-portal-page .data-surface,
body.parent-portal-page .data-surface,body.student-portal-page .data-surface{background:var(--portal-surface-support);border:1px solid var(--portal-border);border-color:var(--portal-border);color:var(--portal-text)}body:is(.student-points-page, .student-enrollment-page, .grades-tabulator-page, .report-template-page, .student-portal-page, .parent-portal-page, .admin-portal-page) :is(.table-wrap, .table-scroll-wrap, .data-surface, .metric-table-wrap, .progress-report-table-wrap, .queue-table-wrap, .profile-layout-table-wrap, .user-admin-table) table{border-collapse:collapse;width:100%}table tbody tr{transition:background-color .12s ease,box-shadow .12s ease}
table tbody tr:focus-within > :is(th, td),table tbody tr:hover > :is(th, td){background:color-mix(in srgb,var(--portal-surface-support) 78%,#fff 22%)}body:is(.student-points-page, .student-enrollment-page, .grades-tabulator-page, .report-template-page, .student-portal-page, .parent-portal-page, .admin-portal-page) :is(.table-wrap, .table-scroll-wrap, .data-surface, .metric-table-wrap, .progress-report-table-wrap, .queue-table-wrap, .profile-layout-table-wrap, .user-admin-table) table :is(th, td){border-bottom:1px solid var(--portal-border)}body.report-template-page .metric-table :is(th, td){border:1px solid var(--portal-border)}html[data-theme="dark"] body.admin-portal-page .metric-table :is(th, td){border-color:var(--portal-dark-border)}
body.admin-portal-page .wrap .panel,
body.report-template-page .panel,body.student-portal-page .card{background:var(--portal-surface-card);border-color:var(--portal-border);color:var(--portal-text);margin-top:0;min-width:0;padding:14px}body.admin-portal-page .panel{background:var(--portal-surface-card);border-color:var(--portal-border);color:var(--portal-text);margin:0;min-width:0;padding:14px}body.report-template-page :is(.content, .panel, .card, .data-surface){border:1px solid var(--portal-border)!important}html[data-theme="dark"] body.report-template-page :is(.content, .panel, .card, .data-surface){border-color:var(--portal-dark-border)!important}
body.admin-portal-page [data-surface-role="panel"],
body.parent-portal-page [data-surface-role="panel"],body.student-portal-page [data-surface-role="panel"]{background:var(--portal-surface-panel);border:1px solid var(--portal-border);border-radius:var(--radius-3);box-sizing:border-box;color:var(--portal-text);margin-top:0;min-width:0;padding:14px}body.admin-portal-page .queue-modal-card.content{background:var(--portal-role-content-bg);border-color:var(--portal-role-border);color:var(--portal-role-text)}body.admin-portal-page .user-admin-table{border:1px solid var(--border-strong);border-radius:var(--radius-2);overflow:hidden}html[data-theme="dark"] body.admin-portal-page .user-admin-table{border-color:var(--portal-dark-border-strong)}body.admin-portal-page .user-admin-table tbody td{border-bottom:1px solid var(--border-strong)!important}html[data-theme="dark"] body.admin-portal-page .user-admin-table tbody td{border-bottom-color:var(--portal-dark-border-strong)!important}body.admin-portal-page .profile-layout-table-wrap.data-surface{border:1px solid var(--border-strong);border-radius:var(--radius-2);overflow:hidden}body.admin-portal-page :where(.table-scroll-wrap, .list-box){border:1px solid var(--portal-border);border-radius:var(--radius-2);box-sizing:border-box}body.admin-portal-page .table-scroll-wrap{-webkit-overflow-scrolling:touch;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden}html[data-theme="dark"] body.admin-portal-page .profile-layout-table-wrap.data-surface{border-color:var(--portal-dark-border-strong)}html[data-theme="dark"] body.admin-portal-page :where(.data-surface, .table-scroll-wrap, .list-box){border-color:var(--portal-dark-border)}
body.admin-portal-page td,body.admin-portal-page th{border-bottom:1px solid var(--border-strong)!important}
html[data-theme="dark"] body.admin-portal-page td,html[data-theme="dark"] body.admin-portal-page th{border-bottom-color:var(--portal-dark-border-strong)!important}
body.admin-portal-page .card > :not(:first-child),
body.admin-portal-page .panel > :not(:first-child),
body.parent-portal-page .card > :not(:first-child),
body.report-template-page .card > :not(:first-child),
body.report-template-page .panel > :not(:first-child),body.student-portal-page .card > :not(:first-child){margin-top:6px}
body.parent-portal-page .card.homework-card,body.student-portal-page .card.homework-card{background:var(--portal-surface-card);border-color:var(--portal-border)}body.admin-portal-page .panel,
body.admin-portal-page .wrap .panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-3);color:var(--ink);min-width:0;padding:12px}body.admin-portal-page :where(.profile-tabs-shell,
  .profile-info-tabs){background:var(--portal-role-panel-bg);border:1px solid var(--portal-role-border);border-radius:var(--radius-3);box-shadow:var(--portal-role-shadow);color:var(--portal-role-text);margin-bottom:.6rem;margin-top:1rem}body.admin-portal-page :where(.profile-info-summary,
  .profile-info-panel,
  .profile-layout-editor){background:var(--portal-role-card-bg);border:1px solid var(--portal-role-border);border-radius:var(--radius-3);box-shadow:var(--portal-role-shadow);color:var(--portal-role-text)}body.admin-portal-page :where(.profile-info-group,
  .profile-field-group){background:var(--portal-role-card-bg);border:1px solid var(--portal-role-border);border-radius:var(--radius-2);box-shadow:var(--portal-role-shadow);color:var(--portal-role-text);padding:12px}body.admin-portal-page .profile-tab-nav button{border:1px solid var(--portal-button-stroke)}body.admin-portal-page .profile-choice-item input[type="checkbox"],body.admin-portal-page .profile-choice-item input[type="radio"],body.admin-portal-page .profile-layout-editor{background:var(--portal-role-card-bg);border:1px solid var(--portal-role-border)}
body.admin-portal-page .parent-tracking-link-btn,body.admin-portal-page .row-options-trigger:not(.portal-button),
body.student-enrollment-page .history-rail__button{background:var(--portal-button-surface);border:1px solid var(--portal-button-border);border-radius:var(--radius-2);box-shadow:var(--portal-role-shadow-soft);color:var(--portal-text)}body.admin-portal-page .row-options-dropdown{background:var(--portal-role-card-bg);border:1px solid var(--portal-role-border);box-shadow:var(--portal-role-shadow);color:var(--portal-text)}body:is(.admin-portal-page, .parent-portal-page, .student-portal-page) .row-options-menu .portal-button,
body:is(.admin-portal-page, .parent-portal-page, .student-portal-page) .table-scroll-wrap tbody td:has(.queue-row-btn) .queue-row-btn{--portal-button-min-block:36px;box-sizing:border-box;min-block-size:36px;min-height:36px}
body.admin-portal-page .parent-tracking-link-btn:focus-visible,
body.admin-portal-page .parent-tracking-link-btn:hover,
body.admin-portal-page .row-options-trigger:not(.portal-button):focus-visible,body.admin-portal-page .row-options-trigger:not(.portal-button):hover,
body.student-enrollment-page .history-rail__button:focus-visible,
body.student-enrollment-page .history-rail__button:hover{background:var(--portal-button-surface-hover);border-color:var(--portal-button-border-hover);color:var(--portal-text)}body.admin-portal-page .system-health-loading{background:var(--portal-role-panel-bg);border:1px solid var(--portal-role-border);box-shadow:var(--portal-role-shadow)}body.grades-tabulator-page{--portal-grade-table-border:var(--portal-role-border);--portal-grade-table-current-row-accent:var(--brand);--portal-grade-table-current-row-bg:color-mix(in srgb,var(--portal-status-good-bg) 84%,#fff 16%);--portal-grade-table-header-bg:var(--portal-role-panel-bg);--portal-grade-table-row-bg:var(--portal-role-card-bg);--portal-grade-table-row-completed-bg:var(--portal-status-good-bg);--portal-grade-table-row-completed-hover-bg:color-mix(in srgb,var(--portal-status-good-bg) 82%,#fff 18%);--portal-grade-table-row-even-bg:color-mix(in srgb,var(--portal-role-card-bg) 92%,#fff 8%);--portal-grade-table-row-hover-bg:color-mix(in srgb,var(--portal-role-panel-bg) 82%,#fff 18%);--portal-grade-table-row-late-bg:color-mix(in srgb,var(--portal-status-bad-bg) 82%,#fff 18%);--portal-grade-table-row-late-hover-bg:color-mix(in srgb,var(--portal-status-bad-bg) 72%,#fff 28%);--portal-grade-table-row-missed-bg:var(--portal-status-bad-bg);--portal-grade-table-row-missed-hover-bg:color-mix(in srgb,var(--portal-status-bad-bg) 82%,#fff 18%);--portal-grade-table-row-open-bg:var(--portal-status-amber-bg);--portal-grade-table-row-open-hover-bg:color-mix(in srgb,var(--portal-status-amber-bg) 82%,#fff 18%);--portal-grade-table-shell-bg:var(--portal-role-card-bg);--portal-grade-table-text:var(--portal-text);background:linear-gradient(180deg,var(--portal-role-card-bg) 0,var(--portal-page-bg) 38%,var(--portal-role-panel-bg) 100%);color:var(--portal-text)}html[data-theme="dark"] body.grades-tabulator-page{--portal-grade-table-border:var(--portal-dark-border);--portal-grade-table-row-late-bg:color-mix(in srgb,#b23a2e 22%,var(--portal-dark-card) 78%);--portal-grade-table-row-late-hover-bg:color-mix(in srgb,#b23a2e 28%,var(--portal-dark-surface-support) 72%);--portal-grade-table-shell-bg:var(--portal-role-card-bg);--portal-grade-table-text:var(--portal-dark-text);background:linear-gradient(180deg,var(--portal-role-panel-bg) 0,var(--portal-page-bg) 38%,var(--portal-role-card-bg) 100%);color:var(--portal-dark-text)}body.grades-tabulator-page .grade-tabulator-shell,
body.grades-tabulator-page .portal-theme-table-shell{background:var(--portal-grade-table-shell-bg);border:1px solid var(--portal-grade-table-border);border-radius:12px;box-sizing:border-box;overflow:hidden;width:100%}body.grades-tabulator-page .grade-tabulator{width:100%}body.grades-tabulator-page .grade-tabulator-shell .tabulator,
body.grades-tabulator-page .portal-theme-table-shell.tabulator{background:var(--portal-grade-table-shell-bg);border:1px solid var(--portal-grade-table-border);border-radius:12px;box-sizing:border-box;color:var(--portal-grade-table-text);font-size:.98rem;overflow:hidden;width:100%}
body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-cell,
body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-col,
body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-col.tabulator-frozen,
body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-col.tabulator-frozen-left,
body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-col.tabulator-frozen-right,
body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-footer,body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-header,
body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-header .tabulator-frozen,
body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-responsive-collapse,
body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-responsive-collapse table,
body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-row,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-cell,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-col,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-col.tabulator-frozen,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-col.tabulator-frozen-left,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-col.tabulator-frozen-right,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-footer,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-header,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-header .tabulator-frozen,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-responsive-collapse,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-responsive-collapse table,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-row{color:var(--portal-grade-table-text)}
body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-col,
body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-footer,body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-header,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-col,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-footer,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-header{background:var(--portal-surface-support);border-color:var(--portal-grade-table-border)}
body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-table,body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-tableholder,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-table,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-tableholder{background:var(--portal-role-panel-bg)}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-row,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-row{background-color:var(--portal-grade-table-row-bg)!important;border-bottom:1px solid var(--portal-grade-table-border)}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-row.tabulator-row-even,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-row.tabulator-row-even{background-color:var(--portal-grade-table-row-even-bg)!important}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-row:hover,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-row:hover{background-color:var(--portal-grade-table-row-hover-bg)!important}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-row.is-current-quarter,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-row.is-current-quarter{background-color:var(--portal-grade-table-current-row-bg)!important;box-shadow:inset 4px 0 0 var(--portal-grade-table-current-row-accent)}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-row.is-open,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-row.is-open{background-color:var(--portal-grade-table-row-open-bg)!important;box-shadow:inset 4px 0 0 #a86400}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-row.is-open:hover,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-row.is-open:hover{background-color:var(--portal-grade-table-row-open-hover-bg)!important}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-row.is-completed,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-row.is-completed{background-color:var(--portal-grade-table-row-completed-bg)!important;box-shadow:inset 4px 0 0 #1f7a47}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-row.is-completed:hover,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-row.is-completed:hover{background-color:var(--portal-grade-table-row-completed-hover-bg)!important}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-row.is-late,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-row.is-late{background-color:var(--portal-grade-table-row-late-bg)!important;box-shadow:inset 4px 0 0 #b23a2e}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-row.is-late:hover,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-row.is-late:hover{background-color:var(--portal-grade-table-row-late-hover-bg)!important}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-row.is-missed,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-row.is-missed{background-color:var(--portal-grade-table-row-missed-bg)!important;box-shadow:inset 4px 0 0 #b23a2e}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-row.is-missed:hover,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-row.is-missed:hover{background-color:var(--portal-grade-table-row-missed-hover-bg)!important}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-cell,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-cell{background:transparent;border-right-color:var(--portal-grade-table-border);box-sizing:border-box;line-height:1.2;padding:.28rem .36rem;vertical-align:top;white-space:normal}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-col-resize-handle,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-col-resize-handle{background:color-mix(in srgb,var(--portal-grade-table-border) 74%,transparent)}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-cell:last-child,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-cell:last-child{border-right-color:var(--portal-grade-table-border)}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-col .tabulator-col-content,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-col .tabulator-col-content{box-sizing:border-box;min-height:100%;padding:.24rem .36rem}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-col .tabulator-col-title,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-col .tabulator-col-title{color:var(--portal-grade-table-text);font-size:1rem;font-weight:800;line-height:1.2}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-tooltip,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-tooltip{background:var(--portal-surface-card);border:1px solid var(--portal-grade-table-border);border-radius:10px;color:var(--portal-grade-table-text);font-weight:600}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-cell a,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-cell a{color:var(--portal-homework-link)}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-cell a:hover,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-cell a:hover{color:var(--portal-homework-link-hover)}body.grades-tabulator-page .grade-tabulator-shell .tabulator .tabulator-row.is-stat-row .tabulator-cell,
body.grades-tabulator-page .portal-theme-table-shell.tabulator .tabulator-row.is-stat-row .tabulator-cell{background:var(--portal-surface-support)!important;color:var(--portal-grade-table-text);font-weight:600}body.grades-tabulator-page .assignment-head{background:var(--portal-assignment-head-bg);border:1px solid var(--portal-grade-table-border);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--portal-grade-table-border) 20%,transparent)}body.grades-tabulator-page .assignment-title-text,
body.grades-tabulator-page .collapse-label,
body.grades-tabulator-page .distribution-dialog h2,
body.grades-tabulator-page .grid-title{color:var(--portal-text)}body.grades-tabulator-page .assignment-sub,
body.grades-tabulator-page .assignment-sub.core-sub,
body.grades-tabulator-page .collapse-value,
body.grades-tabulator-page .detail-empty-copy,
body.grades-tabulator-page .dim,
body.grades-tabulator-page .distribution-dialog-hint,
body.grades-tabulator-page .distribution-dialog-meta,
body.grades-tabulator-page .distribution-zoom-label,
body.grades-tabulator-page .group-meta,
body.grades-tabulator-page .section-note,
body.grades-tabulator-page .stat-chip{color:var(--portal-support-message)}
body.grades-tabulator-page .app-brand-logo-fallback,
body.grades-tabulator-page .app-school-name,body.grades-tabulator-page .detail-empty-title{color:var(--portal-text)}body.grades-tabulator-page .header-action-btn{border-color:transparent;color:var(--portal-primary-text-strong)}body.grades-tabulator-page .header-action-btn.plus{background:linear-gradient(180deg,var(--portal-action-green-top) 0,var(--portal-action-green-bottom) 100%);border-color:var(--portal-action-green-border);color:var(--portal-action-secondary-text)}body.grades-tabulator-page .header-action-btn.minus{background:linear-gradient(180deg,var(--portal-action-red-top) 0,var(--portal-action-red-bottom) 100%);border-color:var(--portal-action-red-border);color:var(--portal-action-red-text)}body.grades-tabulator-page .exercise-cell.ontime{background:var(--portal-status-good-bg);border-color:var(--portal-status-good-border);color:var(--portal-status-good-text)}body.grades-tabulator-page .exercise-cell.late{background:var(--portal-status-warn-bg);border-color:var(--portal-status-warn-border);color:var(--portal-status-warn-text)}body.grades-tabulator-page .exercise-cell.notdone{background:var(--portal-status-bad-bg);border-color:var(--portal-status-bad-border);color:var(--portal-status-bad-text)}
body.grades-tabulator-page .tabulator .tabulator-row .tabulator-cell.tabulator-responsive-collapse-toggle,body.grades-tabulator-page .tabulator-responsive-collapse{background:var(--portal-surface-support);border-color:var(--portal-grade-table-border);color:var(--portal-grade-table-text)}body.grades-tabulator-page .collapse-item,
body.grades-tabulator-page .tabulator-tooltip{background:var(--portal-surface-card);border-color:var(--portal-grade-table-border);color:var(--portal-grade-table-text)}body.grades-tabulator-page .distribution-dialog h2{color:var(--portal-role-text)}
body.grades-tabulator-page .distribution-dialog-hint,body.grades-tabulator-page .distribution-dialog-meta,
body.grades-tabulator-page .distribution-zoom-label{color:var(--portal-support-message)}body.grades-tabulator-page .table-modal-backdrop{border:0}body.student-points-page{background:var(--portal-page-bg);background-image:linear-gradient(180deg,rgba(249,250,255,.26),rgba(235,237,247,.72));color:var(--portal-text)}
body.student-points-page .field label,
body.student-points-page .mini,
body.student-points-page .status,body.student-points-page .sub{color:var(--portal-text-soft)}body.student-points-page .field label{font-size:.8rem;font-weight:700}body.student-points-page .mini{font-size:.82rem;line-height:1.35;margin-top:8px}body.student-points-page .status{margin:0;min-height:1.4em}body.student-points-page #loginPanel .login-link{color:var(--primary-color);font-size:.92rem;font-weight:700;text-decoration:none}
body.student-points-page #loginPanel .login-link:focus-visible,body.student-points-page #loginPanel .login-link:hover{text-decoration:underline}body.student-points-page :is(input, select, button){background:var(--portal-surface-card);border:1px solid var(--portal-button-border);border-radius:10px;color:var(--portal-text)}body.student-points-page button{background:var(--portal-button-surface)}body.student-points-page button:hover{border-color:var(--portal-button-border-hover)}body.student-points-page .primary{background:linear-gradient(160deg,var(--portal-action-blue-top),var(--portal-action-blue-bottom));border-color:transparent;color:var(--portal-primary-text-strong)}body.student-points-page .status.bad{color:var(--portal-status-bad-text)}body.student-points-page .status.ok{color:var(--portal-status-good-text)}
body.student-points-page td,body.student-points-page th{border-bottom:1px solid var(--portal-border);font-size:.92rem;line-height:1.35}body.student-points-page th button{background:transparent;border:0;color:inherit;font-weight:700}body.student-points-page .pill{background:var(--portal-pill-bg);border:1px solid var(--portal-pill-border);border-radius:999px;color:var(--portal-pill-text);display:inline-block;font-size:.78rem;padding:2px 9px}.portal-ods-good{background:var(--portal-ods-accent-good-bg);color:var(--portal-ods-accent-good-text)}.portal-ods-bad{background:var(--portal-ods-accent-bad-bg);color:var(--portal-ods-accent-bad-text)}.portal-ods-neutral{background:var(--portal-ods-accent-neutral-bg);color:var(--portal-ods-accent-neutral-text)}.portal-ods-warning{background:var(--portal-ods-accent-warning-bg);color:var(--portal-ods-accent-warning-text)}.portal-ods-border{border-color:var(--portal-ods-accent-border)}
body.grades-tabulator-page .status,body.student-enrollment-page .status{background:var(--portal-status-neutral-bg);border:1px solid var(--portal-status-neutral-border);border-radius:10px;color:var(--portal-text-soft);margin:10px 0;min-height:1.2rem}body.student-enrollment-page .history-rail__button{align-items:center;appearance:none;box-sizing:border-box;display:inline-flex;justify-content:center;min-height:0;min-width:0;padding:0 6px;width:auto}body.student-enrollment-page .app-brand-kicker,
body.student-enrollment-page .app-page-subtitle,
body.student-enrollment-page .app-school-name,
body.student-enrollment-page .enrollment-history-empty,
body.student-enrollment-page .enrollment-history-modal__kicker,
body.student-enrollment-page .enrollment-history-modal__summary,
body.student-enrollment-page .enrollment-history-modal__title,
body.student-enrollment-page .enrollment-history-period__line,
body.student-enrollment-page .enrollment-history-period__note,
body.student-enrollment-page .enrollment-summary-label,
body.student-enrollment-page .enrollment-summary-note,
body.student-enrollment-page .student-ident small,
body.student-enrollment-page .text-zoom-controls .global-text-label,
body.student-enrollment-page .text-zoom-controls .zoom-label{color:var(--portal-text-soft)}body.student-enrollment-page .app-brand-kicker{font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}body.student-enrollment-page .app-school-name{color:var(--portal-text);font-size:clamp(1rem,1rem + .6vw,1.25rem);font-weight:800;letter-spacing:.05em;line-height:1.2;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}body.student-enrollment-page .app-page-subtitle{font-size:.92rem;line-height:1.45;max-width:72ch}body.student-enrollment-page .enrollment-summary-label{font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
body.student-enrollment-page .enrollment-history-empty,
body.student-enrollment-page .enrollment-history-modal__summary,
body.student-enrollment-page .enrollment-history-period__line,body.student-enrollment-page .enrollment-summary-note{font-size:.84rem;line-height:1.35}body.student-enrollment-page .enrollment-history-modal__kicker{font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}body.student-enrollment-page .enrollment-history-modal__title{font-size:clamp(1.05rem,1rem + .5vw,1.35rem);line-height:1.25}body.student-enrollment-page .student-ident small{font-size:.92rem;line-height:1.35}body.student-enrollment-page .text-zoom-controls .global-text-label{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}body.student-enrollment-page .text-zoom-controls .zoom-label{font-size:.84rem}
body.grades-tabulator-page .status.is-error,body.student-enrollment-page .status.is-error{background:var(--portal-status-bad-bg);border-color:var(--portal-status-bad-border);color:var(--portal-status-bad-text)}body.grades-tabulator-page .status.is-warn{background:var(--portal-status-warn-bg);border-color:var(--portal-status-warn-border);color:var(--portal-status-warn-text)}body.grades-tabulator-page .metric-card h2{color:var(--portal-text-soft);font-size:clamp(.74rem,3.6vw,.84rem);font-weight:700;letter-spacing:.01em;line-height:1.1;margin:0;text-transform:uppercase}body.grades-tabulator-page .metric-card p{color:var(--portal-text);font-size:1.08rem;font-weight:700;margin:.18rem 0 0}body.grades-tabulator-page .grid-title{color:var(--portal-text);font-size:1rem;font-weight:700;line-height:1.2}body.grades-tabulator-page .distribution-dialog h2{font-size:clamp(1rem,1rem + .4vw,1.2rem);line-height:1.2;margin:0}
body.grades-tabulator-page .distribution-dialog-hint,body.grades-tabulator-page .distribution-dialog-meta{color:var(--portal-support-message);font-size:.9rem;line-height:1.35;margin:0}body.grades-tabulator-page .distribution-zoom-label{color:var(--portal-support-message)}body.admin-portal-page .system-health-loading-pulse{color:var(--primary-color)}html[data-theme="dark"] body.admin-portal-page .system-health-loading-pulse{color:var(--portal-dark-theme-toggle-ink)}
body.parent-portal-page .side-nav,body.student-portal-page .side-nav{background:var(--portal-surface-panel);border-color:var(--portal-border)}
body.parent-portal-page .homework-card,body.student-portal-page .homework-card{background:var(--portal-surface-panel);border:1px solid var(--portal-border);border-radius:var(--radius-3);margin-top:10px}
body.parent-portal-page :is(.homework-square, .attendance-square),body.student-portal-page :is(.homework-square, .attendance-square){align-content:center;background:linear-gradient(180deg,var(--square-bg-start,color-mix(in srgb,var(--portal-role-card-bg) 92%,#fff 8%)) 0,var(--square-bg-end,var(--portal-role-card-bg)) 100%);border:solid var(--square-border,var(--portal-metric-border));border-radius:10px;border-width:2px 2px 5px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.5),0 8px 18px rgba(19,35,61,.08);box-sizing:border-box;color:var(--square-text,var(--portal-role-text));display:grid;font-weight:800;gap:4px;justify-items:center;line-height:1.1;min-height:72px;min-width:0;overflow:hidden;padding:8px;place-items:center;position:relative;text-align:center}
body.parent-portal-page :is(.homework-square, .attendance-square)::before,body.student-portal-page :is(.homework-square, .attendance-square)::before{background:linear-gradient(135deg,var(--square-accent-soft,rgba(128,152,190,.12)),transparent 72%);content:"";inset:0;pointer-events:none;position:absolute}
body.parent-portal-page :is(.homework-square, .attendance-square)::after,body.student-portal-page :is(.homework-square, .attendance-square)::after{background:var(--square-accent,var(--portal-border-strong));content:"";height:3px;inset-block-start:0;inset-inline:0;pointer-events:none;position:absolute}
body.parent-portal-page :is(.homework-square, .attendance-square) > *,body.student-portal-page :is(.homework-square, .attendance-square) > *{position:relative;z-index:1}
body.parent-portal-page .attendance-square.is-good,
body.parent-portal-page .homework-square.is-complete,
body.student-portal-page .attendance-square.is-good,body.student-portal-page .homework-square.is-complete{--square-accent:#349f61;--square-accent-soft:rgba(144,211,173,.18);--square-bg-end:var(--portal-role-card-bg);--square-bg-start:color-mix(in srgb,var(--portal-role-card-bg) 86%,#349f61 14%);--square-border:color-mix(in srgb,var(--portal-role-card-bg) 72%,#349f61 28%)}
body.parent-portal-page .attendance-square.is-warn,
body.parent-portal-page .homework-square.is-pending,
body.student-portal-page .attendance-square.is-warn,body.student-portal-page .homework-square.is-pending{--square-accent:#2d66cb;--square-accent-soft:rgba(106,164,255,.16);--square-bg-end:var(--portal-role-card-bg);--square-bg-start:color-mix(in srgb,var(--portal-role-card-bg) 86%,#2d66cb 14%);--square-border:color-mix(in srgb,var(--portal-role-card-bg) 72%,#2d66cb 28%)}
body.parent-portal-page .homework-square.is-none,body.student-portal-page .homework-square.is-none{--square-accent:var(--portal-border-strong);--square-accent-soft:rgba(128,152,190,.12);--square-bg-end:var(--portal-role-card-bg);--square-bg-start:color-mix(in srgb,var(--portal-role-card-bg) 88%,var(--portal-border-strong) 12%);--square-border:color-mix(in srgb,var(--portal-role-card-bg) 72%,var(--portal-border-strong) 28%)}
body.parent-portal-page .homework-square.is-clear,body.student-portal-page .homework-square.is-clear{--square-accent:#349f61;--square-accent-soft:rgba(144,211,173,.18);--square-bg-end:var(--portal-role-card-bg);--square-bg-start:color-mix(in srgb,var(--portal-role-card-bg) 86%,#349f61 14%);--square-border:color-mix(in srgb,var(--portal-role-card-bg) 72%,#349f61 28%)}
body.parent-portal-page .attendance-square.is-risk,
body.parent-portal-page .homework-square.is-arrears,
body.student-portal-page .attendance-square.is-risk,body.student-portal-page .homework-square.is-arrears{--square-accent:#cc4452;--square-accent-soft:rgba(242,138,149,.16);--square-bg-end:var(--portal-role-card-bg);--square-bg-start:color-mix(in srgb,var(--portal-role-card-bg) 86%,#cc4452 14%);--square-border:color-mix(in srgb,var(--portal-role-card-bg) 72%,#cc4452 28%)}
body.parent-portal-page .attendance-square.is-good,body.student-portal-page .attendance-square.is-good{--square-accent:#349f61;--square-accent-soft:rgba(144,211,173,.18);--square-bg-end:var(--portal-role-card-bg);--square-bg-start:color-mix(in srgb,var(--portal-role-card-bg) 86%,#349f61 14%);--square-border:color-mix(in srgb,var(--portal-role-card-bg) 72%,#349f61 28%)}
body.parent-portal-page .attendance-square.is-warn,body.student-portal-page .attendance-square.is-warn{--square-accent:#2d66cb;--square-accent-soft:rgba(106,164,255,.16);--square-bg-end:var(--portal-role-card-bg);--square-bg-start:color-mix(in srgb,var(--portal-role-card-bg) 86%,#2d66cb 14%);--square-border:color-mix(in srgb,var(--portal-role-card-bg) 72%,#2d66cb 28%)}
body.parent-portal-page .attendance-square.is-risk,body.student-portal-page .attendance-square.is-risk{--square-accent:#cc4452;--square-accent-soft:rgba(242,138,149,.16);--square-bg-end:var(--portal-role-card-bg);--square-bg-start:color-mix(in srgb,var(--portal-role-card-bg) 86%,#cc4452 14%);--square-border:color-mix(in srgb,var(--portal-role-card-bg) 72%,#cc4452 28%)}
body.parent-portal-page .homework-square-v.is-count,body.student-portal-page .homework-square-v.is-count{line-height:.95}
body.parent-portal-page .homework-card-content,body.student-portal-page .homework-card-content{align-content:center;display:grid;gap:8px;min-width:0}
body.parent-portal-page .queue-panel details summary,body.student-portal-page .queue-panel details summary{cursor:pointer;display:grid;gap:4px;list-style:none}
body.parent-portal-page .queue-panel details summary::-webkit-details-marker,body.student-portal-page .queue-panel details summary::-webkit-details-marker{display:none}
body.parent-portal-page .queue-summary-head,body.student-portal-page .queue-summary-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}
body.parent-portal-page .queue-summary-stack,body.student-portal-page .queue-summary-stack{display:grid;gap:8px;min-width:0}
body.parent-portal-page .queue-summary-chips,body.student-portal-page .queue-summary-chips{display:grid;gap:6px 8px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
body.parent-portal-page .queue-summary-chip,body.student-portal-page .queue-summary-chip{inline-size:100%;justify-content:space-between;min-width:0}
body.parent-portal-page .queue-summary-chip-label,body.student-portal-page .queue-summary-chip-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.parent-portal-page .queue-summary-chip-count,body.student-portal-page .queue-summary-chip-count{font-variant-numeric:tabular-nums;min-width:1.5em;text-align:right}
body.parent-portal-page .summary-title,body.student-portal-page .summary-title{display:block;font-size:21px;font-weight:700;line-height:1.2;margin:0 0 12px;text-transform:none}
body.parent-portal-page .queue-summary-head,body.student-portal-page .queue-summary-head{margin-bottom:12px}
body.parent-portal-page .queue-compact-datetime,body.student-portal-page .queue-compact-datetime{align-items:flex-start;display:inline-flex;flex-direction:column;font-variant-numeric:tabular-nums;gap:1px;line-height:1.1;white-space:nowrap}
body.parent-portal-page .queue-compact-datetime-date,body.student-portal-page .queue-compact-datetime-date{font-weight:700}
body.parent-portal-page .queue-compact-datetime-time,body.student-portal-page .queue-compact-datetime-time{color:var(--ink-soft);font-size:11px}
body.parent-portal-page .queue-table-wrap,body.student-portal-page .queue-table-wrap{background:var(--portal-surface-support);border:1px solid var(--line);border-radius:var(--radius-2);box-sizing:border-box;max-height:260px;min-width:0;overflow:auto;padding:6px}
body.parent-portal-page .queue-table-wrap table,body.student-portal-page .queue-table-wrap table{border-collapse:collapse;font-size:13px;min-width:100%;table-layout:fixed;width:100%}
body.parent-portal-page .queue-table-wrap table.news-queue-table,body.student-portal-page .queue-table-wrap table.news-queue-table{table-layout:auto}body.parent-portal-page .queue-table-wrap table.news-queue-table{min-height:47px}
body.parent-portal-page .queue-table-wrap table.news-queue-table td,
body.parent-portal-page .queue-table-wrap table.news-queue-table th,
body.student-portal-page .queue-table-wrap table.news-queue-table td,body.student-portal-page .queue-table-wrap table.news-queue-table th{border-bottom:1px solid var(--line)}
body.parent-portal-page .queue-table-wrap table.news-queue-table tr:last-child td,body.student-portal-page .queue-table-wrap table.news-queue-table tr:last-child td{border-bottom:none}
body.parent-portal-page #performanceReportAttendanceMetrics,
body.parent-portal-page .attendance-overview-grid,body.student-portal-page .attendance-overview-grid{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}
body.parent-portal-page .attendance-square-v,body.student-portal-page .attendance-square-v{color:var(--portal-text);font-weight:700;line-height:.95}body.student-portal-page .attendance-square-v{font-size:clamp(28px,5.5vw,36px)}body.parent-portal-page .attendance-square-v{font-size:clamp(26px,4.8vw,42px)}
body.parent-portal-page #attendanceCalendarCard .section-head,body.student-portal-page #attendanceCalendarCard .section-head{margin-bottom:8px}body.parent-portal-page #attendanceCalendarSummary,body.parent-portal-page #gradesYtdSummary,body.parent-portal-page #performanceReportsSummary,body.parent-portal-page #portalDetailCalendarSummary,body.parent-portal-page #recommendationsSummary,body.parent-portal-page #reportCurrentHomeworkSummary,body.parent-portal-page #reportPastDueHomeworkSummary,body.student-portal-page #attendanceCalendarSummary,body.student-portal-page #gradesYtdSummary,body.student-portal-page #performanceReportsSummary,body.student-portal-page #portalDetailCalendarSummary,body.student-portal-page #recommendationsSummary,body.student-portal-page #reportCurrentHomeworkSummary,body.student-portal-page #reportPastDueHomeworkSummary,body.student-portal-page #studentDetailCalendarSummary,body.student-portal-page #studentDetailHistorySummary,body.student-portal-page #studentDetailPrimarySummary{font-size:13px;line-height:1.45;margin-top:8px}
body.parent-portal-page .field.is-invalid label,body.student-portal-page .field.is-invalid label{color:var(--portal-status-bad-text)}
body.parent-portal-page .field.is-invalid input,
body.parent-portal-page .field.is-invalid textarea,body.student-portal-page .field.is-invalid input,
body.student-portal-page .field.is-invalid textarea,
body.student-portal-page .news-vocabulary-row [data-vocabulary-field].is-invalid{background:var(--portal-status-bad-bg);border-color:var(--portal-status-bad-border);box-shadow:var(--portal-field-invalid-shadow)}
body.parent-portal-page .field-validation-message,body.student-portal-page .field-validation-message{color:var(--portal-status-bad-text);font-size:12px;line-height:1.35;margin:2px 0 0}
body.parent-portal-page .queue-table-wrap table.news-queue-table td,
body.parent-portal-page .queue-table-wrap table.news-queue-table th,
body.student-portal-page .queue-table-wrap table.news-queue-table td,body.student-portal-page .queue-table-wrap table.news-queue-table th{padding:4px 6px}
body.parent-portal-page .queue-table-wrap table.news-queue-table td:nth-child(2),
body.parent-portal-page .queue-table-wrap table.news-queue-table td:nth-child(3),
body.parent-portal-page .queue-table-wrap table.news-queue-table td:nth-child(5),
body.parent-portal-page .queue-table-wrap table.news-queue-table th:nth-child(2),
body.parent-portal-page .queue-table-wrap table.news-queue-table th:nth-child(3),
body.parent-portal-page .queue-table-wrap table.news-queue-table th:nth-child(5),
body.student-portal-page .queue-table-wrap table.news-queue-table td:nth-child(2),
body.student-portal-page .queue-table-wrap table.news-queue-table td:nth-child(3),
body.student-portal-page .queue-table-wrap table.news-queue-table td:nth-child(5),body.student-portal-page .queue-table-wrap table.news-queue-table th:nth-child(2),
body.student-portal-page .queue-table-wrap table.news-queue-table th:nth-child(3),
body.student-portal-page .queue-table-wrap table.news-queue-table th:nth-child(5){white-space:nowrap}
body.parent-portal-page .queue-table-wrap table.news-queue-table td:nth-child(3) .chip,
body.parent-portal-page table.news-queue-table td:nth-child(3) .chip,body.student-portal-page .queue-table-wrap table.news-queue-table td:nth-child(3) .chip,
body.student-portal-page table.news-queue-table td:nth-child(3) .chip{--chip-height:24px;--chip-min-ar:0;border-width:1px;font-size:11px;min-inline-size:0;padding:0 8px}
body.parent-portal-page .queue-table-wrap table.news-queue-table .queue-row-btn,
body.parent-portal-page table.news-queue-table .queue-row-btn,body.student-portal-page .queue-table-wrap table.news-queue-table .queue-row-btn,
body.student-portal-page table.news-queue-table .queue-row-btn{--portal-button-font-size:11px;--portal-button-inline-padding:8px;--portal-button-line-height:1.1;--portal-button-min-block:36px;box-sizing:border-box;min-height:36px;white-space:nowrap}
body.parent-portal-page .homework-link,body.student-portal-page .homework-link{color:#174f92;font-size:clamp(12px,2.8vw,14px);font-weight:700;line-height:1.35;min-width:0;overflow-wrap:anywhere;text-decoration:underline;text-decoration-thickness:1.2px;text-underline-offset:2px}
body.parent-portal-page .homework-link:focus-visible,
body.parent-portal-page .homework-link:hover,
body.student-portal-page .homework-link:focus-visible,body.student-portal-page .homework-link:hover{color:#0f3c70}
body.parent-portal-page .side-brand,body.student-portal-page .side-brand{background:var(--portal-surface-soft);border-color:var(--portal-border)}
body.parent-portal-page .side-link,body.student-portal-page .side-link{background:var(--portal-surface-card);border-color:var(--portal-border);color:var(--portal-text)}
body.parent-portal-page .side-link.active,body.student-portal-page .side-link.active{border-color:var(--portal-border-strong);color:#0f2545}
body.parent-portal-page .calendar-shell,
body.parent-portal-page .homework-card-shell,
body.parent-portal-page .portal-modal-body,
body.parent-portal-page .portal-modal-dialog,
body.parent-portal-page .queue-table-wrap,
body.student-portal-page .calendar-shell,body.student-portal-page .homework-card-shell,
body.student-portal-page .portal-modal-body,
body.student-portal-page .portal-modal-dialog,
body.student-portal-page .queue-table-wrap{--fc-event-bg-color:#edf4ff;--fc-event-border-color:#83a8de;--fc-event-text-color:#173b78;background:var(--portal-surface-support);border-color:var(--portal-border);color:var(--portal-text)}
body.parent-portal-page .identity-list,body.student-portal-page .identity-list{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
body.parent-portal-page,body.student-portal-page{--menu-bg:var(--portal-neutral-card-light);--menu-border:var(--portal-border);--menu-button-active-bg:color-mix(in srgb,var(--portal-neutral-card-light) 18%,var(--portal-button-teal-fill-hover) 82%);--menu-button-active-border:color-mix(in srgb,var(--portal-border-strong) 10%,var(--portal-button-teal-stroke) 90%);--menu-button-active-text:#073f37;--menu-button-bg:var(--portal-neutral-support-light);--menu-button-border:color-mix(in srgb,var(--portal-border) 88%,#c7d8f0 12%);--menu-button-hover-bg:color-mix(in srgb,var(--portal-neutral-card-light) 22%,var(--portal-action-blue-top) 78%);--menu-button-hover-border:color-mix(in srgb,var(--portal-border-strong) 12%,var(--portal-action-blue-border) 88%);--menu-button-hover-text:var(--secondary-color);--menu-button-pressed-bg:color-mix(in srgb,var(--portal-neutral-card-light) 14%,var(--portal-action-blue-top-active) 86%);--menu-button-pressed-border:color-mix(in srgb,var(--portal-border-strong) 10%,var(--portal-action-blue-border-active) 90%);--menu-button-pressed-text:#f9fcff;--menu-button-text:#10294d;--menu-header-bg:var(--portal-neutral-support-light);--menu-link-active-bg:color-mix(in srgb,var(--portal-neutral-card-light) 20%,var(--portal-button-teal-fill-hover) 80%);--menu-link-active-border:color-mix(in srgb,var(--portal-border-strong) 10%,var(--portal-button-teal-stroke) 90%);--menu-link-active-text:var(--secondary-color);--menu-link-hover-bg:color-mix(in srgb,var(--portal-neutral-card-light) 24%,var(--portal-action-blue-top) 76%);--menu-link-hover-border:color-mix(in srgb,var(--portal-border-strong) 12%,var(--portal-action-blue-border) 88%);--menu-link-hover-text:var(--secondary-color);--menu-link-pressed-bg:color-mix(in srgb,var(--portal-neutral-card-light) 14%,var(--portal-action-blue-top-active) 86%);--menu-link-pressed-border:color-mix(in srgb,var(--portal-border-strong) 10%,var(--portal-action-blue-border-active) 90%);--menu-link-pressed-text:#f9fcff;--portal-grade-table-border:var(--line);--portal-grade-table-current-row-accent:var(--brand);--portal-grade-table-current-row-bg:color-mix(in srgb,var(--portal-status-good-bg) 84%,#fff 16%);--portal-grade-table-header-bg:var(--portal-surface-support);--portal-grade-table-row-bg:var(--portal-surface-card);--portal-grade-table-row-completed-bg:#e2f5e9;--portal-grade-table-row-completed-hover-bg:#d3ecd9;--portal-grade-table-row-even-bg:color-mix(in srgb,var(--portal-surface-card) 92%,#fff 8%);--portal-grade-table-row-hover-bg:color-mix(in srgb,var(--portal-surface-support) 82%,#fff 18%);--portal-grade-table-row-late-bg:#f3ecff;--portal-grade-table-row-late-hover-bg:#ede3ff;--portal-grade-table-row-missed-bg:#ffd7d4;--portal-grade-table-row-missed-hover-bg:#ffc9c4;--portal-grade-table-row-open-bg:#fff0cc;--portal-grade-table-row-open-hover-bg:#ffe4a3;--portal-grade-table-shell-bg:var(--portal-surface-card);--portal-grade-table-text:var(--ink)}
body.parent-portal-page .grade-tabulator-shell,body.student-portal-page .grade-tabulator-shell{background:var(--portal-grade-table-shell-bg);border:1px solid var(--portal-grade-table-border);border-radius:12px;box-sizing:border-box;overflow:hidden;width:100%}
body.parent-portal-page .grade-tabulator,body.student-portal-page .grade-tabulator{width:100%}
body.parent-portal-page .grade-tabulator-shell .tabulator,body.student-portal-page .grade-tabulator-shell .tabulator{background:transparent;border:1px solid var(--portal-grade-table-border);box-sizing:border-box;color:var(--portal-grade-table-text);font-size:.92rem;width:100%}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-cell,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-footer,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-header,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-responsive-collapse,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-responsive-collapse table,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-row,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-cell,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-footer,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-header,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-responsive-collapse,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-responsive-collapse table,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-row{color:var(--portal-grade-table-text)}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-footer,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-header,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-footer,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-header{background:var(--portal-grade-table-header-bg);border-color:var(--portal-grade-table-border)}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-row,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-row{background:var(--portal-grade-table-row-bg);border-bottom:1px solid var(--portal-grade-table-border)}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-row.tabulator-row-even,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-row.tabulator-row-even{background:var(--portal-grade-table-row-even-bg)}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-row:hover,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-row:hover{background:var(--portal-grade-table-row-hover-bg)}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-row.is-current-quarter,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-row.is-current-quarter{background:var(--portal-grade-table-current-row-bg);box-shadow:inset 4px 0 0 var(--portal-grade-table-current-row-accent)}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-row.is-open,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-row.is-open{background:var(--portal-grade-table-row-open-bg);box-shadow:inset 4px 0 0 #a86400}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-row.is-open:hover,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-row.is-open:hover{background:var(--portal-grade-table-row-open-hover-bg)}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-row.is-completed,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-row.is-completed{background:var(--portal-grade-table-row-completed-bg);box-shadow:inset 4px 0 0 #1f7a47}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-row.is-completed:hover,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-row.is-completed:hover{background:var(--portal-grade-table-row-completed-hover-bg)}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-row.is-late,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-row.is-late{background:var(--portal-grade-table-row-late-bg);box-shadow:inset 4px 0 0 #55389f}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-row.is-late:hover,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-row.is-late:hover{background:var(--portal-grade-table-row-late-hover-bg)}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-row.is-missed,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-row.is-missed{background:var(--portal-grade-table-row-missed-bg);box-shadow:inset 4px 0 0 #b23a2e}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-row.is-missed:hover,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-row.is-missed:hover{background:var(--portal-grade-table-row-missed-hover-bg)}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-cell,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-cell{border-right-color:var(--portal-grade-table-border);box-sizing:border-box;line-height:1.2;padding:.28rem .36rem;vertical-align:top;white-space:normal}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-cell:last-child,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-cell:last-child{border-right-color:var(--portal-grade-table-border)}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col .tabulator-col-content,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col .tabulator-col-content{box-sizing:border-box;min-height:100%;padding:.24rem .36rem}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col .tabulator-col-title,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col .tabulator-col-title{color:var(--portal-grade-table-text);font-size:.92rem;font-weight:800;line-height:1.2}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-class-col .tabulator-col-content,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-comment-col .tabulator-col-content,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-date-col .tabulator-col-content,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-exercise-col .tabulator-col-content,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-quarter-col .tabulator-col-content,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-score-col .tabulator-col-content,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-status-col .tabulator-col-content,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-summary-col .tabulator-col-content,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-class-col .tabulator-col-content,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-comment-col .tabulator-col-content,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-date-col .tabulator-col-content,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-exercise-col .tabulator-col-content,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-quarter-col .tabulator-col-content,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-score-col .tabulator-col-content,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-status-col .tabulator-col-content,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-summary-col .tabulator-col-content{box-sizing:border-box;padding:.1rem .16rem .08rem}
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-class-col .tabulator-col-title,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-comment-col .tabulator-col-title,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-date-col .tabulator-col-title,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-exercise-col .tabulator-col-title,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-quarter-col .tabulator-col-title,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-score-col .tabulator-col-title,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-status-col .tabulator-col-title,
body.parent-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-summary-col .tabulator-col-title,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-class-col .tabulator-col-title,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-comment-col .tabulator-col-title,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-date-col .tabulator-col-title,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-exercise-col .tabulator-col-title,body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-quarter-col .tabulator-col-title,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-score-col .tabulator-col-title,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-status-col .tabulator-col-title,
body.student-portal-page .grade-tabulator-shell .tabulator .tabulator-col.grade-summary-col .tabulator-col-title{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:column;gap:0;height:100%;justify-content:stretch;min-height:4.8rem;padding:.02rem 0}
body.parent-portal-page .grade-exercise-comment,
body.parent-portal-page .grade-exercise-meta,
body.parent-portal-page .grade-exercise-score-sub,
body.student-portal-page .grade-exercise-comment,body.student-portal-page .grade-exercise-meta,
body.student-portal-page .grade-exercise-score-sub{color:var(--ink-soft);font-size:.72rem}
body.parent-portal-page .grade-exercise-meta,body.student-portal-page .grade-exercise-meta{line-height:1.18;overflow-wrap:anywhere}
body.parent-portal-page .grade-exercise-score-sub,body.student-portal-page .grade-exercise-score-sub{font-weight:700;line-height:1.1}
body.parent-portal-page .grade-exercise-comment,body.student-portal-page .grade-exercise-comment{line-height:1.2;overflow-wrap:anywhere}
body.parent-portal-page .grade-status-pill,body.student-portal-page .grade-status-pill{align-items:center;border-radius:999px;box-sizing:border-box;display:inline-flex;font-size:.74rem;font-weight:800;gap:.28rem;justify-content:center;line-height:1;padding:.22rem .52rem;text-transform:uppercase;width:fit-content}
body.parent-portal-page .grade-status-pill,
body.parent-portal-page .grade-status-pill.is-late,body.student-portal-page .grade-status-pill,
body.student-portal-page .grade-status-pill.is-late{background:var(--portal-status-revise-bg);border:1px solid var(--portal-status-revise-border);color:var(--portal-status-revise-text)}
body.parent-portal-page .grade-status-pill.is-good,body.student-portal-page .grade-status-pill.is-good{background:var(--ok);border:1px solid var(--ok);color:var(--portal-primary-text-strong)}
body.parent-portal-page .grade-status-pill.is-warn,body.student-portal-page .grade-status-pill.is-warn{background:var(--warn);border:1px solid var(--warn);color:var(--portal-primary-text-strong)}
body.parent-portal-page .grade-status-pill.is-bad,body.student-portal-page .grade-status-pill.is-bad{background:var(--err);border:1px solid var(--err);color:var(--portal-primary-text-strong)}
body.parent-portal-page .grade-status-stack,body.student-portal-page .grade-status-stack{align-items:center;display:flex;flex-wrap:wrap;gap:.28rem;justify-content:flex-start}
body.parent-portal-page .grade-exercise-score,body.student-portal-page .grade-exercise-score{align-items:center;background:var(--portal-status-good-bg);border:1px solid var(--portal-status-good-border);border-radius:14px;box-sizing:border-box;color:var(--portal-status-good-text);display:grid;gap:.08rem;justify-items:center;min-width:5rem;padding:.32rem .42rem;text-align:center}
body.parent-portal-page .grade-exercise-score.is-open,body.student-portal-page .grade-exercise-score.is-open{background:var(--portal-surface-support);border-color:var(--line);color:var(--portal-grade-table-text)}
body.parent-portal-page .grade-exercise-score-main,body.student-portal-page .grade-exercise-score-main{font-size:.94rem;font-weight:800;line-height:1.1}
body.parent-portal-page .metrics,body.student-portal-page .metrics{margin-top:10px}body.parent-portal-page .metrics,body.parent-portal-page .report-metrics,body.student-portal-page .detail-metrics,body.student-portal-page .metrics{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
body.parent-portal-page .metrics .metric,
body.parent-portal-page .report-metrics .metric,body.student-portal-page .detail-metrics .metric,
body.student-portal-page .metrics .metric{align-content:center;border-radius:16px;min-height:5.25rem;padding:.75rem .8rem}
body.parent-portal-page .portal-grid,body.student-portal-page .portal-grid{align-items:start;display:grid;gap:12px;grid-template-columns:minmax(0,1fr);min-width:0}
body.parent-portal-page .portal-col,body.student-portal-page .portal-col{align-content:start;display:grid;gap:10px;grid-column:1/-1;grid-template-columns:minmax(0,1fr);min-width:0}body.parent-portal-page #portalCard{min-height:1116px}body.parent-portal-page #portalCard>.portal-grid{min-height:1032px}
body.parent-portal-page .identity-item,body.student-portal-page .identity-item{align-content:start;background:var(--portal-role-card-bg)!important;border:1px solid var(--portal-role-border)!important;border-radius:var(--radius-2);color:var(--portal-role-text);display:grid;gap:5px;min-height:70px;padding:10px}
body.parent-portal-page .detail-list,body.student-portal-page .detail-list{display:grid;gap:10px}
body.parent-portal-page .detail-item,body.student-portal-page .detail-item{background:var(--portal-surface-card)!important;border:1px solid var(--portal-border)!important;display:grid;gap:6px;padding:10px}
body.parent-portal-page .detail-item.portal-theme-card.warn,body.student-portal-page .detail-item.portal-theme-card.warn{background:var(--portal-status-warn-bg)!important;border-color:var(--portal-status-warn-border)!important;color:var(--portal-status-warn-text)}
body.parent-portal-page .detail-item.portal-theme-card.warn .detail-item-head strong,body.student-portal-page .detail-item.portal-theme-card.warn .detail-item-head strong{color:var(--portal-status-warn-text)!important}
body.parent-portal-page .detail-item.portal-theme-card.bad,body.student-portal-page .detail-item.portal-theme-card.bad{background:var(--portal-status-bad-bg)!important;border-color:var(--portal-status-bad-border)!important}
body.parent-portal-page .detail-item.portal-theme-card.good,body.student-portal-page .detail-item.portal-theme-card.good{background:var(--portal-status-good-bg)!important;border-color:var(--portal-status-good-border)!important}
body.parent-portal-page .detail-copy,body.student-portal-page .detail-copy{color:var(--ink-soft);font-size:.92rem;line-height:1.45;margin:0}
body.parent-portal-page .detail-hint,body.student-portal-page .detail-hint{color:var(--ink-soft);font-size:.82rem;line-height:1.35;margin:4px 0 0}
body.parent-portal-page .detail-link,body.student-portal-page .detail-link{align-items:center;background:var(--portal-surface-support);border:1px solid var(--line);border-radius:999px;color:inherit;display:inline-flex;font-size:.78rem;gap:4px;line-height:1.2;padding:4px 8px;text-decoration:none;word-break:break-word}
body.parent-portal-page .detail-item-title,body.student-portal-page .detail-item-title{align-items:center;display:inline-flex;gap:6px;min-width:0}
body.parent-portal-page .detail-links,body.student-portal-page .detail-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
body.parent-portal-page .detail-link:focus-visible,
body.parent-portal-page .detail-link:hover,
body.student-portal-page .detail-link:focus-visible,body.student-portal-page .detail-link:hover{border-color:var(--portal-border-strong);text-decoration:none}
body.parent-portal-page .status,body.student-portal-page .status{color:var(--ink-soft);font-size:13px;margin:.6rem 0 0;min-height:20px}
body.parent-portal-page .status.ok,body.student-portal-page .status.ok{color:var(--ok)}
body.parent-portal-page .status.warn,body.student-portal-page .status.warn{color:var(--warn)}
body.parent-portal-page .status.bad,
body.parent-portal-page .status.err,
body.student-portal-page .status.bad,body.student-portal-page .status.err{color:var(--err)}
body.parent-portal-page .hint,body.student-portal-page .hint{color:var(--ink-soft);font-size:12px;line-height:1.45;margin:0 0 .6rem}
body.parent-portal-page .chip,body.student-portal-page .chip{--chip-height:30px;--chip-min-ar:0;align-items:center;background:#e2edff;border:solid #5f7ca6;border-radius:999px;border-width:2px 2px 3px;box-shadow:0 1px 0 rgba(11,32,60,.22);box-sizing:border-box;color:#173962;display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:800;gap:6px;height:var(--chip-height);inline-size:auto;justify-content:center;line-height:1;max-inline-size:100%;min-height:0;min-inline-size:0;overflow:hidden;padding:0 10px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap}
body.parent-portal-page .chip-neutral,body.student-portal-page .chip-neutral{background:#dfeaff;border-color:#5877a3;color:#12345b}
body.parent-portal-page .chip-ok,body.student-portal-page .chip-ok{background:#d8f2e3;border-color:#287a4f;color:#0f452c}
body.parent-portal-page .chip-warn,body.student-portal-page .chip-warn{background:#ffe9c7;border-color:#b16d00;color:#5b3500}body.admin-portal-page .chip{--chip-height:30px;--chip-min-ar:0;align-items:center;background:#e2edff;border:solid #5f7ca6;border-radius:999px;border-width:2px 2px 3px;box-shadow:0 1px 0 rgba(11,32,60,.22);box-sizing:border-box;color:#173962;display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:800;gap:6px;height:var(--chip-height);inline-size:auto;justify-content:center;line-height:1;max-inline-size:100%;min-height:0;min-inline-size:0;overflow:hidden;padding:0 10px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap}body.admin-portal-page .chip-warn{background:#ffe9c7;border-color:#b16d00;color:#5b3500}
body.parent-portal-page .chip-open,body.student-portal-page .chip-open{background:#d8edff;border-color:#2d78b4;color:#093a63}
body.parent-portal-page .chip-revise,body.student-portal-page .chip-revise{background:#eadcff;border-color:#7348b5;color:#351267}
body.parent-portal-page .chip-bad,body.student-portal-page .chip-bad{background:#ffd8dd;border-color:#ad2c3c;color:#67101d}
body.parent-portal-page .chip-checked,body.student-portal-page .chip-checked{background:#cef4ef;border-color:#1d8b82;color:#044e48}
body.parent-portal-page .chip-lock,body.student-portal-page .chip-lock{background:#ffe1e1;border-color:#b24949;color:#661717}
body.parent-portal-page .chip-edited,body.student-portal-page .chip-edited{background:#d7e8ff;border-color:#2f67b8;color:#0c3c7a}
body.parent-portal-page .chip-link,body.student-portal-page .chip-link{cursor:pointer;display:inline-flex}
body.parent-portal-page .chip-link:focus-visible,
body.parent-portal-page .chip-link:hover,
body.student-portal-page .chip-link:focus-visible,body.student-portal-page .chip-link:hover{cursor:pointer}
body.parent-portal-page .queue-table-wrap,body.student-portal-page .queue-table-wrap{background:var(--portal-surface-support)!important;border:1px solid var(--portal-border)!important}
body.parent-portal-page .detail-empty,body.student-portal-page .detail-empty{border:1px dashed var(--portal-border)!important;border-radius:var(--radius-2);color:var(--portal-text-soft)!important;font-size:13px;line-height:1.45;padding:12px}
body.parent-portal-page .choice-group,body.student-portal-page .choice-group{background:var(--portal-surface-support)!important;border:1px solid var(--portal-border)!important;border-radius:10px;display:grid;gap:6px;margin:0;padding:8px 10px}
body.parent-portal-page .choice-group:disabled,body.student-portal-page .choice-group:disabled{background:var(--portal-surface-support)!important;border-color:var(--portal-border)!important;color:var(--portal-text-soft)!important}
body.parent-portal-page .choice-option,body.student-portal-page .choice-option{align-items:center;color:var(--portal-text)!important;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;letter-spacing:0;margin:0;text-transform:none}
body.parent-portal-page .choice-option input[type="checkbox"],
body.parent-portal-page .choice-option input[type="radio"],body.student-portal-page .choice-option input[type="checkbox"],
body.student-portal-page .choice-option input[type="radio"]{accent-color:var(--brand-2);background:var(--portal-surface-card)!important;border:1px solid var(--portal-border)!important;border-radius:4px;box-sizing:border-box;height:18px;margin:0;min-height:18px;padding:0;width:18px}
body.parent-portal-page .choice-option input[type="radio"],body.student-portal-page .choice-option input[type="radio"]{border-radius:50%}
body.admin-portal-page .school-map-preview-shell,body.student-portal-page .school-map-preview-shell{background:var(--portal-surface-card)!important;border:1px solid var(--portal-border)!important;border-radius:var(--radius-2);overflow:hidden}
body.admin-portal-page .school-map-preview-shell iframe,body.student-portal-page .school-map-preview-shell iframe{border:0;display:block;min-height:320px;width:100%}
body.parent-portal-page .homework-card-shell,body.student-portal-page .homework-card-shell{align-items:stretch;background:var(--portal-surface-card);border:1px solid var(--line);border-radius:var(--radius-3);box-sizing:border-box;display:grid;gap:10px;grid-template-columns:96px minmax(0,1fr);padding:10px}
body.parent-portal-page .assignment-head,body.student-portal-page .assignment-head{align-items:center;background:var(--portal-assignment-head-bg);border:1px solid var(--line);border-radius:6px;box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;gap:.1rem;height:auto;justify-content:space-between;padding:.18rem .2rem;width:100%}
body.parent-portal-page .assignment-head.core,body.student-portal-page .assignment-head.core{border:1px solid var(--line);justify-content:space-between}
body.parent-portal-page .header-action-row,body.student-portal-page .header-action-row{align-items:center;display:inline-flex;gap:.18rem;justify-content:flex-start;width:100%}
body.parent-portal-page .header-action-btn,body.student-portal-page .header-action-btn{--portal-button-font-size:0.72rem;--portal-button-inline-padding:0.48rem;--portal-button-line-height:1.1;--portal-button-min-block:2rem;--portal-button-min-inline:2.8rem;align-items:center;box-sizing:border-box;display:inline-flex;flex:0 0 auto;font-weight:900;height:2rem;justify-content:center;min-width:2.8rem;padding:0 .48rem;text-align:center}
body.parent-portal-page .assignment-title-text,body.student-portal-page .assignment-title-text{align-self:center;color:var(--ink);display:block;font-size:.96rem;font-weight:800;line-height:1.18;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}
body.parent-portal-page .assignment-head.core .assignment-title-text,body.student-portal-page .assignment-head.core .assignment-title-text{font-size:.93rem;font-weight:800;line-height:1.15}
body.parent-portal-page .assignment-sub,body.student-portal-page .assignment-sub{color:var(--ink-soft);display:block;font-size:.82rem;font-weight:700;line-height:1.08;margin-top:0;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap}
body.parent-portal-page .assignment-sub.core-sub,body.student-portal-page .assignment-sub.core-sub{color:var(--ink-soft);font-size:.76rem;font-weight:700}
body.parent-portal-page .grade-quarter-cell,body.student-portal-page .grade-quarter-cell{display:grid;gap:.1rem;min-width:0}
body.parent-portal-page .grade-quarter-title,body.student-portal-page .grade-quarter-title{font-size:.93rem;font-weight:800;line-height:1.15;overflow-wrap:anywhere}
body.parent-portal-page .grade-quarter-pill,body.student-portal-page .grade-quarter-pill{align-items:center;border:1px solid var(--brand);border-radius:999px;box-sizing:border-box;color:var(--brand);display:inline-flex;font-size:.68rem;font-weight:800;letter-spacing:.03em;line-height:1;padding:.18rem .5rem;text-transform:uppercase;width:fit-content}
body.parent-portal-page .grade-quarter-meta,
body.parent-portal-page .grade-quarter-range,body.student-portal-page .grade-quarter-meta,
body.student-portal-page .grade-quarter-range{color:var(--ink-soft);font-size:.76rem;line-height:1.2;overflow-wrap:anywhere}
body.parent-portal-page .grade-quarter-summary,body.student-portal-page .grade-quarter-summary{display:grid;gap:.45rem;min-width:0}
body.parent-portal-page .grade-quarter-stats,body.student-portal-page .grade-quarter-stats{display:grid;gap:.3rem;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
body.parent-portal-page .grade-quarter-stat,body.student-portal-page .grade-quarter-stat{box-sizing:border-box;display:grid;gap:.06rem;min-height:5.25rem;min-width:0;padding:.75rem .8rem}
body.parent-portal-page .grade-quarter-stat-label,body.student-portal-page .grade-quarter-stat-label{color:var(--ink-soft);font-size:.66rem;font-weight:800;letter-spacing:.04em;line-height:1.1;text-transform:uppercase}
body.parent-portal-page .grade-quarter-stat-value,body.student-portal-page .grade-quarter-stat-value{font-size:.88rem;font-weight:800;line-height:1.2;overflow-wrap:anywhere}
body.parent-portal-page .quarter-board-copy,body.student-portal-page .quarter-board-copy{display:grid;gap:2px;min-width:0}
body.parent-portal-page .quarter-board-actions,body.student-portal-page .quarter-board-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;min-width:0}
body.parent-portal-page .quarter-board-reset-columns,body.student-portal-page .quarter-board-reset-columns{min-height:2.25rem;white-space:nowrap}
body.parent-portal-page .grade-quarter-picker,body.student-portal-page .grade-quarter-picker{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
body.parent-portal-page .grade-quarter-picker-btn,body.student-portal-page .grade-quarter-picker-btn{align-items:center;background:var(--portal-button-amber-fill)!important;border:1px solid var(--portal-button-amber-stroke)!important;border-radius:999px;color:var(--portal-button-amber-ink)!important;cursor:pointer;display:inline-flex;flex-direction:column;font-size:.82rem;font-weight:900;gap:.06rem;justify-content:center;line-height:1.05;min-width:4.2rem;padding:.34rem .68rem;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}
body.parent-portal-page .grade-quarter-picker-btn:hover,body.student-portal-page .grade-quarter-picker-btn:hover{background:var(--portal-button-amber-fill-hover)!important;border-color:var(--portal-button-amber-stroke-hover)!important;transform:translateY(-1px)}
body.parent-portal-page .grade-quarter-picker-btn.is-current,body.student-portal-page .grade-quarter-picker-btn.is-current{border-color:var(--brand);box-shadow:var(--portal-quarter-button-current-shadow)}
body.parent-portal-page .grade-quarter-picker-btn.is-active,
body.parent-portal-page .grade-quarter-picker-btn[aria-pressed="true"],body.student-portal-page .grade-quarter-picker-btn.is-active,
body.student-portal-page .grade-quarter-picker-btn[aria-pressed="true"]{background:var(--portal-button-amber-stroke)!important;border-color:var(--portal-button-amber-ink)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--portal-button-amber-stroke) 48%,transparent),inset 0 0 0 1px hsla(0,0%,100%,.32);color:var(--secondary-color)!important;font-weight:950;transform:translateY(-1px)}
body.parent-portal-page .grade-quarter-picker-btn.is-active .grade-quarter-picker-btn-sub,
body.parent-portal-page .grade-quarter-picker-btn[aria-pressed="true"] .grade-quarter-picker-btn-sub,body.student-portal-page .grade-quarter-picker-btn.is-active .grade-quarter-picker-btn-sub,
body.student-portal-page .grade-quarter-picker-btn[aria-pressed="true"] .grade-quarter-picker-btn-sub{color:inherit;opacity:1}
body.parent-portal-page .grade-quarter-picker-btn:focus-visible,body.student-portal-page .grade-quarter-picker-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
body.parent-portal-page .grade-quarter-picker-btn-label,body.student-portal-page .grade-quarter-picker-btn-label{display:block;font-size:.84rem;font-weight:900;line-height:1.05;text-align:center}
body.parent-portal-page .grade-quarter-picker-btn-sub,body.student-portal-page .grade-quarter-picker-btn-sub{display:block;font-size:.62rem;font-weight:800;line-height:1.05;opacity:.8;text-align:center;text-transform:none}
body.parent-portal-page .grade-quarter-picked-summary,body.student-portal-page .grade-quarter-picked-summary{display:grid;gap:6px;width:100%}
body.parent-portal-page .grade-exercise-cell,body.student-portal-page .grade-exercise-cell{display:grid;gap:.08rem;min-width:0}
body.parent-portal-page .grade-exercise-title,body.student-portal-page .grade-exercise-title{font-size:.88rem;font-weight:800;line-height:1.12;overflow-wrap:anywhere}
body.parent-portal-page .quarter-board,
body.parent-portal-page .quarter-board-shell,body.student-portal-page .quarter-board,
body.student-portal-page .quarter-board-shell{align-content:start;display:grid;gap:12px;min-width:0}
body.parent-portal-page .quarter-board-card,body.student-portal-page .quarter-board-card{background:var(--portal-surface-card);border:1px solid var(--line);border-radius:12px;box-sizing:border-box;display:grid;gap:12px;min-width:0;padding:14px}
body.parent-portal-page .quarter-board-maintenance-card,body.student-portal-page .quarter-board-maintenance-card{min-width:0}
body.parent-portal-page .quarter-board-card.is-current,body.student-portal-page .quarter-board-card.is-current{background:var(--portal-quarter-card-current-bg);border-color:var(--brand);box-shadow:var(--portal-quarter-card-current-shadow)}
body.parent-portal-page .quarter-board-head,body.student-portal-page .quarter-board-head{align-items:flex-start;display:flex!important;flex-wrap:wrap!important;gap:12px!important;justify-content:space-between}
body.parent-portal-page .quarter-board-title,body.student-portal-page .quarter-board-title{font-size:1.16rem;font-weight:800;letter-spacing:.01em;margin:0}
body.parent-portal-page .quarter-board-meta,body.student-portal-page .quarter-board-meta{align-items:center;color:var(--ink);display:flex;flex-wrap:wrap;font-size:1rem;font-weight:800;gap:.45rem;line-height:1.25;margin:4px 0 0}
body.parent-portal-page .quarter-board-meta-chip,body.student-portal-page .quarter-board-meta-chip{align-items:center;border:1px solid var(--line);border-radius:999px;box-sizing:border-box;display:inline-flex;line-height:1;padding:.34rem .7rem;white-space:nowrap}
body.parent-portal-page .quarter-board-meta-quarter,body.student-portal-page .quarter-board-meta-quarter{background:var(--portal-quarter-meta-quarter-bg);border-color:var(--brand);color:var(--brand);font-size:1.08rem;font-weight:900;letter-spacing:.02em}
body.parent-portal-page .quarter-board-meta-range,body.student-portal-page .quarter-board-meta-range{background:var(--portal-surface-support);color:var(--ink);font-size:.94rem;font-weight:800}
body.parent-portal-page .quarter-board-meta-count,body.student-portal-page .quarter-board-meta-count{background:var(--portal-status-good-bg);border-color:var(--portal-status-good-border);color:var(--portal-status-good-text);font-size:.92rem;font-weight:900}
body.parent-portal-page .quarter-board-current-pill,body.student-portal-page .quarter-board-current-pill{align-items:center;background:var(--brand);border:1px solid var(--brand);border-radius:999px;box-shadow:var(--portal-quarter-current-pill-shadow);color:var(--portal-quarter-current-pill-text);display:inline-flex;font-size:.86rem;font-weight:900;letter-spacing:.03em;padding:.34rem .82rem;text-transform:uppercase;white-space:nowrap}
body.parent-portal-page .quarter-board-stats,body.student-portal-page .quarter-board-stats{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
body.parent-portal-page .quarter-board-entries,body.student-portal-page .quarter-board-entries{display:grid;gap:8px}
body.parent-portal-page .quarter-board-empty,body.student-portal-page .quarter-board-empty{border:1px dashed var(--line);border-radius:10px;color:var(--ink-soft);font-size:.92rem;line-height:1.4;padding:10px 12px}
body.parent-portal-page .quarter-board-entry,body.student-portal-page .quarter-board-entry{background:var(--portal-surface-support);border:1px solid var(--line);border-radius:10px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr);padding:10px 12px}
body.parent-portal-page .quarter-board-entry-main,body.student-portal-page .quarter-board-entry-main{display:grid;gap:3px;min-width:0}
body.parent-portal-page .quarter-board-entry-title,body.student-portal-page .quarter-board-entry-title{font-size:.98rem;font-weight:800;line-height:1.22;margin:0;overflow-wrap:anywhere}
body.parent-portal-page .quarter-board-entry-meta,
body.parent-portal-page .quarter-board-entry-score-sub,
body.parent-portal-page .quarter-board-maintenance-lead,
body.parent-portal-page .quarter-board-maintenance-note,body.student-portal-page .quarter-board-entry-meta,
body.student-portal-page .quarter-board-entry-score-sub,
body.student-portal-page .quarter-board-maintenance-lead,
body.student-portal-page .quarter-board-maintenance-note{color:var(--ink-soft)}
body.parent-portal-page .quarter-board-entry-meta,body.student-portal-page .quarter-board-entry-meta{font-size:.84rem;line-height:1.35}
body.parent-portal-page .quarter-board-entry-score,body.student-portal-page .quarter-board-entry-score{align-items:flex-start;display:inline-flex;flex-direction:column;gap:.14rem;justify-content:center;min-width:4.8rem;text-align:right}
body.parent-portal-page .quarter-board-entry-score-main,body.student-portal-page .quarter-board-entry-score-main{font-size:1rem;font-weight:800;line-height:1.1}
body.parent-portal-page .quarter-board-entry-score-sub,body.student-portal-page .quarter-board-entry-score-sub{font-size:.8rem;font-weight:700;line-height:1.1}
body.parent-portal-page .quarter-board-entry.is-open .quarter-board-entry-score-main,body.student-portal-page .quarter-board-entry.is-open .quarter-board-entry-score-main{color:var(--portal-quarter-open-text)}body.student-portal-page .legend{color:var(--ink-soft);display:flex;flex-wrap:wrap;font-size:.8rem;gap:10px;margin:0 0 8px}body.student-portal-page .dot{border-radius:50%;display:inline-block;height:10px;margin-right:5px;vertical-align:middle;width:10px}body.student-portal-page .dot.good{background:var(--portal-status-good-border)}body.student-portal-page .dot.bad{background:var(--portal-status-bad-border)}body.student-portal-page .dot.open{background:var(--portal-status-info-border)}body.student-portal-page .dot.submitted{background:var(--portal-status-warn-border)}
body.student-portal-page .dot.revise,body.student-portal-page .dot.waiting{background:var(--portal-status-revise-bg)}
body.parent-portal-page .quarter-board-maintenance,body.student-portal-page .quarter-board-maintenance{align-items:start;display:grid;gap:.9rem;justify-items:stretch;padding:1.25rem;text-align:left}
body.parent-portal-page .quarter-board-maintenance-figure,body.student-portal-page .quarter-board-maintenance-figure{margin:0;width:100%}
body.parent-portal-page .quarter-board-maintenance-figure img,body.student-portal-page .quarter-board-maintenance-figure img{display:block;height:auto;max-width:100%;width:100%}
body.parent-portal-page .quarter-board-maintenance-copy,body.student-portal-page .quarter-board-maintenance-copy{display:grid;gap:.6rem;justify-items:start;max-width:46rem}
body.parent-portal-page .quarter-board-maintenance-title,body.student-portal-page .quarter-board-maintenance-title{font-size:1.12rem;font-weight:800;letter-spacing:-.01em;margin:0}
body.parent-portal-page .quarter-board-maintenance-lead,
body.parent-portal-page .quarter-board-maintenance-note,body.student-portal-page .quarter-board-maintenance-lead,
body.student-portal-page .quarter-board-maintenance-note{margin:0}body.parent-portal-page .profile-group{background:var(--portal-surface-card);border:1px solid var(--portal-border);border-radius:12px;padding:10px}body.parent-portal-page .profile-group p{color:var(--ink-soft);font-size:12px;line-height:1.35;margin:3px 0 0}body.parent-portal-page .field-row{border-top:1px solid var(--line);display:grid;gap:8px;padding:10px 0}body.parent-portal-page .field-row:first-of-type{border-top:none;padding-top:8px}
body.parent-portal-page .field-row.edited,body.parent-portal-page .field-row.locked{background:var(--portal-surface-card);border:1px solid var(--portal-border);border-radius:10px;border-top:none;margin-top:8px;padding:10px}body.parent-portal-page .field-row.locked{background:var(--portal-surface-support)}body.parent-portal-page .field-row.edited input,
body.parent-portal-page .field-row.edited textarea{background:var(--portal-surface-card);border-color:var(--portal-border-strong)}body.parent-portal-page .field-label,
body.parent-portal-page .field-meta{color:var(--ink-soft)}body.parent-portal-page .required-marker{color:var(--brand);font-weight:800}body.parent-portal-page .field-label{font-size:1.1rem;font-weight:700;line-height:1.2;margin:0}body.parent-portal-page .field-meta,
body.parent-portal-page .field-state{font-size:11px;line-height:1.35;margin:0}body.parent-portal-page .field-state{color:var(--portal-field-state-info);font-weight:600}body.parent-portal-page .field-state:empty{display:none}body.parent-portal-page .field-row.locked .field-state{color:var(--portal-field-state-locked)}body.parent-portal-page .field-row.edited .field-state{color:var(--portal-field-state-edited)}body.parent-portal-page .field-row.signature-muted .field-label{color:var(--portal-field-state-muted);font-size:.75rem;font-weight:600}body.parent-portal-page .field-row.signature-muted input,
body.parent-portal-page .field-row.signature-muted textarea{background:var(--portal-surface-card);color:var(--portal-text-soft);font-size:13px}body.parent-portal-page .draft-actions{backdrop-filter:blur(6px);background:var(--portal-surface-card);border:1px solid var(--portal-border);border-radius:12px;bottom:8px;display:grid;gap:8px;margin-top:12px;padding:10px;position:sticky}body:is(.parent-portal-page, .student-portal-page) :is(
  #parentTextZoomDownBtn,
  #parentTextZoomUpBtn,
  #parentTextZoomResetBtn,
  #studentDetailBackToMainBtn,
  #studentTextZoomDownBtn,
  #studentTextZoomUpBtn,
  #studentTextZoomResetBtn
){min-height:2.25rem}body.parent-portal-page #childPageCard .toolbar-actions,
body.parent-portal-page #draftActions{display:flex;flex-wrap:wrap;gap:12px}body.parent-portal-page #childPageCard .toolbar-actions > .portal-button,
body.parent-portal-page #draftActions > .portal-button{flex:0 1 var(--portal-button-inline);inline-size:var(--portal-button-inline);max-inline-size:var(--portal-button-inline);min-block-size:var(--portal-button-min-block);min-inline-size:var(--portal-button-inline)}body.parent-portal-page :where(.portal-modal, #newsWeekSetModal, #performanceReportModal) :where(input, textarea, select)::placeholder{color:var(--portal-field-placeholder);opacity:1}
html[data-theme="dark"] body.admin-portal-page,
html[data-theme="dark"] body.parent-portal-page,html[data-theme="dark"] body.student-portal-page{--card:var(--portal-dark-surface-card);--card-soft:var(--portal-dark-surface-support);--ink:var(--portal-dark-text);--ink-muted:var(--portal-dark-text-soft);--ink-soft:var(--portal-dark-text-soft);--line:var(--portal-dark-border);--portal-border-strong:var(--portal-dark-border-strong);--portal-data-label:var(--portal-dark-text-soft);--portal-role-card-bg:var(--portal-dark-surface-card);--portal-role-content-bg:var(--portal-neutral-content-dark);--portal-role-data-surface-bg:var(--portal-dark-surface-support);--portal-role-panel-bg:var(--portal-dark-surface-panel);--portal-role-text:var(--portal-dark-text);--portal-surface-card:var(--portal-dark-surface-card);--portal-surface-panel:var(--portal-dark-surface-panel);--portal-surface-support:var(--portal-dark-surface-support);--portal-text:var(--portal-dark-text);--portal-text-soft:var(--portal-dark-text-soft);--text-muted:var(--portal-dark-text-soft);background:var(--portal-dark-page-bg);color:var(--portal-dark-text);color-scheme:dark}
html[data-theme="dark"] body.parent-portal-page,html[data-theme="dark"] body.student-portal-page{--menu-bg:var(--portal-dark-surface-panel);--menu-border:var(--portal-dark-border);--menu-button-active-bg:color-mix(in srgb,var(--portal-dark-surface-support) 16%,var(--portal-button-teal-fill-hover) 84%);--menu-button-active-border:color-mix(in srgb,var(--portal-dark-border-strong) 10%,#7ee6d9 90%);--menu-button-active-text:#f0fffc;--menu-button-bg:color-mix(in srgb,var(--portal-dark-surface-support) 86%,#fff 14%);--menu-button-border:color-mix(in srgb,var(--portal-dark-border-strong) 28%,#8fb7ff 72%);--menu-button-hover-bg:color-mix(in srgb,var(--portal-dark-surface-support) 12%,var(--portal-action-blue-top) 88%);--menu-button-hover-border:color-mix(in srgb,var(--portal-dark-border-strong) 10%,#a7c8ff 90%);--menu-button-hover-text:#f8fbff;--menu-button-pressed-bg:color-mix(in srgb,var(--portal-dark-surface-support) 10%,var(--portal-action-blue-top-active) 90%);--menu-button-pressed-border:color-mix(in srgb,var(--portal-dark-border-strong) 8%,#8ab6ff 92%);--menu-button-pressed-text:#f7fbff;--menu-button-text:#f4f8ff;--menu-header-bg:color-mix(in srgb,var(--portal-dark-surface-support) 86%,#fff 14%);--menu-link-active-bg:color-mix(in srgb,var(--portal-dark-surface-support) 16%,var(--portal-button-teal-fill-hover) 84%);--menu-link-active-border:color-mix(in srgb,var(--portal-dark-border-strong) 10%,#7ee6d9 90%);--menu-link-active-text:#f0fffc;--menu-link-hover-bg:color-mix(in srgb,var(--portal-dark-surface-support) 12%,var(--portal-action-blue-top) 88%);--menu-link-hover-border:color-mix(in srgb,var(--portal-dark-border-strong) 10%,#a7c8ff 90%);--menu-link-hover-text:#f8fbff;--menu-link-pressed-bg:color-mix(in srgb,var(--portal-dark-surface-support) 10%,var(--portal-action-blue-top-active) 90%);--menu-link-pressed-border:color-mix(in srgb,var(--portal-dark-border-strong) 8%,#8ab6ff 92%);--menu-link-pressed-text:#f7fbff}html[data-theme="dark"] body.admin-portal-page{--background-color:var(--portal-neutral-page-dark);--bg:var(--portal-neutral-page-dark);--body-bgcolor:var(--portal-neutral-page-dark);--card:var(--portal-neutral-card-dark);--card-soft:var(--portal-neutral-support-dark);--footer-background:var(--theme-footer-bg);--menu-bg:var(--portal-dark-surface-panel);--menu-border:var(--portal-dark-border);--menu-button-active-bg:color-mix(in srgb,var(--portal-dark-surface-support) 16%,var(--portal-button-teal-fill-hover) 84%);--menu-button-active-border:color-mix(in srgb,var(--portal-dark-border-strong) 10%,#7ee6d9 90%);--menu-button-active-text:#f0fffc;--menu-button-bg:color-mix(in srgb,var(--portal-dark-surface-support) 100%,#fff 0);--menu-button-border:color-mix(in srgb,var(--portal-dark-border-strong) 28%,#8fb7ff 72%);--menu-button-hover-bg:color-mix(in srgb,var(--portal-dark-surface-support) 12%,var(--portal-action-blue-top) 88%);--menu-button-hover-border:color-mix(in srgb,var(--portal-dark-border-strong) 10%,#a7c8ff 90%);--menu-button-hover-text:#f8fbff;--menu-button-pressed-bg:color-mix(in srgb,var(--portal-dark-surface-support) 10%,var(--portal-action-blue-top-active) 90%);--menu-button-pressed-border:color-mix(in srgb,var(--portal-dark-border-strong) 8%,#8ab6ff 92%);--menu-button-pressed-text:#f7fbff;--menu-button-text:#f4f8ff;--menu-group-pressed-bg:color-mix(in srgb,var(--portal-dark-surface-support) 56%,var(--portal-action-blue-top) 44%);--menu-group-pressed-text:#f4f8ff;--menu-header-bg:color-mix(in srgb,var(--portal-dark-surface-support) 86%,#fff 14%);--menu-link-active-bg:color-mix(in srgb,var(--portal-dark-surface-support) 16%,var(--portal-button-teal-fill-hover) 84%);--menu-link-active-border:color-mix(in srgb,var(--portal-dark-border-strong) 10%,#7ee6d9 90%);--menu-link-active-text:#f0fffc;--menu-link-bg:var(--portal-dark-surface-support);--menu-link-hover-bg:color-mix(in srgb,var(--portal-dark-surface-support) 12%,var(--portal-action-blue-top) 88%);--menu-link-hover-border:color-mix(in srgb,var(--portal-dark-border-strong) 10%,#a7c8ff 90%);--menu-link-hover-text:#f8fbff;--menu-link-pressed-bg:color-mix(in srgb,var(--portal-dark-surface-support) 10%,var(--portal-action-blue-top-active) 90%);--menu-link-pressed-border:color-mix(in srgb,var(--portal-dark-border-strong) 8%,#8ab6ff 92%);--menu-link-pressed-text:#f7fbff;--panel:var(--portal-role-panel-bg);--portal-chart-surface:var(--portal-neutral-chart-dark);--portal-chart-surface-soft:var(--portal-neutral-table-dark);--portal-dark-text:#fbffff;--portal-dark-text-soft:#e5f5ff;--portal-grade-table-shell-bg:var(--portal-neutral-panel-dark);--portal-role-card-bg:var(--portal-neutral-card-dark);--portal-role-content-bg:var(--portal-neutral-content-dark);--portal-role-data-surface-bg:var(--portal-neutral-support-dark);--portal-role-page-bg:var(--portal-neutral-page-dark);--portal-role-panel-bg:var(--portal-neutral-panel-dark);--portal-support-message:#fbffff;--portal-surface-card:var(--portal-role-card-bg);--portal-surface-panel:var(--portal-role-panel-bg);--portal-surface-soft:var(--portal-role-data-surface-bg);--portal-surface-support:var(--portal-role-data-surface-bg);--surface-card:var(--portal-role-card-bg);--surface-card-muted:var(--portal-role-data-surface-bg);--surface-color:var(--portal-role-content-bg);--surface-contrast:var(--portal-role-data-surface-bg);--surface-muted:var(--portal-role-data-surface-bg);--surface-soft:var(--portal-role-data-surface-bg);--surface-warm:var(--portal-role-card-bg);background:var(--portal-neutral-page-dark);color:var(--portal-dark-text);--surface-1:var(--portal-role-card-bg);--surface-2:var(--portal-role-data-surface-bg)}body.admin-portal-page :where(.profile-tabs-shell,
  .profile-info-tabs,
  .profile-info-group,
  .profile-field-group){background:transparent;border-color:transparent;box-shadow:none}body.admin-portal-page :where(.profile-tabs-shell,
  .profile-info-summary,
  .profile-info-panel,
  .profile-layout-editor){background:var(--portal-surface-panel);border-color:var(--portal-border);box-shadow:none;color:var(--portal-text)}body.admin-portal-page .profile-tab-nav{background:transparent;border-color:transparent;box-shadow:none}body.admin-portal-page .profile-tab-nav button{background:var(--portal-button-fill);border-color:var(--portal-button-stroke);color:var(--portal-button-ink)}
body.admin-portal-page .profile-tab-nav button:focus-visible,body.admin-portal-page .profile-tab-nav button:hover:not(:disabled){background:var(--portal-button-fill-hover);border-color:var(--portal-button-stroke-hover);color:var(--portal-button-ink-hover);outline:2px solid var(--portal-button-stroke-hover);outline-offset:1px}body.admin-portal-page .profile-tab-nav button.active{background:var(--portal-button-fill);border-color:var(--portal-button-stroke);color:var(--portal-button-ink)}body.admin-portal-page :where(.profile-summary-primary,
  .profile-summary-chip,
  .profile-info-item){box-shadow:none}body.admin-portal-page .profile-choice-item input{border:none}body.admin-portal-page :where(.profile-info-toolbar h3,
  .profile-editor-toolbar h3,
  .page-section[data-page="profile"] > h2,
  .profile-summary-name,
  .profile-summary-chip-value,
  .profile-info-group h4,
  .profile-field-group h3,
  .profile-info-value,
  #profileTabStatus){color:var(--portal-text)}body.admin-portal-page :where(.page-section[data-page="profile"] .page-note,
  .profile-summary-kicker,
  .profile-summary-subline,
  .profile-summary-chip-label,
  .profile-info-group-meta,
  .profile-info-label,
  .profile-info-empty,
  .profile-info-empty-note,
  .profile-file-row + .file-caption){color:var(--portal-text-soft)}body.admin-portal-page .profile-choice-item input[type="checkbox"],
body.admin-portal-page .profile-choice-item input[type="radio"]{accent-color:var(--brand)}
body.admin-portal-page #topSearchResultsPanel #topSearchCount,body.admin-portal-page #topSearchResultsPanel .top-search-results-title{color:var(--portal-text)}body.admin-portal-page #topSearchResultsPanel th[data-top-search-sort]:focus{outline:2px solid var(--portal-control-border);outline-offset:-2px}body.admin-portal-page #topSearchResultsPanel th.sort-active-asc::after,
body.admin-portal-page #topSearchResultsPanel th.sort-active-desc::after{color:var(--portal-status-info-text)}
body.admin-portal-page #topSearchRows tr.top-search-row.active > td,
body.admin-portal-page #topSearchRows tr.top-search-row:focus-within > td,body.admin-portal-page #topSearchRows tr.top-search-row:hover > td,
body.admin-portal-page #topSearchRows tr.top-search-row[aria-selected="true"] > td{background:var(--portal-status-info-bg);color:var(--portal-text)}html[data-theme="dark"] body.admin-portal-page :where(.profile-tabs-shell,
  .profile-info-tabs,
  .profile-info-group,
  .profile-field-group){background:transparent;border-color:transparent;box-shadow:none}html[data-theme="dark"] body.admin-portal-page :where(.profile-tabs-shell,
  .profile-info-summary,
  .profile-info-panel,
  .profile-layout-editor){background:var(--portal-surface-panel);border-color:var(--portal-dark-border);color:var(--portal-dark-text)}html[data-theme="dark"] body.admin-portal-page .profile-tab-nav{background:transparent;border-color:transparent;box-shadow:none}html[data-theme="dark"] body.admin-portal-page :where(.profile-summary-primary,
  .profile-summary-chip,
  .profile-info-item){box-shadow:none}html[data-theme="dark"] body.admin-portal-page .profile-tab-nav button{background:var(--portal-button-fill);border-color:var(--portal-button-stroke);color:var(--portal-button-ink)}
html[data-theme="dark"] body.admin-portal-page .profile-tab-nav button.active,
html[data-theme="dark"] body.admin-portal-page .profile-tab-nav button:focus-visible,html[data-theme="dark"] body.admin-portal-page .profile-tab-nav button:hover:not(:disabled){background:#4683ff;border-color:var(--portal-button-stroke-hover);color:#fbffff;font-size:1.15rem;outline:2px solid var(--portal-button-stroke-hover);outline-offset:1px}html[data-theme="dark"] body.admin-portal-page :where(.profile-info-toolbar h3,
  .profile-editor-toolbar h3,
  .page-section[data-page="profile"] > h2,
  .profile-summary-name,
  .profile-summary-chip-value,
  .profile-info-group h4,
  .profile-field-group h3,
  .profile-info-value,
  #profileTabStatus){color:var(--portal-dark-text)}html[data-theme="dark"] body.admin-portal-page :where(.page-section[data-page="profile"] .page-note,
  .profile-summary-kicker,
  .profile-summary-subline,
  .profile-summary-chip-label,
  .profile-info-group-meta,
  .profile-info-label,
  .profile-info-empty,
  .profile-info-empty-note,
  .profile-file-row + .file-caption){color:var(--portal-dark-text-soft)}
html[data-theme="dark"] body.admin-portal-page #topSearchResultsPanel #topSearchCount,html[data-theme="dark"] body.admin-portal-page #topSearchResultsPanel .top-search-results-title{color:var(--portal-dark-text)}html[data-theme="dark"] body.admin-portal-page #topSearchResultsPanel th[data-top-search-sort]:focus{outline:2px solid var(--portal-status-info-border);outline-offset:-2px}html[data-theme="dark"] body.admin-portal-page #topSearchResultsPanel th.sort-active-asc::after,
html[data-theme="dark"] body.admin-portal-page #topSearchResultsPanel th.sort-active-desc::after{color:var(--portal-dark-text)}
html[data-theme="dark"] body.admin-portal-page #topSearchRows tr.top-search-row:focus-within > td,html[data-theme="dark"] body.admin-portal-page #topSearchRows tr.top-search-row:hover > td{background:var(--portal-neutral-support-dark);color:var(--portal-dark-text)}html[data-theme="dark"] body.admin-portal-page #topSearchRows tr.top-search-row.active > td,
html[data-theme="dark"] body.admin-portal-page #topSearchRows tr.top-search-row[aria-selected="true"] > td{background:var(--portal-neutral-table-dark);color:var(--portal-dark-text)}
html[data-theme="dark"] body.parent-portal-page,html[data-theme="dark"] body.student-portal-page{--portal-grade-table-border:var(--portal-dark-border);--portal-grade-table-current-row-accent:var(--portal-status-good-border);--portal-grade-table-current-row-bg:color-mix(in srgb,var(--portal-dark-surface-support) 72%,#fff 28%);--portal-grade-table-header-bg:var(--portal-dark-surface-support);--portal-grade-table-row-bg:var(--portal-dark-card);--portal-grade-table-row-completed-bg:color-mix(in srgb,#1f7a47 18%,var(--portal-dark-card) 82%);--portal-grade-table-row-completed-hover-bg:color-mix(in srgb,#1f7a47 24%,var(--portal-dark-surface-support) 76%);--portal-grade-table-row-even-bg:color-mix(in srgb,var(--portal-dark-card) 88%,#fff 12%);--portal-grade-table-row-hover-bg:color-mix(in srgb,var(--portal-dark-surface-support) 82%,#fff 18%);--portal-grade-table-row-late-bg:color-mix(in srgb,var(--portal-dark-surface-support) 72%,#55389f 28%);--portal-grade-table-row-late-hover-bg:color-mix(in srgb,var(--portal-dark-surface-support) 62%,#55389f 38%);--portal-grade-table-row-missed-bg:color-mix(in srgb,#b23a2e 18%,var(--portal-dark-card) 82%);--portal-grade-table-row-missed-hover-bg:color-mix(in srgb,#b23a2e 24%,var(--portal-dark-surface-support) 76%);--portal-grade-table-row-open-bg:color-mix(in srgb,var(--portal-dark-surface-support) 74%,#a86400 26%);--portal-grade-table-row-open-hover-bg:color-mix(in srgb,var(--portal-dark-surface-support) 64%,#a86400 36%);--portal-grade-table-shell-bg:var(--portal-dark-surface-card);--portal-grade-table-text:var(--portal-dark-text)}
html[data-theme="dark"] body.admin-portal-page .panel,
html[data-theme="dark"] body.parent-portal-page .calendar-shell,
html[data-theme="dark"] body.parent-portal-page .card,
html[data-theme="dark"] body.parent-portal-page .field-row.edited,
html[data-theme="dark"] body.parent-portal-page .field-row.locked,
html[data-theme="dark"] body.parent-portal-page .homework-card-shell,
html[data-theme="dark"] body.parent-portal-page .portal-modal-body,
html[data-theme="dark"] body.parent-portal-page .portal-modal-dialog,
html[data-theme="dark"] body.parent-portal-page .profile-group,
html[data-theme="dark"] body.parent-portal-page .queue-table-wrap,
html[data-theme="dark"] body.parent-portal-page .report-card,
html[data-theme="dark"] body.parent-portal-page .report-modal-body,
html[data-theme="dark"] body.parent-portal-page .report-section,
html[data-theme="dark"] body.parent-portal-page .side-brand,
html[data-theme="dark"] body.parent-portal-page .side-link,
html[data-theme="dark"] body.parent-portal-page .side-nav,
html[data-theme="dark"] body.parent-portal-page .student-profile-card,
html[data-theme="dark"] body.student-portal-page .calendar-shell,html[data-theme="dark"] body.student-portal-page .card,
html[data-theme="dark"] body.student-portal-page .detail-calendar-panel,
html[data-theme="dark"] body.student-portal-page .detail-calendar-shell,
html[data-theme="dark"] body.student-portal-page .homework-card-shell,
html[data-theme="dark"] body.student-portal-page .portal-modal-body,
html[data-theme="dark"] body.student-portal-page .portal-modal-dialog,
html[data-theme="dark"] body.student-portal-page .queue-panel,
html[data-theme="dark"] body.student-portal-page .queue-table-wrap,
html[data-theme="dark"] body.student-portal-page .side-brand,
html[data-theme="dark"] body.student-portal-page .side-link,
html[data-theme="dark"] body.student-portal-page .side-nav{background:var(--portal-neutral-panel-dark)!important;border-color:var(--portal-dark-border)!important;color:var(--portal-dark-text)!important}
html[data-theme="dark"] body.parent-portal-page .queue-table-wrap,html[data-theme="dark"] body.student-portal-page .queue-table-wrap{background:var(--portal-dark-surface-support)!important;border-color:var(--portal-dark-border)!important}html[data-theme="dark"] body.admin-portal-page .card{background:var(--portal-neutral-card-dark)!important;border-color:var(--portal-dark-border)!important;color:var(--portal-dark-text)!important}html[data-theme="dark"] body.admin-portal-page .content{color:var(--portal-dark-text)!important}html[data-theme="dark"] body.parent-portal-page .card.homework-card,html[data-theme="dark"] body.parent-portal-page .homework-card,html[data-theme="dark"] body.student-portal-page .card.homework-card,html[data-theme="dark"] body.student-portal-page .homework-card{background:var(--portal-dark-surface-panel);border-color:var(--portal-dark-border)}
html[data-theme="dark"] body.parent-portal-page .homework-card-shell,html[data-theme="dark"] body.student-portal-page .homework-card-shell{background:var(--portal-dark-surface-card)!important;border-color:var(--portal-dark-border)!important;color:var(--portal-dark-text)!important}
html[data-theme="dark"] body.admin-portal-page .wrap .panel,
html[data-theme="dark"] body.parent-portal-page .side-brand,
html[data-theme="dark"] body.parent-portal-page .side-nav,
html[data-theme="dark"] body.student-portal-page .side-brand,html[data-theme="dark"] body.student-portal-page .side-nav{background:var(--portal-neutral-panel-dark);border-color:var(--portal-dark-border)}
body.parent-portal-page .detail-item.good,
body.parent-portal-page .homework-card-shell,
body.student-portal-page .detail-item.good,body.student-portal-page .homework-card-shell{box-shadow:inset 0 0 0 1px rgba(31,122,78,.1),0 10px 20px rgba(31,45,74,.05)}
body.parent-portal-page .detail-item.bad,
body.parent-portal-page .detail-item.warn,
body.student-portal-page .detail-item.bad,body.student-portal-page .detail-item.warn{box-shadow:inset 0 0 0 1px rgba(93,88,168,.1),0 10px 20px rgba(31,45,74,.05)}
body.parent-portal-page #parentOverviewSummary,body.student-portal-page #studentOverviewSummary{background:var(--portal-surface-panel);border:1px solid var(--portal-border);border-radius:var(--radius-3);box-shadow:var(--portal-role-shadow);box-sizing:border-box;color:var(--portal-text);display:block;font-size:1.25rem;font-weight:800;letter-spacing:.01em;line-height:1.12;margin:0;padding:12px 14px;white-space:normal;word-break:break-word}body.parent-portal-page #parentOverviewSummary{color:var(--portal-text)}
html[data-theme="dark"] body.parent-portal-page #parentOverviewSummary,html[data-theme="dark"] body.student-portal-page #studentOverviewSummary{color:var(--portal-dark-text)}body.parent-portal-page .parent-overview-title-head{color:var(--portal-text);letter-spacing:.01em}
html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) :is(.student-overview-title, .parent-overview-title-head, .homework-card-label, .homework-content-title, .identity-label, .detail-item-head strong, .section-head h2, .section-head h3, .section-title),html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) :is(h1, h2, h3, h4, h5, h6){color:var(--portal-dark-text)!important}
body.parent-portal-page .homework-card-label,body.student-portal-page .homework-card-label{color:var(--portal-text);font-size:clamp(11px,2.7vw,13px);font-weight:800;letter-spacing:.04em;line-height:1.15;margin:0 0 6px;padding-left:2px;text-transform:none}
body.parent-portal-page .attendance-square-k,
body.parent-portal-page .dashboard-card-subtitle,
body.parent-portal-page .detail-meta,
body.parent-portal-page .detail-note,
body.parent-portal-page .homework-square-k,
body.parent-portal-page .identity-label,
body.parent-portal-page .metric .k,
body.parent-portal-page .report-archive-meta,
body.parent-portal-page .report-archive-status,
body.parent-portal-page .report-grade-block h5,
body.parent-portal-page .report-head-card h5,
body.student-portal-page .detail-meta,
body.student-portal-page .detail-note,
body.student-portal-page .homework-square-k,
body.student-portal-page .identity-label,body.student-portal-page .metric .k{color:var(--portal-text-soft)}
body.parent-portal-page .identity-label,
body.parent-portal-page .metric .k,
body.parent-portal-page .report-grade-block h5,
body.parent-portal-page .report-head-card h5,
body.student-portal-page .identity-label,body.student-portal-page .metric .k{font-size:11px;font-weight:700;letter-spacing:.35px;line-height:1.25;text-transform:uppercase}
body.parent-portal-page .attendance-square-k,
body.parent-portal-page .homework-square-k,body.student-portal-page .homework-square-k{font-size:11px;letter-spacing:.04em;line-height:1.25;opacity:.88;text-transform:uppercase}
body.parent-portal-page .attendance-square-v,
body.parent-portal-page .homework-square-v,
body.parent-portal-page .metric .v,
body.parent-portal-page .report-head-value,
body.student-portal-page .homework-square-v,body.student-portal-page .metric .v,
body.student-portal-page .report-head-value{color:var(--portal-text);font-weight:700;line-height:1.45;margin:0}
body.parent-portal-page .metric .v,body.student-portal-page .metric .v{font-size:clamp(17px,3.8vw,22px);line-height:1.15}
body.parent-portal-page .homework-square-v,body.student-portal-page .homework-square-v{font-size:clamp(14px,3.4vw,18px);line-height:1.1}
body.parent-portal-page .homework-square-v.is-count,body.student-portal-page .homework-square-v.is-count{font-size:clamp(28px,5.5vw,36px);line-height:1}
body.parent-portal-page .attendance-square-k,body.student-portal-page .attendance-square-k{font-size:11px;letter-spacing:.04em;line-height:1.25;opacity:.88;text-transform:uppercase}
body.parent-portal-page .attendance-square-v,body.student-portal-page .attendance-square-v{line-height:1.05;margin:0}
body.parent-portal-page .attendance-square-k,
body.parent-portal-page .homework-square-k,
body.parent-portal-page .metric .k,
body.student-portal-page .attendance-square-k,
body.student-portal-page .homework-square-k,body.student-portal-page .metric .k{margin:0 0 2px}
body.parent-portal-page .attendance-square-v,
body.parent-portal-page .homework-square-v,
body.parent-portal-page .metric .v,
body.student-portal-page .attendance-square-v,
body.student-portal-page .homework-square-v,body.student-portal-page .metric .v{margin:0;margin-top:2px}
body.parent-portal-page .homework-content-title,body.student-portal-page .homework-content-title{color:#18395d;font-size:clamp(14px,3vw,17px);font-weight:800;line-height:1.15;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.parent-portal-page .form-row,
body.parent-portal-page .login-form,body.student-portal-page .form-row,
body.student-portal-page .login-form{display:grid;gap:6px}
body.parent-portal-page .field label,body.student-portal-page .field label{color:var(--ink-soft);display:block;font-size:1.15rem;font-weight:600;letter-spacing:.02em;margin:8px 0;text-transform:none}
body.parent-portal-page .login-form,body.student-portal-page .login-form{gap:10px;margin-inline:auto;width:min(100%,var(--portal-login-form-max-width))}
body.parent-portal-page .link-btn,
body.parent-portal-page button:not(.portal-button):not(.floating-menu-btn):not(.nav-overlay):not(.nav-scrim):not(.btn-refresh):not(.primary):not(.alt):not(.portal-action-btn):not(.portal-theme-toggle):not(.theme-toggle),
body.parent-portal-page input,
body.parent-portal-page select,
body.parent-portal-page textarea,
body.student-portal-page .link-btn,
body.student-portal-page button:not(.portal-button):not(.floating-menu-btn):not(.nav-overlay):not(.nav-scrim):not(.btn-refresh):not(.primary):not(.alt):not(.portal-action-btn):not(.portal-theme-toggle):not(.theme-toggle),body.student-portal-page input,
body.student-portal-page select,
body.student-portal-page textarea{background:#fbffff;border:1px solid var(--line);border-radius:var(--radius-2);box-sizing:border-box;color:#172033;font:inherit}
body.admin-portal-page select,
body.parent-portal-page select,body.student-portal-page select{background:var(--portal-surface-card)}
body.admin-portal-page :where(input, select, textarea)::placeholder,
body.parent-portal-page :where(input, select, textarea)::placeholder,body.student-portal-page :where(input, select, textarea)::placeholder{color:var(--portal-field-placeholder);opacity:1}
body.parent-portal-page input,
body.parent-portal-page select,
body.parent-portal-page textarea,body.student-portal-page input,
body.student-portal-page select,
body.student-portal-page textarea{box-sizing:border-box;min-height:44px;padding:10px 12px;width:100%}
body.parent-portal-page textarea,body.student-portal-page textarea{line-height:1.35;min-height:98px;resize:vertical}
body.parent-portal-page button:not(.portal-button):not(.floating-menu-btn):not(.nav-overlay):not(.nav-scrim):not(.btn-refresh):not(.primary):not(.alt):not(.portal-action-btn):not(.portal-theme-toggle):not(.theme-toggle):focus-visible,
body.parent-portal-page input:focus,
body.parent-portal-page select:focus,
body.parent-portal-page textarea:focus,
body.student-portal-page button:not(.portal-button):not(.floating-menu-btn):not(.nav-overlay):not(.nav-scrim):not(.btn-refresh):not(.primary):not(.alt):not(.portal-action-btn):not(.portal-theme-toggle):not(.theme-toggle):focus-visible,body.student-portal-page input:focus,
body.student-portal-page select:focus,
body.student-portal-page textarea:focus{background:var(--portal-button-neutral-fill);border-color:var(--portal-button-neutral-stroke-hover);box-shadow:var(--portal-button-shadow-focus);outline:none}
body.admin-portal-page select:focus,
body.admin-portal-page select:focus-visible,
body.parent-portal-page select:focus,
body.parent-portal-page select:focus-visible,body.student-portal-page select:focus,
body.student-portal-page select:focus-visible{background:var(--portal-surface-card)}
body.parent-portal-page input:disabled,
body.parent-portal-page textarea:disabled,body.student-portal-page input:disabled,
body.student-portal-page textarea:disabled{background:var(--portal-surface-support);border-color:var(--portal-border);color:var(--portal-text-soft);cursor:not-allowed}
body.parent-portal-page .link-btn,
body.parent-portal-page button:not(.portal-button):not(.floating-menu-btn):not(.nav-scrim):not(.btn-refresh):not(.primary):not(.alt):not(.portal-action-btn):not(.portal-theme-toggle):not(.theme-toggle),
body.student-portal-page .link-btn,body.student-portal-page button:not(.portal-button):not(.floating-menu-btn):not(.nav-overlay):not(.nav-scrim):not(.btn-refresh):not(.primary):not(.alt):not(.portal-action-btn):not(.portal-theme-toggle):not(.theme-toggle){align-items:center;background:var(--portal-button-neutral-fill);border-color:var(--portal-button-neutral-stroke);color:var(--portal-button-neutral-ink);cursor:pointer;display:inline-flex;justify-content:center;min-height:42px;text-align:center;text-decoration:none}
body.admin-portal-page .link-btn,body.admin-portal-page button:not(.portal-button):not(.distribution-modal-button):not(.floating-menu-btn):not(.nav-overlay):not(.nav-scrim):not(.portal-action-btn):not(.portal-theme-toggle):not(.menu-group-btn):not(.menu-toggle-btn):not(.app-header-menu-toggle):not(.tabulator-entry-btn):not(.grade-chart-period-btn):not(.pt-score-legend-btn):not(.bar-detail-action-btn):not(.header-action-btn):not([data-text-zoom-action]):not(#adminThemeToggle):not(#menuToggleBtn):not(#floatingMenuBtn):not(#newsReviewViewerCloseBtn):not(#newsReviewViewerPrevBtn):not(#newsReviewViewerNextBtn):not(#parentQueueCloseBtn):not(#gradeChartModalCloseBtn){align-items:center;background:#f1f5ff;border:1px solid #9bb5df;border-radius:var(--radius-2);box-sizing:border-box;color:#214072;cursor:pointer;display:inline-flex;justify-content:center;min-height:48px;text-align:center;text-decoration:none}
body.admin-portal-page .link-btn:focus-visible,
body.admin-portal-page .link-btn:hover:not(:disabled),
body.admin-portal-page button:not(.portal-button):not(.distribution-modal-button):not(.floating-menu-btn):not(.nav-overlay):not(.nav-scrim):not(.portal-action-btn):not(.portal-theme-toggle):not(.menu-group-btn):not(.menu-toggle-btn):not(.app-header-menu-toggle):not(.tabulator-entry-btn):not(.grade-chart-period-btn):not(.pt-score-legend-btn):not(.bar-detail-action-btn):not(.header-action-btn):not([data-text-zoom-action]):not(#adminThemeToggle):not(#menuToggleBtn):not(#floatingMenuBtn):not(#newsReviewViewerCloseBtn):not(#newsReviewViewerPrevBtn):not(#newsReviewViewerNextBtn):not(#parentQueueCloseBtn):not(#gradeChartModalCloseBtn):focus-visible,body.admin-portal-page button:not(.portal-button):not(.distribution-modal-button):not(.floating-menu-btn):not(.nav-overlay):not(.nav-scrim):not(.portal-action-btn):not(.portal-theme-toggle):not(.menu-group-btn):not(.menu-toggle-btn):not(.app-header-menu-toggle):not(.tabulator-entry-btn):not(.grade-chart-period-btn):not(.pt-score-legend-btn):not(.bar-detail-action-btn):not(.header-action-btn):not([data-text-zoom-action]):not(#adminThemeToggle):not(#menuToggleBtn):not(#floatingMenuBtn):not(#newsReviewViewerCloseBtn):not(#newsReviewViewerPrevBtn):not(#newsReviewViewerNextBtn):not(#parentQueueCloseBtn):not(#gradeChartModalCloseBtn):hover:not(:disabled){background:#f3f8ff;border-color:#9bb5df;box-shadow:0 8px 16px rgba(19,35,61,.12);outline:none;transform:translateY(-1px)}
body.admin-portal-page .link-btn:disabled,body.admin-portal-page button:not(.portal-button):not(.distribution-modal-button):not(.floating-menu-btn):not(.nav-overlay):not(.nav-scrim):not(.portal-action-btn):not(.portal-theme-toggle):not(.menu-group-btn):not(.menu-toggle-btn):not(.app-header-menu-toggle):not(.tabulator-entry-btn):not(.grade-chart-period-btn):not(.pt-score-legend-btn):not(.bar-detail-action-btn):not(.header-action-btn):not([data-text-zoom-action]):not(#adminThemeToggle):not(#menuToggleBtn):not(#floatingMenuBtn):not(#newsReviewViewerCloseBtn):not(#newsReviewViewerPrevBtn):not(#newsReviewViewerNextBtn):not(#gradeChartModalCloseBtn):disabled{box-shadow:none;cursor:not-allowed;opacity:.64;transform:none}
body.parent-portal-page button:not(.portal-button):not(.floating-menu-btn):not(.nav-overlay):not(.nav-scrim):not(.btn-refresh):not(.primary):not(.alt):not(.portal-action-btn):not(.portal-theme-toggle):not(.theme-toggle):hover:not(:disabled),body.student-portal-page button:not(.portal-button):not(.floating-menu-btn):not(.nav-overlay):not(.nav-scrim):not(.btn-refresh):not(.primary):not(.alt):not(.portal-action-btn):not(.portal-theme-toggle):not(.theme-toggle):hover:not(:disabled){box-shadow:0 8px 16px rgba(19,35,61,.12);transform:translateY(-1px)}
body.parent-portal-page .link-btn,
body.parent-portal-page button:not(.portal-button):not(.floating-menu-btn):not(.nav-overlay):not(.nav-scrim):not(.btn-refresh):not(.primary):not(.alt):not(.portal-action-btn):not(.portal-theme-toggle):not(.theme-toggle),
body.student-portal-page .link-btn,body.student-portal-page button:not(.portal-button):not(.floating-menu-btn):not(.nav-overlay):not(.nav-scrim):not(.btn-refresh):not(.primary):not(.alt):not(.portal-action-btn):not(.portal-theme-toggle):not(.theme-toggle){color:#214072}
body.parent-portal-page button:not(.portal-button):not(.floating-menu-btn):not(.nav-overlay):not(.nav-scrim):not(.btn-refresh):not(.primary):not(.alt):not(.portal-action-btn):not(.portal-theme-toggle):not(.theme-toggle):disabled,body.student-portal-page button:not(.portal-button):not(.floating-menu-btn):not(.nav-overlay):not(.nav-scrim):not(.btn-refresh):not(.primary):not(.alt):not(.portal-action-btn):not(.portal-theme-toggle):not(.theme-toggle):disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}
body.parent-portal-page .actions,body.student-portal-page .actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:10px}
body.parent-portal-page .actions-2>*,body.student-portal-page .actions-2>*{flex:1 1 calc(50% - 6px)}
body.parent-portal-page .actions-3>*,body.student-portal-page .actions-3>*{flex:1 1 calc(33.333% - 8px)}body.student-portal-page .news-actions{align-items:stretch;display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px;inline-size:100%;justify-content:flex-end;max-inline-size:100%}body.student-portal-page .news-actions > .portal-button{min-block-size:var(--portal-button-min-block)}@media (min-width:640px){body.student-portal-page .news-actions{flex-wrap:nowrap;inline-size:calc(var(--portal-button-inline)*2 + 8px);max-inline-size:none}}body.student-portal-page .student-news-form-actions > .portal-button{flex:0 0 auto;inline-size:auto;min-inline-size:var(--portal-button-inline)}body.student-portal-page .student-news-form-actions{align-items:center;justify-content:flex-start}body.student-portal-page .portal-modal-actions.student-news-form-actions{justify-content:flex-start}body.student-portal-page .news-vocabulary-add-actions{display:flex;justify-content:flex-end}
body.parent-portal-page #newsWeekSetModal .queue-modal-header,body.student-portal-page #newsWeekSetModal .queue-modal-header{align-items:center;background:#2f2c2c;border-radius:14px;display:flex;gap:14px;justify-content:space-between;margin:-16px -16px 0;padding:14px 18px}
body.parent-portal-page #newsWeekSetModal .queue-modal-nav,
body.student-portal-page #newsWeekSetModal .news-week-set-modal-nav,body.student-portal-page #newsWeekSetModal .queue-modal-nav{align-items:center;display:inline-flex;flex:1 1 auto;flex-wrap:nowrap;font-weight:700;gap:8px;justify-content:flex-start;margin-top:0;min-width:0;white-space:nowrap}
body.parent-portal-page #newsWeekSetModal .queue-modal-nav > strong,
body.student-portal-page #newsWeekSetModal .news-week-set-modal-nav > strong,body.student-portal-page #newsWeekSetModal .queue-modal-nav > strong{color:#fbffff;flex:1 1 auto;font-size:clamp(16px,3.6vw,19px);line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.parent-portal-page #newsWeekSetModal .queue-modal-nav > .hint,
body.student-portal-page #newsWeekSetModal .news-week-set-modal-nav > .hint,body.student-portal-page #newsWeekSetModal .queue-modal-nav > .hint{color:#fbffff;display:inline-flex;font-weight:700;margin:0;white-space:nowrap}
body.parent-portal-page #newsWeekSetModal #closeNewsWeekSetModalBtn,body.student-portal-page #newsWeekSetModal #closeNewsWeekSetModalBtn{flex:0 0 auto;inline-size:auto;margin-inline-start:14px;min-height:52px;min-width:176px;padding-inline:28px;white-space:nowrap}body.student-portal-page #newsWeekSetModal .news-review-vocabulary{background:var(--portal-surface-card);border:1px solid var(--portal-border);border-radius:var(--radius-2);display:grid;gap:8px;margin-top:8px;padding:10px}body.student-portal-page #newsWeekSetModal .news-review-vocabulary > strong{color:var(--portal-text);font-size:12px;letter-spacing:.04em;text-transform:uppercase}body.student-portal-page #newsWeekSetModal .news-review-vocabulary-row{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}body.student-portal-page #newsWeekSetModal .news-review-vocabulary input,
body.student-portal-page #newsWeekSetModal .news-review-vocabulary textarea{box-sizing:border-box;min-width:0;width:100%}body.student-portal-page #newsWeekSetModal .news-review-vocabulary hr{border:0;border-top:1px solid var(--portal-border);margin:0;width:100%}body.parent-portal-page #newsWeekSetModal .news-review-vocabulary{background:var(--portal-surface-card);border:1px solid var(--portal-border);border-radius:var(--radius-2);display:grid;gap:8px;margin-top:8px;padding:10px}body.parent-portal-page #newsWeekSetModal .news-review-vocabulary > strong{color:var(--portal-text);font-size:12px;letter-spacing:.04em;text-transform:uppercase}body.parent-portal-page #newsWeekSetModal .news-review-vocabulary-row{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}body.parent-portal-page #newsWeekSetModal .news-review-vocabulary-row span{color:var(--portal-text);font-size:12px;overflow-wrap:anywhere}body.parent-portal-page #newsWeekSetModal .news-review-vocabulary-definition{grid-column:1/-1}body.parent-portal-page #newsWeekSetModal .news-review-vocabulary hr{border:0;border-top:1px solid var(--portal-border);margin:0;width:100%}body.student-portal-page .news-vocabulary-field{display:grid;gap:8px}body.student-portal-page .news-report-form-head{align-items:center}body.student-portal-page .news-new-form-modal .portal-modal-dialog{max-width:520px}body.student-portal-page .news-new-form-modal .portal-modal-head h4{overflow-wrap:anywhere}body.student-portal-page .news-new-form-modal .portal-modal-actions{justify-content:stretch}body.student-portal-page .news-new-form-modal .portal-modal-actions .portal-button{flex:1 1 100%;inline-size:100%;max-inline-size:none;white-space:normal}body.student-portal-page .news-new-form-modal .portal-modal-body p{font-size:.9rem;line-height:1.45;margin:0}body.student-portal-page .student-new-words-instructions{border:1px solid var(--portal-border);border-radius:var(--radius-2);margin:0 0 8px;overflow:hidden}body.student-portal-page .student-new-words-instructions > summary{color:var(--portal-text);cursor:pointer;font-size:1rem;font-weight:800;list-style-position:inside;padding:8px 10px;text-align:left}body.student-portal-page .student-new-words-instructions-body{align-items:start;background:#f5f9ff;border-top:1px solid #cad7ea;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(150px,260px);padding:10px;text-align:left}body.student-portal-page .student-new-words-instructions-copy{color:#1f3f63;min-width:0}body.student-portal-page .student-new-words-instructions-copy p{margin:0 0 6px}body.student-portal-page .student-new-words-instructions-copy ol{margin:0;padding-inline-start:1.25rem}body.student-portal-page .student-new-words-instructions-copy li{line-height:1.4;margin:0 0 4px}body.student-portal-page .student-new-words-instructions-copy code{background:#e6eef9;border:1px solid #c3d2e7;border-radius:4px;color:#17345e;font-family:B612 Mono,monospace;letter-spacing:normal;line-height:normal;padding:1px 4px}body.student-portal-page .new-words-intro-copy{min-width:0}body.student-portal-page .new-words-intro-copy .student-new-words-instructions-copy{margin-top:10px}body.student-portal-page .student-new-words-instructions-thumb{align-self:start;background:#fbffff;border:1px solid #9bb5df;border-radius:var(--radius-2);box-sizing:border-box;cursor:zoom-in;display:block;margin:0;overflow:hidden;padding:4px;width:100%}
body.student-portal-page .student-new-words-instructions-thumb:focus-visible,body.student-portal-page .student-new-words-instructions-thumb:hover{border-color:#6f97cb;box-shadow:0 0 0 3px rgba(47,91,227,.2);outline:none}body.student-portal-page .student-new-words-instructions-thumb img{display:block;height:auto;max-width:100%;width:100%}body.student-portal-page .student-new-words-lightbox{align-items:center;background:rgba(8,22,40,.56);display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:140}body.student-portal-page .student-new-words-lightbox.hidden{display:none}body.student-portal-page .student-new-words-lightbox-backdrop{inset:0;position:absolute}body.student-portal-page .student-new-words-lightbox-dialog{background:#fbffff;border:1px solid #cad7ea;border-radius:12px;box-shadow:0 22px 50px rgba(8,18,40,.22);box-sizing:border-box;display:grid;gap:12px;max-height:calc(100vh - 36px);max-width:min(1188px,calc(100vw - 36px));overflow:auto;padding:12px;position:relative;width:max-content}body.student-portal-page .student-new-words-lightbox-head{align-items:center;display:flex;gap:10px;justify-content:space-between}body.student-portal-page .student-new-words-lightbox-head h2{color:#1f3f63;font-size:clamp(16px,3.6vw,19px);line-height:1.2;margin:0}body.student-portal-page .student-new-words-lightbox-image{display:block;height:auto;max-height:calc(100vh - 110px);max-width:100%;width:auto}html[data-theme="dark"] body.student-portal-page .student-new-words-instructions{background:#202936;border-color:#53657e}html[data-theme="dark"] body.student-portal-page .student-new-words-instructions > summary{color:#f2f6fb}html[data-theme="dark"] body.student-portal-page .student-new-words-instructions-body{background:#303a48;border-top-color:#53657e}html[data-theme="dark"] body.student-portal-page .student-new-words-instructions-copy{color:#f2f6fb}html[data-theme="dark"] body.student-portal-page .student-new-words-instructions-copy code{background:#202936;border-color:#53657e;color:#f2f6fb}html[data-theme="dark"] body.student-portal-page .student-new-words-instructions-thumb{background:#303a48;border-color:#7388a3}html[data-theme="dark"] body.student-portal-page .student-new-words-lightbox-dialog{background:#202936;border-color:#53657e}html[data-theme="dark"] body.student-portal-page .student-new-words-lightbox-head h2{color:#f2f6fb}@media (max-width:640px){body.student-portal-page .student-new-words-instructions-body{grid-template-columns:1fr}body.student-portal-page .student-new-words-instructions-thumb{justify-self:start;max-width:260px}}body.admin-portal-page.library-admin-page .library-reference-facet-filters{display:grid;gap:var(--portal-content-gap);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-block-end:var(--portal-content-gap)}body.admin-portal-page.library-admin-page .library-reference-facet-filters label{display:grid;font-size:clamp(.92rem,.2vw + .88rem,1.05rem);font-weight:700;gap:4px}body.admin-portal-page.library-admin-page .library-reference-facet-filters select{box-sizing:border-box;min-block-size:44px;min-inline-size:0;padding:10px 12px;width:100%}body.admin-portal-page.library-admin-page .library-reference-table-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--portal-content-gap);justify-content:space-between;margin-block-end:8px;padding-inline:4px}body.admin-portal-page.library-admin-page .library-reference-table{border-collapse:separate;border-spacing:0;font-size:clamp(.96rem,.18vw + .92rem,1.08rem);min-inline-size:760px;table-layout:auto;width:100%}
body.admin-portal-page.library-admin-page .library-reference-table td,body.admin-portal-page.library-admin-page .library-reference-table th{line-height:1.35;max-inline-size:30ch;overflow-wrap:anywhere;padding:11px 12px;vertical-align:top}body.admin-portal-page.library-admin-page .library-reference-table thead th{position:sticky;top:0;z-index:1}body.admin-portal-page.library-admin-page .library-reference-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--portal-role-card-bg) 92%,var(--portal-role-panel-bg) 8%)}
body.admin-portal-page.library-admin-page .library-reference-table tbody tr:focus-within,body.admin-portal-page.library-admin-page .library-reference-table tbody tr:hover{background:var(--portal-surface-support)}body.admin-portal-page.library-admin-page .library-reference-table td[data-column="familyId"]{font-family:B612 Mono,monospace;font-weight:700;white-space:nowrap}@media (max-width:800px){body.admin-portal-page.library-admin-page .library-reference-table{border-collapse:collapse;display:block;min-inline-size:0}body.admin-portal-page.library-admin-page .library-reference-table thead{block-size:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;position:absolute;white-space:nowrap;width:1px}body.admin-portal-page.library-admin-page .library-reference-table tbody,
  body.admin-portal-page.library-admin-page .library-reference-table td,
  body.admin-portal-page.library-admin-page .library-reference-table tr{display:block}body.admin-portal-page.library-admin-page .library-reference-table tr{background:var(--portal-role-card-bg);border:1px solid var(--portal-border-strong);border-radius:var(--radius-2);margin-block-end:var(--portal-content-gap);padding:8px 12px}
  body.admin-portal-page.library-admin-page .library-reference-table tbody tr:focus-within,
  body.admin-portal-page.library-admin-page .library-reference-table tbody tr:hover,body.admin-portal-page.library-admin-page .library-reference-table tbody tr:nth-child(even){background:var(--portal-role-card-bg)}body.admin-portal-page.library-admin-page .library-reference-table td{border:0;display:grid;gap:12px;grid-template-columns:minmax(8ch,30%) minmax(0,1fr);max-inline-size:none;padding:9px 0}body.admin-portal-page.library-admin-page .library-reference-table td + td{border-block-start:1px solid var(--portal-border)}body.admin-portal-page.library-admin-page .library-reference-table td::before{color:var(--portal-text-soft);content:attr(data-label);font-size:.82em;font-weight:800;letter-spacing:.04em;text-transform:uppercase}}body.student-portal-page .new-words-page-head{align-items:center}body.student-portal-page .new-words-intro{background:var(--portal-surface-panel);margin-bottom:8px;overflow:hidden}body.student-portal-page .new-words-intro > summary{color:var(--portal-text);cursor:pointer;font-size:1.05rem;font-weight:800;list-style-position:inside;padding:8px 10px;text-align:left}body.student-portal-page .new-words-intro-body{align-items:stretch;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) minmax(120px,175px);padding:0 10px 10px;text-align:left}body.student-portal-page .new-words-intro-body h3,
body.student-portal-page .new-words-intro-body p{margin:0;text-align:left}body.student-portal-page .new-words-intro-body p{margin-top:6px;max-width:68ch}body.student-portal-page .new-words-intro-body .new-words-intro-illustration{align-self:end;aspect-ratio:1;color:#b50010;justify-self:end;margin-block-end:8px;margin-inline-end:8px;max-width:100px;width:100%}html[data-theme="dark"] body.student-portal-page .new-words-intro-body .new-words-intro-illustration{color:#edb144}body.student-portal-page .new-words-tools{align-items:end;display:grid;gap:6px;grid-template-columns:auto minmax(150px,220px) auto minmax(100px,150px) minmax(0,1fr);margin-bottom:8px;padding:8px}body.student-portal-page .new-words-tools label{margin:0}body.student-portal-page .new-words-tools .hint{text-align:right}body.student-portal-page .new-words-rows{min-width:0}body.student-portal-page .new-words-empty{margin:0;padding:14px}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry{background:var(--portal-surface-panel);border:1px solid var(--portal-border);border-radius:var(--radius-2);display:grid;gap:4px;grid-template-columns:none;padding:12px 14px}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-head{display:flow-root;font-family:B612 Mono,monospace;letter-spacing:normal;line-height:normal;margin-bottom:1rem}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-head > :not(.new-word-edit, .library-admin-flat-edit){display:inline;vertical-align:text-bottom}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .vocabulary-flat-entry-status{margin-block-end:6px}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-head strong{color:#b50010;font-family:B612 Mono,monospace;font-size:calc(1.38rem + 2px);letter-spacing:normal;line-height:normal;overflow-wrap:normal;white-space:nowrap;word-break:normal}
html[data-theme="dark"] :where(body.admin-portal-page, body.parent-portal-page) .new-word-entry-head strong,html[data-theme="dark"] body.student-portal-page .new-word-entry-head strong{color:#f4c45f}html:not([data-theme="dark"]) :where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-head strong{color:#000}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-head > span{color:var(--portal-text-muted);font-family:B612 Mono,monospace;font-size:1.18rem;letter-spacing:normal;line-height:normal}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-head > .new-word-entry-pronunciation{color:var(--portal-text);font-family:B612 Mono,monospace;letter-spacing:normal;line-height:normal}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-head > .vocabulary-flat-entry-subtype{color:var(--portal-text-muted);font-size:1rem;font-style:italic;line-height:1.25}html:not([data-theme="dark"]) :where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-head > strong.new-word-entry-part-of-speech{color:#212121!important;font-size:calc(1.28rem + 2px)!important;font-weight:800!important}html[data-theme="dark"] :where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-head > strong.new-word-entry-part-of-speech{color:#fbffff!important;font-size:calc(1.28rem + 2px)!important;font-weight:800!important}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-head > .new-word-entry-plural em{font-weight:700}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-head > .new-word-entry-vietnamese{margin-inline-end:0}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-head :is(.new-word-edit, .library-admin-flat-edit){--portal-button-max-inline:72px;--portal-button-min-block:36px;--portal-button-min-inline:72px;block-size:36px;float:right;margin-inline-start:var(--portal-content-gap);vertical-align:text-bottom}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-definition{display:flow-root;font-family:B612 Mono,monospace;font-size:1.18rem;letter-spacing:normal;line-height:1.45;margin:0;overflow-wrap:anywhere;padding-inline-start:18px;text-align:left;white-space:normal}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-definition ol,
:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-definition ul{margin-block:var(--portal-definition-flow-gap);padding-inline-start:28px;white-space:normal}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-definition li{margin-block:var(--portal-definition-item-gap)}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-definition li[data-definition-marker]::marker{content:attr(data-definition-marker) " "}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-definition li > :is(ol, ul){margin-block:var(--portal-definition-item-gap)}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-definition :is(section, .new-word-entry-definition-body){margin-block:var(--portal-definition-flow-gap)}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-definition :is(section, .new-word-entry-definition-body):first-child{margin-block-start:0}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-definition p{margin-block:var(--portal-definition-flow-gap)}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-definition p:first-child{margin-block-start:0}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .definition-markdown-table-wrap{margin-block:var(--portal-definition-flow-gap);max-inline-size:100%;overflow-x:auto}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .definition-markdown-table{border-collapse:collapse;min-inline-size:min(100%,360px);width:100%}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .definition-markdown-table :is(th, td){border:1px solid var(--portal-border-strong);padding:8px 10px;text-align:start;vertical-align:top}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .definition-markdown-table th{background:var(--portal-surface-support);font-weight:800}body.admin-portal-page #libraryDictionaryBuilderDialog{--dictionary-builder-compact-gap:10px;background:var(--portal-role-card-bg);block-size:fit-content;border:1px solid var(--portal-role-border);border-radius:var(--radius-3);box-shadow:var(--portal-role-shadow-strong);color:var(--portal-role-text);inline-size:min(1440px,calc(100vw - 32px));max-block-size:calc(100vh - 32px);max-inline-size:none;overflow:auto;padding:0;resize:both}body.admin-portal-page #libraryDictionaryBuilderDialog::backdrop{background:var(--portal-modal-backdrop)}body.admin-portal-page .library-dictionary-builder-form{display:grid;grid-template-rows:auto minmax(0,1fr);max-block-size:calc(100vh - 32px);min-block-size:0}body.admin-portal-page .library-dictionary-builder-header{align-items:center;background:var(--portal-role-panel-bg);border-block-end:1px solid var(--portal-role-border);display:grid;gap:var(--dictionary-builder-compact-gap);grid-template-columns:auto minmax(0,1fr) auto;padding:12px 16px}body.admin-portal-page .library-dictionary-builder-header-main{align-items:start;display:grid;gap:6px;justify-items:center;min-inline-size:0}body.admin-portal-page .library-dictionary-builder-header h2{font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.1;margin:0;text-align:center}body.admin-portal-page .library-dictionary-builder-header-main .small{margin:0;text-align:center}body.admin-portal-page [data-dictionary-builder-source-matrix-slot]{justify-self:end}body.admin-portal-page .dictionary-builder-source-startup-row{align-items:center;display:flex;flex:1 1 520px;flex-wrap:wrap;gap:8px;min-inline-size:0}body.admin-portal-page .vocabulary-source-control-layout{align-items:start;display:grid;gap:8px;grid-template-columns:minmax(280px,326px) minmax(120px,138px) minmax(0,1fr);min-inline-size:0}body.admin-portal-page .vocabulary-source-control-layout .dictionary-builder-source-startup-row{display:contents}body.admin-portal-page .vocabulary-source-control-layout .dictionary-builder-source-startup{align-self:start;inline-size:100%}body.admin-portal-page .vocabulary-source-control-layout .dictionary-builder-source-status-block{align-self:start;box-sizing:border-box;min-height:0;padding:0}body.admin-portal-page .dictionary-builder-source-startup{flex:0 0 auto;min-block-size:36px;min-height:36px;padding-block:6px}body.admin-portal-page .dictionary-builder-source-status-block{display:grid;gap:3px;min-inline-size:0}body.admin-portal-page .dictionary-builder-source-leds{align-items:center;border:1px solid var(--portal-border);border-radius:var(--radius-2);box-sizing:border-box;display:flex;flex-wrap:wrap;gap:6px;min-height:52px;min-inline-size:0;overflow:hidden;padding:2px 8px}body.admin-portal-page .dictionary-builder-source-led{align-items:center;background:#8b949e;border:2px solid color-mix(in srgb,#8b949e 72%,#1f2937 28%);border-radius:4px;box-sizing:border-box;color:#fff;display:inline-flex;flex:0 0 48px;font-size:.7rem;font-weight:800;height:48px;justify-content:center;letter-spacing:.02em;width:48px}body.admin-portal-page .dictionary-builder-source-led[data-source-status="not-found"]{background:#d32f2f;border-color:#8f1d1d}body.admin-portal-page .dictionary-builder-source-led[data-source-status="opening"]{background:#d28a00;border-color:#8a5800}body.admin-portal-page .dictionary-builder-source-led[data-source-status="popup-blocking"]{background:#7c3aed;border-color:#4c1d95}body.admin-portal-page .dictionary-builder-source-led[data-source-status="success"]{background:#1f8a4c;border-color:#12552f}body.admin-portal-page .dictionary-builder-source-led-legend{align-items:center;color:var(--portal-text-soft);display:flex;flex-wrap:wrap;font-size:.82rem;gap:10px;line-height:1.3}body.admin-portal-page .dictionary-builder-source-led-legend span{align-items:center;display:inline-flex;gap:3px;white-space:nowrap}body.admin-portal-page .dictionary-builder-source-led-legend i{background:#8b949e;border:1px solid color-mix(in srgb,#8b949e 72%,#1f2937 28%);border-radius:2px;display:inline-block;height:8px;width:8px}body.admin-portal-page .dictionary-builder-source-led-legend i[data-led-legend="not-found"]{background:#d32f2f;border-color:#8f1d1d}body.admin-portal-page .dictionary-builder-source-led-legend i[data-led-legend="opening"]{background:#d28a00;border-color:#8a5800}body.admin-portal-page .dictionary-builder-source-led-legend i[data-led-legend="popup-blocking"]{background:#7c3aed;border-color:#4c1d95}body.admin-portal-page .dictionary-builder-source-led-legend i[data-led-legend="success"]{background:#1f8a4c;border-color:#12552f}body.admin-portal-page .news-vocabulary-lookups.dictionary-builder-source-matrix{display:grid;gap:0;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(4,38px);inline-size:max-content;margin:0;overflow:hidden}body.admin-portal-page .dictionary-builder-source-matrix .dictionary-builder-source-link{border-radius:0;box-shadow:none;inline-size:38px;justify-content:center;min-block-size:38px;min-inline-size:38px;padding:3px;text-align:center;text-decoration:none}body.admin-portal-page .dictionary-builder-source-matrix .dictionary-builder-source-link:nth-child(1){border-start-start-radius:var(--radius-2)}body.admin-portal-page .dictionary-builder-source-matrix .dictionary-builder-source-link:nth-child(3){border-start-end-radius:var(--radius-2)}body.admin-portal-page .dictionary-builder-source-matrix .dictionary-builder-source-link:nth-child(10){border-end-start-radius:var(--radius-2)}body.admin-portal-page .dictionary-builder-source-matrix .dictionary-builder-source-link:nth-child(12){border-end-end-radius:var(--radius-2)}body.admin-portal-page [data-dictionary-builder-root]{min-block-size:0;overflow:auto;padding:12px}:where(body.admin-portal-page) .dictionary-builder-tabs{align-items:stretch;background:var(--portal-role-panel-bg);border:1px solid var(--portal-role-border);display:flex;gap:6px;margin-block:var(--dictionary-builder-compact-gap);overflow-x:auto;padding:8px;scrollbar-color:var(--portal-button-blue-fill) transparent;scrollbar-width:thin}body.admin-portal-page .dictionary-builder-tab{align-items:center;background:var(--portal-button-neutral-fill);border:1px solid var(--portal-button-neutral-stroke);border-radius:var(--radius-2);color:var(--portal-button-neutral-ink);cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-size:.88rem;font-weight:800;gap:8px;justify-content:center;min-block-size:40px;padding:7px 10px;white-space:nowrap}body.admin-portal-page .dictionary-builder-tab:hover{background:var(--portal-button-neutral-fill-hover);border-color:var(--portal-button-neutral-stroke-hover)}body.admin-portal-page .dictionary-builder-tab[aria-selected="true"]{background:var(--portal-button-blue-fill);border-color:var(--portal-button-blue-stroke);color:var(--portal-button-blue-ink)}body.admin-portal-page .dictionary-builder-tab-step{align-items:center;background:color-mix(in srgb,currentColor 14%,transparent);border-radius:999px;display:inline-flex;font-size:.72rem;justify-content:center;min-block-size:20px;min-inline-size:20px}body.admin-portal-page .dictionary-builder-tab.is-complete .dictionary-builder-tab-step{background:var(--portal-status-good-bg);box-shadow:inset 0 0 0 1px var(--portal-status-good-border);color:var(--portal-status-good-text)}body.admin-portal-page .dictionary-builder-tab:focus-visible{outline:3px solid color-mix(in srgb,var(--portal-button-blue-fill) 36%,transparent);outline-offset:3px}:where(body.admin-portal-page) .dictionary-builder-candidates{background:var(--portal-surface-card);border:1px solid var(--portal-border);border-radius:var(--radius-2);display:grid;gap:var(--dictionary-builder-compact-gap);padding:12px}body.admin-portal-page .dictionary-builder-candidate-list{display:grid;gap:var(--dictionary-builder-compact-gap);grid-template-columns:repeat(3,minmax(0,1fr))}:where(body.admin-portal-page) .dictionary-builder-candidate{align-items:start;background:var(--portal-surface-panel);border:1px solid var(--portal-border);border-radius:var(--radius-2);display:grid;gap:var(--dictionary-builder-compact-gap);grid-template-columns:auto minmax(0,1fr);padding:12px}body.admin-portal-page .dictionary-builder-candidate-source,
body.admin-portal-page .dictionary-builder-candidate-source-list{font-size:.82rem;line-height:1.3}body.admin-portal-page .dictionary-builder-candidate-source{color:var(--portal-link);grid-column:2;text-decoration:underline}body.admin-portal-page .dictionary-builder-candidate-source-list{display:flex;flex-wrap:wrap;gap:10px}body.admin-portal-page [data-dictionary-builder-popup-fallbacks]:not([hidden]){align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-block-start:12px;padding:8px 12px}body.admin-portal-page [data-dictionary-builder-popup-fallbacks] span{flex-basis:100%;font-size:.9rem}body.admin-portal-page [data-dictionary-builder-popup-fallbacks] a{font-size:.9rem;text-decoration:underline}body.admin-portal-page .dictionary-builder-candidate :is(strong, input[type="radio"]){font-size:1.08rem}body.admin-portal-page .dictionary-builder-candidate input[type="radio"]{block-size:1.2rem;inline-size:1.2rem}:where(body.admin-portal-page) .dictionary-builder-candidate textarea{align-self:start;font-size:1.1rem;grid-column:1/-1;line-height:1.4;min-block-size:54px;overflow:hidden;padding:10px 12px;resize:both;vertical-align:top}body.admin-portal-page .dictionary-builder-relation-fields{display:grid;gap:var(--dictionary-builder-compact-gap);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}body.admin-portal-page .dictionary-builder-relation-fields label{display:grid;gap:6px}body.admin-portal-page .dictionary-builder-relation-fields textarea{grid-column:auto;min-block-size:140px}:where(body.admin-portal-page) .dictionary-builder-pos-controls{display:grid;gap:var(--dictionary-builder-compact-gap);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}:where(body.admin-portal-page) .dictionary-builder-pos-controls select{inline-size:100%;min-block-size:48px;padding:8px 12px}:where(body.admin-portal-page) .library-dictionary-preview-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--dictionary-builder-compact-gap);margin-block:var(--dictionary-builder-compact-gap)}body.admin-portal-page .library-dictionary-preview-actions select{font-size:1.1rem;line-height:1.35;min-block-size:52px;min-inline-size:min(100%,260px);padding:8px 12px}@media (max-width:640px){body.admin-portal-page #libraryDictionaryBuilderDialog,
  body.admin-portal-page .library-dictionary-builder-form{max-block-size:calc(100vh - 24px)}body.admin-portal-page #libraryDictionaryBuilderDialog{inline-size:calc(100vw - 24px)}body.admin-portal-page .library-dictionary-builder-header{align-items:start;grid-template-columns:1fr;padding:10px 14px}body.admin-portal-page [data-dictionary-builder-source-matrix-slot]{justify-self:start}body.admin-portal-page [data-dictionary-builder-root]{padding:14px}body.admin-portal-page .dictionary-builder-candidate-list{grid-template-columns:1fr}}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .definition-safe-rule{border:0;border-block-start:1px solid var(--portal-border);inline-size:100%;margin-block:var(--portal-definition-flow-gap)}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-definition > section > strong{display:block;margin-block-end:var(--portal-definition-item-gap);margin-block-start:1.45em}
:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-origin-path,:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-pos-details,
:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .vocabulary-origin-references{overflow-wrap:anywhere}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .new-word-entry-pos-details{color:var(--portal-text-soft);white-space:normal}
:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .vocabulary-origin-references,:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .vocabulary-verb-forms-display{display:grid;gap:4px;margin-block:8px}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .vocabulary-flat-entry-details{border-top:1px solid var(--portal-border-strong);display:grid;gap:8px 16px;grid-template-columns:repeat(2,minmax(0,1fr));margin:6px 0 0 18px;padding-top:8px}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .vocabulary-flat-entry-details > div{min-width:0}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .vocabulary-flat-entry-details dt{color:var(--portal-text-soft);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .vocabulary-flat-entry-details dd{margin:2px 0 0;overflow-wrap:anywhere}body.student-portal-page main.portal-main{box-sizing:border-box;display:grid;gap:var(--portal-shell-gap);grid-template-columns:minmax(0,1fr);margin:0 auto;max-width:1440px;padding:16px;width:100%}body.student-portal-page .library-toolbar{align-items:end;display:grid;gap:var(--portal-content-gap);grid-template-columns:2fr repeat(3,minmax(130px,1fr)) auto auto}body.student-portal-page .library-toolbar label{display:grid;font-size:.86rem;font-weight:700;gap:6px}body.student-portal-page .library-toolbar input,
body.student-portal-page .library-toolbar select{min-height:38px}body.student-portal-page .library-toolbar .library-my-words-filter{align-items:center;display:flex;gap:8px;min-height:38px;white-space:nowrap}body.student-portal-page .library-toolbar .library-my-words-filter input{min-height:0}body.student-portal-page .library-results{display:grid;gap:var(--portal-content-gap);margin-top:var(--portal-content-gap)}body.student-portal-page .library-entry-accordion{border:1px solid var(--portal-border-strong);border-radius:var(--radius-2);overflow:hidden}body.student-portal-page .library-entry-accordion-summary{align-items:center;background:#cde0ff;box-sizing:border-box;cursor:pointer;display:flex;gap:7px;list-style:none;margin:0;min-height:48px;padding:8px 12px}body.student-portal-page .library-entry-accordion-summary::-webkit-details-marker{display:none}body.student-portal-page .library-entry-accordion-summary::before{content:"+";font-size:1.25rem;font-weight:700}body.student-portal-page .library-entry-accordion[open] .library-entry-accordion-summary::before{content:"−"}html[data-theme="dark"] body.student-portal-page .library-entry-accordion-summary{background:#212121}body.student-portal-page .library-entry-accordion-body{border-top:1px solid var(--portal-border-strong);display:grid;gap:var(--portal-content-gap);padding:12px}body.student-portal-page .library-entry-accordion-body .new-word-entry-definition{padding-inline-start:0}body.student-portal-page .library-pagination{align-items:center;display:flex;flex-wrap:wrap;gap:var(--portal-content-gap);justify-content:center;margin-block:var(--portal-content-gap);padding-block:4px}body.student-portal-page .library-edit-dialog{border:0;border-radius:12px;max-width:980px;padding:0;width:min(980px,calc(100vw - 24px))}body:is(.student-portal-page, .admin-portal-page) #vocabularyMerriamWebsterApiDialog{box-sizing:border-box;font-size:1.125rem;line-height:1.5;max-block-size:85vh;max-inline-size:min(900px,92vw);overflow:auto;padding:24px;width:min(900px,92vw)}body:is(.student-portal-page, .admin-portal-page) #vocabularyMerriamWebsterApiDialog form{display:grid;gap:var(--portal-content-gap);margin:0}body:is(.student-portal-page, .admin-portal-page) #vocabularyMerriamWebsterApiDialog h2{font-size:1.5rem;line-height:1.3;margin:0}body:is(.student-portal-page, .admin-portal-page) #vocabularyMerriamWebsterApiDialog [data-vocabulary-api-message]{font-size:1.25rem;line-height:1.5;margin:0}body:is(.student-portal-page, .admin-portal-page) #vocabularyMerriamWebsterApiDialog [data-vocabulary-api-result]{font-size:1.125rem;line-height:1.55;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}body:is(.student-portal-page, .admin-portal-page) #vocabularyMerriamWebsterApiDialog:not([open]){display:none}body.student-portal-page .library-edit-dialog::backdrop{background:rgba(0,0,0,.48)}body.student-portal-page .library-edit-form{display:grid;gap:var(--portal-content-gap);padding:16px}body.student-portal-page .library-edit-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}@media (max-width:800px){body.student-portal-page .library-toolbar{grid-template-columns:1fr 1fr}body.student-portal-page .library-toolbar label:first-child{grid-column:1/-1}body.student-portal-page .library-toolbar .library-my-words-filter{justify-content:flex-start}body.student-portal-page .library-pagination{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);justify-content:stretch}body.student-portal-page .library-pagination > span{grid-column:2;grid-row:1;text-align:center}body.student-portal-page .library-pagination > .portal-button:first-of-type{grid-column:1}body.student-portal-page .library-pagination > .portal-button:last-of-type{grid-column:3}body.student-portal-page .library-pagination > .portal-button{inline-size:min(100%,160px);max-inline-size:none;min-inline-size:0}}
body.student-portal-page .new-words-add-actions,body.student-portal-page .new-words-pagination,
body.student-portal-page .new-words-save-actions{align-items:center;display:flex;gap:8px;justify-content:center;margin-top:12px}body.student-portal-page .new-words-save-actions{flex-wrap:wrap;justify-content:flex-start}body.student-portal-page .new-words-save-actions .portal-button{flex:1 1 180px;inline-size:auto;min-width:0}@media (max-width:560px){body.student-portal-page .new-words-save-actions .portal-button{flex-basis:100%}}
body.student-portal-page .new-words-add-actions .portal-button,body.student-portal-page .new-words-pagination .portal-button{flex:0 0 auto;inline-size:auto;min-width:0;width:auto}body.student-portal-page .new-words-add-actions{flex-wrap:wrap;justify-content:flex-end}body.student-portal-page .new-words-back-top{background:var(--portal-surface-card);border:1px solid var(--portal-border);border-radius:999px;bottom:16px;color:var(--portal-text);font-size:12px;font-weight:800;padding:8px 12px;position:fixed;right:16px;text-decoration:none;z-index:20}body.student-portal-page .news-vocabulary-rows{display:grid;gap:var(--portal-content-gap)}body.student-portal-page .vocabulary-edit-surface{min-width:0}body.student-portal-page .news-vocabulary-row{align-items:start;background:var(--portal-surface-card);border:1px solid var(--portal-border-strong);border-radius:var(--radius-2);box-sizing:border-box;display:grid;gap:8px;grid-template-columns:max-content minmax(160px,1.25fr) minmax(160px,1.25fr) minmax(180px,1.5fr);min-width:0;padding:var(--portal-content-gap);width:100%}body.student-portal-page .news-vocabulary-row > :is(input, select, textarea){min-width:0}body.student-portal-page .news-vocabulary-row > :is(input, select){box-sizing:border-box;font-size:1rem;min-height:48px;padding:12px 14px;width:100%}body.student-portal-page .news-vocabulary-row > [data-vocabulary-field="partOfSpeech"]{grid-column:1}body.student-portal-page .news-vocabulary-row > [data-vocabulary-field="english"]{grid-column:2}body.student-portal-page .news-vocabulary-row > [data-vocabulary-field="vietnamese"]{grid-column:3}body.student-portal-page .news-vocabulary-row > [data-vocabulary-field="syllabication"]{grid-column:4}body.student-portal-page .news-vocabulary-row > .vocabulary-etymology-fields{display:flex;flex-wrap:wrap;gap:12px;grid-column:1/-1;min-width:0}body.student-portal-page .vocabulary-etymology-fields .vocabulary-pos-control{flex:1 1 22ch;max-inline-size:27.5ch}body.student-portal-page .vocabulary-etymology-fields input,
body.student-portal-page .vocabulary-etymology-fields select{box-sizing:border-box;font-size:1rem;min-height:48px;min-width:0;padding:12px 14px;width:100%}body.student-portal-page .vocabulary-origin-help{flex:1 1 100%;margin:0}body.student-portal-page .news-vocabulary-row > .field-validation-message{grid-column:1/-1}body.student-portal-page .vocabulary-pos-parameters{grid-column:1/-1;min-width:0}body.student-portal-page .vocabulary-pos-parameters[hidden],
body.student-portal-page .vocabulary-verb-forms[hidden]{display:none}body.student-portal-page .vocabulary-pos-controls{align-items:end;display:flex;flex-wrap:wrap;gap:12px;inline-size:100%;justify-content:flex-start;max-inline-size:none}body.student-portal-page .vocabulary-pos-control{display:grid;flex:1 1 22ch;gap:3px;max-inline-size:27.5ch;min-inline-size:0}body.student-portal-page .vocabulary-pos-control select{inline-size:100%;max-inline-size:27.5ch}body.student-portal-page .vocabulary-verb-forms{display:grid;gap:8px;grid-template-columns:repeat(6,minmax(0,1fr));margin-block-start:8px;min-width:0}body.student-portal-page .vocabulary-verb-forms input{min-width:0}body.student-portal-page .news-vocabulary-row select[data-vocabulary-field="partOfSpeech"]{field-sizing:initial;inline-size:12ch;max-inline-size:12ch}body.student-portal-page .news-vocabulary-definition-row{align-items:start;display:grid;gap:8px;grid-column:1/-1;grid-template-columns:144px minmax(0,1fr) 28px}body.student-portal-page .news-vocabulary-lookups{display:grid;gap:0;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(4,48px) auto}body.student-portal-page .news-vocabulary-lookup{align-items:center;border-radius:0;display:inline-flex;font-size:11px;gap:2px;justify-content:center;min-height:48px;min-width:48px;padding:4px}body.student-portal-page .vocabulary-et-message{align-self:center;grid-column:1/-1;grid-row:5;margin:0}body.student-portal-page .news-vocabulary-definition-row textarea{block-size:48px;box-sizing:border-box;font-family:B612 Mono,monospace;font-size:1rem;letter-spacing:normal;line-height:1.45;margin:0;min-block-size:48px;min-height:0;min-width:0;overflow-y:hidden;resize:vertical;width:100%}body.student-portal-page .news-vocabulary-row-dots{align-items:center;color:inherit;display:inline-flex;font-size:1.2rem;justify-content:center;line-height:1;min-height:48px;transform:translateY(-1px)}body.student-portal-page .news-vocabulary-row-menu{align-self:start;justify-self:end;min-inline-size:28px;position:relative}body.student-portal-page .news-vocabulary-row-menu > summary{align-items:center;background:transparent!important;border:0!important;box-shadow:none!important;color:inherit;cursor:pointer;display:inline-flex;font-size:1.2rem;justify-content:center;line-height:1;list-style:none;min-block-size:48px;min-inline-size:28px;padding:0;transform:translateY(-1px)}body.student-portal-page .news-vocabulary-row-menu > summary::-webkit-details-marker{display:none}body.student-portal-page .news-vocabulary-row-menu-panel{background:var(--portal-surface-card);border:1px solid var(--portal-border);border-radius:var(--radius-2);display:grid;gap:4px;inset-block-start:calc(100% - 4px);inset-inline-end:0;min-inline-size:116px;padding:6px;position:absolute;z-index:12}body.student-portal-page .news-vocabulary-row-menu-panel .portal-button{inline-size:100%;max-inline-size:none;min-inline-size:0}body.student-portal-page .news-vocabulary-row .news-vocabulary-remove{grid-column:1/-1;justify-self:start}
body.student-portal-page #newsWeekSetModal .news-review-vocabulary > .portal-button,body.student-portal-page .news-vocabulary-field > .portal-button{justify-self:end}@media (max-width:820px){
  body.parent-portal-page #newsWeekSetModal .queue-modal-header,body.student-portal-page #newsWeekSetModal .queue-modal-header{align-items:center;flex-direction:row}
  body.parent-portal-page #newsWeekSetModal .queue-modal-nav,
  body.student-portal-page #newsWeekSetModal .news-week-set-modal-nav,body.student-portal-page #newsWeekSetModal .queue-modal-nav{flex-wrap:nowrap;justify-content:flex-start;width:auto}}@media (max-width:640px){body.student-portal-page .news-vocabulary-row{grid-template-columns:repeat(2,minmax(0,1fr))}body.student-portal-page .news-vocabulary-row > [data-vocabulary-field]{grid-column:auto}body.student-portal-page .new-words-intro-body{grid-template-columns:minmax(0,1fr) minmax(80px,100px)}body.student-portal-page .new-words-tools{align-items:stretch;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body.student-portal-page .new-words-tools .hint{grid-column:1/-1;text-align:left}body.student-portal-page .news-vocabulary-definition-row{grid-template-columns:144px minmax(0,1fr)}body.student-portal-page .vocabulary-pos-controls{max-inline-size:100%}body.student-portal-page .vocabulary-pos-control{flex:1 1 15ch;max-inline-size:none}body.student-portal-page .vocabulary-pos-control select{max-inline-size:none}body.parent-portal-page #newsWeekSetModal .news-review-vocabulary-row,body.student-portal-page #newsWeekSetModal .news-review-vocabulary-row,body.student-portal-page .vocabulary-verb-forms{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.parent-portal-page #newsWeekSetModal .queue-modal-header,body.student-portal-page #newsWeekSetModal .queue-modal-header{gap:10px;padding:12px 14px}
  body.parent-portal-page #newsWeekSetModal .queue-modal-nav,
  body.student-portal-page #newsWeekSetModal .news-week-set-modal-nav,body.student-portal-page #newsWeekSetModal .queue-modal-nav{gap:6px}
  body.parent-portal-page #newsWeekSetModal .queue-modal-nav > strong,
  body.student-portal-page #newsWeekSetModal .news-week-set-modal-nav > strong,body.student-portal-page #newsWeekSetModal .queue-modal-nav > strong{font-size:15px}
  body.parent-portal-page #newsWeekSetModal #closeNewsWeekSetModalBtn,body.student-portal-page #newsWeekSetModal #closeNewsWeekSetModalBtn{margin-inline-start:10px;min-height:48px;min-width:132px;padding-inline:22px}}@media (max-width:420px){body.student-portal-page .new-words-intro-body,body.student-portal-page .news-vocabulary-row{grid-template-columns:1fr}body.student-portal-page .new-words-intro-body .new-words-intro-illustration{justify-self:end;max-width:100px}body.student-portal-page .news-vocabulary-definition-row{grid-template-columns:1fr}body.student-portal-page .news-vocabulary-definition-row textarea{block-size:48px}body.student-portal-page .news-vocabulary-lookups{grid-template-columns:repeat(3,48px)}body.parent-portal-page #newsWeekSetModal .news-review-vocabulary-row,body.student-portal-page #newsWeekSetModal .news-review-vocabulary-row{grid-template-columns:1fr}}
body.parent-portal-page .toolbar,body.student-portal-page .toolbar{display:grid;gap:10px;margin-bottom:12px;min-width:0}
body.parent-portal-page .toolbar-actions,body.student-portal-page .toolbar-actions{align-items:center;display:grid;gap:8px}body.student-portal-page .toolbar-actions{grid-template-columns:repeat(2,minmax(0,1fr))}body.parent-portal-page .toolbar-actions{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}body.admin-portal-page .news-review-viewer-actions,
body.button-chip-proof-page .proof-container-surface,
body.button-chip-proof-page .proof-distinct-row,
body.button-chip-proof-page .proof-inline-row,
body.button-chip-proof-page .proof-state-row,
body.button-chip-proof-page .proof-tooltip-surface,
body.portal-hub-page .hub-prefooter__links{align-items:center;display:flex;flex-wrap:wrap;gap:8px 10px;justify-content:flex-start}
body.parent-portal-page .identity-value,body.student-portal-page .identity-value{font-size:14px;font-weight:700;line-height:1.25;word-break:break-word}
body.parent-portal-page :is(#loginCard, #portalCard, #portalDetailCard, #childPageCard),body.student-portal-page :is(#loginPanel, #appPanel){zoom:var(--portal-text-zoom)}body.student-portal-page #appPanel{align-content:start;display:grid;gap:12px;min-width:0}body.parent-portal-page .card{margin-top:10px;min-width:0}
html[data-theme="light"] body.parent-portal-page .metric.portal-theme-card,html[data-theme="light"] body.student-portal-page .metric.portal-theme-card{align-content:center;background:linear-gradient(180deg,var(--metric-bg-start,var(--portal-status-neutral-bg)) 0,var(--metric-bg-end,#fbfdff) 100%);border:solid var(--metric-border,var(--portal-status-neutral-border));border-radius:10px;border-width:2px 2px 5px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.5),0 8px 18px rgba(19,35,61,.08);box-sizing:border-box;display:grid;gap:4px;min-height:72px;min-width:0;overflow:hidden;padding:8px;place-items:center;position:relative;text-align:center}
html[data-theme="light"] body.parent-portal-page .metric.portal-theme-card::before,html[data-theme="light"] body.student-portal-page .metric.portal-theme-card::before{background:linear-gradient(135deg,var(--metric-accent-soft,rgba(128,152,190,.12)),transparent 72%);content:"";inset:0;pointer-events:none;position:absolute}
html[data-theme="light"] body.parent-portal-page .metric.portal-theme-card::after,html[data-theme="light"] body.student-portal-page .metric.portal-theme-card::after{background:var(--metric-accent,var(--portal-border-strong));content:"";height:3px;inset-block-start:0;inset-inline:0;pointer-events:none;position:absolute}
html[data-theme="light"] body.parent-portal-page .metric.portal-theme-card > *,html[data-theme="light"] body.student-portal-page .metric.portal-theme-card > *{position:relative;z-index:1}
html[data-theme="light"] body.parent-portal-page .metric.portal-theme-card .k,
html[data-theme="light"] body.parent-portal-page .metric.portal-theme-card .v,html[data-theme="light"] body.student-portal-page .metric.portal-theme-card .k,
html[data-theme="light"] body.student-portal-page .metric.portal-theme-card .v{color:var(--metric-text,var(--portal-text))}html[data-theme="light"] body:is(.student-portal-page, .parent-portal-page) .metric.portal-theme-card:is(.metric-good, .metric-green){--metric-accent:#349f61;--metric-accent-soft:rgba(144,211,173,.18);--metric-bg-end:#fbfffc;--metric-bg-start:var(--portal-status-good-bg);--metric-border:#349f61;--metric-text:var(--portal-status-good-text)}html[data-theme="light"] body:is(.student-portal-page, .parent-portal-page) .metric.portal-theme-card:is(.metric-warn, .metric-blue){--metric-accent:#2d66cb;--metric-accent-soft:rgba(106,164,255,.16);--metric-bg-end:#f8fbff;--metric-bg-start:var(--portal-status-info-bg);--metric-border:#2d66cb;--metric-text:var(--portal-status-info-text)}html[data-theme="light"] body:is(.student-portal-page, .parent-portal-page) .metric.portal-theme-card:is(.metric-bad, .metric-red){--metric-accent:#cc4452;--metric-accent-soft:rgba(242,138,149,.16);--metric-bg-end:#fff7f7;--metric-bg-start:var(--portal-status-bad-bg);--metric-border:#cc4452;--metric-text:var(--portal-status-bad-text)}html[data-theme="light"] body:is(.student-portal-page, .parent-portal-page) .metric.portal-theme-card.metric-purple{--metric-accent:#7d62d5;--metric-accent-soft:rgba(122,126,255,.16);--metric-bg-end:#f8f7ff;--metric-bg-start:var(--portal-status-peer-bg);--metric-border:#7d62d5;--metric-text:var(--portal-status-peer-text)}html[data-theme="light"] body:is(.student-portal-page, .parent-portal-page) .metric.portal-theme-card.metric-amber{--metric-accent:#d68a00;--metric-accent-soft:rgba(240,176,95,.18);--metric-bg-end:#fff8e6;--metric-bg-start:var(--portal-status-amber-bg);--metric-border:#d68a00;--metric-text:var(--portal-status-amber-text)}body.parent-portal-page .homework-card{background:var(--portal-surface-panel);border:1px solid var(--portal-border);border-radius:var(--radius-3);margin-top:10px}
body.parent-portal-page .quick-links,body.student-portal-page .quick-links{display:grid;gap:8px;grid-template-columns:1fr;margin-top:8px}
body.admin-portal-page a.btn-delete,
body.admin-portal-page a.btn-edit,
body.admin-portal-page a.btn-refresh,
body.admin-portal-page button.btn-delete,
body.admin-portal-page button.btn-edit,body.admin-portal-page button.btn-refresh{align-items:center;border-radius:var(--portal-radius-button);box-sizing:border-box;display:inline-flex;flex:0 0 auto;font-size:var(--portal-button-font-size);font-weight:var(--portal-button-font-weight);gap:var(--portal-button-gap);justify-content:center;line-height:var(--portal-button-line-height);min-height:var(--portal-button-min-block);min-width:0;padding:0 var(--portal-button-inline-padding);text-align:center;text-decoration:none;user-select:none;vertical-align:middle;white-space:nowrap}
body.admin-portal-page a.btn-refresh,body.admin-portal-page button.btn-refresh{background:var(--portal-button-teal-fill);border-color:var(--portal-button-teal-stroke);color:var(--portal-button-teal-ink)}
body.admin-portal-page a.btn-edit,body.admin-portal-page button.btn-edit{background:var(--portal-button-green-fill);border-color:var(--portal-button-green-stroke);color:var(--portal-button-green-ink)}
body.admin-portal-page a.btn-delete,body.admin-portal-page button.btn-delete{background:var(--portal-button-red-fill);border-color:var(--portal-button-red-stroke);color:var(--portal-button-red-ink)}
body.admin-portal-page a.btn-refresh:focus-visible,
body.admin-portal-page a.btn-refresh:hover,
body.admin-portal-page button.btn-refresh:focus-visible,body.admin-portal-page button.btn-refresh:hover:not(:disabled){background:var(--portal-button-teal-fill-hover);border-color:var(--portal-button-teal-stroke-hover);box-shadow:var(--portal-button-shadow-hover);color:var(--portal-button-teal-ink);outline:none;transform:translateY(-1px)}
body.admin-portal-page a.btn-edit:focus-visible,
body.admin-portal-page a.btn-edit:hover,
body.admin-portal-page button.btn-edit:focus-visible,body.admin-portal-page button.btn-edit:hover:not(:disabled){background:var(--portal-button-green-fill-hover);border-color:var(--portal-button-green-stroke-hover);box-shadow:var(--portal-button-shadow-hover);color:var(--portal-button-green-ink);outline:none;transform:translateY(-1px)}
body.admin-portal-page a.btn-delete:focus-visible,
body.admin-portal-page a.btn-delete:hover,
body.admin-portal-page button.btn-delete:focus-visible,body.admin-portal-page button.btn-delete:hover:not(:disabled){background:var(--portal-button-red-fill-hover);border-color:var(--portal-button-red-stroke-hover);box-shadow:var(--portal-button-shadow-hover);color:var(--portal-button-red-ink);outline:none;transform:translateY(-1px)}
body.admin-portal-page a.btn-delete:active,
body.admin-portal-page a.btn-edit:active,
body.admin-portal-page a.btn-refresh:active,
body.admin-portal-page button.btn-delete:active:not(:disabled),
body.admin-portal-page button.btn-edit:active:not(:disabled),body.admin-portal-page button.btn-refresh:active:not(:disabled){box-shadow:var(--portal-button-shadow-active);transform:translateY(1px)}
body.parent-portal-page .homework-modal-btn,body.student-portal-page .homework-modal-btn{--portal-button-inline-padding:11px;--portal-button-min-block:36px;justify-self:start}
body.parent-portal-page .quick-link-select,body.student-portal-page .quick-link-select{background:var(--portal-surface-support);border:1px solid var(--portal-border);border-radius:var(--radius-2);box-sizing:border-box;display:grid;font-size:clamp(.95rem,.25vw + .9rem,1.08rem);gap:6px;min-height:46px;padding:10px 12px}
body.parent-portal-page .quick-link-select__label,body.student-portal-page .quick-link-select__label{color:var(--portal-text-soft);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
body.parent-portal-page .quick-link-select select,body.student-portal-page .quick-link-select select{background:transparent;border:0;border-radius:0;color:inherit;font-size:clamp(1rem,.35vw + .95rem,1.16rem);line-height:1.25;min-height:0;padding:0;width:100%}
body.parent-portal-page .portal-action-strip,body.student-portal-page .portal-action-strip{align-items:center;display:grid;gap:10px;margin-top:10px}body.parent-portal-page #quickLinksPanel{margin-bottom:2px;margin-top:0;padding:4px 8px}
body.parent-portal-page .portal-action-strip__actions,body.student-portal-page .portal-action-strip__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}body.parent-portal-page .portal-action-strip__actions{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;margin-bottom:1.25rem;width:100%}
body.parent-portal-page .portal-action-strip--card,body.portal-hub-page .portal-action-strip--card,
body.student-portal-page .portal-action-strip--card{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;margin:12px 0;padding:10px 12px;width:100%}
body.parent-portal-page .portal-action-strip--card .portal-action-strip__actions,body.portal-hub-page .portal-action-strip--card .portal-action-strip__actions,
body.student-portal-page .portal-action-strip--card .portal-action-strip__actions{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;margin-bottom:0;width:100%}
body.parent-portal-page .portal-action-strip--card .portal-action-strip__actions > :is(button, a).portal-action-btn,body.portal-hub-page .portal-action-strip--card .portal-action-strip__actions > :is(button, a).portal-action-btn,
body.student-portal-page .portal-action-strip--card .portal-action-strip__actions > :is(button, a).portal-action-btn{width:100%}@media (max-width:719px){
  body.parent-portal-page .portal-action-strip--card .portal-action-strip__actions,body.portal-hub-page .portal-action-strip--card .portal-action-strip__actions,
  body.student-portal-page .portal-action-strip--card .portal-action-strip__actions{grid-template-columns:1fr}}@media (min-width:1000px){body.parent-portal-page .portal-action-strip__actions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:999px){body.parent-portal-page .portal-action-strip__actions{grid-template-columns:1fr}}
body.parent-portal-page :is(button, a).portal-action-btn,body.portal-hub-page :is(button, a).portal-action-btn,
body.student-portal-page :is(button, a).portal-action-btn{--portal-action-btn-fill:var(--portal-action-utility-fill);--portal-action-btn-fill-active:var(--portal-action-utility-fill-active);--portal-action-btn-fill-hover:var(--portal-action-utility-fill-hover);--portal-action-btn-ink:var(--portal-action-utility-ink);--portal-action-btn-stroke:var(--portal-action-utility-stroke);--portal-action-btn-stroke-active:var(--portal-action-utility-stroke-active);--portal-action-btn-stroke-hover:var(--portal-action-utility-stroke-hover);align-items:center;background:var(--portal-action-btn-fill);border-color:var(--portal-action-btn-stroke);border-radius:11px;border-style:solid;border-width:1px;box-shadow:0 10px 22px rgba(19,35,61,.14);color:var(--portal-action-btn-ink);display:inline-flex;flex:0 1 clamp(136px,12vw,172px);font-size:13px;font-weight:800;justify-content:center;letter-spacing:.01em;min-height:48px;padding:10px 16px;text-align:center;text-decoration:none;transition:background-color .14s ease,box-shadow .14s ease,transform .14s ease,border-color .14s ease,color .14s ease;white-space:nowrap}
body.parent-portal-page :is(button, a).portal-action-btn,body.portal-hub-page :is(button, a).portal-action-btn{flex:0 1 clamp(136px,12vw,172px)}
body.parent-portal-page :is(button, a).portal-action-btn:focus-visible,
body.parent-portal-page :is(button, a).portal-action-btn:hover:not(:disabled),
body.portal-hub-page :is(button, a).portal-action-btn:focus-visible,body.portal-hub-page :is(button, a).portal-action-btn:hover:not(:disabled),
body.student-portal-page :is(button, a).portal-action-btn:focus-visible,
body.student-portal-page :is(button, a).portal-action-btn:hover:not(:disabled){background:var(--portal-action-btn-fill-hover);border-color:var(--portal-action-btn-stroke-hover);box-shadow:0 12px 24px rgba(17,29,51,.2);color:var(--portal-action-btn-ink);outline:none;transform:translateY(-1px)}
body.parent-portal-page :is(button, a).portal-action-btn:active:not(:disabled),body.portal-hub-page :is(button, a).portal-action-btn:active:not(:disabled),
body.student-portal-page :is(button, a).portal-action-btn:active:not(:disabled){background:var(--portal-action-btn-fill-active);border-color:var(--portal-action-btn-stroke-active);box-shadow:0 8px 16px rgba(17,29,51,.12);transform:translateY(0)}
body.parent-portal-page :is(button, a).portal-action-btn:disabled,body.portal-hub-page :is(button, a).portal-action-btn:disabled,
body.student-portal-page :is(button, a).portal-action-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.64;transform:none}
body.parent-portal-page :is(button, a).portal-action-btn.portal-action-btn--brand,body.portal-hub-page :is(button, a).portal-action-btn.portal-action-btn--brand,
body.student-portal-page :is(button, a).portal-action-btn.portal-action-btn--brand{--portal-action-btn-fill:linear-gradient(180deg,var(--portal-action-blue-top) 0%,var(--portal-action-blue-bottom) 100%);--portal-action-btn-fill-active:linear-gradient(180deg,var(--portal-action-blue-top-active) 0%,var(--portal-action-blue-bottom-active) 100%);--portal-action-btn-fill-hover:linear-gradient(180deg,var(--portal-action-blue-top-hover) 0%,var(--portal-action-blue-bottom-hover) 100%);--portal-action-btn-ink:var(--portal-action-blue-text);--portal-action-btn-stroke:var(--portal-action-blue-border);--portal-action-btn-stroke-active:var(--portal-action-blue-border-active);--portal-action-btn-stroke-hover:var(--portal-action-blue-border-hover)}
body.parent-portal-page :is(button, a).portal-action-btn.portal-action-btn--utility,body.portal-hub-page :is(button, a).portal-action-btn.portal-action-btn--utility,
body.student-portal-page :is(button, a).portal-action-btn.portal-action-btn--utility{--portal-action-btn-fill:var(--portal-action-utility-fill);--portal-action-btn-fill-active:var(--portal-action-utility-fill-active);--portal-action-btn-fill-hover:var(--portal-action-utility-fill-hover);--portal-action-btn-ink:var(--portal-action-utility-ink);--portal-action-btn-stroke:var(--portal-action-utility-stroke);--portal-action-btn-stroke-active:var(--portal-action-utility-stroke-active);--portal-action-btn-stroke-hover:var(--portal-action-utility-stroke-hover)}body.portal-hub-page .hub-prefooter__links{flex-wrap:wrap;justify-content:flex-start;width:100%}@media (max-width:639px){body.portal-hub-page .hub-prefooter__links{align-items:flex-start;flex-direction:column;width:auto}body.portal-hub-page .hub-prefooter__links :is(button, a).portal-action-btn{flex:0 0 auto;inline-size:fit-content;max-inline-size:100%}}
body.parent-portal-page :is(button, a).portal-action-btn.portal-action-btn--success,body.student-portal-page :is(button, a).portal-action-btn.portal-action-btn--success{--portal-action-btn-fill:linear-gradient(180deg,var(--portal-action-green-top) 0%,var(--portal-action-green-bottom) 100%);--portal-action-btn-fill-active:linear-gradient(180deg,color-mix(in srgb,var(--portal-action-green-top) 78%,#000 22%) 0%,color-mix(in srgb,var(--portal-action-green-bottom) 78%,#000 22%) 100%);--portal-action-btn-fill-hover:linear-gradient(180deg,color-mix(in srgb,var(--portal-action-green-top) 88%,#fff 12%) 0%,color-mix(in srgb,var(--portal-action-green-bottom) 88%,#fff 12%) 100%);--portal-action-btn-ink:var(--portal-action-secondary-text);--portal-action-btn-stroke:var(--portal-action-green-border);--portal-action-btn-stroke-active:color-mix(in srgb,var(--portal-action-green-border) 82%,#000 18%);--portal-action-btn-stroke-hover:color-mix(in srgb,var(--portal-action-green-border) 84%,#fff 16%)}
body.parent-portal-page :is(button, a).portal-action-btn.portal-action-btn--danger,body.student-portal-page :is(button, a).portal-action-btn.portal-action-btn--danger{--portal-action-btn-fill:linear-gradient(180deg,var(--portal-action-red-top) 0%,var(--portal-action-red-bottom) 100%);--portal-action-btn-fill-active:linear-gradient(180deg,color-mix(in srgb,var(--portal-action-red-top) 80%,#000 20%) 0%,color-mix(in srgb,var(--portal-action-red-bottom) 80%,#000 20%) 100%);--portal-action-btn-fill-hover:linear-gradient(180deg,color-mix(in srgb,var(--portal-action-red-top) 88%,#fff 12%) 0%,color-mix(in srgb,var(--portal-action-red-bottom) 88%,#fff 12%) 100%);--portal-action-btn-ink:var(--portal-action-red-text);--portal-action-btn-stroke:var(--portal-action-red-border);--portal-action-btn-stroke-active:color-mix(in srgb,var(--portal-action-red-border) 82%,#000 18%);--portal-action-btn-stroke-hover:color-mix(in srgb,var(--portal-action-red-border) 84%,#fff 16%)}body.parent-portal-page .homework-card-shell{align-items:stretch}body.parent-portal-page .homework-link{color:#174f92;font-size:clamp(12px,2.8vw,14px);font-weight:700;line-height:1.35;min-width:0;overflow-wrap:anywhere;text-decoration:underline;text-decoration-thickness:1.2px;text-underline-offset:2px}
body.parent-portal-page .quick-link,body.student-portal-page .quick-link{align-items:center;background:var(--portal-control-surface);border:1px solid var(--portal-control-border);border-radius:var(--radius-2);color:var(--portal-control-text);display:inline-flex;font-size:13px;font-weight:700;justify-content:center;min-height:42px;padding:9px 12px;text-align:center;text-decoration:none}
body.parent-portal-page .quick-link:focus-visible,
body.parent-portal-page .quick-link:hover,
body.student-portal-page .quick-link:focus-visible,body.student-portal-page .quick-link:hover{background:var(--portal-control-surface-hover);border-color:var(--portal-quick-link-hover-border);outline:none}
body.parent-portal-page button.quick-link:hover:not(:disabled),body.student-portal-page button.quick-link:hover:not(:disabled){box-shadow:none;transform:none}body.parent-portal-page .detail-item{background:var(--portal-surface-card);border:1px solid var(--portal-border);border-radius:var(--radius-2);display:grid;gap:6px;padding:10px}body.parent-portal-page .detail-empty{background:#f8fbff;border:1px dashed var(--line);border-radius:10px;color:var(--ink-soft);font-size:13px;line-height:1.45;padding:12px}html[data-theme="dark"] body.parent-portal-page .calendar-empty,
html[data-theme="dark"] body.parent-portal-page .detail-empty,
html[data-theme="dark"] body.student-portal-page .calendar-empty,
html[data-theme="dark"] body.student-portal-page .detail-empty{background:var(--portal-dark-surface-support);border-color:var(--portal-dark-border-strong);color:var(--portal-dark-text-soft)}@media (max-width:399px){
  body.parent-portal-page .identity-list,
  body.parent-portal-page .metrics,
  body.parent-portal-page .report-metrics,
  body.student-portal-page .detail-metrics,
  body.student-portal-page .identity-list,body.student-portal-page .metrics{grid-template-columns:1fr}}@media (min-width:720px){
  body.parent-portal-page .identity-list,body.student-portal-page .identity-list{grid-template-columns:repeat(4,minmax(0,1fr))}body.parent-portal-page .grade-quarter-stats,body.parent-portal-page .metrics,body.parent-portal-page .report-metrics,body.student-portal-page .detail-metrics,body.student-portal-page .grade-quarter-stats,body.student-portal-page .metrics{grid-template-columns:repeat(3,minmax(0,1fr))}body.parent-portal-page #overviewPanel{align-items:end;grid-template-columns:minmax(0,1fr) auto;overflow:clip}body.parent-portal-page #overviewPanel .toolbar-actions{display:flex}
  body.parent-portal-page .portal-action-strip,body.student-portal-page .portal-action-strip{grid-template-columns:minmax(260px,420px) minmax(0,1fr)}}@media (min-width:1000px){
  body.parent-portal-page .quick-links,body.student-portal-page .quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.parent-portal-page .metrics,body.student-portal-page .metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.parent-portal-page .report-metrics,body.student-portal-page .detail-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
  body.parent-portal-page .portal-col,body.student-portal-page .portal-col{grid-template-columns:repeat(2,minmax(0,1fr))}body.parent-portal-page #identityPanel{position:relative}body.parent-portal-page #identityPanel>.section-head{min-width:0;padding-right:0}body.parent-portal-page #identityPanel>#studentIdentity{margin-bottom:0}body.parent-portal-page #identityPanel>.identity-list{margin-top:10px}body.parent-portal-page #identityPanel>#quickLinksPanel{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;margin:12px 0;padding:10px 12px;width:100%}body.parent-portal-page #identityPanel>#quickLinksPanel .quick-link-select{width:100%}body.parent-portal-page #overviewPanel,
  body.parent-portal-page #portalStatus{grid-column:1/-1}
  body.parent-portal-page #currentHomeworkCard,body.parent-portal-page #identityPanel,
  body.parent-portal-page #pastDueHomeworkCard,
  body.parent-portal-page #performanceReportsCard,
  body.parent-portal-page #recommendationsCard{grid-column:1}
  body.parent-portal-page #attendanceCalendarCard,
  body.parent-portal-page #gradesYtdCard,body.parent-portal-page #metricsPanel,
  body.parent-portal-page #newsQueueCard{grid-column:2}}body.parent-portal-page .report-head-card{background:var(--portal-surface-card)!important;border:1px solid var(--portal-border)!important;border-inline-start:4px solid var(--portal-border-strong)!important}body.parent-portal-page .report-modal-body{background:var(--portal-surface-panel);border:1px solid var(--portal-border);border-radius:12px;box-sizing:border-box;padding:14px}body.parent-portal-page .report-archive-item,body.parent-portal-page .report-grade-card{background:var(--portal-surface-card)!important;border:1px solid var(--portal-border)!important}body.parent-portal-page .report-archive-item{border-inline-start:4px solid var(--brand-2)!important}body.parent-portal-page .report-archive-link{color:var(--portal-login-link)!important}
body.parent-portal-page .report-band h5,
body.parent-portal-page .report-block h5,
body.parent-portal-page .report-grade-block h5,body.parent-portal-page .report-head-card h5{color:var(--portal-text-soft)!important;font-size:11px;font-weight:800;letter-spacing:.04em;margin:0;text-transform:uppercase}body.parent-portal-page .report-band{background:var(--portal-surface-panel)!important;border:1px solid var(--portal-border)!important;border-inline-start:5px solid var(--portal-border-strong)!important}
body.parent-portal-page .report-band-table td,body.parent-portal-page .report-band-table th{border-top:1px solid var(--portal-border)!important}body.parent-portal-page .report-band-table th{color:var(--portal-text-soft)!important}body.parent-portal-page .report-band-table td,body.parent-portal-page .report-band-table td:nth-child(2){color:var(--portal-text)!important}body.parent-portal-page .report-grade-block{background:var(--portal-surface-card)!important;border:1px solid var(--portal-border)!important}body.parent-portal-page .report-band.is-ok{border-inline-start-color:var(--portal-status-good-border)}body.parent-portal-page .report-band.is-watch{border-inline-start-color:var(--portal-status-warn-border)}body.parent-portal-page .report-band.is-alert{border-inline-start-color:var(--portal-status-bad-border)}body.parent-portal-page .report-head-card{background:var(--portal-surface-card);border:1px solid var(--portal-border);border-left:4px solid var(--portal-border-strong);border-radius:10px;box-sizing:border-box;display:grid;gap:6px;padding:10px 12px}body.parent-portal-page .report-head-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}body.parent-portal-page .report-modal-nav{display:inline-flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}@media (max-width:900px){body.parent-portal-page .report-modal-body{grid-template-columns:1fr}}body.parent-portal-page .report-grade-card{background:var(--portal-surface-card);border:1px solid var(--portal-border);border-radius:10px;box-sizing:border-box;overflow:auto;padding:10px}body.parent-portal-page .report-homework-cards{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}body.parent-portal-page .report-homework-cards .homework-card{margin-top:0}body.parent-portal-page #performanceReportHomeworkBlock .homework-card-shell{grid-template-columns:92px minmax(0,1fr);padding:10px}body.parent-portal-page #performanceReportHomeworkBlock .homework-square{min-height:92px}body.parent-portal-page #performanceReportAttendanceMetrics{grid-template-columns:repeat(3,minmax(0,1fr))}body.parent-portal-page #performanceReportAttendanceMetrics .attendance-square{aspect-ratio:auto;min-height:84px}body.parent-portal-page #performanceReportAttendanceMetrics .attendance-square-v{font-size:clamp(26px,4.8vw,42px)}body.parent-portal-page .report-modal-body{align-items:start;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}body.parent-portal-page .report-modal-nav button{min-height:32px;min-width:54px;padding:4px 10px}body.parent-portal-page #newsWeekSetModal :where(input, textarea)[readonly]{background:var(--portal-surface-card);border-color:var(--portal-border);color:var(--portal-text);cursor:default}html[data-theme="dark"] body.parent-portal-page #newsWeekSetModal :where(input, textarea)[readonly]{background:var(--portal-dark-field-bg);border-color:var(--portal-dark-field-border);color:var(--portal-dark-field-text)}body.parent-portal-page .report-archive-list{display:grid;gap:10px;margin:0}body.parent-portal-page .report-archive-item{align-items:start;background:var(--portal-surface-card);border:1px solid var(--portal-border);border-inline-start:4px solid var(--brand-2);border-radius:10px;display:grid;gap:8px;min-height:96px;padding:12px 14px}body.parent-portal-page .report-archive-link{background:none;border:0;color:var(--portal-login-link);cursor:pointer;font-size:14px;font-weight:inherit;justify-self:start;padding:0;text-align:left;text-decoration:underline;text-underline-offset:2px}
html[data-theme="dark"] body.parent-portal-page .detail-item,
html[data-theme="dark"] body.parent-portal-page .homework-card-shell,
html[data-theme="dark"] body.parent-portal-page .metric,
html[data-theme="dark"] body.parent-portal-page .report-archive-item,
html[data-theme="dark"] body.parent-portal-page .report-grade-card,
html[data-theme="dark"] body.parent-portal-page .report-head-card,html[data-theme="dark"] body.parent-portal-page .toolbar{background:var(--portal-dark-surface-card);border-color:var(--portal-dark-border);color:var(--portal-dark-text)}html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .metric:is(.metric-good, .metric-warn, .metric-bad, .metric-green, .metric-blue, .metric-red, .metric-purple, .metric-amber){color:var(--portal-dark-text)}
html[data-theme="dark"] body.parent-portal-page .detail-item.warn .detail-link,html[data-theme="dark"] body.student-portal-page .detail-item.warn .detail-link{color:var(--portal-status-amber-bg)}html[data-theme="dark"] body.parent-portal-page .report-archive-link{color:var(--portal-dark-link)}html[data-theme="dark"] body.parent-portal-page .report-archive-link:active{color:var(--portal-dark-link-active)}body.parent-portal-page .report-head-value{font-size:13px;line-height:1.4;margin:0;word-break:break-word}body.parent-portal-page .report-head-card h5{font-weight:800}body.parent-portal-page .report-block h5,body.parent-portal-page .report-head-card h5{color:var(--portal-text-soft);font-size:11px;letter-spacing:.04em;margin:0;text-transform:uppercase}body.parent-portal-page .report-grade-block h5{color:var(--portal-text-soft);font-size:12px;font-weight:800;letter-spacing:.03em;margin:0;text-transform:uppercase}body.parent-portal-page .report-bands{display:grid;gap:10px}body.parent-portal-page .report-band{background:var(--portal-surface-support);border:1px solid var(--portal-border);border-left:5px solid var(--portal-border-strong);border-radius:10px;display:grid;gap:8px;padding:10px 12px}body.parent-portal-page .report-band h5{color:var(--portal-text-soft);font-size:12px;font-weight:800;letter-spacing:.03em;margin:0;text-transform:uppercase}body.parent-portal-page .report-band-table{border-collapse:collapse;table-layout:fixed;width:100%}
body.parent-portal-page .report-band-table td,body.parent-portal-page .report-band-table th{border-top:1px solid var(--portal-border);padding:7px 8px;text-align:left;vertical-align:top}body.parent-portal-page .report-band-table th{color:var(--portal-text-soft);font-size:11px;font-weight:800;letter-spacing:.03em;margin:0;text-transform:uppercase}body.parent-portal-page .report-band-table td{color:var(--portal-text);font-size:12px;line-height:1.35}body.parent-portal-page .report-band-table td:nth-child(2){color:var(--portal-text-soft);font-weight:800;white-space:nowrap;width:18%}body.parent-portal-page .report-band-table td:nth-child(1){width:46%}body.parent-portal-page .report-band-table td:nth-child(3){width:36%}body.parent-portal-page .report-grade-block{background:var(--portal-surface-card);border:1px solid var(--portal-border);border-radius:10px;display:grid;gap:8px;padding:10px}body.parent-portal-page #performanceReportModal .portal-modal-dialog{box-sizing:border-box;max-height:calc(100vh - 20px);padding:14px;width:min(1120px,calc(100vw - 20px))}body.parent-portal-page .report-band.is-ok{border-left-color:var(--portal-status-good-border)}body.parent-portal-page .report-band.is-watch{border-left-color:var(--portal-status-warn-border)}body.parent-portal-page .report-band.is-alert{border-left-color:var(--portal-status-bad-border)}
body.parent-portal-page .dashboard-card-subtitle,body.parent-portal-page .report-archive-meta,
body.parent-portal-page .report-archive-status{color:var(--portal-text-soft);font-size:12px}body.parent-portal-page .dashboard-card-subtitle{margin:-2px 0 0}body.parent-portal-page .report-grades-table{min-height:170px}
body.parent-portal-page #performanceReportGradesTable table,body.parent-portal-page .report-grades-table table{background:var(--portal-surface-card)}body.parent-portal-page .report-grades-hint{color:var(--portal-text-soft);font-size:12px;margin:0}body.parent-portal-page .report-modal-ack{align-items:center;display:grid;gap:10px;grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}body.parent-portal-page .report-modal-ack button{min-height:42px;padding:10px 12px}body.parent-portal-page .report-modal-ack-status{color:var(--portal-status-good-text);font-size:13px;font-weight:700}body.parent-portal-page .report-modal-ack-status.is-reviewed{color:var(--portal-status-warn-text)}@media (max-width:520px){
  body.parent-portal-page #performanceReportAttendanceMetrics,body.parent-portal-page .report-head-grid,
  body.parent-portal-page .report-homework-cards{grid-template-columns:1fr}body.parent-portal-page .report-band-table,
  body.parent-portal-page .report-band-table tbody,
  body.parent-portal-page .report-band-table td,
  body.parent-portal-page .report-band-table tr{display:block;width:100%}body.parent-portal-page .report-band-table thead{display:none}body.parent-portal-page .report-band-table tr{border-top:1px solid var(--portal-border);padding-top:4px}body.parent-portal-page .report-band-table td{border-top:0;padding:4px 0}
  body.parent-portal-page .choice-group,body.student-portal-page .choice-group{gap:10px;padding:10px 12px}
  body.parent-portal-page .choice-option,body.student-portal-page .choice-option{gap:12px;min-height:44px;padding-block:6px;touch-action:manipulation}
  body.parent-portal-page .choice-option input[type="checkbox"],
  body.parent-portal-page .choice-option input[type="radio"],body.student-portal-page .choice-option input[type="checkbox"],
  body.student-portal-page .choice-option input[type="radio"]{height:22px;min-height:22px;width:22px}
  body.parent-portal-page select,body.student-portal-page select{min-height:48px;padding-block:12px;touch-action:manipulation}
  body.parent-portal-page .quick-link-select,body.student-portal-page .quick-link-select{gap:8px;min-height:52px;padding:12px 14px}
  body.parent-portal-page .quick-link-select select,body.student-portal-page .quick-link-select select{font-size:clamp(1.05rem,.45vw + 1rem,1.24rem);min-height:44px}}
html[data-theme="dark"] body.parent-portal-page .calendar-shell,html[data-theme="dark"] body.student-portal-page .calendar-shell{--fc-border-color:hsla(0,0%,100%,.16);--fc-event-bg-color:var(--portal-dark-surface-support);--fc-event-border-color:var(--portal-dark-border-strong);--fc-event-text-color:var(--portal-dark-text);--fc-neutral-bg-color:hsla(0,0%,100%,.02);--fc-page-bg-color:transparent;--fc-today-bg-color:rgba(106,164,255,.12);background:var(--portal-dark-surface-card);background-color:var(--portal-dark-panel-soft);border:1px solid var(--portal-dark-border-strong);border-radius:var(--portal-dark-radius);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.04);color:var(--portal-dark-text)}html[data-theme="dark"] body.parent-portal-page .calendar-shell .fc-col-header-cell-cushion,html[data-theme="dark"] body.parent-portal-page .calendar-shell .fc-daygrid-day-number,html[data-theme="dark"] body.parent-portal-page .calendar-shell .fc-toolbar-title,html[data-theme="dark"] body.student-portal-page .calendar-shell .fc-col-header-cell-cushion,html[data-theme="dark"] body.student-portal-page .calendar-shell .fc-daygrid-day-number,html[data-theme="dark"] body.student-portal-page .calendar-shell .fc-toolbar-title{color:var(--portal-dark-text)}
html[data-theme="dark"] body.parent-portal-page .calendar-shell .fc-col-header-cell-cushion,html[data-theme="dark"] body.student-portal-page .calendar-shell .fc-col-header-cell-cushion{color:rgba(242,244,247,.84)}
html[data-theme="dark"] body.parent-portal-page .calendar-shell .fc-daygrid-day-number,html[data-theme="dark"] body.student-portal-page .calendar-shell .fc-daygrid-day-number{font-weight:700}
html[data-theme="dark"] body.parent-portal-page .calendar-shell .fc-daygrid-day.fc-day-other .fc-daygrid-day-number,html[data-theme="dark"] body.student-portal-page .calendar-shell .fc-daygrid-day.fc-day-other .fc-daygrid-day-number{color:rgba(242,244,247,.58)}
html[data-theme="dark"] body.parent-portal-page .calendar-shell .fc-daygrid-day-frame,html[data-theme="dark"] body.student-portal-page .calendar-shell .fc-daygrid-day-frame{min-height:108px}
html[data-theme="dark"] body.parent-portal-page .calendar-shell .fc-daygrid-day,html[data-theme="dark"] body.student-portal-page .calendar-shell .fc-daygrid-day{background:hsla(0,0%,100%,.015)}
html[data-theme="dark"] body.parent-portal-page .calendar-shell .fc-daygrid-day.fc-day-today,html[data-theme="dark"] body.student-portal-page .calendar-shell .fc-daygrid-day.fc-day-today{background:rgba(106,164,255,.1)}
body.parent-portal-page .calendar-shell,body.student-portal-page .calendar-shell{min-height:480px;width:100%;--fc-border-color:#c9d6e6;--fc-button-active-bg-color:#7f1520;--fc-button-active-border-color:#6b1019;--fc-button-bg-color:#b50010;--fc-button-border-color:#8d0010;--fc-button-hover-bg-color:#92000d;--fc-button-hover-border-color:#76000a;--fc-event-text-color:#173b78;--fc-neutral-bg-color:#f6f9ff;--fc-page-bg-color:#fbffff;--fc-today-bg-color:rgba(24,67,135,.08)}
body.parent-portal-page .calendar-shell .fc-toolbar.fc-header-toolbar,body.student-portal-page .calendar-shell .fc-toolbar.fc-header-toolbar{gap:8px;margin-bottom:12px}
body.parent-portal-page .calendar-shell .fc-toolbar-title,body.student-portal-page .calendar-shell .fc-toolbar-title{color:#163767;font-size:clamp(1rem,3vw,1.2rem);line-height:1.2}
body.parent-portal-page .calendar-shell .fc-button-primary,body.student-portal-page .calendar-shell .fc-button-primary{border-radius:var(--radius-2);box-shadow:none;font-weight:700;letter-spacing:.01em;text-transform:none}
body.parent-portal-page .calendar-shell .fc-col-header-cell-cushion,
body.parent-portal-page .calendar-shell .fc-daygrid-day-number,
body.student-portal-page .calendar-shell .fc-col-header-cell-cushion,body.student-portal-page .calendar-shell .fc-daygrid-day-number{color:#163767;font-weight:700;text-decoration:none}
body.parent-portal-page .calendar-shell .fc-daygrid-day-number,body.student-portal-page .calendar-shell .fc-daygrid-day-number{font-size:clamp(1rem,1.7vw,1.14rem);line-height:1.1;padding:6px 8px 0}
body.parent-portal-page .calendar-shell .fc-col-header-cell-cushion,body.student-portal-page .calendar-shell .fc-col-header-cell-cushion{font-size:clamp(.82rem,1.3vw,.94rem);letter-spacing:.05em;line-height:1.15;padding:8px 4px;text-transform:uppercase}
body.parent-portal-page .calendar-shell .fc-daygrid-day-frame,body.student-portal-page .calendar-shell .fc-daygrid-day-frame{min-height:108px}
body.parent-portal-page .calendar-shell .fc-daygrid-day,body.student-portal-page .calendar-shell .fc-daygrid-day{background:hsla(0,0%,100%,.015)}
body.parent-portal-page .calendar-shell .fc-daygrid-day.fc-day-today,body.student-portal-page .calendar-shell .fc-daygrid-day.fc-day-today{background:rgba(24,67,135,.08)}
body.parent-portal-page .calendar-shell table tbody tr,body.student-portal-page .calendar-shell table tbody tr{transition:none}
body.parent-portal-page .calendar-shell table tbody tr:focus-within > :is(th, td),
body.parent-portal-page .calendar-shell table tbody tr:hover > :is(th, td),
body.student-portal-page .calendar-shell table tbody tr:focus-within > :is(th, td),body.student-portal-page .calendar-shell table tbody tr:hover > :is(th, td){background:transparent!important;box-shadow:none!important;transition:none!important}body.student-portal-page .calendar-shell .fc-daygrid-day.calendar-day-completed{background:#eefaf3;border-color:#8ccba9}body.student-portal-page .calendar-shell .fc-daygrid-day.calendar-day-blue,body.student-portal-page .calendar-shell .fc-daygrid-day.calendar-day-open{background:#e6f3ff;border-color:#4093d2}body.student-portal-page .calendar-shell .fc-daygrid-day.calendar-day-turquoise{background:#e1fbf9;border-color:#2ba39a}body.student-portal-page .calendar-shell .fc-daygrid-day.calendar-day-missed{background:#fff1f1;border-color:#e1a8a8}body.student-portal-page .calendar-shell .fc-daygrid-day.calendar-day-revise{background:#f3ecff;border-color:#a48ad8}body.student-portal-page .calendar-shell .fc-daygrid-day.calendar-day-alert{background:#fff5df;border-color:#e5ab34}
body.parent-portal-page .fc .fc-daygrid-event,body.student-portal-page .fc .fc-daygrid-event{border-radius:10px;margin-top:4px;padding:4px 6px;white-space:normal}
body.parent-portal-page .fc .fc-event-main,body.student-portal-page .fc .fc-event-main{font-size:.9rem;font-weight:700;line-height:1.2;white-space:normal}
body.parent-portal-page .fc .fc-event.fc-event-news-completed,body.student-portal-page .fc .fc-event.fc-event-news-completed{background:#eefaf3!important;border-color:#8ccba9!important;color:#195d3d!important}
body.parent-portal-page .fc .fc-event.fc-event-news-open,body.student-portal-page .fc .fc-event.fc-event-news-open{background:#e6f3ff!important;border-color:#4093d2!important;color:#0f4a73!important}
body.parent-portal-page .fc .fc-event.fc-event-news-open .fc-event-main,
body.parent-portal-page .fc .fc-event.fc-event-news-open .fc-event-time,
body.parent-portal-page .fc .fc-event.fc-event-news-open .fc-event-title,body.student-portal-page .fc .fc-event.fc-event-news-open .fc-event-main,
body.student-portal-page .fc .fc-event.fc-event-news-open .fc-event-time,
body.student-portal-page .fc .fc-event.fc-event-news-open .fc-event-title{color:#0f4a73!important}
body.parent-portal-page .fc .fc-event.fc-event-news-status-green,body.student-portal-page .fc .fc-event.fc-event-news-status-green{background:#e7f8ef!important;border-color:#36a66a!important;color:#0f4f30!important}
body.parent-portal-page .fc .fc-event.fc-event-news-status-green .fc-event-main,
body.parent-portal-page .fc .fc-event.fc-event-news-status-green .fc-event-time,
body.parent-portal-page .fc .fc-event.fc-event-news-status-green .fc-event-title,body.student-portal-page .fc .fc-event.fc-event-news-status-green .fc-event-main,
body.student-portal-page .fc .fc-event.fc-event-news-status-green .fc-event-time,
body.student-portal-page .fc .fc-event.fc-event-news-status-green .fc-event-title{color:#0f4f30!important}
body.parent-portal-page .fc .fc-event.fc-event-news-status-amber,body.student-portal-page .fc .fc-event.fc-event-news-status-amber{background:#fff4da!important;border-color:#d89d28!important;color:#5b3b00!important}
body.parent-portal-page .fc .fc-event.fc-event-news-status-amber .fc-event-main,
body.parent-portal-page .fc .fc-event.fc-event-news-status-amber .fc-event-time,
body.parent-portal-page .fc .fc-event.fc-event-news-status-amber .fc-event-title,body.student-portal-page .fc .fc-event.fc-event-news-status-amber .fc-event-main,
body.student-portal-page .fc .fc-event.fc-event-news-status-amber .fc-event-time,
body.student-portal-page .fc .fc-event.fc-event-news-status-amber .fc-event-title{color:#5b3b00!important}
body.parent-portal-page .fc .fc-event.fc-event-news-status-purple,body.student-portal-page .fc .fc-event.fc-event-news-status-purple{background:#f3ecff!important;border-color:#a48ad8!important;color:#422b7a!important}
body.parent-portal-page .fc .fc-event.fc-event-news-status-red,body.student-portal-page .fc .fc-event.fc-event-news-status-red{background:#ffe1e5!important;border-color:#d43b4e!important;color:#6d0d1a!important}
body.parent-portal-page .fc .fc-event.fc-event-news-status-red .fc-event-main,
body.parent-portal-page .fc .fc-event.fc-event-news-status-red .fc-event-time,
body.parent-portal-page .fc .fc-event.fc-event-news-status-red .fc-event-title,body.student-portal-page .fc .fc-event.fc-event-news-status-red .fc-event-main,
body.student-portal-page .fc .fc-event.fc-event-news-status-red .fc-event-time,
body.student-portal-page .fc .fc-event.fc-event-news-status-red .fc-event-title{color:#6d0d1a!important}
body.parent-portal-page .fc .fc-event.fc-event-news-status-blue,body.student-portal-page .fc .fc-event.fc-event-news-status-blue{background:#00b200!important;border-color:#4093d2!important;color:#0f4a73!important}
body.parent-portal-page .fc .fc-event.fc-event-news-status-blue.fc-event-past,body.student-portal-page .fc .fc-event.fc-event-news-status-blue.fc-event-past{--fc-event-text-color:#102a55;color:#102a55!important}
body.parent-portal-page .fc .fc-event.fc-event-news-status-blue.fc-event-past .fc-event-main,
body.parent-portal-page .fc .fc-event.fc-event-news-status-blue.fc-event-past .fc-event-time,
body.parent-portal-page .fc .fc-event.fc-event-news-status-blue.fc-event-past .fc-event-title,body.student-portal-page .fc .fc-event.fc-event-news-status-blue.fc-event-past .fc-event-main,
body.student-portal-page .fc .fc-event.fc-event-news-status-blue.fc-event-past .fc-event-time,
body.student-portal-page .fc .fc-event.fc-event-news-status-blue.fc-event-past .fc-event-title{color:#102a55!important}
body.parent-portal-page .fc .fc-event.fc-event-today,body.student-portal-page .fc .fc-event.fc-event-today{background:#e6f3ff!important;border-color:#4093d2!important;color:#0f4a73!important}
body.parent-portal-page .fc .fc-event.fc-event-today .fc-event-main,
body.parent-portal-page .fc .fc-event.fc-event-today .fc-event-time,
body.parent-portal-page .fc .fc-event.fc-event-today .fc-event-title,body.student-portal-page .fc .fc-event.fc-event-today .fc-event-main,
body.student-portal-page .fc .fc-event.fc-event-today .fc-event-time,
body.student-portal-page .fc .fc-event.fc-event-today .fc-event-title{color:#0f4a73!important}
body.parent-portal-page .fc .fc-event.fc-event-news-status-turquoise,body.student-portal-page .fc .fc-event.fc-event-news-status-turquoise{background:#e1fbf9!important;border-color:#2ba39a!important;color:#085852!important}
body.parent-portal-page .fc .fc-event.fc-event-news-status-revise,body.student-portal-page .fc .fc-event.fc-event-news-status-revise{background:#f3ecff!important;border-color:#a48ad8!important;color:#422b7a!important}
body.parent-portal-page .fc .fc-event.fc-event-news-status-revise .fc-event-main,
body.parent-portal-page .fc .fc-event.fc-event-news-status-revise .fc-event-time,
body.parent-portal-page .fc .fc-event.fc-event-news-status-revise .fc-event-title,body.student-portal-page .fc .fc-event.fc-event-news-status-revise .fc-event-main,
body.student-portal-page .fc .fc-event.fc-event-news-status-revise .fc-event-time,
body.student-portal-page .fc .fc-event.fc-event-news-status-revise .fc-event-title{color:#422b7a!important}body.parent-portal-page .fc .fc-event.fc-event-news-missed,body.parent-portal-page .fc .fc-event.fc-event-news-missed .fc-event-main,body.parent-portal-page .fc .fc-event.fc-event-news-missed .fc-event-time,body.parent-portal-page .fc .fc-event.fc-event-news-missed .fc-event-title,body.student-portal-page .fc .fc-event.fc-event-news-missed,body.student-portal-page .fc .fc-event.fc-event-news-missed .fc-event-main,body.student-portal-page .fc .fc-event.fc-event-news-missed .fc-event-time,body.student-portal-page .fc .fc-event.fc-event-news-missed .fc-event-title{color:#6d0d1a!important}
html[data-theme="dark"] body.parent-portal-page .fc .fc-event.fc-event-news-missed,html[data-theme="dark"] body.student-portal-page .fc .fc-event.fc-event-news-missed{background:rgba(255,107,129,.14)!important;border-color:rgba(255,107,129,.34)!important;color:#ffe3e6!important}
html[data-theme="dark"] body.parent-portal-page .fc .fc-event.fc-event-news-missed .fc-event-main,
html[data-theme="dark"] body.parent-portal-page .fc .fc-event.fc-event-news-missed .fc-event-time,
html[data-theme="dark"] body.parent-portal-page .fc .fc-event.fc-event-news-missed .fc-event-title,html[data-theme="dark"] body.student-portal-page .fc .fc-event.fc-event-news-missed .fc-event-main,
html[data-theme="dark"] body.student-portal-page .fc .fc-event.fc-event-news-missed .fc-event-time,
html[data-theme="dark"] body.student-portal-page .fc .fc-event.fc-event-news-missed .fc-event-title{color:#ffe3e6!important}
html[data-theme="dark"] body.parent-portal-page .fc .fc-event.fc-event-news-status-purple,html[data-theme="dark"] body.student-portal-page .fc .fc-event.fc-event-news-status-purple{background:#f3ecff!important;border-color:#a48ad8!important;color:#000!important}
html[data-theme="dark"] body.parent-portal-page .fc .fc-event.fc-event-news-status-purple .fc-event-main,
html[data-theme="dark"] body.parent-portal-page .fc .fc-event.fc-event-news-status-purple .fc-event-time,
html[data-theme="dark"] body.parent-portal-page .fc .fc-event.fc-event-news-status-purple .fc-event-title,html[data-theme="dark"] body.student-portal-page .fc .fc-event.fc-event-news-status-purple .fc-event-main,
html[data-theme="dark"] body.student-portal-page .fc .fc-event.fc-event-news-status-purple .fc-event-time,
html[data-theme="dark"] body.student-portal-page .fc .fc-event.fc-event-news-status-purple .fc-event-title{color:#000!important}
body.parent-portal-page .fc .fc-event.fc-event-review-track,body.student-portal-page .fc .fc-event.fc-event-review-track{background:#c84ac8!important;border-color:#9a8cdc!important;color:#000!important}
body.parent-portal-page .fc .fc-event.fc-event-review-track .fc-event-main,
body.parent-portal-page .fc .fc-event.fc-event-review-track .fc-event-time,
body.parent-portal-page .fc .fc-event.fc-event-review-track .fc-event-title,body.student-portal-page .fc .fc-event.fc-event-review-track .fc-event-main,
body.student-portal-page .fc .fc-event.fc-event-review-track .fc-event-time,
body.student-portal-page .fc .fc-event.fc-event-review-track .fc-event-title{color:#000!important}
body.parent-portal-page .fc .fc-event.fc-event-homework-track,body.student-portal-page .fc .fc-event.fc-event-homework-track{background:#edf4ff!important;border-color:#83a8de!important;color:#173b78!important}
body.parent-portal-page .fc .fc-event.fc-event-homework-overdue,body.student-portal-page .fc .fc-event.fc-event-homework-overdue{background:#ffdbe0!important;border-color:#ff2338!important;color:#7d0010!important}
body.parent-portal-page .fc .fc-event.fc-event-homework-overdue .fc-event-main,
body.parent-portal-page .fc .fc-event.fc-event-homework-overdue .fc-event-time,
body.parent-portal-page .fc .fc-event.fc-event-homework-overdue .fc-event-title,body.student-portal-page .fc .fc-event.fc-event-homework-overdue .fc-event-main,
body.student-portal-page .fc .fc-event.fc-event-homework-overdue .fc-event-time,
body.student-portal-page .fc .fc-event.fc-event-homework-overdue .fc-event-title{color:#7d0010!important}
body.parent-portal-page .fc .fc-event.fc-event-attendance-present,body.student-portal-page .fc .fc-event.fc-event-attendance-present{background:#eefaf3!important;border-color:#8ccba9!important;color:#195d3d!important}
body.parent-portal-page .fc .fc-event.fc-event-attendance-absent,body.student-portal-page .fc .fc-event.fc-event-attendance-absent{background:#fff1f1!important;border-color:#e1a8a8!important;color:#7d0010!important}
body.parent-portal-page .fc .fc-event.fc-event-attendance-late,body.student-portal-page .fc .fc-event.fc-event-attendance-late{background:#fff5df!important;border-color:#e5ab34!important;color:#8a5600!important}
body.parent-portal-page .fc .fc-event.fc-event-attendance-excused,body.student-portal-page .fc .fc-event.fc-event-attendance-excused{background:#eef3ff!important;border-color:#91a3d5!important;color:#2b4278!important}
body.parent-portal-page .fc .fc-event.fc-event-report,body.student-portal-page .fc .fc-event.fc-event-report{background:#f1efff!important;border-color:#9a8cdc!important;color:#45317d!important}
body.parent-portal-page .fc .fc-event.fc-event-grade,body.student-portal-page .fc .fc-event.fc-event-grade{background:#edf4ff!important;border-color:#83a8de!important;color:#173b78!important}
body.parent-portal-page .fc .fc-event.fc-obtrusive-alert,body.student-portal-page .fc .fc-event.fc-obtrusive-alert{animation:overdueBlink 1.6s ease-in-out infinite;background:#ff2338!important;border-color:#ff2338!important;border-width:2px;box-shadow:inset 0 0 0 1px rgba(125,0,16,.16);color:#0b1220!important}
body.parent-portal-page .fc .fc-event.fc-obtrusive-alert .fc-event-main,body.student-portal-page .fc .fc-event.fc-obtrusive-alert .fc-event-main{color:inherit!important}
body.parent-portal-page .fc .fc-event.fc-obtrusive-alert .fc-event-time,
body.parent-portal-page .fc .fc-event.fc-obtrusive-alert .fc-event-title,
body.parent-portal-page .fc .fc-event.fc-obtrusive-alert .fc-event-title-container,
body.student-portal-page .fc .fc-event.fc-obtrusive-alert .fc-event-time,body.student-portal-page .fc .fc-event.fc-obtrusive-alert .fc-event-title,
body.student-portal-page .fc .fc-event.fc-obtrusive-alert .fc-event-title-container{color:#0b1220!important}
body.parent-portal-page .calendar-empty,body.student-portal-page .calendar-empty{border:1px dashed var(--line);border-radius:10px;color:var(--ink-soft);font-size:.82rem;padding:10px;text-align:center}
body.parent-portal-page .calendar-shell .fc-daygrid-day.calendar-day-alert,body.student-portal-page .calendar-shell .fc-daygrid-day.calendar-day-alert{animation:dayAlertPulse 2.4s ease-in-out infinite}@keyframes overdueBlink{0%,
  49%{filter:saturate(1);transform:scale(1)}
  100%,50%{filter:saturate(1.35) brightness(1.06);transform:scale(1.015)}}@keyframes dayAlertPulse{0%,
  100%{box-shadow:inset 0 0 0 2px rgba(255,35,56,.32)}50%{box-shadow:inset 0 0 0 3px rgba(255,35,56,.62)}}
html[data-theme="dark"] body.parent-portal-page .fc .fc-event.fc-event-attendance-present,html[data-theme="dark"] body.student-portal-page .fc .fc-event.fc-event-attendance-present{--fc-event-text-color:#dff7e9;background:rgba(124,214,164,.14)!important;border-color:rgba(124,214,164,.34)!important;color:#dff7e9!important}
html[data-theme="dark"] body.parent-portal-page .fc .fc-event.fc-event-attendance-absent,html[data-theme="dark"] body.student-portal-page .fc .fc-event.fc-event-attendance-absent{--fc-event-text-color:#ffe3e6;background:rgba(255,107,129,.14)!important;border-color:rgba(255,107,129,.34)!important;color:#ffe3e6!important}
html[data-theme="dark"] body.parent-portal-page .fc .fc-event.fc-event-attendance-late,html[data-theme="dark"] body.student-portal-page .fc .fc-event.fc-event-attendance-late{--fc-event-text-color:#fff1d0;background:rgba(240,176,95,.16)!important;border-color:rgba(240,176,95,.36)!important;color:#fff1d0!important}
html[data-theme="dark"] body.parent-portal-page .fc .fc-event.fc-event-attendance-excused,html[data-theme="dark"] body.student-portal-page .fc .fc-event.fc-event-attendance-excused{--fc-event-text-color:#eaf2ff;background:rgba(106,164,255,.14)!important;border-color:rgba(106,164,255,.34)!important;color:#eaf2ff!important}
html[data-theme="dark"] body.parent-portal-page .fc .fc-event.fc-event-report,html[data-theme="dark"] body.student-portal-page .fc .fc-event.fc-event-report{--fc-event-text-color:#45317d;background:#f1efff!important;border-color:#9a8cdc!important;color:#45317d!important}
html[data-theme="dark"] body.parent-portal-page .fc .fc-event.fc-event-report .fc-event-main,
html[data-theme="dark"] body.parent-portal-page .fc .fc-event.fc-event-report .fc-event-time,
html[data-theme="dark"] body.parent-portal-page .fc .fc-event.fc-event-report .fc-event-title,html[data-theme="dark"] body.student-portal-page .fc .fc-event.fc-event-report .fc-event-main,
html[data-theme="dark"] body.student-portal-page .fc .fc-event.fc-event-report .fc-event-time,
html[data-theme="dark"] body.student-portal-page .fc .fc-event.fc-event-report .fc-event-title{color:#45317d!important}
html[data-theme="dark"] body.parent-portal-page .calendar-empty,
html[data-theme="dark"] body.parent-portal-page .detail-empty,
html[data-theme="dark"] body.student-portal-page .calendar-empty,html[data-theme="dark"] body.student-portal-page .detail-empty{background:var(--portal-dark-surface-support)!important;border-color:var(--portal-dark-border-strong)!important;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.04);color:var(--portal-dark-text-soft)!important}
html[data-theme="dark"] body.parent-portal-page .choice-group,html[data-theme="dark"] body.student-portal-page .choice-group{background:var(--portal-dark-surface-support)!important;border-color:var(--portal-dark-border-strong)!important;color:var(--portal-dark-text)!important}
html[data-theme="dark"] body.parent-portal-page .choice-option,html[data-theme="dark"] body.student-portal-page .choice-option{color:var(--portal-dark-text)!important}
html[data-theme="dark"] body.parent-portal-page .choice-option input[type="checkbox"],
html[data-theme="dark"] body.parent-portal-page .choice-option input[type="radio"],html[data-theme="dark"] body.student-portal-page .choice-option input[type="checkbox"],
html[data-theme="dark"] body.student-portal-page .choice-option input[type="radio"]{background:var(--portal-dark-surface-card)!important;border-color:var(--portal-dark-border-strong)!important;color:var(--portal-dark-text)!important}
html[data-theme="dark"] body.parent-portal-page .quarter-board-card,html[data-theme="dark"] body.student-portal-page .quarter-board-card{background:var(--portal-dark-surface-panel)}
html[data-theme="dark"] body.parent-portal-page .quarter-board-card.is-current,html[data-theme="dark"] body.student-portal-page .quarter-board-card.is-current{background:var(--portal-quarter-card-current-bg)}
html[data-theme="dark"] body.parent-portal-page .quarter-board-meta-range,html[data-theme="dark"] body.student-portal-page .quarter-board-meta-range{background:var(--portal-dark-surface-support);color:var(--portal-dark-text)}
html[data-theme="dark"] body.admin-portal-page .school-map-preview-shell,html[data-theme="dark"] body.student-portal-page .school-map-preview-shell{background:var(--portal-dark-surface-card)!important;border-color:var(--portal-dark-border-strong)!important}
html[data-theme="dark"] body.parent-portal-page .metric.portal-theme-card,html[data-theme="dark"] body.student-portal-page .metric.portal-theme-card{align-content:center;background:linear-gradient(180deg,var(--metric-bg-start,var(--portal-dark-surface-card)) 0,var(--metric-bg-end,var(--portal-dark-surface-card)) 100%);border:solid var(--metric-border,var(--portal-dark-border-strong));border-radius:10px;border-width:2px 2px 5px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.08),0 10px 20px rgba(31,45,74,.05);box-sizing:border-box;color:var(--portal-dark-text);display:grid;gap:4px;min-height:72px;min-width:0;overflow:hidden;padding:8px;place-items:center;position:relative;text-align:center}
html[data-theme="dark"] body.parent-portal-page .metric.portal-theme-card::before,html[data-theme="dark"] body.student-portal-page .metric.portal-theme-card::before{background:linear-gradient(135deg,var(--metric-accent-soft,rgba(128,152,190,.12)),transparent 72%);content:"";inset:0;pointer-events:none;position:absolute}
html[data-theme="dark"] body.parent-portal-page .metric.portal-theme-card::after,html[data-theme="dark"] body.student-portal-page .metric.portal-theme-card::after{background:var(--metric-accent,var(--portal-border-strong));content:"";height:3px;inset-block-start:0;inset-inline:0;pointer-events:none;position:absolute}
html[data-theme="dark"] body.parent-portal-page .metric.portal-theme-card > *,html[data-theme="dark"] body.student-portal-page .metric.portal-theme-card > *{position:relative;z-index:1}
html[data-theme="dark"] body.parent-portal-page .metric.portal-theme-card :is(.k, .v),html[data-theme="dark"] body.student-portal-page .metric.portal-theme-card :is(.k, .v){color:var(--portal-dark-text)!important}html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .metric.portal-theme-card:is(.metric-good, .metric-green){--metric-accent:rgba(124,214,164,.92);--metric-accent-soft:rgba(124,214,164,.18);--metric-bg-end:rgba(49,54,58,.98);--metric-bg-start:rgba(43,74,56,.98);--metric-border:rgba(124,214,164,.72);--metric-text:var(--portal-dark-text)}html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .metric.portal-theme-card:is(.metric-warn, .metric-blue){--metric-accent:rgba(106,164,255,.92);--metric-accent-soft:rgba(106,164,255,.18);--metric-bg-end:rgba(49,54,58,.98);--metric-bg-start:rgba(35,58,90,.98);--metric-border:rgba(106,164,255,.72);--metric-text:var(--portal-dark-text)}html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .metric.portal-theme-card.metric-purple{--metric-accent:rgba(122,126,255,.92);--metric-accent-soft:rgba(122,126,255,.18);--metric-bg-end:rgba(49,54,58,.98);--metric-bg-start:rgba(60,49,92,.98);--metric-border:rgba(122,126,255,.72);--metric-text:var(--portal-dark-text)}html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .metric.portal-theme-card:is(.metric-bad, .metric-red){--metric-accent:rgba(242,138,149,.92);--metric-accent-soft:rgba(242,138,149,.18);--metric-bg-end:rgba(49,54,58,.98);--metric-bg-start:rgba(82,45,49,.98);--metric-border:rgba(242,138,149,.72);--metric-text:var(--portal-dark-text)}html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .metric.portal-theme-card.metric-amber{--metric-accent:rgba(240,176,95,.98);--metric-accent-soft:rgba(240,176,95,.2);--metric-bg-end:rgba(49,54,58,.98);--metric-bg-start:rgba(84,59,28,.98);--metric-border:rgba(240,176,95,.82);--metric-text:var(--portal-dark-text);box-shadow:inset 0 0 0 1px rgba(240,176,95,.16),0 10px 20px rgba(31,45,74,.05)}
html[data-theme="dark"] body.admin-portal-page #authBootPanel,
html[data-theme="dark"] body.admin-portal-page #authPanel,
html[data-theme="dark"] body.parent-portal-page #loginCard,html[data-theme="dark"] body.student-portal-page #loginPanel{background:var(--portal-dark-surface-panel);border-color:var(--portal-dark-border-strong);color:var(--portal-dark-text)}
html[data-theme="dark"] body.admin-portal-page #authBootPanel,html[data-theme="dark"] body.admin-portal-page #authPanel{background:var(--portal-dark-surface-panel)!important}
html[data-theme="dark"] body.parent-portal-page #loginCard .login-form,html[data-theme="dark"] body.student-portal-page #loginPanel #loginForm{grid-template-columns:1fr;margin-inline:auto}
html[data-theme="dark"] body.parent-portal-page #loginCard .login-form>.field,html[data-theme="dark"] body.student-portal-page #loginPanel #loginForm>.field{grid-column:1}
html[data-theme="dark"] body.admin-portal-page :where(#authPanel, #authPanel input, #authPanel select, #authPanel textarea),
html[data-theme="dark"] body.parent-portal-page :where(#loginCard, #loginCard .login-form, #loginCard input, #loginCard select, #loginCard textarea),html[data-theme="dark"] body.student-portal-page :where(#loginPanel, #loginPanel #loginForm, #loginPanel input, #loginPanel select, #loginPanel textarea){color:var(--portal-dark-text)}
html[data-theme="dark"] body.admin-portal-page #authPanel,
html[data-theme="dark"] body.parent-portal-page #loginCard,html[data-theme="dark"] body.student-portal-page #loginPanel{font-size:1.05rem;line-height:1.52}
html[data-theme="dark"] body.admin-portal-page :where(#authPanel input, #authPanel select, #authPanel textarea),
html[data-theme="dark"] body.parent-portal-page :where(#loginCard input, #loginCard select, #loginCard textarea),html[data-theme="dark"] body.student-portal-page :where(#loginPanel input, #loginPanel select, #loginPanel textarea){background:var(--portal-dark-field-bg);border-color:var(--portal-dark-field-border);color:var(--portal-dark-field-text)}
html[data-theme="dark"] body.admin-portal-page :where(#authPanel input, #authPanel select, #authPanel textarea)::placeholder,
html[data-theme="dark"] body.parent-portal-page :where(#loginCard input, #loginCard select, #loginCard textarea)::placeholder,html[data-theme="dark"] body.student-portal-page :where(#loginPanel input, #loginPanel select, #loginPanel textarea)::placeholder{color:var(--portal-dark-field-placeholder)}
html[data-theme="dark"] body.admin-portal-page #authPanel .login-link,
html[data-theme="dark"] body.parent-portal-page #loginCard .login-link,html[data-theme="dark"] body.student-portal-page #loginPanel .login-link{color:var(--portal-dark-link)}
html[data-theme="dark"] body.admin-portal-page #authPanel :is(h1, h2),
html[data-theme="dark"] body.parent-portal-page #loginCard :is(h1, h2),html[data-theme="dark"] body.student-portal-page #loginPanel :is(h1, h2){color:var(--portal-dark-text)}
body.admin-portal-page #authPanel :is(h1, h2),
body.parent-portal-page #loginCard :is(h1, h2),body.student-portal-page #loginPanel :is(h1, h2){font-size:clamp(1.5rem,1.2rem + 1vw,1.95rem);line-height:1.12;margin-bottom:18px}
body.admin-portal-page #authPanel :is(label, .small, .muted, .login-link),
body.parent-portal-page #loginCard :is(label, .small, .muted, .login-link),body.student-portal-page #loginPanel :is(label, .small, .muted, .login-link){line-height:1.4}
body.admin-portal-page #authPanel label,
body.parent-portal-page #loginCard label,body.student-portal-page #loginPanel label{font-size:.98rem;margin-bottom:8px;margin-top:1rem}
body.admin-portal-page #authBootPanel .small,
body.admin-portal-page #authPanel .muted,
body.admin-portal-page #authPanel .small,
body.parent-portal-page #loginCard .muted,
body.parent-portal-page #loginCard .small,
body.student-portal-page #loginPanel .muted,body.student-portal-page #loginPanel .small{font-size:15px;line-height:1.4}
body.parent-portal-page #loginCard .field-hint,body.student-portal-page #loginPanel .field-hint{color:var(--portal-text-soft);font-size:.95rem;line-height:1.45;margin:0}
html[data-theme="dark"] body.parent-portal-page #loginCard .field-hint,html[data-theme="dark"] body.student-portal-page #loginPanel .field-hint{color:var(--portal-dark-text-soft)}
body.admin-portal-page #authBootPanel p,
body.admin-portal-page #authPanel p,
body.parent-portal-page #loginCard p,body.student-portal-page #loginPanel p{margin:0 0 12px}
body.admin-portal-page #authPanel .login-links,
body.parent-portal-page #loginCard .login-links,body.student-portal-page #loginPanel .login-links{margin-bottom:4px}html[data-theme="dark"] .brand-logo-wrap{background:var(--portal-dark-surface-support);border-color:var(--portal-dark-border)}.env-badge{border-color:var(--portal-action-green-border)}
html[data-theme="dark"] body.parent-portal-page .homework-link,html[data-theme="dark"] body.student-portal-page .homework-link{color:var(--portal-dark-link)}
html[data-theme="dark"] body.parent-portal-page .homework-link:focus-visible,
html[data-theme="dark"] body.parent-portal-page .homework-link:hover,
html[data-theme="dark"] body.student-portal-page .homework-link:focus-visible,html[data-theme="dark"] body.student-portal-page .homework-link:hover{color:var(--portal-dark-link-hover)}
html[data-theme="dark"] body.parent-portal-page .homework-link:active,html[data-theme="dark"] body.student-portal-page .homework-link:active{color:var(--portal-dark-link-active)}html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .metric.metric-blue,
html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .metric.metric-warn{box-shadow:inset 0 0 0 1px rgba(106,164,255,.16),0 10px 20px rgba(31,45,74,.05)}html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .metric.metric-purple{box-shadow:inset 0 0 0 1px rgba(106,164,255,.16),0 10px 20px rgba(31,45,74,.05)}
html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .metric.metric-bad,html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .metric.metric-red{box-shadow:inset 0 0 0 1px rgba(242,138,149,.16),0 10px 20px rgba(31,45,74,.05)}
html[data-theme="dark"] body.parent-portal-page .portal-modal-head h4,html[data-theme="dark"] body.student-portal-page .portal-modal-head h4{color:var(--portal-dark-text)}html[data-theme="dark"] body.student-points-page{--portal-student-points-muted-text:#c5d4e1;background:var(--portal-dark-page-bg);background-image:linear-gradient(180deg,hsla(0,0%,100%,.05),transparent 42%);color:var(--portal-dark-text);color-scheme:dark}html[data-theme="dark"] body.student-points-page .card{background:var(--portal-dark-surface-card);border-color:var(--portal-dark-border);color:var(--portal-dark-text)}html[data-theme="dark"] body.student-points-page .chart-wrap.panel,html[data-theme="dark"] body.student-points-page .table-wrap.panel{background:var(--portal-dark-surface-panel);border-color:var(--portal-dark-border);color:var(--portal-dark-text)}
html[data-theme="dark"] body.student-points-page .field label,
html[data-theme="dark"] body.student-points-page .mini,
html[data-theme="dark"] body.student-points-page .status,html[data-theme="dark"] body.student-points-page .sub{color:var(--portal-student-points-muted-text)!important}
html[data-theme="dark"] body.student-points-page td,html[data-theme="dark"] body.student-points-page th{border-bottom-color:var(--portal-table-dark-border)}html[data-theme="dark"] body:is(.student-points-page, .student-enrollment-page, .grades-tabulator-page, .report-template-page, .student-portal-page, .parent-portal-page, .admin-portal-page) :is(.table-wrap, .table-scroll-wrap, .data-surface, .metric-table-wrap, .progress-report-table-wrap, .queue-table-wrap, .profile-layout-table-wrap, .user-admin-table) table :is(th, td){border-bottom-color:var(--portal-dark-border-strong)}
html[data-theme="dark"] body:is(.student-points-page, .student-enrollment-page, .grades-tabulator-page, .report-template-page, .student-portal-page, .parent-portal-page, .admin-portal-page) :is(.table-wrap, .table-scroll-wrap, .data-surface, .metric-table-wrap, .progress-report-table-wrap, .queue-table-wrap, .profile-layout-table-wrap, .user-admin-table) table tbody tr:focus-within > :is(th, td),html[data-theme="dark"] body:is(.student-points-page, .student-enrollment-page, .grades-tabulator-page, .report-template-page, .student-portal-page, .parent-portal-page, .admin-portal-page) :is(.table-wrap, .table-scroll-wrap, .data-surface, .metric-table-wrap, .progress-report-table-wrap, .queue-table-wrap, .profile-layout-table-wrap, .user-admin-table) table tbody tr:hover > :is(th, td){background:color-mix(in srgb,var(--portal-dark-surface-support) 84%,#fff 16%)}html[data-theme="dark"] body.student-points-page #loginPanel .login-link{color:var(--portal-dark-link)}html[data-theme="dark"] body.student-points-page :is(input, select, textarea){-webkit-text-fill-color:var(--portal-dark-field-text)}
html[data-theme="dark"] body.grades-tabulator-page .status,html[data-theme="dark"] body.student-enrollment-page .status{color:var(--portal-dark-text-soft)}html[data-theme="dark"] body.grades-tabulator-page .status:not(.is-warn):not(.is-bad):not(.is-error){color:#c5d4e1!important}html[data-theme="dark"] body.student-enrollment-page .app-brand-kicker,
html[data-theme="dark"] body.student-enrollment-page .app-page-subtitle,
html[data-theme="dark"] body.student-enrollment-page .enrollment-history-empty,
html[data-theme="dark"] body.student-enrollment-page .enrollment-history-modal__kicker,
html[data-theme="dark"] body.student-enrollment-page .enrollment-history-modal__summary,
html[data-theme="dark"] body.student-enrollment-page .enrollment-history-modal__title,
html[data-theme="dark"] body.student-enrollment-page .enrollment-history-period__line,
html[data-theme="dark"] body.student-enrollment-page .enrollment-history-period__note,
html[data-theme="dark"] body.student-enrollment-page .enrollment-summary-label,
html[data-theme="dark"] body.student-enrollment-page .enrollment-summary-note,
html[data-theme="dark"] body.student-enrollment-page .student-ident small,
html[data-theme="dark"] body.student-enrollment-page .text-zoom-controls .global-text-label,
html[data-theme="dark"] body.student-enrollment-page .text-zoom-controls .zoom-label{color:var(--portal-dark-text-soft)}html[data-theme="dark"] body.grades-tabulator-page .app-brand-logo-fallback,html[data-theme="dark"] body.grades-tabulator-page .app-school-name,html[data-theme="dark"] body.grades-tabulator-page .assignment-title-text,html[data-theme="dark"] body.grades-tabulator-page .collapse-label,html[data-theme="dark"] body.grades-tabulator-page .detail-empty-title,html[data-theme="dark"] body.grades-tabulator-page .grid-title,html[data-theme="dark"] body.grades-tabulator-page .metric-card p,html[data-theme="dark"] body.student-enrollment-page .app-school-name{color:var(--portal-dark-text)}
html[data-theme="dark"] body.grades-tabulator-page .assignment-sub,
html[data-theme="dark"] body.grades-tabulator-page .assignment-sub.core-sub,
html[data-theme="dark"] body.grades-tabulator-page .collapse-value,
html[data-theme="dark"] body.grades-tabulator-page .detail-empty-copy,
html[data-theme="dark"] body.grades-tabulator-page .dim,
html[data-theme="dark"] body.grades-tabulator-page .distribution-dialog-hint,
html[data-theme="dark"] body.grades-tabulator-page .distribution-dialog-meta,
html[data-theme="dark"] body.grades-tabulator-page .distribution-zoom-label,
html[data-theme="dark"] body.grades-tabulator-page .group-meta,html[data-theme="dark"] body.grades-tabulator-page .metric-card h2,
html[data-theme="dark"] body.grades-tabulator-page .section-note,
html[data-theme="dark"] body.grades-tabulator-page .stat-chip{color:var(--portal-dark-text-soft)}html[data-theme="dark"] body.grades-tabulator-page .exercise-cell.ontime{background:color-mix(in srgb,#1f7a47 26%,var(--portal-dark-card) 74%);border-color:rgba(57,211,102,.48);color:var(--portal-dark-text)}html[data-theme="dark"] body.grades-tabulator-page .exercise-cell.late{background:color-mix(in srgb,#55389f 24%,var(--portal-dark-card) 76%);border-color:rgba(163,131,255,.5);color:var(--portal-dark-text)}html[data-theme="dark"] body.grades-tabulator-page .exercise-cell.notdone{background:color-mix(in srgb,#b23a2e 24%,var(--portal-dark-card) 76%);border-color:rgba(255,132,121,.5);color:var(--portal-dark-text)}html[data-theme="dark"] body.grades-tabulator-page .score-bar{background:var(--portal-dark-surface-support);border-color:var(--portal-dark-border)}
html[data-theme="dark"] body.parent-portal-page .detail-item-head strong,
html[data-theme="dark"] body.parent-portal-page .homework-card-label,
html[data-theme="dark"] body.parent-portal-page .homework-content-title,
html[data-theme="dark"] body.parent-portal-page .identity-label,html[data-theme="dark"] body.parent-portal-page .parent-overview-title,
html[data-theme="dark"] body.student-portal-page .detail-item-head strong,
html[data-theme="dark"] body.student-portal-page .homework-card-label,
html[data-theme="dark"] body.student-portal-page .homework-content-title,
html[data-theme="dark"] body.student-portal-page .identity-label{color:var(--portal-dark-text)}
html[data-theme="dark"] body.parent-portal-page .detail-meta,
html[data-theme="dark"] body.parent-portal-page .detail-note,html[data-theme="dark"] body.student-portal-page .detail-meta,
html[data-theme="dark"] body.student-portal-page .detail-note{color:var(--portal-dark-text-soft)}
html[data-theme="dark"] body.parent-portal-page .detail-item.portal-theme-card.warn .detail-meta,
html[data-theme="dark"] body.parent-portal-page .detail-item.portal-theme-card.warn .detail-note,html[data-theme="dark"] body.student-portal-page .detail-item.portal-theme-card.warn .detail-meta,
html[data-theme="dark"] body.student-portal-page .detail-item.portal-theme-card.warn .detail-note{color:var(--portal-status-warn-text)!important}
html[data-theme="dark"] body.parent-portal-page .report-block,html[data-theme="dark"] body.parent-portal-page .report-head-card{background:var(--portal-dark-surface-support)!important;border-color:var(--portal-dark-border-strong)!important;color:var(--portal-dark-text)!important}html[data-theme="dark"] body.parent-portal-page .report-archive-item{--report-archive-accent:rgba(242,138,149,.72);--report-archive-border:var(--portal-dark-border-strong);background:var(--portal-dark-surface-support)!important;border-color:var(--report-archive-border)!important;color:var(--portal-dark-text)!important}html[data-theme="dark"] body.parent-portal-page .report-archive-item.is-outstanding{--report-archive-border:rgba(242,138,149,.34);background:var(--portal-dark-surface-support)!important;border-color:var(--report-archive-border)!important;border-inline-start-color:var(--report-archive-accent)!important}html[data-theme="dark"] body.parent-portal-page .report-archive-link{background:transparent!important;border-color:transparent!important;color:var(--portal-dark-link)!important}
html[data-theme="dark"] body.parent-portal-page .report-archive-link:focus-visible,html[data-theme="dark"] body.parent-portal-page .report-archive-link:hover{color:var(--portal-dark-link-hover)!important}html[data-theme="dark"] body.parent-portal-page .report-archive-link:active{color:var(--portal-dark-link-active)!important}
html[data-theme="dark"] body.parent-portal-page .report-block h5,
html[data-theme="dark"] body.parent-portal-page .report-grade-block h5,html[data-theme="dark"] body.parent-portal-page .report-head-card h5,
html[data-theme="dark"] body.parent-portal-page .report-head-value{color:var(--portal-dark-text)!important}html[data-theme="dark"] body.parent-portal-page .report-band{background:var(--portal-dark-surface-support)!important;border-color:var(--portal-dark-border-strong)!important;color:var(--portal-dark-text)!important}html[data-theme="dark"] body.parent-portal-page .report-band h5,
html[data-theme="dark"] body.parent-portal-page .report-band-table td,
html[data-theme="dark"] body.parent-portal-page .report-band-table th{color:var(--portal-dark-text)!important}html[data-theme="dark"] body.parent-portal-page .report-band-table th{color:rgba(242,244,247,.84)!important}html[data-theme="dark"] body.parent-portal-page .report-band-table td{color:var(--portal-dark-text-soft)!important}html[data-theme="dark"] body.parent-portal-page .report-band-table td:nth-child(2),html[data-theme="dark"] body.parent-portal-page .report-metrics,html[data-theme="dark"] body.parent-portal-page .report-modal-ack{color:var(--portal-dark-text)!important}html[data-theme="dark"] body.parent-portal-page .report-grades-hint{color:var(--portal-dark-text-soft)!important}
html[data-theme="dark"] body.parent-portal-page #performanceReportGradesTable table,html[data-theme="dark"] body.parent-portal-page .report-grades-table table{background:var(--portal-dark-surface-support)!important;color:var(--portal-dark-text)!important}
html[data-theme="dark"] body.parent-portal-page #performanceReportGradesTable table tbody tr,
html[data-theme="dark"] body.parent-portal-page #performanceReportGradesTable table thead tr,html[data-theme="dark"] body.parent-portal-page .report-grades-table table tbody tr,
html[data-theme="dark"] body.parent-portal-page .report-grades-table table thead tr{background:var(--portal-dark-surface-support)!important}
html[data-theme="dark"] body.parent-portal-page #performanceReportGradesTable table td,
html[data-theme="dark"] body.parent-portal-page #performanceReportGradesTable table th,
html[data-theme="dark"] body.parent-portal-page .report-grades-table table td,html[data-theme="dark"] body.parent-portal-page .report-grades-table table th{background:transparent!important;color:var(--portal-dark-text)!important}html[data-theme="dark"] body.parent-portal-page .report-modal-ack-status{color:var(--portal-status-good-text)!important}html[data-theme="dark"] body.parent-portal-page .report-modal-ack-status.is-reviewed{color:var(--portal-status-warn-text)!important}
html[data-theme="dark"] body.parent-portal-page .dashboard-card-subtitle,html[data-theme="dark"] body.parent-portal-page .report-archive-meta,
html[data-theme="dark"] body.parent-portal-page .report-archive-status{color:var(--portal-dark-text-soft)!important}body:is(.student-portal-page, .parent-portal-page) .report-modal-body{background:var(--portal-surface-panel);border:1px solid var(--portal-border);border-radius:12px;box-sizing:border-box}
body:is(.student-portal-page, .parent-portal-page) .report-archive-item,
body:is(.student-portal-page, .parent-portal-page) .report-block,
body:is(.student-portal-page, .parent-portal-page) .report-grade-block,
body:is(.student-portal-page, .parent-portal-page) .report-grade-card,body:is(.student-portal-page, .parent-portal-page) .report-head-card{background:var(--portal-surface-card);border:1px solid var(--portal-border);border-radius:10px;box-sizing:border-box;color:var(--portal-text)}body:is(.student-portal-page, .parent-portal-page) .report-head-card{border-inline-start:4px solid var(--portal-border-strong);display:grid;gap:6px;padding:10px 12px}body:is(.student-portal-page, .parent-portal-page) .report-archive-item{align-items:start;border-inline-start:4px solid var(--brand-2);display:grid;gap:8px;min-height:96px;padding:12px 14px}body:is(.student-portal-page, .parent-portal-page) .report-bands{display:grid;gap:10px}body:is(.student-portal-page, .parent-portal-page) .report-band{background:var(--portal-surface-support);border:1px solid var(--portal-border);border-inline-start:5px solid var(--portal-border-strong);border-radius:10px;display:grid;gap:8px;padding:10px 12px}
body:is(.student-portal-page, .parent-portal-page) #performanceReportGradesTable table,body:is(.student-portal-page, .parent-portal-page) .report-grades-table table{background:var(--portal-surface-support);box-sizing:border-box;padding:14px;width:min(1120px,calc(100vw - 20px))}body:is(.student-portal-page, .parent-portal-page) .report-modal-ack{align-items:center;display:grid;gap:10px;grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-modal-body{background:var(--portal-dark-surface-panel);border-color:var(--portal-dark-border);color:var(--portal-dark-text)}
html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-archive-item,
html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-block,
html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-grade-block,
html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-grade-card,html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-head-card{background:var(--portal-dark-surface-card)!important;border-color:var(--portal-dark-border)!important;color:var(--portal-dark-text)!important}html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-band{background:var(--portal-dark-surface-support)!important;border-color:var(--portal-dark-border-strong)!important;color:var(--portal-dark-text)!important}
html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) #performanceReportGradesTable table,html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-grades-table table{background:var(--portal-dark-surface-support)!important;color:var(--portal-dark-text)!important}
html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-band h5,
html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-band-table td,
html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-band-table th,
html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-block h5,
html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-grade-block h5,html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-head-card h5,
html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-head-value,
html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-modal-ack,
html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-modal-ack-status{color:var(--portal-dark-text)!important}html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-band-table th{color:rgba(242,244,247,.84)!important}html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-band-table td{color:var(--portal-dark-text-soft)!important}html[data-theme="dark"] body:is(.student-portal-page, .parent-portal-page) .report-band-table td:nth-child(2){color:var(--portal-dark-text)!important}html[data-theme="dark"] body.parent-portal-page .draft-actions{background:var(--portal-dark-surface-panel)!important;border-color:var(--portal-dark-border)!important;color:var(--portal-dark-text)!important}html[data-theme="dark"] body.parent-portal-page .field-row.edited,
html[data-theme="dark"] body.parent-portal-page .field-row.signature-muted{background:transparent}html[data-theme="dark"] body.parent-portal-page .field-row.edited input,
html[data-theme="dark"] body.parent-portal-page .field-row.edited textarea,
html[data-theme="dark"] body.parent-portal-page .field-row.signature-muted input,
html[data-theme="dark"] body.parent-portal-page .field-row.signature-muted textarea{background:var(--portal-dark-field-bg);border-color:var(--portal-dark-field-border);color:var(--portal-dark-field-text)}
html[data-theme="dark"] body.parent-portal-page #newsWeekSetModal :where(input, textarea, select),html[data-theme="dark"] body.student-portal-page #newsWeekSetModal :where(input, textarea, select){background:var(--portal-dark-field-bg);border-color:var(--portal-dark-field-border);color:var(--portal-dark-field-text)}
html[data-theme="dark"] body.parent-portal-page #newsWeekSetModal :where(input, textarea, select)::placeholder,html[data-theme="dark"] body.student-portal-page #newsWeekSetModal :where(input, textarea, select)::placeholder{color:var(--portal-dark-field-placeholder)}
html[data-theme="dark"] body.student-portal-page .field-validation-message,html[data-theme="dark"] body.student-portal-page .field.is-invalid label{color:#ffb8bf}html[data-theme="dark"] body.student-portal-page .field.is-invalid input,
html[data-theme="dark"] body.student-portal-page .field.is-invalid textarea{background:#2b3037;border-color:rgba(242,138,149,.48);box-shadow:0 0 0 1px rgba(242,138,149,.18);color:var(--portal-dark-text)}html[data-theme="dark"] body.student-portal-page .status.bad{color:#ffb8bf}html[data-theme="dark"] body.student-portal-page .status.ok{color:#a7e8c0}body.portal-hub-page::before{background:transparent;opacity:0}a{color:inherit}.portal-layout,
.portal-shell{display:block}body:is(.portal-hub-page, .admin-portal-page, .parent-portal-page, .student-portal-page, .student-points-page)
  :is(.portal-main, .shell, .wrap, .app, .enrollment-shell, .section-stack, .app-shell, .portal-login-shell){align-content:start;row-gap:var(--portal-page-stack-gap)}.shell{box-sizing:border-box;display:grid;gap:var(--portal-shell-gap);margin:0 auto;max-width:1440px;padding:16px;width:100%}.card,
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-3);box-shadow:var(--shadow);min-width:0;padding:14px}body.portal-hub-page .portal-layout{position:relative;z-index:1}
body.admin-portal-page .app-page-header .app-header-actions .portal-theme-toggle,
body.admin-portal-page .portal-theme-toggle,
body.parent-portal-page .hero .hero-actions .portal-theme-toggle,
body.parent-portal-page .portal-theme-toggle,
body.portal-hub-page .portal-theme-toggle,body.student-portal-page .portal-theme-toggle,
body.student-portal-page .topbar .header-actions .portal-theme-toggle{align-items:center;appearance:none;background:transparent;border:1px solid transparent;border-radius:999px;color:var(--portal-theme-toggle-ink);cursor:pointer;display:inline-flex;inline-size:44px;justify-content:center;justify-self:end;max-inline-size:44px;min-block-size:44px;min-height:44px;min-inline-size:44px;padding:0;position:relative;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
body.admin-portal-page .app-page-header .app-header-actions .portal-theme-toggle:hover,
body.admin-portal-page .portal-theme-toggle:hover,
body.parent-portal-page .hero .hero-actions .portal-theme-toggle:hover,
body.parent-portal-page .portal-theme-toggle:hover,
body.portal-hub-page .portal-theme-toggle:hover,body.student-portal-page .portal-theme-toggle:hover,
body.student-portal-page .topbar .header-actions .portal-theme-toggle:hover{border-color:#0f1629;transform:translateY(-1px)}
body.admin-portal-page .app-page-header .app-header-actions .portal-theme-toggle:focus-visible,
body.admin-portal-page .portal-theme-toggle:focus-visible,
body.parent-portal-page .hero .hero-actions .portal-theme-toggle:focus-visible,
body.parent-portal-page .portal-theme-toggle:focus-visible,
body.portal-hub-page .portal-theme-toggle:focus-visible,body.student-portal-page .portal-theme-toggle:focus-visible,
body.student-portal-page .topbar .header-actions .portal-theme-toggle:focus-visible{box-shadow:0 0 0 3px rgba(47,91,227,.2);outline:none}
body.admin-portal-page .app-page-header .app-header-actions .portal-theme-toggle__icon,
body.admin-portal-page .portal-theme-toggle__icon,
body.parent-portal-page .hero .hero-actions .portal-theme-toggle__icon,
body.parent-portal-page .portal-theme-toggle__icon,
body.portal-hub-page .portal-theme-toggle__icon,body.student-portal-page .portal-theme-toggle__icon,
body.student-portal-page .topbar .header-actions .portal-theme-toggle__icon{align-items:center;background:var(--portal-theme-toggle-icon-bg);border-radius:999px;color:var(--portal-theme-toggle-ink);display:inline-flex;flex:0 0 auto;height:36px;justify-content:center;width:36px}
body.admin-portal-page .app-page-header .app-header-actions .portal-theme-toggle__icon svg-icon,
body.admin-portal-page .portal-theme-toggle__icon svg-icon,
body.parent-portal-page .hero .hero-actions .portal-theme-toggle__icon svg-icon,
body.parent-portal-page .portal-theme-toggle__icon svg-icon,
body.portal-hub-page .portal-theme-toggle__icon svg-icon,body.student-portal-page .portal-theme-toggle__icon svg-icon,
body.student-portal-page .topbar .header-actions .portal-theme-toggle__icon svg-icon{align-items:center;block-size:36px;color:inherit;display:inline-flex;flex:0 0 36px;inline-size:36px;justify-content:center;line-height:0}body.admin-portal-page .portal-theme-toggle__icon svg{color:inherit;display:none}body.admin-portal-page .portal-theme-toggle__icon[data-theme-icon="moon"] .portal-theme-toggle__icon-moon,
body.admin-portal-page .portal-theme-toggle__icon[data-theme-icon="sun"] .portal-theme-toggle__icon-sun{display:block}
body.admin-portal-page .app-page-header .app-header-actions .portal-theme-toggle__label,
body.parent-portal-page .hero .hero-actions .portal-theme-toggle__label,body.student-portal-page .topbar .header-actions .portal-theme-toggle__label{display:none}
html[data-theme="dark"] body.admin-portal-page .app-page-header .app-header-actions .portal-theme-toggle,
html[data-theme="dark"] body.admin-portal-page .portal-theme-toggle,
html[data-theme="dark"] body.parent-portal-page .hero .hero-actions .portal-theme-toggle,
html[data-theme="dark"] body.parent-portal-page .portal-theme-toggle,
html[data-theme="dark"] body.portal-hub-page .portal-theme-toggle,html[data-theme="dark"] body.student-portal-page .portal-theme-toggle,
html[data-theme="dark"] body.student-portal-page .topbar .header-actions .portal-theme-toggle{background:transparent;border-color:transparent;color:var(--portal-theme-toggle-ink-dark)}
html[data-theme="dark"] body.admin-portal-page .app-page-header .app-header-actions .portal-theme-toggle:hover,
html[data-theme="dark"] body.admin-portal-page .portal-theme-toggle:hover,
html[data-theme="dark"] body.parent-portal-page .hero .hero-actions .portal-theme-toggle:hover,
html[data-theme="dark"] body.parent-portal-page .portal-theme-toggle:hover,
html[data-theme="dark"] body.portal-hub-page .portal-theme-toggle:hover,html[data-theme="dark"] body.student-portal-page .portal-theme-toggle:hover,
html[data-theme="dark"] body.student-portal-page .topbar .header-actions .portal-theme-toggle:hover{border-color:rgba(255,215,106,.42)}
html[data-theme="dark"] body.admin-portal-page .app-page-header .app-header-actions .portal-theme-toggle__icon,
html[data-theme="dark"] body.admin-portal-page .portal-theme-toggle__icon,
html[data-theme="dark"] body.parent-portal-page .hero .hero-actions .portal-theme-toggle__icon,
html[data-theme="dark"] body.parent-portal-page .portal-theme-toggle__icon,
html[data-theme="dark"] body.portal-hub-page .portal-theme-toggle__icon,html[data-theme="dark"] body.student-portal-page .portal-theme-toggle__icon,
html[data-theme="dark"] body.student-portal-page .topbar .header-actions .portal-theme-toggle__icon{background:var(--portal-theme-toggle-icon-bg-dark);color:var(--portal-theme-toggle-ink-dark)}
html[data-theme="dark"] body.parent-portal-page .portal-modal :where(input, textarea, select),html[data-theme="dark"] body.student-portal-page .portal-modal :where(input, textarea, select){background:var(--portal-dark-field-bg);border-color:var(--portal-dark-field-border);color:var(--portal-dark-field-text)}
html[data-theme="dark"] body.parent-portal-page .quick-link-select,html[data-theme="dark"] body.student-portal-page .quick-link-select{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.22)}
html[data-theme="dark"] body.parent-portal-page .quick-link-select__label,html[data-theme="dark"] body.student-portal-page .quick-link-select__label{color:rgba(243,247,255,.82)}html[data-theme="dark"] body.parent-portal-page #newsWeekSetModal :where(input, textarea, select){background:var(--portal-dark-field-bg);border-color:var(--portal-dark-field-border);color:var(--portal-dark-field-text)}html[data-theme="dark"] body.parent-portal-page #newsWeekSetModal :where(input, textarea, select)::placeholder{color:var(--portal-dark-field-placeholder)}
html[data-theme="dark"] body.parent-portal-page .portal-modal :where(input, textarea, select)::placeholder,html[data-theme="dark"] body.student-portal-page .portal-modal :where(input, textarea, select)::placeholder{color:var(--portal-dark-field-placeholder)}
html[data-theme="dark"] body.parent-portal-page .portal-modal .field-validation-message,
html[data-theme="dark"] body.parent-portal-page .portal-modal .field.is-invalid label,
html[data-theme="dark"] body.student-portal-page .portal-modal .field-validation-message,html[data-theme="dark"] body.student-portal-page .portal-modal .field.is-invalid label{color:#ffb8bf}
html[data-theme="dark"] body.parent-portal-page .portal-modal .field.is-invalid input,
html[data-theme="dark"] body.parent-portal-page .portal-modal .field.is-invalid textarea,html[data-theme="dark"] body.student-portal-page .portal-modal .field.is-invalid input,
html[data-theme="dark"] body.student-portal-page .portal-modal .field.is-invalid textarea{background:var(--portal-dark-field-bg);border-color:rgba(242,138,149,.48);box-shadow:0 0 0 1px rgba(242,138,149,.18);color:var(--portal-dark-field-text)}
body.parent-portal-page .portal-modal.hidden,body.student-portal-page .portal-modal.hidden{display:none}
body.parent-portal-page .portal-modal,body.student-portal-page .portal-modal{box-sizing:border-box;display:grid;inset:0;padding:18px;place-items:center;position:fixed;z-index:95}
body.parent-portal-page .portal-modal-backdrop,body.student-portal-page .portal-modal-backdrop{background:rgba(13,22,34,.58);inset:0;position:absolute}
body.parent-portal-page .portal-modal-dialog,body.student-portal-page .portal-modal-dialog{background:#fbffff;border:1px solid #cad7ea;border-radius:12px;box-sizing:border-box;display:grid;gap:12px;max-height:calc(100vh - 36px);overflow:auto;padding:16px;position:relative;width:min(760px,calc(100vw - 36px))}
body.parent-portal-page .portal-modal-head,body.student-portal-page .portal-modal-head{align-items:center;display:flex;gap:10px;justify-content:space-between}
body.parent-portal-page .portal-modal-body,body.student-portal-page .portal-modal-body{display:grid;gap:12px}
body.parent-portal-page .portal-modal-head h4,body.student-portal-page .portal-modal-head h4{color:#1f3f63;font-size:clamp(16px,3.6vw,19px);line-height:1.2;margin:0}
body.parent-portal-page .portal-modal-actions,body.student-portal-page .portal-modal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
body.parent-portal-page .portal-modal-actions > button:not(.portal-button):not(.portal-action-btn),body.student-portal-page .portal-modal-actions > button:not(.portal-button):not(.portal-action-btn){background:var(--portal-button-neutral-fill)!important;background-image:none!important;border:1px solid var(--portal-button-neutral-stroke);border-radius:8px;color:var(--portal-button-neutral-ink);cursor:pointer;font-size:12px;font-weight:700;min-height:34px;padding:6px 10px}
body.parent-portal-page .portal-modal-actions > button:not(.portal-button):not(.portal-action-btn):focus-visible,
body.parent-portal-page .portal-modal-actions > button:not(.portal-button):not(.portal-action-btn):hover:not(:disabled),
body.student-portal-page .portal-modal-actions > button:not(.portal-button):not(.portal-action-btn):focus-visible,body.student-portal-page .portal-modal-actions > button:not(.portal-button):not(.portal-action-btn):hover:not(:disabled){background:var(--portal-button-neutral-fill-hover)!important;background-image:none!important;border-color:var(--portal-button-neutral-stroke-hover);box-shadow:var(--portal-button-shadow-hover);outline:none;transform:translateY(-1px)}
body.parent-portal-page #newsWeekSetModal .portal-modal-close:not(.portal-button),
body.parent-portal-page .portal-modal-close:not(.portal-button),body.student-portal-page .portal-modal-close:not(.portal-button){background:var(--portal-button-neutral-fill)!important;background-image:none!important;border:1px solid var(--portal-button-neutral-stroke);border-radius:8px;color:var(--portal-button-neutral-ink);cursor:pointer;font-size:12px;font-weight:700;min-height:34px;padding:6px 10px}
body.parent-portal-page .portal-modal-close:not(.portal-button):focus-visible,
body.parent-portal-page .portal-modal-close:not(.portal-button):hover:not(:disabled),
body.parent-portal-page .report-modal-nav button:not(.portal-button):focus-visible,
body.parent-portal-page .report-modal-nav button:not(.portal-button):hover:not(:disabled),
body.student-portal-page .portal-modal-close:not(.portal-button):focus-visible,body.student-portal-page .portal-modal-close:not(.portal-button):hover:not(:disabled){background:var(--portal-button-neutral-fill-hover)!important;background-image:none!important;border-color:var(--portal-button-neutral-stroke-hover);box-shadow:var(--portal-button-shadow-hover);outline:none;transform:translateY(-1px)}body.admin-portal-page .queue-modal{align-items:center;background:rgba(8,18,40,.58);display:flex;inset:0;justify-content:center;padding:12px;position:fixed;z-index:1200}body.admin-portal-page .queue-modal-card{background:#fbffff;border:1px solid var(--border-strong);border-radius:var(--radius-3);box-shadow:0 22px 50px rgba(8,18,40,.22);display:grid;gap:10px;inline-size:100%;max-height:92vh;max-inline-size:980px;overflow:auto;padding:12px}body.admin-portal-page .queue-modal-header{align-items:center;display:flex;gap:8px;justify-content:space-between}body.admin-portal-page .queue-modal-nav{align-items:center;color:var(--ink);display:inline-flex;font-weight:700;gap:8px}body.admin-portal-page .queue-modal-nav button{font-size:18px;font-weight:800;line-height:1;min-width:48px;padding:4px 12px}body.admin-portal-page .queue-modal-body textarea:not(.card){min-height:68px}body.admin-portal-page .queue-modal-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}body.admin-portal-page .news-review-viewer-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}body.admin-portal-page .news-review-viewer-block{background:#fafcff;border:1px solid var(--border-subtle);border-radius:var(--radius-2);box-sizing:border-box;display:grid;gap:4px;padding:8px}body.admin-portal-page .news-review-viewer-block strong{color:var(--ink)}body.admin-portal-page .news-review-viewer-block a{color:var(--link-color);overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:2px}body.admin-portal-page .news-review-viewer-long{line-height:1.4;overflow-wrap:anywhere;white-space:pre-wrap}body.admin-portal-page .news-review-note-line{display:block;margin-bottom:2px}body.admin-portal-page .news-review-note-line.pending{color:#7c121d;font-weight:600}body.admin-portal-page .news-review-note-line.fixed{color:#0b6f3b;font-weight:600}body.admin-portal-page .news-review-viewer-review{display:grid;gap:6px;margin-top:8px}body.admin-portal-page .news-review-viewer-review textarea{min-height:72px}body.admin-portal-page .news-review-table-wrap.data-surface{background:var(--portal-surface-support)}body.admin-portal-page .news-review-viewer-actions{gap:8px}body.admin-portal-page .news-review-viewer-actions > button{flex:0 0 auto;inline-size:var(--portal-button-inline);min-inline-size:var(--portal-button-inline)}body.admin-portal-page :is(button, a).btn-refresh.portal-button{min-block-size:48px;min-height:48px}html[data-theme="dark"] body.admin-portal-page .queue-modal{background:rgba(6,9,16,.72)}html[data-theme="dark"] body.admin-portal-page .queue-modal-card,html[data-theme="dark"] body.admin-portal-page .queue-modal-card.content{background:var(--portal-neutral-content-dark);border-color:var(--portal-dark-border-strong);color:var(--portal-dark-text)}html[data-theme="dark"] body.admin-portal-page .overview-group,
html[data-theme="dark"] body.admin-portal-page .system-health-shell{background:var(--portal-neutral-panel-dark);border-color:var(--portal-dark-border-strong);color:var(--portal-dark-text)}html[data-theme="dark"] body.admin-portal-page .system-health-item{background:var(--portal-neutral-card-dark);border-color:var(--portal-dark-border);color:var(--portal-dark-text)}html[data-theme="dark"] body.admin-portal-page .overview-group>details,
html[data-theme="dark"] body.admin-portal-page .system-health-grid-content,
html[data-theme="dark"] body.admin-portal-page .system-health-summary{background:transparent;color:var(--portal-dark-text)}html[data-theme="dark"] body.admin-portal-page .system-health-item.ok{background:var(--portal-neutral-card-dark);border-color:rgba(124,214,164,.42);box-shadow:inset 0 0 0 1px rgba(124,214,164,.12)}html[data-theme="dark"] body.admin-portal-page .system-health-item.warn{background:var(--portal-neutral-card-dark);border-color:rgba(240,176,95,.42);box-shadow:inset 0 0 0 1px rgba(240,176,95,.12)}html[data-theme="dark"] body.admin-portal-page .system-health-item.error{background:var(--portal-neutral-card-dark);border-color:rgba(242,138,149,.42);box-shadow:inset 0 0 0 1px rgba(242,138,149,.12)}html[data-theme="dark"] body.admin-portal-page .system-health-item.pending{background:var(--portal-neutral-card-dark);border-color:rgba(106,164,255,.42);box-shadow:inset 0 0 0 1px rgba(106,164,255,.12)}
html[data-theme="dark"] body.admin-portal-page .news-review-viewer-review,
html[data-theme="dark"] body.admin-portal-page .queue-modal-actions,
html[data-theme="dark"] body.admin-portal-page .queue-modal-body,html[data-theme="dark"] body.admin-portal-page .queue-modal-header,
html[data-theme="dark"] body.admin-portal-page .queue-modal-nav{color:var(--portal-dark-text)}html[data-theme="dark"] body.admin-portal-page .queue-modal-body.panel{background:var(--portal-neutral-panel-dark);border-color:var(--portal-dark-border);color:var(--portal-dark-text)}html[data-theme="dark"] body.admin-portal-page .news-review-table-wrap.data-surface{background:var(--portal-neutral-table-dark);border-color:var(--portal-dark-border);color:var(--portal-dark-text)}
html[data-theme="dark"] body.admin-portal-page .news-review-viewer-review textarea:not(.card),html[data-theme="dark"] body.admin-portal-page .queue-modal-body textarea:not(.card){background:var(--portal-dark-field-bg);border-color:hsla(0,0%,100%,.12);color:var(--portal-dark-field-text)}
html[data-theme="dark"] body.admin-portal-page .news-review-viewer-review textarea:not(.card)::placeholder,html[data-theme="dark"] body.admin-portal-page .queue-modal-body textarea:not(.card)::placeholder{color:var(--portal-dark-field-placeholder)}html[data-theme="dark"] body.admin-portal-page .news-review-viewer-block{background:var(--portal-neutral-message-dark);border-color:var(--portal-dark-border-strong);color:var(--portal-dark-text)}html[data-theme="dark"] body.admin-portal-page .news-review-viewer-block strong{color:var(--portal-dark-text)}html[data-theme="dark"] body.admin-portal-page .news-review-viewer-block a{color:#cfe0ff}html[data-theme="dark"] body.admin-portal-page .grade-chart-modal-card{background:var(--portal-neutral-card-dark);border-color:var(--portal-dark-border-strong);color:var(--portal-dark-text)}html[data-theme="dark"] body.admin-portal-page .grade-chart-modal-body,html[data-theme="dark"] body.admin-portal-page .grade-chart-modal-header,html[data-theme="dark"] body.admin-portal-page .grade-chart-modal-title{color:var(--portal-dark-text)}html[data-theme="dark"] body.admin-portal-page .grade-chart-modal-meta{color:var(--portal-dark-text-soft)}html[data-theme="dark"] body.admin-portal-page .grade-chart-modal-svg-wrap{background:var(--portal-neutral-table-dark);border-color:var(--portal-dark-border-strong);color:var(--portal-dark-text)}html[data-theme="dark"] body.admin-portal-page .grade-chart-empty{background:var(--portal-neutral-table-dark);border-color:var(--portal-dark-border-strong);color:var(--portal-dark-text-soft)}html[data-theme="dark"] body.admin-portal-page .grade-chart-lane{background:var(--portal-neutral-chart-dark);border-color:var(--portal-dark-border);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.05)}html[data-theme="dark"] body.admin-portal-page .grade-chart-lane-title{color:var(--portal-dark-text)}html[data-theme="dark"] body.admin-portal-page .grade-chart-svg .grade-chart-axis-label{fill:var(--portal-dark-text-soft)}html[data-theme="dark"] body.admin-portal-page .news-review-note-line.pending{color:#ffb8bf}html[data-theme="dark"] body.admin-portal-page .news-review-note-line.fixed{color:#a7e8c0}
html[data-theme="dark"] body.admin-portal-page #newsReviewViewerStatus,
html[data-theme="dark"] body.admin-portal-page .news-review-viewer-review .small,html[data-theme="dark"] body.admin-portal-page .news-review-viewer-review label,
html[data-theme="dark"] body.admin-portal-page .news-review-viewer-review textarea{color:var(--portal-dark-text)}html[data-theme="dark"] body.admin-portal-page #attendanceSaveResult{color:var(--bright-gold-2)}body.portal-hub-page .portal-hub-bg{inset:0;pointer-events:none;position:fixed;z-index:0}body.portal-hub-page .portal-hub-bg__layer,
body.portal-hub-page .portal-hub-bg__wash{inset:0;position:absolute}body.portal-hub-page .portal-hub-bg__layer{background-repeat:no-repeat;filter:saturate(1.02) contrast(.98);opacity:0;transform:scale(1.04);transition:opacity .9s ease,transform 1.4s ease}body.portal-hub-page .portal-hub-bg__layer,body.portal-hub-page .portal-hub-bg__layer--a,body.portal-hub-page .portal-hub-bg__layer--b{background-position:50%;background-size:cover}body.portal-hub-page .portal-hub-bg__layer.is-active{opacity:1;transform:scale(1.01)}body.portal-hub-page .portal-hub-bg__wash{background:var(--hub-wash);mix-blend-mode:screen;opacity:.82}body.portal-hub-page .hub-banner{align-items:center;background:var(--hub-banner-bg,var(--primary-color));border:1px solid var(--hub-banner-border,hsla(0,0%,100%,.18));border-radius:var(--radius-2);color:var(--hub-banner-text,var(--secondary-color));display:flex;font-size:calc(.72rem*var(--hub-phi));font-weight:700;inline-size:100%;justify-content:flex-end;letter-spacing:.08em;line-height:1;margin:0;min-block-size:18px;padding-block:6px;padding-inline:calc(var(--hub-space-2)*1.9)}body.portal-hub-page .hub-banner a{color:inherit;text-decoration:none}body.portal-hub-page .section-kicker{color:var(--brand)}body.portal-hub-page .hub-prefooter{align-items:center;background:var(--hub-surface-content);border-color:var(--hub-surface-border);box-shadow:var(--hub-surface-shadow);display:flex;justify-content:space-between}body.portal-hub-page .hub-prefooter__links{align-items:center;display:flex;gap:8px 10px;justify-content:flex-end}body.portal-hub-page .hub-prefooter__link{text-decoration:none}body.portal-hub-page .theme-toggle{align-items:center;appearance:none;background:transparent;border:1px solid transparent;border-radius:999px;color:var(--portal-theme-toggle-ink);cursor:pointer;display:inline-flex;inline-size:auto;justify-content:center;justify-self:end;min-height:44px;padding:7px;position:relative;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}body.portal-hub-page .theme-toggle:hover{border-color:var(--portal-theme-toggle-hover-border);transform:translateY(-1px)}body.portal-hub-page .theme-toggle:focus-visible{box-shadow:var(--portal-theme-toggle-focus-ring);outline:none}body.portal-hub-page .theme-toggle__icon{align-items:center;background:var(--portal-theme-toggle-icon-bg);border-radius:999px;color:var(--portal-theme-toggle-ink);display:inline-flex;flex:0 0 auto;height:36px;justify-content:center;width:36px}body.portal-hub-page .theme-toggle__icon svg-icon{color:inherit}body.portal-hub-page .theme-toggle__label{display:none}html[data-theme="dark"] body.portal-hub-page .theme-toggle{background:transparent;border-color:transparent;color:var(--portal-theme-toggle-ink-dark)}html[data-theme="dark"] body.portal-hub-page .theme-toggle:hover{border-color:var(--portal-theme-toggle-hover-border-dark)}html[data-theme="dark"] body.portal-hub-page .theme-toggle__icon{background:var(--portal-theme-toggle-icon-bg-dark);color:var(--portal-theme-toggle-ink-dark)}@media (max-width:639px){body.portal-hub-page .hub-prefooter{align-items:flex-start;flex-direction:column}body.portal-hub-page .hub-prefooter__links{justify-content:flex-start}}.side-nav{align-content:start;background:var(--menu-bg);border:1px solid var(--menu-border);border-radius:var(--radius-3);box-shadow:0 22px 48px rgba(12,21,40,.32);box-sizing:border-box;display:grid;gap:14px;inset-block-start:12px;inset-inline-start:12px;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;padding:12px;position:fixed;transform:translateX(calc(-100% - 14px));transition:transform .18s ease;width:var(--side-width);z-index:82}.side-nav.open{transform:translateX(0)}.side-brand{background:var(--menu-header-bg);border:1px solid var(--menu-border);border-radius:var(--radius-2);display:grid;gap:4px;padding:10px}.side-brand strong{font-size:14px}.side-brand span{color:var(--ink-soft);font-size:12px}.side-links{display:grid;gap:6px}.side-actions{border-top:1px solid var(--menu-border);margin-top:4px;padding:8px 4px 0}.side-actions button{box-sizing:border-box;width:100%}.side-actions{display:grid;gap:8px}.menu-groups{display:grid;gap:10px}.menu-group{background:var(--menu-bg);border:1px solid var(--menu-border);border-radius:var(--radius-2);overflow:hidden}.menu-group-btn{align-items:center;background:var(--menu-button-bg);border:1px solid var(--menu-button-border);border-radius:var(--radius-2);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.2);box-sizing:border-box;color:var(--menu-button-text);cursor:pointer;display:inline-flex;font-size:11px;font-weight:700;justify-content:space-between;letter-spacing:.08em;min-height:36px;padding:10px 12px;text-align:left;text-transform:uppercase;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease;width:100%}
.menu-group-btn:focus-visible,.menu-group-btn:hover{background:var(--menu-button-hover-bg);border-color:var(--menu-button-hover-border);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.24),0 10px 22px rgba(12,21,40,.16);color:var(--menu-button-hover-text);outline:none;transform:translateY(-1px)}.menu-group.expanded .menu-group-btn{background:var(--menu-button-active-bg);border-color:var(--menu-button-active-border);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.26),0 0 0 1px color-mix(in srgb,var(--menu-button-active-border) 72%,transparent);color:var(--menu-button-active-text)}.menu-group-btn:active{background:var(--menu-button-pressed-bg);border-color:var(--menu-button-pressed-border);box-shadow:inset 0 1px 2px rgba(0,0,0,.16),0 0 0 1px color-mix(in srgb,var(--menu-button-pressed-border) 72%,transparent);color:var(--menu-button-pressed-text);transform:translateY(0)}.menu-group-links{display:none;gap:6px;padding:8px}.menu-group.expanded .menu-group-links{display:grid}.menu-link{background:var(--menu-link-bg);border:1px solid var(--menu-border);border-radius:var(--radius-2);color:var(--ink);font-size:12px;padding:8px 10px;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}.menu-link-top{align-items:center;border-width:2px;display:inline-flex;font-size:11px;font-weight:700;justify-content:space-between;letter-spacing:.08em;min-height:36px;text-transform:uppercase}.menu-group[data-menu-group="tracking"]>.menu-group-links>.menu-link{font-weight:600}.menu-link.active{background:var(--menu-link-active-bg);border-color:var(--menu-link-active-border);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.28);color:var(--menu-link-active-text)}
.menu-link.active:focus-visible,.menu-link.active:hover{background:var(--menu-link-active-bg);border-color:var(--menu-link-active-border);color:var(--menu-link-active-text)}.menu-sub-links{display:grid;gap:4px;margin:0 0 2px 12px}.menu-sublink{font-size:11px;padding:6px 8px}.side-link{align-items:center;background:var(--menu-link-bg);border:1px solid var(--menu-border);border-radius:var(--radius-2);color:var(--ink);display:inline-flex;font-size:12px;font-weight:700;min-height:36px;padding:8px 10px;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}
.side-link:focus-visible,.side-link:hover{background:var(--menu-link-hover-bg);border-color:var(--menu-link-hover-border);box-shadow:0 10px 22px rgba(12,21,40,.14);color:var(--secondary-color)!important;outline:none;transform:translateY(-1px)}.side-link.active{background:var(--menu-link-active-bg);border-color:var(--menu-link-active-border);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.3),0 0 0 1px color-mix(in srgb,var(--menu-link-active-border) 66%,transparent);color:var(--menu-link-active-text);font-weight:800}
.side-link.active:focus-visible,.side-link.active:hover{background:var(--menu-link-active-bg);border-color:var(--menu-link-active-border);color:var(--menu-link-active-text)}.side-link:active{background:var(--menu-link-pressed-bg);border-color:var(--menu-link-pressed-border);box-shadow:inset 0 1px 2px rgba(0,0,0,.14),0 0 0 1px color-mix(in srgb,var(--menu-link-pressed-border) 70%,transparent);color:var(--menu-link-pressed-text);transform:translateY(0)}.menu-group-btn::after{block-size:7px;border-bottom:2px solid;border-right:2px solid;content:"";display:inline-block;inline-size:7px;margin-inline-start:auto;opacity:.72;transform:translateY(-1px) rotate(45deg);transition:transform .16s ease,opacity .16s ease}.menu-group.expanded .menu-group-btn::after{transform:translateY(2px) rotate(-135deg)}body.admin-portal-page .app-sidebar{align-content:start;background:var(--portal-surface-panel);border:1px solid var(--portal-border);border-radius:0 var(--radius-3) var(--radius-3) 0;box-shadow:0 22px 48px rgba(12,21,40,.28);box-sizing:border-box;display:grid;gap:12px;inset-block:0;inset-inline-start:0;margin:0;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:14px 12px 12px;position:fixed;transform:translateX(calc(-100% - 14px));transition:transform .18s ease,box-shadow .18s ease;width:min(86vw,320px);will-change:transform;z-index:82}html[data-theme="dark"] body.admin-portal-page .app-sidebar{background:var(--portal-surface-panel);border-color:var(--portal-dark-border);box-shadow:0 22px 48px rgba(0,0,0,.46)}body.menu-open.admin-portal-page .app-sidebar{transform:translateX(0)}body.menu-collapsed body.admin-portal-page .app-sidebar{transform:translateX(calc(-100% - 14px))}body.admin-portal-page .app-sidebar h2{color:var(--portal-role-text);font-size:12px;font-weight:800;letter-spacing:.08em;line-height:1.2;margin:0;text-transform:uppercase}body.admin-portal-page .app-sidebar .small{color:var(--portal-text-soft);font-size:15px;line-height:1.4;margin:0}
html[data-theme="dark"] body.admin-portal-page .app-sidebar .small,html[data-theme="dark"] body.admin-portal-page .app-sidebar h2{color:var(--portal-dark-text-soft)}body.admin-portal-page .sidebar-logo-wrap{align-items:center;background:var(--portal-role-data-surface-bg);border:1px solid var(--portal-border);border-radius:var(--radius-3);box-sizing:border-box;display:flex;justify-content:center;min-height:78px;overflow:hidden;padding:8px;width:100%}body.admin-portal-page .sidebar-logo-wrap img{display:block;max-height:72px;max-width:100%;object-fit:contain}body.admin-portal-page .sidebar-logo-fallback{color:var(--portal-role-text);font-size:15px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}html[data-theme="dark"] body.admin-portal-page .sidebar-logo-wrap{background:var(--portal-dark-surface-support);border-color:var(--portal-dark-border)}html[data-theme="dark"] body.admin-portal-page .sidebar-logo-fallback{color:var(--portal-dark-text)}body.admin-portal-page .menu-groups{gap:12px}body.admin-portal-page .menu-group{background:transparent;border:0;border-radius:0;box-shadow:none}html[data-theme="dark"] body.admin-portal-page .menu-group{background:transparent;border:0;box-shadow:none}
body.admin-portal-page .menu-group-btn,body.admin-portal-page .menu-link.menu-link-top{align-items:center;appearance:none;background:var(--menu-link-bg);border:1px solid var(--menu-border);border-radius:var(--radius-2);box-shadow:none;box-sizing:border-box;color:var(--portal-role-text);display:flex;font-family:inherit;font-size:12px;font-weight:700;gap:10px;justify-content:space-between;min-height:44px;padding:8px 10px;position:relative;text-align:left;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease;width:100%}
body.admin-portal-page .menu-group-btn:focus-visible,
body.admin-portal-page .menu-group-btn:hover,
body.admin-portal-page .menu-link.menu-link-top:focus-visible,body.admin-portal-page .menu-link.menu-link-top:hover{background:var(--menu-link-hover-bg);border-color:var(--menu-link-hover-border);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.24),0 10px 22px rgba(12,21,40,.16);color:var(--secondary-color)!important;outline:none;transform:translateY(-1px)}
body.admin-portal-page .menu-group-btn:active,body.admin-portal-page .menu-link.menu-link-top:active{background:var(--menu-link-pressed-bg);border-color:var(--menu-link-pressed-border);box-shadow:inset 0 1px 2px rgba(0,0,0,.16),0 0 0 1px color-mix(in srgb,var(--menu-link-pressed-border) 70%,transparent);color:var(--menu-link-pressed-text);transform:translateY(0)}
html:not([data-theme="dark"]) body.admin-portal-page .menu-group-btn:focus-visible,
html:not([data-theme="dark"]) body.admin-portal-page .menu-group-btn:hover,
html:not([data-theme="dark"]) body.admin-portal-page .menu-link.menu-link-top:focus-visible,html:not([data-theme="dark"]) body.admin-portal-page .menu-link.menu-link-top:hover,
html:not([data-theme="dark"]) body.parent-portal-page .side-link:focus-visible,
html:not([data-theme="dark"]) body.parent-portal-page .side-link:hover,
html:not([data-theme="dark"]) body.student-portal-page .side-link:focus-visible,
html:not([data-theme="dark"]) body.student-portal-page .side-link:hover{color:var(--secondary-color)!important}
html[data-theme="dark"] body.admin-portal-page .menu-group-btn,html[data-theme="dark"] body.admin-portal-page .menu-link.menu-link-top{background:var(--portal-dark-surface-support);border-color:var(--portal-dark-border);color:var(--portal-dark-text)}
html[data-theme="dark"] body.admin-portal-page .menu-group-btn:focus-visible,
html[data-theme="dark"] body.admin-portal-page .menu-group-btn:hover,
html[data-theme="dark"] body.admin-portal-page .menu-link.menu-link-top:focus-visible,html[data-theme="dark"] body.admin-portal-page .menu-link.menu-link-top:hover{background:var(--menu-link-hover-bg)}body.admin-portal-page .menu-group.expanded .menu-group-btn{background:var(--menu-link-bg);border-color:var(--menu-border);box-shadow:none;color:var(--portal-role-text)}html[data-theme="dark"] body.admin-portal-page .menu-group.expanded .menu-group-btn{background:var(--portal-dark-surface-support);border-color:var(--portal-dark-border);color:var(--portal-dark-text)}body.admin-portal-page .menu-group-links{background:var(--portal-surface-support);gap:6px;padding:10px}html[data-theme="dark"] body.admin-portal-page .menu-group-links{background:var(--portal-surface-panel)}body:is(.admin-portal-page, .parent-portal-page, .student-portal-page)
  :where(select, .menu-group-links, .menu-sub-links, .row-options-dropdown, .quick-link-select, [role="listbox"], [role="menu"], .pt-score-legend-popover){background:var(--portal-surface-support)!important}html[data-theme="dark"] body:is(.admin-portal-page, .parent-portal-page, .student-portal-page)
  :where(select, .menu-group-links, .menu-sub-links, .row-options-dropdown, .quick-link-select, [role="listbox"], [role="menu"], .pt-score-legend-popover){background:#525252!important}html[data-theme="dark"] body:is(.parent-portal-page, .student-portal-page) .quick-link-select select option{background:#525252;color:var(--portal-dark-text)}body:is(.admin-portal-page, .parent-portal-page, .student-portal-page) .quick-link-select select{background:transparent!important}body.admin-portal-page .menu-group-btn::after{background:currentColor;block-size:16px;content:"";display:block;flex:0 0 16px;inline-size:16px;margin:0 0 0 auto;-webkit-mask:url(/web-asset/images/caret-down.svg) center/contain no-repeat;mask:url(/web-asset/images/caret-down.svg) center/contain no-repeat;opacity:.72;position:static;transform:none;transition:transform .16s ease,opacity .16s ease}body.admin-portal-page .menu-group.expanded .menu-group-btn::after{transform:rotate(180deg)}body.admin-portal-page .menu-link{align-items:center;background:var(--portal-surface-card);border:1px solid var(--menu-border);border-radius:var(--radius-2);color:var(--portal-role-text);display:inline-flex;font-size:12px;font-weight:700;justify-content:space-between;min-height:40px;padding:8px 10px;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
body.admin-portal-page .menu-link:focus-visible,body.admin-portal-page .menu-link:hover{background:var(--menu-link-hover-bg);border-color:var(--menu-link-hover-border);box-shadow:0 8px 18px rgba(12,21,40,.14);color:var(--secondary-color)!important;outline:none;transform:translateY(-1px)}body.admin-portal-page .menu-link.active{background:var(--menu-link-active-bg);border-color:var(--menu-link-active-border);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.32),0 0 0 1px color-mix(in srgb,var(--menu-link-active-border) 68%,transparent);color:var(--menu-link-active-text);font-weight:800}
body.admin-portal-page .menu-link.active:focus-visible,body.admin-portal-page .menu-link.active:hover{background:var(--menu-link-active-bg);border-color:var(--menu-link-active-border);color:var(--menu-link-active-text)}body.admin-portal-page .menu-link:active{background:var(--menu-link-pressed-bg);border-color:var(--menu-link-pressed-border);box-shadow:inset 0 1px 2px rgba(0,0,0,.16),0 0 0 1px color-mix(in srgb,var(--menu-link-pressed-border) 70%,transparent);color:var(--menu-link-pressed-text);transform:translateY(0)}html[data-theme="dark"] body.admin-portal-page .menu-link{background:var(--portal-dark-surface-support);border-color:var(--portal-dark-border);color:var(--portal-dark-text)}
html[data-theme="dark"] body.admin-portal-page .menu-link.active,
html[data-theme="dark"] body.admin-portal-page .menu-link:focus-visible,html[data-theme="dark"] body.admin-portal-page .menu-link:hover{box-shadow:0 10px 20px rgba(0,0,0,.24)}body.admin-portal-page .menu-link.menu-link-top{min-height:44px}body.admin-portal-page .menu-sub-links{gap:6px;margin:2px 0 0 10px;padding:0 0 0 10px}body.admin-portal-page .menu-sublink{font-size:11px;min-height:36px;padding:6px 9px}body.admin-portal-page .menu-group[data-menu-group="tracking"]>.menu-group-links>.menu-link{font-weight:700}body.admin-portal-page .sidebar-actions{border-top:1px solid var(--portal-border);display:grid;gap:8px;margin-top:2px;padding-top:12px}body.admin-portal-page .sidebar-actions button{box-sizing:border-box;width:100%}html[data-theme="dark"] body.admin-portal-page .sidebar-actions{border-top-color:var(--portal-dark-border)}body.admin-portal-page .menu-backdrop{background:transparent;inset:0;opacity:0;pointer-events:none;position:fixed;transition:none;z-index:81}body.menu-open.admin-portal-page .menu-backdrop{opacity:1;pointer-events:auto}@media (max-width:860px){body.admin-portal-page .app-sidebar{width:min(92vw,320px)}}
.nav-overlay,.nav-scrim{backdrop-filter:none;background:transparent;border:none;cursor:pointer;inline-size:auto;inset:0;margin:0;max-inline-size:none;min-inline-size:0;opacity:0;padding:0;pointer-events:none;position:fixed;transition:none;z-index:81}
body.menu-open .nav-overlay,body.menu-open .nav-scrim{opacity:1;pointer-events:auto}
.nav-overlay:active,
.nav-overlay:focus,
.nav-overlay:hover,
.nav-scrim:active,
.nav-scrim:focus,.nav-scrim:hover{background:transparent!important;border-color:transparent!important;box-shadow:none!important;color:transparent!important;outline:none!important;transform:none!important}body.menu-open,
body.modal-open{overflow:hidden}.hero,
.topbar{align-items:center;background:var(--portal-role-content-bg);border-color:var(--portal-role-border);color:var(--portal-role-text);display:grid;gap:8px;padding:6px 28px}.topbar{block-size:var(--portal-brand-header-block-size);max-block-size:var(--portal-brand-header-block-size);min-block-size:var(--portal-brand-header-block-size)}body.portal-hub-page .hero,
body.portal-hub-page .section-card{background:var(--hub-surface-content);border-color:var(--hub-surface-border);box-shadow:var(--hub-surface-shadow);overflow:hidden;position:relative}body.portal-hub-page .hero::before,
body.portal-hub-page .section-card::before{background:none;opacity:0}body.portal-hub-page .hero>*,
body.portal-hub-page .section-card>*{position:relative;z-index:1}.hero-line,
.topbar-head{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.topbar-head{min-block-size:var(--portal-brand-header-row-block-size)}
.brand-head,.hero-brand{align-items:center;display:flex;gap:10px;min-width:0}.hero-copy{min-width:0}.hero-kicker,
.section-kicker{color:var(--brand);font-size:11px;font-weight:700;letter-spacing:.08em;margin:0 0 2px;text-transform:uppercase}.section-kicker{color:var(--brand-2)}.hero h1,
.topbar h1,
h1{font-size:clamp(1.05rem,2.6vw,1.2rem);line-height:1.2;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero p,
.hero-copy p,
.section-lede,
.status,
.sub,
.topbar p{color:var(--hub-surface-text-soft,var(--ink-soft));font-size:.91rem;line-height:1.35}.hero p,
.hero-copy p,
.section-lede,
.topbar p{margin:4px 0 0}.section-lede{font-size:.9rem}
.app-header-actions,
.header-actions,.hero-actions{align-items:center;display:inline-flex;flex-wrap:nowrap;gap:8px;justify-content:flex-end}.hero-link{align-items:center;background:linear-gradient(180deg,rgba(240,245,255,.95),rgba(227,236,255,.86));border:1px solid var(--hub-surface-border);border-radius:var(--radius-2);color:var(--hub-accent-strong);display:inline-flex;font-size:12px;font-weight:700;min-height:36px;padding:8px 12px;text-decoration:none}
.hero-link:focus-visible,.hero-link:hover{background:linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(236,243,255,.92));border-color:#8ea7c9;outline:none}.section-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:var(--portal-content-gap)}.section-head h2,
.section-head h3,
.section-title{font-size:clamp(17px,3.3vw,21px);line-height:1.2;margin:0;text-transform:none}body:is(.student-portal-page, .parent-portal-page) :is(.toolbar, .panel, .card, .detail-card, .report-head-card, .report-grade-block, .report-band, .report-archive-item) h3{font-size:21px;font-weight:700;line-height:1.2;margin:0 0 8px;text-transform:none}body:is(.student-portal-page, .parent-portal-page) :is(.toolbar, .panel, .card, .detail-card, .report-head-card, .report-grade-block, .report-band, .report-archive-item) > h2{font-size:21px;font-weight:700;line-height:1.2;margin:0 0 12px;text-transform:none}body:is(.student-portal-page, .parent-portal-page) :is(.toolbar, .panel, .card, .detail-card, .report-head-card, .report-grade-block, .report-band, .report-archive-item) > h3{margin-bottom:12px}body:is(.student-portal-page, .parent-portal-page) :is(#studentOverviewSummary, #parentOverviewSummary).panel{display:block;grid-column:1/-1;inline-size:100%;justify-self:stretch}.section-note{color:var(--portal-text-soft);font-size:.92rem;line-height:1.35;margin:0}
body.admin-portal-page #performanceQueueSection .section-title,
body.admin-portal-page #performanceStagedSection .section-title,body.admin-portal-page .performance-data-list .section-title{color:var(--portal-text)}
html[data-theme="dark"] body.admin-portal-page #performanceQueueSection .section-title,
html[data-theme="dark"] body.admin-portal-page #performanceStagedSection .section-title,html[data-theme="dark"] body.admin-portal-page .performance-data-list .section-title{color:var(--portal-dark-text)}.report-control-line{color:var(--portal-data-label);margin:0}.report-control-line strong{font:inherit}.app-sidebar{box-shadow:var(--portal-panel-shadow)}body.report-template-page .section-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.sidebar-title{color:var(--portal-role-text);font-size:clamp(1.02rem,1.8vw,1.14rem);font-weight:800;line-height:1.15;margin:0}.metric-table th{color:var(--portal-data-label);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.metric-table td{color:var(--portal-role-text)}html[data-theme="dark"] body.admin-portal-page .metric-table th{color:var(--portal-dark-text-soft)}html[data-theme="dark"] body.admin-portal-page .metric-table td{color:var(--portal-dark-text)}body.report-template-page .summary-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}body.report-template-page .summary-card{display:grid;gap:8px;min-width:0;padding:14px}@media (max-width:700px){body.report-template-page .summary-grid{grid-template-columns:minmax(0,1fr)}body.report-template-page .metric-table-wrap{box-sizing:border-box;max-inline-size:100%;min-inline-size:0;overflow-x:auto;overflow-y:hidden}}.summary-label{color:var(--portal-data-label);font-size:12px;font-weight:700;letter-spacing:.04em;margin:0;text-transform:uppercase}.summary-value{color:inherit;font-size:1.6rem;font-weight:800;line-height:1;margin:0}.summary-subtitle{color:var(--portal-data-label);font-size:13px;line-height:1.45;margin:0}.detail-card h3,
.item-title,
.metric-title{color:inherit;font-weight:700;margin:0}.detail-card h3{font-size:21px;line-height:1.2}.item-title{line-height:1.35}
.item-body,.item-meta,
.metric-note,
.metric-text{color:var(--portal-data-label);font-size:13px;margin:0}
.item-body,.item-meta{line-height:1.45}.review-label{color:var(--portal-data-label);font-size:12px;font-weight:700;letter-spacing:.04em;margin:0;text-transform:uppercase}.review-field{min-height:44px;padding:10px 12px}.report-chip{align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-size:12px;font-weight:700;gap:6px;line-height:1;padding:6px 10px;white-space:nowrap}html[data-theme="dark"] .app-school-name,
html[data-theme="dark"] .assignment-square-value,
html[data-theme="dark"] .detail-card h3,
html[data-theme="dark"] .exercise-title,
html[data-theme="dark"] .item-title,
html[data-theme="dark"] .meta-value,
html[data-theme="dark"] .metric-note,
html[data-theme="dark"] .metric-text,
html[data-theme="dark"] .metric-title,
html[data-theme="dark"] .report-control-line,
html[data-theme="dark"] .report-control-line strong,
html[data-theme="dark"] .review-field,
html[data-theme="dark"] .section-title,
html[data-theme="dark"] .sidebar-title,
html[data-theme="dark"] .summary-label,
html[data-theme="dark"] .summary-subtitle,
html[data-theme="dark"] .summary-value{color:var(--portal-role-text)!important}
html[data-theme="dark"] .dashboard-card-subtitle,
html[data-theme="dark"] .field-hint,
html[data-theme="dark"] .hint,html[data-theme="dark"] .metric-table th,
html[data-theme="dark"] .report-archive-meta,
html[data-theme="dark"] .report-archive-status,
html[data-theme="dark"] .report-control-line,
html[data-theme="dark"] .section-note,
html[data-theme="dark"] .status{color:var(--portal-dark-text-soft)!important}.text-zoom-controls .zoom-label{color:var(--portal-data-label)}.text-zoom-controls{align-items:center;display:inline-flex;flex-wrap:nowrap;gap:6px;justify-content:flex-end;margin:0}body.parent-portal-page .text-zoom-controls{zoom:calc(1/var(--portal-text-zoom, 1))}.text-zoom-controls button,
.text-zoom-controls button:not(.floating-menu-btn){font-size:12px;inline-size:auto;min-height:36px;min-width:44px;padding:6px 8px;white-space:nowrap}.zoom-label{color:var(--portal-data-label);font-family:var(--font-base,system-ui,-apple-system,sans-serif);font-size:11px}.floating-menu-btn{align-items:center;background:var(--portal-floating-menu-fill);block-size:44px;border:1px solid var(--portal-floating-menu-stroke);border-radius:var(--radius-pill);box-shadow:0 12px 24px rgba(14,24,42,.32);color:var(--portal-floating-menu-ink);cursor:pointer;display:inline-flex;inline-size:44px;inset-block-start:12px;inset-inline-end:12px;justify-content:center;max-inline-size:44px;min-block-size:44px;min-inline-size:44px;padding:0;position:fixed;z-index:90}@media (min-width:1441px){.floating-menu-btn{inset-inline-end:auto;inset-inline-start:calc(50% + var(--portal-floating-menu-content-max-inline-size)/2 - 44px - var(--portal-floating-menu-content-edge-gap))}body.admin-portal-page .floating-menu-btn{inset-inline-end:12px;inset-inline-start:auto}}.floating-menu-btn,
.menu-toggle-btn,
.portal-theme-toggle{touch-action:manipulation}.floating-menu-btn:hover{background-color:var(--portal-floating-menu-fill-hover);border-color:var(--portal-floating-menu-stroke);color:var(--portal-floating-menu-ink)}.floating-menu-btn:focus-visible{outline:2px solid var(--portal-floating-menu-stroke);outline-offset:2px}.floating-menu-icon,
.floating-menu-icon::after,
.floating-menu-icon::before{background:var(--portal-floating-menu-ink);border-radius:2px;content:"";display:block;height:2px;transition:transform .16s ease,opacity .16s ease;width:18px}.floating-menu-icon{position:relative}.floating-menu-btn,
.menu-toggle-btn{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}
body.admin-portal-page .floating-menu-btn,
body.admin-portal-page .menu-toggle-btn,
body.parent-portal-page .floating-menu-btn,body.student-portal-page .floating-menu-btn{background:var(--tertiary-color)!important;border-color:var(--menu-button-border)!important;color:var(--menu-button-text)!important}
body.admin-portal-page .floating-menu-btn:focus-visible,
body.admin-portal-page .floating-menu-btn:hover,
body.admin-portal-page .menu-toggle-btn:focus-visible,
body.admin-portal-page .menu-toggle-btn:hover,
body.parent-portal-page .floating-menu-btn:focus-visible,
body.parent-portal-page .floating-menu-btn:hover,
body.student-portal-page .floating-menu-btn:focus-visible,body.student-portal-page .floating-menu-btn:hover{background:var(--menu-button-hover-bg)!important;border-color:var(--menu-button-hover-border)!important;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.24),0 12px 24px rgba(12,21,40,.22)!important;color:var(--menu-button-hover-text)!important;outline:none;transform:translateY(-1px)}
body.admin-portal-page .floating-menu-btn:active,
body.admin-portal-page .menu-toggle-btn:active,
body.menu-open.admin-portal-page .floating-menu-btn,
body.menu-open.admin-portal-page .menu-toggle-btn,
body.menu-open.parent-portal-page .floating-menu-btn,
body.menu-open.student-portal-page .floating-menu-btn,
body.parent-portal-page .floating-menu-btn:active,body.student-portal-page .floating-menu-btn:active{background:var(--menu-button-active-bg)!important;border-color:var(--menu-button-active-border)!important;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.26),0 0 0 1px color-mix(in srgb,var(--menu-button-active-border) 72%,transparent)!important;color:var(--menu-button-active-text)!important}
body.admin-portal-page .floating-menu-btn:active,
body.admin-portal-page .menu-toggle-btn:active,
body.parent-portal-page .floating-menu-btn:active,body.student-portal-page .floating-menu-btn:active{background:var(--menu-button-pressed-bg)!important;border-color:var(--menu-button-pressed-border)!important;box-shadow:inset 0 1px 2px rgba(0,0,0,.16),0 0 0 1px color-mix(in srgb,var(--menu-button-pressed-border) 72%,transparent)!important;color:var(--menu-button-pressed-text)!important;transform:translateY(0)}
body.parent-portal-page .side-link:focus-visible,
body.parent-portal-page .side-link:hover,
body.student-portal-page .side-link:focus-visible,body.student-portal-page .side-link:hover{background:var(--menu-link-hover-bg)!important;border-color:var(--menu-link-hover-border)!important;color:var(--secondary-color)!important}
body.parent-portal-page .side-link.active,
body.parent-portal-page .side-link.active:focus-visible,
body.parent-portal-page .side-link.active:hover,body.student-portal-page .side-link.active,
body.student-portal-page .side-link.active:focus-visible,
body.student-portal-page .side-link.active:hover{background:var(--menu-link-active-bg)!important;border-color:var(--menu-link-active-border)!important;color:var(--menu-link-active-text)!important}
body.parent-portal-page .side-link:active,body.student-portal-page .side-link:active{background:var(--menu-link-pressed-bg)!important;border-color:var(--menu-link-pressed-border)!important;color:var(--menu-link-pressed-text)!important}
html[data-theme="dark"] body.admin-portal-page .menu-link:focus-visible,
html[data-theme="dark"] body.admin-portal-page .menu-link:hover,
html[data-theme="dark"] body.parent-portal-page .side-link:focus-visible,
html[data-theme="dark"] body.parent-portal-page .side-link:hover,
html[data-theme="dark"] body.student-portal-page .side-link:focus-visible,html[data-theme="dark"] body.student-portal-page .side-link:hover{background:var(--menu-link-hover-bg)!important;border-color:var(--menu-link-hover-border)!important;color:var(--menu-link-hover-text)!important}
html[data-theme="dark"] body.admin-portal-page .menu-link.active,
html[data-theme="dark"] body.admin-portal-page .menu-link.active:focus-visible,
html[data-theme="dark"] body.admin-portal-page .menu-link.active:hover,
html[data-theme="dark"] body.parent-portal-page .side-link.active,
html[data-theme="dark"] body.parent-portal-page .side-link.active:focus-visible,
html[data-theme="dark"] body.parent-portal-page .side-link.active:hover,html[data-theme="dark"] body.student-portal-page .side-link.active,
html[data-theme="dark"] body.student-portal-page .side-link.active:focus-visible,
html[data-theme="dark"] body.student-portal-page .side-link.active:hover{background:var(--menu-link-active-bg)!important;border-color:var(--menu-link-active-border)!important;color:var(--menu-link-active-text)!important}
html[data-theme="dark"] body.admin-portal-page .menu-link:active,
html[data-theme="dark"] body.parent-portal-page .side-link:active,html[data-theme="dark"] body.student-portal-page .side-link:active{background:var(--menu-link-pressed-bg)!important;border-color:var(--menu-link-pressed-border)!important;color:var(--menu-link-pressed-text)!important}.floating-menu-icon::before{left:0;position:absolute;top:-6px}.floating-menu-icon::after{left:0;position:absolute;top:6px}body.menu-open .floating-menu-icon{background:transparent}body.menu-open .floating-menu-icon::before{transform:translateY(6px) rotate(45deg)}body.menu-open .floating-menu-icon::after{transform:translateY(-6px) rotate(-45deg)}.brand-logo-wrap{align-items:center;background:#fbffff;border:1px solid #90a4c3;border-radius:var(--radius-3);display:inline-flex;flex:0 0 auto;justify-content:center;overflow:hidden}.brand-logo-wrap--sm{height:38px;width:38px}.brand-logo-wrap--lg{height:48px;width:48px}.brand-logo{display:block;height:100%;object-fit:cover;width:100%}.env-badge{align-items:center;background:var(--portal-action-green-top);border:1px solid var(--portal-action-green-border);border-radius:var(--radius-pill);color:var(--portal-action-secondary-text);display:inline-flex;font-size:13px;font-weight:700;letter-spacing:.02em;max-width:360px;overflow:hidden;padding:8px;text-overflow:ellipsis;white-space:nowrap}.env-badge[data-env="development"],.env-badge[data-env="production"]{background:var(--portal-action-green-top);border-color:var(--portal-action-green-border);color:var(--portal-action-secondary-text)}
.portal-col,.portal-grid,
.resource-list{display:grid;gap:10px}.portal-grid>.portal-col{grid-column:1/-1}.portal-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.portal-card,
.resource-card{align-items:center;background:linear-gradient(180deg,hsla(0,0%,100%,.94),rgba(247,250,255,.98));border:1px solid var(--card-border,rgba(128,152,190,.7));border-radius:var(--radius-3);box-shadow:inset 0 0 0 1px var(--card-border-soft,hsla(0,0%,100%,.72)),0 10px 20px rgba(31,45,74,.05);color:inherit;display:grid;gap:12px;min-height:76px;overflow:hidden;padding:14px;position:relative;text-decoration:none}.portal-card{align-content:center;grid-template-columns:auto minmax(0,1fr) auto;transition:transform .12s ease,border-color .12s ease,background-color .12s ease,box-shadow .12s ease}
.portal-card:focus-visible,.portal-card:hover{background:linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(244,247,255,.98));border-color:rgba(111,134,173,.92);outline:none;transform:translateY(-1px)}.portal-card__icon{display:inline-flex;grid-area:icon}.portal-card__body{grid-area:body}.portal-card__chev{grid-area:chev}.portal-card::before,
.resource-card::before{background:linear-gradient(135deg,var(--tone-soft,rgba(94,118,171,.12)),transparent 70%),linear-gradient(90deg,transparent,var(--card-border-soft,hsla(0,0%,100%,.2)),transparent);content:"";inset:0;pointer-events:none;position:absolute}html[data-theme="dark"] body.portal-hub-page .portal-card::before,
html[data-theme="dark"] body.portal-hub-page .resource-card::before{background:linear-gradient(90deg,transparent,transparent 58%,rgba(249,250,255,.14) 82%,rgba(249,250,255,.28)),radial-gradient(120% 96% at 100% 50%,rgba(249,250,255,.16) 0,transparent 60%)}.portal-card__body,
.resource-card__body{display:grid;gap:3px;min-width:0}.portal-card__title,
.resource-card__title{font-size:clamp(1.02rem,1.8vw,1.14rem);font-weight:800;line-height:1.15;margin:0}.portal-card__subtitle,
.resource-card__subtitle{color:var(--hub-theme-card-subtitle,var(--ink-soft));font-size:.9rem;line-height:1.3}.portal-card__icon,
.resource-card__icon{align-items:center;aspect-ratio:1/1;background:linear-gradient(180deg,hsla(0,0%,100%,.95),rgba(247,250,255,.82));border:1px solid var(--tone-border,rgba(128,152,190,.35));border-radius:calc(var(--radius-3) + 2px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.82),0 8px 18px rgba(25,37,62,.08);color:var(--tone,var(--brand-2));display:inline-flex;inline-size:clamp(46px,6vw,68px);justify-content:center}.portal-card__icon-mark,
.resource-card__icon-mark{display:inline-block;font-size:clamp(.82rem,1.4vw,1rem);font-weight:900;letter-spacing:.06em;line-height:1}.portal-card--admin{--card-border:rgba(137,19,31,.94);--card-border-soft:rgba(255,219,223,.9);--tone:#b50010;--tone-border:rgba(137,19,31,.94);--tone-soft:rgba(181,0,16,.18);background:linear-gradient(180deg,#ffdee2,#fff7f8);border-color:rgba(137,19,31,.94)}.portal-card--admin .portal-card__icon{background:linear-gradient(180deg,#ffdfe3,rgba(255,248,249,.92))}.portal-card--admin .portal-card__icon-mark{font-size:clamp(1rem,1.8vw,1.24rem)}.portal-card--admin .portal-card__body{align-content:center}.portal-card--admin .portal-card__eyebrow{letter-spacing:.12em}.portal-card--admin .portal-card__chev{font-family:inherit}.portal-card--parent{--card-border:hsla(0,0%,44.3%,.95);--card-border-soft:hsla(0,0%,91%,.92);--tone:#7b6240;--tone-border:hsla(0,0%,44.3%,.95);--tone-soft:rgba(123,98,64,.15);background:linear-gradient(180deg,#fffcf5,#fcf8ef);border-bottom-width:6px;border-color:hsla(0,0%,44.3%,.95)}.portal-card--student{--card-border:rgba(18,49,140,.94);--card-border-soft:rgba(226,233,255,.9);--tone:#002786;--tone-border:rgba(18,49,140,.94);--tone-soft:rgba(0,39,134,.17);background:linear-gradient(180deg,#e2ebff,#f8fbff);border-bottom-width:6px;border-color:rgba(18,49,140,.94)}.portal-card--admin{border-bottom-width:6px}.portal-card__chev{color:var(--tone,var(--brand-2));font-size:clamp(1.1rem,2.2vw,1.4rem);line-height:1;margin-left:auto}.resource-card{background:linear-gradient(180deg,rgba(249,251,255,.96),rgba(241,245,252,.98));border-radius:var(--radius-2);grid-template-areas:"icon body meta";grid-template-columns:auto minmax(0,1fr) auto;min-height:60px;padding:11px 12px}
.resource-card[href]:focus-visible,.resource-card[href]:hover{background:linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(243,247,255,.98));border-color:rgba(120,144,186,.92);outline:none}.resource-card--disabled{opacity:.72}.resource-card__icon{display:inline-flex;grid-area:icon}.resource-card__body{align-content:center;grid-area:body}.resource-card__meta{color:var(--tone,var(--brand-2));font-size:clamp(.82rem,1.4vw,.92rem);font-weight:700;grid-area:meta;margin-left:auto;white-space:nowrap}body.portal-hub-page .hero-copy h1,
body.portal-hub-page .portal-card__title,
body.portal-hub-page .resource-card__title,
body.portal-hub-page .section-head h2,
body.portal-hub-page .section-title{color:var(--hub-surface-text)}body.portal-hub-page .hero-copy p,
body.portal-hub-page .section-lede{color:var(--hub-surface-text-soft)}.section-card{display:grid;gap:12px}html:not([data-theme="dark"]) body.portal-hub-page .section-card--primary{--hub-accent:var(--secondary-color);--hub-accent-soft:#fff}html:not([data-theme="dark"]) body.portal-hub-page .section-card--resources{--hub-accent:#256a7b;--hub-accent-soft:rgba(37,106,123,.11)}html[data-theme="dark"] body.portal-hub-page .portal-card__icon,
html[data-theme="dark"] body.portal-hub-page .resource-card__icon{color:var(--tone,var(--hub-accent-strong))}html[data-theme="dark"] body.portal-hub-page .portal-card--admin{--admin-card-bg-end:rgba(57,22,27,.98);--admin-card-bg-start:rgba(74,32,38,.98);--card-border:rgba(181,0,16,.96);--card-border-soft:rgba(181,0,16,.3);--tone:#b50010;--tone-border:rgba(181,0,16,.96);--tone-soft:rgba(181,0,16,.22);background:linear-gradient(180deg,var(--admin-card-bg-start),var(--admin-card-bg-end));border-color:rgba(181,0,16,.96);box-shadow:none}html[data-theme="dark"] body.portal-hub-page .portal-card.portal-card--parent{--card-border:var(--secondary-color);--card-border-soft:rgba(249,250,255,.32);--parent-card-bg-end:rgba(57,60,66,.98);--parent-card-bg-start:rgba(67,70,76,.98);--tone:var(--hub-theme-card-parent-icon);--tone-border:var(--secondary-color);--tone-soft:rgba(158,161,72,.22);background:linear-gradient(180deg,var(--parent-card-bg-start),var(--parent-card-bg-end));border:solid var(--secondary-color);border-width:2px 2px 6px;box-shadow:inset 0 0 0 1px rgba(249,250,255,.28),0 12px 24px rgba(0,0,0,.32)}html[data-theme="dark"] body.portal-hub-page .portal-card.portal-card--parent::before{background:radial-gradient(120% 96% at 100% 52%,rgba(249,250,255,.18) 0,transparent 60%),linear-gradient(90deg,transparent,transparent 60%,rgba(249,250,255,.22) 84%,transparent);opacity:.75}html[data-theme="dark"] body.portal-hub-page .portal-card--student{--student-border:#06f;--tone:var(--tertiary-color);background:linear-gradient(180deg,#4a5877,#384864);border:solid var(--student-border);border-width:2px 2px 6px;box-shadow:inset 0 0 0 1px var(--student-border),0 12px 24px rgba(0,0,0,.32)}body.portal-hub-page .portal-card--admin .portal-card__eyebrow{color:var(--hub-theme-card-admin-tone,var(--primary-color))}body.portal-hub-page .portal-card--parent .portal-card__eyebrow{color:var(--hub-theme-card-parent-tone,var(--ink-soft))}body.portal-hub-page .portal-card--student .portal-card__eyebrow{color:var(--hub-theme-card-student-tone,var(--brand-2))}html[data-theme="dark"] body.portal-hub-page .portal-card--admin .portal-card__eyebrow{color:rgba(255,219,223,.98)}html[data-theme="dark"] body.portal-hub-page .portal-card--parent .portal-card__eyebrow{color:rgba(249,250,255,.92)}html[data-theme="dark"] body.portal-hub-page .portal-card--student .portal-card__eyebrow{color:rgba(220,228,245,.98)}html:not([data-theme="dark"]) body.portal-hub-page .resource-card--english{--card-border:rgba(127,158,224,.88);--card-border-soft:rgba(127,158,224,.28);--tone:#7f9ee0;--tone-border:rgba(127,158,224,.84);--tone-soft:rgba(127,158,224,.22);background:linear-gradient(180deg,#46536f,#35415a);border-color:rgba(127,158,224,.88)}html:not([data-theme="dark"]) body.portal-hub-page .resource-card--english .resource-card__icon{background:linear-gradient(180deg,#8aa7e4,#2a3243)}html:not([data-theme="dark"]) body.portal-hub-page .resource-card--ielts{--card-border:rgba(181,0,16,.88);--card-border-soft:rgba(181,0,16,.28);--tone:#b50010;--tone-border:rgba(181,0,16,.84);--tone-soft:rgba(181,0,16,.22);background:linear-gradient(180deg,#4c3c40,#382b2e);border-color:rgba(181,0,16,.88)}html:not([data-theme="dark"]) body.portal-hub-page .resource-card--ielts .resource-card__icon{background:linear-gradient(180deg,#df6a76,#3b2227)}@media (min-width:960px){.resource-list{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-card{min-height:72px}.resource-card__title{font-size:clamp(.96rem,1.35vw,1.08rem)}.resource-card__subtitle{font-size:clamp(.82rem,1.15vw,.92rem)}.resource-card__meta{font-size:clamp(.8rem,1.1vw,.9rem)}}body.admin-portal-page .news-vocabulary-row{align-items:start;box-sizing:border-box;display:grid;gap:8px;grid-template-columns:max-content minmax(160px,1.25fr) minmax(160px,1.25fr) minmax(180px,1.5fr);min-width:0;width:100%}body.admin-portal-page .news-vocabulary-row > :is(input, select, textarea){min-width:0}body.admin-portal-page .news-vocabulary-row > :is(input, select){box-sizing:border-box;font-size:1rem;min-height:48px;padding:12px 14px;width:100%}body.admin-portal-page .news-vocabulary-row > [data-vocabulary-field="partOfSpeech"]{grid-column:1}body.admin-portal-page .news-vocabulary-row > [data-vocabulary-field="english"]{grid-column:2}body.admin-portal-page .news-vocabulary-row > [data-vocabulary-field="vietnamese"]{grid-column:3}body.admin-portal-page .news-vocabulary-row > [data-vocabulary-field="syllabication"]{grid-column:4}body.admin-portal-page .news-vocabulary-row > .vocabulary-etymology-fields{display:flex;flex-wrap:wrap;gap:12px;grid-column:1/-1;min-width:0}body.admin-portal-page .vocabulary-etymology-fields .vocabulary-pos-control{flex:1 1 22ch;max-inline-size:27.5ch}body.admin-portal-page .vocabulary-etymology-fields input,
body.admin-portal-page .vocabulary-etymology-fields select{box-sizing:border-box;font-size:1rem;min-height:48px;min-width:0;padding:12px 14px;width:100%}body.admin-portal-page .vocabulary-origin-help{flex:1 1 100%;margin:0}body.admin-portal-page .vocabulary-pos-parameters{grid-column:1/-1;min-width:0}body.admin-portal-page .vocabulary-pos-control{gap:3px;min-inline-size:0}body.admin-portal-page .vocabulary-pos-control select{inline-size:100%;max-inline-size:27.5ch}body.admin-portal-page .vocabulary-verb-forms{gap:8px;margin-block-start:8px}body.admin-portal-page .vocabulary-verb-forms input{min-width:0}body.admin-portal-page .vocabulary-verb-forms.has-audio-fields{grid-template-columns:repeat(6,minmax(0,1fr))}body.admin-portal-page .vocabulary-audio-editor{align-items:end;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) max-content;min-width:0}body.admin-portal-page .vocabulary-audio-editor input{box-sizing:border-box;max-inline-size:none;min-height:40px;min-width:0;padding:8px 10px;width:100%}body.admin-portal-page .vocabulary-verb-form-editor{display:grid;gap:8px;grid-template-columns:minmax(0,1fr);min-width:0}body.admin-portal-page .vocabulary-verb-forms-heading{grid-column:1/-1}body.admin-portal-page .vocabulary-verb-form-headings{display:grid;gap:8px;grid-column:1/-1;grid-template-columns:repeat(6,minmax(0,1fr))}body.admin-portal-page .vocabulary-verb-form-editor .vocabulary-audio-editor{grid-column:auto}body.admin-portal-page .news-vocabulary-row select[data-vocabulary-field="partOfSpeech"]{field-sizing:initial;inline-size:12ch;max-inline-size:12ch}body.admin-portal-page .news-vocabulary-definition-row{align-items:start;display:grid;gap:8px;grid-column:1/-1;grid-template-columns:144px minmax(0,1fr) 28px}body.admin-portal-page .news-vocabulary-lookups{display:grid;gap:0;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(4,48px) auto}body:is(.student-portal-page, .admin-portal-page) .news-vocabulary-lookup[data-vocabulary-lookup="LD"]{grid-column:1;grid-row:1}body:is(.student-portal-page, .admin-portal-page) .news-vocabulary-lookup[data-vocabulary-lookup="OA"]{grid-column:2;grid-row:1}body:is(.student-portal-page, .admin-portal-page) .news-vocabulary-lookup[data-vocabulary-lookup="OB"]{grid-column:3;grid-row:1}body:is(.student-portal-page, .admin-portal-page) .news-vocabulary-lookup[data-vocabulary-lookup="BR"]{grid-column:1;grid-row:2}body:is(.student-portal-page, .admin-portal-page) .news-vocabulary-lookup[data-vocabulary-lookup="MW"]{grid-column:2;grid-row:2}body:is(.student-portal-page, .admin-portal-page) .news-vocabulary-lookup[data-vocabulary-lookup="AP"]{grid-column:3;grid-row:2}body:is(.student-portal-page, .admin-portal-page) .news-vocabulary-lookup[data-vocabulary-lookup="ET"]{grid-column:1;grid-row:3}body:is(.student-portal-page, .admin-portal-page) .news-vocabulary-lookup[data-vocabulary-lookup="WK"]{grid-column:2;grid-row:3}body:is(.student-portal-page, .admin-portal-page) .news-vocabulary-lookup[data-vocabulary-lookup="CA"]{grid-column:3;grid-row:3}body:is(.student-portal-page, .admin-portal-page) .news-vocabulary-lookup[data-vocabulary-lookup="TH"]{grid-column:1;grid-row:4}body:is(.student-portal-page, .admin-portal-page) .news-vocabulary-lookup[data-vocabulary-lookup="WH"]{grid-column:2;grid-row:4}body:is(.student-portal-page, .admin-portal-page) .news-vocabulary-lookup[data-vocabulary-lookup="GT"]{grid-column:3;grid-row:4}body:is(.student-portal-page, .admin-portal-page) .vocabulary-et-message{grid-column:1/-1;grid-row:5;margin:0}body.admin-portal-page .news-vocabulary-lookup{align-items:center;border-radius:0;display:inline-flex;font-size:11px;gap:2px;justify-content:center;min-height:48px;min-width:48px;padding:4px;--portal-button-fill:var(--portal-button-blue-fill);--portal-button-fill-active:var(--portal-button-blue-fill-active);--portal-button-fill-hover:var(--portal-button-blue-fill-hover);--portal-button-ink:var(--portal-button-blue-ink);--portal-button-ink-active:var(--portal-button-blue-ink);--portal-button-ink-hover:var(--portal-button-blue-ink);--portal-button-stroke:var(--portal-button-blue-stroke);--portal-button-stroke-active:var(--portal-button-blue-stroke-active);--portal-button-stroke-hover:var(--portal-button-blue-stroke-hover);min-height:36px;min-width:36px;width:36px}body.admin-portal-page .news-vocabulary-lookups{grid-template-columns:repeat(3,36px);grid-template-rows:repeat(4,36px) auto}body.admin-portal-page .vocabulary-et-message{align-self:center}body.admin-portal-page .news-vocabulary-definition-row textarea{block-size:48px;box-sizing:border-box;font-family:B612 Mono,monospace;font-size:1rem;letter-spacing:normal;line-height:1.45;margin:0;min-block-size:48px;min-height:0;min-width:0;overflow-y:hidden;resize:vertical;width:100%}body.admin-portal-page .news-vocabulary-row-dots{align-items:center;display:inline-flex;font-size:1.2rem;justify-content:center;line-height:1;min-height:48px}.password-visibility-field{align-items:center;display:flex;gap:10px}.password-visibility-field > input{flex:1 1 auto;min-width:0;width:auto}.password-visibility-toggle{align-items:center;appearance:none;background:var(--portal-button-amber-fill)!important;block-size:48px;border:1px solid var(--portal-button-amber-stroke)!important;border-radius:var(--portal-radius-button);box-sizing:border-box;color:var(--portal-button-amber-ink)!important;cursor:pointer;display:inline-flex;flex:0 0 48px;gap:0!important;height:48px!important;inline-size:48px;justify-content:center;margin:0!important;max-block-size:48px;max-inline-size:48px!important;min-block-size:48px!important;min-inline-size:48px!important;padding:6px!important;position:static;width:48px!important}
.password-visibility-toggle:focus-visible,.password-visibility-toggle:hover{background:var(--portal-button-amber-fill-hover)!important;border-color:var(--portal-button-amber-stroke-hover)!important;color:var(--portal-button-amber-ink)!important}.password-visibility-toggle:active,
.password-visibility-toggle[aria-pressed="true"]{background:var(--portal-button-amber-fill-active)!important;border-color:var(--portal-button-amber-stroke-active)!important}.password-visibility-toggle svg{fill:none;height:30px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:30px}.hidden{display:none!important}.font-size-medium{font-size:1.125rem!important}.brand-logo-wrap:focus-visible,
.floating-menu-btn:focus-visible,
.hero-link:focus-visible,
.portal-card:focus-visible,
.resource-card:focus-visible{outline:2px solid #fbffff;outline-offset:2px}@media (min-width:640px){.shell{padding:16px}}@media (min-width:960px){.portal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-card{aspect-ratio:1/1;grid-template-rows:minmax(72px,auto) 1fr minmax(24px,auto)}.portal-card__body{align-self:center;gap:6px}.portal-card--admin .portal-card__body{padding-top:4px}.portal-card--parent .portal-card__body{padding-left:2px}.portal-card--student .portal-card__body{padding-right:2px}.portal-card__subtitle{max-width:24ch}}@media (max-width:639px){.shell{margin:12px auto;padding:12px}body.admin-portal-page .wrap{inline-size:100vw;max-inline-size:100vw;padding:16px}.hero,
  .topbar{padding-right:12px}.hero-line,
  .topbar-head{grid-template-columns:1fr}.topbar{block-size:var(--portal-brand-header-mobile-block-size);max-block-size:var(--portal-brand-header-mobile-block-size);min-block-size:var(--portal-brand-header-mobile-block-size)}.topbar-head{grid-template-rows:repeat(2,var(--portal-brand-header-row-block-size));min-block-size:calc(var(--portal-brand-header-row-block-size)*2 + 10px)}.topbar .header-actions{flex-wrap:nowrap!important;min-block-size:var(--portal-brand-header-row-block-size)}
  .app-header-actions,
  .header-actions,.hero-actions{justify-content:flex-end}body.admin-portal-page .news-review-viewer-actions,
  body.button-chip-proof-page .proof-container-surface,
  body.button-chip-proof-page .proof-distinct-row,
  body.button-chip-proof-page .proof-inline-row,
  body.button-chip-proof-page .proof-state-row,
  body.button-chip-proof-page .proof-tooltip-surface,
  body.portal-hub-page .hub-prefooter__links{align-items:flex-start;flex-direction:column;gap:8px}.portal-grid{grid-template-columns:1fr}.portal-card,
  .resource-card{gap:10px;padding:12px}.portal-card__icon,
  .resource-card__icon{width:48px}}@media (max-width:820px){.shell{padding:12px}.hero,
  .topbar{padding:5px 60px 5px 10px}body.admin-portal-page .topbar{padding-inline-end:10px}.brand-logo-wrap--sm{height:34px;width:34px}.brand-logo-wrap--lg{height:38px;width:38px}.floating-menu-btn{block-size:40px;inline-size:40px;inset-block-start:10px;inset-inline-end:10px;max-inline-size:40px;min-block-size:40px;min-inline-size:40px}
  .app-header-actions,.header-actions,
  .hero-actions{gap:6px}}@media (max-width:560px){
  .text-zoom-controls .zoom-label,.text-zoom-controls>span:first-child{display:none}body:is(.admin-portal-page, .parent-portal-page, .student-portal-page) .table-row-options-cell,
  body:is(.admin-portal-page, .parent-portal-page, .student-portal-page) .table-scroll-wrap tbody td:has(.queue-row-btn){background:var(--panel);position:sticky;right:0;z-index:2}body:is(.admin-portal-page, .parent-portal-page, .student-portal-page) .table-row-options-cell .row-options-trigger.portal-button,
  body:is(.admin-portal-page, .parent-portal-page, .student-portal-page) .table-scroll-wrap tbody td:has(.queue-row-btn) .queue-row-btn{box-sizing:border-box;inline-size:100%;min-width:72px}body:is(.admin-portal-page, .parent-portal-page, .student-portal-page) .row-options-dropdown{inset-inline-end:0}
  .app-header-actions,.header-actions,
  .hero-actions{row-gap:6px}}@media (max-width:430px){html{overflow-x:clip}body:is(.admin-portal-page, .parent-portal-page, .student-portal-page){overflow-x:clip}.portal-card__subtitle,
  .resource-card__subtitle{font-size:.84rem}.app-header-actions,.header-actions,.hero-actions,.text-zoom-controls{gap:4px}body.parent-portal-page .text-zoom-controls{flex-wrap:wrap;max-inline-size:100%}body.parent-portal-page .text-zoom-controls button{min-width:36px;padding-inline:5px}
  .text-zoom-controls button:not(.floating-menu-btn):not(.nav-overlay),.text-zoom-controls button:not(.floating-menu-btn):not(.nav-scrim){min-height:26px;min-width:40px;padding:3px 6px}body.admin-portal-page .portal-login-header{align-items:flex-start;block-size:var(--portal-header-bar-mobile-block-size)!important;flex-wrap:wrap;gap:4px 10px;justify-content:flex-end;line-height:1.15;max-block-size:var(--portal-header-bar-mobile-block-size)!important;min-block-size:var(--portal-header-bar-mobile-block-size)!important;padding:.55rem .75rem;text-align:right}body.admin-portal-page .portal-login-header a{display:inline-flex;justify-content:flex-end;min-inline-size:0}body.admin-portal-page .topbar .header-actions{justify-content:flex-end;min-width:0}body.admin-portal-page .topbar .text-zoom-controls{min-width:0}body.admin-portal-page .topbar .text-zoom-controls button{inline-size:40px;min-width:40px;width:40px}body.admin-portal-page .app-page-header{padding:6px 8px}body.admin-portal-page .app-brand-strip{gap:6px;row-gap:4px}body.admin-portal-page .app-header-actions{gap:4px}body.admin-portal-page .hub-footer{align-items:flex-start;block-size:auto;flex-direction:column;gap:4px;justify-content:center;max-block-size:none;min-block-size:70px}body.admin-portal-page .hub-footer__copy{white-space:normal}body.parent-portal-page .hub-footer__copy,
  body.student-portal-page .hub-footer__copy{overflow-wrap:anywhere;white-space:normal!important}body.admin-portal-page .portal-login-footer .hub-footer__copy,body.parent-portal-page .portal-login-footer .hub-footer__copy,body.student-portal-page .portal-login-footer .hub-footer__copy{align-self:stretch}body.admin-portal-page .hub-footer__action{margin-inline-start:0;white-space:normal}body:is(.parent-portal-page, .student-portal-page) .portal-login-footer .hub-footer__action{flex:1 1 100%;min-inline-size:0;white-space:normal}}.footer{background:var(--footer-background);border-top:1px solid var(--paper-border);margin-top:auto;padding:20px;position:relative;text-align:center;z-index:50}.footer-text{color:var(--text-tertiary)}.footer-tagline,.footer-text{font-family:var(--font-base,system-ui,-apple-system,sans-serif);font-size:.95rem}.footer-tagline{color:var(--phoenix-orange);font-weight:500}.footer-separator{color:var(--paper-border);margin:0 12px}.footer-copyright{font-size:.85rem;letter-spacing:1px;text-transform:uppercase}.container2{margin:0 auto;max-width:1085px;padding:0 18px}.footer .inner-footer{background-color:var(--footer-background);border-radius:6px;color:var(--secondary-color);min-height:inherit;padding-left:18px;padding-right:18px}.footer .inner-footer a,
.footer .inner-footer a:active,
.footer .inner-footer a:focus,
.footer .inner-footer a:hover,
.footer .inner-footer a:visited{color:inherit}.hub-footer{align-items:center;background:var(--portal-footer-fill,var(--theme-footer-bg,var(--tertiary-color)));block-size:var(--portal-footer-block-size);border:1px solid var(--hub-surface-border,var(--paper-border));border-radius:var(--radius-2);box-sizing:border-box;color:var(--portal-footer-ink,var(--theme-footer-text,var(--secondary-color)));display:flex;flex-wrap:wrap;font-size:var(--hub-label-size,.95rem);gap:calc(var(--hub-space-1, 12px)/2) var(--hub-space-1,12px);justify-content:space-between;margin:0 auto;max-block-size:var(--portal-footer-block-size);max-width:none;min-block-size:var(--portal-footer-min-block-size);padding:12px 16px;width:100%}
.hub-footer__action,.hub-footer__copy{margin:0}.hub-footer__copy{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-footer__action{margin-inline-start:auto;white-space:nowrap}.portal-prefooter{align-items:center;block-size:var(--portal-prefooter-block-size);box-sizing:border-box;display:flex;justify-content:flex-end;margin:0;max-block-size:var(--portal-prefooter-block-size);min-block-size:var(--portal-prefooter-block-size);padding-block:24px;width:100%}.portal-prefooter .env-badge{font-size:13px;margin:0;padding:4px 10px}.status-strip.portal-prefooter{gap:var(--hub-space-1,12px);justify-content:space-between}.status-strip.portal-prefooter .status{margin:0;min-inline-size:0}.status-strip.portal-prefooter .env-badge{margin-inline-start:auto}body.portal-hub-page .hub-prefooter .env-badge{justify-self:end}.portal-prefooter__environment{background-color:var(--portal-action-green-top);color:var(--ink-soft,var(--secondary-color));font-family:B612 Mono,monospace;font-size:.85rem;letter-spacing:.02em;line-height:1.25;margin:0;text-align:right}@media (max-width:639px){:is(#studentTextZoomDownBtn, #studentTextZoomUpBtn){box-sizing:border-box;flex:0 0 44px!important;inline-size:44px!important;max-inline-size:44px!important;min-inline-size:44px!important}#studentTextZoomResetBtn{box-sizing:border-box;flex:0 0 56px!important;inline-size:56px!important;max-inline-size:56px!important;min-inline-size:56px!important}}.hub-footer a,
.hub-footer a:active,
.hub-footer a:focus,
.hub-footer a:hover,
.hub-footer a:visited{color:inherit;font-weight:700;text-decoration:none}
.hub-footer a:focus-visible,.hub-footer a:hover{outline:none;text-decoration:underline}.mar10{margin:.625rem}.prefooter{background-color:var(--info-bg);height:60px;margin-bottom:0;width:100%}.footer{min-height:80px}.pull-left,
.pull-right{display:inline-block;vertical-align:middle}.pull-left{margin-right:auto;text-align:left}.pull-right{margin-left:auto;text-align:right}@supports (display:flex){.pull-left{margin-right:auto}.pull-right{margin-left:auto}}.noborder{border:none}
body.admin-portal-page .header-bar,
body.parent-portal-page .header-bar,body.portal-hub-page .header-bar,
body.student-portal-page .header-bar{border-radius:var(--radius-3)}#portalLoginHeader,body.admin-portal-page .header-bar,body.parent-portal-page .header-bar,body.portal-hub-page .header-bar,body.student-portal-page .header-bar{background:var(--portal-header-bar-fill);block-size:var(--portal-header-bar-max-block-size);box-sizing:border-box;color:var(--portal-header-bar-ink);display:flex;font-size:calc(.72rem*var(--hub-phi));font-weight:700;inline-size:100%;justify-content:space-between;letter-spacing:.08em;line-height:1;margin:0;max-block-size:var(--portal-header-bar-max-block-size);min-block-size:var(--portal-header-bar-max-block-size);padding:.75rem 1rem}#portalLoginHeader{border-radius:var(--radius-2)}body.admin-portal-page .wrap > .portal-login-header{box-sizing:border-box;margin-inline:auto!important}body.admin-portal-page.library-admin-page .wrap{box-sizing:border-box;display:grid;gap:var(--portal-shell-gap);grid-template-columns:minmax(0,1fr);margin-inline:auto;padding:18px;width:min(100%,1440px)}body.admin-portal-page.library-admin-page .wrap > *{min-width:0}body.parent-portal-page .wrap > .portal-login-header,body.student-portal-page .wrap > .portal-login-header{box-sizing:border-box;inline-size:calc(100% - 32px);margin-inline:auto!important}@media (max-width:430px){
  #portalLoginHeader,body:is(.portal-hub-page, .admin-portal-page, .parent-portal-page, .student-portal-page, .student-points-page) .header-bar{align-items:flex-start;block-size:var(--portal-header-bar-mobile-block-size);flex-wrap:wrap;justify-content:flex-end;max-block-size:var(--portal-header-bar-mobile-max-block-size);min-block-size:var(--portal-header-bar-mobile-block-size);row-gap:.35rem}body.admin-portal-page .portal-login-header{block-size:var(--portal-header-bar-mobile-block-size)!important;max-block-size:var(--portal-header-bar-mobile-block-size)!important;min-block-size:var(--portal-header-bar-mobile-block-size)!important}body.admin-portal-page .wrap > .portal-login-header,
  body.parent-portal-page .wrap > .portal-login-header,
  body.student-portal-page .wrap > .portal-login-header{inline-size:100%;margin-inline:0!important}}
#portalLoginHeader a,
body.admin-portal-page .header-bar a,
body.parent-portal-page .header-bar a,body.portal-hub-page .header-bar a,
body.student-points-page .header-bar a,
body.student-portal-page .header-bar a{color:inherit;text-decoration:none}
#portalLoginHeader a:hover,
body.admin-portal-page .header-bar a:hover,
body.parent-portal-page .header-bar a:hover,body.portal-hub-page .header-bar a:hover,
body.student-points-page .header-bar a:hover,
body.student-portal-page .header-bar a:hover{cursor:pointer;text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:3px}@media (max-width:430px){
  #portalLoginHeader a:first-child,body:is(.portal-hub-page, .admin-portal-page, .parent-portal-page, .student-portal-page, .student-points-page) .header-bar a:first-child{margin-inline-end:auto}
  #portalLoginHeader a:last-child,body:is(.portal-hub-page, .admin-portal-page, .parent-portal-page, .student-portal-page, .student-points-page) .header-bar a:last-child{flex-basis:100%;overflow-wrap:anywhere;text-align:right;white-space:normal}}body.admin-portal-page main.library-admin-main{box-sizing:border-box;display:grid;gap:var(--portal-shell-gap);margin:0 auto;max-width:1440px;padding:0;width:100%}.library-admin-toolbar{display:grid;gap:var(--portal-content-gap);grid-template-columns:minmax(220px,2fr) repeat(3,minmax(140px,1fr)) auto;margin-block-end:var(--portal-content-gap)}.library-admin-toolbar label{display:grid;font-size:.92rem;font-weight:700;gap:4px}.library-admin-toolbar :is(input:not([type="checkbox"]), select),
.library-review-field :is(input:not([type="checkbox"]), select, textarea),
.library-review-toolbar select{box-sizing:border-box;font-size:1rem;min-height:48px;min-width:0;padding:12px 14px;width:100%}.library-admin-toolbar > .portal-button{align-self:end;min-height:48px}.library-admin-results{display:grid;gap:var(--portal-content-gap);margin-block-start:var(--portal-content-gap)}body.admin-portal-page.library-admin-page .library-pagination{align-items:center;display:flex;flex-wrap:wrap;gap:var(--portal-content-gap);justify-content:center;margin-block:var(--portal-content-gap);padding-block:4px}body.admin-portal-page.library-admin-page .library-pagination > span{text-align:center}.library-admin-entry{border:1px solid var(--portal-border-strong);border-radius:var(--radius-2);overflow:hidden}.library-admin-entry summary{align-items:center;background:#cde0ff;box-sizing:border-box;color:var(--portal-text);cursor:pointer;display:flex;font-weight:400;gap:7px;min-height:48px;padding:8px 12px}html[data-theme="dark"] .library-admin-entry summary{background:#212121}.library-admin-entry summary::-webkit-details-marker{display:none}.library-admin-entry summary::before{content:"+";font-size:1.25rem;font-weight:700}body.admin-portal-page.library-admin-page .library-admin-entry summary > .library-entry-word,
body:is(.student-portal-page, .admin-portal-page) .library-entry-accordion-summary > .library-entry-word{color:#f4c45f;font-weight:800}html:not([data-theme="dark"]) body.admin-portal-page.library-admin-page .library-admin-entry summary > .library-entry-word,
html:not([data-theme="dark"]) body:is(.student-portal-page, .admin-portal-page) .library-entry-accordion-summary > .library-entry-word{color:#000}body.admin-portal-page.library-admin-page .library-admin-entry summary > .library-entry-pos,
body:is(.student-portal-page, .admin-portal-page) .library-entry-accordion-summary > .library-entry-pos{font-weight:800}body:is(.student-portal-page, .admin-portal-page) .library-entry-accordion-summary{color:var(--portal-text);display:flow-root;font-weight:400}html[data-theme="dark"] body.admin-portal-page.library-admin-page :is(
  .section-head > h1,
  .section-head > h2,
  .section-head > h3,
  .section-head > h4,
  .library-review-pane > h3,
  .library-review-pane > h4,
  .library-review-sidebar-heading > h3
){color:#f4c45f!important;font-weight:800}html:not([data-theme="dark"]) body.admin-portal-page.library-admin-page :is(
  .section-head > h1,
  .section-head > h2,
  .section-head > h3,
  .section-head > h4,
  .library-review-pane > h3,
  .library-review-pane > h4,
  .library-review-sidebar-heading > h3
){color:#000!important}html[data-theme="dark"] body:is(.student-portal-page, .admin-portal-page) .new-word-entry-definition > section > strong{color:#f4c45f!important;font-weight:800}html:not([data-theme="dark"]) body:is(.student-portal-page, .admin-portal-page) .new-word-entry-definition > section > strong{color:#000!important}.library-admin-entry[open] summary::before{content:"−"}.library-admin-body{border-top:1px solid var(--portal-border-strong);display:grid;gap:var(--portal-content-gap);padding:12px}.library-admin-meta{color:var(--portal-text-soft);font-size:.92rem}body.admin-portal-page #libraryAdminResults .library-admin-entry .library-admin-body > div:first-of-type,body.admin-portal-page #libraryQueueRows .library-admin-entry .library-admin-body > .library-admin-meta + .library-admin-meta,body.admin-portal-page .library-admin-definition{font-family:B612 Mono,monospace;letter-spacing:normal;line-height:1.35;overflow-wrap:anywhere;white-space:pre-wrap}.library-admin-actions,
.library-review-actions,
.library-review-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.library-review-shell{display:grid;gap:12px;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);min-width:0}.library-review-list,
.library-review-workspace{min-width:0}.library-review-list{background:var(--portal-surface-panel);border:1px solid var(--portal-border-strong);border-radius:var(--radius-2);max-block-size:72vh;overflow:auto;overscroll-behavior:contain}.library-review-item{background:#cde0ff!important;border:0;border-bottom:1px solid var(--portal-border-strong);color:#173962!important;cursor:pointer;display:grid;gap:4px;inline-size:100%;padding:12px;text-align:start}.library-review-item[aria-current="true"]{background:var(--portal-surface-support)!important;box-shadow:inset 4px 0 0 var(--brand)}html[data-theme="dark"] .library-review-item{background:#212121!important;color:var(--portal-text)!important}html[data-theme="dark"] .library-review-item[aria-current="true"]{background:var(--portal-surface-support)!important}.library-review-workspace{display:grid;gap:12px;min-block-size:0}.library-review-toolbar label{align-items:center;display:inline-flex;font-size:.92rem;font-weight:700;gap:6px}.library-review-compare{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));min-block-size:0}.library-review-compare.is-vertical{grid-template-columns:minmax(0,1fr)}.library-review-pane{align-content:start;background:var(--portal-surface-card);border:1px solid var(--portal-border-strong);border-radius:var(--radius-2);display:grid;gap:var(--portal-content-gap);max-block-size:70vh;min-block-size:260px;min-width:0;overflow:auto;overscroll-behavior:contain;padding:var(--portal-content-gap);scrollbar-gutter:stable}.library-review-pane > h3{border-block-end:1px solid var(--portal-border);margin:0;padding-block-end:var(--portal-content-gap)}.library-review-sidebar-heading{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-block-end:12px}.library-review-sidebar-heading h3{margin:0}.library-review-sidebar-heading button{flex:0 0 auto}.library-review-shell.is-sidebar-collapsed{grid-template-columns:56px minmax(0,1fr)}.library-review-list.is-collapsed .library-review-sidebar-body{display:none}.library-review-list.is-collapsed .library-review-sidebar-heading{align-items:center;flex-direction:column;margin:0}.library-review-list.is-collapsed .library-review-sidebar-heading h3{font-size:0;writing-mode:vertical-rl}.library-review-list.is-collapsed .library-review-sidebar-heading h3::after{content:"Queue";font-size:.9rem}.library-review-field-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.library-review-field{display:grid;gap:6px;min-width:0}.library-review-field--wide{grid-column:1/-1}.library-review-field > span{font-size:1rem;font-weight:800;letter-spacing:.02em;line-height:1.25}.library-review-field :is(input:not([type="checkbox"]), select, textarea){box-sizing:border-box;font-size:1rem;inline-size:100%;min-height:48px;padding:12px 14px}body.admin-portal-page .library-review-field select,
body.admin-portal-page .library-review-toolbar select{inline-size:fit-content;max-inline-size:27.5ch;width:auto}.library-review-field textarea{line-height:1.35;min-height:120px;resize:vertical}.library-review-field--checkbox{align-items:center;display:flex;min-height:48px}.library-review-field--checkbox > span{align-items:center;display:inline-flex;font-size:1rem;font-weight:700;gap:10px;letter-spacing:normal;text-transform:none}.library-review-field--checkbox input[type="checkbox"]{accent-color:var(--brand);block-size:20px;flex:0 0 20px;inline-size:20px;margin:0;min-height:20px}body.admin-portal-page .library-review-field-grid{gap:16px}body.admin-portal-page .library-review-advanced-fields{border-top:1px solid var(--portal-border);margin-top:16px;padding-top:16px}body.admin-portal-page .library-review-pane .news-vocabulary-row{align-items:start;box-sizing:border-box;display:grid;gap:8px;grid-template-columns:max-content minmax(160px,1.25fr) minmax(160px,1.25fr) minmax(180px,1.5fr);min-width:0;width:100%}body.admin-portal-page .library-review-pane .news-vocabulary-row > :is(input, select){box-sizing:border-box;font-size:1rem;min-height:48px;min-width:0;padding:12px 14px;width:100%}body.admin-portal-page .library-review-pane .news-vocabulary-row > [data-vocabulary-field="partOfSpeech"]{grid-column:1}body.admin-portal-page .library-review-pane .news-vocabulary-row > [data-vocabulary-field="english"]{grid-column:2}body.admin-portal-page .library-review-pane .news-vocabulary-row > [data-vocabulary-field="vietnamese"]{grid-column:3}body.admin-portal-page .library-review-pane .news-vocabulary-row > [data-vocabulary-field="syllabication"]{grid-column:4}body.admin-portal-page .library-review-pane .news-vocabulary-row > .vocabulary-etymology-fields{display:flex;flex-wrap:wrap;gap:12px;grid-column:1/-1;min-width:0}body.admin-portal-page .library-review-pane .vocabulary-etymology-fields .vocabulary-pos-control{flex:1 1 22ch;max-inline-size:27.5ch}body.admin-portal-page .library-review-pane .vocabulary-etymology-fields input,
body.admin-portal-page .library-review-pane .vocabulary-etymology-fields select{box-sizing:border-box;font-size:1rem;min-height:48px;min-width:0;padding:12px 14px;width:100%}body.admin-portal-page .library-review-pane .news-vocabulary-row > [data-vocabulary-field="partOfSpeech"]{inline-size:12ch;max-inline-size:12ch;width:auto}body.admin-portal-page .library-review-pane .news-vocabulary-row > .vocabulary-pos-parameters{grid-column:1/-1}body.admin-portal-page .library-review-pane .news-vocabulary-definition-row{align-items:start;display:grid;gap:8px;grid-column:1/-1;grid-template-columns:144px minmax(0,1fr) 28px}body.admin-portal-page .library-review-pane .news-vocabulary-lookups{display:grid;gap:0;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(4,48px) auto}body.admin-portal-page .library-review-pane .news-vocabulary-lookup{align-items:center;border-radius:0;display:inline-flex;font-size:11px;gap:2px;justify-content:center;min-height:48px;min-width:48px;padding:4px}body:is(.student-portal-page, .admin-portal-page) .news-vocabulary-lookup[data-vocabulary-lookup="LD"]{border-radius:var(--radius-2) 0 0 0}body:is(.student-portal-page, .admin-portal-page) .news-vocabulary-lookup[data-vocabulary-lookup="OB"]{border-radius:0 var(--radius-2) 0 0}body:is(.student-portal-page, .admin-portal-page) .news-vocabulary-lookup[data-vocabulary-lookup="WH"]{border-radius:0 0 0 var(--radius-2)}body:is(.student-portal-page, .admin-portal-page) .news-vocabulary-lookup[data-vocabulary-lookup="GT"]{border-radius:0 0 var(--radius-2) 0}body.admin-portal-page .library-review-pane .news-vocabulary-lookup[data-vocabulary-lookup="LD"]{border-radius:var(--radius-2) 0 0 0}body.admin-portal-page .library-review-pane .news-vocabulary-lookup[data-vocabulary-lookup="OB"]{border-radius:0 var(--radius-2) 0 0}body.admin-portal-page .library-review-pane .news-vocabulary-lookup[data-vocabulary-lookup="WH"]{border-radius:0 0 0 var(--radius-2)}body.admin-portal-page .library-review-pane .news-vocabulary-lookup[data-vocabulary-lookup="GT"]{border-radius:0 0 var(--radius-2) 0}body.admin-portal-page .library-review-pane .news-vocabulary-definition-row textarea{block-size:48px;box-sizing:border-box;font-family:B612 Mono,monospace;font-size:1rem;letter-spacing:normal;line-height:1.45;margin:0;min-block-size:48px;min-height:0;min-width:0;overflow-y:hidden;padding:12px 14px;resize:vertical;width:100%}body.admin-portal-page .library-review-pane .news-vocabulary-definition-row > .vocabulary-definition-audio{grid-column:2;min-block-size:48px;min-width:0}body.admin-portal-page .library-review-pane .news-vocabulary-definition-row > .vocabulary-definition-audio .vocabulary-audio-editor{min-block-size:48px}
body.admin-portal-page .library-review-pane .news-vocabulary-definition-row textarea,body.student-portal-page .news-vocabulary-definition-row textarea{max-block-size:50vh;min-block-size:120px;overflow-y:auto}body.admin-portal-page .library-review-pane .news-vocabulary-row-dots{align-items:center;color:inherit;display:inline-flex;font-size:1.2rem;height:48px;justify-content:center;line-height:1;width:28px}body.admin-portal-page .vocabulary-pos-parameters{border-top:1px solid var(--portal-border);display:grid;gap:12px;margin-top:16px;padding-top:16px}body.admin-portal-page .vocabulary-source-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--portal-button-gap)}body.admin-portal-page .vocabulary-source-control-layout .vocabulary-source-actions{display:grid;gap:12px 8px;grid-template-columns:repeat(2,minmax(0,1fr))}body.admin-portal-page .vocabulary-source-control-layout .vocabulary-source-actions .vocabulary-transitivity-check{display:contents}body.admin-portal-page .vocabulary-source-control-layout .vocabulary-source-actions .vocabulary-transitivity-check > p{grid-column:1/-1}body.admin-portal-page .vocabulary-source-control-layout .vocabulary-source-actions .portal-button-compact,
body.admin-portal-page .vocabulary-transitivity-check > .portal-button-compact{min-block-size:36px;min-height:36px;padding-block:6px}body.admin-portal-page .vocabulary-source-messages{display:grid;gap:6px;grid-column:1/-1}body.admin-portal-page .vocabulary-source-messages > p{margin:0}@media (max-width:900px){body.admin-portal-page .vocabulary-source-control-layout{grid-template-columns:minmax(0,326px) minmax(120px,138px)}body.admin-portal-page .vocabulary-source-control-layout .dictionary-builder-source-status-block{grid-column:1/-1}}@media (max-width:560px){body.admin-portal-page .vocabulary-source-control-layout{grid-template-columns:minmax(0,1fr)}body.admin-portal-page .vocabulary-source-control-layout .dictionary-builder-source-status-block{grid-column:auto}}body.admin-portal-page .vocabulary-transitivity-check{align-items:center;display:flex;flex-wrap:wrap;gap:var(--portal-button-gap);grid-column:1/-1}body.admin-portal-page .vocabulary-transitivity-check > p{flex:1 1 100%;margin:0}body.admin-portal-page .vocabulary-pos-parameters p[aria-live="polite"]:empty,body.admin-portal-page .vocabulary-pos-parameters[hidden],body.admin-portal-page .vocabulary-verb-forms[hidden]{display:none}body.admin-portal-page .vocabulary-pos-controls{align-items:end;display:flex;flex-wrap:wrap;gap:12px;inline-size:100%;justify-content:flex-start;max-inline-size:none}body.admin-portal-page .vocabulary-pos-control{display:grid;flex:1 1 22ch;font-size:1rem;font-weight:700;gap:6px;max-inline-size:27.5ch;min-width:0}body.admin-portal-page .vocabulary-pos-control select,
body.admin-portal-page .vocabulary-verb-forms input{box-sizing:border-box;font-size:1rem;inline-size:100%;max-inline-size:27.5ch;min-height:48px;min-width:0;padding:12px 14px}.vocabulary-transitivity-help{color:var(--portal-text-soft);font-size:.88rem;grid-column:1/-1;line-height:1.4;margin:0;min-width:0}.vocabulary-transitivity-help strong{color:var(--portal-text)}body.student-portal-page .vocabulary-transitivity-help{flex:1 0 100%;max-width:100%}body.admin-portal-page .vocabulary-verb-forms{display:grid;gap:12px;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:0;min-width:0}.library-review-docs{background:var(--portal-surface-support);border:1px solid var(--portal-border);border-radius:var(--radius-2);display:grid;gap:12px;padding:14px}.library-review-docs .section-head{margin:0}.library-review-docs__grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.library-review-doc{background:var(--portal-surface-card);border:1px solid var(--portal-border);border-radius:var(--radius-2);display:grid;gap:6px;min-width:0;padding:12px}.library-review-doc h4,
.library-review-doc p{margin:0}.library-review-doc h4{font-size:1rem}.library-review-doc p{color:var(--portal-text-soft);line-height:1.45}.library-review-field.is-different{border-inline-start:3px solid var(--brand);padding-inline-start:9px}
.library-review-pane .vocabulary-pos-control.is-different,.library-review-pane [data-vocabulary-field].is-different{outline:2px solid var(--brand);outline-offset:2px}.library-review-empty{align-items:center;display:grid;min-height:260px;place-items:center;text-align:center}body.admin-portal-page .library-admin-main [hidden]{display:none!important}body.admin-portal-page .menu-group-nested{background:transparent;border:0;border-radius:0;overflow:visible}body.admin-portal-page .menu-group-nested > .menu-group-btn{font-size:.9rem;min-height:40px;padding-inline:8px}body.admin-portal-page .menu-group-nested > .menu-group-links{margin-inline:8px;padding:6px 0 0 10px}@media (max-width:900px){.library-review-shell,.library-review-shell.is-sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.library-review-list{max-block-size:32vh}}@media (max-width:800px){.library-admin-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.library-admin-toolbar label:first-child{grid-column:1/-1}}@media (max-width:560px){:where(body.student-portal-page, body.admin-portal-page, body.parent-portal-page) .vocabulary-flat-entry-details{grid-template-columns:minmax(0,1fr)}.library-review-docs__grid,.library-review-field-grid{grid-template-columns:minmax(0,1fr)}.library-review-field--wide{grid-column:auto}.library-review-compare,
  .library-review-compare.is-vertical{grid-template-columns:minmax(0,1fr)}body.admin-portal-page .library-review-pane .news-vocabulary-row,body.admin-portal-page .vocabulary-verb-forms{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.admin-portal-page .library-review-pane .news-vocabulary-row > [data-vocabulary-field="english"],body.admin-portal-page .library-review-pane .news-vocabulary-row > [data-vocabulary-field="partOfSpeech"],
  body.admin-portal-page .library-review-pane .news-vocabulary-row > [data-vocabulary-field="syllabication"],
  body.admin-portal-page .library-review-pane .news-vocabulary-row > [data-vocabulary-field="vietnamese"]{grid-column:auto}body.admin-portal-page .library-review-pane .news-vocabulary-definition-row{grid-template-columns:144px minmax(0,1fr)}body.admin-portal-page .library-review-pane .news-vocabulary-row-dots{grid-column:1/-1;justify-self:end}}@media (max-width:420px){body.admin-portal-page .library-review-pane .news-vocabulary-row{grid-template-columns:minmax(0,1fr)}
  body.admin-portal-page .library-review-pane .news-vocabulary-row > [data-vocabulary-field="english"],body.admin-portal-page .library-review-pane .news-vocabulary-row > [data-vocabulary-field="partOfSpeech"],
  body.admin-portal-page .library-review-pane .news-vocabulary-row > [data-vocabulary-field="syllabication"],
  body.admin-portal-page .library-review-pane .news-vocabulary-row > [data-vocabulary-field="vietnamese"]{grid-column:auto}body.admin-portal-page .library-review-pane .news-vocabulary-definition-row{grid-template-columns:minmax(0,1fr)}body.admin-portal-page .library-review-pane .library-definition-audio,
  body.admin-portal-page .library-review-pane .news-vocabulary-definition-row > textarea[data-vocabulary-field="definition"]{grid-column:1}body.admin-portal-page .library-review-pane .library-definition-audio{grid-row:2}body.admin-portal-page .library-review-pane .news-vocabulary-definition-row > textarea[data-vocabulary-field="definition"]{grid-row:3}body.admin-portal-page .library-review-pane .news-vocabulary-row-dots{grid-row:4}}:root{--portal-color-997324aabe:#eaf2ff;--portal-color-81a116a7df:#6330da;--portal-color-1a725bdb9a:rgba(181,0,16,.35);--portal-color-a85bd9ef7f:#17345c;--portal-color-0a4767016c:#4c4c4c;--portal-color-9a49c7aede:#8ab0e6;--portal-color-a0cebdc6af:#12385f;--portal-color-55a7dc028b:#fce9e9;--portal-color-3adead38cc:rgba(128,152,190,.12);--portal-color-53432a348e:#f4f8ff;--portal-color-4a4eba674d:rgba(0,39,134,.22);--portal-color-0288ae9c5c:#dde5f2;--portal-color-22aee4e14f:rgba(20,36,62,.24);--portal-color-1ae8f85b9b:#3f2977;--portal-color-7a02302f0b:#b3262d;--portal-color-2affe7a39e:#364f74;--portal-color-7a33f242ff:#2d5ea6;--portal-color-ba0cc5c38a:rgba(0,39,134,.18);--portal-color-1b2ad6543d:#e6f7ee;--portal-color-6b2342831b:#abc0de;--portal-color-b7090b879b:#7a8ca9;--portal-color-763bbb26ad:#e58a92;--portal-color-87bbb79e2e:#9eb7dd;--portal-color-b204248b5d:#ddd;--portal-color-b52559cb1c:rgba(242,138,149,.42);--portal-color-4b848cb5df:#6cad85;--portal-color-069bc807ea:rgba(240,176,95,.18);--portal-color-9bd5813b2b:rgba(31,107,58,.23);--portal-color-0b88d7b8bd:#66008e;--portal-color-194b2d925e:#9ee0b9;--portal-color-bd73054f6d:#113a67;--portal-color-b710eadc9f:#2a6e45;--portal-color-be77b3b86a:#f9faff;--portal-color-03b5721e8c:#fcab15;--portal-color-155b35e0df:#76000a;--portal-color-57b962ee7c:hsla(0,0%,100%,.14);--portal-color-1b4f759bcf:rgba(0,0,0,.35);--portal-color-719541c06a:#6aa4ff;--portal-color-c684a558ca:color-mix(in srgb,#525252 74%,#a86400 26%);--portal-color-3505c4ac4c:rgba(9,46,92,.3);--portal-color-3c48a6d95d:#eaf1ff;--portal-color-cbc1cfa6cf:#f7fbff;--portal-color-c3656bda4a:#0f1d33;--portal-color-0c609735cb:#849ec4;--portal-color-1c77cc184c:color-mix(in srgb,#525252 64%,#a86400 36%);--portal-color-323093c4da:#9b1520;--portal-color-c659d630ce:#fbffff;--portal-color-cd5fad86be:#f0f2f5;--portal-color-972749c27e:#122f58;--portal-color-3c582210ea:#0a2f66;--portal-color-c2efe9c01a:#b3c3dd;--portal-color-c26311f0ba:#9ab0d0;--portal-color-c82f339b4e:#f8fbff;--portal-color-106784249d:#90a4c3;--portal-color-48d9abbb8e:#b5c4da;--portal-color-da467d2b4a:#7ea4df;--portal-color-d03a38f50d:#366db1;--portal-color-ddbaa7561b:rgba(20,35,68,.22);--portal-color-5647dd626d:#0b3f86;--portal-color-4453415d9e:#212121;--portal-color-91d2ea6cfe:#92000d;--portal-color-1d89e3bf1e:#516991;--portal-color-9783dee77b:hsla(0,0%,100%,.34);--portal-color-243de7efde:#86ade4;--portal-color-df9c1d2dba:#666;--portal-color-dfd1c124aa:#5f7599;--portal-color-4d6f92dfee:#0b2a67;--portal-color-039996725e:#fbe9ea;--portal-color-e59910651a:#e8f6ed;--portal-color-ea68f7072c:#d7dfea;--portal-color-01768eaf2d:rgba(240,176,95,.42);--portal-color-469978e86b:#f5f8ff;--portal-color-991ebe2c3a:rgba(17,70,37,.3);--portal-color-8e5456173c:#96abc9;--portal-color-ec28aed7ca:#f6f9ff;--portal-color-e83556da4c:#edf3ff;--portal-color-e4eca72dfb:#8a94a8;--portal-color-e45f66b6fc:#001d62;--portal-color-64f144942a:#b6c8e4;--portal-color-fac29d76ac:#d0d7e2;--portal-color-80f5b9512c:#0034a1;--portal-color-5f0caed72f:#9fb8d8;--portal-color-f6cf2589bd:#ffe4a3;--portal-color-367774f22d:#fcfdff;--portal-color-4643f99d7f:#124685;--portal-color-373f0ec52e:#2f4f7f;--portal-color-254f75671f:hsla(0,0%,100%,0);--portal-color-7f8784021f:#1f5b9f;--portal-color-f901fae8ae:#f0b05f;--portal-color-1f6f13263d:#bbb;--portal-color-2ff174e8be:rgba(0,39,134,.16);--portal-color-82f80f783f:#55389f;--portal-color-ff3f35cedc:rgba(47,57,76,.95);--portal-color-8f0ff52e0d:rgba(20,35,68,.2);--portal-color-000d003e64:#f3f4f6;--portal-color-0077beaeb3:color-mix(in srgb,#b23a2e 24%,#525252 76%);--portal-color-05477e89d0:rgba(12,22,39,.4);--portal-color-08145c4aa5:#3a87ad;--portal-color-0c79f2d461:#0f6d2a;--portal-color-107a42fd77:#7a43cc;--portal-color-10fe7b83d5:#a86400;--portal-color-11a8da3fa1:rgba(0,39,134,.32);--portal-color-1239e09212:#175a35;--portal-color-157650bcd0:rgba(31,107,58,.2);--portal-color-1b8d818ad2:#143157;--portal-color-1c5b3b4180:#1f7a47;--portal-color-1fafc2b5c0:#8ea9cc;--portal-color-21fe6cd7d5:#edf4ff;--portal-color-23882d0d91:#fbecec;--portal-color-24f3dafd18:#fbfcff;--portal-color-2526d46483:color-mix(in srgb,#525252 72%,#fff 28%);--portal-color-25a7b86435:#19406d;--portal-color-25d88c9a84:#2a9361;--portal-color-27470381e4:#8ea4c7;--portal-color-2774a5c299:rgba(18,70,133,.28);--portal-color-27bfe87810:rgba(14,24,42,.32);--portal-color-28b516db10:hsla(0,0%,100%,.45);--portal-color-293711fbb6:#a8bbda;--portal-color-2a05c02cf9:rgba(11,32,60,.22);--portal-color-2c68c614a2:#163a72;--portal-color-2cdb084429:#f3f8ff;--portal-color-2d8370cc89:#f2f7ff;--portal-color-2e75310a87:#5c7fc4;--portal-color-312c8e26c3:#980001;--portal-color-31b5e68729:#e2f5e9;--portal-color-33ade86742:hsla(0,0%,100%,.05);--portal-color-344889c9c5:rgba(106,164,255,.18);--portal-color-375613b652:#fff6f6;--portal-color-37b99f5bd9:#102f59;--portal-color-3b79014ba0:#f7faff;--portal-color-3d608aab85:#e7f5ec;--portal-color-3e7fb9eac4:#d99494;--portal-color-41b1689b86:rgba(31,107,58,.28);--portal-color-4222bb2d34:#e8f0fd;--portal-color-422e89e498:#f3ecff;--portal-color-426a2e5cc8:rgba(15,36,68,.2);--portal-color-42f0808f83:#203656;--portal-color-437c03ed17:#e8f1ff;--portal-color-45756b2b73:#002786;--portal-color-46586438f4:#913198;--portal-color-47fb0fc0c1:#e5e7eb;--portal-color-4809f882c5:#4f5968;--portal-color-48cd3a6648:#304f7a;--portal-color-4961d06ce2:rgba(0,39,134,.26);--portal-color-4a1e07fc47:#ffd7d4;--portal-color-4a291f7155:rgba(106,164,255,.42);--portal-color-4ae9a1f7c6:#f8fbff;--portal-color-4b343826a8:hsla(0,0%,100%,.36);--portal-color-4c58cd2153:#eee;--portal-color-515a32c043:rgba(18,70,133,.22);--portal-color-51f08e7078:#f0f0ee;--portal-color-54b560c774:#c7d4e8;--portal-color-5526919828:#d3ecd9;--portal-color-55773a19e5:#e8efff;--portal-color-568e8455f1:rgba(106,164,255,.22);--portal-color-56fcea51d1:rgba(180,196,234,.46);--portal-color-57be6b39f7:#7f291f;--portal-color-588c301c36:#8d0010;--portal-color-597d622954:rgba(124,214,164,.42);--portal-color-5987913019:#8ea3c1;--portal-color-5bdf769798:#244165;--portal-color-5ce4c7c743:#e1e8f4;--portal-color-5ff93edc43:color-mix(in srgb,#b23a2e 18%,#4c4c4c 82%);--portal-color-628daaa478:color-mix(in srgb,#1f7a47 24%,#525252 76%);--portal-color-66a08ca4d4:#415b84;--portal-color-6773f1a111:#e18825;--portal-color-6861024013:#1f2d48;--portal-color-69fd3cb4e6:#8f2026;--portal-color-6f258c7bd7:#0e3156;--portal-color-6fcde86d35:rgba(231,182,178,.2);--portal-color-709e6795a7:#038e9f;--portal-color-7133576b43:#d9edf7;--portal-color-75e50d3433:#870200;--portal-color-75f461b553:#7f4b00;--portal-color-7801470977:#1f6b3a;--portal-color-7e4f1499c9:#ffd76a;--portal-color-7f8b941c53:hsla(0,0%,100%,.32);--portal-color-81aacf4ad5:hsla(0,0%,100%,.04);--portal-color-87159a30a0:#fafcff;--portal-color-8749aa0320:#dfeafd;--portal-color-8aa2dbb5d9:#eef4ff;--portal-color-8e84576524:color-mix(in srgb,#1f7a47 18%,#4c4c4c 82%);--portal-color-8ff5c44654:#d8dee9;--portal-color-90f12f5115:#445f89;--portal-color-9121bb2e26:rgba(7,32,73,.22);--portal-color-9203fef560:hsla(0,0%,100%,.95);--portal-color-9548739191:#e3efff;--portal-color-95bd928787:#a8bbd7;--portal-color-97f9ffca77:#163a6d;--portal-color-9b98859584:#7fa6e2;--portal-color-9bc0b93906:#e3ecff;--portal-color-9c1eaddb49:#cd1637;--portal-color-9d851aa3c8:#b9cbe4;--portal-color-9e200f76d6:#f9fbff;--portal-color-9f5af08a94:#4c6489;--portal-color-9fc7feb5f0:#90a6c8;--portal-color-a28e5c5618:#eef3ff;--portal-color-a3a68d90c8:#e8eef8;--portal-color-a48f0535e6:#fffaeb;--portal-color-a4aa943622:rgba(18,28,45,.64);--portal-color-a5b5be78d6:rgba(18,70,133,.2);--portal-color-a5d9717d79:#b8c8e0;--portal-color-a6f8278158:#e2ebff;--portal-color-a747dbf759:rgba(229,203,102,.2);--portal-color-a8c93a3767:rgba(181,0,16,.26);--portal-color-ab255e34c0:#7e98be;--portal-color-acba0a17f6:#1a2235;--portal-color-ad9368f436:#143a64;--portal-color-b0a854d782:rgba(144,211,173,.18);--portal-color-b0e4f2e1c7:rgba(12,21,40,.32);--portal-color-b245852d50:#1d2f4a;--portal-color-b514a5be40:color-mix(in srgb,#525252 72%,#55389f 28%);--portal-color-b6a2764085:#c1d0e4;--portal-color-b72cf2de92:#ffc9c4;--portal-color-b75eb09de7:#2f7d51;--portal-color-bd827b1b26:#b50010;--portal-color-be559484b4:#536b92;--portal-color-bf36793f67:#d4ddeb;--portal-color-bf48c79991:#cad4e3;--portal-color-c1ea88f252:#875115;--portal-color-c559054d76:rgba(120,0,12,.35);--portal-color-c7238605a6:rgba(0,0,0,.1);--portal-color-c736538b33:#7bc48f;--portal-color-c899a97281:#ede3ff;--portal-color-c8b4c9efb7:#005e8d;--portal-color-ca3c517be2:rgba(20,35,68,.12);--portal-color-cb48e6e5d4:#333;--portal-color-cbfc8005b4:#e0162b;--portal-color-ccf3801810:#3e5679;--portal-color-ccfa40c9d0:#6e8eb8;--portal-color-cd39781015:#bfd0ea;--portal-color-cebb176820:#143463;--portal-color-cf16fd64c5:#e9eef7;--portal-color-cf801561d7:#edf3fa;--portal-color-d07e7e7d52:#b23a2e;--portal-color-d14f901611:#fbffff;--portal-color-d22a529744:#d6dfec;--portal-color-d2900205b2:#f8fffb;--portal-color-d2d30945b7:#d5deec;--portal-color-dbb4046a12:#d8edff;--portal-color-dcaac7c975:#630094;--portal-color-ddfd1638e3:rgba(71,53,27,.96);--portal-color-e273abe831:#fff0cc;--portal-color-e32e5ac3d5:#0f4a9f;--portal-color-e337dcad67:#1e8b52;--portal-color-e794d5c0c8:#f2f6ff;--portal-color-e826bd6aa5:rgba(106,164,255,.16);--portal-color-eb22a8aca6:rgba(0,0,0,.24);--portal-color-ec630fca03:#0f5c2b;--portal-color-edb7fe91a8:#b5d570;--portal-color-efc4ce6dd0:#0f452c;--portal-color-f0163600e1:rgba(181,0,16,.2);--portal-color-f145d41978:#8ea4c0;--portal-color-f18c37b592:color-mix(in srgb,#525252 62%,#55389f 38%);--portal-color-f549e07556:#1f2d45;--portal-color-f5531c30a5:#123866;--portal-color-f8af596fb2:color-mix(in srgb,#525252 82%,#fff 18%);--portal-color-f8f09f4f88:rgba(12,31,63,.08);--portal-color-fbe71060c6:#2d78b4;--portal-color-fd15f49e34:#b10128;--portal-color-ff50535d27:hsla(0,0%,100%,.62)}.sm-lab-mar{margin:1rem 0 .55rem!important}.tbm01{margin:.25rem 0!important}.bm015{margin-bottom:1rem!important}body.admin-portal-page :is(.actions, .login-actions, .portal-modal-actions, .row > .grid-actions):has(> .portal-button + .portal-button),
body.parent-portal-page :is(.actions, .login-actions, .portal-modal-actions, .portal-action-strip__actions):has(> .portal-button + .portal-button),
body.student-portal-page :is(.actions, .login-actions, .portal-modal-actions, .student-news-form-actions, .new-words-pagination, .new-words-add-actions, .portal-action-strip__actions):has(> .portal-button + .portal-button){display:flex!important;flex-wrap:wrap!important;gap:12px!important}body.admin-portal-page :is(.actions, .login-actions, .portal-modal-actions, .row > .grid-actions):has(> .portal-button + .portal-button) > .portal-button,
body.parent-portal-page :is(.actions, .login-actions, .portal-modal-actions, .portal-action-strip__actions):has(> .portal-button + .portal-button) > .portal-button,
body.student-portal-page :is(.actions, .login-actions, .portal-modal-actions, .student-news-form-actions, .new-words-pagination, .new-words-add-actions, .portal-action-strip__actions):has(> .portal-button + .portal-button) > .portal-button{flex:0 1 var(--portal-button-inline)!important;inline-size:var(--portal-button-inline)!important;max-inline-size:var(--portal-button-inline)!important;min-inline-size:var(--portal-button-inline)!important}body.student-portal-page #newsReportFormCard .row,
body.student-portal-page #newsWeekSetModal .row{grid-template-columns:minmax(0,1fr)}body.student-portal-page #newsReportFormCard .row > .field,
body.student-portal-page #newsWeekSetModal .row > .field{grid-column:1/-1}body.student-portal-page #newsWeekSetModal{padding:8px;place-items:stretch}body.student-portal-page #newsWeekSetModal .portal-modal-dialog{border-radius:10px;box-sizing:border-box;gap:10px;max-height:calc(100dvh - 16px);padding:12px;width:100%}body.student-portal-page #newsWeekSetModal .queue-modal-header{align-items:stretch;flex-direction:column;gap:8px;margin:-12px -12px 0;padding:12px}
body.student-portal-page #newsWeekSetModal .news-week-set-modal-nav,body.student-portal-page #newsWeekSetModal .queue-modal-nav{flex-wrap:wrap;gap:6px;width:100%}
body.student-portal-page #newsWeekSetModal .news-week-set-modal-nav > strong,body.student-portal-page #newsWeekSetModal .queue-modal-nav > strong{flex-basis:100%;font-size:15px}body.student-portal-page #newsWeekSetModal #closeNewsWeekSetModalBtn{inline-size:100%;margin-inline-start:0;min-inline-size:0;padding-inline:12px}body.student-portal-page #newsWeekSetModal .news-review-vocabulary-row{grid-template-columns:minmax(0,1fr)}
body.student-portal-page #newsReportFormCard .student-news-form-actions,body.student-portal-page #newsWeekSetModal .portal-modal-actions.student-news-form-actions{justify-content:stretch}
body.student-portal-page #newsReportFormCard .student-news-form-actions > .portal-button,body.student-portal-page #newsWeekSetModal .portal-modal-actions.student-news-form-actions > .portal-button{flex:1 1 100%!important;inline-size:100%!important;max-inline-size:none!important;min-inline-size:0!important}@media (min-width:641px){body.student-portal-page #newsWeekSetModal{padding:18px;place-items:center}body.student-portal-page #newsWeekSetModal .portal-modal-dialog{border-radius:12px;box-sizing:border-box;max-height:calc(100vh - 36px);padding:16px;width:min(760px,calc(100vw - 36px))}body.student-portal-page #newsWeekSetModal .queue-modal-header{align-items:center;flex-direction:row;gap:10px;margin:-16px -16px 0;padding:12px 14px}
  body.student-portal-page #newsWeekSetModal .news-week-set-modal-nav,body.student-portal-page #newsWeekSetModal .queue-modal-nav{flex-wrap:nowrap;width:auto}
  body.student-portal-page #newsWeekSetModal .news-week-set-modal-nav > strong,body.student-portal-page #newsWeekSetModal .queue-modal-nav > strong{flex-basis:auto}body.student-portal-page #newsWeekSetModal #closeNewsWeekSetModalBtn{inline-size:auto;margin-inline-start:10px;min-inline-size:132px;padding-inline:22px}body.student-portal-page #newsWeekSetModal .news-review-vocabulary-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.student-portal-page #newsReportFormCard .student-news-form-actions,body.student-portal-page #newsWeekSetModal .portal-modal-actions.student-news-form-actions{justify-content:flex-start}
  body.student-portal-page #newsReportFormCard .student-news-form-actions > .portal-button,body.student-portal-page #newsWeekSetModal .portal-modal-actions.student-news-form-actions > .portal-button{flex:0 1 var(--portal-button-inline)!important;inline-size:var(--portal-button-inline)!important;max-inline-size:var(--portal-button-inline)!important;min-inline-size:var(--portal-button-inline)!important}}@media (min-width:960px){body.student-portal-page #newsReportFormCard .row,
  body.student-portal-page #newsWeekSetModal .row{grid-template-columns:repeat(12,minmax(0,1fr))}body.student-portal-page #newsReportFormCard .c3{grid-column:span 3}body.student-portal-page #newsReportFormCard .c4,
  body.student-portal-page #newsWeekSetModal .c4{grid-column:span 4}body.student-portal-page #newsReportFormCard .c6,
  body.student-portal-page #newsWeekSetModal .c6{grid-column:span 6}body.student-portal-page #newsReportFormCard .c12,
  body.student-portal-page #newsWeekSetModal .c12{grid-column:span 12}body.student-portal-page #newsWeekSetModal .news-review-vocabulary-row{grid-template-columns:repeat(4,minmax(0,1fr))}}body.parent-portal-page #newsWeekSetModal .row{grid-template-columns:minmax(0,1fr)}body.parent-portal-page #newsWeekSetModal .row > .field{grid-column:1/-1}body.parent-portal-page #newsWeekSetModal{padding:8px;place-items:stretch}body.parent-portal-page #newsWeekSetModal .portal-modal-dialog{border-radius:10px;box-sizing:border-box;gap:10px;max-height:calc(100dvh - 16px);padding:12px;width:100%}body.parent-portal-page #newsWeekSetModal .queue-modal-header{align-items:stretch;flex-direction:column;gap:8px;margin:-12px -12px 0;padding:12px}body.parent-portal-page #newsWeekSetModal .queue-modal-nav{flex-wrap:wrap;gap:6px;width:100%}body.parent-portal-page #newsWeekSetModal .queue-modal-nav > strong{flex-basis:100%;font-size:15px}body.parent-portal-page #newsWeekSetModal #closeNewsWeekSetModalBtn{inline-size:100%;margin-inline-start:0;min-inline-size:0;padding-inline:12px}body.parent-portal-page #newsWeekSetModal .news-review-vocabulary-row{grid-template-columns:minmax(0,1fr)}@media (min-width:641px){body.parent-portal-page #newsWeekSetModal{padding:18px;place-items:center}body.parent-portal-page #newsWeekSetModal .portal-modal-dialog{border-radius:12px;box-sizing:border-box;max-height:calc(100vh - 36px);padding:16px;width:min(760px,calc(100vw - 36px))}body.parent-portal-page #newsWeekSetModal .queue-modal-header{align-items:center;flex-direction:row;gap:10px;margin:-16px -16px 0;padding:12px 14px}body.parent-portal-page #newsWeekSetModal .queue-modal-nav{flex-wrap:nowrap;width:auto}body.parent-portal-page #newsWeekSetModal .queue-modal-nav > strong{flex-basis:auto}body.parent-portal-page #newsWeekSetModal #closeNewsWeekSetModalBtn{inline-size:auto;margin-inline-start:10px;min-inline-size:132px;padding-inline:22px}body.parent-portal-page #newsWeekSetModal .news-review-vocabulary-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:960px){body.parent-portal-page #newsWeekSetModal .row{grid-template-columns:repeat(12,minmax(0,1fr))}body.parent-portal-page #newsWeekSetModal .c4{grid-column:span 4}body.parent-portal-page #newsWeekSetModal .c6{grid-column:span 6}body.parent-portal-page #newsWeekSetModal .c12{grid-column:span 12}body.parent-portal-page #newsWeekSetModal .news-review-vocabulary-row{grid-template-columns:repeat(4,minmax(0,1fr))}}.fcontainer{align-items:center;display:flex}.fcontainer span{margin-left:auto}.cspan{display:block;text-align:center}.lspan{display:block;text-align:left}.rspan{display:block;text-align:right}.sis-consent-panel{background:#adbed2;border:1px solid var(--portal-border,var(--paper-border));border-radius:var(--radius-2,12px);bottom:16px;box-shadow:0 18px 42px rgba(12,35,71,.26);color:var(--portal-text,var(--primary-color));inset-inline:16px;max-width:720px;padding:16px;position:fixed;z-index:10001}html[data-theme="dark"] .sis-consent-panel{background:var(--portal-neutral-page-dark)}html[data-theme="dark"] .sis-consent-panel .portal-button-secondary{color:var(--portal-dark-bg)}.sis-consent-panel[hidden]{display:none}.sis-consent-panel__content{gap:10px;max-width:680px}.sis-consent-panel h2,
.sis-consent-panel p{margin:0}.sis-consent-panel h2{font-size:1.25rem;letter-spacing:.01em;line-height:1.2}.sis-consent-panel #sisConsentDescription{font-size:.95rem;line-height:1.45;max-width:62ch}.sis-consent-options{display:grid;gap:6px}.sis-consent-option{align-items:flex-start;background:color-mix(in srgb,var(--portal-surface-card,var(--paper)) 72%,transparent);border:1px solid var(--portal-border,var(--paper-border));border-radius:var(--radius-2,8px);cursor:pointer;display:flex;gap:12px;line-height:1.3;padding:9px 10px;transition:border-color .16s ease,background-color .16s ease}
.sis-consent-option:focus-within,.sis-consent-option:hover{background:var(--portal-surface-card,var(--paper));border-color:var(--brand)}.sis-consent-option input{accent-color:var(--brand);flex:0 0 auto;height:20px;margin:1px 0 0;max-width:20px;width:20px}.sis-consent-option span{display:grid;flex:1 1 auto;gap:2px;min-width:0}.sis-consent-option small{color:var(--portal-text-soft,var(--secondary-color));font-size:.9rem;line-height:1.35}.sis-consent-panel__actions{gap:6px;margin-top:2px}.sis-consent-panel__status,
.sis-consent-status{color:var(--portal-text-soft,var(--secondary-color));font-size:.86rem}@media (max-width:639px){.sis-consent-panel{bottom:8px;inset-inline:8px;padding:14px}.sis-consent-panel__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sis-consent-panel__actions > .portal-button{inline-size:100%;min-inline-size:0}}.sis-consent-panel{--privacy-banner-button-border:var(--portal-role-border-strong,var(--portal-role-border));--privacy-banner-button-border-hover:var(--portal-role-text);--privacy-banner-button-hover-bg:var(--portal-role-data-surface-bg);--privacy-banner-button-text:var(--portal-role-text);background:var(--portal-role-content-bg);border:1px solid var(--portal-role-border);border-radius:0;bottom:0;box-shadow:0 -10px 26px rgba(12,35,71,.18);box-sizing:border-box;color:var(--portal-role-text);inset-inline:0;max-width:none;padding:12px max(16px,calc(50vw - 640px));width:100%}html[data-theme="dark"] .sis-consent-panel{--privacy-banner-button-border:rgba(251,255,255,.82);--privacy-banner-button-border-hover:#fff;--privacy-banner-button-hover-bg:hsla(0,0%,100%,.1);--privacy-banner-button-text:var(--portal-dark-text);background:var(--portal-role-content-bg);border-color:var(--portal-dark-border);box-shadow:0 -10px 26px rgba(0,0,0,.42);color:var(--portal-dark-text)}.sis-consent-panel__content{align-items:center;display:grid;gap:16px;grid-template-columns:28px minmax(0,1fr) auto;max-width:none}.sis-consent-panel__info{align-items:center;border:1px solid;border-radius:50%;box-sizing:border-box;display:inline-flex;font-size:.85rem;font-weight:800;height:22px;justify-content:center;width:22px}.sis-consent-panel__message{min-width:0}.sis-consent-panel__links{font-size:.86rem;line-height:1.4;margin:0}.sis-consent-panel__links a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.sis-consent-panel__links a:focus-visible,.sis-consent-panel__links a:hover{text-decoration-thickness:2px}.sis-consent-panel__actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin:0}.sis-consent-panel__actions > .portal-button{min-inline-size:150px}.portal-button.portal-button-privacy-shaded{background:transparent!important;border:1px solid var(--privacy-banner-button-border)!important;box-shadow:none!important;color:var(--privacy-banner-button-text)!important}
.portal-button.portal-button-privacy-shaded:focus-visible,.portal-button.portal-button-privacy-shaded:hover{background:var(--privacy-banner-button-hover-bg)!important;border-color:var(--privacy-banner-button-border-hover)!important;color:var(--privacy-banner-button-text)!important}.sis-consent-panel__status{display:none}@media (max-width:760px){.sis-consent-panel__content{grid-template-columns:24px minmax(0,1fr)}.sis-consent-panel__actions{grid-column:2}.sis-consent-panel__actions > .portal-button{flex:1 1 130px;min-inline-size:0}}@media (max-width:480px){.sis-consent-panel{padding:12px}.sis-consent-panel__content{gap:10px}.sis-consent-panel__links{font-size:.8rem}.sis-consent-panel__actions{grid-column:1/-1}.sis-consent-panel__actions > .portal-button{flex:1 1 100%;max-inline-size:none!important;width:100%}}body.admin-portal-page #libraryMwPreviewDialog{background:var(--portal-surface-card);border:1px solid var(--portal-border-strong);border-radius:var(--radius-2);color:var(--portal-text);margin-bottom:1rem;max-block-size:85vh;max-inline-size:min(900px,92vw);padding:0;width:min(900px,92vw)}body.admin-portal-page #libraryMwPreviewDialog::backdrop{background:var(--portal-modal-backdrop)}body.admin-portal-page #libraryLdocePreviewDialog,
body.admin-portal-page #libraryOxfordPreviewDialog{background:var(--portal-surface-card);border:1px solid var(--portal-border-strong);border-radius:var(--radius-2);color:var(--portal-text);max-block-size:85vh;max-inline-size:min(900px,92vw);padding:0;width:min(900px,92vw)}
body.admin-portal-page #libraryBritannicaPreviewDialog::backdrop,body.admin-portal-page #libraryLdocePreviewDialog::backdrop,
body.admin-portal-page #libraryMerriamWebsterPreviewDialog::backdrop,
body.admin-portal-page #libraryOxfordPreviewDialog::backdrop{background:var(--portal-modal-backdrop)}
.library-britannica-preview-form,.library-ldoce-preview-form,
.library-merriam-webster-preview-form,
.library-oxford-preview-form{display:grid;gap:14px;max-block-size:85vh;overflow:auto;padding:16px}
.library-dictionary-preview-root,.library-ldoce-preview-root{display:grid;gap:14px;min-inline-size:0}
.library-dictionary-preview-root .new-word-entry-definition,.library-ldoce-preview-root .new-word-entry-definition{margin:0}
.library-dictionary-preview-root fieldset,.library-ldoce-preview-root fieldset{display:grid;gap:8px;margin:0;padding:12px}
.library-dictionary-preview-root audio,.library-ldoce-preview-root audio{max-inline-size:100%}.library-audio-options{display:grid;gap:var(--portal-content-gap);grid-template-columns:repeat(2,minmax(0,1fr))}.library-audio-options > .library-audio-row{min-inline-size:0}body.admin-portal-page .library-review-pane .library-definition-audio{display:grid;gap:6px;grid-column:2;min-inline-size:0}body.admin-portal-page .library-review-pane .news-vocabulary-definition-row > textarea[data-vocabulary-field="definition"]{grid-column:2}body.admin-portal-page .library-review-pane .library-definition-audio-title{font-size:.85rem;font-weight:700}body.admin-portal-page .library-review-pane .library-definition-audio-options{align-items:center;display:flex;flex-wrap:wrap;gap:var(--portal-content-gap)}body.admin-portal-page .library-review-pane .library-definition-audio-options > .library-audio-row{align-items:center;display:inline-flex;flex:0 1 auto;min-inline-size:0}.library-audio-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;min-block-size:48px}.library-audio-row > label{align-items:center;display:inline-flex;gap:6px}a.library-audio-play{align-items:center;background:transparent;border:0;border-radius:var(--radius-2);box-sizing:border-box;cursor:pointer;display:inline-flex;height:48px;inline-size:48px;justify-content:center;min-block-size:48px;min-inline-size:48px;padding:4px}a.library-audio-play img{display:block;height:48px;transition:transform .16s ease;width:48px}
a.library-audio-play.is-playing img,
a.library-audio-play:focus-visible img,a.library-audio-play:hover img{transform:scale(1.1)}a.library-audio-play:focus-visible{box-shadow:var(--portal-button-shadow-focus);outline:none}.library-mw-preview-json{background:var(--portal-surface-panel);border-top:1px solid var(--portal-border);box-sizing:border-box;font-family:B612 Mono,monospace;font-size:1.15rem;letter-spacing:normal;line-height:1.3rem;margin:0;max-block-size:72vh;overflow:auto;padding:16px;white-space:pre-wrap;word-break:break-word}.bm01rem{margin-bottom:1rem}
body.parent-portal-page #newsWeekSetModal .portal-modal-dialog,body.student-portal-page #newsWeekSetModal .portal-modal-dialog{max-width:min(1080px,calc(100vw - 36px));width:min(1080px,calc(100vw - 36px))}body.admin-portal-page #newsReviewViewerModal .queue-modal-card{max-inline-size:min(1180px,calc(100vw - 36px));width:min(1180px,calc(100vw - 36px))}@media (max-width:640px){body.admin-portal-page .news-vocabulary-row{grid-template-columns:1fr}body.admin-portal-page .news-vocabulary-row > [data-vocabulary-field]{grid-column:auto}body.admin-portal-page .news-vocabulary-definition-row{grid-template-columns:1fr}body.admin-portal-page .vocabulary-pos-control{flex:1 1 15ch;max-inline-size:none}body.admin-portal-page .vocabulary-pos-control select{max-inline-size:none}}