:root{--color-primary:#5b3e96;--color-primary-rgb:91, 62, 150;--color-primary-light:#7b5fb8;--color-primary-light-rgb:123, 95, 184;--color-primary-dark:#3e2a6b;--color-link:var(--color-primary);--color-primary-hover:var(--color-primary-light);--color-success-hover:var(--color-success-strong);--color-success-button:#15803d;--color-success-button-hover:#166534;--color-danger-hover:var(--color-danger-strong);--color-destroy-hover:var(--color-destroy-strong);--color-primary-50:#f3eefa;--color-selected-bg:var(--color-primary-50);--color-focus-ring:#5b3e9659;--focus-ring-color:var(--color-primary);--color-primary-100:#e0d1f5;--color-secondary:#d4a843;--color-secondary-rgb:212, 168, 67;--color-secondary-light:#e8c86e;--color-secondary-dark:#b08a2e;--color-success:#16a34a;--color-success-strong:#15803d;--color-success-bg:#d1fae5;--color-warning:#f59e0b;--color-warning-strong:#b45309;--color-head-cancel:#c2410c;--color-head-reject:#e11d48;--color-head-approve:#15803d;--color-head-approve-btn:#166534;--color-head-approve-btn-hover:#14532d;--color-head-cancel-btn:#9a3412;--color-head-cancel-btn-hover:#7c2d12;--color-warning-deep:#92400e;--color-warning-bg:#fef3c7;--color-danger:#dc2626;--color-danger-strong:#b91c1c;--color-danger-bg:#fee2e2;--color-info:#6366f1;--color-info-strong:#4338ca;--color-info-bg:#e0e7ff;--color-on-tint-success:#166534;--color-on-tint-warning:#b04e08;--color-on-tint-neutral:#475569;--color-pending:#8b5cf6;--color-pending-strong:#7c3aed;--color-problematic:#e11d48;--color-problematic-bg:#ffe4e6;--color-destroy:#991b1b;--color-destroy-strong:#7f1d1d;--tone-destroy-rgb:153, 27, 27;--tone-neutral-rgb:148, 163, 184;--tone-pending-rgb:139, 92, 246;--tone-warning-rgb:245, 158, 11;--tone-danger-rgb:220, 38, 38;--tone-success-rgb:22, 163, 74;--tone-info-rgb:99, 102, 241;--tone-white-rgb:255, 255, 255;--tone-black-rgb:0, 0, 0;--tone-ink-rgb:15, 23, 42;--color-success-strong-rgb:21, 128, 61;--color-warning-strong-rgb:180, 83, 9;--color-pending-strong-rgb:124, 58, 237;--status-inprocess:#0369a1;--status-terminated:#475569;--status-inprocess-rgb:3, 105, 161;--status-terminated-rgb:71, 85, 105;--accent-indigo:#4f46e5;--accent-indigo-rgb:79, 70, 229;--accent-teal:#0d9488;--accent-teal-rgb:13, 148, 136;--accent-cyan:#0891b2;--accent-cyan-rgb:8, 145, 178;--chip-fill-teal:#0f766e;--chip-fill-cyan:#0e7490;--accent-blue:#3b82f6;--accent-blue-rgb:59, 130, 246;--accent-blue-strong:#1d4ed8;--accent-rose:#be123c;--accent-rose-wash-rgb:225, 29, 72;--accent-fuchsia:#a21caf;--accent-fuchsia-rgb:162, 28, 175;--accent-orange:#ea580c;--accent-orange-rgb:234, 88, 12;--accent-sky:#0284c7;--accent-sky-wash-rgb:14, 165, 233;--accent-sky-strong:#0369a1;--accent-indigo-strong:var(--accent-indigo);--accent-rose-strong:var(--accent-rose);--accent-fuchsia-strong:var(--accent-fuchsia);--accent-teal-strong:#115e59;--accent-orange-strong:#9a3412;--accent-cyan-strong:#155e75;--color-pending-hover:var(--color-pending-strong);--color-warning-hover:var(--color-warning-strong);--accent-blue-fill:var(--accent-blue-strong);--accent-sky-fill:var(--accent-sky-strong);--color-info-hover:var(--color-info-strong);--color-neutral-fill:var(--color-on-tint-neutral);--color-muted-fill:var(--color-text-secondary);--color-text-fill:var(--color-text);--color-on-tint-success-fill:var(--color-on-tint-success);--color-on-tint-warning-fill:var(--color-on-tint-warning);--status-inprocess-fill:var(--status-inprocess);--scorecard-success-from:#15803d;--scorecard-success-to:#166534;--scorecard-success-label:#d1fae5;--scorecard-warning-from:#92400e;--scorecard-warning-to:#b45309;--scorecard-warning-label:#fff;--scorecard-danger-from:#a51c1c;--scorecard-danger-to:#b91c1c;--scorecard-danger-label:#fecaca;--scorecard-sky-from:#075985;--scorecard-sky-to:#0284c7;--scorecard-sky-label:#fff;--scorecard-indigo-from:#4338ca;--scorecard-indigo-to:#0284c7;--scorecard-indigo-label:#fff;--scorecard-gold-from:#854d0e;--scorecard-gold-to:#a16207;--scorecard-gold-label:#fef9c3;--scorecard-pill-bg:rgba(var(--tone-black-rgb), .18);--scorecard-pill-up:#022c224d;--scorecard-pill-down:#450a0a52;--chart-tooltip-bg:rgba(var(--tone-white-rgb), .92);--chart-tick:#666;--chart-cursor:#ccc;--plan-shade-1-rgb:59, 130, 246;--plan-shade-1-wash:#eff6ff;--plan-shade-2-rgb:14, 116, 144;--plan-shade-2-wash:#ecfeff;--plan-shade-3-rgb:234, 88, 12;--plan-shade-3-wash:#fffbeb;--plan-shade-4-rgb:236, 72, 153;--plan-shade-4-wash:#fdf2f8;--plan-shade-5-rgb:139, 92, 246;--plan-shade-5-wash:#f5f3ff;--load-0-bg:rgba(var(--tone-black-rgb), .05);--load-0-ink:var(--color-text-secondary);--load-1-bg:var(--color-success-bg);--load-1-ink:#047857;--load-2-bg:#fef9c3;--load-2-ink:#a16207;--load-3-bg:#ffedd5;--load-3-ink:#c2410c;--load-4-bg:var(--color-danger-bg);--load-4-ink:var(--color-danger-strong);--color-bg:transparent;--color-surface:#ffffffd9;--color-surface-hover:#f1f3f9e6;--color-surface-alt:rgba(var(--tone-neutral-rgb), .05);--color-on-accent:#fff;--color-surface-solid:#fff;--color-page-wash:#f8f9fc;--color-page-wash-end:var(--color-primary-50);--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-border-strong:#cbd5e1;--color-border-control:#858fa1;--color-text:#1e293b;--color-text-secondary:#566173;--color-text-secondary-rgb:86, 97, 115;--color-text-muted:#5f6b7e;--sidebar-width:260px;--sidebar-collapsed:80px;--sidebar-bg:#1e1b2ed9;--color-panel-dark:#1e1b2e;--sidebar-bg-flyout:#1e1b2ef5;--sidebar-edge:transparent;--color-panel-dark-mid:#2d2450;--sidebar-text:#c4b5e0;--sidebar-text-active:#fff;--sidebar-section-text:#b4a8d0;--brand-panel-text:#ddd3f0;--brand-panel-from:#2e1f52;--brand-panel-mid:var(--color-primary-dark);--brand-panel-to:var(--color-primary);--sidebar-hover:#ffffff0f;--sidebar-active:#5b3e9680;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000000d;--shadow-glass:0 8px 32px #5b3e9626;--shadow-glow:0 0 15px #5b3e9666;--shadow-overlay:0 12px 32px #0f172a2e;--glow-brand:0 2px 8px #5b3e9640;--glow-brand-strong:0 4px 12px #5b3e9659;--ring-focus:0 0 0 3px #5b3e9638;--ring-focus-inset:inset 0 0 0 3px #5b3e9638;--glass-bg:#ffffffb3;--glass-bg-hover:#ffffffd9;--glass-border:#ffffff80;--glass-blur:blur(12px);--glass-blur-strong:blur(20px) saturate(180%);--scrim-blur:blur(2px);--scrim-modal:#0000001f;--scrim-nav:#00000080;--border-width:1px;--border-width-emphasis:2px;--border-width-bar:3px;--border-brand-soft:rgba(var(--color-primary-rgb), .2);--border-brand:rgba(var(--color-primary-rgb), .3);--border-brand-strong:rgba(var(--color-primary-rgb), .45);--color-border-on-dark:#ffffff4d;--color-danger-on-dark:#fca5a5;--radius-chip:4px;--radius-control:8px;--radius-card:16px;--radius-panel:24px;--radius-pill:9999px;--icon-box-sm:28px;--icon-box-md:40px;--icon-box-lg:56px;--topbar-h-compact:44px;--topbar-ctl-compact:36px;--float-w-xs:320px;--float-w-sm:400px;--float-w-md:560px;--float-w-lg:760px;--float-w-xl:900px;--prose-max:620px;--prose-max-short:400px;--ease-standard:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-spring-soft:cubic-bezier(.34, 1.3, .64, 1);--ease-in:cubic-bezier(.4, 0, .6, 1);--ease-inout:ease-in-out;--dur-fast:.15s;--dur-base:.25s;--dur-slow:.4s;--dur-gentle:.3s;--dur-press:90ms;--motion-control:background var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard), filter var(--dur-fast) var(--ease-standard), transform var(--dur-base) var(--ease-spring);--motion-surface:background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard), transform var(--dur-base) var(--ease-spring-soft);--motion-flat:background var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard);--motion-icon:transform var(--dur-fast) var(--ease-standard), background var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), filter var(--dur-fast) var(--ease-standard);--motion-fade:opacity var(--dur-fast) var(--ease-out);--motion-collapse:grid-template-rows var(--dur-base) var(--ease-out), visibility 0s linear var(--dur-base);--gap-pair:clamp(3.6px, 3.41px + .049vw, 4px);--gap-line:clamp(7.2px, 6.83px + .098vw, 8px);--gap-head:clamp(10.8px, 10.25px + .147vw, 12px);--gap-block:clamp(14.4px, 13.67px + .196vw, 16px);--gap-group:clamp(21.6px, 20.49px + .296vw, 24px);--gap-section:clamp(28.8px, 27.32px + .394vw, 32px);--gap-page:clamp(43.2px, 40.98px + .591vw, 48px);--icon-text-gap:8px;--inset-tight:var(--gap-line);--inset-card:var(--gap-block);--inset-roomy:var(--gap-group);--inset-page:var(--gap-section);--squish-len-2:clamp(1.8px, 1.71px + .025vw, 2px);--squish-len-6:clamp(5.4px, 5.12px + .074vw, 6px);--squish-len-10:clamp(9px, 8.54px + .123vw, 10px);--squish-len-14:clamp(12.6px, 11.96px + .172vw, 14px);--squish-len-20:clamp(18px, 17.08px + .245vw, 20px);--squish-len-28:clamp(25.2px, 23.91px + .343vw, 28px);--squish-tag:var(--squish-len-2) var(--gap-line);--squish-chip:var(--gap-pair) var(--squish-len-10);--squish-short:var(--squish-len-6) var(--gap-head);--squish-std:var(--squish-len-10) var(--gap-head);--squish-short-label:var(--squish-len-6) var(--squish-len-14);--squish-std-label:var(--squish-len-10) var(--squish-len-20);--squish-lg:var(--squish-len-14) var(--squish-len-28);--squish-note:var(--gap-line) var(--squish-len-14);--squish-box:var(--gap-head) var(--squish-len-14);--leading-tight:1.25;--leading-snug:1.4;--leading-base:1.6;--leading-prose:1.75;--leading-flat:1;--font-family:"Sarabun", sans-serif;--font-size-xs:clamp(10.8px, 10.248px + .1472vw, 12px);--font-size-sm:clamp(12.6px, 11.956px + .1718vw, 14px);--font-size-base:clamp(14.4px, 13.664px + .1963vw, 16px);--font-size-lg:clamp(16.2px, 15.372px + .2209vw, 18px);--font-size-xl:clamp(18px, 17.08px + .2454vw, 20px);--font-size-2xl:clamp(21.6px, 20.496px + .2945vw, 24px);--font-size-3xl:clamp(27px, 25.62px + .3681vw, 30px);--font-size-4xl:clamp(32.4px, 30.744px + .4417vw, 36px);--font-size-md:var(--font-size-base);--type-px:clamp(.9px, .854px + .01227vw, 1px);--skel-h-line:calc(var(--font-size-sm) * var(--leading-base));--skel-h-row:calc(var(--gap-head) * 2 + var(--font-size-sm) * var(--leading-snug));--skel-h-tile:calc(var(--gap-head) * 2 + var(--font-size-base) * var(--leading-tight) + var(--gap-pair) + var(--font-size-xs) * var(--leading-snug));--skel-h-card:calc(var(--gap-block) * 2 + var(--font-size-base) * var(--leading-tight) + var(--gap-pair) + var(--font-size-sm) * var(--leading-snug));--skel-h-cardtall:calc(var(--skel-h-card) + var(--gap-pair) + var(--font-size-sm) * var(--leading-snug));--skel-h-cardxl:calc(var(--skel-h-cardtall) + var(--gap-pair) + var(--font-size-sm) * var(--leading-snug));--skel-h-ctl-tiny:calc(var(--squish-len-2) * 2 + var(--font-size-xs) * var(--leading-snug) + 2px);--skel-h-ctl-chip:calc(var(--gap-pair) * 2 + var(--font-size-xs) * var(--leading-snug) + 2px);--skel-h-ctl-short:calc(var(--squish-len-6) * 2 + var(--font-size-xs) * var(--leading-snug) + 2px);--skel-h-ctl-standard:calc(var(--squish-len-10) * 2 + var(--font-size-sm) * var(--leading-snug) + 2px);--z-sticky:5;--z-nav:50;--z-dropdown:200;--z-modal:400;--z-modal-nested:500;--z-popover:600;--z-toast:700;--z-fab:750;--z-system:800;--z-tour:900;--z-splash:1000;--opacity-disabled:.5;--opacity-muted:.7;--opacity-decor:.25;--opacity-scrim:.15}@media screen{:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary:#7b5fb8;--color-primary-rgb:123, 95, 184;--color-primary-light:#9b82d6;--color-primary-light-rgb:155, 130, 214;--color-primary-dark:#5b3e96;--color-primary-50:#211a33;--color-primary-100:#30264d;--color-selected-bg:#342a50;--color-link:#b9a5ec;--color-primary-hover:#8062c0;--color-success-hover:#15803d;--color-success-button:var(--color-success);--color-success-button-hover:var(--color-success-hover);--color-head-cancel:#ea580c;--color-head-cancel-btn:#c2410c;--color-head-cancel-btn-hover:#9a3412;--color-head-reject:#f43f5e;--color-head-approve:rgb(var(--tone-success-rgb));--color-head-approve-btn:var(--color-success-button);--color-head-approve-btn-hover:var(--color-success-button-hover);--chip-fill-teal:var(--accent-teal);--chip-fill-cyan:var(--accent-cyan);--color-danger-hover:#b91c1c;--color-destroy-hover:#b91c1c;--color-focus-ring:#9b82d673;--focus-ring-color:#c4b5e0;--color-page-wash:#0e0c14;--color-page-wash-end:#120f1b;--color-surface:#262136e6;--color-surface-hover:#322b46eb;--color-surface-alt:rgba(var(--tone-white-rgb), .04);--color-surface-solid:#221d31;--glass-bg:#262136bd;--glass-bg-hover:#262136e6;--glass-border:rgba(var(--tone-white-rgb), .08);--color-border:#4d4468;--color-border-light:#302a42;--color-border-strong:#7c7399;--color-border-control:var(--color-border-strong);--color-text:#ede9f6;--color-text-secondary:#b6aecd;--color-text-secondary-rgb:182, 174, 205;--color-text-muted:#9c94b5;--sidebar-bg:#050409f2;--sidebar-bg-flyout:#050409fa;--color-panel-dark:#050409;--sidebar-edge:#b9a5ec47;--color-panel-dark-mid:#1a1530;--sidebar-active:#7b5fb880;--sidebar-section-text:var(--color-text-secondary);--brand-panel-text:var(--sidebar-text);--color-success-strong:#4ade80;--color-success-strong-rgb:74, 222, 128;--color-warning-strong:#fbbf24;--color-warning-strong-rgb:251, 191, 36;--color-warning-deep:#fcd34d;--color-danger-strong:#fc8b8b;--color-info-strong:#a5b4fc;--color-pending-strong:#c4b5fd;--color-pending-strong-rgb:196, 181, 253;--color-destroy-strong:#fca5a5;--color-on-tint-success:#4ade80;--color-on-tint-warning:#fbbf24;--color-on-tint-neutral:#cbd5e1;--color-success-bg:rgba(var(--tone-success-rgb), .18);--color-warning-bg:rgba(var(--tone-warning-rgb), .18);--color-danger-bg:rgba(var(--tone-danger-rgb), .18);--color-info-bg:rgba(var(--tone-info-rgb), .2);--color-problematic-bg:#e11d482e;--status-inprocess:#38bdf8;--status-inprocess-rgb:56, 189, 248;--status-terminated:#a7b2c4;--status-terminated-rgb:167, 178, 196;--accent-sky-strong:#38bdf8;--accent-blue-strong:#60a5fa;--accent-indigo-strong:#a5b4fc;--accent-teal-strong:#5eead4;--accent-rose-strong:#fda4af;--accent-fuchsia-strong:#f0abfc;--accent-orange-strong:#fdba74;--accent-cyan-strong:#67e8f9;--color-warning-hover:#b45309;--color-pending-hover:#7c3aed;--accent-blue-fill:#1d4ed8;--accent-sky-fill:#0369a1;--color-info-hover:#4338ca;--color-neutral-fill:#475569;--color-muted-fill:#566173;--color-text-fill:var(--color-panel-dark);--color-on-tint-success-fill:#157a3b;--color-on-tint-warning-fill:#b04e08;--status-inprocess-fill:#0369a1;--scorecard-gold-from:#713f12;--scorecard-gold-to:#a16207;--chart-tooltip-bg:#2b2440f0;--chart-tick:var(--color-text-secondary);--chart-cursor:var(--color-border-strong);--plan-shade-1-wash:rgba(var(--plan-shade-1-rgb), .16);--plan-shade-2-wash:rgba(var(--plan-shade-2-rgb), .2);--plan-shade-3-wash:rgba(var(--plan-shade-3-rgb), .16);--plan-shade-4-wash:rgba(var(--plan-shade-4-rgb), .16);--plan-shade-5-wash:rgba(var(--plan-shade-5-rgb), .16);--load-0-bg:rgba(var(--tone-white-rgb), .06);--load-1-ink:#34d399;--load-2-bg:#eab3082e;--load-2-ink:#facc15;--load-3-bg:#f973162e;--load-3-ink:#fb923c;--shadow-sm:0 1px 2px rgba(var(--tone-black-rgb), .4);--shadow-md:0 4px 6px -1px rgba(var(--tone-black-rgb), .45), 0 2px 4px -2px rgba(var(--tone-black-rgb), .35);--shadow-lg:0 10px 15px -3px rgba(var(--tone-black-rgb), .5), 0 4px 6px -4px rgba(var(--tone-black-rgb), .35);--shadow-xl:0 20px 25px -5px rgba(var(--tone-black-rgb), .55), 0 8px 10px -6px rgba(var(--tone-black-rgb), .4);--shadow-glass:0 8px 32px rgba(var(--tone-black-rgb), .45);--shadow-glow:0 0 15px rgba(var(--color-primary-light-rgb), .45);--shadow-overlay:0 12px 32px rgba(var(--tone-black-rgb), .55);--glow-brand:0 2px 8px rgba(var(--color-primary-light-rgb), .3);--glow-brand-strong:0 4px 12px rgba(var(--color-primary-light-rgb), .4);--ring-focus:0 0 0 3px rgba(var(--color-primary-light-rgb), .35);--ring-focus-inset:inset 0 0 0 3px rgba(var(--color-primary-light-rgb), .35);--scrim-modal:rgba(var(--tone-black-rgb), .55);--scrim-nav:rgba(var(--tone-black-rgb), .65)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary:#7b5fb8;--color-primary-rgb:123, 95, 184;--color-primary-light:#9b82d6;--color-primary-light-rgb:155, 130, 214;--color-primary-dark:#5b3e96;--color-primary-50:#211a33;--color-primary-100:#30264d;--color-selected-bg:#342a50;--color-link:#b9a5ec;--color-primary-hover:#8062c0;--color-success-hover:#15803d;--color-success-button:var(--color-success);--color-success-button-hover:var(--color-success-hover);--color-head-cancel:#ea580c;--color-head-cancel-btn:#c2410c;--color-head-cancel-btn-hover:#9a3412;--color-head-reject:#f43f5e;--color-head-approve:rgb(var(--tone-success-rgb));--color-head-approve-btn:var(--color-success-button);--color-head-approve-btn-hover:var(--color-success-button-hover);--chip-fill-teal:var(--accent-teal);--chip-fill-cyan:var(--accent-cyan);--color-danger-hover:#b91c1c;--color-destroy-hover:#b91c1c;--color-focus-ring:#9b82d673;--focus-ring-color:#c4b5e0;--color-page-wash:#0e0c14;--color-page-wash-end:#120f1b;--color-surface:#262136e6;--color-surface-hover:#322b46eb;--color-surface-alt:rgba(var(--tone-white-rgb), .04);--color-surface-solid:#221d31;--glass-bg:#262136bd;--glass-bg-hover:#262136e6;--glass-border:rgba(var(--tone-white-rgb), .08);--color-border:#4d4468;--color-border-light:#302a42;--color-border-strong:#7c7399;--color-border-control:var(--color-border-strong);--color-text:#ede9f6;--color-text-secondary:#b6aecd;--color-text-secondary-rgb:182, 174, 205;--color-text-muted:#9c94b5;--sidebar-bg:#050409f2;--sidebar-bg-flyout:#050409fa;--color-panel-dark:#050409;--sidebar-edge:#b9a5ec47;--color-panel-dark-mid:#1a1530;--sidebar-active:#7b5fb880;--sidebar-section-text:var(--color-text-secondary);--brand-panel-text:var(--sidebar-text);--color-success-strong:#4ade80;--color-success-strong-rgb:74, 222, 128;--color-warning-strong:#fbbf24;--color-warning-strong-rgb:251, 191, 36;--color-warning-deep:#fcd34d;--color-danger-strong:#fc8b8b;--color-info-strong:#a5b4fc;--color-pending-strong:#c4b5fd;--color-pending-strong-rgb:196, 181, 253;--color-destroy-strong:#fca5a5;--color-on-tint-success:#4ade80;--color-on-tint-warning:#fbbf24;--color-on-tint-neutral:#cbd5e1;--color-success-bg:rgba(var(--tone-success-rgb), .18);--color-warning-bg:rgba(var(--tone-warning-rgb), .18);--color-danger-bg:rgba(var(--tone-danger-rgb), .18);--color-info-bg:rgba(var(--tone-info-rgb), .2);--color-problematic-bg:#e11d482e;--status-inprocess:#38bdf8;--status-inprocess-rgb:56, 189, 248;--status-terminated:#a7b2c4;--status-terminated-rgb:167, 178, 196;--accent-sky-strong:#38bdf8;--accent-blue-strong:#60a5fa;--accent-indigo-strong:#a5b4fc;--accent-teal-strong:#5eead4;--accent-rose-strong:#fda4af;--accent-fuchsia-strong:#f0abfc;--accent-orange-strong:#fdba74;--accent-cyan-strong:#67e8f9;--color-warning-hover:#b45309;--color-pending-hover:#7c3aed;--accent-blue-fill:#1d4ed8;--accent-sky-fill:#0369a1;--color-info-hover:#4338ca;--color-neutral-fill:#475569;--color-muted-fill:#566173;--color-text-fill:var(--color-panel-dark);--color-on-tint-success-fill:#157a3b;--color-on-tint-warning-fill:#b04e08;--status-inprocess-fill:#0369a1;--scorecard-gold-from:#713f12;--scorecard-gold-to:#a16207;--chart-tooltip-bg:#2b2440f0;--chart-tick:var(--color-text-secondary);--chart-cursor:var(--color-border-strong);--plan-shade-1-wash:rgba(var(--plan-shade-1-rgb), .16);--plan-shade-2-wash:rgba(var(--plan-shade-2-rgb), .2);--plan-shade-3-wash:rgba(var(--plan-shade-3-rgb), .16);--plan-shade-4-wash:rgba(var(--plan-shade-4-rgb), .16);--plan-shade-5-wash:rgba(var(--plan-shade-5-rgb), .16);--load-0-bg:rgba(var(--tone-white-rgb), .06);--load-1-ink:#34d399;--load-2-bg:#eab3082e;--load-2-ink:#facc15;--load-3-bg:#f973162e;--load-3-ink:#fb923c;--shadow-sm:0 1px 2px rgba(var(--tone-black-rgb), .4);--shadow-md:0 4px 6px -1px rgba(var(--tone-black-rgb), .45), 0 2px 4px -2px rgba(var(--tone-black-rgb), .35);--shadow-lg:0 10px 15px -3px rgba(var(--tone-black-rgb), .5), 0 4px 6px -4px rgba(var(--tone-black-rgb), .35);--shadow-xl:0 20px 25px -5px rgba(var(--tone-black-rgb), .55), 0 8px 10px -6px rgba(var(--tone-black-rgb), .4);--shadow-glass:0 8px 32px rgba(var(--tone-black-rgb), .45);--shadow-glow:0 0 15px rgba(var(--color-primary-light-rgb), .45);--shadow-overlay:0 12px 32px rgba(var(--tone-black-rgb), .55);--glow-brand:0 2px 8px rgba(var(--color-primary-light-rgb), .3);--glow-brand-strong:0 4px 12px rgba(var(--color-primary-light-rgb), .4);--ring-focus:0 0 0 3px rgba(var(--color-primary-light-rgb), .35);--ring-focus-inset:inset 0 0 0 3px rgba(var(--color-primary-light-rgb), .35);--scrim-modal:rgba(var(--tone-black-rgb), .55);--scrim-nav:rgba(var(--tone-black-rgb), .65)}}:root[data-theme=dark] .paper{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--color-text);--color-primary:#5b3e96;--color-primary-rgb:91, 62, 150;--color-primary-light:#7b5fb8;--color-primary-light-rgb:123, 95, 184;--color-primary-dark:#3e2a6b;--color-link:var(--color-primary);--color-primary-hover:var(--color-primary-light);--color-destroy-hover:var(--color-destroy-strong);--color-success-button:#15803d;--color-success-button-hover:#166534;--color-head-cancel:#c2410c;--color-head-cancel-btn:#9a3412;--color-head-cancel-btn-hover:#7c2d12;--color-head-reject:#e11d48;--color-head-approve:#15803d;--color-head-approve-btn:#166534;--color-head-approve-btn-hover:#14532d;--chip-fill-teal:#0f766e;--chip-fill-cyan:#0e7490;--color-primary-50:#f3eefa;--color-selected-bg:var(--color-primary-50);--color-focus-ring:#5b3e9659;--focus-ring-color:var(--color-primary);--color-primary-100:#e0d1f5;--color-success-strong:#15803d;--color-success-bg:#d1fae5;--color-warning-strong:#b45309;--color-warning-deep:#92400e;--color-warning-bg:#fef3c7;--color-danger-strong:#b91c1c;--color-danger-bg:#fee2e2;--color-info-strong:#4338ca;--color-info-bg:#e0e7ff;--color-on-tint-success:#166534;--color-on-tint-warning:#b04e08;--color-on-tint-neutral:#475569;--color-pending-strong:#7c3aed;--color-destroy-strong:#7f1d1d;--color-problematic-bg:#ffe4e6;--color-success-strong-rgb:21, 128, 61;--color-warning-strong-rgb:180, 83, 9;--color-pending-strong-rgb:124, 58, 237;--status-inprocess:#0369a1;--status-terminated:#475569;--status-inprocess-rgb:3, 105, 161;--status-terminated-rgb:71, 85, 105;--accent-blue-strong:#1d4ed8;--accent-sky-strong:#0369a1;--accent-indigo-strong:var(--accent-indigo);--accent-teal-strong:#115e59;--accent-rose-strong:var(--accent-rose);--accent-fuchsia-strong:var(--accent-fuchsia);--accent-orange-strong:#9a3412;--accent-cyan-strong:#155e75;--color-warning-hover:var(--color-warning-strong);--color-pending-hover:var(--color-pending-strong);--accent-blue-fill:var(--accent-blue-strong);--accent-sky-fill:var(--accent-sky-strong);--color-info-hover:var(--color-info-strong);--color-neutral-fill:var(--color-on-tint-neutral);--color-muted-fill:var(--color-text-secondary);--color-text-fill:var(--color-text);--color-on-tint-success-fill:var(--color-on-tint-success);--color-on-tint-warning-fill:var(--color-on-tint-warning);--status-inprocess-fill:var(--status-inprocess);--scorecard-gold-from:#854d0e;--scorecard-gold-to:#a16207;--chart-tooltip-bg:rgba(var(--tone-white-rgb), .92);--chart-tick:#666;--chart-cursor:#ccc;--plan-shade-1-wash:#eff6ff;--plan-shade-2-wash:#ecfeff;--plan-shade-3-wash:#fffbeb;--plan-shade-4-wash:#fdf2f8;--plan-shade-5-wash:#f5f3ff;--load-0-bg:rgba(var(--tone-black-rgb), .05);--load-0-ink:var(--color-text-secondary);--load-1-bg:var(--color-success-bg);--load-1-ink:#047857;--load-2-bg:#fef9c3;--load-2-ink:#a16207;--load-3-bg:#ffedd5;--load-3-ink:#c2410c;--load-4-bg:var(--color-danger-bg);--load-4-ink:var(--color-danger-strong);--color-surface:#ffffffd9;--color-surface-hover:#f1f3f9e6;--color-surface-alt:rgba(var(--tone-neutral-rgb), .05);--color-surface-solid:#fff;--color-page-wash:#f8f9fc;--color-page-wash-end:var(--color-primary-50);--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-border-strong:#cbd5e1;--color-border-control:#858fa1;--color-text:#1e293b;--color-text-secondary:#566173;--color-text-secondary-rgb:86, 97, 115;--color-text-muted:#5f6b7e;--sidebar-bg:#1e1b2ed9;--color-panel-dark:#1e1b2e;--sidebar-bg-flyout:#1e1b2ef5;--sidebar-edge:transparent;--sidebar-section-text:#b4a8d0;--brand-panel-text:#ddd3f0;--brand-panel-mid:var(--color-primary-dark);--brand-panel-to:var(--color-primary);--color-panel-dark-mid:#2d2450;--sidebar-active:#5b3e9680;--glow-brand:0 2px 8px #5b3e9640;--glow-brand-strong:0 4px 12px #5b3e9659;--ring-focus:0 0 0 3px #5b3e9638;--ring-focus-inset:inset 0 0 0 3px #5b3e9638;--glass-bg:#ffffffb3;--glass-bg-hover:#ffffffd9;--glass-border:#ffffff80;--scrim-modal:#0000001f;--scrim-nav:#00000080;--border-brand-soft:rgba(var(--color-primary-rgb), .2);--border-brand:rgba(var(--color-primary-rgb), .3);--border-brand-strong:rgba(var(--color-primary-rgb), .45)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .paper{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--color-text);--color-primary:#5b3e96;--color-primary-rgb:91, 62, 150;--color-primary-light:#7b5fb8;--color-primary-light-rgb:123, 95, 184;--color-primary-dark:#3e2a6b;--color-link:var(--color-primary);--color-primary-hover:var(--color-primary-light);--color-destroy-hover:var(--color-destroy-strong);--color-success-button:#15803d;--color-success-button-hover:#166534;--color-head-cancel:#c2410c;--color-head-cancel-btn:#9a3412;--color-head-cancel-btn-hover:#7c2d12;--color-head-reject:#e11d48;--color-head-approve:#15803d;--color-head-approve-btn:#166534;--color-head-approve-btn-hover:#14532d;--chip-fill-teal:#0f766e;--chip-fill-cyan:#0e7490;--color-primary-50:#f3eefa;--color-selected-bg:var(--color-primary-50);--color-focus-ring:#5b3e9659;--focus-ring-color:var(--color-primary);--color-primary-100:#e0d1f5;--color-success-strong:#15803d;--color-success-bg:#d1fae5;--color-warning-strong:#b45309;--color-warning-deep:#92400e;--color-warning-bg:#fef3c7;--color-danger-strong:#b91c1c;--color-danger-bg:#fee2e2;--color-info-strong:#4338ca;--color-info-bg:#e0e7ff;--color-on-tint-success:#166534;--color-on-tint-warning:#b04e08;--color-on-tint-neutral:#475569;--color-pending-strong:#7c3aed;--color-destroy-strong:#7f1d1d;--color-problematic-bg:#ffe4e6;--color-success-strong-rgb:21, 128, 61;--color-warning-strong-rgb:180, 83, 9;--color-pending-strong-rgb:124, 58, 237;--status-inprocess:#0369a1;--status-terminated:#475569;--status-inprocess-rgb:3, 105, 161;--status-terminated-rgb:71, 85, 105;--accent-blue-strong:#1d4ed8;--accent-sky-strong:#0369a1;--accent-indigo-strong:var(--accent-indigo);--accent-teal-strong:#115e59;--accent-rose-strong:var(--accent-rose);--accent-fuchsia-strong:var(--accent-fuchsia);--accent-orange-strong:#9a3412;--accent-cyan-strong:#155e75;--color-warning-hover:var(--color-warning-strong);--color-pending-hover:var(--color-pending-strong);--accent-blue-fill:var(--accent-blue-strong);--accent-sky-fill:var(--accent-sky-strong);--color-info-hover:var(--color-info-strong);--color-neutral-fill:var(--color-on-tint-neutral);--color-muted-fill:var(--color-text-secondary);--color-text-fill:var(--color-text);--color-on-tint-success-fill:var(--color-on-tint-success);--color-on-tint-warning-fill:var(--color-on-tint-warning);--status-inprocess-fill:var(--status-inprocess);--scorecard-gold-from:#854d0e;--scorecard-gold-to:#a16207;--chart-tooltip-bg:rgba(var(--tone-white-rgb), .92);--chart-tick:#666;--chart-cursor:#ccc;--plan-shade-1-wash:#eff6ff;--plan-shade-2-wash:#ecfeff;--plan-shade-3-wash:#fffbeb;--plan-shade-4-wash:#fdf2f8;--plan-shade-5-wash:#f5f3ff;--load-0-bg:rgba(var(--tone-black-rgb), .05);--load-0-ink:var(--color-text-secondary);--load-1-bg:var(--color-success-bg);--load-1-ink:#047857;--load-2-bg:#fef9c3;--load-2-ink:#a16207;--load-3-bg:#ffedd5;--load-3-ink:#c2410c;--load-4-bg:var(--color-danger-bg);--load-4-ink:var(--color-danger-strong);--color-surface:#ffffffd9;--color-surface-hover:#f1f3f9e6;--color-surface-alt:rgba(var(--tone-neutral-rgb), .05);--color-surface-solid:#fff;--color-page-wash:#f8f9fc;--color-page-wash-end:var(--color-primary-50);--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-border-strong:#cbd5e1;--color-border-control:#858fa1;--color-text:#1e293b;--color-text-secondary:#566173;--color-text-secondary-rgb:86, 97, 115;--color-text-muted:#5f6b7e;--sidebar-bg:#1e1b2ed9;--color-panel-dark:#1e1b2e;--sidebar-bg-flyout:#1e1b2ef5;--sidebar-edge:transparent;--sidebar-section-text:#b4a8d0;--brand-panel-text:#ddd3f0;--brand-panel-mid:var(--color-primary-dark);--brand-panel-to:var(--color-primary);--color-panel-dark-mid:#2d2450;--sidebar-active:#5b3e9680;--glow-brand:0 2px 8px #5b3e9640;--glow-brand-strong:0 4px 12px #5b3e9659;--ring-focus:0 0 0 3px #5b3e9638;--ring-focus-inset:inset 0 0 0 3px #5b3e9638;--glass-bg:#ffffffb3;--glass-bg-hover:#ffffffd9;--glass-border:#ffffff80;--scrim-modal:#0000001f;--scrim-nav:#00000080;--border-brand-soft:rgba(var(--color-primary-rgb), .2);--border-brand:rgba(var(--color-primary-rgb), .3);--border-brand-strong:rgba(var(--color-primary-rgb), .45)}}}@media print{:root{--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-size-4xl:36px;--type-px:1px}}[data-manual-capture]{--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-size-4xl:36px;--type-px:1px;font-size:var(--font-size-sm);--gap-pair:4px;--gap-line:8px;--gap-head:12px;--gap-block:16px;--gap-group:24px;--gap-section:32px;--gap-page:48px;--inset-tight:var(--gap-line);--inset-card:var(--gap-block);--inset-roomy:var(--gap-group);--inset-page:var(--gap-section);--squish-len-2:2px;--squish-len-6:6px;--squish-len-10:10px;--squish-len-14:14px;--squish-len-20:20px;--squish-len-28:28px;--squish-tag:var(--squish-len-2) var(--gap-line);--squish-chip:var(--gap-pair) var(--squish-len-10);--squish-short:var(--squish-len-6) var(--gap-head);--squish-std:var(--squish-len-10) var(--gap-head);--squish-short-label:var(--squish-len-6) var(--squish-len-14);--squish-std-label:var(--squish-len-10) var(--squish-len-20);--squish-lg:var(--squish-len-14) var(--squish-len-28);--squish-note:var(--gap-line) var(--squish-len-14);--squish-box:var(--gap-head) var(--squish-len-14);--skel-h-line:calc(var(--font-size-sm) * var(--leading-base));--skel-h-row:calc(var(--gap-head) * 2 + var(--font-size-sm) * var(--leading-snug));--skel-h-tile:calc(var(--gap-head) * 2 + var(--font-size-base) * var(--leading-tight) + var(--gap-pair) + var(--font-size-xs) * var(--leading-snug));--skel-h-card:calc(var(--gap-block) * 2 + var(--font-size-base) * var(--leading-tight) + var(--gap-pair) + var(--font-size-sm) * var(--leading-snug));--skel-h-cardtall:calc(var(--skel-h-card) + var(--gap-pair) + var(--font-size-sm) * var(--leading-snug));--skel-h-cardxl:calc(var(--skel-h-cardtall) + var(--gap-pair) + var(--font-size-sm) * var(--leading-snug))}:where(.recharts-surface text[font-size="11"]){font-size:calc(var(--type-px) * 11)}:where(.recharts-surface text[font-size="12"]){font-size:calc(var(--type-px) * 12)}:where(.recharts-legend-item>svg.recharts-surface[width="14"]){width:calc(var(--type-px) * 14);height:calc(var(--type-px) * 14)}:where(svg.lucide[width="10"]){width:calc(var(--type-px) * 10);height:calc(var(--type-px) * 10)}:where(svg.lucide[width="11"]){width:calc(var(--type-px) * 11);height:calc(var(--type-px) * 11)}:where(svg.lucide[width="12"]){width:calc(var(--type-px) * 12);height:calc(var(--type-px) * 12)}:where(svg.lucide[width="13"]){width:calc(var(--type-px) * 13);height:calc(var(--type-px) * 13)}:where(svg.lucide[width="14"]){width:calc(var(--type-px) * 14);height:calc(var(--type-px) * 14)}:where(svg.lucide[width="15"]){width:calc(var(--type-px) * 15);height:calc(var(--type-px) * 15)}:where(svg.lucide[width="16"]){width:calc(var(--type-px) * 16);height:calc(var(--type-px) * 16)}:where(svg.lucide[width="17"]){width:calc(var(--type-px) * 17);height:calc(var(--type-px) * 17)}:where(svg.lucide[width="18"]){width:calc(var(--type-px) * 18);height:calc(var(--type-px) * 18)}:where(svg.lucide[width="20"]){width:calc(var(--type-px) * 20);height:calc(var(--type-px) * 20)}:where(svg.lucide[width="22"]){width:calc(var(--type-px) * 22);height:calc(var(--type-px) * 22)}:where(svg.lucide[width="24"]){width:calc(var(--type-px) * 24);height:calc(var(--type-px) * 24)}:where(svg.lucide[width="28"]){width:calc(var(--type-px) * 28);height:calc(var(--type-px) * 28)}:where(svg.lucide[width="36"]){width:calc(var(--type-px) * 36);height:calc(var(--type-px) * 36)}:where(svg.lucide[width="40"]){width:calc(var(--type-px) * 40);height:calc(var(--type-px) * 40)}:where(svg.lucide[width="48"]){width:calc(var(--type-px) * 48);height:calc(var(--type-px) * 48)}:where(svg.lucide[width="64"]){width:calc(var(--type-px) * 64);height:calc(var(--type-px) * 64)}:where(svg.lucide[width="80"]){width:calc(var(--type-px) * 80);height:calc(var(--type-px) * 80)}:where(svg.lucide[width="84"]){width:calc(var(--type-px) * 84);height:calc(var(--type-px) * 84)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}html:has(.app-layout){scrollbar-gutter:stable;background:linear-gradient(135deg, var(--color-page-wash) 0%, var(--color-page-wash-end) 100%)}body{font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-bg);font-weight:400;line-height:var(--leading-base);min-height:100vh}button,input,optgroup,select,textarea{font-family:inherit;font-size:var(--font-size-sm);line-height:var(--leading-base);margin:0}:where(svg.lucide){flex-shrink:0}a{color:var(--color-link);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}.app-layout{--sidebar-width-current:var(--sidebar-width);min-height:100vh;display:flex;overflow-x:clip}.app-layout.sidebar-collapsed{--sidebar-width-current:var(--sidebar-collapsed)}.app-sidebar{width:var(--sidebar-width-current);background:var(--sidebar-bg);color:var(--sidebar-text);z-index:calc(var(--z-nav) + 2);transition:transform var(--dur-base) var(--ease-standard), width var(--dur-base) var(--ease-standard);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden auto}@media screen{:root[data-theme=dark] .app-sidebar{border-right:1px solid var(--sidebar-edge);box-shadow:6px 0 22px rgba(var(--color-primary-rgb), .14)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .app-sidebar{border-right:1px solid var(--sidebar-edge);box-shadow:6px 0 22px rgba(var(--color-primary-rgb), .14)}}:root[data-theme=dark] .sidebar-flyout{border-color:var(--sidebar-edge)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sidebar-flyout{border-color:var(--sidebar-edge)}}}@media screen and (max-width:767.98px){:root[data-theme=dark] .app-sidebar:not(.open){box-shadow:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .app-sidebar:not(.open){box-shadow:none}}}.app-main{margin-left:var(--sidebar-width-current);min-height:100vh;transition:margin-left var(--dur-base) var(--ease-standard);flex-direction:column;flex:1;min-width:0;display:flex}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}.app-content{padding:var(--inset-page);width:100%;max-width:1400px;animation:pageFadeIn var(--dur-slow) var(--ease-out);flex:1;margin:0 auto}.page-sm,.page-md{width:100%;margin:0 auto}.page-sm{max-width:520px}.page-md{max-width:1200px}.sidebar-logo{align-items:center;gap:var(--gap-block);padding:var(--inset-roomy);border-bottom:1px solid rgba(var(--tone-white-rgb), .08);min-height:calc(40px + var(--gap-group) * 2);display:flex}.sidebar-logo img{border-radius:var(--radius-pill);width:40px;height:40px}.sidebar-logo-text{font-size:var(--font-size-sm);color:var(--sidebar-text-active);font-weight:600;line-height:var(--leading-snug)}.sidebar-logo-sub{font-size:var(--font-size-xs);color:var(--sidebar-text);font-weight:400;display:block}.sidebar-footer{padding:var(--inset-card);font-size:var(--font-size-xs);color:var(--sidebar-text);text-align:center;line-height:var(--leading-base)}.sidebar-nav{padding:var(--inset-card) var(--inset-tight);flex:1;position:relative}.sidebar-active-indicator{border-radius:0 var(--radius-chip) var(--radius-chip) 0;background:var(--sidebar-text-active);width:3px;transition:transform var(--dur-base) var(--ease-out), height var(--dur-base) var(--ease-out), opacity var(--dur-fast) var(--ease-standard);pointer-events:none;will-change:transform, height;position:absolute;top:0;left:0}.sidebar-chevron-rot{transition:var(--motion-icon)}.sidebar-chevron-rot.is-open{transform:rotate(90deg)}.tab-underline{background:var(--color-primary);border-radius:var(--radius-chip) var(--radius-chip) 0 0;height:3px;transition:left var(--dur-base) var(--ease-out), width var(--dur-base) var(--ease-out), opacity var(--dur-fast) var(--ease-standard);pointer-events:none;will-change:left, width;position:absolute;bottom:-1px}.sidebar-section-label{padding:var(--gap-group) var(--gap-block) var(--gap-line)}.sidebar-link{align-items:center;gap:var(--gap-block);padding:var(--gap-line) var(--gap-block);border-radius:var(--radius-control);color:var(--sidebar-text);font-size:var(--font-size-sm);transition:var(--motion-control);cursor:pointer;margin-bottom:var(--gap-pair);font-weight:400;text-decoration:none;display:flex;position:relative}.sidebar-link:hover{background:var(--sidebar-hover);color:var(--sidebar-text-active);text-decoration:none}.sidebar-link.active{background:var(--sidebar-active);color:var(--sidebar-text-active);box-shadow:var(--shadow-glow);font-weight:600}.sidebar-group-toggle{text-align:left;background:0 0;border:none;width:100%;font-family:inherit}.sidebar-group-toggle.is-active{color:var(--sidebar-text-active)}.sidebar-link-chevron{margin-left:auto;display:inline-flex}.sidebar-link .badge{background:var(--color-danger);color:var(--color-on-accent);font-size:var(--font-size-xs);padding:var(--squish-tag);border-radius:var(--radius-pill);min-width:calc(var(--type-px) * 20);text-align:center;margin-left:auto;font-weight:700}.sidebar-submenu{padding-left:var(--gap-section)}.sidebar-submenu .sidebar-link{font-size:var(--font-size-xs);padding:var(--squish-len-6) var(--gap-block)}.sidebar-flyout{z-index:var(--z-dropdown);background:var(--sidebar-bg-flyout);border:1px solid rgba(var(--tone-white-rgb), .1);border-radius:var(--radius-card);min-width:210px;box-shadow:var(--shadow-xl);padding:var(--inset-tight);margin-left:var(--gap-block);transform-origin:0;animation:sidebarFlyoutIn var(--dur-fast) var(--ease-out);position:fixed}@keyframes sidebarFlyoutIn{0%{opacity:0;transform:translate(-8px)scale(.98)}to{opacity:1;transform:none}}.sidebar-flyout.is-closing{animation:sidebarFlyoutOut var(--dur-fast) var(--ease-in) forwards;pointer-events:none}@keyframes sidebarFlyoutOut{0%{opacity:1;transform:none}to{opacity:0;transform:translate(-8px)scale(.98)}}.sidebar-flyout-title{font-size:var(--font-size-xs);color:var(--sidebar-text-active);padding:var(--gap-pair) var(--gap-line) var(--gap-line);font-weight:700}.cell-popover{background:var(--color-surface-solid);border:1px solid rgba(var(--tone-info-rgb), .15);border-radius:var(--radius-card);box-shadow:var(--shadow-overlay);overflow:auto}.sidebar-flyout--label{min-width:0}.sidebar-flyout--label .sidebar-flyout-title{padding:var(--gap-pair) var(--gap-line);white-space:nowrap}.sidebar-flyout .sidebar-link{font-size:var(--font-size-sm);padding:var(--gap-line)}.sidebar-language{padding:0 var(--inset-tight) var(--gap-line)}.sidebar-collapse-btn{color:var(--sidebar-text);cursor:pointer;padding:var(--gap-pair);border-radius:var(--radius-control);transition:var(--motion-control);background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;display:none}.sidebar-collapse-btn:hover{background:var(--sidebar-hover);color:var(--sidebar-text-active)}@media (min-width:768px){.sidebar-collapse-btn{display:flex}}.app-layout.sidebar-collapsed:not(.sidebar-temp-expanded) .sidebar-link-chevron,.app-layout.sidebar-collapsed:not(.sidebar-temp-expanded) .sidebar-submenu,.app-layout.sidebar-collapsed:not(.sidebar-temp-expanded) .sidebar-logo img,.app-layout.sidebar-collapsed:not(.sidebar-temp-expanded) .sidebar-footer{display:none}.sidebar-link-label,.sidebar-section-label,.sidebar-logo-text{white-space:nowrap;opacity:1;min-width:0;transition:opacity .16s var(--ease-out) .16s;overflow:hidden}.app-layout.sidebar-collapsed:not(.sidebar-temp-expanded) .sidebar-link-label,.app-layout.sidebar-collapsed:not(.sidebar-temp-expanded) .sidebar-section-label,.app-layout.sidebar-collapsed:not(.sidebar-temp-expanded) .sidebar-logo-text{opacity:0;pointer-events:none;transition:opacity .12s var(--ease-out) 0s}.app-layout.sidebar-collapsed:not(.sidebar-temp-expanded) .app-sidebar{transition:transform var(--dur-base) var(--ease-standard), width var(--dur-base) var(--ease-standard) .14s}.app-layout.sidebar-collapsed:not(.sidebar-temp-expanded) .app-main{transition:margin-left var(--dur-base) var(--ease-standard) .14s}.sidebar-link>svg,.sidebar-link>.sidebar-link-icon{flex-shrink:0}.app-layout.sidebar-collapsed:not(.sidebar-temp-expanded) .sidebar-link{padding-right:var(--gap-line)}.app-layout.sidebar-collapsed:not(.sidebar-temp-expanded) .sidebar-link .badge{width:8px;min-width:0;height:8px;padding:0;font-size:0;position:absolute;top:4px;right:10px}.app-layout.sidebar-collapsed:not(.sidebar-temp-expanded) .sidebar-logo{justify-content:center}.app-layout.sidebar-collapsed:not(.sidebar-temp-expanded) .sidebar-collapse-btn{margin-left:0}.app-layout.sidebar-collapsed:not(.sidebar-temp-expanded) .sidebar-collapse-btn svg{transform:rotate(180deg)}.app-layout.sidebar-collapsed.sidebar-temp-expanded .app-sidebar{width:var(--sidebar-width);box-shadow:var(--shadow-xl)}.sidebar-overlay{display:none}@media (min-width:768px) and (max-width:1279.98px){.sidebar-overlay{background:var(--scrim-nav);-webkit-backdrop-filter:var(--scrim-blur);backdrop-filter:var(--scrim-blur);z-index:calc(var(--z-nav) + 1);animation:fadeIn var(--dur-fast) var(--ease-out);display:block;position:fixed;inset:0}}@media screen{:root[data-theme=dark] .topbar{background:var(--glass-bg)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .topbar{background:var(--glass-bg)}}}.topbar{padding:var(--inset-card) var(--inset-page);background:rgba(var(--tone-white-rgb), .55);border-bottom:1px solid var(--color-border);z-index:var(--z-nav);transition:box-shadow var(--dur-fast) var(--ease-standard), padding-top var(--dur-fast) var(--ease-standard), padding-bottom var(--dur-fast) var(--ease-standard), margin-bottom var(--dur-fast) var(--ease-standard);justify-content:space-between;align-items:center;margin-bottom:0;display:flex;position:sticky;top:0}.topbar.topbar-compact{padding-top:calc((var(--topbar-h-compact) - var(--topbar-ctl-compact) - var(--border-width)) / 2);padding-bottom:calc((var(--topbar-h-compact) - var(--topbar-ctl-compact) - var(--border-width)) / 2);margin-bottom:calc(var(--topbar-h-full,var(--topbar-h-compact)) - var(--topbar-h-compact));box-shadow:var(--shadow-md)}.topbar .icon-tile{transition:var(--motion-control), width var(--dur-fast) var(--ease-standard), height var(--dur-fast) var(--ease-standard)}.topbar-compact .icon-tile{width:var(--topbar-ctl-compact);height:var(--topbar-ctl-compact)}.topbar .profile-trigger{transition:var(--motion-control), padding-top var(--dur-fast) var(--ease-standard), padding-bottom var(--dur-fast) var(--ease-standard)}.topbar-compact .profile-trigger{padding-top:calc((var(--topbar-ctl-compact) - var(--icon-box-sm) - var(--border-width) * 2) / 2);padding-bottom:calc((var(--topbar-ctl-compact) - var(--icon-box-sm) - var(--border-width) * 2) / 2)}.topbar .menu-toggle{transition:var(--motion-control), padding var(--dur-fast) var(--ease-standard)}.topbar-compact .menu-toggle{padding:var(--squish-len-6)}.topbar-left{align-items:center;gap:var(--gap-block);display:flex}.topbar-title{font-size:var(--font-size-lg);color:var(--color-text);transition:font-size var(--dur-fast) var(--ease-standard);font-weight:600}.topbar-compact .topbar-left,.topbar-compact .topbar-title{min-width:0}.topbar-compact .topbar-title{font-size:var(--font-size-md);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-compact .topbar-right{flex-shrink:0}.topbar-right{align-items:center;gap:var(--gap-block);display:flex}.menu-toggle{color:var(--color-text);cursor:pointer;padding:var(--gap-line);border-radius:var(--radius-control);transition:var(--motion-control);background:0 0;border:none;display:none}.menu-toggle:hover{background:var(--color-surface-hover)}.noti-dropdown{top:var(--noti-top,56px);right:var(--noti-right,16px);width:min(var(--float-w-sm), calc(100vw - 24px));background:var(--glass-bg);max-height:440px;-webkit-backdrop-filter:var(--glass-blur-strong);backdrop-filter:var(--glass-blur-strong);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-overlay);z-index:var(--z-dropdown);flex-direction:column;display:flex;position:fixed;overflow:hidden}@media (max-width:640.98px){.noti-dropdown{top:var(--noti-top,64px);width:auto;max-height:calc(100vh - var(--noti-top,64px) - 16px);position:fixed;left:12px;right:12px}}.noti-dropdown.is-inline{width:min(360px,100%);max-height:none;margin-top:var(--gap-line);position:static;inset:auto}.anchored-popover{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur-strong);backdrop-filter:var(--glass-blur-strong);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-overlay);z-index:var(--z-popover);flex-direction:column;display:flex;position:fixed;overflow:hidden}.card{background:var(--color-surface);border-radius:var(--radius-card);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:var(--inset-roomy);transition:var(--motion-surface)}.card:hover{box-shadow:var(--shadow-md)}.section-fold{padding:0}.section-fold-main{padding:var(--inset-roomy)}.section-fold-head{align-items:baseline;gap:var(--gap-line);flex-wrap:wrap;display:flex}.section-fold-head .section-fold-title{min-width:0;line-height:var(--leading-tight);flex:auto;align-items:baseline}.section-fold-extra{flex-shrink:0;margin-left:auto}.section-fold-summary{margin-top:var(--gap-head)}.section-fold-chips{align-items:center;gap:var(--gap-pair);flex-wrap:wrap;display:flex}.section-fold-body{padding-top:var(--inset-roomy)}.section-fold-tail{justify-content:center;align-items:center;gap:var(--gap-pair);width:100%;min-height:44px;padding:0 var(--inset-card);background:var(--color-bg);border:none;border-top:1px solid var(--color-border-light);border-radius:0 0 var(--radius-card) var(--radius-card);color:var(--color-link);font-family:inherit;font-size:var(--font-size-sm);font-weight:600;line-height:var(--leading-snug);cursor:pointer;transition:var(--motion-control);display:flex}.section-fold-tail:hover{background:var(--color-surface-hover)}.section-fold-tail:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.section-fold .report-chart-card{-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--color-border-light);box-shadow:none;background:0 0}.section-fold .report-chart-card:hover{box-shadow:none;background:0 0;transform:none}.card-header{margin-bottom:var(--gap-group);justify-content:space-between;align-items:center;display:flex}.card-title{align-items:center;gap:var(--icon-text-gap);font-size:var(--font-size-base);color:var(--color-text);font-weight:700;display:flex}.correction-cta{justify-content:center;align-items:center;gap:var(--gap-block);padding:var(--inset-card) var(--inset-roomy);margin-bottom:var(--gap-group);border-radius:var(--radius-card);background:rgba(var(--color-primary-rgb), .1);border:1px solid var(--border-brand);box-shadow:0 1px 3px rgba(var(--color-primary-rgb), .08);display:flex}.correction-cta__prompt{align-items:center;gap:var(--icon-text-gap);color:var(--color-text);font-weight:600;font-size:var(--font-size-md);display:flex}@media (max-width:767.98px){.correction-cta{text-align:center;flex-direction:column;align-items:stretch}.correction-cta__prompt{justify-content:center}.correction-cta__action,.correction-cta__action .btn{justify-content:center;width:100%}}.scorecard-grid{gap:var(--gap-block);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}@media (max-width:640.98px){.scorecard-grid{gap:var(--gap-line)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.scorecard-grid--detail>:nth-child(3):last-child,.scorecard-grid>:nth-child(5):last-child{grid-column:span 2}.scorecard-card{padding:var(--inset-card)!important}.scorecard-card-icon>svg{width:20px!important;height:20px!important}.scorecard-card-icon--detail{width:var(--icon-box-md)!important;height:var(--icon-box-md)!important}.scorecard-card-icon--detail>svg{width:20px!important;height:20px!important}.scorecard-card .scorecard-value{font-size:var(--font-size-2xl)!important}.scorecard-card:has(.scorecard-trend-strip){padding-bottom:calc(var(--inset-card) + 28px)!important}.scorecard-trend-strip{height:28px!important}}.dashboard-container{gap:var(--gap-group);flex-direction:column;display:flex}.dash-split{gap:var(--gap-group);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (min-width:1024px){.dash-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.ovr-split-prov{order:2}.ovr-split-tools{order:1}@media (min-width:1024px){.ovr-split-prov{order:1}.ovr-split-tools{order:2}}.dash-action-card{background:linear-gradient(180deg, rgba(var(--color-primary-rgb), .15), rgba(var(--color-primary-rgb), .055)), var(--color-surface);border-color:var(--border-brand-strong);box-shadow:0 6px 24px -6px rgba(var(--color-primary-rgb), .3);animation:dashActionGlow 3.2s var(--ease-inout) 3;animation-fill-mode:none}@keyframes dashActionGlow{0%,to{box-shadow:0 5px 20px -8px rgba(var(--color-primary-rgb), .26)}50%{box-shadow:0 10px 34px -6px rgba(var(--color-primary-rgb), .48)}}.dash-action-headcount{min-width:calc(var(--type-px) * 26);text-align:center;padding:var(--squish-tag);border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-accent);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:700}.dash-action-row{align-items:center;gap:var(--gap-block);padding:var(--gap-block);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text);transition:var(--motion-surface);text-decoration:none;display:flex}.dash-action-row:hover{border-color:var(--color-primary-100);background-color:var(--color-primary-50);box-shadow:var(--glow-brand);transform:translateY(-1px)}.dash-action-row:active{transform:none}.dash-action-icon{width:var(--icon-box-md);height:var(--icon-box-md);border-radius:var(--radius-control);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dash-action-label{min-width:0;font-size:var(--font-size-sm);color:var(--color-text);flex:1;font-weight:600}.dash-action-count{min-width:calc(var(--type-px) * 30);text-align:center;padding:var(--squish-tag);border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:700}.dash-action-chevron{color:var(--color-text-muted);transition:var(--motion-icon);flex-shrink:0}.dash-action-row:hover .dash-action-chevron{color:var(--color-link);transform:translate(2px)}.dash-notice-row{align-items:center;gap:var(--gap-line);padding:var(--gap-line) var(--gap-block);border-radius:var(--radius-control);font-size:var(--font-size-sm);font-weight:600;text-decoration:none;display:flex}.dash-notice-icon{flex-shrink:0;align-items:center;display:inline-flex}.dash-notice-label{flex:1;min-width:0}.card-header-link{align-items:center;gap:var(--icon-text-gap);font-size:var(--font-size-sm);color:var(--color-link);transition:var(--motion-control);font-weight:600;text-decoration:none;display:inline-flex}.card-header-link:hover{transform:translate(2px)}.dash-action-row:focus-visible,.dash-notice-row:focus-visible,.scorecard-link:focus-visible,.card-header-link:focus-visible,.account-identity:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;border-radius:inherit}.btn{justify-content:center;align-items:center;gap:var(--icon-text-gap);padding:var(--squish-std-label);border-radius:var(--radius-control);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:var(--motion-control), opacity var(--dur-fast) var(--ease-standard);white-space:nowrap;border:none;font-weight:600;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:focus-visible,.auth-field-eye:focus-visible,.login-aux-link:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.sr-only{width:1px;height:1px;margin:calc(var(--gap-pair) * -1);clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;padding:0;position:absolute;overflow:hidden}.btn-primary{background:var(--color-primary);color:var(--color-on-accent);box-shadow:var(--glow-brand)}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--glow-brand-strong)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface-hover)}.btn-success{background:var(--color-success-button);color:var(--color-on-accent)}.btn-success:hover{background:var(--color-success-button-hover)}.btn-danger{background:var(--color-danger);color:var(--color-on-accent)}.btn-cancel{background:var(--color-head-cancel-btn);color:var(--color-on-accent)}.btn-cancel:hover:not(:disabled){background:var(--color-head-cancel-btn-hover)}.btn-danger:hover{background:var(--color-danger-hover)}.btn-destroy{background:var(--color-destroy);color:var(--color-on-accent)}.btn-destroy:hover:not(:disabled){background:var(--color-destroy-hover)}.btn-sm{padding:var(--squish-short-label);font-size:var(--font-size-xs)}.btn-lg{padding:var(--squish-lg);font-size:var(--font-size-base)}.btn-icon{line-height:var(--leading-flat);width:calc(2 * var(--squish-len-10) + 1.7em);height:calc(2 * var(--squish-len-10) + 1.7em);gap:0;padding:0}.btn-sm.btn-icon{width:calc(2 * var(--squish-len-6) + 1.7em);height:calc(2 * var(--squish-len-6) + 1.7em)}.btn-lg.btn-icon{width:calc(2 * var(--squish-len-14) + 1.7em);height:calc(2 * var(--squish-len-14) + 1.7em)}.btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;transform:none}.filter-toggle{padding:var(--squish-std)}.btn-row-cancel{align-items:center;gap:var(--icon-text-gap);padding:var(--squish-short);font-family:var(--font-family);font-size:var(--font-size-xs);cursor:pointer;transition:var(--motion-control);white-space:nowrap;color:var(--color-warning-strong);--border-tone-rgb:var(--tone-warning-rgb);border:var(--border-width) solid rgba(var(--border-tone-rgb), .45);border-radius:var(--radius-control);background:0 0;font-weight:600;display:inline-flex}.btn-row-cancel:hover{background:rgba(var(--tone-warning-rgb), .12);border-color:var(--color-warning);color:var(--color-warning-strong);box-shadow:0 0 8px rgba(var(--tone-warning-rgb), .35);transform:translateY(-1px)}.btn-row-resubmit{align-items:center;gap:var(--icon-text-gap);padding:var(--squish-short);font-family:var(--font-family);font-size:var(--font-size-xs);cursor:pointer;transition:var(--motion-control);white-space:nowrap;color:var(--color-link);border:1px solid var(--border-brand-strong);border-radius:var(--radius-control);background:0 0;font-weight:600;display:inline-flex}.btn-row-resubmit:hover{background:rgba(var(--color-primary-rgb), .1);border-color:var(--color-primary);box-shadow:var(--glow-brand-strong);transform:translateY(-1px)}.row-action-arrow{border:1px solid rgba(var(--tone-black-rgb), .06);background:rgba(var(--tone-white-rgb), .7);cursor:pointer;width:24px;height:24px;transition:var(--motion-control);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.row-action-arrow-purple{color:var(--color-link);animation:rowActionPulsePurple 2.2s var(--ease-inout) infinite}@media screen{:root[data-theme=dark] .row-action-arrow:where(:not(:hover,.is-open)){background:var(--color-surface-solid);border-color:var(--glass-border)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .row-action-arrow:where(:not(:hover,.is-open)){background:var(--color-surface-solid);border-color:var(--glass-border)}}}.row-action-arrow-amber{--border-tone-rgb:var(--tone-warning-rgb);color:var(--color-warning-strong);animation:rowActionPulseAmber 2.2s var(--ease-inout) infinite}.row-action-arrow-quiet{animation:none}.row-action-arrow:hover{transform:translateY(-1px)}.row-action-arrow-purple:hover{background:rgba(var(--color-primary-rgb), .08);box-shadow:0 0 12px 2px rgba(var(--color-primary-rgb), .55);border-color:var(--border-brand)}.row-action-arrow-amber:hover{background:rgba(var(--tone-warning-rgb), .1);box-shadow:0 0 12px 2px rgba(var(--tone-warning-rgb), .55);border-color:rgba(var(--border-tone-rgb), .3)}.row-action-arrow.is-open{animation:none;transform:translateY(-1px)}.row-action-arrow-purple.is-open{background:rgba(var(--color-primary-rgb), .1);box-shadow:0 0 14px 3px rgba(var(--color-primary-rgb), .55);border-color:var(--border-brand-strong)}.row-action-arrow-amber.is-open{background:rgba(var(--tone-warning-rgb), .12);box-shadow:0 0 14px 3px rgba(var(--tone-warning-rgb), .55);border-color:rgba(var(--border-tone-rgb), .45)}@keyframes rowActionPulsePurple{0%,to{box-shadow:0 0 4px 0 rgba(var(--color-primary-rgb), .18)}50%{box-shadow:0 0 10px 2px rgba(var(--color-primary-rgb), .45)}}@keyframes rowActionPulseAmber{0%,to{box-shadow:0 0 4px 0 rgba(var(--tone-warning-rgb), .18)}50%{box-shadow:0 0 10px 2px rgba(var(--tone-warning-rgb), .45)}}.row-action-popover{background:var(--color-surface-solid);border:1px solid rgba(var(--tone-info-rgb), .15);border-radius:var(--radius-card);box-shadow:var(--shadow-overlay);min-width:160px;max-width:var(--float-w-xs);padding:var(--gap-pair);animation:popUpScaleIn var(--dur-base) var(--ease-spring);transform-origin:0 0;overflow:hidden}.row-action-popover.is-closing{animation:popUpScaleOut var(--dur-fast) var(--ease-standard) forwards;pointer-events:none}.row-action-item{align-items:center;gap:var(--icon-text-gap);width:100%;padding:var(--squish-std);border-radius:var(--radius-control);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text);text-align:left;transition:var(--motion-control);background:0 0;border:none;font-family:inherit;display:flex}.row-action-item:hover{background:rgba(var(--tone-black-rgb), .04)}.row-action-item-primary{color:var(--color-link);font-weight:600}.row-action-item-primary:hover{background:rgba(var(--color-primary-rgb), .08)}.row-action-item-danger{color:var(--color-warning-strong);font-weight:600}.row-action-item-danger:hover{background:rgba(var(--tone-warning-rgb), .1)}.row-action-item-icon{flex-shrink:0;align-items:center;display:inline-flex}.row-action-item-label{flex:1}.btn-icon-chevron{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:var(--motion-control);background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon-chevron:hover{color:var(--color-link);background:rgba(var(--color-primary-rgb), .08);border-color:var(--border-brand-soft);box-shadow:var(--glow-brand-strong);transform:translateY(-1px)}.file-chip-remove{cursor:pointer;color:var(--color-text-muted);padding:var(--squish-len-2);border-radius:var(--radius-control);transition:var(--motion-control);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.file-chip-remove:hover{color:var(--color-danger-strong);background:rgba(var(--tone-danger-rgb), .1)}.table-container{border-radius:var(--radius-card);border:1px solid var(--color-border);background:var(--color-surface);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.data-table thead{background:var(--color-bg);z-index:var(--z-sticky);position:sticky;top:0}.data-table th{padding:var(--table-cell-pad-y) var(--table-cell-pad-x);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table th[role=button]:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px}.data-table td{padding:var(--table-cell-pad-y) var(--table-cell-pad-x);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.note-text-ellipsis{max-width:20ch}@media (max-width:1023.98px){.note-text-ellipsis{max-width:15ch}}@media (min-width:768px) and (max-width:1023.98px){.note-text-ellipsis{display:none}}.cell-name-ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:28ch;display:block;overflow:hidden}@media (max-width:767.98px){.cell-name-ellipsis{max-width:18ch}}.cell-name-ellipsis.cell-subject{max-width:18ch}.data-table tbody tr{transition:var(--motion-flat)}.data-table tbody tr:hover{background:var(--color-surface-hover)}.data-table tbody tr.row-selected{background:rgba(var(--color-primary-rgb), .08);box-shadow:inset 3px 0 0 var(--color-primary)}.data-table tbody tr.row-selected:hover{background:var(--color-surface-hover)}.data-table tbody tr:last-child td{border-bottom:none}.selectable-tile{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;transition:var(--motion-control)}.selectable-tile:hover:not(.is-selected):not(:disabled){border-color:var(--color-primary-light);transform:translateY(-1px)}.selectable-tile.is-selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary)}.selectable-tile:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.picker-row{align-items:center;gap:var(--icon-text-gap);width:100%;padding:var(--squish-short);border-radius:var(--radius-chip);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:var(--motion-control);background:0 0;border:none;font-weight:600;display:flex}.picker-row:hover:not(.is-on){background:var(--color-surface-hover)}.picker-row.is-on{background:var(--color-primary);color:var(--color-on-accent)}.picker-row.is-current{background:var(--color-surface-hover)}.picker-chip{transition:var(--motion-control)}.picker-chip:hover:not(.is-on){border-color:var(--color-primary-light)}.selectable-tile.is-next{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);background:var(--color-primary-50)}.drop-zone{border:var(--border-width-emphasis) dashed var(--color-border);border-radius:var(--radius-card);padding:var(--inset-roomy);text-align:center;background:var(--color-surface);cursor:pointer;transition:var(--motion-control)}.drop-zone--compact{padding:var(--inset-tight) var(--inset-card)}.drop-zone--roomy{padding:var(--gap-page)}.drop-zone:hover:not([aria-disabled=true]){border-color:var(--color-primary-light);background:var(--color-primary-50)}.drop-zone:active:not([aria-disabled=true]){background:var(--color-primary-100);transition-duration:var(--dur-press)}.drop-zone.is-over:not([aria-disabled=true]){border-color:var(--color-primary);background:var(--color-selected-bg);box-shadow:var(--ring-focus)}.drop-zone[aria-disabled=true]{opacity:var(--opacity-disabled);cursor:default}.inline-meta{align-items:center;gap:var(--gap-line);flex-wrap:wrap;display:flex}.inline-meta>*{margin-left:0!important}.inline-meta .meta-chip{align-items:center;gap:var(--icon-text-gap);display:inline-flex}.form-group{gap:var(--gap-line);flex-direction:column;display:flex}.form-group>.form-label{margin-bottom:0}.form-group.has-label-end{align-items:baseline;column-gap:var(--gap-line);row-gap:var(--gap-line);grid-template-columns:minmax(0,1fr) auto;display:grid}.form-group.has-label-end>*{grid-column:1/-1}.form-group.has-label-end>.form-label{grid-area:1/1}.form-group.has-label-end>.form-label-end{grid-area:1/2;justify-self:end}.form-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--gap-pair);font-weight:600;display:block}.radio-choice{align-items:center;gap:var(--icon-text-gap);font-size:var(--font-size-sm);padding:var(--gap-pair) 0;cursor:pointer;display:inline-flex}.form-input{padding:var(--squish-std);border:1px solid var(--color-border-control);border-radius:var(--radius-control);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface);transition:var(--motion-control);width:100%}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.form-input.error{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-bg)}@media screen{:root[data-theme=dark] ::placeholder{color:var(--color-text-muted);opacity:1}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) ::placeholder{color:var(--color-text-muted);opacity:1}}}.brand-switch{appearance:none;border-radius:var(--radius-pill);background:var(--color-border);cursor:pointer;width:40px;height:23px;transition:var(--motion-control);flex-shrink:0;position:relative}.brand-switch:after{content:"";background:var(--color-surface-solid);width:19px;height:19px;box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) var(--ease-spring);border-radius:50%;position:absolute;top:2px;left:2px}.brand-switch:checked{background:var(--color-success)}.brand-switch:checked:after{transform:translate(17px)}.brand-switch:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.brand-switch:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.input-compact{padding-block:var(--squish-len-6);line-height:var(--leading-snug);min-height:0}.form-hint{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.form-error{font-size:var(--font-size-xs);color:var(--color-danger-strong);font-weight:600}.floating-bar{bottom:calc(var(--gap-group) + env(safe-area-inset-bottom,0px));background:var(--sidebar-bg);color:var(--color-on-accent);padding:var(--inset-card) var(--inset-page);border-radius:var(--radius-panel);box-shadow:var(--shadow-xl);align-items:center;gap:var(--gap-group);z-index:var(--z-dropdown);opacity:0;max-width:calc(100vw - 2 * var(--gap-block));white-space:nowrap;transition:transform var(--dur-slow) var(--ease-spring), opacity var(--dur-base) var(--ease-out);display:flex;position:fixed;left:50%;transform:translate(-50%)translateY(100px)scale(.85)}.floating-bar.visible{opacity:1;transform:translate(-50%)translateY(0)scale(1)}.floating-bar:not(.visible){pointer-events:none}.floating-bar-count{font-weight:600;font-size:var(--font-size-sm)}.floating-bar-divider{width:var(--border-width);background:var(--color-border-on-dark);height:16px}.modal-record-card{gap:var(--gap-line);padding:var(--inset-card);margin-bottom:var(--gap-line);background:var(--color-surface-solid);flex-direction:column;display:flex}@media (max-width:640.98px){.floating-btn-label,.floating-bar-prefix,.floating-bar-divider{display:none}}.modal-overlay{background:var(--scrim-modal);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-modal);padding:var(--inset-roomy);animation:modalOverlayIn var(--dur-fast) var(--ease-out) both;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.z-nested{z-index:var(--z-modal-nested)}.modal-overlay.z-system{z-index:var(--z-system)}.modal-overlay.reauth-backdrop{background:var(--color-surface-solid);-webkit-backdrop-filter:none;backdrop-filter:none}.trust-switch-row{align-items:flex-start;gap:var(--gap-line);cursor:pointer;display:flex}.trust-switch-row .brand-switch{margin-top:2px}.trust-switch-label{font-weight:600;display:block}.trust-switch-hint{margin-top:var(--gap-pair);display:block}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}.modal-content{border-radius:var(--radius-panel);box-shadow:var(--shadow-xl), 0 0 28px rgba(var(--color-primary-rgb), .18);border:1px solid rgba(var(--tone-white-rgb), .55);max-width:var(--float-w-md);overscroll-behavior:contain;transform-origin:50%;width:100%;max-height:90dvh;animation:modalContentIn var(--dur-gentle) var(--ease-spring-soft) both;background:0 0;flex-direction:column;display:flex;overflow:hidden}.modal-content.modal-sm{max-width:var(--float-w-sm)}.modal-content.modal-md{max-width:var(--float-w-md)}.modal-content.modal-lg{max-width:var(--float-w-lg)}.modal-content.modal-xl{max-width:var(--float-w-xl)}@keyframes modalContentIn{0%{opacity:0;transform:scale(.93)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-fullscreen .modal-content{width:95vw;max-width:95vw;height:95dvh;max-height:95dvh}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{flex-shrink:0;position:static}.modal-fullscreen .modal-body{min-height:0;padding:var(--inset-page);flex:auto;overflow-y:auto}.modal-header{padding:var(--inset-card) var(--inset-roomy);z-index:2;border-bottom:1px solid rgba(var(--tone-white-rgb), .15);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.header-generic{background:var(--color-surface-solid);color:var(--color-text);border-bottom:1px solid var(--color-border-light)}.header-generic .modal-title{color:var(--color-text)}.header-cancel{background:var(--color-head-cancel);color:var(--color-on-accent)}.header-reject{background:var(--color-head-reject);color:var(--color-on-accent)}.header-approve{background:var(--color-head-approve);color:var(--color-on-accent)}.modal-content:has(.header-reject) .btn-danger{background:#be123c}.modal-content:has(.header-approve) .btn-success{background:var(--color-head-approve-btn)}.modal-content:has(.header-approve) .btn-success:hover{background:var(--color-head-approve-btn-hover)}.modal-content:has(.header-reject) .btn-danger:hover:not(:disabled){background:#9f1239}.header-destroy{background:rgb(var(--tone-destroy-rgb));color:var(--color-on-accent)}.modal-title{font-size:var(--font-size-lg);align-items:center;gap:var(--icon-text-gap);margin:0;font-weight:600;display:flex}.modal-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--leading-snug);margin-top:var(--gap-pair);padding-left:calc(20px + var(--icon-text-gap))}.modal-close{color:inherit;opacity:var(--opacity-muted);cursor:pointer;padding:var(--gap-line);border-radius:var(--radius-control);transition:var(--motion-control);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.modal-close:hover{opacity:1;background:rgba(var(--tone-black-rgb), .05)}.header-cancel .modal-close,.header-reject .modal-close,.header-approve .modal-close,.header-destroy .modal-close{opacity:1}.modal-body{padding:var(--inset-roomy);padding-bottom:var(--inset-page);flex:auto;min-height:0;overflow-y:auto}.body-glass{background:rgba(var(--tone-white-rgb), .8)}@media screen{:root[data-theme=dark] .body-glass{background:var(--glass-bg-hover)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .body-glass{background:var(--glass-bg-hover)}}}.modal-body-stack{gap:var(--gap-group);flex-direction:column;display:flex}.body-solid{background:var(--color-surface-solid)}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--gap-block);padding:var(--inset-card) var(--inset-roomy);background:var(--color-surface-solid);border-top:1px solid var(--color-border-light);z-index:2;flex-wrap:wrap;flex-shrink:0;display:flex}.modal-footer:empty{display:none}.ioc-build-card{gap:var(--gap-line);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-solid);padding:var(--inset-card);flex-direction:column;display:flex}.ioc-expert-slot{align-items:center;gap:var(--gap-line);border:1px solid var(--color-border);border-radius:var(--radius-control);padding:var(--squish-std);background:var(--color-surface);flex-wrap:wrap;display:flex}.ioc-expert-slot__no{width:calc(var(--type-px) * 22);height:calc(var(--type-px) * 22);border-radius:var(--radius-pill);background:var(--color-primary-50);color:var(--color-link);font-size:var(--font-size-xs);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.ioc-expert-slot__name{align-items:center;gap:var(--gap-line);min-width:0;font-size:var(--font-size-sm);flex-wrap:wrap;flex:1;font-weight:600;display:inline-flex}.ioc-expert-slot__x{border-radius:var(--radius-pill);background:rgba(var(--color-primary-rgb), .1);width:24px;height:24px;color:var(--color-link);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ioc-role-chip{padding:var(--squish-tag);border-radius:var(--radius-pill);background:var(--color-primary-50);color:var(--color-link);font-size:var(--font-size-xs);flex-shrink:0;font-weight:700}.qsearch-chip{transition:var(--motion-control)}.qsearch-chip:hover{transform:translateY(-1px)}.qsearch-chip.tone-neutral{--glow-tone-rgb:var(--tone-neutral-rgb)}.qsearch-chip.tone-pending{--glow-tone-rgb:var(--tone-pending-rgb)}.qsearch-chip.tone-warning{--glow-tone-rgb:var(--tone-warning-rgb)}.qsearch-chip.tone-danger{--glow-tone-rgb:var(--tone-danger-rgb)}.qsearch-chip.tone-success{--glow-tone-rgb:var(--tone-success-rgb)}.qsearch-chip:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.data-table tbody tr[tabindex]:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px}.segmented-rail{border:1px solid var(--color-border);border-radius:var(--radius-pill);max-width:100%;display:inline-flex}.segmented-rail>.segmented-seg:first-child{border-top-left-radius:calc(var(--radius-pill) - 1px);border-bottom-left-radius:calc(var(--radius-pill) - 1px)}.segmented-rail>.segmented-seg:last-child{border-top-right-radius:calc(var(--radius-pill) - 1px);border-bottom-right-radius:calc(var(--radius-pill) - 1px)}.segmented-rail.is-hero{gap:var(--gap-pair);padding:var(--gap-pair);background:var(--color-bg);overflow:visible}.segmented-seg{justify-content:center;align-items:center;gap:var(--icon-text-gap);padding:var(--seg-pad);color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--seg-fs);cursor:pointer;white-space:nowrap;transition:var(--motion-control);background:0 0;border:none;font-weight:600;display:inline-flex}.segmented-rail.is-hero .segmented-seg{border-radius:var(--radius-pill)}.segmented-seg:hover:not(.is-on):not(:disabled){color:var(--color-link);background:var(--color-surface-hover)}.segmented-rail.is-hero .segmented-seg.is-on{box-shadow:var(--glow-brand)}.segmented-seg:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px}.segmented-rail.is-hero .segmented-seg:focus-visible{outline-offset:2px}.segmented-badge{min-width:calc(var(--type-px) * 20);padding:var(--squish-tag);border-radius:var(--radius-pill);background:var(--color-danger);color:var(--color-on-accent);font-size:var(--font-size-xs);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.segmented-seg.is-on .segmented-badge{background:rgba(var(--tone-black-rgb), .28);color:var(--color-on-accent)}@media screen{:root[data-theme=dark] .segmented-seg.is-on .segmented-badge{background:rgba(var(--tone-white-rgb), .25)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .segmented-seg.is-on .segmented-badge{background:rgba(var(--tone-white-rgb), .25)}}}@media (max-width:640.98px){.segmented-rail.is-fill-phone{width:100%;display:flex}.segmented-rail.is-fill-phone .segmented-seg{padding-left:var(--gap-line);padding-right:var(--gap-line);flex:1}}.language-trigger{cursor:pointer;font-family:var(--font-family)}.language-switch--login .language-trigger,.language-switch--card .language-trigger{align-items:center;gap:var(--icon-text-gap);padding:var(--squish-chip);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--font-size-xs);transition:var(--motion-control);display:inline-flex}.language-switch--login .language-trigger:hover,.language-switch--card .language-trigger:hover{border-color:var(--color-primary);color:var(--color-link)}.language-switch--sidebar .language-trigger,.language-switch--rail .language-trigger{background:0 0;border:none}.language-switch--sidebar .language-trigger{width:100%}.language-switch--sidebar .sidebar-link-label{flex:1}.language-trigger-code{letter-spacing:.04em;font-weight:700}.language-menu{padding:var(--gap-pair)}.language-menu-mark{flex-shrink:0;justify-content:center;align-items:center;width:14px;display:inline-flex}.exam-queue-card{column-gap:var(--gap-line);row-gap:var(--gap-pair);text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-card);width:100%;padding:var(--inset-card);background:var(--color-surface);font-family:var(--font-family);color:var(--color-text);cursor:pointer;transition:var(--motion-surface);grid-template-columns:1fr auto;align-items:start;display:grid;container-type:inline-size}.exam-queue-card:hover{background:var(--color-surface-hover);border-color:var(--border-brand);box-shadow:var(--glow-brand)}.exam-queue-card--static,.exam-queue-card--static:hover{cursor:default;background:var(--color-surface);border-color:var(--color-border);box-shadow:none}.exam-queue-card:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.exam-queue-card .eqc-subject{min-width:0;font-weight:700;font-size:var(--font-size-md);line-height:var(--leading-tight);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;grid-area:1/1}.exam-queue-card .eqc-subject--select{align-items:flex-start;gap:var(--gap-line);display:flex}.exam-queue-card.is-selected{background:rgba(var(--color-primary-rgb), .08);border-color:var(--border-brand);box-shadow:inset 3px 0 0 var(--color-primary)}.queue-row-checkbox{width:calc(var(--type-px) * 18);height:calc(var(--type-px) * 18);accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.exam-queue-card .eqc-head-side{align-self:start;align-items:center;gap:var(--gap-line);flex-shrink:0;grid-area:1/2;display:inline-flex}.exam-queue-card .eqc-chev{color:var(--color-text-muted);flex-shrink:0}.exam-queue-card .eqc-code,.exam-queue-card .eqc-teacher,.exam-queue-card .eqc-extra,.exam-queue-card .eqc-meta,.exam-queue-card .card-actionrow{grid-column:1/-1}.exam-queue-card .eqc-code,.exam-queue-card .eqc-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.offsched-form{container-type:inline-size}.offsched-grid{gap:var(--gap-group);grid-template-columns:minmax(0,1fr);display:grid}@container (min-width:600px){.offsched-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.offsched-grid .offsched-span2{grid-column:1/-1}}.dfr-form{container-type:inline-size}.dfr-grid{gap:var(--gap-group);grid-template-columns:minmax(0,1fr);display:grid}@container (min-width:600px){.dfr-grid{gap:var(--gap-group) var(--gap-group);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.modal-form{container-type:inline-size}.modal-form-grid{gap:var(--gap-group);grid-template-columns:minmax(0,1fr);display:grid}@container (min-width:600px){.modal-form-grid{gap:var(--gap-group) var(--gap-group);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.modal-form-grid .modal-form-span2{grid-column:1/-1}.modal-form-grid .modal-form-row3{grid-template-columns:repeat(3,minmax(0,1fr))}}.modal-form-row3{gap:var(--gap-group) var(--gap-block);grid-template-columns:minmax(0,1fr);display:grid}.saved-filebar{align-items:center;gap:var(--gap-line);min-width:0;padding:var(--squish-std);border:1px solid var(--color-border);border-left:var(--border-width-bar) solid var(--color-primary);border-radius:var(--radius-control);background:var(--color-selected-bg);color:var(--color-text);font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:var(--motion-surface);flex:1;align-self:stretch;font-family:inherit;text-decoration:none;display:flex}.saved-filebar:hover{box-shadow:var(--glow-brand);transform:translateY(-1px)}.saved-filebar:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.saved-filebar__name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.saved-filebar__hint{align-items:center;gap:var(--icon-text-gap);color:var(--color-link);font-size:var(--font-size-xs);flex-shrink:0;font-weight:600;display:inline-flex}@media screen{:root[data-theme=dark] .saved-filebar{border-left-color:var(--color-link)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .saved-filebar{border-left-color:var(--color-link)}}}.tool-card{--tool-card-tint:.025}@media screen{:root[data-theme=dark] .tool-card{--tool-card-tint:.075}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tool-card{--tool-card-tint:.075}}}.disabled-hatch{opacity:.55;position:relative}.disabled-hatch:after{content:"";z-index:1;pointer-events:none;border-radius:var(--radius-control);background:repeating-linear-gradient(45deg, rgba(var(--color-primary-rgb), .08) 0, rgba(var(--color-primary-rgb), .08) 10px, transparent 10px, transparent 22px);position:absolute;inset:0}.ioc-split{gap:var(--gap-block);flex-direction:column;display:flex}.ioc-split-pdf{gap:var(--gap-line);flex-direction:column;min-width:0;display:flex}.ioc-split-panel{gap:var(--gap-block);flex-direction:column;min-width:0;display:flex}@media (min-width:768px){.ioc-split{flex-direction:row;align-items:stretch;overflow:hidden}.ioc-split-pdf{flex:50%;justify-content:center;min-height:0}.ioc-split-pdf .expdf-wrap{flex-direction:column;flex:auto;min-height:0;display:flex}.ioc-split-pdf .expdf-stage{flex:auto;height:auto;min-height:0}.ioc-split-panel{flex:50%;min-height:0;overflow-y:auto}}.notice-toolbar{margin-bottom:var(--gap-block);justify-content:flex-end;display:flex}.notice-groups{gap:var(--gap-group);flex-direction:column;display:flex}.notice-group,.notice-card-list{gap:var(--gap-line);flex-direction:column;display:flex}.notice-card{align-items:flex-start;gap:var(--gap-head);width:100%;padding:var(--inset-card);text-align:left;display:flex}.notice-card-main{gap:var(--gap-line);flex-direction:column;flex:1;min-width:0;display:flex}.notice-card-head{align-items:flex-start;gap:var(--gap-line);display:flex}.notice-card-meta{gap:var(--gap-pair);font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--leading-snug);flex-direction:column;display:flex}.notice-hint{margin-top:var(--gap-pair);font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--leading-snug)}.notice-counter{margin-top:var(--gap-pair);font-size:var(--font-size-xs);text-align:right}.notice-preview{gap:var(--gap-head);flex-direction:column;flex:auto;min-height:0;display:flex}.notice-preview-stage{min-height:0;padding:var(--inset-roomy);border-radius:var(--radius-card);background:rgba(var(--tone-ink-rgb), .06);flex:auto;align-items:flex-start;display:flex;overflow-y:auto}.notice-preview-frame{justify-content:center;width:100%;margin:auto;display:flex}.notice-preview-stage .notice-preview-frame .modal-content{width:100%;height:auto;max-height:none;max-width:var(--float-w-sm)}.notice-preview-frame.is-phone{max-width:375px}.notice-preview-frame.is-banner{margin:0 auto auto;display:block}.notice-banner-actions{gap:var(--gap-line);flex-wrap:wrap;display:flex}.notice-body{gap:var(--gap-line);flex-direction:column;display:flex}.notice-body.is-left{text-align:left}.notice-body p,.notice-body ul,.notice-body ol{margin:0}.notice-body ul,.notice-body ol{text-align:left;align-self:center;padding-inline-start:1.25em}.notice-body.is-left ul,.notice-body.is-left ol{align-self:stretch}.notice-body strong{font-weight:700}.notice-body .is-red{color:var(--color-danger-strong)}.notice-body .is-primary{color:var(--color-link)}.notice-format-bar{justify-content:space-between;align-items:center;gap:var(--gap-line);margin-bottom:var(--gap-line);flex-wrap:wrap;display:flex}.notice-format-tools{gap:var(--gap-pair);flex-wrap:wrap;display:flex}.notice-form{gap:var(--gap-block);flex-direction:column;display:flex;container-type:inline-size}.notice-form-section{gap:var(--gap-head);padding-top:var(--gap-block);border-top:1px solid var(--color-border-light);flex-direction:column;display:flex}.notice-form-section:first-of-type{border-top:0;padding-top:0}.notice-subsection{gap:var(--gap-line);flex-direction:column;display:flex}.notice-row-between{justify-content:space-between;align-items:center;gap:var(--gap-line);flex-wrap:wrap;display:flex}.notice-chip-row{gap:var(--gap-line);flex-wrap:wrap;display:flex}.notice-check{align-items:center;gap:var(--gap-line);cursor:pointer;font-weight:600;display:inline-flex}.notice-date-grid{gap:var(--gap-block);grid-template-columns:1fr;display:grid}@container (min-width:460px){.notice-date-grid{grid-template-columns:1fr 1fr}}.notice-copy-note{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:600}.notice-footer-side{gap:var(--gap-line);flex-wrap:wrap;margin-right:auto;display:flex}.exam-infofold{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg);overflow:hidden}.exam-infofold__toggle{justify-content:space-between;align-items:center;gap:var(--gap-line);width:100%;min-height:44px;padding:0 var(--gap-block);cursor:pointer;font:inherit;text-align:left;color:var(--color-text);transition:var(--motion-control);background:0 0;border:none;display:flex}.exam-infofold__toggle:hover{background:var(--color-surface-hover)}.exam-infofold__toggle:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px}.exam-infofold__summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--font-size-xs);line-height:var(--leading-snug);overflow:hidden}.exam-infofold__dim{color:var(--color-text-secondary)}.exam-infofold__hint{align-items:center;gap:var(--gap-pair);font-size:var(--font-size-xs);color:var(--color-link);flex-shrink:0;font-weight:600;display:inline-flex}.exam-infofold__body{padding:var(--inset-card);border-top:1px solid var(--color-border-light)}.exam-popup-overlay{z-index:var(--z-modal-nested);padding:var(--inset-roomy);background:rgba(var(--tone-ink-rgb), .12);animation:modalOverlayIn var(--dur-fast) var(--ease-out) both;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.exam-popup{width:100%;max-width:var(--float-w-sm);background:var(--color-surface-solid);border-radius:var(--radius-panel);box-shadow:var(--shadow-xl), 0 0 24px rgba(var(--color-primary-rgb), .16);border:1px solid var(--color-border);max-height:80dvh;animation:modalContentIn var(--dur-gentle) var(--ease-spring-soft) both;flex-direction:column;display:flex;overflow:hidden}.exam-popup-header{justify-content:space-between;align-items:center;gap:var(--gap-line);padding:var(--inset-tight) var(--inset-tight) var(--inset-tight) var(--inset-roomy);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.exam-popup-title{align-items:center;gap:var(--icon-text-gap);font-weight:700;font-size:var(--font-size-md);color:var(--color-text);display:inline-flex}.exam-popup-close{border-radius:var(--radius-control);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;transition:var(--motion-control);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.exam-popup-close:hover{background:rgba(var(--tone-ink-rgb), .06);color:var(--color-text)}.exam-popup-body{min-height:0;padding:var(--inset-card) var(--inset-roomy) var(--inset-roomy);overflow-y:auto}.exam-popup-overlay.is-closing{animation:modalOverlayOut var(--dur-fast) var(--ease-in) forwards;pointer-events:none}.exam-popup-overlay.is-closing .exam-popup{animation:modalContentOut var(--dur-fast) var(--ease-in) forwards}body:has(.modal-overlay){overflow:hidden}.modal-overlay.is-closing{animation:modalOverlayOut var(--dur-fast) var(--ease-in) forwards;pointer-events:none}.modal-overlay.is-closing .modal-content{animation:modalContentOut var(--dur-fast) var(--ease-in) forwards}@keyframes modalOverlayOut{to{opacity:0}}@keyframes modalContentOut{to{opacity:0;transform:scale(.96)translateY(8px)}}.app-footer{text-align:center;padding:var(--inset-roomy);font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--leading-snug)}.login-page{min-height:100vh;padding:var(--inset-roomy);background:linear-gradient(135deg, var(--color-panel-dark) 0%, var(--color-panel-dark-mid) 40%, var(--color-primary) 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.login-bg-orb{filter:blur(140px);pointer-events:none;z-index:0;border-radius:50%;position:absolute}.login-bg-orb-1{background:var(--color-primary-light);width:70vw;height:70vw;animation:pulse 4s var(--ease-inout) infinite;top:-10%;left:-10%}.login-bg-orb-2{background:var(--color-secondary);width:75vw;height:75vw;animation:pulse 6s var(--ease-inout) infinite;opacity:.35;bottom:-10%;right:-10%}@media (min-width:1024px){.login-bg-orb-1{width:40vw;max-width:600px;height:40vw;max-height:600px}.login-bg-orb-2{width:45vw;max-width:700px;height:45vw;max-height:700px}}.system-bg-orb{pointer-events:none;z-index:-1;border-radius:50%;position:fixed}.system-bg-orb-1{background:radial-gradient(circle, rgba(var(--color-primary-light-rgb), .18) 0%, transparent 70%);width:60vw;height:60vw;top:-15%;left:-15%}.system-bg-orb-2{background:radial-gradient(circle, rgba(var(--color-secondary-rgb), .2) 0%, transparent 70%);width:65vw;height:65vw;bottom:-15%;right:-15%}@media (min-width:1024px){.system-bg-orb-1{width:35vw;max-width:550px;height:35vw;max-height:550px}.system-bg-orb-2{width:40vw;max-width:650px;height:40vw;max-height:650px}}@media screen{:root[data-theme=dark] .login-bg-orb-1{background:rgba(var(--color-primary-light-rgb), .3)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .login-bg-orb-1{background:rgba(var(--color-primary-light-rgb), .3)}}:root[data-theme=dark] .login-bg-orb-2{background:rgba(var(--color-secondary-rgb), .3)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .login-bg-orb-2{background:rgba(var(--color-secondary-rgb), .3)}}:root[data-theme=dark] .system-bg-orb-1{background:radial-gradient(circle, rgba(var(--color-primary-light-rgb), .08) 0%, transparent 70%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .system-bg-orb-1{background:radial-gradient(circle, rgba(var(--color-primary-light-rgb), .08) 0%, transparent 70%)}}:root[data-theme=dark] .system-bg-orb-2{background:radial-gradient(circle, rgba(var(--color-secondary-rgb), .07) 0%, transparent 70%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .system-bg-orb-2{background:radial-gradient(circle, rgba(var(--color-secondary-rgb), .07) 0%, transparent 70%)}}}.app-splash{z-index:var(--z-splash);background:linear-gradient(135deg, var(--color-page-wash) 0%, var(--color-page-wash-end) 100%);opacity:1;transition:opacity var(--dur-slow) var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.app-splash-out{opacity:0;pointer-events:none}.app-splash-stage{z-index:1;text-align:center;padding:var(--inset-roomy);flex-direction:column;align-items:center;display:flex;position:relative}.app-splash-logo-wrap{width:132px;height:132px;animation:splashLogoIn .7s var(--ease-spring) both;justify-content:center;align-items:center;display:flex;position:relative}.app-splash-logo{z-index:1;width:132px;height:132px;filter:drop-shadow(0 14px 30px rgba(var(--color-primary-rgb), .28));position:relative}.app-splash-pulse{background:radial-gradient(circle, rgba(var(--color-primary-rgb), .5) 0%, rgba(var(--color-primary-rgb), 0) 68%);width:150px;height:150px;animation:splashPulse 1.5s var(--ease-out) infinite;border-radius:50%;position:absolute}.app-splash-title{margin-top:var(--gap-group);font-size:var(--font-size-3xl);letter-spacing:.5px;color:var(--color-text);animation:splashUp .6s var(--ease-out) .22s both;font-weight:800}.app-splash-sub{margin-top:var(--gap-line);font-size:var(--font-size-sm);line-height:var(--leading-base);color:var(--color-text-secondary);animation:splashUp .6s var(--ease-out) .36s both}.app-splash-shimmer{margin-top:var(--gap-group);border-radius:var(--radius-pill);background:linear-gradient(90deg, transparent, rgba(var(--tone-success-rgb), .9), transparent);width:140px;height:3px;animation:splashUp .6s var(--ease-out) .48s both, splashShimmer 1.4s linear .7s infinite;background-size:200% 100%}@keyframes splashLogoIn{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes splashPulse{0%{opacity:.55;transform:scale(.8)}70%{opacity:0}to{opacity:0;transform:scale(1.5)}}@keyframes splashUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes splashShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.login-card{background:rgba(var(--tone-white-rgb), .95);-webkit-backdrop-filter:var(--glass-blur-strong);backdrop-filter:var(--glass-blur-strong);border-radius:var(--radius-panel);box-shadow:var(--shadow-glass);padding:var(--inset-page);z-index:1;width:100%;max-width:420px;max-height:100%;position:relative;overflow-y:auto}@media screen{:root[data-theme=dark] .login-card{background:var(--color-surface-solid)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .login-card{background:var(--color-surface-solid)}}}.login-language{top:var(--inset-card);right:var(--inset-card);position:absolute}.login-logo{margin-bottom:var(--gap-group);flex-direction:column;align-items:center;display:flex}.login-logo img{width:100px;height:100px;margin-bottom:var(--gap-block);filter:drop-shadow(0 6px 18px rgba(var(--color-primary-rgb), .28))}.login-logo-title{color:var(--color-primary-dark)}.login-logo h1{font-size:var(--font-size-lg);color:var(--color-primary-dark);text-align:center;font-weight:700;line-height:var(--leading-snug)}.login-logo p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--gap-pair)}.login-greeting{margin-bottom:var(--gap-group)}.login-greeting h2{font-size:var(--font-size-lg);color:var(--color-text);font-weight:700;line-height:var(--leading-snug)}.login-greeting p{margin-top:var(--gap-pair);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--leading-prose)}.login-form{gap:var(--gap-block);flex-direction:column;display:flex}.password-rules{gap:var(--gap-pair);padding:var(--inset-card);background:var(--color-bg);border-radius:var(--radius-control);flex-direction:column;display:flex}.password-rule{align-items:center;gap:var(--icon-text-gap);font-size:var(--font-size-xs);color:var(--color-text-secondary);transition:var(--motion-flat);display:flex}.password-rule.valid{color:var(--color-success-strong)}.password-rule.invalid{color:var(--color-text-secondary)}.auth-field{position:relative}.auth-field.has-icon .form-input{padding-left:calc(var(--gap-block) + 18px + var(--gap-head))}.auth-field.has-eye .form-input{padding-right:calc(var(--squish-len-10) + (18px + 2 * var(--gap-pair)) + var(--squish-len-6))}.auth-field-icon{left:var(--gap-block);color:var(--color-text-muted);pointer-events:none;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.auth-field-eye{right:var(--squish-len-10);padding:var(--gap-pair);border-radius:var(--radius-control);cursor:pointer;color:var(--color-text-muted);transition:var(--motion-control);background:0 0;border:none;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.auth-field-eye:hover{color:var(--color-link)}.auth-account-chip{align-items:center;gap:var(--gap-pair);padding:var(--squish-short-label);background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-pill);font-size:var(--font-size-xs);color:var(--color-text-secondary);align-self:flex-start;display:inline-flex}.auth-email-preview{align-items:center;gap:var(--icon-text-gap);padding:var(--squish-short-label);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);font-size:var(--font-size-base);color:var(--color-text);font-weight:600;display:flex}.auth-email-preview>span{overflow-wrap:break-word;min-width:0}.auth-email-preview>svg{flex-shrink:0}.login-aux{margin-top:var(--gap-pair);padding-top:var(--gap-block);border-top:1px solid var(--color-border-light);text-align:center;font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--leading-prose)}.login-or{align-items:center;gap:var(--gap-line);font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--leading-snug);display:flex}.login-or:before,.login-or:after{content:"";border-top:1px solid var(--color-border-light);flex:1}.login-aux-link{align-items:center;gap:var(--icon-text-gap);padding:var(--squish-chip);font-size:var(--font-size-xs);color:var(--color-link);border-radius:var(--radius-control);transition:var(--motion-control);display:inline-flex}.login-aux-link:hover{color:var(--color-primary-dark)}button.login-aux-link{cursor:pointer;background:0 0;border:0;font-family:inherit}button.login-aux-link:disabled{color:var(--color-text-secondary);cursor:default}.login-footer{text-align:center;margin-top:var(--gap-group);font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--leading-snug)}.preauth-page{background:linear-gradient(135deg, var(--color-page-wash) 0%, var(--color-page-wash-end) 100%);height:100dvh;padding:0;display:block}.preauth-split{z-index:1;width:100%;height:100%;display:flex;position:relative}.preauth-brand{min-width:0;padding:var(--inset-page) calc(var(--inset-page) * 2);background:linear-gradient(160deg, var(--brand-panel-from) 0%, var(--brand-panel-mid) 70%, var(--brand-panel-to) 100%);color:var(--color-on-accent);flex-direction:column;flex:1.05 1 0;display:flex;position:relative;overflow:hidden}.preauth-brand:after{content:"";background:var(--color-secondary);opacity:.18;filter:blur(40px);pointer-events:none;border-radius:50%;width:360px;height:360px;position:absolute;bottom:-120px;right:-120px}@media screen{:root[data-theme=dark] .preauth-brand{background:linear-gradient(160deg, var(--color-panel-dark-mid) 0%, var(--color-primary-100) 100%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .preauth-brand{background:linear-gradient(160deg, var(--color-panel-dark-mid) 0%, var(--color-primary-100) 100%)}}:root[data-theme=dark] .login-logo h1,:root[data-theme=dark] .login-logo-title,:root[data-theme=dark] .preauth-phone-name{color:var(--color-link)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .login-logo h1,:root:not([data-theme=light]) .login-logo-title,:root:not([data-theme=light]) .preauth-phone-name{color:var(--color-link)}}:root[data-theme=dark] .login-aux-link:hover{color:var(--color-text)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .login-aux-link:hover{color:var(--color-text)}}}@media screen and (min-width:1024px){:root[data-theme=dark] .preauth-form{background:var(--glass-bg-hover)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .preauth-form{background:var(--glass-bg-hover)}}}@media screen and (max-width:1023.98px){:root[data-theme=dark] .preauth-form-card{background:var(--color-surface)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .preauth-form-card{background:var(--color-surface)}}}.preauth-brand-main{margin-block:auto;position:relative}.preauth-brand-logo{width:120px;height:120px;margin-bottom:var(--gap-group);filter:drop-shadow(0 10px 30px rgba(var(--tone-black-rgb), .35))}.preauth-brand-name{font-size:var(--font-size-3xl);font-weight:700;line-height:var(--leading-tight);color:var(--color-on-accent)}.preauth-brand-school{margin-top:var(--gap-line);font-size:var(--font-size-lg);color:var(--brand-panel-text)}.preauth-brand-slogan{max-width:320px;margin-top:var(--gap-group);padding-top:var(--gap-block);border-top:1px solid var(--color-border-on-dark);font-size:var(--font-size-sm);color:var(--brand-panel-text);line-height:var(--leading-base)}.preauth-brand-unit{font-size:var(--font-size-xs);color:var(--brand-panel-text);position:relative}.preauth-form{background:rgba(var(--tone-white-rgb), .7);flex-direction:column;flex:1 1 0;min-width:0;height:100%;display:flex;overflow-y:auto}.preauth-topbar{justify-content:space-between;align-items:center;gap:var(--gap-line);padding:var(--inset-roomy);flex-direction:row-reverse;flex:none;display:flex}.preauth-form-body{width:100%;max-width:420px;padding:0 var(--inset-roomy) var(--inset-roomy);gap:var(--gap-group);flex-direction:column;margin:auto;display:flex}.preauth-form-title{font-size:var(--font-size-lg);color:var(--color-text);font-weight:700;line-height:var(--leading-snug);margin-bottom:var(--gap-block)}.preauth-phone-head{align-items:center;gap:var(--gap-head);display:none}.preauth-phone-logo{width:52px;height:52px;filter:drop-shadow(0 6px 18px rgba(var(--color-primary-rgb), .28));flex:none}.preauth-phone-name{font-size:var(--font-size-base);color:var(--color-primary-dark);font-weight:700;line-height:var(--leading-snug)}.preauth-phone-school{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.preauth-foot{align-items:center;gap:var(--gap-pair);text-align:center;font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--leading-snug);flex-direction:column;display:flex}.preauth-foot-unit{display:none}@media (max-width:1023.98px){.preauth-brand{display:none}.preauth-form{background:0 0}.preauth-topbar{padding-bottom:0}.preauth-phone-head{display:flex}.preauth-foot-unit{display:block}.preauth-form-card{background:rgba(var(--tone-white-rgb), .95);border:1px solid var(--glass-border);border-radius:var(--radius-panel);box-shadow:var(--shadow-glass);padding:var(--inset-page)}}@media (max-width:640.98px){.preauth-topbar{padding:var(--inset-card) var(--inset-card) 0}.preauth-form-body{padding:0 var(--inset-card) var(--inset-card);gap:var(--gap-block)}.preauth-form-card{padding:var(--inset-roomy)}}.auth-stepper{margin:0 0 var(--gap-block);align-items:flex-start;padding:0;list-style:none;display:flex}.auth-stepper-step{align-items:center;gap:var(--gap-pair);text-align:center;flex-direction:column;flex:1 1 0;min-width:0;display:flex;position:relative}.auth-stepper-step+.auth-stepper-step:before{content:"";top:calc(var(--type-px) * 12 - var(--border-width-emphasis) / 2);width:100%;height:var(--border-width-emphasis);background:var(--color-primary-100);position:absolute;left:-50%}.auth-stepper-step.is-done+.auth-stepper-step:before{background:var(--color-primary)}.auth-stepper-dot{z-index:1;width:calc(var(--type-px) * 24);height:calc(var(--type-px) * 24);border:var(--border-width-emphasis) solid var(--color-primary-100);background:var(--color-surface-solid);font-size:var(--font-size-xs);font-weight:600;line-height:var(--leading-flat);color:var(--color-text-secondary);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.auth-stepper-step.is-current .auth-stepper-dot{border-color:var(--color-primary);color:var(--color-link)}.auth-stepper-step.is-done .auth-stepper-dot{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-accent)}.auth-stepper-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--leading-snug)}.auth-stepper-step.is-current .auth-stepper-label{color:var(--color-link);font-weight:600}.otp-input-row{justify-content:space-between;gap:var(--gap-line);display:flex}.otp-input-box{width:auto;min-width:0;max-width:48px;padding:var(--squish-len-14) 0;text-align:center;font-size:var(--font-size-2xl);font-weight:700;line-height:var(--leading-tight);font-variant-numeric:tabular-nums;flex:1 1 0}.access-row{align-items:center;gap:var(--gap-line) var(--gap-head);padding:var(--gap-block) 0;flex-wrap:wrap;display:flex}.access-row+.access-row{border-top:1px solid var(--color-border-light)}.access-row-main{flex:1 1 calc(var(--prose-max) / 3);min-width:0}.access-row-actions{align-items:center;gap:var(--gap-line);flex-wrap:wrap;flex:none;margin-inline-start:auto;display:flex}.verify-page{background:linear-gradient(135deg, var(--color-page-wash) 0%, var(--color-page-wash-end) 100%)}.verify-stack{z-index:10;flex-direction:column;align-items:center;width:100%;max-width:420px;display:flex;position:relative}.verify-card{background:var(--color-surface-solid);width:100%;position:relative;overflow:hidden}.login-card.verify-card{padding:var(--inset-page)}.verify-watermark{pointer-events:none;z-index:0;place-items:center;display:grid;position:absolute;inset:0}.verify-watermark img{opacity:.2;width:83%;max-width:276px}.verify-body{z-index:1;position:relative}.verify-seal{margin-bottom:var(--gap-block);justify-content:center;display:flex}.verify-seal-valid{color:var(--color-success)}.verify-seal-valid svg{filter:drop-shadow(0 8px 18px rgba(var(--tone-success-rgb), .32))}.verify-seal-invalid{color:var(--color-danger-strong)}.verify-seal-invalid svg{filter:drop-shadow(0 8px 18px rgba(var(--tone-danger-rgb), .28))}.verify-head{text-align:center}.verify-head h1{font-size:var(--font-size-xl);font-weight:700;line-height:var(--leading-base);color:var(--color-text);margin:0 0 var(--gap-pair)}.verify-head p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--leading-prose)}.verify-head p.verify-subject-line{font-size:var(--font-size-base);color:var(--color-text);margin-bottom:var(--gap-pair);font-weight:600}.verify-detail{text-align:left;gap:var(--gap-block);font-size:var(--font-size-base);border-top:1px solid var(--color-border-light);margin-top:var(--gap-section);padding-top:var(--gap-section);grid-template-columns:auto 1fr;display:grid}.verify-detail dt{color:var(--color-text-secondary)}.verify-detail dd{text-align:right;color:var(--color-text);margin:0;font-weight:600}.verify-meta{margin-top:var(--gap-block);text-align:center;line-height:var(--leading-snug);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.verify-meta p{margin:0}.verify-timeline{margin-top:var(--gap-block)}.verify-timeline-title{font-size:var(--font-size-base);color:var(--color-text);margin:0 0 var(--gap-block);font-weight:700}.verify-steps{gap:var(--gap-line);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.verify-step{align-items:baseline;gap:var(--gap-line);font-size:var(--font-size-sm);display:flex}.verify-step-dot{border-radius:var(--radius-pill);border:var(--border-width-emphasis) solid var(--color-border-strong);background:var(--color-surface-solid);flex-shrink:0;align-self:center;width:10px;height:10px}.verify-step[data-done=true] .verify-step-dot{border-color:var(--color-primary);background:var(--color-primary)}.verify-step-label{min-width:0;color:var(--color-text);flex:1;font-weight:600}.verify-step[data-done=false] .verify-step-label{color:var(--color-text-secondary);font-weight:400}.verify-step-when{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.verify-actions{align-items:stretch;gap:var(--gap-line);margin-top:var(--gap-block);flex-direction:column;display:flex}.verify-action-main{justify-content:center;align-items:center;gap:var(--icon-text-gap);width:100%;display:inline-flex}.linklike.verify-undo{align-self:center;align-items:center;gap:var(--icon-text-gap);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:inline-flex}.verify-undo:hover:not(:disabled){color:var(--color-danger-strong)}.verify-undo:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.verify-scan{margin:var(--gap-block) 0 0;padding-top:var(--gap-block);border-top:1px solid var(--color-border-light);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.privacy-page{background:linear-gradient(135deg, var(--color-page-wash) 0%, var(--color-page-wash-end) 100%);align-items:flex-start;min-height:100dvh;overflow:visible}.privacy-orbs{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.privacy-stack{z-index:10;width:100%;max-width:var(--float-w-md);flex-direction:column;align-items:center;display:flex;position:relative}@media (min-width:768px){.privacy-stack{max-width:var(--float-w-lg)}}@media (min-width:1024px){.privacy-stack{max-width:var(--float-w-xl)}.login-card.privacy-card{column-gap:var(--gap-section);grid-template-columns:200px minmax(0,1fr);display:grid}.privacy-head{grid-column:1/-1}}.login-card.privacy-card{max-width:100%;max-height:none;overflow:visible}.privacy-head{align-items:flex-start;gap:var(--gap-block);padding-bottom:var(--gap-block);border-bottom:1px solid var(--color-border);margin-bottom:var(--gap-section);display:flex}.privacy-head-text{flex:1;min-width:0}.privacy-language{flex-shrink:0}.privacy-doc .privacy-updated{margin:var(--gap-line) 0 0;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.privacy-doc section+section{margin-top:var(--gap-section)}.privacy-doc h2{font-size:var(--font-size-base);color:var(--color-link);margin:0 0 var(--gap-block);font-weight:700}.privacy-doc h3{font-size:var(--font-size-sm);color:var(--color-text);margin:0;font-weight:600}.privacy-doc p,.privacy-doc ul{max-width:var(--prose-max);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--leading-prose);margin:0}.privacy-doc section>*+*{margin-top:var(--gap-block)}.privacy-doc ul{padding-left:var(--gap-group);gap:var(--gap-line);flex-direction:column;display:flex}.privacy-doc li{list-style:outside}.privacy-foot{align-items:center;gap:var(--gap-line);flex-direction:column;display:flex}.privacy-back{align-items:center;gap:var(--icon-text-gap);color:var(--color-link);font-weight:600;text-decoration:none;display:inline-flex}.privacy-back:hover{text-decoration:underline}.login-footer .privacy-back{margin-top:var(--gap-line)}.privacy-legal-box{margin-bottom:var(--gap-section)}.privacy-doc .privacy-legal-note{margin:var(--gap-line) 0 0;max-width:var(--prose-max);font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--leading-prose)}.privacy-toc{display:none}.privacy-doc .privacy-toc-label{max-width:none;font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0;font-weight:600}.privacy-doc .privacy-toc-list{margin:0;padding:0}.privacy-doc .privacy-toc-list li{list-style:none}.privacy-toc-link{align-items:center;gap:var(--icon-text-gap);color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:var(--leading-base);text-decoration:none;display:inline-flex}.privacy-toc-num{width:calc(var(--type-px) * 22);height:calc(var(--type-px) * 22);border-radius:var(--radius-pill);background:var(--color-primary-50);color:var(--color-link);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;transition:var(--motion-flat);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.privacy-toc-link:hover .privacy-toc-text{color:var(--color-link);text-decoration:underline}.privacy-toc-link.is-active .privacy-toc-num{background:var(--color-primary);color:var(--color-on-accent)}.privacy-toc-link.is-active .privacy-toc-text{color:var(--color-link);font-weight:600}.privacy-body section{scroll-margin-top:var(--gap-section)}@media (min-width:768px){.privacy-toc{align-items:baseline;gap:var(--gap-line) var(--gap-block);padding-bottom:var(--inset-card);border-bottom:1px solid var(--color-border);margin-bottom:var(--gap-section);flex-wrap:wrap;display:flex}.privacy-doc .privacy-toc-list{gap:var(--gap-line) var(--gap-block);flex-wrap:wrap;display:flex}}@media (min-width:1024px){.privacy-toc{top:var(--inset-page);border-bottom:none;align-self:start;margin-bottom:0;padding-bottom:0;display:block;position:sticky}.privacy-doc .privacy-toc-list{gap:var(--gap-line);margin-top:var(--gap-block);flex-direction:column;display:flex}}@media (pointer:coarse){.privacy-toc-link{min-height:44px}}.account-stack{gap:var(--gap-group);flex-direction:column;display:flex}.account-back{align-self:flex-start}.account-identity{align-items:center;gap:var(--gap-block);color:inherit;text-decoration:none;display:flex}.account-identity:hover{border-color:var(--color-primary-light);transform:translateY(-1px)}.account-identity-text{flex:1;min-width:0}.account-identity-name{font-size:var(--font-size-lg);font-weight:700;line-height:var(--leading-tight);display:block}.account-identity-role{margin-top:var(--gap-pair);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--leading-snug);display:block}.account-menu{padding:var(--inset-tight)}.profile-photo-card{align-items:stretch;gap:var(--gap-block);flex-direction:column;display:flex;container-type:inline-size}.profile-photo-card__body{gap:var(--gap-line);flex-direction:column;flex:1;min-width:0;display:flex}.profile-photo-card__actions{gap:var(--gap-line);margin-top:var(--gap-pair);flex-wrap:wrap;display:flex}@container (min-width:460px){.profile-photo-card{flex-direction:row;align-items:flex-start}}a.exam-menurow{color:inherit;text-decoration:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeRise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.motion-list>*{animation:fadeRise var(--dur-gentle) var(--ease-out) backwards}.motion-list>:first-child{animation-delay:0s}.motion-list>:nth-child(2){animation-delay:50ms}.motion-list>:nth-child(3){animation-delay:.1s}.motion-list>:nth-child(4){animation-delay:.15s}.motion-list>:nth-child(5){animation-delay:.2s}.motion-list>:nth-child(6){animation-delay:.25s}.motion-list>:nth-child(7){animation-delay:.3s}.motion-list>:nth-child(n+8){animation-delay:.35s}.motion-collapse{visibility:hidden;transition:var(--motion-collapse);grid-template-rows:0fr;display:grid}.motion-collapse.is-open{visibility:visible;transition:grid-template-rows var(--dur-base) var(--ease-out), visibility 0s;grid-template-rows:1fr}.section-fold-settling .motion-collapse,.section-fold-settling .icon-chevron-toggle{transition:none}.motion-collapse-inner{min-height:0;overflow:hidden}.motion-fade{animation:fadeIn var(--dur-base) var(--ease-out) backwards}.motion-fade.is-closing{animation:fadeOut var(--dur-fast) var(--ease-in) forwards;pointer-events:none}.icon-chevron-toggle{transition:var(--motion-icon)}.icon-chevron-toggle.is-open{transform:rotate(180deg)}.icon-optical{transform:translateY(.0625em)}.icon-inline{vertical-align:baseline;flex-shrink:0;display:inline-flex;transform:translateY(.0625em)}.btn:active,.icon-btn:active:not(:disabled),.icon-tile:active:not(:disabled),.hybrid-card-chevbtn:active,.segmented-seg:active:not(.is-on):not(:disabled),.qsearch-chip:active,.chip-popover-trigger:active,.stamp-chip:active,.picker-chip:active,.filter-chip:active:not(:disabled),.sig-method-btn:active,.sched-plan-pill:active:not(:disabled),.sched-pin-btn:active:not(:disabled),.sched-row-grip:active,.sched-slot-join:active,.sched-icon-toggle button:active:not(.is-on),.sched-roompick:active,.sched-adddaybtn:active:not(:disabled),.eday-undo-btn:not(:disabled):active,.eday-photo-add:active:not(:disabled),.tour-help-fab:active,.tour-mode-banner-exit:active,.file-chip-remove:active,.modal-close:active,.exam-popup-close:active,.toast-close:active,.ios-install-hint-close:active,.istrip-pop__x:active,.sidebar-collapse-btn:active,.sidebar-close-btn:active,.menu-toggle:active,.login-aux-link:active,.admin-toggle-btn:active,.btn-row-cancel:active,.btn-row-resubmit:active,.row-action-arrow:active,.btn-icon-chevron:active,.pill-tab-btn:active,.admin-tab-btn:active,.export-btn:not(:disabled):active,.admin-import-btn:active,.admin-history-btn:active,.admin-refresh-btn:active,.admin-export-btn:not(:disabled):active{filter:brightness(.96);transition-duration:var(--dur-press);transform:translateY(0)scale(.97)}.auth-field-eye:active{filter:brightness(.96);transition-duration:var(--dur-press);transform:translateY(-50%)scale(.97)}@media screen{:root[data-theme=dark] :is(.btn,.icon-btn:not(:disabled),.icon-tile:not(:disabled),.hybrid-card-chevbtn,.segmented-seg:not(.is-on):not(:disabled),.qsearch-chip,.chip-popover-trigger,.stamp-chip,.picker-chip,.filter-chip:not(:disabled),.sig-method-btn,.sched-plan-pill:not(:disabled),.sched-pin-btn:not(:disabled),.sched-row-grip,.sched-slot-join,.sched-icon-toggle button:not(.is-on),.sched-roompick,.sched-adddaybtn:not(:disabled),.eday-undo-btn:not(:disabled),.eday-photo-add:not(:disabled),.tour-help-fab,.tour-mode-banner-exit,.file-chip-remove,.modal-close,.exam-popup-close,.toast-close,.ios-install-hint-close,.istrip-pop__x,.sidebar-collapse-btn,.sidebar-close-btn,.menu-toggle,.login-aux-link,.admin-toggle-btn,.btn-row-cancel,.btn-row-resubmit,.row-action-arrow,.btn-icon-chevron,.pill-tab-btn,.admin-tab-btn,.export-btn:not(:disabled),.admin-import-btn,.admin-history-btn,.admin-refresh-btn,.admin-export-btn:not(:disabled),.auth-field-eye):not(.btn-primary,.btn-success,.btn-danger,.btn-cancel,.btn-destroy,.tour-help-fab,.is-on,.active,.is-active):active{filter:brightness(1.08)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) :is(.btn,.icon-btn:not(:disabled),.icon-tile:not(:disabled),.hybrid-card-chevbtn,.segmented-seg:not(.is-on):not(:disabled),.qsearch-chip,.chip-popover-trigger,.stamp-chip,.picker-chip,.filter-chip:not(:disabled),.sig-method-btn,.sched-plan-pill:not(:disabled),.sched-pin-btn:not(:disabled),.sched-row-grip,.sched-slot-join,.sched-icon-toggle button:not(.is-on),.sched-roompick,.sched-adddaybtn:not(:disabled),.eday-undo-btn:not(:disabled),.eday-photo-add:not(:disabled),.tour-help-fab,.tour-mode-banner-exit,.file-chip-remove,.modal-close,.exam-popup-close,.toast-close,.ios-install-hint-close,.istrip-pop__x,.sidebar-collapse-btn,.sidebar-close-btn,.menu-toggle,.login-aux-link,.admin-toggle-btn,.btn-row-cancel,.btn-row-resubmit,.row-action-arrow,.btn-icon-chevron,.pill-tab-btn,.admin-tab-btn,.export-btn:not(:disabled),.admin-import-btn,.admin-history-btn,.admin-refresh-btn,.admin-export-btn:not(:disabled),.auth-field-eye):not(.btn-primary,.btn-success,.btn-danger,.btn-cancel,.btn-destroy,.tour-help-fab,.is-on,.active,.is-active):active{filter:brightness(1.08)}}}.selectable-tile:active:not(:disabled),.account-identity:active,.saved-filebar:active,.sidebar-link:active,.row-action-item:active,.profile-trigger:active,.profile-menu-item:active,.picker-row:active,.fold-row-head:not(.is-static):active,.exam-infofold__toggle:active,.board-fold-toggle:active,.prov-step-action:active,.eday-menu-card:active,.eday-subj-row:active,.eday-day-card:active,.eday-md-day:active,.eday-mon-cardteacher:active,.eday-mon-roomcard.is-clickable:active,.sched-day-head:active,.sched-pool-item:active:not(.is-blocked),.sched-concur-head.is-draggable:active,.sig-pick-zone:active,.stuck-card:active,.admin-data-card.is-clickable:active,.import-history-card:active,.section-fold-tail:active{transition-duration:var(--dur-press);transform:scale(.985)}.hybrid-card:active:not(:has(.hybrid-card-chevbtn:active,.hybrid-card-body :active)){transition-duration:var(--dur-press);transform:scale(.985)}.exam-queue-card:not(.exam-queue-card--static):active:not(:has(button:active,input:active,a:active)){transition-duration:var(--dur-press);transform:scale(.985)}.sched-row.is-editable:active:not(:has(button:active,input:active)){transition-duration:var(--dur-press);transform:scale(.985)}.editable-cell:active,.sched-time-cell:active:not(:disabled),.data-table tbody tr.row-clickable:active{background:rgba(var(--tone-info-rgb), .1)}.officer-taskbar-back:active,.card-header-link:active,.privacy-back:active,.privacy-toc-link:active,.linklike:active{opacity:.65;transition-duration:var(--dur-press)}@media (pointer:coarse){.btn,.icon-btn,.icon-tile,.eday-mon-cardchev,.profile-trigger,.segmented-seg,.qsearch-chip,.chip-popover-trigger,.stamp-chip,.picker-chip,.filter-chip,.sig-method-btn,.sched-plan-pill,.sched-icon-toggle button,.sched-roompick,.sched-adddaybtn,.eday-undo-btn,.eday-photo-add,.tour-mode-banner-exit,.file-chip-remove,.modal-close,.exam-popup-close,.toast-close,.ios-install-hint-close,.istrip-pop__x,.sidebar-collapse-btn,.sidebar-close-btn,.menu-toggle,.login-aux-link,.admin-toggle-btn,.btn-row-cancel,.btn-row-resubmit,.row-action-arrow,.btn-icon-chevron,.pill-tab-btn,.admin-tab-btn,.export-btn,.admin-import-btn,.admin-history-btn,.admin-refresh-btn,.admin-export-btn,.table-shell-page{position:relative}.btn:after,.icon-btn:after,.icon-tile:after,.eday-mon-cardchev:after,.profile-trigger:after,.segmented-seg:after,.qsearch-chip:after,.chip-popover-trigger:after,.stamp-chip:after,.picker-chip:after,.filter-chip:after,.sig-method-btn:after,.sched-plan-pill:after,.sched-icon-toggle button:after,.sched-roompick:after,.sched-adddaybtn:after,.eday-undo-btn:after,.eday-photo-add:after,.tour-help-fab:after,.tour-mode-banner-exit:after,.file-chip-remove:after,.modal-close:after,.exam-popup-close:after,.toast-close:after,.ios-install-hint-close:after,.istrip-pop__x:after,.sidebar-collapse-btn:after,.sidebar-close-btn:after,.menu-toggle:after,.login-aux-link:after,.admin-toggle-btn:after,.btn-row-cancel:after,.btn-row-resubmit:after,.row-action-arrow:after,.btn-icon-chevron:after,.pill-tab-btn:after,.admin-tab-btn:after,.export-btn:after,.admin-import-btn:after,.admin-history-btn:after,.admin-refresh-btn:after,.admin-export-btn:after,.table-shell-page:after{content:"";pointer-events:auto;background:0 0;width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;translate:-50% -50%}.auth-field-eye:after{content:"";background:0 0;width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;translate:-50% -50%}.sched-day-body .icon-btn:after,.sched-day-body .chip-popover-trigger:after{content:none}}.motion-crossfade-in{animation:fadeRise var(--dur-gentle) var(--ease-out) backwards}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.skeleton{animation:1.5s infinite skeletonLoad!important}.shimmer-text{animation:2.5s linear infinite shimmerText!important}.logo-loader{animation:fadeBlink 1.2s var(--ease-inout) infinite!important}.spin{animation:1s linear infinite spin!important}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}50%{transform:translate(8px)}75%{transform:translate(-4px)}}.shake{animation:shake var(--dur-slow) var(--ease-inout)}@keyframes fieldShake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.field-shake{animation:fieldShake var(--dur-slow) var(--ease-inout)}.field-invalid{transition:var(--motion-control);border-color:var(--color-danger)!important;box-shadow:0 0 0 3px var(--color-danger-bg), 0 0 12px rgba(var(--tone-danger-rgb), .25)!important}.req{color:var(--color-danger-strong);margin-left:var(--gap-pair);font-weight:700}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:767.98px){.app-sidebar{transform:translate(-100%)}.app-sidebar.open{transform:translate(0)}.app-main{margin-left:0}.menu-toggle{display:flex}.app-content{padding:var(--inset-card)}.modal-fullscreen.modal-overlay{padding:0}.modal-fullscreen .modal-content{border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.modal-fullscreen .modal-body{padding:var(--inset-tight);padding-bottom:var(--inset-page)}.modal-fullscreen .card{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:0;padding:0}.topbar{padding:var(--inset-card)}.hide-mobile{display:none!important}}@media (max-width:640.98px){.login-card{padding:var(--inset-roomy)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.app-loading{justify-content:center;align-items:center;gap:var(--gap-block);min-height:100vh;color:var(--color-text-secondary);font-size:var(--font-size-sm);flex-direction:column;display:flex}.profile-dropdown{position:relative}.profile-trigger{align-items:center;gap:var(--icon-text-gap);padding:var(--squish-short);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-text);transition:var(--motion-control);display:flex}.profile-trigger:hover{background:var(--color-surface-hover);border-color:var(--color-primary-100)}.avatar{font-weight:700;line-height:var(--leading-flat);letter-spacing:.02em;color:var(--color-on-accent);background:var(--color-primary);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.avatar-xs{width:var(--icon-box-sm);height:var(--icon-box-sm);font-size:var(--font-size-xs)}.avatar-sm{width:var(--icon-box-md);height:var(--icon-box-md);font-size:var(--font-size-sm)}.avatar-md{width:64px;height:64px;font-size:var(--font-size-xl)}.avatar-lg{width:96px;height:96px;font-size:var(--font-size-2xl)}.avatar-hue-indigo{background:var(--accent-indigo)}.avatar-hue-blue{background:var(--accent-blue-fill)}.avatar-hue-rose{background:var(--accent-rose)}.avatar-hue-fuchsia{background:var(--accent-fuchsia)}.avatar-hue-sky{background:var(--accent-sky-fill)}.avatar-hue-primary{background:var(--color-primary)}.avatar>img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.avatar-name{align-items:center;gap:var(--icon-text-gap);min-width:0;max-width:100%;display:inline-flex}.avatar-name-text{min-width:0}.cell-name-ellipsis .avatar-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-weight:600;overflow:hidden}.profile-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);min-width:220px;max-width:var(--float-w-xs);z-index:var(--z-dropdown);animation:slideUp var(--dur-fast) var(--ease-out);position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.profile-menu-header{padding:var(--inset-card)}.profile-menu-name{font-size:var(--font-size-sm);color:var(--color-text);font-weight:600}.profile-menu-divider{height:var(--border-width);background:var(--color-border-light)}.profile-menu-item{align-items:center;gap:var(--icon-text-gap);width:100%;padding:var(--gap-line) var(--gap-block);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-text);transition:var(--motion-control);background:0 0;border:none;text-decoration:none;display:flex}.profile-menu-item:hover{background:var(--color-surface-hover)}.profile-menu-item.danger{color:var(--color-danger-strong)}.profile-menu-item.danger:hover{background:var(--color-danger-bg)}.sidebar-overlay.is-closing{animation:fadeOut var(--dur-fast) var(--ease-out) forwards;pointer-events:none}.sidebar-close-btn{color:var(--sidebar-text);cursor:pointer;padding:var(--gap-pair);border-radius:var(--radius-control);transition:var(--motion-control);background:0 0;border:none;margin-left:auto;display:none}.sidebar-close-btn:hover{color:var(--sidebar-text-active);background:var(--sidebar-hover)}.dashboard-section{animation:fadeIn var(--dur-slow) var(--ease-out)}.section-header{margin-bottom:var(--gap-group);justify-content:space-between;align-items:center;gap:var(--gap-line);flex-wrap:wrap;display:flex}.section-title{font-size:var(--font-size-base);color:var(--color-text);font-weight:700}.section-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:400}.dashboard-grid{gap:var(--gap-group);margin-bottom:var(--gap-group);grid-template-columns:repeat(auto-fit,minmax(340px,1fr));display:grid}.chart-card{min-height:340px}.chart-wrapper{width:100%;height:260px}.dashboard-loading{justify-content:center;align-items:center;gap:var(--gap-block);min-height:400px;color:var(--color-text-secondary);font-size:var(--font-size-sm);flex-direction:column;display:flex}.teacher-summary-card{flex-direction:column;display:flex}.teacher-summary-grid{gap:var(--gap-pair);flex-direction:column;flex:1;display:flex}.summary-row{padding:var(--gap-head) var(--gap-block);border-radius:var(--radius-control);transition:var(--motion-flat);justify-content:space-between;align-items:center;display:flex}.summary-row:hover{background:var(--color-surface-hover)}.summary-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:600}.summary-value{font-size:var(--font-size-lg);color:var(--color-text);font-weight:700}@media (max-width:767.98px){.sidebar-overlay{background:var(--scrim-nav);-webkit-backdrop-filter:var(--scrim-blur);backdrop-filter:var(--scrim-blur);z-index:calc(var(--z-nav) + 1);animation:fadeIn var(--dur-fast) var(--ease-out);display:block;position:fixed;inset:0}.sidebar-close-btn{justify-content:center;align-items:center;display:flex}.dashboard-grid{grid-template-columns:1fr}.profile-name{display:none}.section-header{flex-direction:column;align-items:flex-start}}.text-center{text-align:center}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.mt-sm{margin-top:var(--gap-line)}.mt-md{margin-top:var(--gap-block)}.mt-lg{margin-top:var(--gap-group)}.mb-md{margin-bottom:var(--gap-block)}.mb-lg{margin-bottom:var(--gap-group)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--gap-line)}.gap-md{gap:var(--gap-block)}.gap-lg{gap:var(--gap-group)}.w-full{width:100%}.editable-cell{padding:var(--squish-len-2) var(--gap-pair);margin:calc(var(--squish-len-2) * -1) calc(var(--gap-pair) * -1);border-radius:var(--radius-chip);transition:var(--motion-flat), box-shadow var(--dur-fast) var(--ease-standard)}.editable-cell:hover{background:rgba(var(--tone-info-rgb), .06);box-shadow:inset 0 0 0 1px rgba(var(--tone-info-rgb), .18)}.report-chart-title{font-size:var(--font-size-md);margin:0 0 var(--gap-line);text-align:center;justify-content:center;align-items:center;gap:var(--icon-text-gap);color:var(--color-text);font-weight:700;display:flex}.istrip{gap:var(--gap-pair);flex-direction:column;display:flex}.istrip-lane,.istrip-axis{align-items:center;gap:var(--gap-line);grid-template-columns:34px minmax(0,1fr);display:grid}.istrip-lane__label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:right;white-space:nowrap;font-weight:600}.istrip-days{gap:var(--gap-line);display:flex}.istrip-day{flex:1;min-width:0}.istrip-track{height:26px;position:relative}.istrip-line{border-radius:var(--radius-chip);background:var(--color-border);height:2px;position:absolute;top:50%;left:0;right:0}.istrip-grid{background:var(--color-border);opacity:.45;pointer-events:none;width:1px;position:absolute;top:2px;bottom:2px;transform:translate(-.5px)}.istrip-green{border-radius:var(--radius-chip);background:var(--color-success);pointer-events:none;height:5px;position:absolute;top:50%;transform:translateY(-50%)}.istrip-pin{border:var(--border-width-emphasis) solid var(--color-surface-solid);background:var(--color-danger);width:18px;height:18px;box-shadow:0 0 0 3px rgba(var(--tone-danger-rgb), .25);color:var(--color-on-accent);font-size:10px;font-weight:700;line-height:var(--leading-flat);cursor:pointer;transition:var(--motion-icon);border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.istrip-pin:hover,.istrip-pin:focus-visible{transform:translate(-50%,-50%)scale(1.2)}.istrip-pin:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.istrip-axis{margin-top:var(--gap-pair)}.istrip-ticks{height:14px;position:relative}.istrip-tick{font-size:var(--font-size-xs);line-height:var(--leading-snug);color:var(--color-text-secondary);white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}@media (max-width:767.98px){.istrip-tick:not(.istrip-tick--major),.istrip-tick__min{display:none}}.istrip-daylabel{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--gap-pair);font-weight:600}.istrip-pop{z-index:var(--z-popover);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);padding:var(--inset-tight) var(--inset-card)}.istrip-pop__x{border-radius:var(--radius-control);width:26px;height:26px;color:var(--color-text-muted);cursor:pointer;transition:var(--motion-control);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.istrip-pop__x:hover{background:var(--color-surface-hover);color:var(--color-text)}.report-chart-header{align-items:center;gap:var(--gap-line);margin-bottom:var(--gap-line);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.report-chart-header__title{font-size:var(--font-size-md);text-align:center;color:var(--color-text);grid-column:2;margin:0;font-weight:700}.report-chart-header__controls{justify-self:end;align-items:center;gap:var(--gap-line);flex-wrap:wrap;grid-column:3;justify-content:flex-end;display:flex}@media (max-width:1023.98px){.report-chart-header{grid-template-columns:1fr}.report-chart-header__title{text-align:center;grid-column:1}.report-chart-header__controls{grid-column:1;justify-content:center;justify-self:center}}.export-btn:not(:disabled):hover{box-shadow:var(--glow-brand-strong);transform:translateY(-1px)}.export-loading-overlay{z-index:var(--z-toast);background:rgba(var(--tone-white-rgb), .62);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@media print{.app-sidebar,.topbar,.app-footer,.sidebar-overlay,button,select{display:none!important}.app-main{margin-left:0!important}.app-content{opacity:1!important;max-width:none!important;padding:0!important;animation:none!important}.card{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);break-inside:avoid;page-break-inside:avoid;box-shadow:none!important;border:1px solid var(--color-border)!important}.scorecard-card{break-inside:avoid;page-break-inside:avoid}html,body{background:var(--color-surface-solid)!important}}.sidebar-link .badge{animation:badgePulse 2s var(--ease-inout) infinite}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)translate(0)}50%{opacity:.8;transform:scale(1.2)translate(2%,3%)}}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-glass);border-radius:var(--radius-card);transition:var(--motion-surface)}.glass-card:hover{background:var(--glass-bg-hover);box-shadow:var(--glow-brand);transform:translateY(-1px)}.scorecard-link{height:100%;display:block}.scorecard-link-arrow{top:var(--gap-block);right:var(--gap-block);opacity:var(--opacity-muted);transition:var(--motion-icon), opacity var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;display:flex;position:absolute}.scorecard-link:hover .scorecard-link-arrow{opacity:1;transform:translate(2px)}@media (prefers-reduced-motion:reduce){.scorecard-link:hover .scorecard-link-arrow{transform:none}}button.scorecard-link{font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:none;width:100%;margin:0;padding:0}.logo-loader{width:60px;height:60px;animation:fadeBlink 1.2s var(--ease-inout) infinite;border-radius:50%}@keyframes fadeBlink{0%,to{opacity:1;filter:drop-shadow(0 0 16px rgba(var(--color-primary-rgb), .6));transform:scale(1)}50%{opacity:.3;filter:drop-shadow(0 0 4px rgba(var(--color-primary-rgb), .1));transform:scale(.96)}}.app-loading p{background:linear-gradient(90deg, var(--color-primary), #818cf8, var(--color-primary));color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:2.5s linear infinite shimmerText}@keyframes shimmerText{to{background-position:200%}}.skeleton{background:linear-gradient(90deg, var(--color-border-light) 25%, var(--color-border) 50%, var(--color-border-light) 75%);border-radius:var(--radius-control);background-size:200% 100%;animation:1.5s infinite skeletonLoad}@keyframes skeletonLoad{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-bar{border-radius:var(--radius-chip)}.skeleton-pill{border-radius:var(--radius-pill)}.toast-container{top:var(--gap-group);right:var(--gap-group);z-index:var(--z-toast);gap:var(--gap-line);flex-direction:column;display:flex;position:fixed}@media screen{:root[data-theme=dark] .toast,:root[data-theme=dark] .ios-install-hint{background-color:var(--color-surface-solid)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .toast,:root:not([data-theme=light]) .ios-install-hint{background-color:var(--color-surface-solid)}}}.toast{--toast-tint:rgba(var(--color-primary-rgb), .13);--toast-border:var(--border-brand);--toast-glow:rgba(var(--color-primary-rgb), .4);align-items:center;gap:var(--icon-text-gap);padding:var(--inset-card);background-color:rgba(var(--tone-white-rgb), .97);background-image:linear-gradient(var(--toast-tint), var(--toast-tint));-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-card);border:1px solid var(--toast-border);box-shadow:0 12px 30px -6px var(--toast-glow), 0 4px 12px rgba(var(--tone-ink-rgb), .14);animation:slideInRight var(--dur-gentle) var(--ease-spring) forwards;min-width:300px;max-width:min(var(--float-w-sm), calc(100vw - 2 * var(--gap-group)));display:flex}.toast.is-closing{animation:slideOutRight var(--dur-fast) var(--ease-standard) forwards;pointer-events:none}.toast.success{--border-tone-rgb:var(--tone-success-rgb);--toast-tint:rgba(var(--border-tone-rgb), .14);--toast-border:rgba(var(--border-tone-rgb), .3);--toast-glow:rgba(var(--border-tone-rgb), .4)}.toast.error{--border-tone-rgb:var(--tone-danger-rgb);--toast-tint:rgba(var(--border-tone-rgb), .14);--toast-border:rgba(var(--border-tone-rgb), .3);--toast-glow:rgba(var(--border-tone-rgb), .42)}.toast.info{--border-tone-rgb:var(--status-inprocess-rgb);--toast-tint:rgba(var(--border-tone-rgb), .14);--toast-border:rgba(var(--border-tone-rgb), .3);--toast-glow:rgba(var(--border-tone-rgb), .4)}.toast.warning{--border-tone-rgb:var(--tone-warning-rgb);--toast-tint:rgba(var(--border-tone-rgb), .16);--toast-border:rgba(var(--border-tone-rgb), .3);--toast-glow:rgba(var(--border-tone-rgb), .42)}.toast-content{font-size:var(--font-size-base);color:var(--color-text);flex:1;font-weight:600}.toast-close{color:var(--color-text-muted);cursor:pointer;padding:var(--gap-pair);border-radius:var(--radius-chip);transition:var(--motion-control);background:0 0;border:none}.toast-close:hover{background:var(--color-surface-hover);color:var(--color-text)}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.ios-install-hint{left:50%;bottom:calc(var(--gap-block) + env(safe-area-inset-bottom,0px));z-index:calc(var(--z-modal) - 1);align-items:center;gap:var(--gap-line);width:calc(100vw - 2 * var(--gap-block));max-width:var(--float-w-sm);padding:var(--inset-card);background-color:rgba(var(--tone-white-rgb), .97);background-image:linear-gradient(rgba(var(--color-primary-rgb), .13), rgba(var(--color-primary-rgb), .13));-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-card);border:1px solid var(--border-brand);box-shadow:0 12px 30px -6px rgba(var(--color-primary-rgb), .4), 0 4px 12px rgba(var(--tone-ink-rgb), .14);animation:slideUpFadeCentered var(--dur-gentle) var(--ease-spring-soft) forwards;display:flex;position:fixed;transform:translate(-50%)}.ios-install-hint-logo{border-radius:var(--radius-control);flex-shrink:0}.ios-install-hint-text{font-size:var(--font-size-sm);line-height:var(--leading-base);color:var(--color-text);flex:1}.ios-install-hint.is-closing{animation:slideDownFadeCentered var(--dur-fast) var(--ease-in) forwards;pointer-events:none}body:has(.sync-confirm-bar,.table-shell-pager:not(.is-grounded):not([hidden] *),.floating-bar.visible:not([hidden] *)) .ios-install-hint{display:none}@media (max-width:640.98px){body:has(.admin-save-bar:not([hidden] *)) .ios-install-hint{display:none}}@keyframes slideDownFadeCentered{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,12px)}}.ios-install-hint-close{color:var(--color-text-muted);cursor:pointer;padding:var(--gap-pair);border-radius:var(--radius-chip);transition:var(--motion-control);background:0 0;border:none;flex-shrink:0;align-self:flex-start}.ios-install-hint-close:hover{background:var(--color-surface-hover);color:var(--color-text)}@keyframes slideUpFadeCentered{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slideUpFade var(--dur-gentle) var(--ease-out)}@keyframes popUpScaleIn{0%{opacity:0;transform:scale(.95)translateY(15px)}to{opacity:1;transform:none}}.animate-pop-up{animation:popUpScaleIn var(--dur-base) var(--ease-spring);transform-origin:top}.animate-pop-up.is-closing{animation:popUpScaleOut var(--dur-fast) var(--ease-standard) forwards;pointer-events:none}@keyframes popUpScaleOut{to{opacity:0;transform:scale(.96)translateY(6px)}}.result-icon-pop{animation:resultIconPop var(--dur-gentle) var(--ease-spring) 90ms both;display:inline-flex}.modal-msg-title{text-wrap:balance}.modal-msg-detail{text-wrap:pretty;max-width:var(--prose-max-short)}.modal-msg-chips{justify-content:center;gap:var(--gap-line);flex-wrap:wrap;display:flex}.modal-msg-chip{padding:var(--squish-tag);border-radius:var(--radius-pill);background:rgba(var(--tone-neutral-rgb),.14);font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;align-items:center;display:inline-flex}@keyframes resultIconPop{0%{opacity:0;transform:scale(.35)}to{opacity:1;transform:scale(1)}}.show-on-mobile,.show-on-mobile-cell{display:none}.approval-tab-btn{text-align:center;min-width:0;line-height:var(--leading-tight);white-space:normal;flex:1 1 0;justify-content:center;font-size:clamp(11.5px, 2.3vw, var(--font-size-md))!important;padding:clamp(7px,1.4vw,12px) clamp(4px,1vw,24px)!important}@media (max-width:640.98px){.approval-tab-btn{gap:var(--gap-pair)!important;flex-direction:column!important}}.pill-tabbar{gap:var(--gap-line);scrollbar-width:none;scroll-behavior:smooth;padding:var(--gap-pair) var(--squish-len-2);margin-bottom:calc(var(--gap-group) - 4px);display:flex;overflow-x:auto}.pill-tabbar::-webkit-scrollbar{display:none}@media (pointer:coarse){.pill-tabbar{padding-top:var(--gap-line);padding-bottom:var(--gap-line);margin-top:calc(var(--gap-pair) * -1);margin-bottom:calc(var(--gap-group) - 8px)}}@media (prefers-reduced-motion:reduce){.pill-tabbar{scroll-behavior:auto}}.pill-tabbar.fade-right{-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 28px),#0000 100%)}.pill-tabbar.fade-left{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 28px 100%);mask-image:linear-gradient(90deg,#0000 0,#000 28px 100%)}.pill-tabbar.fade-both{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 28px calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 28px calc(100% - 28px),#0000 100%)}.pill-tab-btn{align-items:center;gap:var(--icon-text-gap);padding:var(--squish-short);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:600;line-height:var(--leading-tight);white-space:nowrap;cursor:pointer;transition:var(--motion-control);flex-shrink:0;display:inline-flex}.pill-tab-btn:hover:not(.is-active){border-color:var(--color-primary);color:var(--color-link);box-shadow:var(--glow-brand);transform:translateY(-1px)}.pill-tab-btn.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-accent);font-weight:600}.pill-tab-btn:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.pill-tab-badge{min-width:calc(var(--type-px) * 18);padding:0 var(--squish-len-6);border-radius:var(--radius-pill);background:var(--color-danger);color:var(--color-on-accent);font-size:var(--font-size-xs);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.pill-tab-btn.is-active .pill-tab-badge{background:rgba(var(--tone-black-rgb), .28);color:var(--color-on-accent)}.count-badge{justify-content:center;align-items:center;gap:var(--gap-pair);min-width:calc(var(--type-px) * 20);padding:var(--squish-tag);border-radius:var(--radius-pill);background:var(--color-danger);color:var(--color-on-accent);font-size:var(--font-size-xs);font-weight:700;line-height:var(--leading-flat);white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;display:inline-flex}.count-badge--brand{background:var(--color-primary)}.count-badge--neutral{background:var(--color-muted-fill)}.count-badge--sm{min-width:calc(var(--type-px) * 18);padding:0 var(--squish-len-6)}.count-badge--dot{width:8px;min-width:0;height:8px;padding:0;font-size:0;overflow:hidden}.announce-badge{align-items:center;gap:var(--icon-text-gap);height:calc(var(--type-px) * 32);padding:0 var(--gap-block);border-radius:var(--radius-pill);background:var(--color-success-button);color:var(--color-on-accent);font-size:var(--font-size-base);font-weight:700;line-height:var(--leading-snug);white-space:nowrap;box-shadow:0 4px 12px rgba(var(--tone-success-rgb), .35);display:inline-flex}.announce-badge--danger{background:var(--color-danger);box-shadow:0 4px 12px rgba(var(--tone-danger-rgb), .35)}@media (max-width:1023.98px){.hide-below-desktop{display:none!important}}@media (max-width:767.98px){.hide-on-mobile{display:none!important}.show-on-mobile{display:table-row!important}.show-on-mobile-cell{display:table-cell!important}.mobile-expanded-content{animation:slideDown var(--dur-fast) var(--ease-out) forwards;overflow:hidden}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}}.exam-stat-grid{gap:var(--gap-block);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.exam-stat-grid.exam-stat-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1023.98px){.exam-stat-grid:not(.exam-stat-grid--3){grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640.98px){.exam-stat-grid,.exam-stat-grid.exam-stat-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}.stuck-bar-grid{gap:var(--gap-line);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}@media (max-width:1023.98px){.stuck-bar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.liveshot-stage .stuck-bar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.liveshot-stage .pdfsplit-footer__actions{flex-wrap:wrap;justify-content:flex-end;max-width:100%}.stuck-card{align-items:center;gap:var(--gap-line);text-align:left;padding:var(--inset-card);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);cursor:pointer;transition:var(--motion-surface);display:flex}.stuck-card:hover:not(.is-selected){border-color:var(--color-primary-light);transform:translateY(-1px)}.stuck-card-chip{width:var(--icon-box-md);height:var(--icon-box-md);border-radius:var(--radius-control);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.stuck-card-text{flex:1;min-width:0}.stuck-card-count{font-size:var(--font-size-2xl);font-weight:700;line-height:var(--leading-tight);flex-wrap:wrap;align-items:baseline;display:flex}.stuck-card-count>span{white-space:nowrap}.stuck-card-of{font-size:var(--font-size-sm);font-weight:600}.hybrid-card-list{gap:var(--gap-line);flex-direction:column;display:flex}.hybrid-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);transition:var(--motion-surface);overflow:hidden}.hybrid-card:hover{background:var(--color-surface-hover)}.hybrid-card.is-open{background:var(--color-surface-hover);border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.hybrid-card.is-selected{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.hybrid-card-headrow{align-items:stretch;display:flex}.hybrid-card-check{flex-shrink:0;align-items:center;display:flex}.hybrid-card-check input{pointer-events:none;margin:0}.hybrid-card-chevbtn{min-width:44px;padding:0 var(--gap-line);border:none;border-left:1px solid var(--color-border);cursor:pointer;color:var(--color-text-muted);transition:var(--motion-control);background:0 0;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;display:flex}.hybrid-card-chevbtn:hover{background:rgba(var(--tone-ink-rgb), .04);color:var(--color-text)}.hybrid-card-head{align-items:flex-start;gap:var(--gap-line);min-width:0;padding:var(--inset-card);cursor:pointer;text-align:left;background:0 0;border:none;flex:1;display:flex}.hybrid-card-head-main{flex:1;min-width:0}.one-line-ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.text-break-word{overflow-wrap:break-word}.preserve-lines{white-space:pre-wrap}.hybrid-card-pill{flex-shrink:0}.hybrid-card-chevron{color:var(--color-text-muted);transition:var(--motion-icon);flex-shrink:0}.hybrid-card-chevron.is-open{transform:rotate(180deg)}.hybrid-card-body{padding:var(--inset-card);border-top:1px dashed var(--color-border);gap:var(--gap-pair);flex-direction:column;display:flex;container-type:inline-size}.hybrid-card .motion-collapse-inner{opacity:0;transition:opacity var(--dur-base) var(--ease-out)}.hybrid-card .motion-collapse.is-open>.motion-collapse-inner{opacity:1}.hybrid-card-fields{column-gap:var(--gap-block);grid-template-columns:1fr;display:grid}@container (min-width:460px){.hybrid-card-fields,.hybrid-card-teachers{grid-template-columns:1fr 1fr}}.hybrid-card-field{align-items:center;gap:var(--gap-line);padding:var(--squish-len-2) 0;min-height:26px;display:flex}.hybrid-card-field-label{min-width:56px;font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-shrink:0}.hybrid-card-field-value{overflow-wrap:break-word;flex:1;min-width:0}.hybrid-card-block{margin-top:var(--gap-line);padding:var(--gap-line) var(--squish-len-10);border-radius:var(--radius-control);background:rgba(var(--tone-neutral-rgb), .06);border:1px solid var(--color-border)}.hybrid-card-teachers{gap:var(--gap-line);margin-top:var(--gap-line);grid-template-columns:1fr;display:grid}.hybrid-card-teachers .hybrid-card-block{margin-top:0}.card-head-fluid{justify-content:space-between;align-items:flex-start;gap:var(--gap-line);flex-wrap:nowrap;display:flex}.card-head-fluid-main{flex:auto;min-width:0}.card-head-fluid-pill{align-self:flex-start;align-items:center;gap:var(--gap-line);flex:none;display:inline-flex}.badge-group{align-items:center;gap:var(--gap-line);flex-wrap:wrap;display:inline-flex}.card-actionrow{gap:var(--gap-line);margin-top:var(--gap-line);flex-wrap:wrap;display:flex}@media (max-width:640.98px){.card-actionrow{margin-top:var(--gap-head)}}.card-actionrow>.btn,.card-actionrow>.btn-row-cancel,.card-actionrow>.btn-row-resubmit{flex:auto;justify-content:center;align-items:center;display:inline-flex}.card-actionrow>.btn-icon{flex:none}.card-actionrow--primary-last>.btn:last-child{flex:100%}@container (min-width:460px){.card-actionrow{justify-content:flex-end}.card-actionrow>.btn,.card-actionrow>.btn-row-cancel,.card-actionrow>.btn-row-resubmit,.card-actionrow--primary-last>.btn:last-child{flex:none}}.exam-menurow-list{gap:var(--gap-line);flex-direction:column;display:flex;container-type:inline-size}.account-eventlist{flex-direction:column;display:flex}.account-eventrow{align-items:flex-start;gap:var(--icon-text-gap);padding:var(--gap-line) 0;display:flex}.account-eventlist>.account-eventrow+.account-eventrow{border-top:1px solid var(--color-border-light)}.account-eventrow-side{flex-shrink:0;margin-left:auto}.account-eventcard{container-type:inline-size}.officer-taskbar-shortcut{align-items:center;gap:var(--icon-text-gap);width:100%;margin-top:var(--gap-line);padding:var(--squish-std);border:1px dashed var(--color-border);border-radius:var(--radius-control);background:rgba(var(--tone-neutral-rgb), .06);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-text);text-align:left;cursor:pointer;transition:var(--motion-control);display:flex}.officer-taskbar-shortcut:hover{background:rgba(var(--color-primary-rgb), .06);border-color:var(--border-brand);transform:translateY(-1px)}.officer-taskbar-shortcut:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.officer-taskbar-shortcut .ots-text{min-width:0;font-weight:600}.officer-taskbar-shortcut .ots-hint{font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-shrink:0;margin-left:auto}@media (max-width:640.98px){.officer-taskbar-shortcut{flex-wrap:wrap}.officer-taskbar-shortcut .ots-hint{margin-left:calc(16px + var(--icon-text-gap))}}.officer-taskbar-back{align-items:center;gap:var(--icon-text-gap);margin-bottom:var(--gap-line);font-family:var(--font-family);font-size:var(--font-size-xs);color:var(--color-link);cursor:pointer;transition:var(--motion-fade);background:0 0;border:none;padding:0;font-weight:600;display:inline-flex}.officer-taskbar-back:hover{text-decoration:underline}.officer-taskbar-back:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;border-radius:var(--radius-control)}.exam-menurow{align-items:center;gap:var(--gap-line) var(--gap-head);text-align:left;padding:var(--gap-block);flex-wrap:wrap;width:100%;display:flex}.exam-menurow .emr-side{justify-content:flex-end;align-self:flex-start;align-items:center;gap:var(--gap-line);flex:none;display:flex}.pill-label-short{display:none}@container (max-width:459px){.pill-label-full{display:none}.pill-label-short{display:inline}}.hybrid-card-rowgroup{gap:var(--gap-line);flex-direction:column;display:flex}.hybrid-card-row{gap:var(--gap-line);grid-template-columns:1fr 1fr;align-items:start;display:grid}.hybrid-card-drawer{border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-card);background:var(--color-surface-hover);box-shadow:var(--shadow-md);animation:fadeRise var(--dur-base) var(--ease-out) backwards;position:relative}.hybrid-card-drawer .hybrid-card-body{border-top:none}.hybrid-card-drawer:before{content:"";background:var(--color-surface-hover);border-left:var(--border-width) solid var(--color-border-strong);border-top:var(--border-width) solid var(--color-border-strong);width:11px;height:11px;position:absolute;top:-6px;transform:rotate(45deg)}.hybrid-card-drawer.notch-left:before{left:calc(25% - 5px)}.hybrid-card-drawer.notch-right:before{left:calc(75% - 5px)}.exam-phase-row{gap:var(--gap-line);grid-template-columns:minmax(140px,1.4fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:center;display:grid}@media (max-width:767.98px){.exam-phase-row{grid-template-columns:1fr;align-items:stretch}}.exam-timeline{margin-bottom:var(--gap-group);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.exam-timeline-step{flex-direction:column;min-width:0;display:flex}.exam-timeline-track{justify-content:center;align-items:center;height:34px;display:flex;position:relative}.exam-timeline-track:before,.exam-timeline-track:after{content:"";height:2px;position:absolute;top:50%;transform:translateY(-50%)}.exam-timeline-track:before{left:0;right:50%}.exam-timeline-track:after{left:50%;right:0}.exam-timeline-track[data-left=none]:before,.exam-timeline-track[data-right=none]:after{display:none}.exam-timeline-track[data-left=todo]:before,.exam-timeline-track[data-right=todo]:after{background:var(--color-border)}.exam-timeline-track[data-left=done]:before,.exam-timeline-track[data-right=done]:after{background:var(--color-success)}.exam-timeline-dot{z-index:1;width:calc(var(--type-px) * 30);height:calc(var(--type-px) * 30);font-size:var(--font-size-xs);background:var(--color-surface);border:var(--border-width-emphasis) solid var(--color-border);color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex;position:relative}.exam-timeline-step[data-state=past] .exam-timeline-dot{background:var(--color-success);border-color:var(--color-success);color:var(--color-on-accent)}.exam-timeline-step[data-state=open] .exam-timeline-dot{background:var(--color-success);border-color:var(--color-success);color:var(--color-on-accent);box-shadow:0 0 0 4px rgba(var(--tone-success-rgb), .18);animation:examTimelinePulse 2s var(--ease-inout) infinite}@keyframes examTimelinePulse{0%,to{box-shadow:0 0 0 4px rgba(var(--tone-success-rgb), .18)}50%{box-shadow:0 0 0 7px rgba(var(--tone-success-rgb), .08)}}.exam-timeline-body{text-align:center;padding:var(--squish-len-10) var(--squish-len-10) 0;align-items:center;gap:var(--gap-pair);flex-direction:column;display:flex}.exam-timeline-head{gap:var(--gap-pair);flex-direction:column;display:flex}.exam-timeline-kicker{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:600}.exam-timeline-name{font-size:var(--font-size-sm);color:var(--color-text);font-weight:700}.exam-timeline-step[data-state=upcoming] .exam-timeline-name,.exam-timeline-step[data-state=upcoming] .exam-timeline-kicker{color:var(--color-text-muted)}.exam-timeline-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.exam-timeline-live{align-items:center;gap:var(--icon-text-gap);margin-top:var(--gap-pair);flex-direction:column;display:flex}.exam-live-pill{align-items:center;gap:var(--icon-text-gap);padding:var(--squish-len-2) var(--gap-head);border-radius:var(--radius-pill);background:var(--color-success-button);color:var(--color-on-accent);font-size:var(--font-size-xs);box-shadow:0 3px 9px rgba(var(--tone-success-rgb), .35);font-weight:700;display:inline-flex}.exam-live-dot{background:var(--color-surface-solid);width:7px;height:7px;animation:examLiveDot 1.4s var(--ease-inout) infinite;border-radius:50%}@keyframes examLiveDot{0%,to{opacity:1}50%{opacity:.35}}.exam-timeline-deadline{align-items:center;gap:var(--icon-text-gap);font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:600;display:inline-flex}.exam-timeline-countdown{align-items:center;gap:var(--icon-text-gap);font-size:var(--font-size-xs);font-weight:700;display:inline-flex}@media (max-width:640.98px){.exam-timeline{flex-direction:column;display:flex}.exam-timeline-step{gap:var(--gap-head);flex-direction:row}.exam-timeline-track{width:30px;height:auto;padding-top:var(--squish-len-2);flex-direction:column;flex-shrink:0;justify-content:flex-start}.exam-timeline-track:before,.exam-timeline-track:after{width:2px;height:auto;top:auto;left:50%;right:auto;transform:translate(-50%)}.exam-timeline-track:before{height:17px;top:0}.exam-timeline-track:after{top:17px;bottom:0}.exam-timeline-body{text-align:left;padding:0 0 var(--gap-block);flex:1;align-items:flex-start;min-width:0}.exam-timeline-head{align-items:baseline;gap:var(--gap-line);flex-flow:wrap}.exam-timeline-live{align-items:flex-start}}.admin-card{margin-bottom:var(--gap-group)}.admin-settings-cards{gap:var(--gap-group);margin-bottom:var(--gap-group);grid-template-columns:minmax(0,1fr);display:grid}.admin-settings-cards>.admin-card{margin-bottom:0}.admin-settings-cards+.admin-save-bar{margin-top:0}@media (min-width:768px){.admin-settings-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-settings-cards .admin-card-wide{grid-column:1/-1}}.admin-input{width:100%;padding:var(--squish-std);border-radius:var(--radius-control);border:1px solid var(--color-border-control);background:var(--color-bg);font-size:var(--font-size-sm);color:var(--color-text)}.admin-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}@media screen{:where(:root[data-theme=dark]) .admin-input:not(:focus){border-color:var(--color-border-strong)}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .admin-input:not(:focus){border-color:var(--color-border-strong)}}}.admin-toggle-btn{align-items:center;gap:var(--gap-line);padding:var(--squish-std);border-radius:var(--radius-control);cursor:pointer;font-size:var(--font-size-sm);width:100%;transition:var(--motion-control);font-weight:600;display:flex}.admin-toggle-btn:hover{transform:translateY(-1px)}.admin-settings-grid{gap:var(--gap-block);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.admin-stats-grid{gap:var(--gap-line);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));display:grid}.admin-action-bar{align-items:center;gap:var(--gap-line);flex-wrap:wrap;display:flex}.admin-save-bar{align-items:center;gap:var(--gap-line);margin-top:var(--gap-block);flex-wrap:wrap;display:flex}.sync-confirm-bar{z-index:var(--z-nav);align-items:center;gap:var(--gap-line) var(--gap-group);padding:var(--inset-tight) var(--inset-card);padding-bottom:calc(var(--inset-tight) + env(safe-area-inset-bottom,0px));background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -4px 12px rgba(var(--tone-black-rgb), .06);-webkit-backdrop-filter:var(--glass-blur-strong);backdrop-filter:var(--glass-blur-strong);transition:left var(--dur-base) var(--ease-standard);flex-wrap:wrap;display:flex;position:fixed;bottom:0;left:0;right:0}.sync-confirm-bar-text{gap:var(--gap-pair);min-width:0;font-size:var(--font-size-sm);flex:280px;display:grid}.sync-confirm-bar-hint{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.sync-confirm-bar-actions{gap:var(--gap-line);flex-wrap:wrap;margin-left:auto;display:flex}@media (min-width:768px){.sync-confirm-bar{left:var(--sidebar-width);padding-left:var(--inset-page);padding-right:var(--inset-page)}body:has(.app-layout.sidebar-collapsed) .sync-confirm-bar{left:var(--sidebar-collapsed);transition-delay:.14s}}@media (max-width:767.98px){.sync-confirm-bar-actions{width:100%}.sync-confirm-bar-actions>.btn{flex:1;min-height:44px}}.admin-import-btn{align-items:center;gap:var(--icon-text-gap);padding:var(--squish-short-label);border-radius:var(--radius-control);border:1px solid var(--color-border);background:rgba(var(--tone-success-rgb), .1);color:var(--color-on-tint-success);cursor:pointer;font-size:var(--font-size-xs);transition:var(--motion-control);font-weight:600;display:flex}.admin-import-btn:hover{box-shadow:var(--glow-brand);transform:translateY(-1px)}.admin-history-btn{align-items:center;gap:var(--icon-text-gap);padding:var(--squish-short-label);border-radius:var(--radius-control);border:1px solid var(--color-border);background:rgba(var(--tone-info-rgb), .08);color:var(--color-link);cursor:pointer;font-size:var(--font-size-xs);transition:var(--motion-control);font-weight:600;display:flex}.admin-history-btn:hover{box-shadow:var(--glow-brand);transform:translateY(-1px)}.admin-refresh-btn{align-items:center;gap:var(--icon-text-gap);padding:var(--squish-short-label);border-radius:var(--radius-control);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-xs);transition:var(--motion-control);font-weight:600;display:flex}.admin-refresh-btn:hover{box-shadow:var(--glow-brand);color:var(--color-text);transform:translateY(-1px)}.admin-export-btn{align-items:center;gap:var(--icon-text-gap);padding:var(--squish-short-label);border-radius:var(--radius-control);border:1px solid var(--color-border);background:rgba(var(--status-inprocess-rgb), .08);color:var(--status-inprocess);cursor:pointer;font-size:var(--font-size-xs);transition:var(--motion-control);font-weight:600;display:flex}.admin-export-btn:hover{box-shadow:var(--glow-brand);transform:translateY(-1px)}.admin-export-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;box-shadow:none;transform:none}.admin-row-check{cursor:pointer;width:18px;height:18px;accent-color:var(--color-primary);vertical-align:middle}.admin-data-card.is-selected{border-color:rgba(var(--tone-info-rgb), .55);background:rgba(var(--tone-info-rgb), .06)}@media (pointer:coarse){.admin-tab-bar{padding-top:var(--gap-line);margin-top:calc(var(--gap-line) * -1)}}.admin-tab-btn{align-items:center;gap:var(--icon-text-gap);padding:var(--squish-short);border:none;border-bottom:var(--border-width-bar) solid transparent;color:var(--color-text-secondary);font-weight:400;font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;margin-bottom:calc(-1 * var(--border-width));border-radius:var(--radius-control) var(--radius-control) 0 0;transition:var(--motion-control);background:0 0;display:flex}.admin-tab-btn:hover{background:rgba(var(--color-primary-rgb), .06);color:var(--color-link);transform:translateY(-1px)}.admin-tab-btn.active{border-bottom-color:var(--color-primary);background:rgba(var(--color-primary-rgb), .08);color:var(--color-link);font-weight:600}.admin-tab-btn.active:hover{transform:translateY(0)}.status-badge{padding:var(--squish-tag);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:600;line-height:var(--leading-snug);white-space:nowrap;display:inline-block}.status-badge--success{background:rgba(var(--tone-success-rgb),.14);color:var(--color-on-tint-success)}.status-badge--warning{background:rgba(var(--tone-warning-rgb), .14);color:var(--color-on-tint-warning)}.status-badge--danger{background:rgba(var(--tone-danger-rgb), .14);color:var(--color-danger-strong)}.status-badge--info{background:rgba(var(--tone-info-rgb),.14);color:var(--color-info-strong)}.status-badge--icon{align-items:center;gap:var(--icon-text-gap);display:inline-flex}.status-badge--muted{background:rgba(var(--tone-neutral-rgb), .14);color:var(--color-on-tint-neutral)}.admin-cards-wrap{width:100%;min-width:0;display:block;position:relative}@media screen{:root[data-theme=dark] .admin-table-loading-overlay,:root[data-theme=dark] .admin-cards-loading-overlay,:root[data-theme=dark] .export-loading-overlay{background:rgba(var(--tone-ink-rgb), .55)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .admin-table-loading-overlay,:root:not([data-theme=light]) .admin-cards-loading-overlay,:root:not([data-theme=light]) .export-loading-overlay{background:rgba(var(--tone-ink-rgb), .55)}}}.admin-table-loading-overlay,.admin-cards-loading-overlay{background:rgba(var(--tone-white-rgb), .62);border-radius:var(--radius-card);z-index:var(--z-sticky);pointer-events:none;position:absolute;inset:0}.admin-table-loading-overlay{--table-loading-offset:calc(var(--table-head-h,44px) + var(--gap-line));--table-loading-top:calc(var(--topbar-h,60px) + var(--table-toolbar-h,56px) + var(--table-head-h,44px) + var(--gap-line))}.admin-table-wrap:not(.is-headpin) .admin-table-loading-overlay{--table-loading-top:0px}.admin-cards-loading-overlay{--table-loading-offset:var(--gap-line);--table-loading-top:calc(var(--topbar-h,60px) + var(--table-toolbar-h,56px) + var(--gap-line))}.table-loading-pin{top:var(--table-loading-top);margin-top:var(--table-loading-offset);width:fit-content;padding:var(--squish-chip) var(--inset-tight);border-radius:var(--radius-pill);background:var(--color-surface-solid);border:var(--border-width) solid var(--color-border-strong);box-shadow:var(--shadow-lg);margin-inline:auto;position:sticky}@media (max-width:767.98px){.admin-table-loading-overlay,.admin-cards-loading-overlay{--table-loading-top:calc(var(--topbar-h,60px) + var(--gap-line))}}.admin-data-card{background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--inset-card);gap:var(--gap-line);transition:var(--motion-surface);box-sizing:border-box;flex-direction:column;width:100%;min-width:0;display:flex}.admin-data-card.is-clickable{cursor:pointer}.admin-data-card.is-clickable:hover,.admin-data-card.is-clickable:focus-visible{box-shadow:var(--glow-brand);border-color:var(--border-brand);transform:translateY(-1px)}.admin-data-card.is-archived{background:rgba(var(--tone-warning-rgb), .04)}.admin-data-card.is-dimmed .admin-data-card__title,.admin-data-card.is-dimmed .admin-data-card__field-label,.admin-data-card.is-dimmed .admin-data-card__field-value{color:var(--color-text-muted)}.admin-data-card__head{justify-content:space-between;align-items:flex-start;gap:var(--gap-line);display:flex}.admin-data-card__title{font-size:var(--font-size-base);color:var(--color-text);font-weight:700;line-height:var(--leading-snug);overflow-wrap:break-word;flex:1;min-width:0}.admin-data-card.is-archived .admin-data-card__title{color:var(--color-text-muted)}.admin-data-card__meta{gap:var(--gap-line) var(--gap-block);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-data-card__field{flex-direction:column;min-width:0;display:flex;overflow:hidden}.admin-data-card__field-label{margin-bottom:var(--gap-pair)}.admin-data-card__field-value{font-size:var(--font-size-sm);color:var(--color-text);overflow-wrap:break-word;min-width:0}.admin-data-card.is-archived .admin-data-card__field-value{color:var(--color-text-muted)}.admin-data-card__more{align-items:center;gap:var(--icon-text-gap);font-size:var(--font-size-xs);color:var(--color-link);padding-top:var(--squish-len-6);border-top:1px dashed var(--color-border);display:flex}.import-history-card:hover{box-shadow:var(--glow-brand);transform:translateY(-1px)}@media (max-width:640.98px){.admin-settings-grid{grid-template-columns:1fr}.admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-input,.admin-toggle-btn,.input-compact{font-size:16px}.admin-action-bar{flex-direction:column;align-items:stretch}.admin-action-bar>button{justify-content:center;width:100%}.admin-save-bar{z-index:var(--z-nav);padding:var(--inset-tight) var(--inset-card);padding-bottom:calc(var(--inset-tight) + env(safe-area-inset-bottom,0px));background:var(--color-surface);border-top:1px solid var(--color-border);border-radius:var(--radius-card) var(--radius-card) 0 0;box-shadow:0 -4px 12px rgba(var(--tone-black-rgb), .06);-webkit-backdrop-filter:var(--glass-blur-strong);backdrop-filter:var(--glass-blur-strong);margin-left:calc(-1 * var(--gap-block));margin-right:calc(-1 * var(--gap-block));position:sticky;bottom:0;left:0;right:0}.admin-save-bar>.btn{flex:1;min-height:44px}.admin-tab-actions{justify-content:flex-start;width:100%}}@media (max-width:480.98px){.admin-stats-grid{grid-template-columns:minmax(0,1fr)}}.driver-popover.sgspcw-tour{font-family:var(--font-family);background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-xl);color:var(--color-text);max-width:var(--float-w-xs);padding:var(--gap-block) var(--gap-block) var(--gap-line)}.driver-popover.sgspcw-tour .driver-popover-title{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-link);margin-bottom:6px;font-weight:700}.driver-popover.sgspcw-tour .driver-popover-description{font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--leading-base)}.driver-popover.sgspcw-tour .driver-popover-description strong,.driver-popover.sgspcw-tour .driver-popover-description b{font-family:var(--font-family);color:var(--color-text);font-weight:700}.driver-popover.sgspcw-tour .driver-popover-progress-text{font-family:var(--font-family);font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:600}.driver-popover.sgspcw-tour .driver-popover-arrow-side-top{border-top-color:var(--color-surface-solid)}.driver-popover.sgspcw-tour .driver-popover-arrow-side-bottom{border-bottom-color:var(--color-surface-solid)}.driver-popover.sgspcw-tour .driver-popover-arrow-side-left{border-left-color:var(--color-surface-solid)}.driver-popover.sgspcw-tour .driver-popover-arrow-side-right{border-right-color:var(--color-surface-solid)}.driver-popover.sgspcw-tour .driver-popover-arrow{border-width:8px}.driver-popover.sgspcw-tour .driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover.sgspcw-tour .driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{margin-left:-8px}.driver-popover.sgspcw-tour .driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover.sgspcw-tour .driver-popover-arrow-side-right.driver-popover-arrow-align-center{margin-top:-8px}.driver-popover.sgspcw-tour .driver-popover-footer button{text-shadow:none;border-radius:var(--radius-control);font-family:var(--font-family);font-size:var(--font-size-sm);transition:var(--motion-control);padding:7px 16px;font-weight:600}.driver-popover.sgspcw-tour .driver-popover-next-btn{background:var(--color-primary);color:var(--color-on-accent);border:1px solid var(--color-primary)}.driver-popover.sgspcw-tour .driver-popover-next-btn:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.driver-popover.sgspcw-tour .driver-popover-prev-btn{color:var(--color-text-secondary);border:1px solid var(--color-border);background:0 0}.driver-popover.sgspcw-tour .driver-popover-prev-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.driver-popover.sgspcw-tour .driver-popover-close-btn{color:var(--color-text-muted);transition:var(--motion-control)}.driver-popover.sgspcw-tour .driver-popover-close-btn:hover{color:var(--color-text)}.driver-overlay path{stroke:var(--color-primary);stroke-width:3px;stroke-linejoin:round}.tour-focus{box-shadow:0 0 0 3px var(--color-surface-solid), 0 0 0 6px var(--color-primary), 0 0 14px 3px rgba(var(--color-primary-rgb), .45)}@media (prefers-reduced-motion:no-preference){.tour-focus{animation:tourBtnPulse 1.5s var(--ease-standard) infinite}}@keyframes tourBtnPulse{0%,to{box-shadow:0 0 0 3px var(--color-surface-solid), 0 0 0 5px var(--color-primary), 0 0 10px 2px rgba(var(--color-primary-rgb), .35)}50%{box-shadow:0 0 0 3px var(--color-surface-solid), 0 0 0 7px var(--color-primary), 0 0 18px 4px rgba(var(--color-primary-rgb), .55)}}.data-table .tour-col-focus{background:rgba(var(--color-primary-rgb), .13)}.data-table th.tour-col-focus{box-shadow:inset 0 0 0 2px var(--color-primary)}svg.driver-overlay{z-index:calc(var(--z-system) - 10)!important}.tour-help-fab{border-radius:var(--radius-pill);background:var(--color-primary);width:48px;height:48px;color:var(--color-on-accent);box-shadow:var(--shadow-lg), 0 0 0 4px rgba(var(--color-primary-rgb), .12);cursor:pointer;z-index:var(--z-fab);transition:var(--motion-control);border:none;justify-content:center;align-items:center;display:flex;position:fixed;bottom:clamp(16px,2vw,24px);right:clamp(16px,2vw,24px)}.tour-help-fab.is-touring{z-index:calc(var(--z-modal) - 1)}body:has(.modal-fullscreen) .tour-help-fab:not(.is-touring){top:32px;bottom:auto;right:100px}@media (max-width:767.98px){.tour-help-fab{z-index:calc(var(--z-dropdown) - 1)}}.tour-help-fab:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-xl), var(--glow-brand);transform:translateY(-1px)}.tour-help-fab:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.tour-mode-banner{z-index:var(--z-tour);align-items:center;gap:var(--gap-block);background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-pill);max-width:calc(100vw - 24px);box-shadow:var(--shadow-xl);font-family:var(--font-family);padding:7px 7px 7px 16px;display:flex;position:fixed;top:clamp(10px,1.6vw,18px);left:50%;transform:translate(-50%)}.tour-mode-banner,.tour-mode-banner *{pointer-events:auto!important}.tour-mode-banner-label{font-size:var(--font-size-sm);color:var(--color-link);white-space:nowrap;align-items:center;gap:8px;font-weight:700;display:inline-flex}.tour-mode-banner-exit{padding:var(--squish-short);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;transition:var(--motion-control);align-items:center;gap:5px;font-weight:600;display:inline-flex}.tour-mode-banner-exit:hover{background:var(--color-surface-hover);color:var(--color-danger-strong);border-color:var(--color-danger)}.tour-blocked-hint{z-index:calc(var(--z-tour) + 1);max-width:min(var(--float-w-xs), calc(100vw - 16px));background:var(--color-text-fill);color:var(--color-on-accent);border-radius:var(--radius-control);box-shadow:var(--shadow-lg);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:600;line-height:var(--leading-snug);pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);padding:8px 12px;position:fixed;transform:translateY(4px)}.tour-blocked-hint.is-in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:no-preference){.driver-popover.sgspcw-tour.tour-attn{animation:tourPopAttn .45s var(--ease-standard) 2}}@keyframes tourPopAttn{0%,to{box-shadow:var(--shadow-xl)}50%{box-shadow:0 0 0 3px var(--color-primary), var(--shadow-xl)}}.manual-head{gap:var(--gap-block);margin-bottom:var(--gap-group);align-items:flex-start;display:flex}.manual-head-icon{width:var(--icon-box-lg);height:var(--icon-box-lg);border-radius:var(--radius-card);background:var(--color-primary-50);color:var(--color-link);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.manual-title{font-size:var(--font-size-lg);color:var(--color-text);font-weight:700}.manual-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--gap-pair);line-height:var(--leading-base)}.manual-print-btn{align-items:center;gap:var(--icon-text-gap);margin-bottom:var(--gap-group);display:inline-flex}.manual-export-wrap{align-items:center;gap:var(--gap-line);margin-bottom:var(--gap-group);flex-wrap:wrap;display:flex}.manual-export-btn{align-items:center;gap:var(--icon-text-gap);display:inline-flex}.manual-export-err{font-size:var(--font-size-sm);color:var(--color-danger-strong)}.manual-section{background:var(--color-surface);border:1px solid var(--glass-border);border-radius:var(--radius-card);padding:var(--inset-card) var(--inset-roomy);margin-bottom:var(--gap-block)}.manual-section-title{align-items:center;gap:var(--icon-text-gap);font-size:var(--font-size-base);color:var(--color-link);margin-bottom:var(--gap-head);font-weight:700;display:flex}.manual-section-body{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.7}.manual-section-body>*+*{margin-top:var(--gap-block)}.manual-section-body>p+:not(p),.manual-section-body>:not(p)+p{margin-top:var(--gap-group)}.manual-section-body p{max-width:var(--prose-max);margin:0}.ashot{margin:0;position:relative}.ashot-stage{width:100%;max-width:560px;margin:0 auto;position:relative}.ashot-stage img{border-radius:var(--radius-control);border:1px solid var(--color-border);width:100%;height:auto;box-shadow:var(--shadow-sm);display:block}.ashot-dot{z-index:2;position:absolute;transform:translate(-50%,-50%)}.ashot-dot,.ashot-num{width:calc(var(--type-px) * 22);height:calc(var(--type-px) * 22);border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-accent);font-family:var(--font-family);font-size:var(--font-size-xs);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.ashot-dot{box-shadow:0 0 0 3px var(--color-surface-solid), var(--shadow-sm)}.ashot-card-title{font-size:var(--font-size-sm);color:var(--color-text);margin-bottom:var(--gap-pair);font-weight:700;display:block}.ashot-card-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.55}.ashot.is-stacked .ashot-list{margin:var(--gap-block) auto 0;gap:var(--gap-line);flex-direction:column;max-width:560px;padding:0;list-style:none;display:flex}.ashot.is-stacked .ashot-list li{gap:var(--gap-line);align-items:flex-start;display:flex}.ashot.is-desktop{--ashot-card-w:190px;--ashot-gap:30px;justify-content:center;align-items:center;gap:var(--ashot-gap);width:fit-content;max-width:100%;margin-inline:auto;display:flex}.ashot.is-desktop .ashot-stage{flex:0 1 var(--ashot-img-max,480px);min-width:0}.ashot.is-desktop .liveshot-stage{min-width:320px}.ashot-col{flex:0 0 var(--ashot-card-w);gap:var(--gap-block);flex-direction:column;display:flex}.ashot-lines{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:visible}.ashot-lines line{stroke:var(--color-primary);stroke-width:1.5px;opacity:.5}.ashot-lines circle{fill:var(--color-primary)}.ashot.is-desktop .ashot-card{z-index:3;gap:var(--gap-line);padding:var(--squish-std);background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-control);box-shadow:var(--shadow-md);align-items:flex-start;display:flex;position:relative}.ashot-card.is-hl{border:var(--border-width-emphasis) solid var(--color-primary);box-shadow:var(--shadow-lg)}.ashot-card.is-hl .ashot-num,.ashot-list li.is-hl .ashot-num{transform:scale(1.18)}.ashot-list li.is-hl{border:var(--border-width-emphasis) solid var(--color-primary);border-radius:var(--radius-control);padding:var(--inset-tight);background:var(--color-surface);box-shadow:var(--shadow-md)}.manual-linear-card.is-hl{border:var(--border-width-emphasis) solid var(--color-primary);box-shadow:var(--shadow-lg);background:var(--color-surface-solid)}.ashot.is-desktop.flank-left,.ashot.is-desktop.flank-right{--ashot-card-w:150px;--ashot-gap:22px}.ashot.is-desktop.flank-left{justify-content:flex-end}.ashot.is-desktop.flank-right{justify-content:flex-start}.manual-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.manual-table th{text-align:left;padding:var(--table-cell-pad-y) var(--table-cell-pad-x);border-bottom:var(--border-width-emphasis) solid var(--color-border)}.manual-table td{padding:var(--table-cell-pad-y) var(--table-cell-pad-x);border-bottom:1px solid var(--color-border);vertical-align:top}.manual-table td:first-child{width:42%;color:var(--color-text);font-weight:600}.manual-btn-demo{pointer-events:none;cursor:default;height:auto;min-height:0;font-size:var(--font-size-xs);border-radius:var(--radius-pill);padding:3px 10px;line-height:1.7}.manual-btn-demo.btn-secondary{padding-top:2px;padding-bottom:2px}.manual-table-badges{align-items:flex-start}.manual-table-simple td:first-child{width:62%;font-weight:400}.manual-table-note{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--gap-pair)}.manual-table-badges{gap:var(--gap-line);flex-wrap:wrap;display:flex}.manual-flow-container{align-items:center;gap:var(--gap-block);flex-direction:column;width:100%;margin:0;display:flex}.manual-flow-branch{gap:var(--gap-block);grid-template-columns:1fr 1fr;width:100%;max-width:680px;display:grid}.manual-flow-path{gap:var(--gap-head);background:var(--color-surface-hover);border:1px solid var(--glass-border);border-radius:var(--radius-card);padding:var(--inset-card);flex-direction:column;display:flex}.manual-flow-path-header{align-items:center;gap:var(--icon-text-gap);font-weight:700;font-size:var(--font-size-sm);color:var(--color-link);border-bottom:1px dashed var(--color-border);padding-bottom:var(--gap-line);margin-bottom:var(--gap-pair);display:flex}.manual-flow-sub-split{gap:var(--gap-line);width:100%;margin-top:var(--gap-line);flex-direction:column;display:flex}.manual-flow-sub-card{background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-control);padding:var(--inset-tight);gap:var(--gap-line);flex-direction:column;display:flex}.manual-flow-sub-card.highlight{border-color:var(--color-primary-100);background:var(--color-primary-50)}.manual-flow-sub-badge{padding:var(--squish-tag);border-radius:var(--radius-pill);font-size:var(--font-size-xs);align-self:flex-start;align-items:center;font-weight:700;line-height:1;display:inline-flex}.manual-flow-sub-badge.midterm{background:var(--color-border);color:var(--color-on-tint-neutral)}.manual-flow-sub-badge.final{background:var(--color-primary-100);color:var(--color-primary-dark)}@media screen{:root[data-theme=dark] .manual-flow-sub-badge.final{color:var(--color-link)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .manual-flow-sub-badge.final{color:var(--color-link)}}}.manual-flow-sub-badge.ioc{background:var(--color-warning-bg);color:var(--color-warning-strong)}.manual-flow-sub-text{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4}.manual-linear-flow{align-items:center;gap:var(--gap-pair);flex-direction:column;width:100%;max-width:480px;margin:0 auto;display:flex}.manual-linear-step{flex-direction:column;align-items:center;width:100%;display:flex}.manual-linear-card{align-items:center;gap:var(--gap-block);background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-control);padding:var(--inset-card);box-shadow:var(--shadow-sm);width:100%;display:flex}.manual-linear-icon{width:var(--icon-box-md);height:var(--icon-box-md);border-radius:var(--radius-control);background:var(--color-primary-50);color:var(--color-link);flex-shrink:0;justify-content:center;align-items:center;display:flex}.manual-linear-content{gap:var(--gap-pair);flex-direction:column;min-width:0;display:flex}.manual-linear-title{font-weight:700;font-size:var(--font-size-sm);color:var(--color-text)}.manual-linear-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.5}.manual-linear-arrow{height:28px;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.manual-flow-branch-3{gap:var(--gap-block);grid-template-columns:1fr auto 1fr;align-items:flex-start;width:100%;display:grid}.manual-branch-arrow{color:var(--color-text-muted);justify-content:center;align-items:center;margin-top:106px;display:flex;transform:rotate(0)}@media screen and (max-width:767.98px){.manual-flow-branch,.manual-flow-branch-3{gap:var(--gap-block);grid-template-columns:1fr}.manual-branch-arrow{margin-top:0;transform:rotate(90deg)}}@media print{.app-sidebar,.topbar,.app-footer,.tour-help-fab,.system-bg-orb,.sync-confirm-bar,.manual-no-print{display:none!important}.app-content{padding:0!important}html,body,.app-layout{background:var(--color-surface-solid)!important}@page{size:A4;margin:12mm}.manual-page{-webkit-print-color-adjust:exact;print-color-adjust:exact}.manual-section{border-color:var(--color-border);break-inside:avoid;padding:var(--inset-card)}.ashot.is-desktop{zoom:var(--print-zoom,1)}.ashot,.ashot-stage,.ashot-col,.manual-flow-container,.manual-flow-path,.manual-linear-flow,.manual-linear-step{break-inside:avoid}.manual-flow-container{zoom:.75}.manual-linear-flow{zoom:.85}}.sched-layout{gap:var(--gap-block);grid-template-columns:250px 1fr;align-items:start;display:grid}.sched-pool{top:calc(var(--topbar-h,60px) + var(--gap-block));z-index:var(--z-sticky);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);padding:var(--inset-tight);max-height:calc(100vh - var(--topbar-h,60px) - var(--gap-block) * 2);transition:var(--motion-surface), top var(--dur-fast) var(--ease-standard);position:sticky;overflow:auto}.sched-pool.is-drop-over{box-shadow:var(--ring-focus);border-color:var(--color-primary)}.sched-pool-item.is-ghost{opacity:.4;border-style:dashed}.sched-pool-title{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:8px;font-weight:700}.sched-pool-item{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg);cursor:grab;transition:var(--motion-surface), opacity var(--dur-fast) var(--ease-out);flex-direction:column;gap:3px;margin-bottom:6px;padding:8px 10px;display:flex}.sched-pool-item-top{justify-content:space-between;align-items:center;gap:var(--gap-line);display:flex}.sched-pool-item-name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);overflow:hidden}.sched-pool-item-dur{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;flex-shrink:0}.sched-pool-item-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sched-pool-item-rooms{font-size:var(--font-size-xs);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-weight:400;overflow:hidden}.sched-pool-shade-1{background:var(--plan-shade-1-wash);border-left:var(--border-width-bar) solid rgb(var(--plan-shade-1-rgb))}.sched-pool-shade-2{background:var(--plan-shade-2-wash);border-left:var(--border-width-bar) solid rgb(var(--plan-shade-2-rgb))}.sched-pool-shade-3{background:var(--plan-shade-3-wash);border-left:var(--border-width-bar) solid rgb(var(--plan-shade-3-rgb))}.sched-pool-shade-4{background:var(--plan-shade-4-wash);border-left:var(--border-width-bar) solid rgb(var(--plan-shade-4-rgb))}.sched-pool-shade-5{background:var(--plan-shade-5-wash);border-left:var(--border-width-bar) solid rgb(var(--plan-shade-5-rgb))}.sched-pool-item:hover{box-shadow:var(--glow-brand);border-color:var(--color-primary)}.sched-pool-item.is-blocked{cursor:not-allowed;opacity:var(--opacity-disabled)}.sched-pool-item:active{cursor:grabbing}.sched-days{gap:var(--gap-block);grid-template-columns:1fr;display:grid}.sched-days.layout-2up{grid-template-columns:repeat(2,minmax(0,1fr))}.sched-days.layout-all{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.sched-day{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);transition:var(--motion-surface);overflow:hidden}.sched-day.is-drop-target{box-shadow:var(--ring-focus-inset)}.sched-day-head{justify-content:space-between;align-items:center;gap:var(--gap-line) var(--gap-head);background:var(--color-bg);border:none;border-bottom:1px solid var(--color-border);width:100%;font-family:inherit;font-weight:700;font-size:var(--font-size-sm);color:var(--color-text);text-align:left;cursor:pointer;transition:var(--motion-surface);flex-wrap:wrap;padding:9px 12px;display:flex}.sched-day-head:hover{background:var(--color-surface-hover)}.sched-day-head:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px}.sched-day-head-date{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.sched-day-head-right{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.sched-day-chevron{color:var(--color-text-secondary);transition:var(--motion-icon)}.sched-day-chevron.is-collapsed{transform:rotate(-90deg)}.sched-loadset{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:inline-flex}.sched-load{border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.sched-load-0{background:var(--load-0-bg);color:var(--load-0-ink)}.sched-load-1{background:var(--load-1-bg);color:var(--load-1-ink)}.sched-load-2{background:var(--load-2-bg);color:var(--load-2-ink)}.sched-load-3{background:var(--load-3-bg);color:var(--load-3-ink)}.sched-load-4{background:var(--load-4-bg);color:var(--load-4-ink)}.sched-day-body{transition:grid-template-rows var(--dur-base) var(--ease-out);grid-template-rows:1fr;display:grid}.sched-day-body.is-collapsed{grid-template-rows:0fr}.sched-day-bodyinner{min-height:0;overflow:hidden}.sched-zone{transition:var(--motion-flat);position:relative}.sched-zone.is-drop-over{background:rgba(var(--color-primary-rgb), .05)}.sched-insert-line{border-top:var(--border-width-bar) solid var(--color-primary);border-radius:var(--radius-chip);height:0;box-shadow:var(--glow-brand-strong);z-index:3;pointer-events:none;position:absolute;left:8px;right:8px;transform:translateY(-2px)}.sched-insert-line:before{content:"";background:var(--color-primary);border-radius:50%;width:9px;height:9px;position:absolute;top:-6px;left:-3px}.sched-insert-chip{border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-accent);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:var(--shadow-sm);padding:2px 10px;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.sched-row.is-join-ok,.sched-examcard.is-join-ok,.sched-concur.is-join-ok{box-shadow:inset 0 0 0 2px var(--color-primary), 0 0 0 3px rgba(var(--color-primary-rgb), .18)}.sched-row.is-join-block,.sched-examcard.is-join-block,.sched-concur.is-join-block{box-shadow:inset 0 0 0 2px var(--color-danger), 0 0 0 3px rgba(var(--tone-danger-rgb), .15)}.sched-join-badge{z-index:2;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-accent);font-size:var(--font-size-xs);white-space:nowrap;box-shadow:var(--shadow-sm);align-items:center;gap:4px;padding:3px 9px;font-weight:700;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sched-join-badge.is-block{background:var(--color-danger)}.sched-origin{opacity:.45;outline:1.5px dashed var(--color-primary);outline-offset:-2px;border-radius:var(--radius-control)}.sched-day-head.is-expand-pending{box-shadow:inset 0 0 0 2px var(--color-primary)}.sched-expand-hint{font-size:var(--font-size-xs);color:var(--color-link);animation:schedExpandPulse 1s var(--ease-out) infinite;font-weight:600}@keyframes schedExpandPulse{50%{opacity:.45}}.sched-zone-empty.is-previewing{opacity:var(--opacity-scrim);transition:var(--motion-fade)}.sched-levelsum-slot{min-width:0}.sched-levelsum{margin-bottom:var(--gap-line);border-radius:var(--radius-control);border-left:var(--border-width-bar) solid var(--color-warning);background:rgba(var(--tone-warning-rgb), .06);color:var(--color-warning-strong);font-size:var(--font-size-xs);flex-wrap:wrap;align-items:center;gap:8px;padding:9px 12px;font-weight:600;display:flex}.sched-levelsum.is-ok{border-left-color:var(--color-success);background:rgba(var(--tone-success-rgb), .06);color:var(--color-on-tint-success)}.sched-levelsum-text{flex:auto;min-width:0}.sched-levelsum-actions{gap:var(--gap-line);display:inline-flex}.sched-pool-tools{align-items:center;gap:var(--gap-line);flex-wrap:wrap;margin:2px 0 8px;display:flex}.sched-pool-search{border:1px solid var(--color-border-control);border-radius:var(--radius-pill);background:var(--color-surface);min-width:0;color:var(--color-text-secondary);transition:var(--motion-control);flex:130px;align-items:center;gap:5px;padding:4px 9px;display:inline-flex}.sched-pool-search input{min-width:0;font-size:var(--font-size-xs);color:var(--color-text);background:0 0;border:none;outline:none;flex:1}.sched-pool-search:focus-within{border-color:var(--color-primary);box-shadow:var(--ring-focus)}.sched-pool-plans{margin-bottom:8px}.sched-pool-plans-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:4px;font-weight:600;display:block}.sched-pool-plans-row{flex-wrap:wrap;gap:4px;display:flex}.sched-plan-pill{font-variant-numeric:tabular-nums;transition:var(--motion-control), opacity var(--dur-fast) var(--ease-out)}.sched-plan-pill[data-shade="0"]{--pill-accent:var(--color-primary);--pill-wash:rgba(var(--color-primary-rgb), .08);--pill-ring:rgba(var(--color-primary-rgb), .14)}.sched-plan-pill[data-shade="1"]{--pill-accent:rgb(var(--plan-shade-1-rgb));--pill-wash:var(--plan-shade-1-wash);--pill-ring:rgba(var(--plan-shade-1-rgb), .16)}.sched-plan-pill[data-shade="2"]{--pill-accent:rgb(var(--plan-shade-2-rgb));--pill-wash:var(--plan-shade-2-wash);--pill-ring:rgba(var(--plan-shade-2-rgb), .16)}.sched-plan-pill[data-shade="3"]{--pill-accent:rgb(var(--plan-shade-3-rgb));--pill-wash:var(--plan-shade-3-wash);--pill-ring:rgba(var(--plan-shade-3-rgb), .18)}.sched-plan-pill[data-shade="4"]{--pill-accent:rgb(var(--plan-shade-4-rgb));--pill-wash:var(--plan-shade-4-wash);--pill-ring:rgba(var(--plan-shade-4-rgb), .16)}.sched-plan-dot{background:var(--pill-accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.sched-plan-count{color:var(--color-text-secondary);transition:var(--motion-flat);font-weight:600}.sched-plan-pill:hover:not(:disabled):not(.is-on){border-color:var(--pill-accent);box-shadow:0 0 0 3px var(--pill-ring)}.sched-plan-pill.is-on{background:var(--pill-accent);border-color:var(--pill-accent);color:var(--color-on-accent)}.sched-plan-pill.is-on .sched-plan-count{color:var(--color-on-accent)}.sched-plan-pill.is-on .sched-plan-dot{background:var(--color-on-accent)}.sched-plan-pill:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.sched-plan-pill:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}@media (prefers-reduced-motion:reduce){.sched-expand-hint{animation:none}}.sched-zone-head{font-size:var(--font-size-xs);color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:8px;padding:6px 12px 2px;font-weight:700;display:flex}.sched-zone-anchor{color:var(--color-text-secondary);font-weight:600}.sched-zone-empty{padding:var(--inset-card);text-align:center;font-size:var(--font-size-xs);color:var(--color-text-secondary);border:1px dashed var(--color-border);border-radius:var(--radius-control);margin:4px 12px 8px}.sched-concur{border:1px solid var(--color-border);border-left:var(--border-width-bar) solid var(--color-primary);border-radius:var(--radius-control);background:rgba(var(--color-primary-rgb), .035);transition:var(--motion-surface);margin:2px 0;position:relative;overflow:hidden}.sched-concur.is-compact{margin:2px 8px}.sched-concur .sched-row{padding-left:9px;padding-right:11px}.sched-concur .sched-row,.sched-concur .sched-examcard{background:0 0}.sched-concur .sched-row:last-of-type{border-bottom:none}.sched-concur .sched-examcard{border:none;border-bottom:1px solid var(--color-border-light);border-radius:0;margin:0}.sched-concur-head{font-size:var(--font-size-xs);color:var(--color-link);background:rgba(var(--color-primary-rgb), .06);transition:var(--motion-surface);align-items:center;gap:5px;padding:4px 11px 4px 9px;font-weight:600;display:flex}.sched-concur-head.is-draggable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.sched-concur-head.is-draggable:hover{background:rgba(var(--color-primary-rgb), .12)}.sched-concur-head.is-draggable:active{cursor:grabbing}.sched-concur-head.is-draggable:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px}.sched-concur-grip{opacity:.5;flex-shrink:0}.sched-pin-btn{border-radius:var(--radius-control);background:rgba(var(--color-primary-rgb), .1);color:var(--color-link);cursor:pointer;transition:var(--motion-control), opacity var(--dur-fast) var(--ease-out);border:none;justify-content:center;align-items:center;margin-left:2px;padding:2px;line-height:0;display:inline-flex}.sched-pin-btn:hover:not(:disabled){background:rgba(var(--color-primary-rgb), .2)}.sched-pin-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.sched-slot-connector{justify-content:center;padding:1px 0;display:flex}.sched-slot-join{border:1px dashed var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:var(--motion-control);align-items:center;gap:4px;padding:2px 10px;display:inline-flex}.sched-slot-join:hover{color:var(--color-link);border-color:var(--color-primary)}@media (hover:hover){.sched-slot-connector .sched-slot-join{opacity:0;pointer-events:none;transition:var(--motion-control), opacity var(--dur-fast) var(--ease-out)}.sched-slot-connector:hover .sched-slot-join,.sched-slot-connector .sched-slot-join:focus-visible{opacity:1;pointer-events:auto}}.sched-undobar{gap:var(--gap-line);margin-bottom:var(--gap-line);display:flex}.sched-row{align-items:center;gap:var(--gap-line) var(--gap-block);border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm);background:var(--color-surface);transition:var(--motion-surface), opacity var(--dur-fast) var(--ease-out);grid-template-columns:minmax(102px,124px) 62px minmax(0,1.7fr) minmax(0,1.15fr) auto;padding:9px 12px;display:grid;position:relative}.sched-row.is-dragging{z-index:1}.sched-row.is-replace-target,.sched-examcard.is-replace-target{box-shadow:inset 0 0 0 2px var(--color-primary), 0 0 0 3px rgba(var(--color-primary-rgb), .18);background:var(--color-surface)}.sched-row>*,.sched-examcard>*{transition:var(--motion-fade)}.sched-row.is-replace-target>:not(.sched-row-replace-badge),.sched-examcard.is-replace-target>:not(.sched-row-replace-badge){opacity:.22}.sched-row-replace-badge{z-index:2;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-accent);font-size:var(--font-size-xs);box-shadow:var(--shadow-sm);align-items:center;gap:4px;padding:3px 9px;font-weight:700;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sched-row-grip{color:var(--color-text-muted,var(--color-text-secondary));cursor:grab;vertical-align:-3px;transition:var(--motion-control);background:0 0;border:none;align-items:center;margin-right:2px;padding:0;display:inline-flex}.sched-row-grip:active{cursor:grabbing}.sched-row-grip:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;border-radius:var(--radius-control)}.sched-row-rangeend{color:var(--color-text-secondary);font-weight:400}.sched-time-cell{font:inherit;font-variant-numeric:tabular-nums;color:var(--color-text);border-radius:var(--radius-control);cursor:text;transition:var(--motion-control);background:0 0;border:1px solid #0000;margin:-1px -2px;padding:1px 5px;font-weight:600}.sched-time-cell:hover:not(:disabled){border-color:var(--color-primary)}.sched-time-cell:disabled{cursor:not-allowed}.sched-time-input{width:92px;font:inherit;font-variant-numeric:tabular-nums;border-radius:var(--radius-control);border:var(--border-width) solid var(--color-primary);background:var(--color-bg);color:var(--color-text);box-shadow:var(--ring-focus);outline:none;padding:2px 6px}.sched-drag-overlay{align-items:center;gap:var(--icon-text-gap);border:1px solid var(--color-primary);border-radius:var(--radius-control);background:var(--color-surface);max-width:260px;font-size:var(--font-size-sm);box-shadow:var(--shadow-overlay);cursor:grabbing;padding:9px 12px;display:inline-flex;transform:rotate(1.5deg)scale(1.02)}.sched-drag-overlay-name{text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.sched-drag-overlay-dur{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;flex-shrink:0}.sched-drag-overlay-group .sched-drag-overlay-name{flex-direction:column;gap:1px;display:flex}.sched-drag-overlay-members{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary);font-weight:400;font-size:var(--font-size-xs);overflow:hidden}.sched-save-slot{min-width:0;display:inline-flex}.sched-save-status{font-size:var(--font-size-xs);color:var(--color-text-secondary);align-items:center;gap:5px;min-width:0;display:inline-flex}.sched-row:last-child{border-bottom:none}.sched-row.is-error{background:rgba(var(--tone-danger-rgb), .06)}.sched-row-time{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:1px;font-weight:600;display:inline-flex}.sched-row-range{font-weight:600}.sched-row-durcol{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.sched-row-code{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.sched-row-subject{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sched-row.is-editable{cursor:grab;padding-top:12px;padding-bottom:12px}.sched-row.is-editable:hover{background:var(--color-surface-hover)}.sched-row.is-editable:active{cursor:grabbing}.sched-row-roomcell{min-width:0}.sched-row-rooms{color:var(--color-text);font-weight:400;font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sched-row-teachers{min-width:0;display:inline-flex}.sched-row-actions{flex-shrink:0;gap:4px;display:inline-flex}@media (hover:hover){.sched-row .sched-row-actions,.sched-examcard .sched-examcard-actions{z-index:5;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:var(--motion-fade);grid-area:auto;margin-left:0;padding:2px 5px;position:absolute;top:-11px;right:10px}.sched-row:hover .sched-row-actions,.sched-row:focus-within .sched-row-actions,.sched-examcard:hover .sched-examcard-actions,.sched-examcard:focus-within .sched-examcard-actions{opacity:1;pointer-events:auto}}.sched-room-chips{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.sched-room-chip{border-radius:var(--radius-pill);background:var(--color-primary-50,rgba(var(--color-primary-rgb), .08));color:var(--color-link);font-size:var(--font-size-xs);white-space:nowrap;align-items:center;padding:1px 7px;font-weight:600;display:inline-flex}.sched-lunch{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-secondary);background:rgba(var(--tone-black-rgb), .025);border-bottom:1px solid var(--color-border-light);padding:6px 12px}.sched-day-foot{font-size:var(--font-size-xs);padding:8px 12px}.sched-roomstrip{border-top:1px dashed var(--color-border);flex-wrap:wrap;gap:4px 10px;padding:8px 12px;display:flex}.sched-roomstrip-item{font-size:var(--font-size-xs);color:var(--color-text-secondary);transition:var(--motion-flat);align-items:center;gap:4px;display:inline-flex}.sched-roomstrip-item.is-clash{color:var(--color-danger-strong);font-weight:600}.sched-empty-day{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-secondary);padding:18px 12px}.icon-btn{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;transition:var(--motion-control);justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.icon-btn.tone-success{background:rgba(var(--tone-success-rgb), .12);color:var(--color-success-strong);border-color:#0000}.icon-btn.tone-success:hover:not(:disabled){background:rgba(var(--tone-success-rgb), .2);color:var(--color-success-strong)}.icon-btn.tone-danger{background:rgba(var(--tone-danger-rgb), .1);color:var(--color-danger-strong);border-color:#0000}.icon-btn.tone-danger:hover:not(:disabled){background:rgba(var(--tone-danger-rgb), .18);color:var(--color-danger-strong)}.icon-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.icon-btn:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.fixed-grade-badge{padding:var(--squish-short);border-radius:var(--radius-control);background:var(--color-bg);color:var(--color-text);font-weight:700;line-height:var(--leading-snug);justify-content:center;align-items:center;display:inline-flex}.grade-code-legend{gap:var(--gap-line) var(--gap-block);margin:var(--gap-line) 0 0;font-size:var(--font-size-xs);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.grade-code-legend-item b{color:var(--color-text-secondary);font-weight:700}.icon-tile{border-radius:var(--radius-pill);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;transition:var(--motion-control);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.icon-tile:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.icon-tile:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.sched-icon-toggle{border:1px solid var(--color-border);border-radius:var(--radius-control);display:inline-flex}.sched-icon-toggle button:first-child{border-top-left-radius:calc(var(--radius-control) - 1px);border-bottom-left-radius:calc(var(--radius-control) - 1px)}.sched-icon-toggle button:last-child{border-top-right-radius:calc(var(--radius-control) - 1px);border-bottom-right-radius:calc(var(--radius-control) - 1px)}.sched-icon-toggle button{width:32px;height:31px;color:var(--color-text-secondary);cursor:pointer;transition:var(--motion-control);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.sched-icon-toggle button:hover:not(.is-on){background:var(--color-surface-hover);color:var(--color-link)}.sched-icon-toggle button.is-on{background:var(--color-primary);color:var(--color-on-accent)}.sched-icon-toggle button:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px}.sched-roompick{transition:var(--motion-control)}.sched-roompick:hover:not(.is-on){border-color:var(--color-primary);color:var(--color-link)}.sched-roompick:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.sched-adddaybtn{align-items:center;gap:var(--icon-text-gap);border:1px dashed var(--color-border);border-radius:var(--radius-control);color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:var(--motion-control), opacity var(--dur-fast) var(--ease-out);background:0 0;margin-bottom:14px;padding:6px 12px;display:inline-flex}.sched-adddaybtn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-link)}.sched-adddaybtn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.sched-adddaybtn:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.sched-day-finish{font-weight:600;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.sched-timeline{border-bottom:1px solid var(--color-border-light);padding:18px 12px 10px}.sched-tl-track{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-control);height:30px;position:relative}.sched-tl-lunch{background:repeating-linear-gradient(-45deg, rgba(var(--tone-black-rgb), .04), rgba(var(--tone-black-rgb), .04) 4px, transparent 4px, transparent 8px);pointer-events:none;position:absolute;top:0;bottom:0}.sched-tl-tick{background:var(--color-border-light);pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.sched-tl-tick-label{font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;color:var(--color-text-secondary);position:absolute;top:-15px;left:0;transform:translate(-50%)}.sched-tl-mark{pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.sched-tl-mark.soft{background:rgba(var(--tone-warning-rgb), .45)}.sched-tl-mark.hard{background:rgba(var(--tone-danger-rgb), .5)}.sched-tl-block{border-radius:var(--radius-control);background:var(--color-primary);min-width:3px;color:var(--color-on-accent);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;box-shadow:var(--shadow-sm);transition:var(--motion-flat);align-items:center;padding:0 6px;display:flex;position:absolute;overflow:hidden}.sched-tl-block>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sched-tl-secs{margin-left:5px;font-weight:400}.sched-tl-block.is-clash{background:var(--color-danger);outline:1.5px solid var(--color-surface-solid);z-index:2}.sched-tl2{border-bottom:1px solid var(--color-border-light);flex-direction:column;gap:16px;padding:18px 12px 10px;display:flex}.sched-tl2-tier{align-items:stretch;gap:8px;display:flex}.sched-tl2-label{width:calc(var(--type-px) * 26);font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-shrink:0;align-self:center;font-weight:700}.sched-tl2-track{flex:1;min-width:0}@media (max-width:1023.98px){.sched-layout{grid-template-columns:1fr}.sched-pool{max-height:none;position:static}.sched-days.layout-2up,.sched-days.layout-all{grid-template-columns:1fr}}@media (max-width:640.98px){.sched-row{grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"time dur subject actions""rooms rooms rooms teachers";gap:4px 10px}.sched-row-time{grid-area:time}.sched-row-durcol{grid-area:dur}.sched-row-subject{grid-area:subject}.sched-row-actions{grid-area:actions}.sched-row-roomcell{grid-area:rooms}.sched-row-teachers{grid-area:teachers;place-self:center end}}.sched-board-stack{gap:var(--gap-block);flex-direction:column;display:flex}.sched-main-col{gap:var(--gap-block);flex-direction:column;min-width:0;display:flex}.sched-pool-empty{font-size:var(--font-size-xs);color:var(--color-text-secondary);padding:6px 2px}.sched-pool-strip{align-items:center;gap:var(--gap-line);flex-wrap:wrap;max-height:none;display:flex;position:static}.sched-pool-strip .sched-pool-title{margin:0 4px 0 0}.sched-pool-strip .sched-pool-item{width:clamp(150px,22%,220px);margin:0}.sched-pool-strip .sched-pool-empty{padding:6px}.sched-examcard{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);font-size:var(--font-size-sm);transition:background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard), opacity var(--dur-fast) var(--ease-out);margin:6px 8px;padding:8px 10px;position:relative}.sched-examcard.is-error{--border-tone-rgb:var(--tone-danger-rgb);background:rgba(var(--border-tone-rgb), .06);border-color:rgba(var(--border-tone-rgb), .3)}.sched-examcard.is-replace-target{box-shadow:inset 0 0 0 2px var(--color-primary), 0 0 0 3px rgba(var(--color-primary-rgb), .18);background:var(--color-selected-bg,rgba(var(--color-primary-rgb), .07))}.sched-examcard.is-dragging{z-index:1}.sched-examcard-top{align-items:center;gap:var(--gap-line);display:flex}.sched-examcard-time{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:1px;font-weight:600;display:inline-flex}.sched-examcard-dur{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums}.sched-examcard-actions{gap:4px;margin-left:auto;display:inline-flex}.sched-examcard-name{line-height:var(--leading-snug);margin-top:3px}.sched-examcard-rooms{color:var(--color-text);font-weight:400;font-size:var(--font-size-xs);margin-top:2px}.sched-examcard-teachers{margin-top:4px}.sched-heat{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);padding:var(--inset-card)}.sched-heat-title{font-size:var(--font-size-sm);color:var(--color-text);align-items:center;gap:5px;margin-bottom:8px;font-weight:700;display:flex}.sched-heat-sub{font-weight:400;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.sched-heat-scroll{overflow-x:auto}.sched-heat-table{border-collapse:separate;border-spacing:4px;font-size:var(--font-size-xs);width:100%}.sched-heat-table th{white-space:nowrap;text-align:center;padding:0 4px}.sched-heat-table th[scope=row]{text-align:right;width:1%;color:var(--color-text)}.sched-heat-cell{box-sizing:border-box;border-radius:var(--radius-control);text-align:center;font-variant-numeric:tabular-nums;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:100%;min-width:78px;padding:4px 6px;font-weight:600;display:flex}.sched-heat-stat{box-sizing:border-box;border-radius:var(--radius-pill);width:100%;line-height:var(--leading-snug);white-space:nowrap;justify-content:center;align-items:center;gap:3px;padding:1px 8px;display:inline-flex}.sched-heat-stat svg{opacity:var(--opacity-muted);flex-shrink:0}.sched-heat-empty{color:var(--color-text-secondary);font-weight:400}.sig-method-toggle{gap:var(--gap-pair);margin-bottom:var(--gap-block);display:flex}.sig-method-btn{justify-content:center;align-items:center;gap:var(--icon-text-gap);min-width:0;padding:var(--squish-std);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:var(--motion-control);flex:1 1 0;font-weight:600;display:inline-flex}.sig-method-btn:hover{border-color:var(--color-primary)}.sig-method-btn.active{border-color:var(--color-primary);background:var(--color-selected-bg);color:var(--color-link)}.sig-hint{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0 0 var(--gap-line)}.sig-draw-wrap{border:1px solid var(--color-border);border-radius:var(--radius-card);background:linear-gradient(to bottom, transparent calc(72% - 1px), var(--color-border) 72%, transparent calc(72% + 1px)), var(--color-bg);overflow:hidden}.sig-draw-canvas{aspect-ratio:3;touch-action:none;cursor:crosshair;background:0 0;width:100%;display:block}.sig-tools{gap:var(--gap-line);margin-top:var(--gap-line);display:flex}.sig-pick-zone{justify-content:center;align-items:center;gap:var(--gap-line);text-align:center;padding:var(--inset-roomy) var(--inset-card);border:var(--border-width-emphasis) dashed var(--color-border);border-radius:var(--radius-card);background:rgba(var(--tone-pending-rgb), .04);cursor:pointer;transition:var(--motion-control);flex-direction:column;display:flex}.sig-pick-zone:hover{border-color:var(--color-primary);background:var(--color-selected-bg)}.sig-pick-icon{width:var(--icon-box-md);height:var(--icon-box-md);border-radius:var(--radius-pill);background:var(--color-selected-bg);color:var(--color-link);justify-content:center;align-items:center;display:inline-flex}@media screen{:root[data-theme=dark] .sig-draw-wrap.paper{background:linear-gradient(to bottom, transparent calc(72% - 1px), var(--color-border) 72%, transparent calc(72% + 1px)), var(--color-surface-solid)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sig-draw-wrap.paper{background:linear-gradient(to bottom, transparent calc(72% - 1px), var(--color-border) 72%, transparent calc(72% + 1px)), var(--color-surface-solid)}}:root[data-theme=dark] .sig-crop-stage.paper{background:linear-gradient(var(--color-surface-alt), var(--color-surface-alt)), var(--color-surface-solid)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sig-crop-stage.paper{background:linear-gradient(var(--color-surface-alt), var(--color-surface-alt)), var(--color-surface-solid)}}}.sig-preview{min-height:90px;padding:var(--inset-card);border:1px solid var(--color-border);border-radius:var(--radius-card);background-color:var(--color-surface-solid);background-image:linear-gradient(45deg, var(--color-border) 25%, transparent 25%), linear-gradient(-45deg, var(--color-border) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--color-border) 75%), linear-gradient(-45deg, transparent 75%, var(--color-border) 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;justify-content:center;align-items:center;display:flex}.sig-preview-canvas{max-width:100%;height:auto;max-height:200px;display:block}.sig-slider-row{align-items:center;gap:var(--gap-line);margin-top:var(--gap-head);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex}.sig-slider-row input[type=range]{min-width:0;accent-color:var(--color-primary);flex:auto}.sig-crop-stage{box-sizing:content-box;height:clamp(180px,34vh,280px);max-height:clamp(180px,34vh,280px);padding:var(--inset-tight);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-alt);overflow:auto}.sig-crop-inner{margin:0 auto;position:relative}.sig-crop-img{width:100%;height:100%;display:block}.sig-hint-gap{margin-top:var(--gap-block)}.sig-shadow-row{margin-top:var(--gap-line)}.sig-repick-inline{display:none}.photo-crop-row{align-items:flex-start;gap:var(--gap-block);margin-bottom:var(--gap-line);display:flex}.photo-crop-main{flex:auto;min-width:0}.photo-crop-aside{align-items:center;gap:var(--gap-pair);flex-direction:column;flex:none;display:flex}.photo-crop-preview{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:50%;width:96px;height:96px;display:block;overflow:hidden}.photo-crop-preview-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:center}@media (max-width:767.98px){.modal-fullscreen .photo-body{flex-direction:column;min-height:0;display:flex}.modal-fullscreen .photo-crop-edit{flex-direction:column;flex:auto;min-height:0;display:flex}.modal-fullscreen .photo-crop-row{flex-direction:column;flex:auto;align-items:stretch;min-height:0}.modal-fullscreen .photo-crop-main{flex-direction:column;flex:auto;min-height:0;display:flex}.modal-fullscreen .photo-crop-main .sig-crop-stage{flex:auto;height:auto;min-height:160px;max-height:none}.modal-fullscreen .photo-crop-main .sig-crop-inner{margin:auto}.modal-fullscreen .photo-crop-aside{justify-content:center;align-items:center;gap:var(--gap-line);flex-direction:row}.modal-fullscreen .photo-crop-preview{width:64px;height:64px}.modal-fullscreen .photo-crop-edit .sig-tools,.modal-fullscreen .photo-crop-edit .sig-btn-label{display:none}.modal-fullscreen .sig-body{flex-direction:column;min-height:0;display:flex}.modal-fullscreen .sig-photo-edit{flex-direction:column;flex:auto;min-height:0;display:flex}.modal-fullscreen .sig-photo-edit .sig-crop-stage{flex:auto;height:auto;min-height:160px;max-height:none}.modal-fullscreen .sig-photo-edit .sig-crop-inner{margin:auto}.modal-fullscreen .sig-photo-edit .sig-result-block{order:9}.modal-fullscreen .sig-photo-edit .sig-result-block .sig-preview{min-height:64px;padding:var(--inset-tight)}.modal-fullscreen .sig-photo-edit .sig-result-block .sig-preview-canvas{max-height:56px}.modal-fullscreen .sig-photo-edit .sig-hint-gap{margin-top:var(--gap-line)}.modal-fullscreen .sig-repick-inline{display:inline-flex}.modal-fullscreen .sig-pick-zone{flex:auto}.modal-fullscreen .sig-photo-edit .sig-tools,.modal-fullscreen .sig-photo-edit .sig-btn-label{display:none}}.stamp-grid{gap:var(--gap-group);grid-template-columns:minmax(0,1.5fr) minmax(320px,.82fr);align-items:stretch;display:grid}@media (max-width:1023.98px){.stamp-grid{grid-template-columns:1fr}}.stamp-preview-col{min-width:0}.stamp-stage{scrollbar-gutter:stable;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg);justify-content:center;width:100%;max-height:calc(95dvh - 185px);display:flex;overflow:auto}@media screen{:root[data-theme=dark] .stamp-stage.paper{background:var(--color-page-wash)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .stamp-stage.paper{background:var(--color-page-wash)}}}.stamp-page{flex:none;margin:auto;position:relative}.stamp-canvas{display:block}.stamp-subject{background:var(--color-bg)}.stamp-footer{align-items:center;gap:var(--gap-block);flex-wrap:wrap;display:flex}.stamp-footer__nav{justify-content:center;align-items:center;gap:var(--gap-head);flex-wrap:wrap;flex:auto;min-width:0;display:flex}.stamp-footer__actions{gap:var(--gap-line);flex-shrink:0;display:flex}.stamp-qr-img{object-fit:contain;background:var(--color-surface-solid);pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.sig-preview-block{pointer-events:none;background:0 0;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.sig-preview-block.is-opaque{background:rgb(var(--tone-white-rgb))}.sig-preview-grid{flex:auto;min-height:0;display:grid}.sig-preview-cell{flex-direction:column;align-items:center;min-width:0;min-height:0;display:flex;overflow:hidden}.sig-preview-sigarea{flex:1 1 0;justify-content:center;align-items:flex-end;width:100%;min-height:0;display:flex}.sig-preview-sig{border-bottom:1px solid #55555580;justify-content:center;align-items:flex-end;width:fit-content;max-width:100%;height:100%;display:flex}.sig-preview-sig img{object-fit:contain;display:block}.sig-preview-name{color:var(--color-panel-dark);flex:none}.sig-preview-role{color:#666;flex:none}.stamp-signers ul{margin:var(--gap-line) 0 0;gap:var(--gap-pair);flex-direction:column;padding:0;list-style:none;display:flex}.stamp-signers li{font-size:var(--font-size-xs)}.drag-box{box-sizing:border-box;border:var(--border-width-emphasis) dashed;border-radius:var(--radius-chip);background:rgba(var(--tone-white-rgb), .06);cursor:move;touch-action:none;position:absolute}.drag-box__label{font-size:var(--font-size-xs);color:var(--color-on-accent);padding:var(--squish-len-2) var(--gap-pair);border-radius:var(--radius-chip);white-space:nowrap;pointer-events:none;font-weight:700;position:absolute;top:-9px;left:4px}.drag-box__handle{border-radius:var(--radius-chip);cursor:nwse-resize;touch-action:none;border:var(--border-width-emphasis) solid var(--color-surface-solid);width:14px;height:14px;position:absolute;bottom:-6px;right:-6px}.stamp-pager{justify-content:center;align-items:center;gap:var(--gap-head);margin-bottom:var(--gap-line);flex-wrap:wrap;display:flex}.stamp-zoom{align-items:center;gap:var(--icon-text-gap);display:inline-flex}.stamp-zoom .stamp-chip{justify-content:center;align-items:center;height:28px;display:inline-flex}.stamp-controls{gap:var(--gap-group);flex-direction:column;display:flex}.stamp-controls section{border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--inset-card)}.stamp-h3{align-items:center;gap:var(--icon-text-gap);font-size:var(--font-size-sm);margin:0 0 var(--gap-line);font-weight:700;display:flex}.stamp-row{justify-content:space-between;align-items:center;gap:var(--gap-line);font-size:var(--font-size-sm);margin-bottom:var(--gap-line);display:flex}.stamp-row input[type=range]{min-width:0;accent-color:var(--color-primary);flex:auto}.stamp-row select{padding:var(--squish-chip);border:1px solid var(--color-border-control);border-radius:var(--radius-control);background:var(--color-surface);font-size:var(--font-size-sm)}.stamp-skip{margin-top:var(--gap-line)}.stamp-skip__pages{gap:var(--gap-line);margin-top:var(--gap-line);flex-wrap:wrap;display:flex}.stamp-corners{align-items:center;gap:var(--gap-line);flex-wrap:wrap;display:flex}.stamp-chip{min-width:26px;transition:var(--motion-control)}.stamp-chip:hover:not(.active){border-color:var(--color-primary)}.stamp-toggle{align-items:center;gap:var(--icon-text-gap);font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;margin-left:auto;font-weight:600;display:inline-flex}.stamp-toggle input{accent-color:var(--color-primary)}.stamp-signers{margin-top:var(--gap-line)}.stamp-signers>div{gap:var(--gap-line);margin-top:var(--gap-line);flex-wrap:wrap;display:flex}.stamp-signer{font-size:var(--font-size-xs);padding:var(--squish-tag);border-radius:var(--radius-pill);background:var(--color-primary-50);color:var(--color-link)}.signsheet-fieldwrap{container-type:inline-size}.signsheet-fields{gap:var(--gap-block);margin-bottom:var(--gap-block);grid-template-columns:minmax(0,1fr);display:grid}@container (min-width:460px){.signsheet-fields{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}.eday-grid-front{text-align:center;font-size:var(--font-size-xs);letter-spacing:.02em;color:var(--color-on-accent);background:var(--color-text-fill);border-radius:var(--radius-control);padding:var(--squish-short);margin:0 auto var(--gap-line);max-width:520px;font-weight:600}.eday-grid{gap:var(--gap-line);grid-template-columns:repeat(9,minmax(0,1fr));max-width:520px;margin:0 auto;display:grid}.eday-cell{aspect-ratio:1;border-radius:var(--radius-control);font:inherit;font-weight:700;font-size:var(--font-size-sm);cursor:pointer;transition:var(--motion-surface);justify-content:center;align-items:center;min-width:0;padding:0;display:flex}.eday-cell.is-empty{border:1.5px dashed var(--color-text-muted);color:#0000;background:0 0}.eday-cell.is-seat{border:1.5px solid var(--color-primary);background:var(--color-selected-bg);color:var(--color-link)}.eday-cell.is-desk{border:1.5px solid var(--color-primary);background:var(--color-primary);color:var(--color-on-accent)}.eday-cell.is-invalid{border-color:var(--color-danger);background:rgba(var(--tone-danger-rgb), .1);color:var(--color-danger-strong)}.eday-cell:not(:disabled):hover{box-shadow:var(--glow-brand);transform:translateY(-1px)}.eday-cell:not(:disabled):active{transition-duration:var(--dur-press);transform:scale(.94)}.eday-cell.is-glow{animation:eday-glow .7s var(--ease-out)}@keyframes eday-glow{0%{box-shadow:0 0 0 0 rgba(var(--color-primary-rgb), .55)}to{box-shadow:0 0 0 12px rgba(var(--color-primary-rgb), 0)}}.eday-statusbar{z-index:var(--z-sticky);align-items:center;gap:var(--gap-line);padding:var(--squish-len-10) var(--squish-len-14);border-radius:var(--radius-control);margin-bottom:var(--gap-block);border:1px solid var(--color-primary);background:var(--color-primary-50);color:var(--color-link);display:flex;position:sticky;top:0}.eday-statusbar.is-move{border-color:var(--color-warning);background:rgba(var(--tone-warning-rgb), .12);color:var(--color-warning-strong)}.eday-statusbar.is-done{border-color:var(--color-success);background:rgba(var(--tone-success-rgb), .12);color:var(--color-on-tint-success)}.eday-statusbar-icon{flex-shrink:0;display:inline-flex}.eday-cell-popup-anchor{z-index:var(--z-popover);position:fixed}.eday-cell-popup{background:var(--color-surface);min-width:168px;max-width:calc(100vw - 16px);-webkit-backdrop-filter:var(--glass-blur-strong);backdrop-filter:var(--glass-blur-strong);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-overlay);padding:var(--inset-tight);gap:var(--gap-pair);flex-direction:column;display:flex}.eday-cell-popup-title{font-size:var(--font-size-sm);padding:var(--squish-len-6) var(--squish-len-10) var(--gap-pair);flex-direction:column;font-weight:700;display:flex}.eday-cell-popup-name{font-weight:400;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.eday-cell-popup button{justify-content:center;align-items:center;gap:var(--gap-line);font:inherit;font-size:var(--font-size-sm);padding:var(--squish-std);border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-control);cursor:pointer;color:var(--color-text);transition:var(--motion-control);font-weight:600;display:flex}.eday-cell-popup button:hover{background:var(--color-surface-hover)}.eday-cell-popup button.is-move{border-color:var(--border-brand);background:rgba(var(--color-primary-rgb), .08);color:var(--color-link)}.eday-cell-popup button.is-danger{--border-tone-rgb:var(--tone-danger-rgb);border-color:rgba(var(--border-tone-rgb), .3);background:rgba(var(--border-tone-rgb), .06);color:var(--color-danger-strong)}.eday-cell-popup button.is-move:hover{background:rgba(var(--color-primary-rgb), .16)}.eday-cell-popup button.is-danger:hover{background:rgba(var(--tone-danger-rgb), .13)}.eday-builder-actions{justify-content:space-between;align-items:center;gap:var(--gap-line);flex-wrap:wrap;display:flex}.eday-builder-tools{align-items:center;gap:var(--gap-line);flex-wrap:wrap;display:flex}.eday-undo-group{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);display:inline-flex}.eday-undo-group>:first-child{border-top-left-radius:calc(var(--radius-control) - 1px);border-bottom-left-radius:calc(var(--radius-control) - 1px)}.eday-undo-group>:last-child{border-top-right-radius:calc(var(--radius-control) - 1px);border-bottom-right-radius:calc(var(--radius-control) - 1px)}.eday-undo-btn{width:40px;height:38px;color:var(--color-text-secondary);cursor:pointer;transition:var(--motion-control);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.eday-undo-btn+.eday-undo-btn{border-left:1px solid var(--color-border)}.eday-undo-btn:not(:disabled):hover{background:rgba(var(--color-primary-rgb), .08);color:var(--color-link)}.eday-undo-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}@media (max-width:640.98px){.eday-builder-actions>.btn-primary{flex:100%;order:3;justify-content:center}}.eday-builder-shell{container-type:inline-size}.eday-builder-side{gap:var(--gap-block);margin-top:var(--gap-block);flex-direction:column;display:flex}@container (min-width:720px){.eday-builder{gap:var(--gap-block) var(--gap-group);grid-template:"grid status"min-content"grid side"1fr/minmax(0,1fr) clamp(280px,30%,340px);align-items:start;display:grid}.eday-builder-status{grid-area:status;margin:0;position:static}.eday-builder-grid{grid-area:grid;align-self:start}.eday-builder-side{grid-area:side;margin-top:0}.eday-builder .eday-roster{display:block}}.eday-builder-grid .eday-grid,.eday-builder-grid .eday-grid-front{max-width:min(100%,540px,100dvh - 210px)}.eday-roster{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);padding:var(--inset-tight) var(--inset-card);display:none}.eday-roster-head{justify-content:space-between;align-items:baseline;gap:var(--gap-line);margin-bottom:var(--gap-line);display:flex}.eday-roster-title{font-weight:700;font-size:var(--font-size-sm)}.eday-roster-count{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.eday-roster-list{gap:var(--gap-line);flex-wrap:wrap;display:flex}.eday-roster-chip{min-width:calc(var(--type-px) * 34);height:calc(var(--type-px) * 30);padding:0 var(--squish-len-6);justify-content:center;align-items:center;gap:var(--gap-pair);border-radius:var(--radius-pill);font-size:var(--font-size-xs);background:rgba(var(--tone-neutral-rgb), .14);color:var(--color-text-secondary);border:none;font-weight:700;display:inline-flex}.eday-roster-chip.is-placed{background:var(--color-selected-bg);color:var(--color-link)}.eday-roster-chip.is-next{background:var(--color-primary);color:var(--color-on-accent)}.eday-day-card{border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--inset-card) var(--inset-roomy);background:var(--color-surface);align-items:center;gap:var(--gap-block);width:100%;font:inherit;text-align:left;cursor:pointer;transition:var(--motion-surface);display:flex}.eday-day-card:hover{box-shadow:var(--glow-brand);transform:translateY(-1px)}.eday-day-card.is-missing{gap:var(--gap-line);padding:var(--inset-roomy);background:0 0;border-style:dashed;flex-direction:column;align-items:center}.eday-create-btn{animation:eday-pulse 2s var(--ease-inout) infinite}@keyframes eday-pulse{0%,to{box-shadow:0 0 0 0 rgba(var(--color-primary-rgb), .45)}50%{box-shadow:0 0 0 9px rgba(var(--color-primary-rgb), 0)}}@media (prefers-reduced-motion:reduce){.eday-create-btn,.eday-cell.is-glow,.eday-menu-card.is-next,.eday-subj-row.is-next{animation:none}}.eday-day-choice{align-items:center;gap:var(--gap-line);padding:var(--squish-std);border:1px solid var(--color-border);border-radius:var(--radius-control);font-size:var(--font-size-sm);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.eday-day-choice input{accent-color:var(--color-primary);width:16px;height:16px}.eday-day-choice.is-picked{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-focus-ring)}.eday-day-choice.is-disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.eday-day-choice.is-locked{background:var(--color-selected-bg);border-color:var(--color-primary);cursor:not-allowed}.eday-day-choice-note{font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-shrink:0;margin-left:auto}.eday-copyfrom-grid{gap:var(--gap-block);grid-template-columns:minmax(0,1fr);display:grid}.eday-copyfrom.is-wide .eday-copyfrom-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start}.eday-copyfrom-inline{margin:calc(var(--gap-line) * -1) 0 var(--gap-head);padding:var(--inset-card);border:1px solid var(--color-border);border-radius:0 0 var(--radius-control) var(--radius-control);background:var(--color-surface);animation:edayInlineDown var(--dur-fast) var(--ease-standard);border-top:none}@keyframes edayInlineDown{0%{opacity:0;transform:translateY(-4px)}}.eday-menu-card,.eday-subj-row{align-items:center;gap:var(--gap-block);width:100%;padding:var(--gap-block) var(--gap-group);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);font:inherit;text-align:left;cursor:pointer;transition:var(--motion-surface);display:flex}.eday-menu-card:hover,.eday-subj-row:hover{box-shadow:var(--glow-brand);transform:translateY(-1px)}.eday-menu-card.is-next,.eday-subj-row.is-next{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);background:var(--color-primary-50);animation:edayNextPulse 2s var(--ease-inout) infinite}@keyframes edayNextPulse{0%,to{box-shadow:0 0 0 2px var(--color-primary-light), 0 0 0 2px rgba(var(--color-primary-rgb), .35)}50%{box-shadow:0 0 0 2px var(--color-primary-light), 0 0 0 10px rgba(var(--color-primary-rgb), 0)}}.fold-row{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);overflow:hidden}.fold-row+.fold-row{margin-top:var(--gap-block)}.fold-row.is-critical{background:rgba(var(--tone-danger-rgb), .1);border-color:rgba(var(--tone-danger-rgb), .3)}.fold-row.is-critical>.fold-row-head:hover{background:rgba(var(--tone-danger-rgb), .06)}.fold-row-head{align-items:center;gap:var(--gap-line);width:100%;padding:var(--gap-block) var(--gap-group);font:inherit;text-align:left;cursor:pointer;transition:var(--motion-surface);background:0 0;border:none;flex-wrap:wrap;display:flex}.fold-row-head:hover{background:var(--color-surface-hover)}.fold-row-head:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px}.fold-row-head.is-static{cursor:default}.fold-row-head.is-static:hover{background:0 0}.board-fold-toggle{align-items:center;gap:var(--icon-text-gap);cursor:pointer;text-align:left;transition:var(--motion-surface);background:0 0;border:none;align-self:flex-start;padding:0;display:inline-flex}.board-fold-toggle:hover{color:var(--color-text)}.board-fold-toggle:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.prov-step-action{width:100%;padding:var(--squish-len-2) var(--inset-tight);margin:calc(var(--squish-len-2) * -1) calc(var(--inset-tight) * -1);border-radius:var(--radius-control);cursor:pointer;text-align:left;font:inherit;color:inherit;transition:var(--motion-surface);background:0 0;border:none;display:flex}.prov-step-action:hover{background:var(--color-surface-hover)}.prov-step-action:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.prov-step-chip{align-items:center;gap:var(--icon-text-gap);font-size:var(--font-size-xs);color:var(--color-link);white-space:nowrap;font-weight:600;display:inline-flex}.fold-row-title{align-items:center;gap:var(--icon-text-gap);min-width:0;font-weight:700;display:inline-flex}.fold-row-summary{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;margin-left:auto}.fold-row-subrow{min-width:0;margin-top:var(--gap-pair);flex-basis:100%}.fold-row-body{gap:var(--gap-line);padding:var(--gap-pair) var(--gap-block) var(--gap-block);flex-direction:column;display:flex}.fold-row-chev{color:var(--color-text-muted);flex-shrink:0}.fold-row .motion-collapse.is-open .eday-subj-row{animation:fadeRise var(--dur-gentle) var(--ease-out) backwards}.fold-row .motion-collapse.is-open .eday-subj-row:nth-child(2){animation-delay:50ms}.fold-row .motion-collapse.is-open .eday-subj-row:nth-child(3){animation-delay:.1s}.fold-row .motion-collapse.is-open .eday-subj-row:nth-child(4){animation-delay:.15s}.fold-row .motion-collapse.is-open .eday-subj-row:nth-child(n+5){animation-delay:.2s}.eday-subj-row{padding:var(--gap-line) var(--gap-block);border-radius:var(--radius-control);gap:var(--gap-pair) var(--gap-block);flex-wrap:wrap;container-type:inline-size}.eday-subj-badges{align-items:center;gap:var(--gap-line);flex-wrap:wrap;flex-basis:100%;min-width:0;display:flex}@container (min-width:460px){.eday-subj-badges{padding-left:calc(40px + var(--gap-block))}}.eday-md{gap:var(--gap-group);grid-template-columns:minmax(230px,300px) minmax(0,1fr);align-items:start;display:grid}.eday-md-nav{gap:var(--gap-line);flex-direction:column;min-width:0;display:flex}.eday-md-day{align-items:center;gap:var(--icon-text-gap);width:100%;padding:var(--squish-len-10) var(--gap-block);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);font:inherit;text-align:left;cursor:pointer;transition:var(--motion-surface);display:flex}.eday-md-day:hover{box-shadow:var(--glow-brand);transform:translateY(-1px)}.eday-md-day.is-active{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);background:var(--color-selected-bg)}.eday-md-day.is-missing{border-style:dashed}.eday-md-day-main{flex:1;min-width:0}.eday-md-detail{min-width:0}.hub-menu{gap:var(--gap-block);flex-direction:column;display:flex}@media (min-width:1024px){.hub-menu{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}}.eday-room-grid{gap:var(--gap-line);flex-wrap:wrap;display:flex}@media (min-width:1024px){.eday-room-grid{gap:var(--gap-line);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.eday-room-grid .btn{padding:var(--gap-block) var(--gap-head);font-size:var(--font-size-base)}}.eday-absent-list{gap:var(--gap-line);max-height:55vh;padding:var(--squish-len-2);flex-direction:column;display:flex;overflow-y:auto}.eday-absent-row{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);padding:var(--gap-line) var(--squish-len-10);gap:var(--gap-line);flex-direction:column;display:flex}.eday-absent-row.is-checked{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-focus-ring);background:var(--color-selected-bg)}.eday-absent-check{align-items:center;gap:var(--gap-line);cursor:pointer;min-width:0;display:flex;position:relative}.eday-absent-check.is-locked{cursor:not-allowed}.eday-absent-check input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.eday-absent-check input:focus-visible+.eday-absent-no{box-shadow:0 0 0 3px var(--color-focus-ring)}.eday-absent-no{box-sizing:border-box;min-width:calc(var(--type-px) * 24);height:calc(var(--type-px) * 24);padding:0 var(--gap-pair);font-weight:700;font-size:var(--font-size-xs);color:var(--color-on-accent);background:var(--color-text-fill);border-radius:var(--radius-pill);transition:var(--motion-control);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.eday-absent-no.is-off{color:var(--color-text-secondary);box-shadow:inset 0 0 0 1.5px var(--color-text-muted);background:0 0}.eday-absent-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--font-size-sm);overflow:hidden}.eday-absent-note{font-size:var(--font-size-sm)}.eday-absent-summary{gap:var(--gap-pair);flex-direction:column;display:flex}.eday-absent-summary-row{align-items:center;gap:var(--gap-pair) var(--gap-line);min-width:0;font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.eday-absent-remark{color:var(--color-text-secondary);font-size:var(--font-size-xs);min-width:0;padding-left:calc(24px + var(--gap-line));overflow-wrap:break-word;flex-basis:100%}.eday-photo-grid{gap:var(--gap-line);flex-wrap:wrap;display:flex}.eday-photo-thumb{border-radius:var(--radius-control);border:1px solid var(--color-border);width:84px;height:84px;display:block;position:relative;overflow:hidden}.eday-photo-thumb img{object-fit:cover;width:100%;height:100%}.eday-photo-remove{border-radius:var(--radius-pill);background:rgba(var(--tone-ink-rgb), .65);width:22px;height:22px;color:var(--color-on-accent);cursor:pointer;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:4px;right:4px}.eday-photo-remove:hover{background:var(--color-danger)}.eday-photo-add{border:var(--border-width-emphasis) dashed var(--color-border);border-radius:var(--radius-control);width:84px;height:84px;color:var(--color-text-secondary);justify-content:center;align-items:center;gap:var(--gap-pair);font-size:var(--font-size-xs);cursor:pointer;transition:var(--motion-control);background:0 0;flex-direction:column;font-weight:600;display:inline-flex}.eday-photo-add:hover:not(:disabled){box-shadow:var(--glow-brand);color:var(--color-link);transform:translateY(-1px)}.eday-photo-add:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.stuck-bar-grid.is-6{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width:1023.98px){.stuck-bar-grid.is-6{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640.98px){.stuck-bar-grid.is-6{grid-template-columns:repeat(2,minmax(0,1fr))}}.chip-popover-trigger{transition:var(--motion-control);border:none}.chip-popover-trigger:hover,.chip-popover-trigger.is-open{transform:translateY(-1px)}.chip-popover-trigger.tone-neutral{background:rgba(var(--tone-neutral-rgb), .14);color:var(--color-on-tint-neutral);--glow-tone-rgb:var(--tone-neutral-rgb)}.chip-popover-trigger.tone-warning{background:rgba(var(--tone-warning-rgb), .14);color:var(--color-warning-strong);--glow-tone-rgb:var(--tone-warning-rgb)}.chip-popover-trigger.tone-info{background:rgba(var(--tone-info-rgb), .14);color:var(--color-link);--glow-tone-rgb:var(--tone-info-rgb)}.chip-popover-trigger.tone-danger{background:rgba(var(--tone-danger-rgb), .14);color:var(--color-danger-strong);--glow-tone-rgb:var(--tone-danger-rgb)}.eday-mon-dayhead{align-items:center;gap:var(--icon-text-gap);margin:0 0 var(--gap-line);flex-wrap:wrap;display:flex}.eday-mon-row{cursor:pointer}.eday-mon-row:hover td{background:var(--color-surface-hover)}.eday-mon-row:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px}.eday-mon-roomsrow>td{background:rgba(var(--tone-neutral-rgb), .06);padding:var(--gap-line) var(--gap-block) var(--gap-block)}.eday-mon-roomswrap{padding:var(--gap-line) var(--gap-block) var(--gap-block)}.data-table tbody tr.eday-mon-roomsrow:hover>td{background:rgba(var(--tone-neutral-rgb), .06)}.eday-mon-roomtable tbody tr.is-clickable{cursor:pointer}.eday-mon-roomtable tbody tr.is-clickable:hover td{background:var(--color-surface-hover)}.eday-mon-roomtable tbody tr.eday-mon-rowsel:hover td{background:rgba(var(--tone-info-rgb), .12)}.eday-mon-teacherrow{cursor:pointer}.eday-mon-teacherrow td{background:rgba(var(--accent-indigo-rgb), .06);padding:var(--squish-len-6) var(--squish-len-10)}.eday-mon-teacherrow:hover td{background:rgba(var(--accent-indigo-rgb), .12)}.eday-mon-teacherrow:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px}.eday-mon-teacherbar{align-items:center;gap:var(--gap-line);display:flex}.eday-mon-teachericon{color:var(--color-link);margin-top:var(--gap-pair);flex-shrink:0;align-self:flex-start}.eday-mon-teacherinfo{justify-content:space-between;align-items:center;gap:var(--gap-pair) var(--gap-head);flex-wrap:wrap;flex:1;min-width:0;display:flex}.eday-mon-teacherhead{align-items:center;gap:var(--gap-line);color:var(--color-text);flex-wrap:wrap;font-weight:600;display:inline-flex}.eday-mon-teachercount,.eday-mon-teachersum{font-weight:400;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.eday-mon-teachersum-incident{color:var(--color-danger-strong);font-weight:600}.eday-mon-teacherchev{color:var(--color-text-muted);flex-shrink:0}.eday-mon-cardteacher{font-size:var(--font-size-sm);background:rgba(var(--accent-indigo-rgb), .06);border-radius:var(--radius-control);padding:var(--squish-len-6) var(--squish-len-10);cursor:pointer;transition:var(--motion-surface);align-items:center;display:flex}.eday-mon-cardteacher .eday-mon-teacherbar{flex:1;min-width:0}.eday-mon-cardteacher:hover{background:rgba(var(--accent-indigo-rgb), .12)}.eday-mon-cardteacher:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.eday-mon-cardteacher.eday-mon-flash{animation:edayFlash 1.3s var(--ease-out)}.eday-mon-cardgrouprooms{gap:var(--gap-line);padding-top:var(--inset-tight);flex-direction:column;display:flex}.eday-mon-roomtable tbody tr:not(.eday-mon-teacherrow){animation:fadeRise var(--dur-gentle) var(--ease-out) backwards}.eday-mon-roomtable{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.eday-mon-roomtable th{text-align:left;padding:var(--squish-len-6) var(--squish-len-10);border-bottom:1px solid var(--color-border);white-space:nowrap}.eday-mon-roomtable td{padding:var(--squish-len-6) var(--squish-len-10);border-bottom:1px solid var(--color-border);vertical-align:middle}.eday-mon-roomtable tr:last-child td{border-bottom:none}.eday-mon-roomcard{padding:var(--inset-card);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);transition:var(--motion-surface);flex-direction:column;gap:0;display:flex;container-type:inline-size}.eday-mon-cardhead{padding-bottom:var(--squish-len-2)}.eday-mon-cardchips{align-items:center;gap:var(--gap-line);flex-wrap:wrap;min-height:28px;display:flex}.eday-mon-cardchev{border-radius:var(--radius-control);border-left:none;align-self:center;min-width:36px;min-height:28px;margin-left:auto}.eday-mon-cardbody{border-top:var(--border-width) solid var(--color-border-light);margin-top:var(--gap-line)}.eday-mon-cardfields{padding:var(--squish-len-6) 0}.eday-mon-cardfoot{padding-top:var(--squish-len-2);border-top:var(--border-width) solid var(--color-border-light)}.eday-mon-checkcell{width:34px}.eday-mon-check{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer;vertical-align:middle}.eday-mon-check:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.eday-mon-lockhint{align-items:flex-start;gap:var(--icon-text-gap);font-size:var(--font-size-xs);color:var(--color-warning-strong);display:inline-flex}.eday-mon-lockhint svg{margin-top:var(--gap-pair);flex-shrink:0}.data-table tbody tr.eday-room-levelrow>td{background:rgba(var(--tone-neutral-rgb), .06);font-size:var(--font-size-xs);color:var(--color-text-secondary);padding-top:var(--gap-pair);padding-bottom:var(--gap-pair);font-weight:700}.eday-room-people{align-items:flex-start;gap:var(--gap-pair);flex-direction:column;display:flex}.eday-room-person{align-items:center;column-gap:var(--gap-line);row-gap:var(--gap-pair);flex-wrap:wrap;display:inline-flex}.eday-room-note{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.eday-room-chips{gap:var(--gap-pair);flex-wrap:wrap;display:inline-flex}.eday-room-live,.eday-room-subjectbtn{align-items:center;gap:var(--icon-text-gap);white-space:nowrap;display:inline-flex}.eday-room-call{align-items:center;gap:var(--icon-text-gap);font-size:var(--font-size-xs);color:var(--color-link);white-space:nowrap;text-decoration:none;display:inline-flex}.eday-room-call:hover{text-decoration:underline}.eday-room-call:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;border-radius:var(--radius-chip)}.eday-room-confirmed{align-items:center;gap:var(--icon-text-gap);font-weight:600;display:inline-flex}.eday-room-confirmed>svg{color:var(--color-success);flex-shrink:0}.eday-room-remove{vertical-align:middle;margin-left:var(--gap-pair)}.eday-room-token-next{outline:1px solid var(--color-border-strong);outline-offset:-1px;color:var(--color-text-secondary)}.eday-room-token-dim{opacity:.4}.eday-room-token-incident{color:var(--color-danger-strong)}.eday-room-owedcell{justify-content:flex-end;align-items:center;gap:var(--gap-line);flex-wrap:wrap;display:inline-flex}.eday-room-owed{align-items:baseline;gap:var(--gap-pair);font-size:var(--font-size-md);color:var(--color-on-tint-warning);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700;display:inline-flex}.eday-room-owed>small{font-size:var(--font-size-xs);font-weight:600}td.cell-num>.eday-room-owed{align-items:baseline}td.cell-num>.eday-room-done{align-items:center}.eday-room-done{align-items:center;gap:var(--icon-text-gap);font-size:var(--font-size-sm);color:var(--color-on-tint-success);white-space:nowrap;font-weight:600;display:inline-flex}.eday-room-cardgroups{gap:var(--gap-block);flex-direction:column;display:flex}.eday-room-levelhead{font-size:var(--font-size-xs);color:var(--color-text-secondary);background:rgba(var(--tone-neutral-rgb), .06);border-radius:var(--radius-control);padding:var(--gap-pair) var(--squish-len-10);margin-bottom:var(--gap-line);font-weight:700}.eday-room-headnames{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:400}.eday-room-notes{gap:var(--gap-pair);margin:0 0 var(--gap-block);font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-direction:column;display:flex}.eday-room-notes>p{margin:0}.eday-room-legend{gap:var(--gap-pair);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.eday-proctor-strip{align-items:flex-start;gap:var(--gap-line);margin-bottom:var(--gap-group);flex-direction:column;display:flex}.eday-proctor-others{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.eday-proctor-actions{align-items:center;gap:var(--gap-line);flex-wrap:wrap;display:flex}.eday-proctor-actions .btn{align-items:center;gap:var(--icon-text-gap);display:inline-flex}.eday-mon-rowsel>td{background:rgba(var(--tone-info-rgb), .07)}.eday-mon-roomcard.is-clickable{cursor:pointer}.eday-mon-roomcard.is-clickable:hover{background:var(--color-surface-hover)}.eday-mon-roomcard.is-selected{background:rgba(var(--tone-info-rgb), .06);border-color:rgba(var(--tone-info-rgb), .35)}.eday-mon-roomcard.is-selected.is-clickable:hover{background:rgba(var(--tone-info-rgb), .1)}@keyframes edayFlash{0%{background-color:rgba(var(--tone-success-rgb), .3)}to{background-color:#0000}}tr.eday-mon-flash>td,.eday-mon-roomcard.eday-mon-flash,tr.eday-mon-rowsel.eday-mon-flash>td{animation:edayFlash 1.3s var(--ease-out)}.eday-review-lostlock{z-index:var(--z-sticky);gap:var(--gap-line);padding:var(--inset-tight);border-radius:var(--radius-control);background:var(--color-surface);box-shadow:var(--shadow-lg);margin-bottom:var(--gap-line);flex-direction:column;display:flex;position:sticky;top:0}.eday-review-dangerzone{margin-top:var(--gap-block);padding-top:var(--gap-block);border-top:1px solid var(--color-border-light)}.eday-form{container-type:inline-size}.eday-form-grid{gap:var(--gap-block);grid-template-columns:minmax(0,1fr);display:grid}@container (min-width:720px){.eday-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.eday-view{container-type:inline-size}.eday-view-grid{gap:var(--gap-block);grid-template-columns:minmax(0,1fr);display:grid}@container (min-width:720px){.eday-view-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.eday-view-col{gap:var(--gap-block);flex-direction:column;min-width:0;display:flex}.pdfsplit-grid{gap:var(--gap-group);grid-template-columns:minmax(0,1fr);align-items:stretch;display:grid}.pdfsplit-viewercol{flex-direction:column;justify-content:center;min-width:0;display:flex}.pdfsplit-imgpane{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-hover);min-height:0;padding:var(--inset-card);flex:auto;justify-content:center;align-items:flex-start;display:flex;overflow:auto}.pdfsplit-imgpane img{border-radius:var(--radius-control);max-width:100%;height:auto;box-shadow:var(--shadow-sm)}.pdfsplit-side{gap:var(--gap-block);flex-direction:column;min-width:0;display:flex}.pdfsplit-side>*{flex-shrink:0}@media (min-width:768px){.pdfsplit-body{flex-direction:column;display:flex;overflow:hidden}.pdfsplit-grid{flex:auto;grid-template-columns:minmax(0,1.5fr) minmax(300px,.9fr);min-height:0}.pdfsplit-grid.is-solo{grid-template-columns:minmax(0,1fr)}.pdfsplit-grid.is-wideside{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pdfsplit-viewercol{min-height:0}.pdfsplit-viewercol .expdf-wrap{flex-direction:column;flex:auto;min-height:0;display:flex}.pdfsplit-viewercol .expdf-stage{flex:auto;height:auto;min-height:0}.pdfsplit-side{max-height:100%;overflow-y:auto}}@media (min-width:1024px){.pdfsplit-grid{grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr)}.pdfsplit-grid.is-solo{grid-template-columns:minmax(0,1fr)}.pdfsplit-grid.is-wideside{grid-template-columns:minmax(0,1fr) minmax(460px,1fr)}}.pdfsplit-stack{gap:var(--gap-block);flex-direction:column;display:flex}.pdfsplit-footer{align-items:center;gap:var(--gap-block);flex-wrap:wrap;display:flex}.pdfsplit-footer__tools{flex:auto;justify-content:center;min-width:0;display:flex}.pdfsplit-footer__actions{gap:var(--gap-line);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;max-width:100%;margin-left:auto;display:flex}.expdf-wrap{min-width:0;position:relative}.expdf-stage{scrollbar-gutter:stable;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-hover);width:100%;height:calc(95dvh - 190px);overflow:auto}.expdf-stage:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.expdf-pages{align-items:center;gap:var(--gap-head);padding:var(--inset-card);flex-direction:column;display:flex}.expdf-page{background:var(--color-surface-solid);box-shadow:var(--shadow-sm);flex:none}.expdf-page canvas{display:block}@media screen{:root[data-theme=dark] .expdf-wrap.paper .expdf-stage{background:linear-gradient(var(--color-surface-hover), var(--color-surface-hover)), var(--color-surface-solid)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .expdf-wrap.paper .expdf-stage{background:linear-gradient(var(--color-surface-hover), var(--color-surface-hover)), var(--color-surface-solid)}}}.expdf-chip{z-index:2;align-items:center;gap:var(--icon-text-gap);padding:var(--squish-chip);border-radius:var(--radius-pill);font-size:var(--font-size-xs);color:var(--color-primary);background:rgba(var(--tone-white-rgb), .92);border:1px solid var(--border-brand);box-shadow:var(--shadow-sm);pointer-events:none;font-weight:600;display:inline-flex;position:absolute;top:10px;right:22px}.expdf-chip.is-clean{color:var(--color-success-strong);border-color:rgba(var(--tone-success-rgb), .3)}.expdf-loading{justify-content:center;align-items:center;gap:var(--gap-head);height:100%;min-height:260px;color:var(--color-text-secondary);flex-direction:column;display:flex}.expdf-loading__label{font-size:var(--font-size-sm)}.expdf-progress{border-radius:var(--radius-pill);background:rgba(var(--color-primary-rgb), .15);width:min(240px,70%);height:6px;overflow:hidden}.expdf-progress span{border-radius:var(--radius-pill);background:var(--color-primary);transform-origin:0;width:100%;height:100%;transition:transform var(--dur-fast) var(--ease-standard);display:block}.expdf-noticebox{height:100%;padding:var(--inset-roomy);justify-content:center;align-items:center;display:flex}.expdf-tools{justify-content:center;align-items:center;gap:var(--gap-line);flex-wrap:wrap;display:flex}.expdf-tools__page{font-size:var(--font-size-sm);text-align:center;min-width:84px}.expdf-tools__zoom{align-items:center;gap:var(--icon-text-gap);display:inline-flex}.expdf-tools__zoom .stamp-chip{justify-content:center;align-items:center;height:28px;display:inline-flex}.expdf-tools__reason{flex-basis:100%;justify-content:center;display:flex}.btn[aria-disabled=true]{opacity:var(--opacity-disabled);cursor:not-allowed;transform:none}.file-notice{text-align:center;align-items:center;gap:var(--gap-line);padding:var(--inset-page) var(--inset-roomy);border:1px solid var(--border-brand-soft);border-radius:var(--radius-card);background:rgba(var(--color-primary-rgb), .05);flex-direction:column;max-width:380px;margin:0 auto;display:flex}.file-notice__icon{width:var(--icon-box-lg);height:var(--icon-box-lg);color:var(--color-link);background:rgba(var(--color-primary-rgb), .1);margin-bottom:var(--gap-line);border-radius:50%;justify-content:center;align-items:center;display:flex}.file-notice.is-danger{border-color:rgba(var(--tone-danger-rgb), .25);background:rgba(var(--tone-danger-rgb), .05)}.file-notice.is-danger .file-notice__icon{color:var(--color-danger-strong);background:rgba(var(--tone-danger-rgb), .1)}.linklike{font:inherit;cursor:pointer;text-align:left;transition:var(--motion-fade);background:0 0;border:0;padding:0}.linklike:hover{text-decoration:underline}.linklike:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;border-radius:var(--radius-chip)}.file-open-card{background:var(--color-surface-solid);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--inset-card);gap:var(--gap-line);flex-direction:column;display:flex}.file-open-card__head{align-items:center;gap:var(--gap-line);font-weight:600;font-size:var(--font-size-sm);min-width:0;display:flex}.file-open-card__head svg{color:var(--color-link);flex-shrink:0}.file-open-card__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.file-open-card__actions{gap:var(--gap-line);flex-wrap:wrap;display:flex}.file-open-card__actions .btn{justify-content:center;align-items:center;gap:var(--icon-text-gap);flex:1 1 0;display:inline-flex}.file-open-card__note{align-items:center;gap:var(--icon-text-gap);font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0;display:flex}:root{--table-sort-affordance:16px}.data-table{--table-cell-pad-x:var(--gap-block);--table-cell-pad-y:12px}.admin-data-table{--table-cell-pad-x:12px;--table-cell-pad-y:8px}.manual-table,.eday-mon-roomtable{--table-cell-pad-x:10px}.manual-table{--table-cell-pad-y:var(--gap-line)}.import-preview-table{--table-cell-pad-x:10px;--table-cell-pad-y-head:6px;--table-cell-pad-y-body:4px}th.cell-text,td.cell-text{text-align:left}th.cell-num,td.cell-num{text-align:right}td.cell-num,th.cell-num:not([role=button]){padding-right:calc(var(--table-cell-pad-x,var(--gap-block)) + var(--table-sort-affordance))}th.cell-num>*,td.cell-num>*{justify-content:flex-end;align-items:flex-end}th.cell-ordinal,td.cell-ordinal{text-align:center}th.cell-ordinal>*,td.cell-ordinal>*{justify-content:center;align-items:center}th.cell-status,td.cell-status{text-align:center}th.cell-status>*,td.cell-status>*{justify-content:center;align-items:center}th.cell-action,td.cell-action{text-align:right}th.cell-action>*,td.cell-action>*{justify-content:flex-end;align-items:flex-end}th.cell-select,td.cell-select{text-align:center}th.cell-select>*,td.cell-select>*{justify-content:center;align-items:center}th.cell-code,td.cell-code{text-align:center}th.cell-code>*,td.cell-code>*{justify-content:center;align-items:center}.cell-indent{padding-left:var(--gap-block)}.data-table th,.admin-data-table thead th,.manual-table th,.sched-heat-table th,.eday-mon-roomtable th,.admin-data-card__field-label,.table-head,.sidebar-section-label,.verify-code,.overline{font-size:var(--font-size-xs);color:var(--color-text-secondary);letter-spacing:.04em;font-weight:600}.sidebar-section-label{color:var(--sidebar-section-text)}.filter-chip,.picker-chip,.sched-roompick,.stamp-chip,.sched-plan-pill,.chip-popover-trigger{padding:var(--squish-chip);border-radius:var(--radius-pill);font-family:var(--font-family);font-size:var(--font-size-xs);cursor:pointer;justify-content:center;align-items:center;gap:5px;font-weight:600;display:inline-flex}.filter-chip,.picker-chip,.sched-roompick,.stamp-chip,.sched-plan-pill{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary)}.filter-chip:hover:not(.is-on):not(:disabled){border-color:var(--color-primary)}.filter-chip.is-on,.picker-chip.is-on,.sched-roompick.is-on,.stamp-chip.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-accent)}.qsearch-chip:hover,.chip-popover-trigger:hover{box-shadow:0 2px 8px rgba(var(--glow-tone-rgb), .35)}.app-sidebar,.sidebar-flyout,.floating-bar,.modal-header.header-cancel,.modal-header.header-reject,.modal-header.header-approve,.modal-header.header-destroy,.segmented-seg.is-on,.sched-icon-toggle button.is-on{--focus-ring-color:var(--color-on-accent)}.segmented-rail.is-hero .segmented-seg.is-on{--focus-ring-color:var(--color-link)}:where(button,[role=button],a[href],summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.edit-pencil{opacity:0;transition:var(--motion-fade)}.editable-cell:hover .edit-pencil,.editable-cell:focus-visible .edit-pencil{opacity:.45}@media (pointer:coarse){.edit-pencil{opacity:.3}}.typeahead-item{transition:var(--motion-flat)}.typeahead-item:hover,.typeahead-item:focus-visible,.typeahead-item.is-active{background:var(--color-surface-hover)}.typeahead-item:focus-visible{outline-offset:-2px}.pick-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);transition:var(--motion-surface)}.pick-card:hover,.pick-card:focus-visible{border-color:var(--color-primary);box-shadow:var(--glow-brand);transform:translateY(-1px)}.is-busy:disabled,.is-busy[aria-busy=true]{opacity:1;cursor:wait}.table-shell{gap:var(--gap-line);flex-direction:column;display:flex}.table-shell-sentinel{height:0;margin:0;padding:0}.table-shell-toolbar{top:var(--topbar-h,60px);z-index:var(--z-sticky);align-items:center;gap:var(--gap-line);padding:var(--inset-tight);border-radius:var(--radius-card);border:var(--border-width) solid transparent;transition:var(--motion-surface);flex-wrap:wrap;display:flex;position:sticky}.table-shell-toolbar.is-pinned{background:var(--color-surface-solid);box-shadow:none;margin-inline:calc(-1 * var(--border-width));padding-inline:calc(var(--inset-tight) + var(--border-width));border-color:#0000;border-radius:0}.table-shell .admin-table-wrap.is-headpin{overflow:visible}.table-shell .admin-table-wrap.is-headpin table thead th{top:calc(var(--topbar-h,60px) + var(--table-toolbar-h,56px) - 1px);z-index:1;background:var(--color-surface-solid);box-shadow:inset 0 calc(-1 * var(--border-width-emphasis)) 0 var(--color-border), var(--shadow-lg);position:sticky}.table-shell-filters{align-items:flex-start;gap:var(--gap-block);padding:var(--inset-card);border-radius:var(--radius-card);background:rgba(var(--tone-neutral-rgb), .06);border:var(--border-width) solid var(--color-border);flex-wrap:wrap;display:flex}:root{--table-pager-clearance:60px}.table-shell-pager{bottom:calc(var(--gap-block) + env(safe-area-inset-bottom,0px));z-index:var(--z-sticky);justify-content:space-between;align-items:center;gap:var(--gap-block);margin-top:var(--gap-line);padding:var(--squish-len-6) var(--inset-card);border-radius:var(--radius-panel);border:var(--border-width) solid var(--color-border-strong);background:var(--color-surface-solid);box-shadow:var(--shadow-xl);font-size:var(--font-size-xs);color:var(--color-text-secondary);transition:var(--motion-control), padding var(--dur-fast) var(--ease-standard);flex-wrap:wrap;display:flex;position:sticky}.table-shell-pager.is-grounded{position:static}@media (max-width:820.98px){.table-shell-pager{gap:var(--gap-line)}}.table-shell-pager.is-loud{background:var(--color-panel-dark);color:var(--color-on-accent);box-shadow:var(--shadow-xl);padding:var(--inset-tight) var(--inset-card);border-color:#0000}.table-shell-pager.is-loud .table-shell-pager-sep{background:var(--color-border-on-dark)}.table-shell-pager-group{align-items:center;gap:var(--gap-line);min-width:0;display:flex}.table-shell-pager-nav{gap:var(--gap-pair)}.table-shell-pager-nav .table-shell-pager-sep{margin-inline:var(--gap-pair)}.table-shell-pager-sep{width:var(--border-width);background:var(--color-border);flex:none;align-self:center;height:20px}.table-shell-ctl{justify-content:center;align-items:center;gap:var(--icon-text-gap);padding:var(--squish-chip);border-radius:var(--radius-control);border:var(--border-width) solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-xs);line-height:var(--leading-base);cursor:pointer;display:inline-flex}.table-shell-ctl:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.table-shell-page{min-width:32px}.table-shell-page[aria-current=page]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-accent);font-weight:600}.table-shell-pager.is-loud .table-shell-ctl{border-color:var(--color-border-on-dark);color:var(--color-on-accent);background:0 0}.table-shell-pager.is-loud .table-shell-ctl.is-primary{background:var(--color-surface-solid);border-color:var(--color-surface-solid);color:var(--color-text);font-weight:600}.table-shell-pager.is-loud .table-shell-ctl.is-danger{background:rgba(var(--tone-danger-rgb), .28);color:var(--color-danger-on-dark);border-color:#0000;font-weight:600}.table-shell-pager.is-loud .table-shell-page[aria-current=page]{background:var(--color-surface-solid);border-color:var(--color-surface-solid);color:var(--color-text)}.table-shell-count{white-space:nowrap}.table-shell-ellipsis{padding:0 var(--gap-pair);color:var(--color-text-muted)}.table-shell-pagecount{display:none}@media (max-width:820.98px){.table-shell-pager .table-shell-ctl-label{display:none}}@media (max-width:767.98px){.table-shell-toolbar{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0;border-color:#0000;padding:0;position:static}.table-shell-pager{gap:var(--gap-line);padding:var(--squish-len-6) var(--inset-tight);border-radius:var(--radius-card)}.table-shell-pagecount{display:inline}.table-shell-pager .table-shell-limit,.table-shell-pager .table-shell-showall,.table-shell-pager .table-shell-pager-sep{display:none}.table-shell-pager .table-shell-pager-group{gap:var(--gap-pair)}.table-shell-pager.is-loud{padding-inline:var(--inset-tight)}}
