:root{--z-guide: 400;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, monospace;--font-ui: var(--font);--font-display: var(--font);--fs-xs: .75rem;--fs-sm: .8125rem;--fs-base: .875rem;--fs-md: 1rem;--fs-lg: 1.25rem;--fs-xl: 1.625rem;--fs-2xl: 2.125rem;--fs-3xl: 2.75rem;--lh-tight: 1.25;--lh-snug: 1.45;--lh-body: 1.6;--tracking-label: .01em;--tracking-wide: 0;--tracking-tight: -.02em;--measure: 68ch;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 28px;--sp-8: 40px;--sp-10: 56px;--sp-12: 80px;--touch-min: 42px;--touch-large: 50px;--touch-huge: 80px;--sidebar-w: 268px;--sidebar-w-collapsed: 76px;--topbar-h: 64px;--page-max: 1320px;--page-pad: var(--sp-5);--radius: 14px;--radius-sm: 10px;--radius-lg: 20px;--radius-pill: 999px;--border-w: 1px;--border-w-thin: 1px;--border-w-fat: 2px;--rule-w: 1px;--hazard-band: 5px;--plate-lift: 0px;--plate-lift-sm: 0px;--plate-lift-lg: 0px;--panel-head-bg: transparent;--panel-head-ink: var(--ink);--label-transform: none;--label-tracking: 0;--title-tracking: -.02em;--focus-ring: 3px solid color-mix(in srgb, var(--signal) 55%, transparent);--focus-offset: 2px;--motion-fast: .15s;--motion-base: .2s;--motion-enter: .22s;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-entrance: cubic-bezier(.16, 1, .3, 1)}:root,[data-skin=bento]{--skin-name: "bento";--radius: 14px;--radius-sm: 10px;--radius-lg: 20px;--radius-pill: 999px;--border-w: 1px;--border-w-thin: 1px;--border-w-fat: 2px;--rule-w: 1px;--panel-head-bg: transparent;--hazard-band: 5px;--label-transform: none;--label-tracking: 0;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-ui: var(--font);--font-display: var(--font)}[data-skin=modern]{--skin-name: "modern";--radius: 12px;--radius-sm: 9px;--radius-lg: 16px;--border-w: 1px;--label-transform: none;--label-tracking: 0}[data-skin=industrial]{--skin-name: "engineering-blueprint";--radius: 3px;--radius-sm: 2px;--radius-lg: 4px;--radius-pill: 2px;--border-w: 2px;--border-w-thin: 1px;--border-w-fat: 3px;--rule-w: 2px;--plate-lift: 2px;--plate-lift-sm: 1px;--plate-lift-lg: 3px;--panel-head-bg: var(--surface-alt);--hazard-band: 8px;--label-transform: uppercase;--label-tracking: .08em;--title-tracking: -.01em;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-ui: var(--font);--font-display: var(--font)}[data-skin=govt-portal]{--skin-name: "govt-portal";--radius: 4px;--radius-sm: 4px;--radius-lg: 6px;--radius-pill: 4px;--border-w: 1px;--border-w-thin: 1px;--border-w-fat: 2px;--rule-w: 1px;--plate-lift: 0px;--plate-lift-sm: 0px;--plate-lift-lg: 0px;--panel-head-bg: var(--surface-sunken);--label-transform: uppercase;--label-tracking: .04em;--font: "Noto Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-ui: var(--font);--font-display: var(--font)}[data-skin=university-portal]{--skin-name: "university-portal";--radius: 12px;--radius-sm: 9px;--radius-lg: 16px;--radius-pill: 999px;--border-w: 1px;--border-w-thin: 1px;--border-w-fat: 2px;--rule-w: 1px;--plate-lift: 0px;--plate-lift-sm: 0px;--plate-lift-lg: 0px;--panel-head-bg: transparent;--label-transform: none;--label-tracking: 0;--title-tracking: -.01em;--font-display: Georgia, "Times New Roman", "Noto Serif", serif;--measure: 80ch}:root,[data-theme=light]{--ink: #0f172a;--paper: #f8fafc;--surface: #ffffff;--surface-alt: #f1f5f9;--surface-sunken: #e9eef5;--muted-ink: #5b6b83;--signal: #4f46e5;--signal-dark: #4338ca;--sun: #b45309;--mint: #15803d;--sky: #1d4ed8;--lilac: #7c3aed;--blush: #be185d;--danger: #dc2626;--hazard: #d97706;--hazard-ink: #ffffff;--status-open: #1d4ed8;--status-progress: #b45309;--status-blocked: #7c3aed;--status-done: #15803d;--status-dead: #64748b;--status-urgent: #dc2626;--status-warn: #b45309;--line: #e2e8f0;--line-soft: #eef2f7;--edge: rgba(15, 23, 42, .06);--shadow-ink: #0f172a;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 28px rgba(15, 23, 42, .1), 0 4px 10px rgba(15, 23, 42, .05);--shadow-hover: 0 8px 20px rgba(15, 23, 42, .09), 0 2px 6px rgba(15, 23, 42, .05);--shadow-inset: inset 0 1px 2px rgba(15, 23, 42, .05);--scrim: rgba(15, 23, 42, .45);--on-block: #ffffff;--on-block-invert: #0f172a;--on-danger: #ffffff;--tint-signal: #eef2ff;--tint-mint: #ecfdf3;--tint-sun: #fff7ed;--tint-sky: #eff6ff;--tint-danger: #fef2f2;--tint-lilac: #f5f3ff}[data-theme=dark]{--ink: #f1f5f9;--paper: #0b1220;--surface: #111827;--surface-alt: #1a2438;--surface-sunken: #0a0f1a;--muted-ink: #94a3b8;--signal: #6366f1;--signal-dark: #818cf8;--sun: #f59e0b;--mint: #22c55e;--sky: #3b82f6;--lilac: #a78bfa;--blush: #f472b6;--danger: #f87171;--hazard: #f59e0b;--hazard-ink: #0b1220;--status-open: #60a5fa;--status-progress: #fbbf24;--status-blocked: #a78bfa;--status-done: #34d399;--status-dead: #94a3b8;--status-urgent: #f87171;--status-warn: #fb923c;--line: #263349;--line-soft: #1c2740;--edge: rgba(0, 0, 0, .4);--shadow-ink: #000000;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 3px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 36px rgba(0, 0, 0, .55), 0 4px 12px rgba(0, 0, 0, .4);--shadow-hover: 0 10px 24px rgba(0, 0, 0, .5);--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .45);--scrim: rgba(0, 0, 0, .62);--on-block: #ffffff;--on-block-invert: #0f172a;--on-danger: #ffffff;--tint-signal: rgba(99, 102, 241, .14);--tint-mint: rgba(34, 197, 94, .14);--tint-sun: rgba(245, 158, 11, .14);--tint-sky: rgba(59, 130, 246, .14);--tint-danger: rgba(248, 113, 113, .14);--tint-lilac: rgba(167, 139, 250, .16)}@media (prefers-color-scheme: dark){:root:not([data-theme]){--ink: #f1f5f9;--paper: #0b1220;--surface: #111827;--surface-alt: #1a2438;--surface-sunken: #0a0f1a;--muted-ink: #94a3b8;--signal: #6366f1;--signal-dark: #818cf8;--sun: #f59e0b;--mint: #22c55e;--sky: #3b82f6;--lilac: #a78bfa;--danger: #f87171;--hazard: #f59e0b;--hazard-ink: #0b1220;--line: #263349;--line-soft: #1c2740;--shadow-ink: #000000;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 3px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 36px rgba(0, 0, 0, .55), 0 4px 12px rgba(0, 0, 0, .4);--shadow-hover: 0 10px 24px rgba(0, 0, 0, .5);--on-block: #ffffff;--on-danger: #ffffff;--tint-signal: rgba(99, 102, 241, .14);--tint-mint: rgba(34, 197, 94, .14);--tint-sun: rgba(245, 158, 11, .14);--tint-sky: rgba(59, 130, 246, .14);--tint-danger: rgba(248, 113, 113, .14);--tint-lilac: rgba(167, 139, 250, .16)}}[data-text=large]{--fs-xs: .875rem;--fs-sm: .9375rem;--fs-base: 1rem;--fs-md: 1.125rem;--fs-lg: 1.375rem;--fs-xl: 1.75rem;--fs-2xl: 2.375rem;--lh-body: 1.65;--touch-min: 46px}[data-density=compact]{--sp-3: 8px;--sp-4: 10px;--sp-5: 14px;--sp-6: 18px;--sp-8: 28px;--page-pad: var(--sp-3);--lh-body: 1.5}[data-contrast=high]{--border-w: 2px;--border-w-thin: 2px;--line: currentColor;--line-soft: currentColor;--muted-ink: var(--ink);--shadow-inset: none;--shadow-sm: none;--shadow: none}@media (prefers-reduced-motion: reduce){:root{--motion-fast: 0s;--motion-base: 0s;--motion-enter: 0s}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media (prefers-contrast: more){:root{--border-w: 2px;--border-w-thin: 2px;--line: currentColor;--line-soft: currentColor}}@media (forced-colors: active){.card,.panel,.metric,.btn,.input,.select,.textarea,.badge{border:1px solid CanvasText}}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%;width:100%;max-width:100vw}html{overflow-x:hidden}body,#root{overflow-x:clip}html{-webkit-text-size-adjust:100%}body,h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd,ul,ol{margin:0}ul,ol{padding:0}img,video,iframe,canvas,pre,svg{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}body{margin:0;color:var(--ink);font-family:var(--font);font-size:var(--fs-base);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;background-color:var(--paper);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:700;line-height:var(--lh-tight);letter-spacing:var(--title-tracking);text-wrap:balance}h1{font-size:var(--fs-xl)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-md);letter-spacing:0}h4{font-size:var(--fs-base);letter-spacing:0}h5{font-size:var(--fs-sm);letter-spacing:0}p{margin-bottom:var(--sp-3);max-width:var(--measure)}a{color:inherit;font-weight:500;text-decoration-thickness:var(--border-w-thin);text-underline-offset:3px}strong,b{font-weight:700}code,kbd,samp,.mono{font-family:var(--font-mono);font-size:.9em;letter-spacing:0}hr{border:0;border-top:var(--border-w-thin) solid var(--line-soft);margin:var(--sp-4) 0}.stencil{font-size:var(--fs-xs);font-weight:600;text-transform:var(--label-transform);letter-spacing:var(--label-tracking)}.ident{font-family:var(--font-mono);font-size:.92em;font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;inset-inline-start:var(--sp-3);top:-80px;z-index:100;background:var(--ink);color:var(--paper);padding:var(--sp-3) var(--sp-4);border:var(--border-w) solid var(--line);font-weight:800;text-transform:var(--label-transform);letter-spacing:var(--label-tracking);font-size:var(--fs-xs);transition:top var(--motion-fast) ease-out}.skip-link:focus{top:var(--sp-3)}.page{width:100%;max-width:var(--page-max);margin:0 auto;padding:var(--page-pad);box-sizing:border-box}@media (max-width: 640px){.page{padding:var(--sp-3)}}@media (min-width: 1800px){.page{max-width:1640px}}.page-tight{padding:var(--sp-3)}.stack{display:flex;flex-direction:column;gap:var(--sp-3)}.stack-lg{display:flex;flex-direction:column;gap:var(--sp-5)}.stack-xl{display:flex;flex-direction:column;gap:var(--sp-8)}.row{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2) var(--sp-3);flex-wrap:wrap}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.center{align-items:center;justify-content:center}.grid{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));align-items:stretch}.grid-2{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:stretch}.grid-metrics{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,168px),1fr));align-items:stretch}.grid-span-all{grid-column:1 / -1}@media (max-width: 640px){.grid,.grid-2{grid-template-columns:1fr;gap:var(--sp-3)}.grid-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}}.card-columns{display:grid;gap:var(--sp-4);grid-template-columns:1fr;align-items:stretch}@media (min-width: 900px){.card-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1500px){.card-columns{grid-template-columns:repeat(3,minmax(0,1fr))}}.cards{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:stretch}.cards-wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}.cards-narrow{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}@media (max-width: 640px){.cards,.cards-wide{grid-template-columns:1fr;gap:var(--sp-3)}}.split{display:grid;gap:var(--sp-4);grid-template-columns:minmax(min(100%,320px),400px) 1fr;align-items:start}@media (max-width: 1024px){.split{grid-template-columns:1fr}}.board{display:grid;gap:var(--sp-4);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}.board>*{grid-column:span 12}@media (min-width: 1000px){.board-4{grid-column:span 4}.board-5{grid-column:span 5}.board-6{grid-column:span 6}.board-7{grid-column:span 7}.board-8{grid-column:span 8}}.muted{color:var(--muted-ink)}.lede{font-size:var(--fs-md);line-height:var(--lh-body);color:var(--muted-ink);max-width:var(--measure)}.tiny{font-size:var(--fs-xs);line-height:1.45}.small{font-size:var(--fs-sm)}.bold{font-weight:600}.nowrap{white-space:nowrap}.text-right{text-align:end}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.list-reset{list-style:none;margin:0;padding:0}.scroll-x{overflow-x:auto}.offline-only{display:none}body.is-offline .offline-only{display:block}.note{font-size:var(--fs-sm);color:var(--muted-ink)}.printable{background:#fff;color:#111}@media print{.no-print,.nav-scrim,.sidebar,.topbar,.guide-root,.offline-bar{display:none!important}body{background:#fff;color:#000;background-image:none}.card,.panel,.metric,.modal,.sheet{box-shadow:none!important;border-color:#000!important}}.bento{display:grid;gap:var(--sp-4);grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch}.bento>*{grid-column:span 12;min-width:0}.bento-tight{gap:var(--sp-3)}@media (min-width: 760px){.bento-span-3{grid-column:span 3}.bento-span-4{grid-column:span 4}.bento-span-5{grid-column:span 5}.bento-span-6{grid-column:span 6}.bento-span-7{grid-column:span 7}.bento-span-8{grid-column:span 8}.bento-span-9{grid-column:span 9}.bento-span-12{grid-column:span 12}}@media (min-width: 1100px){.bento-3{grid-column:span 3}.bento-4{grid-column:span 4}.bento-6{grid-column:span 6}.bento-8{grid-column:span 8}}@media (max-width: 759px){.bento{gap:var(--sp-3)}}.bento-self-start{align-self:start}.card{display:flex;flex-direction:column;background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-5);min-width:0}.card-flat{box-shadow:none}.card-sunken{background:var(--surface-alt);border:var(--border-w) solid var(--line-soft);border-radius:var(--radius);box-shadow:none;padding:var(--sp-4)}.card-clickable{cursor:pointer;text-align:start;color:inherit;font:inherit;transition:transform var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.card-clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:color-mix(in srgb,var(--signal) 35%,var(--line))}.card-clickable:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.card-accent-signal{border-inline-start:3px solid var(--signal)}.card-accent-urgent{border-inline-start:3px solid var(--status-urgent)}.card-accent-sun{border-inline-start:3px solid var(--sun)}.card-accent-mint{border-inline-start:3px solid var(--status-done)}.card-accent-agent{border-inline-start:3px solid var(--lilac)}.card.is-unread{border-inline-start:3px solid var(--sky)}.card-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3)}.card-title{margin:0;font-family:var(--font-ui);font-size:var(--fs-md);font-weight:600;letter-spacing:-.01em}.card-meta{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);color:var(--muted-ink)}.card-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:auto;padding-top:var(--sp-4)}.case-row{display:grid;grid-template-columns:1fr;gap:var(--sp-3);padding:var(--sp-5);background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);text-align:start;cursor:pointer;transition:transform var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}@media (min-width: 720px){.case-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}}.case-row:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:color-mix(in srgb,var(--signal) 35%,var(--line))}.case-row:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.case-row-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.case-row-title{margin:6px 0 0;font-family:var(--font-ui);font-size:var(--fs-md);font-weight:600;letter-spacing:-.01em}.case-row-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--sp-2) var(--sp-4);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:var(--border-w-thin) solid var(--line-soft)}.case-meta-item{min-width:0}.case-meta-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-ink)}.case-meta-value{font-size:var(--fs-sm);font-weight:600;color:var(--ink)}.case-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px}@media (max-width: 719px){.case-row-side{flex-direction:row;flex-wrap:wrap;align-items:center}}.case-row-chevron{color:var(--muted-ink);font-weight:600}.results-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:0 var(--sp-1);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted-ink)}.results-count{font-weight:600;color:var(--ink)}.panel{display:flex;flex-direction:column;background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;overflow:hidden}.panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2) var(--sp-3);padding:var(--sp-4) var(--sp-5);background:var(--panel-head-bg);color:var(--panel-head-ink);border-bottom:var(--rule-w) solid var(--line-soft);min-height:0}.panel-title{font-family:var(--font-ui);font-size:var(--fs-base);font-weight:600;letter-spacing:-.01em;margin:0}.panel-sub{font-size:var(--fs-xs);color:var(--muted-ink);width:100%}.panel-body{padding:var(--sp-5);flex:1}.panel-body-flush{padding:0}.panel-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:var(--border-w-thin) solid var(--line-soft);background:var(--surface)}.hazard-band{height:var(--hazard-band);flex:0 0 auto;background:linear-gradient(90deg,var(--signal),var(--sun));border-bottom:none}.section-title{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--font-ui);font-size:var(--fs-base);font-weight:600;letter-spacing:-.01em;margin-bottom:var(--sp-2)}.metric{display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-2);background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--sp-4) var(--sp-5);min-width:0}.metric-label{font-size:var(--fs-sm);font-weight:500;color:var(--muted-ink)}.metric-value{font-family:var(--font-ui);font-size:clamp(1.75rem,3.4vw,var(--fs-2xl));font-weight:700;line-height:1.05;letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metric-hint{font-size:var(--fs-xs);color:var(--muted-ink)}.metric-tile{gap:var(--sp-2);justify-content:flex-start}.metric-tile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.metric-tile-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 auto;border-radius:var(--radius-sm)}.state{border:var(--border-w) dashed var(--line);border-radius:var(--radius);padding:var(--sp-8) var(--sp-6);text-align:center;background:var(--surface);color:var(--ink)}.state-title{font-weight:600;font-size:var(--fs-md);margin-bottom:var(--sp-1)}.state p{margin-left:auto;margin-right:auto}.skeleton{background:linear-gradient(90deg,var(--surface-alt) 25%,var(--surface-sunken) 50%,var(--surface-alt) 75%);background-size:200% 100%;animation:skeleton-sweep 1.4s ease-in-out infinite;border-radius:var(--radius-sm);min-height:18px}@keyframes skeleton-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.banner{display:flex;align-items:center;gap:var(--sp-3);border:var(--border-w) solid var(--line);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-sm);line-height:var(--lh-snug);font-weight:500;box-shadow:var(--shadow-sm)}.banner-offline{background:var(--tint-sun);color:var(--ink);border-color:color-mix(in srgb,var(--sun) 30%,var(--line))}.banner-error{background:var(--tint-danger);color:var(--ink);border-color:color-mix(in srgb,var(--danger) 30%,var(--line))}.banner-warn{background:var(--tint-sun);color:var(--ink);border-color:color-mix(in srgb,var(--sun) 45%,var(--line));border-inline-start-width:6px;border-inline-start-color:var(--sun)}.banner-info{background:var(--tint-sky);color:var(--ink);border-color:color-mix(in srgb,var(--sky) 28%,var(--line))}.banner-agent{background:var(--tint-lilac);color:var(--ink);border-color:color-mix(in srgb,var(--lilac) 30%,var(--line))}.banner-demo{background:var(--surface-alt);color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--touch-min);padding:var(--sp-2) var(--sp-4);font-family:var(--font-ui);font-size:var(--fs-base);font-weight:600;line-height:1.25;text-align:center;white-space:normal;text-decoration:none;color:var(--ink);background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);cursor:pointer;transition:background var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface-alt);border-color:color-mix(in srgb,var(--signal) 30%,var(--line));box-shadow:var(--shadow)}.btn:active:not(:disabled):not([aria-disabled=true]){transform:translateY(1px);box-shadow:var(--shadow-sm)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary{background:var(--signal);color:var(--on-block);border-color:var(--signal);box-shadow:0 1px 2px #4f46e54d}.btn-primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--signal-dark);border-color:var(--signal-dark);box-shadow:0 6px 16px #4f46e547}.btn-attention{background:var(--sun);color:var(--on-block);border-color:var(--sun)}.btn-attention:hover:not(:disabled):not([aria-disabled=true]){filter:brightness(.94);border-color:var(--sun)}.btn-success{background:var(--mint);color:var(--on-block);border-color:var(--mint)}.btn-success:hover:not(:disabled):not([aria-disabled=true]){filter:brightness(.94);border-color:var(--mint)}.btn-info{background:var(--sky);color:var(--on-block);border-color:var(--sky)}.btn-info:hover:not(:disabled):not([aria-disabled=true]){filter:brightness(.94);border-color:var(--sky)}.btn-agent{background:var(--lilac);color:var(--on-block);border-color:var(--lilac)}.btn-agent:hover:not(:disabled):not([aria-disabled=true]){filter:brightness(.94);border-color:var(--lilac)}.btn-danger{background:var(--danger);color:var(--on-danger);border-color:var(--danger)}.btn-danger:hover:not(:disabled):not([aria-disabled=true]){filter:brightness(.94);border-color:var(--danger)}.btn-ghost{background:transparent;color:var(--ink);border-color:transparent;box-shadow:none}.btn-ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface-alt);border-color:var(--line);box-shadow:none}.btn-block{width:100%}.btn-lg{min-height:var(--touch-large);font-size:var(--fs-md);padding:var(--sp-3) var(--sp-5)}.btn-xl{min-height:var(--touch-huge);font-size:var(--fs-lg);padding:var(--sp-4) var(--sp-6);border-radius:var(--radius)}.btn-sm{min-height:34px;padding:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);border-radius:var(--radius-sm);box-shadow:none}.btn-icon{min-width:var(--touch-min);padding:var(--sp-2)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-min);height:var(--touch-min);padding:0;color:var(--ink);background:transparent;border:var(--border-w) solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.icon-btn:hover{background:var(--surface-alt);border-color:var(--line);color:var(--signal)}.icon-btn[aria-pressed=true]{background:var(--tint-signal);border-color:color-mix(in srgb,var(--signal) 30%,var(--line));color:var(--signal)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:600;line-height:1.4;text-transform:none;letter-spacing:0;border:var(--border-w) solid transparent;border-radius:var(--radius-pill);background:var(--surface-alt);color:var(--muted-ink);white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:var(--radius-pill);background:currentColor;flex:0 0 auto;opacity:.9}.badge-block,.badge-square{border-radius:var(--radius-sm)}.badge-ghost{background:transparent;border-color:var(--line);box-shadow:none}.badge-ghost:before{display:none}.badge-open{background:var(--tint-sky);color:var(--status-open)}.badge-progress{background:var(--tint-sun);color:var(--status-progress)}.badge-blocked{background:var(--tint-lilac);color:var(--status-blocked)}.badge-done{background:var(--tint-mint);color:var(--status-done)}.badge-dead{background:var(--surface-alt);color:var(--status-dead)}.badge-urgent{background:var(--tint-danger);color:var(--status-urgent)}.badge-warn{background:var(--tint-sun);color:var(--status-warn)}.badge-agent{background:var(--tint-lilac);color:var(--lilac)}.tag{display:inline-flex;align-items:center;gap:6px;padding:var(--sp-1) var(--sp-3);min-height:38px;font-size:var(--fs-sm);font-weight:500;border:var(--border-w-thin) solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);cursor:pointer;transition:background var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.tag:hover{background:var(--surface-alt)}.tag[aria-pressed=true],.tag.is-selected{background:var(--tint-signal);border-color:color-mix(in srgb,var(--signal) 45%,var(--line));color:var(--signal);font-weight:600}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--sp-3)}.label{font-size:var(--fs-sm);font-weight:600;text-transform:none;letter-spacing:0;color:var(--ink)}.hint{font-size:var(--fs-sm);color:var(--muted-ink)}.input,.select,.textarea{width:100%;min-height:var(--touch-min);padding:var(--sp-2) var(--sp-3);font-family:var(--font-ui);font-size:var(--fs-md);color:var(--ink);background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);box-shadow:none;transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.input::placeholder,.textarea::placeholder{color:var(--muted-ink);opacity:1}.input:hover,.select:hover,.textarea:hover{border-color:color-mix(in srgb,var(--signal) 30%,var(--line))}.input:focus,.select:focus,.textarea:focus{border-color:var(--signal);box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 18%,transparent);outline:none}.textarea{min-height:96px;resize:vertical;line-height:var(--lh-snug)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-sunken);color:var(--muted-ink)}.field-error{color:var(--danger);font-size:var(--fs-sm);font-weight:600}.checkbox{width:20px;height:20px;flex:0 0 auto;accent-color:var(--signal);border:var(--border-w-thin) solid var(--line);border-radius:5px}fieldset{border:var(--border-w-thin) solid var(--line-soft);border-radius:var(--radius-sm);padding:var(--sp-4);margin:0 0 var(--sp-3)}legend{font-size:var(--fs-sm);font-weight:600;color:var(--muted-ink);padding:0 6px}.table-wrap{border:var(--border-w) solid var(--line);border-radius:var(--radius);overflow:auto;background:var(--surface);box-shadow:var(--shadow-sm)}table.data{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}table.data th{position:sticky;top:0;z-index:1;background:var(--surface-alt);color:var(--muted-ink);text-align:start;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:var(--sp-3) var(--sp-4);border-bottom:var(--border-w-thin) solid var(--line);white-space:nowrap}table.data td{padding:var(--sp-3) var(--sp-4);line-height:var(--lh-snug);border-bottom:var(--border-w-thin) solid var(--line-soft);vertical-align:top;overflow-wrap:anywhere}table.data tr:last-child td{border-bottom:none}table.data tbody tr:hover{background:color-mix(in srgb,var(--surface-alt) 60%,transparent)}@media (max-width: 720px){.table-wrap.become-cards thead{display:none}.table-wrap.become-cards table,.table-wrap.become-cards tbody,.table-wrap.become-cards tr,.table-wrap.become-cards td{display:block;width:100%}.table-wrap.become-cards tr{border-bottom:var(--border-w) solid var(--line);padding:var(--sp-3)}.table-wrap.become-cards td{border:none;padding:3px 0}.table-wrap.become-cards td:before{content:attr(data-label);display:block;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted-ink)}}.timeline{list-style:none;margin:0;padding-block:0;padding-inline:var(--sp-5) 0;border-inline-start:var(--border-w-thin) solid var(--line)}.timeline li{position:relative;padding-block:0 var(--sp-4);padding-inline:var(--sp-3) 0}.timeline li:before{content:"";position:absolute;inset-inline-start:calc(-1 * var(--sp-5) - 5px);top:5px;width:10px;height:10px;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-pill)}.timeline li.is-terminal:before{background:var(--mint);border-color:var(--mint)}.timeline li.is-urgent:before{background:var(--status-urgent);border-color:var(--status-urgent)}.timeline .when{font-size:var(--fs-xs);font-weight:500;color:var(--muted-ink)}.sheet-backdrop,.modal-backdrop{position:fixed;inset:0;background:var(--scrim);z-index:60;display:flex;backdrop-filter:blur(2px)}.sheet-backdrop{align-items:flex-end;justify-content:center}.modal-backdrop{align-items:center;justify-content:center;padding:var(--sp-4)}.sheet{width:100%;max-height:88vh;overflow:auto;background:var(--surface);border-top:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);padding:var(--sp-5) var(--sp-5) calc(var(--sp-6) + env(safe-area-inset-bottom))}.modal{width:100%;max-width:620px;max-height:88vh;overflow:auto;background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--sp-6)}.sheet-handle{width:44px;height:5px;background:var(--line);border-radius:var(--radius-pill);margin:0 auto var(--sp-4);opacity:1}@media (min-width: 721px){.sheet-backdrop{align-items:center}.sheet{max-width:720px;border:var(--border-w) solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}}.tabs{display:inline-flex;gap:4px;padding:4px;max-width:100%;overflow-x:auto;border:var(--border-w) solid var(--line);border-radius:var(--radius-pill);background:var(--surface-alt);box-shadow:none;margin-bottom:var(--sp-5)}.tab{flex:0 0 auto;min-height:36px;padding:var(--sp-2) var(--sp-4);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:600;text-transform:none;letter-spacing:0;white-space:nowrap;background:transparent;border:var(--border-w-thin) solid transparent;border-radius:var(--radius-pill);color:var(--muted-ink);cursor:pointer;transition:background var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{color:var(--signal);background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm)}.bar{height:8px;border:none;border-radius:var(--radius-pill);background:var(--surface-alt);overflow:hidden}.bar>span{display:block;height:100%;border-radius:var(--radius-pill);background:var(--signal)}.chart{display:flex;align-items:flex-end;gap:4px;height:150px;border-inline-start:none;border-bottom:var(--border-w-thin) solid var(--line);padding:0 var(--sp-1)}.chart .col{flex:1;min-width:8px;background:color-mix(in srgb,var(--signal) 70%,transparent);border-radius:6px 6px 0 0;transition:background var(--motion-fast) var(--ease-out)}.chart .col:hover,.chart .col.is-signal{background:var(--signal)}.chart-legend{display:flex;gap:var(--sp-3);flex-wrap:wrap;font-size:var(--fs-xs);font-weight:500}.swatch{display:inline-block;width:12px;height:12px;border-radius:4px;border:none;margin-inline-end:5px;vertical-align:-1px}.tint-sun,.tint-sun .muted,.tint-sun .hint{background:var(--tint-sun);color:var(--ink)}.tint-mint,.tint-mint .muted,.tint-mint .hint{background:var(--tint-mint);color:var(--ink)}.tint-sky,.tint-sky .muted,.tint-sky .hint{background:var(--tint-sky);color:var(--ink)}.tint-lilac,.tint-lilac .muted,.tint-lilac .hint{background:var(--tint-lilac);color:var(--ink)}.tint-signal,.tint-signal .muted,.tint-signal .hint{background:var(--tint-signal);color:var(--ink)}.pill-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.divider{height:var(--border-w-thin);background:var(--line-soft);margin:var(--sp-3) 0;border:0}.rule-hazard{height:var(--hazard-band);background:linear-gradient(90deg,var(--signal),var(--sun));border:0;border-radius:var(--radius-pill)}.kv{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:6px var(--sp-3);align-items:baseline;font-size:var(--fs-sm);margin:0}.kv dt{font-weight:500;font-size:var(--fs-sm);color:var(--muted-ink)}.kv dd{margin:0;overflow-wrap:anywhere}@media (max-width: 440px){.kv{grid-template-columns:1fr;gap:2px 0}.kv dt{margin-top:var(--sp-2)}}.card,.metric,.panel,td,th,.kv dd,.badge,.banner,.state{overflow-wrap:anywhere}@keyframes riseIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes sheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes beaconPulse{0%{box-shadow:0 0 color-mix(in srgb,var(--mint) 60%,transparent)}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}.modal{animation:modalScaleIn .18s var(--ease-entrance) both}.sheet{animation:sheetSlideUp .22s var(--ease-entrance) both}.animate-entrance{animation:riseIn .25s var(--ease-entrance) both}.pulse-beacon{animation:beaconPulse 2s infinite cubic-bezier(.4,0,.6,1)}@media (prefers-reduced-motion: reduce){.modal,.sheet,.animate-entrance,.pulse-beacon{animation:none!important}}.timetable-wrap{border:var(--border-w) solid var(--line);border-radius:var(--radius);overflow:auto;background:var(--surface);box-shadow:var(--shadow-sm)}table.timetable{width:100%;min-width:720px;border-collapse:collapse;font-size:var(--fs-sm)}table.timetable th,table.timetable td{border-bottom:var(--border-w-thin) solid var(--line-soft);border-inline-start:var(--border-w-thin) solid var(--line-soft);padding:var(--sp-2) var(--sp-3);text-align:start;vertical-align:top}table.timetable thead th{position:sticky;top:0;z-index:1;background:var(--surface-alt);color:var(--muted-ink);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-bottom:var(--border-w-thin) solid var(--line)}table.timetable th.period-col,table.timetable td.period-col{border-inline-start:none;white-space:nowrap;width:1%;background:var(--surface-alt);color:var(--muted-ink);font-family:var(--font-mono);font-size:var(--fs-xs)}table.timetable tbody tr:last-child td{border-bottom:none}table.timetable .is-today{background:var(--tint-signal)}.timetable-cell .cell-code{font-family:var(--font-mono);font-weight:700;font-size:var(--fs-xs);letter-spacing:.02em}.timetable-cell .cell-name{display:block;line-height:var(--lh-snug)}.timetable-cell .cell-room{display:block;color:var(--muted-ink);font-size:var(--fs-xs);margin-top:2px}.timetable-gap{color:var(--muted-ink);font-size:var(--fs-xs)}.shell{display:flex;min-height:100vh;min-height:100dvh;width:100%;max-width:100vw;overflow-x:clip}.sidebar{width:var(--sidebar-w);flex:0 0 auto;background:var(--surface);border-inline-end:var(--border-w) solid var(--line);padding:var(--sp-4) var(--sp-3) var(--sp-4);position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:2px;transition:width var(--motion-base) var(--ease-out)}.sidebar.is-collapsed{width:var(--sidebar-w-collapsed);padding-inline:var(--sp-2);align-items:stretch}.sidebar.is-collapsed .brand-name,.sidebar.is-collapsed .nav-link-label,.sidebar.is-collapsed .nav-group-label,.sidebar.is-collapsed .rail-user-text,.sidebar.is-collapsed .rail-install{display:none}.sidebar.is-collapsed .sidebar-brand,.sidebar.is-collapsed .nav-link{justify-content:center;padding-inline:0}.sidebar-brand{display:flex;align-items:center;gap:var(--sp-3);border:var(--border-w) solid transparent;border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-2);margin-bottom:var(--sp-4);background:transparent;color:var(--ink);font-weight:600;font-size:var(--fs-md);letter-spacing:-.01em;text-decoration:none;overflow:hidden;transition:background var(--motion-fast) var(--ease-out)}.sidebar-brand:hover{background:var(--surface-alt)}.sidebar-brand .brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-brand .brand-crest{flex:0 0 auto;width:22px;height:22px;object-fit:contain}.sidebar-brand .brand-mark{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0 6px;font-size:var(--fs-sm);font-weight:700;letter-spacing:-.01em;background:var(--signal);color:var(--on-block);border:none;border-radius:10px;box-shadow:0 1px 2px #4f46e559}.sidebar-brand .brand-mark:after{content:attr(data-monogram)}.nav-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-ink);margin:var(--sp-5) var(--sp-2) var(--sp-1)}.nav-link{display:flex;align-items:center;gap:var(--sp-3);min-height:40px;padding:var(--sp-2) var(--sp-3);border:var(--border-w) solid transparent;border-radius:var(--radius-sm);font-size:var(--fs-base);font-weight:500;text-decoration:none;color:var(--muted-ink);position:relative;transition:background var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.nav-link-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;color:inherit}.nav-link:hover{background:var(--surface-alt);color:var(--ink)}.nav-link[aria-current=page]{background:var(--tint-signal);color:var(--signal);font-weight:600}.nav-link[aria-current=page] .nav-link-icon{color:var(--signal)}.app-main{flex:1;min-width:0;max-width:100%;overflow-x:hidden}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:var(--sp-2);min-height:var(--topbar-h);padding:var(--sp-2) var(--sp-5);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:var(--border-w) solid var(--line);box-shadow:none;box-sizing:border-box}.topbar .sidebar-brand{margin-bottom:0}@media (max-width: 640px){.topbar{padding:var(--sp-2) var(--sp-3)}}.nav-scrim{position:fixed;inset:0;z-index:60;background:var(--scrim);animation:scrim-in .16s ease-out}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}.nav-drawer{position:fixed;inset-block:0;inset-inline-start:0;z-index:61;width:min(86vw,var(--sidebar-w));height:100dvh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:drawer-in .18s ease-out}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:none}}.nav-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-3)}.nav-drawer-title{font-size:var(--fs-md);font-weight:600;letter-spacing:-.01em}.nav-toggle{flex:0 0 auto}@media (prefers-reduced-motion: reduce){.nav-scrim,.nav-drawer{animation:none}}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-transition{animation:page-enter .2s cubic-bezier(.16,1,.3,1);width:100%;max-width:100%}@media (prefers-reduced-motion: reduce){.page-transition{animation:none}}.nav-foot{margin-top:auto;padding-top:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}.rail-user{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);min-width:0}.rail-avatar,.account-avatar{flex:0 0 auto;width:32px;height:32px;border-radius:var(--radius-pill);background:var(--tint-signal);color:var(--signal);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.02em}.rail-user-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.rail-user-name{font-size:var(--fs-sm);font-weight:600}.rail-user-role{font-size:var(--fs-xs);color:var(--muted-ink);text-transform:capitalize}.rail-actions{display:flex;align-items:center;gap:2px;padding-inline:var(--sp-1)}.rail-install{flex:1;min-width:0}.rail-logout{color:var(--muted-ink)}.rail-logout:hover{color:var(--danger);background:var(--tint-danger);border-color:transparent}.sidebar.is-collapsed .rail-actions{flex-direction:column;align-items:center}.account-btn{display:inline-flex;align-items:center;gap:var(--sp-2);padding:3px 8px 3px 3px;background:transparent;border:var(--border-w) solid transparent;border-radius:var(--radius-pill);cursor:pointer;color:var(--ink);transition:background var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.account-btn:hover{background:var(--surface-alt);border-color:var(--line)}.account-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;max-width:150px}.account-name{font-size:var(--fs-sm);font-weight:600}.account-role{font-size:11px;color:var(--muted-ink);text-transform:capitalize}@media (max-width: 980px){.account-text{display:none}}.page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--sp-3) var(--sp-4);padding:0;margin-bottom:var(--sp-5)}.page-head h1{margin:0;letter-spacing:var(--tracking-tight)}.page-kicker{font-size:var(--fs-xs);font-weight:700;text-transform:var(--label-transform);letter-spacing:var(--label-tracking);color:var(--signal);margin-bottom:var(--sp-1)}.page-sub{margin-top:var(--sp-1);color:var(--muted-ink);font-size:var(--fs-sm);max-width:var(--measure)}.page-head-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.page-section{display:flex;flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-6)}.page-section:last-child{margin-bottom:0}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2) var(--sp-3);padding:var(--sp-3);background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:var(--sp-4)}.toolbar .input,.toolbar .select{background:var(--surface-alt);border-color:transparent}.toolbar .input:focus,.toolbar .select:focus{background:var(--surface);border-color:var(--signal)}.toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);min-width:0}.toolbar-field{display:contents}.toolbar .input,.toolbar .select{min-width:180px;width:auto;flex:1 1 180px;max-width:340px}.station-strip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4);padding:var(--sp-2) var(--sp-5);background:transparent;font-size:var(--fs-xs);font-weight:500;color:var(--muted-ink)}.station-strip strong{color:var(--ink);font-weight:600}.breadcrumb{display:flex;align-items:center;gap:var(--sp-2);max-width:var(--page-max);margin:0 auto;padding:var(--sp-3) var(--page-pad) 0;font-size:var(--fs-sm);font-weight:500}.breadcrumb-group{color:var(--muted-ink)}.breadcrumb-sep{color:var(--line)}.breadcrumb-current{color:var(--ink)}@media (min-width: 1800px){.breadcrumb{max-width:1640px}}.jump{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:38px;padding:0 var(--sp-3);min-width:260px;font:inherit;font-size:var(--fs-sm);font-weight:500;color:var(--muted-ink);background:var(--surface-alt);border:var(--border-w) solid transparent;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.jump:hover{color:var(--ink);background:var(--surface);border-color:var(--line)}.jump-label{flex:1;text-align:start}.jump-compact{min-width:44px;min-height:44px;padding:0;justify-content:center;font-size:16px}.jump-kbd{font-family:var(--font-ui);font-size:11px;font-weight:600;color:var(--muted-ink);border:var(--border-w) solid var(--line);border-radius:6px;padding:1px 6px;background:var(--surface)}.palette-backdrop{align-items:flex-start;padding-top:12vh}.palette{width:100%;max-width:560px;background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden}.palette-input{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:var(--border-w) solid var(--line-soft);color:var(--muted-ink)}.palette-field{flex:1;border:none;background:transparent;font:inherit;font-size:var(--fs-md);color:var(--ink);min-height:var(--touch-min);outline:none}.palette-list{list-style:none;margin:0;padding:var(--sp-2);max-height:52vh;overflow-y:auto}.palette-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:var(--touch-min);padding:var(--sp-2) var(--sp-3);border:none;border-radius:var(--radius-sm);background:transparent;font:inherit;font-size:var(--fs-sm);color:var(--ink);text-align:start;cursor:pointer}.palette-item.is-active{background:var(--surface-alt);border-inline-start:4px solid var(--signal);color:var(--ink);font-weight:600}.palette-icon{width:20px;text-align:center;color:var(--muted-ink)}.palette-item.is-active .palette-icon{color:var(--signal)}.palette-label{flex:1;font-weight:600}.palette-group{font-size:var(--fs-xs);color:var(--muted-ink)}.palette-empty{padding:var(--sp-5);text-align:center;color:var(--muted-ink);font-size:var(--fs-sm)}@media (max-width: 600px){.jump-label{display:none}}.kiosk{min-height:100vh;display:flex;flex-direction:column;background-color:var(--paper)}.kiosk-header{background:var(--surface);color:var(--ink);padding:var(--sp-3) var(--sp-5) var(--sp-4);text-align:center;border-bottom:var(--border-w) solid var(--line);box-shadow:var(--shadow-sm)}.kiosk-header-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-bottom:var(--sp-2);margin-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.kiosk-header-brand{display:flex;flex-direction:column;align-items:center;gap:2px}.kiosk-clock-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;background:var(--surface-alt);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm)}.kiosk-lang-group{display:inline-flex;gap:3px;background:var(--surface-alt);padding:3px;border:var(--border-w) solid var(--line);border-radius:var(--radius-sm)}.kiosk-lang-btn{padding:4px 10px;font-family:var(--font-ui);font-size:11px;font-weight:600;border:1px solid transparent;background:transparent;color:var(--muted-ink);cursor:pointer;border-radius:2px;transition:all .15s ease}.kiosk-lang-btn:hover{color:var(--ink);background:var(--surface)}.kiosk-lang-btn.is-active{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-sm)}.kiosk-theme-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:var(--surface-alt);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:11px;font-weight:600;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);transition:all .15s ease}.kiosk-theme-btn:hover{background:var(--surface);border-color:var(--signal);transform:translateY(-1px)}.kiosk-theme-dot{width:7px;height:7px;border-radius:50%}.kiosk-body{flex:1;padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-5);justify-content:center;align-items:center;text-align:center}.kiosk-actions{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));width:100%;max-width:1100px}.kiosk-tile{min-height:150px;font-size:var(--fs-lg);font-family:var(--font-ui);font-weight:600;text-transform:none;border-radius:var(--radius-sm);border:var(--border-w) solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:var(--sp-2);align-items:center;justify-content:center;text-align:center;padding:var(--sp-5);transition:transform var(--motion-fast) ease-out,box-shadow var(--motion-fast) ease-out}.kiosk-tile:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-lg)}.kiosk-title{font-size:clamp(1.6rem,5vw,3rem);font-weight:600}.kiosk-hint{font-size:clamp(1rem,2.2vw,1.35rem);font-weight:600;color:var(--muted-ink)}.kiosk-id-input{font-size:clamp(1.4rem,4vw,2.4rem);padding:var(--sp-4);text-align:center;letter-spacing:.12em;text-transform:none;min-height:var(--touch-huge);max-width:640px;border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-inset)}.kiosk-clock{position:fixed;top:var(--sp-3);inset-inline-end:var(--sp-4);z-index:10;font-family:var(--font-ui);font-weight:600;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);padding:4px var(--sp-3);box-shadow:var(--shadow-sm)}.gate-verdict{border:none;border-radius:var(--radius-sm);padding:var(--sp-5);text-align:center;font-family:var(--font-ui);font-weight:700;text-transform:none;letter-spacing:.05em;font-size:clamp(1.8rem,7vw,3.2rem);line-height:var(--lh-tight);box-shadow:var(--shadow-lg)}.gate-verdict.allow{background:var(--mint);color:var(--on-block)}.gate-verdict.refuse{background:var(--danger);color:var(--on-danger)}.landing-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;box-sizing:border-box;width:100%;max-width:100vw;overflow-x:hidden;background-color:var(--paper)}.landing-wrap{width:100%;max-width:1180px;margin:0 auto;padding:var(--sp-8) var(--sp-4);box-sizing:border-box}.landing-hero{background-color:var(--surface);background-image:linear-gradient(180deg,color-mix(in srgb,var(--surface-alt) 65%,transparent) 0%,transparent 70%);border-bottom:var(--border-w) solid var(--line)}.landing-hero-grid{display:grid;gap:var(--sp-6);grid-template-columns:1fr;align-items:start;padding-top:var(--sp-10);padding-bottom:var(--sp-10)}@media (min-width: 940px){.landing-hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:var(--sp-8)}}.landing-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:600;text-transform:var(--label-transform);letter-spacing:var(--label-tracking);color:var(--muted-ink);margin-bottom:var(--sp-3)}.landing-kicker-sep{color:var(--line)}.landing-title{font-size:clamp(2.1rem,6vw,var(--fs-3xl));line-height:1.05;letter-spacing:var(--tracking-tight);margin-bottom:var(--sp-3);max-width:20ch}.landing-lede{font-size:clamp(1.05rem,2.4vw,var(--fs-lg));line-height:var(--lh-snug);color:var(--ink);max-width:46ch;margin-bottom:var(--sp-3)}.landing-sub{font-size:var(--fs-md);line-height:var(--lh-body);color:var(--muted-ink);max-width:52ch;margin-bottom:var(--sp-5)}.landing-cta{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;margin-bottom:var(--sp-5)}.landing-proof{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.landing-quick{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr))}.landing-quick-link{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;font-size:var(--fs-sm);font-weight:600;transition:transform var(--motion-fast) ease-out,box-shadow var(--motion-fast) ease-out}.landing-quick-link:hover{transform:translateY(-2px);box-shadow:var(--shadow);color:var(--ink)}.landing-quick-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border-radius:10px;background:color-mix(in srgb,var(--signal) 10%,transparent);color:var(--signal)}.landing-id{display:flex;flex-direction:column;gap:var(--sp-4);background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--sp-5);position:relative}.landing-id-plate{display:flex;align-items:center;gap:var(--sp-4);padding-bottom:var(--sp-4);border-bottom:var(--rule-w) solid var(--line)}.landing-id-crest,.landing-id-mark{width:72px;height:72px;flex:0 0 auto;object-fit:contain;box-sizing:border-box;border:none;border-radius:var(--radius-sm);box-shadow:0 1px 2px #4f46e559}.landing-id-crest{background:var(--surface);padding:var(--sp-2)}.landing-id-mark{display:grid;place-items:center;background:var(--signal);color:var(--on-block);font-family:var(--font-ui);font-weight:700;font-size:var(--fs-lg);letter-spacing:.04em}.landing-id-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.landing-id-code{font-size:var(--fs-xl);font-weight:700;line-height:1.1}.landing-id-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2);padding-top:var(--sp-3);border-top:var(--border-w-thin) solid var(--line-soft)}.landing-band{background:var(--surface-alt);border-bottom:var(--border-w) solid var(--line)}.landing-band .landing-wrap{padding-top:var(--sp-5);padding-bottom:var(--sp-5)}.landing-section{border-bottom:var(--border-w) solid var(--line)}.landing-section-alt{background:var(--surface)}.landing-section .landing-wrap{padding-top:var(--sp-10);padding-bottom:var(--sp-10)}.landing-section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--sp-3) var(--sp-5);margin-bottom:var(--sp-6);padding-bottom:var(--sp-3);border-bottom:var(--rule-w) solid var(--line)}.landing-section-head h2{font-size:clamp(1.4rem,3.4vw,var(--fs-2xl));margin:0}.landing-section-note{font-size:var(--fs-sm);color:var(--muted-ink);max-width:42ch;margin:0}.landing-services{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,265px),1fr));align-items:stretch}.landing-service{display:flex;flex-direction:column;gap:var(--sp-2);background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--sp-4);transition:transform var(--motion-fast) ease-out,box-shadow var(--motion-fast) ease-out}.landing-service:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.landing-service-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.landing-service-icon{font-size:26px;line-height:1}.landing-service-name{font-size:var(--fs-base);margin:0}.landing-service-detail{font-size:var(--fs-sm);color:var(--muted-ink);margin:0;line-height:var(--lh-snug)}.landing-service-foot{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--sp-2);margin-top:auto;padding-top:var(--sp-3);border-top:var(--border-w-thin) solid var(--line-soft);font-size:var(--fs-sm)}.landing-offline-note{border:var(--border-w) dashed var(--line);border-radius:var(--radius-sm);background:var(--surface-alt);color:var(--muted-ink);padding:var(--sp-5);max-width:var(--measure)}.landing-notices{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));align-items:stretch}.landing-notice{display:flex;flex-direction:column;gap:var(--sp-2);background:var(--surface);border:var(--border-w) solid var(--line);border-inline-start:5px solid var(--sky);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--sp-4)}.landing-notice-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.landing-notice-title{font-size:var(--fs-base);margin:0}.landing-notice-summary{font-size:var(--fs-sm);color:var(--muted-ink);margin:0;line-height:var(--lh-snug)}.landing-flow{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));align-items:stretch;counter-reset:none}.landing-flow-step{display:flex;flex-direction:column;gap:var(--sp-1);background:var(--surface);border:var(--border-w) solid var(--line);border-top:5px solid var(--signal);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--sp-4)}.landing-flow-index{font-size:var(--fs-lg);font-weight:700;color:var(--signal);line-height:1}.landing-flow-title{font-size:var(--fs-base);margin:var(--sp-2) 0 0}.landing-flow-detail{font-size:var(--fs-sm);color:var(--muted-ink);margin:0;line-height:var(--lh-snug)}.landing-roles{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));align-items:stretch}.landing-role{display:flex;flex-direction:column;gap:var(--sp-1);background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--sp-4)}.landing-role-icon{font-size:22px;color:var(--signal);line-height:1}.landing-role-name{font-size:var(--fs-base);margin:var(--sp-2) 0 0}.landing-role-detail{font-size:var(--fs-sm);color:var(--muted-ink);margin:0;line-height:var(--lh-snug)}.landing-honesty-foot{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:var(--border-w-thin) solid var(--line-soft)}.landing-foot{margin-top:auto;background:var(--surface-alt)}.landing-foot-grid{display:grid;gap:var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));padding-top:var(--sp-6);padding-bottom:var(--sp-6)}.landing-foot-brand{display:flex;align-items:center;gap:var(--sp-3)}.landing-foot-col{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-sm);min-width:0;overflow-wrap:anywhere}.landing-foot-note{margin-top:var(--sp-3)}.launch-steps{margin:0 0 var(--sp-3);padding-inline-start:1.2em;display:flex;flex-direction:column;gap:var(--sp-2);line-height:1.55}@media (max-width: 640px){.landing-wrap{padding:var(--sp-6) var(--sp-3)}.landing-hero-grid{padding-top:var(--sp-6);padding-bottom:var(--sp-6)}.landing-section .landing-wrap{padding-top:var(--sp-8);padding-bottom:var(--sp-8)}.landing-title{max-width:none}}.landing-top{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--surface);border-bottom:var(--border-w) solid var(--line);box-shadow:var(--shadow-sm);box-sizing:border-box;width:100%;max-width:100vw}.landing-top-actions{display:flex;align-items:center;gap:var(--sp-2)}.stamp{display:inline-flex;align-items:center;gap:6px;border:var(--border-w) solid var(--line);color:var(--ink);background:var(--surface);font-family:var(--font-ui);font-weight:600;font-size:11px;text-transform:none;letter-spacing:.05em;line-height:1;padding:4px var(--sp-2);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.hero-kicker-beacon{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--mint);display:inline-block;box-shadow:0 0 6px var(--mint);animation:hero-beacon-pulse 1.8s infinite ease-in-out}@keyframes hero-beacon-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.85)}}@media (max-width: 640px){.landing-top{padding:var(--sp-2) var(--sp-3)}.hide-mobile{display:none!important}}.auth{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);padding:var(--sp-5) var(--sp-4);box-sizing:border-box;background:var(--paper)}@media (min-height: 760px){.auth{justify-content:center}}.auth-topbar{width:100%;max-width:500px;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.auth-side{width:100%;max-width:500px;display:flex;flex-direction:column;padding:0;background:transparent}.auth-side-top{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;justify-content:space-between;margin-bottom:var(--sp-5)}.auth-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-2);padding:var(--sp-4) 0 var(--sp-2)}.auth-hero h1{margin:0;font-size:var(--fs-xl);letter-spacing:var(--title-tracking);line-height:var(--lh-tight)}.auth-hero-sub{margin:0;font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:none;color:var(--muted-ink)}.auth-hero-tagline{margin:0;max-width:44ch;font-size:var(--fs-sm);color:var(--muted-ink)}.auth-crest{width:64px;height:64px;display:grid;place-items:center;background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);overflow:hidden}.auth-crest img{width:100%;height:100%;object-fit:contain;padding:7px;box-sizing:border-box}@media (max-width: 480px){.auth-crest{width:56px;height:56px}}.brand-mark{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 10px;font-family:var(--font-ui);font-size:var(--fs-lg);font-weight:700;letter-spacing:.04em;background:var(--signal);color:var(--on-block);border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.brand-mark:after{content:attr(data-monogram)}.auth-foot{width:100%;max-width:500px;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-1) var(--sp-3);font-family:var(--font-ui);font-size:11px;letter-spacing:.04em;color:var(--muted-ink);text-align:center}.station-switcher{display:inline-flex;align-items:center;background:var(--surface-alt);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);padding:2px;gap:2px;box-shadow:var(--shadow-sm)}.station-switch-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-family:var(--font-ui);font-size:11px;font-weight:600;text-transform:none;letter-spacing:.03em;color:var(--muted-ink);border:1px solid transparent;border-radius:var(--radius-sm);text-decoration:none;transition:all .15s ease}.station-switch-btn:hover{color:var(--ink);background:var(--surface)}.station-switch-btn.is-active{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-sm)}.station-switch-indicator{width:6px;height:6px;border-radius:1px;background:var(--line)}.station-switch-btn.is-active .station-switch-indicator{background:var(--signal);box-shadow:0 0 5px var(--signal)}.auth-card{width:100%;max-width:500px;margin:0;display:flex;flex-direction:column;gap:var(--sp-4);border:2px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:var(--sp-6);background:var(--surface)}.auth-station-tag{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.auth-pw{position:relative}.auth-pw .input{padding-inline-end:74px}.auth-pw-toggle{position:absolute;inset-inline-end:var(--sp-2);top:50%;transform:translateY(-50%);border:var(--border-w-thin) solid var(--line);background:var(--surface-alt);color:var(--ink);font-family:var(--font-ui);font-weight:600;text-transform:none;font-size:11px;min-height:30px;padding:0 var(--sp-2);border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-sm)}.auth-pw-toggle:hover{background:var(--surface);color:var(--ink);border-color:var(--ink)}.auth-or{display:flex;align-items:center;gap:var(--sp-3);color:var(--muted-ink);font-size:var(--fs-xs);font-weight:700;font-family:var(--font-ui);text-transform:none}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:var(--line)}.auth-role-strip-wrap{margin-top:var(--sp-2);display:flex;flex-direction:column;gap:8px}.auth-role-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.auth-role-pills{display:flex;flex-wrap:wrap;gap:6px}.auth-role-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:var(--surface-alt);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:11px;font-weight:600;text-transform:none;color:var(--ink);cursor:pointer;transition:all .15s ease;box-shadow:var(--shadow-sm)}.auth-role-pill:hover{border-color:var(--signal);background:var(--surface);transform:translateY(-1px)}.auth-role-pill.is-active{background:var(--surface);border-color:var(--signal);box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 20%,transparent)}.auth-role-pill .pill-dot{width:6px;height:6px;border-radius:50%;background:var(--line)}.auth-role-pill.is-active .pill-dot{background:var(--signal)}.auth-autofill-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--surface-alt);border:1px solid var(--line);border-inline-start:3px solid var(--signal);padding:5px 10px;border-radius:var(--radius-sm);color:var(--ink)}.auth-demo-modal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--sp-3);margin-top:var(--sp-3)}.auth-demo-modal-card{display:flex;flex-direction:column;gap:6px;background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--sp-3);text-align:left;transition:all .15s ease}.auth-demo-modal-card:hover{border-color:var(--signal);background:var(--surface)}.kiosk-card-frame{width:100%;max-width:820px;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:var(--sp-6);text-align:left;box-sizing:border-box}.kiosk-terminal-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:var(--sp-3);margin-bottom:var(--sp-4);border-bottom:1px solid var(--line)}.kiosk-quick-rolls{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.kiosk-quick-roll-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:11px;font-weight:600;cursor:pointer;color:var(--ink);transition:all .15s ease}.kiosk-quick-roll-btn:hover{border-color:var(--signal);background:var(--surface);transform:translateY(-1px)}.kiosk-student-header-box{width:100%;max-width:860px;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:var(--sp-4) var(--sp-5);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3);text-align:left}.kiosk-services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-4);width:100%;max-width:860px}.kiosk-service-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;padding:var(--sp-5);background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);cursor:pointer;color:var(--ink);transition:all .15s ease}.kiosk-service-card:hover{border-color:var(--signal);transform:translateY(-2px);box-shadow:var(--shadow)}.kiosk-service-card.is-active{border-color:var(--signal);background:var(--surface-alt);box-shadow:0 0 0 1px var(--signal),var(--shadow)}.kiosk-receipt-paper{width:100%;max-width:680px;background:var(--surface);border:2px dashed var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:var(--sp-6);text-align:left;position:relative}.kiosk-receipt-badge{display:inline-block;background:var(--signal);color:#fff;font-family:var(--font-ui);font-size:10px;font-weight:600;letter-spacing:.08em;padding:2px 10px;border-radius:2px;margin-bottom:var(--sp-3)}@media (max-width: 899px){.auth-side{padding:var(--sp-6) var(--sp-5) var(--sp-10)}}.guide-root{position:fixed;inset:0;z-index:var(--z-guide);pointer-events:none}.guide-scrim{position:absolute;background:var(--scrim);pointer-events:auto;transition:all var(--motion-base) ease-out}.guide-spotlight{position:absolute;border:var(--border-w-fat) solid var(--signal);border-radius:var(--radius-sm);transition:all var(--motion-base) ease-out;pointer-events:none}.guide-tip{position:absolute;max-width:min(400px,calc(100vw - 32px));background:var(--surface);color:var(--ink);border:var(--border-w) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:var(--sp-4);pointer-events:auto}.guide-tip-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-1)}.guide-tip h3{font-size:var(--fs-md);margin-bottom:var(--sp-1)}.guide-tip p{font-size:var(--fs-sm);margin-bottom:var(--sp-3)}.guide-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.guide-step-count{font-size:var(--fs-xs);font-weight:700;color:var(--muted-ink);font-variant-numeric:tabular-nums;font-family:var(--font-ui);letter-spacing:.04em}.guide-close{display:grid;place-items:center;width:28px;height:28px;padding:0;background:var(--surface-alt);color:var(--ink);border:var(--border-w-thin) solid var(--line);border-radius:var(--radius-sm);cursor:pointer;font-weight:600}.guide-close:hover{border-color:var(--ink);background:var(--surface)}.guide-waiting{position:fixed;z-index:var(--z-guide);left:50%;bottom:var(--sp-5);transform:translate(-50%);background:var(--surface);color:var(--ink);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:var(--sp-3) var(--sp-4);font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:700;pointer-events:none}@media (max-width: 720px){.guide-tip-sheet{position:fixed;top:auto;left:var(--sp-2);right:var(--sp-2);bottom:var(--sp-2);max-width:none;max-height:46vh;overflow-y:auto;box-shadow:var(--shadow-lg)}}.guide-target{position:relative}.device-stage{display:flex;flex-wrap:wrap;gap:var(--sp-5);align-items:flex-start}.device-frame{border:var(--border-w) solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--sp-2);box-shadow:var(--shadow)}.device-frame iframe{display:block;border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);background:var(--paper);width:100%}.device-caption{margin-top:var(--sp-2);font-size:var(--fs-xs);font-weight:700;color:var(--muted-ink);text-align:center}.device-notes{font-size:var(--fs-sm);color:var(--muted-ink)}.support-yes{font-weight:600}.support-no{color:var(--muted-ink)}.switcher{display:inline-flex;border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-alt);padding:2px;gap:2px;box-shadow:var(--shadow-sm)}.switcher button{border:1px solid transparent;background:transparent;color:var(--muted-ink);font:inherit;font-family:var(--font-ui);font-weight:600;font-size:12px;padding:var(--sp-1) var(--sp-3);min-height:32px;border-radius:var(--radius-sm);cursor:pointer}.switcher button:hover{color:var(--ink);background:color-mix(in srgb,var(--surface) 60%,transparent)}.switcher button[aria-pressed=true]{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-sm)}.switcher button.symbol{font-size:var(--fs-md);line-height:1;padding:var(--sp-1) var(--sp-2);min-width:38px}.not-found-page{min-height:100vh;min-height:100dvh;position:relative;width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box;background-color:var(--paper)}.not-found-card{border:var(--border-w) solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden;box-sizing:border-box}.not-found-card-bar{display:flex;align-items:center;gap:6px;padding:var(--sp-2) var(--sp-3);background:var(--surface-alt);border-bottom:var(--border-w) solid var(--line)}.not-found-card-title{margin-inline-start:var(--sp-2);color:var(--muted-ink);letter-spacing:.05em;font-weight:700}.not-found-body{padding:var(--sp-8);box-sizing:border-box}@media (max-width: 600px){.not-found-body{padding:var(--sp-4)}}.not-found-code-plate{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-4);margin-bottom:var(--sp-4)}.not-found-glitch{font-family:var(--font-display, var(--font));font-size:clamp(3.8rem,13vw,7rem);font-weight:700;line-height:.9;letter-spacing:-.05em;color:var(--danger);text-shadow:none}.not-found-kicker{display:flex;flex-direction:column;gap:4px}.not-found-title{font-size:clamp(1.4rem,3.5vw,2.2rem);line-height:1.15;margin:0 0 var(--sp-3);letter-spacing:-.02em}.not-found-desc{font-size:clamp(.95rem,1.8vw,1.1rem);color:var(--muted-ink);line-height:1.6;margin:0 0 var(--sp-6);max-width:68ch}.not-found-url{background:var(--surface-alt);padding:2px 6px;border-radius:var(--radius-sm);border:var(--border-w) solid var(--line);color:var(--danger)}.not-found-terminal{border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);background:var(--surface-sunken);margin-bottom:var(--sp-6);overflow:hidden}.terminal-header{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--surface-alt);border-bottom:var(--border-w) solid var(--line);color:var(--muted-ink)}.terminal-dot{width:8px;height:8px;border-radius:50%;background:var(--danger)}.terminal-code{padding:var(--sp-3) var(--sp-4);margin:0;font-family:var(--font-ui);font-size:var(--fs-xs);line-height:1.6;color:var(--ink);overflow-x:auto;white-space:pre-wrap;word-break:break-all}.not-found-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-8)}@media (max-width: 600px){.not-found-actions{flex-direction:column;align-items:stretch}.not-found-actions .btn{width:100%;justify-content:center}}.not-found-links-grid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));padding-top:var(--sp-6);border-top:var(--border-w) solid var(--line)}.not-found-link-item{display:flex;flex-direction:column;gap:2px;padding:var(--sp-3);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);background:var(--surface-alt);text-decoration:none;color:inherit;transition:transform var(--motion-fast) ease-out,box-shadow var(--motion-fast) ease-out}.not-found-link-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--signal)}.splash-screen{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:var(--paper);padding:var(--sp-4);overflow:hidden}.splash-console-frame{position:relative;width:100%;max-width:640px;background:var(--surface);border:var(--border-w) solid var(--line);box-shadow:var(--shadow-lg);border-radius:var(--radius-sm);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4);z-index:1;animation:splash-frame-in .35s cubic-bezier(.16,1,.3,1)}@keyframes splash-frame-in{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.splash-corner{position:absolute;font-family:var(--font-ui);font-weight:700;font-size:16px;line-height:1;color:var(--signal);user-select:none;pointer-events:none}.splash-tl{top:6px;left:8px}.splash-tr{top:6px;right:8px}.splash-bl{bottom:6px;left:8px}.splash-br{bottom:6px;right:8px}.splash-topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:var(--border-w) solid var(--line);padding-bottom:var(--sp-3)}.splash-brand-block{display:flex;align-items:center;gap:var(--sp-4)}.splash-emblem-wrap{position:relative;flex-shrink:0}.splash-emblem-core{width:54px;height:54px;background:var(--signal);border:var(--border-w-fat) solid var(--ink);box-shadow:var(--shadow);border-radius:var(--radius-sm);display:grid;place-items:center;position:relative}.splash-emblem-beacon{position:absolute;inset:-6px;border:2px solid var(--signal);border-radius:calc(var(--radius-sm) + 4px);opacity:.6;animation:splash-beacon-wave 1.6s ease-out infinite}@keyframes splash-beacon-wave{0%{transform:scale(.92);opacity:.8}to{transform:scale(1.24);opacity:0}}.splash-title{margin:0 0 4px;font-family:var(--font-ui);font-weight:700;font-size:clamp(1.4rem,4vw,1.85rem);text-transform:none;letter-spacing:.04em;color:var(--ink)}.splash-subtitle{margin:0;font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:600;text-transform:none;letter-spacing:.06em;color:var(--muted)}.splash-telemetry-strip{background:var(--surface-sunken);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3)}.splash-diagnostics-box{background:var(--surface-alt);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);padding:var(--sp-3)}.splash-diag-item{display:flex;align-items:center;gap:8px;opacity:.35;transition:opacity .2s ease,transform .2s ease}.splash-diag-item.is-done{opacity:.9}.splash-diag-item.is-done .splash-diag-status{color:var(--mint)}.splash-diag-item.is-active{opacity:1;transform:translate(4px)}.splash-diag-item.is-active .splash-diag-status{color:var(--signal)}.splash-diag-item.is-active .splash-diag-text{font-weight:700;color:var(--ink)}.splash-progress-section{display:flex;flex-direction:column}.splash-progress-track{width:100%;height:12px;background:var(--surface-sunken);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.splash-progress-fill{height:100%;background:var(--signal);background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.15) 0px,rgba(255,255,255,.15) 8px,transparent 8px,transparent 16px);background-size:32px 32px;animation:splash-stripes 1s linear infinite;transition:width .3s cubic-bezier(.16,1,.3,1)}@keyframes splash-stripes{0%{background-position:0 0}to{background-position:32px 0}}.splash-footer-bar{text-align:center;border-top:var(--border-w) solid var(--line);padding-top:var(--sp-2)}.kiosk-supervisor-backdrop{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#090d14b8;backdrop-filter:blur(4px);padding:var(--sp-4);animation:supervisor-fade-in .2s ease-out}@keyframes supervisor-fade-in{0%{opacity:0}to{opacity:1}}.kiosk-supervisor-modal{width:100%;max-width:680px;background:var(--surface);border:var(--border-w) solid var(--line);box-shadow:var(--shadow-lg);border-radius:var(--radius-sm);overflow:hidden;max-height:90vh;display:flex;flex-direction:column}.kiosk-supervisor-head{display:flex;align-items:center;justify-content:space-between;background:var(--surface-alt);border-bottom:var(--border-w-fat) solid var(--line);padding:var(--sp-3) var(--sp-4)}.kiosk-supervisor-close-btn{background:transparent;border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);padding:4px 10px;font-family:var(--font-ui);font-weight:600;cursor:pointer;color:var(--ink)}.kiosk-supervisor-close-btn:hover{background:var(--surface-sunken);color:var(--urgent)}.kiosk-supervisor-pin-input{width:100%;font-family:var(--font-ui);font-size:2rem;letter-spacing:.35em;text-align:center;padding:var(--sp-3);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-inset);background:var(--surface-sunken);color:var(--ink)}.kiosk-keypad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2);max-width:320px;margin:0 auto}.kiosk-keypad-btn{font-family:var(--font-ui);font-size:1.4rem;font-weight:600;padding:var(--sp-3);background:var(--surface-alt);border:var(--border-w) solid var(--line);box-shadow:var(--shadow-sm);border-radius:var(--radius-sm);cursor:pointer;color:var(--ink);transition:transform .05s ease,box-shadow .05s ease}.kiosk-keypad-btn:active{transform:translate(2px,2px);box-shadow:none}.kiosk-keypad-clear{color:var(--urgent);font-size:1rem}.kiosk-keypad-back{font-size:1.1rem}.kiosk-supervisor-section-box{background:var(--surface-sunken);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);padding:var(--sp-3)}.kiosk-sections-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--sp-2);max-height:240px;overflow-y:auto;padding:2px}.kiosk-section-card{text-align:start;background:var(--surface-alt);border:var(--border-w) solid var(--line);box-shadow:var(--shadow-sm);border-radius:var(--radius-sm);padding:var(--sp-3);cursor:pointer;color:var(--ink);transition:transform .1s ease,border-color .1s ease}.kiosk-section-card:hover{transform:translate(-1px,-1px);border-color:var(--signal)}.kiosk-section-card.is-selected{border-color:var(--signal);border-width:var(--border-w-fat);background:var(--surface);box-shadow:3px 3px 0 var(--signal)}.kiosk-supervisor-danger-zone{border:var(--border-w) dashed var(--urgent);background:#e11d480f;border-radius:var(--radius-sm);padding:var(--sp-3)}.kiosk-admin-lock-btn{display:inline-flex;align-items:center;gap:6px;background:var(--surface-alt);border:var(--border-w) solid var(--line);box-shadow:var(--shadow-sm);border-radius:var(--radius-sm);padding:6px 12px;font-family:var(--font-ui);font-weight:700;font-size:var(--fs-xs);cursor:pointer;color:var(--ink);transition:transform .1s ease,background .1s ease}.kiosk-admin-lock-btn:hover{transform:translateY(-2px);background:var(--surface);border-color:var(--signal)}.pagination-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);font-family:var(--font-ui);font-size:var(--fs-xs)}.pagination-summary{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.02em}.pagination-num{color:var(--ink);font-weight:600}.pagination-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pagination-btn{background:var(--surface-alt);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);padding:5px 11px;font-family:var(--font-ui);font-weight:700;font-size:var(--fs-xs);cursor:pointer;color:var(--ink);box-shadow:var(--shadow-sm);transition:background .1s ease,transform .1s ease,border-color .1s ease}.pagination-btn:hover:not(:disabled){border-color:var(--signal);background:var(--surface);transform:translate(-1px,-1px)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.pagination-page-btn.is-active{background:var(--signal);color:#fff;border-color:var(--ink);font-weight:700;box-shadow:var(--shadow-sm)}.pagination-ellipsis{padding:0 4px;color:var(--muted);font-weight:600}.pagination-mobile-indicator{display:none;font-weight:600;padding:0 6px}.pagination-size-wrap{margin-inline-start:6px}.pagination-size-select{background:var(--surface-alt);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);padding:5px 8px;font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:700;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm)}@media (max-width: 680px){.pagination-pages{display:none}.pagination-mobile-indicator{display:inline-block}.pagination-bar{flex-direction:column;align-items:stretch;gap:var(--sp-2)}.pagination-controls{justify-content:space-between}}.notice-studio-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--sp-4);align-items:start}@media (max-width: 980px){.notice-studio-layout{grid-template-columns:1fr}}.notice-studio-main{display:flex;flex-direction:column;gap:var(--sp-4)}.notice-studio-sidebar{display:flex;flex-direction:column;gap:var(--sp-4);position:sticky;top:var(--sp-4)}.notice-preview-card{background:var(--surface);border:var(--border-w) solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius-sm);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.notice-preview-title{margin:0;font-family:var(--font-ui);font-weight:600;font-size:var(--fs-base);color:var(--ink)}.notice-preview-body{font-size:var(--fs-sm);line-height:1.5;color:var(--muted);max-height:140px;overflow-y:auto;white-space:pre-wrap}.notice-reach-meter{display:flex;align-items:center;justify-content:space-between;background:var(--surface-sunken);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3)}.notice-filter-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-3)}.notice-filter-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.notice-filter-pill{background:var(--surface-alt);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);padding:4px 10px;font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:700;cursor:pointer;color:var(--ink);transition:all .1s ease}.notice-filter-pill:hover{border-color:var(--signal);background:var(--surface)}.notice-filter-pill.is-active{background:var(--signal);color:#fff;border-color:var(--ink);font-weight:600;box-shadow:var(--shadow-sm)}.splash-corner{animation:splash-corner-in .28s ease-out both}.splash-corner:nth-child(2){animation-delay:.12s}.splash-corner:nth-child(3){animation-delay:.18s}.splash-corner:nth-child(4){animation-delay:.24s}@keyframes splash-corner-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.splash-emblem-core{animation:splash-emblem-stamp .6s cubic-bezier(.16,1,.3,1) .05s both}@keyframes splash-emblem-stamp{0%{opacity:0;transform:scale(.68) rotate(-7deg)}60%{opacity:1;transform:scale(1.04) rotate(1deg)}to{opacity:1;transform:scale(1) rotate(0)}}.splash-title{animation:splash-title-wipe .5s cubic-bezier(.16,1,.3,1) .1s both}@keyframes splash-title-wipe{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(4px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0)}}.splash-diag-item{animation:splash-line-in .3s ease-out both;animation-delay:var(--line-delay, 0ms)}@keyframes splash-line-in{0%{opacity:0;transform:translateY(3px)}}.splash-progress-fill{transition:width .5s cubic-bezier(.16,1,.3,1)}.quick-grid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}.quick-action{display:flex;align-items:center;gap:var(--sp-3);min-height:68px;padding:var(--sp-3) var(--sp-4);text-align:start;font-family:var(--font-ui);font-size:var(--fs-base);font-weight:600;color:var(--ink);background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.quick-action:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:color-mix(in srgb,var(--signal) 32%,var(--line))}.quick-action:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.quick-action-icon{flex:0 0 auto;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:var(--tint-signal);border:none;border-radius:var(--radius-sm);color:var(--signal)}.quick-action-label{display:flex;flex-direction:column;gap:2px;min-width:0}.quick-action-hint{font-size:var(--fs-xs);font-weight:500;color:var(--muted-ink)}@media (prefers-reduced-motion: reduce){.splash-corner,.splash-emblem-core,.splash-title,.splash-diag-item,.splash-progress-fill,.quick-action{animation:none!important;transition:none!important}}.reg-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:var(--sp-2)}.reg-stat{display:flex;flex-direction:column;gap:2px;padding:var(--sp-3);background:var(--surface-alt);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm)}.reg-stat-value{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.reg-stat-label{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-ink)}.reg-stat.is-present .reg-stat-value{color:var(--mint)}.reg-stat.is-absent .reg-stat-value{color:var(--danger)}.reg-stat.is-late .reg-stat-value{color:var(--sun)}.bulk-input{width:100%;min-height:96px;padding:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.6;color:var(--ink);background:var(--surface-sunken);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);resize:vertical}.bulk-input:focus-visible{outline:none;border-color:var(--signal);box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 22%,transparent)}.bulk-hint{font-size:var(--fs-xs);color:var(--muted-ink)}.bulk-feedback{font-size:var(--fs-xs);font-weight:600}.bulk-feedback.is-warn{color:var(--sun)}.bulk-feedback.is-ok{color:var(--mint)}.reg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:var(--sp-2)}.reg-group{border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface)}.reg-group-head{display:flex;justify-content:space-between;align-items:center;padding:4px var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:700;color:var(--muted-ink);background:var(--surface-alt);border-bottom:var(--border-w) solid var(--line)}.reg-rolls{display:flex;flex-direction:column}.reg-roll{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);padding:3px var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-xs);border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.reg-roll:first-child{border-top:none}.reg-roll-no{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reg-roll-status{flex:0 0 auto;min-width:18px;text-align:center;font-weight:800;padding:0 4px;border-radius:var(--radius-pill)}.reg-roll.is-present .reg-roll-status{color:var(--mint);background:color-mix(in srgb,var(--mint) 14%,transparent)}.reg-roll.is-absent .reg-roll-status{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.reg-roll.is-late .reg-roll-status{color:var(--sun);background:color-mix(in srgb,var(--sun) 16%,transparent)}
