.floor,.floor *{box-sizing:border-box}.floor{--floor-caption:clamp(16px, 1.6vw, 28px);--floor-gap:clamp(16px, 2vw, 40px);--floor-confirm-gap:240px;--floor-ink:#111;--floor-paper:#fff;--floor-muted:#6b6b6b;background:var(--floor-paper);height:100%;color:var(--floor-ink);font-family:var(--font);-webkit-user-select:none;user-select:none}.floor-number{flex-direction:column;align-items:center;line-height:1;display:flex}.floor-number__value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:600}.floor-number__caption{font-size:var(--floor-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--floor-muted);margin-top:.4em}.floor-mark{flex-direction:column;align-items:center;gap:.2em;display:inline-flex}.floor-mark__count{font-size:var(--floor-caption);font-variant-numeric:tabular-nums}.floor-button{background:var(--floor-paper);color:var(--floor-ink);border:4px solid var(--floor-ink);cursor:pointer;border-radius:24px;place-items:center;transition:background-color 80ms linear;display:grid}.floor-button:active{background:var(--floor-ink);color:var(--floor-paper)}.floor-counter{align-items:center;gap:var(--floor-gap);display:flex}.floor-confirm{justify-content:space-between;align-items:center;gap:var(--floor-confirm-gap);display:flex}.floor-error{z-index:1000;color:#fff;background:#c1121f;place-items:center;display:grid;position:fixed;inset:0}.floor-error__row{align-items:center;gap:clamp(24px,4vw,80px);display:flex}.floor-error__code{font-size:calc(var(--floor-caption,24px) * 4);letter-spacing:.04em;white-space:nowrap;font-weight:600}.floor-sound-badge{color:#c1121f;position:fixed;top:16px;right:16px}:root{--surface:#fff;--sheet:#f2f2f2;--surface-sunken:#f2f2f2;--line:#e6e6e6;--ink:#1a1a1a;--ink-muted:gray;--ink-faint:#b3b3b3;--accent:#eb6d07;--accent-soft:#fdf0e6;--ok:#4da32f;--ok-soft:#edf6e9;--r-frame:24px;--r-panel:20px;--r-card:16px;--r-chip:12px;--r-pill:999px;--shadow-card:0 1px 2px #1018280a, 0 4px 12px #1018280f;--shadow-frame:0 1px 2px #1018280f, 0 24px 60px #1018281a;--font:"Stem", "Calibri", "Carlito", system-ui, -apple-system, "Segoe UI", sans-serif}.num{font-variant-numeric:tabular-nums;letter-spacing:-.01em}:root{--glass-bg:#ffffffb8;--glass-bg-deep:#ffffffdb;--glass-blur:blur(20px) saturate(140%);--glass-border:1px solid #ffffffa6;--glass-shadow:0 1px 2px #1018280f, 0 8px 24px #1018281a;--glass-radius:16px}.glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--glass-radius)}.glass--deep{background:var(--glass-bg-deep)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass,.glass--deep{background:#fff}}@media (prefers-reduced-transparency:reduce){.glass,.glass--deep{-webkit-backdrop-filter:none;background:#fff}}@media print{.glass,.glass--deep{-webkit-backdrop-filter:none;box-shadow:none;background:#fff}}.route-board{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-frame);box-shadow:var(--shadow-card);overflow:auto}.route-card{z-index:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:12px 14px;position:relative}.route-card--ahead{background:var(--sheet);color:var(--ink-muted);border-style:dashed}.route-card--current{border:2px solid var(--accent);padding:11px 13px}.route-card--alarm{border-color:var(--accent);background:var(--accent-soft)}.route-stack{z-index:1;position:relative}.route-stack:before,.route-stack:after{content:"";border:1px solid var(--line);border-radius:var(--r-card) var(--r-card) 0 0;background:var(--surface);border-bottom:none;height:14px;position:absolute;left:8px;right:8px}.route-stack:before{background:var(--sheet);top:-10px;left:14px;right:14px}.route-stack:after{top:-5px}.route-chip{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--ink-muted);white-space:nowrap;align-items:center;gap:6px;padding:2px 9px;font-size:11px;line-height:1.5;display:inline-flex}.route-chip--alarm{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.route-chip--done{color:var(--ok);border-color:var(--ok);background:var(--ok-soft)}.route-toggle{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.route-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-chip)}@media print{.route-board{box-shadow:none}}@page{size:A4 portrait;margin:14mm 12mm 14mm 18mm}@media print{html,body{background:#fff}.no-print{display:none!important}main{max-width:none!important;margin:0!important;padding:0!important}.print-sheet{box-shadow:none;border:none;width:auto;margin:0;padding:0}.print-keep{break-inside:avoid;page-break-inside:avoid}.print-exact{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.print-sheet{border:1px solid var(--line);width:210mm;min-height:297mm;box-shadow:var(--shadow-card);background:#fff;margin:0 auto;padding:14mm 12mm 14mm 18mm}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--sheet);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}h1,h2,p{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.row-overdue>td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
