:root{--bg: #f4f6f9;--surface: #ffffff;--tile-line: #d5dce5;--tile-plinth: #d5dce5;--tile-plinth-hover: #a9c2e6;--text: #1b2430;--text-muted: #5c6874;--text-quiet: #5c6874;--accent: #2563c4;--accent-hover: #1b4fa0;--accent-soft: #eaf1fc;--accent-soft-line: #c3d4ee;--accent-tint: #f5f8fd;--on-accent: #ffffff;--line: #dce2ea;--row-line: #edf0f4;--control-line: #d0d6de;--ok: #1e9e5a;--ok-soft: #e4f5ea;--error: #b22222;--error-soft: #fbedec;--error-soft-line: #e8c4c0;--error-ink: #8c3a34;--warning-soft: #fbf3e8;--warning-soft-line: #e5c09a;--warning-ink: #8a4b00;--warning-text: #5e3a0a;--env-mark: #8b72ce;--env-mark-light: #b9a6e8;--env-mark-soft: #edeafb;--env-mark-text: #6b57c8;--env-stripe: 0px;--radius: 9px;--radius-tile: 14px;--radius-card: 12px;--gutter: 24px;--quiet-target: 64px;font-family:Golos Text,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;color-scheme:light}*{box-sizing:border-box}:root.env-marked{--env-stripe: 8px}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text)}h1,h2,p{margin:0}.env-stripe{position:fixed;top:0;left:0;right:0;height:var(--env-stripe);z-index:300;background:repeating-linear-gradient(135deg,var(--env-mark) 0 10px,var(--env-mark-light) 10px 20px)}.env-badge{background:var(--env-mark-soft);color:var(--env-mark-text);border-radius:5px;padding:4px 8px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}.primary{height:var(--quiet-target);padding:0 44px;border-radius:var(--radius-card);background:var(--accent);color:var(--on-accent);font-size:20px;font-weight:700}.primary:hover:not(:disabled){background:var(--accent-hover)}.primary:disabled{opacity:.45;cursor:default}.secondary{height:var(--quiet-target);padding:0 34px;border:1px solid var(--control-line);border-radius:var(--radius-card);background:var(--surface);color:#3c4757;font-size:19px;font-weight:700}.secondary:hover{border-color:#b9c6d6}.quiet{height:56px;padding:0 8px;color:var(--accent);font-size:17px;font-weight:700}.quiet:hover{color:#0a5568}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tiles{display:grid;gap:18px}.tiles.staff{grid-template-columns:repeat(auto-fill,minmax(272px,1fr))}.tiles.conditions{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.tiles.cats{grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:16px}.tile{background:var(--surface);border:1px solid var(--tile-line);border-radius:var(--radius-card);box-shadow:0 2px 0 var(--tile-plinth);text-align:left}.tile:hover{border-color:var(--accent);box-shadow:0 2px 0 var(--tile-plinth-hover)}.tiles.staff .tile{height:156px;border-radius:var(--radius-tile);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.tiles.staff .name{font-size:24px;font-weight:700}.tiles.cats .tile{height:76px;display:flex;align-items:center;gap:14px;padding:0 18px}.tiles.cats .name{font-size:19px;font-weight:700}.tiles.cats svg{width:28px;height:28px;flex-shrink:0}.tiles.conditions .tile{min-height:210px;border-radius:var(--radius-tile);padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.tiles.conditions svg{width:52px;height:52px}.tiles.conditions .name{font-size:26px;font-weight:700}.pill{border:1px solid var(--accent-soft-line);background:var(--accent-tint);color:var(--accent);border-radius:999px;padding:6px 20px;font-size:19px;font-weight:700;white-space:nowrap}.face{width:72px;height:72px;border-radius:50%;color:#141a21;font-size:26px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-content:start}@media(max-width:900px){.columns{grid-template-columns:1fr}}.list{background:var(--surface);border:1px solid var(--tile-line);border-radius:var(--radius-card);overflow:hidden;display:flex;flex-direction:column;align-self:start;width:100%}.list button{height:56px;flex-shrink:0;display:flex;align-items:center;gap:14px;padding:0 18px;border-bottom:1px solid var(--row-line);text-align:left}.list button:last-child{border-bottom:0}.list button{text-align:left}.list button:hover{background:var(--accent-tint)}.list .name{font-size:18px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list .term{margin-left:auto;font-size:16px;color:var(--text-muted);flex-shrink:0}.list svg{width:20px;height:20px;flex-shrink:0}.list.recents button{height:60px}.list.recents .name{font-size:19px}.list.recents svg{width:22px;height:22px}.list.found button{height:64px}.list.found .name{flex-shrink:0}.list.found .name{font-size:20px}.list.found .where{font-size:15px;color:var(--text-muted);flex-shrink:0}.list.found svg{width:22px;height:22px}.search{display:flex;align-items:center;gap:12px;height:64px;padding:0 20px;background:var(--surface);border:1px solid var(--tile-line);border-radius:var(--radius-card);flex-shrink:0}.search:focus-within{border:2px solid var(--accent);padding:0 19px}.search svg{color:#7b879a;flex-shrink:0}.search:focus-within svg{color:var(--accent)}.search input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:20px;font-weight:700;color:var(--text);outline:none}.search input::placeholder{font-weight:400;color:var(--text-muted)}.search.narrow{width:380px;height:48px;gap:10px;padding:0 14px;border-radius:10px}.search.narrow:focus-within{padding:0 13px}.search.narrow input{font-size:17px}.search.narrow svg{width:20px;height:20px}.search .clear{width:26px;height:26px;border-radius:50%;background:var(--row-line);color:var(--text-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0}.search .clear:hover{background:#e1e6ec}.booting,.failed,.pairing{min-height:100%;padding:calc(var(--env-stripe) + 40px) var(--gutter) 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;text-align:center}.booting h1,.failed h1,.pairing h1{font-size:34px;letter-spacing:-.02em}.booting .lead,.failed .lead{font-size:17px;color:var(--text-muted)}.pairing .lead{font-size:18px;color:#4a5769;line-height:1.5;max-width:620px}.pairing .hint{font-size:15px;color:var(--text-muted);max-width:560px;line-height:1.5}.pairing .failure{font-size:17px;color:var(--error);font-weight:700}.code{position:relative;display:flex;gap:12px}.code input{position:absolute;inset:0;width:100%;opacity:0;font:inherit;cursor:default}.code .cell{width:76px;height:92px;background:var(--surface);border:1px solid var(--tile-line);border-radius:var(--radius-card);display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:700;font-variant-numeric:tabular-nums}.code .cell.at{border:2px solid var(--accent)}.code input:focus-visible{outline:none}.code:focus-within .cell.at{box-shadow:0 0 0 3px var(--accent-soft)}.terminal{min-height:100%;padding-top:var(--env-stripe);display:flex;flex-direction:column}.strip{position:relative;height:60px;flex-shrink:0;display:flex;align-items:center;gap:14px;padding:0 var(--gutter);background:var(--surface);border-bottom:1px solid var(--line)}.strip .station{font-size:20px;font-weight:700}.strip .rule{width:1px;height:22px;background:var(--line);flex-shrink:0}.strip .paper{display:flex;align-items:center;gap:9px;height:40px;padding:0 12px;border-radius:var(--radius);font-size:17px}.strip .paper strong{font-weight:700;white-space:nowrap}.strip .paper svg{color:#7b879a;flex-shrink:0}.strip .paper:hover{background:#f1f4f7}.strip .paper.open{background:#e7eef9}.strip .paper.open svg{color:var(--accent)}.strip .who{margin-left:auto;display:flex;align-items:center;gap:16px;min-width:0}.strip .who .label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-quiet);font-weight:700}.strip .who .name{display:flex;flex-direction:column;gap:5px;min-width:0}.strip .who strong{font-size:19px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.strip .going-bar{height:3px;border-radius:2px;background:#e1e6ec;overflow:hidden}.strip .going-bar i{display:block;height:100%;background:var(--accent)}.paper-holder{position:relative;display:flex}.paper-holder .scrim{position:fixed;inset:0;z-index:30}.paper-menu{position:absolute;top:52px;left:0;width:380px;background:var(--surface);border:1px solid #d3dae2;border-radius:var(--radius-card);box-shadow:0 18px 44px #141e2d2e;padding:8px;display:flex;flex-direction:column;gap:2px;z-index:40;text-align:left}.paper-menu .about{padding:10px 12px 8px;display:flex;flex-direction:column;gap:3px}.paper-menu .about strong{font-size:15px;font-weight:700}.paper-menu .about span{font-size:13px;color:var(--text-muted);line-height:1.45}.paper-menu button{display:flex;align-items:center;gap:14px;padding:11px 12px;border-radius:var(--radius);width:100%;text-align:left}.paper-menu button:hover{background:#f1f4f7}.paper-menu button.chosen,.paper-menu button.chosen:hover{background:var(--accent-soft)}.paper-menu .sheet{width:56px;display:flex;justify-content:center;flex-shrink:0}.paper-menu .sheet i{display:block;background:#fff;border:1px solid #b9c6d6;border-radius:3px}.paper-menu .size{flex:1;font-size:17px;font-weight:700;text-align:left}.paper-menu .tick{color:var(--accent);flex-shrink:0}.note{flex-shrink:0;display:flex;align-items:center;gap:14px;padding:16px var(--gutter);border-bottom:1px solid;font-size:17px;font-weight:700}.note.bad{background:var(--error-soft);border-color:var(--error-soft-line)}.note.bad .sign{width:26px;height:26px;border-radius:50%;background:var(--error);color:#fff;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.note.bad .close{margin-left:auto;width:40px;height:40px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--error-ink);flex-shrink:0}.note.bad .close:hover{background:#f4dedc}.note.offline{background:var(--warning-soft);border-color:var(--warning-soft-line);color:var(--warning-text)}.note.offline svg{color:var(--warning-ink);flex-shrink:0}.note.offline .aside{margin-left:auto;font-size:15px;font-weight:400;color:var(--warning-ink);flex-shrink:0}.body{flex:1;min-height:0;padding:26px var(--gutter) 28px;display:flex;flex-direction:column;gap:20px}.body.dimmed{opacity:.45;pointer-events:none}.body h1{font-size:30px;letter-spacing:-.02em}.caption{font-size:13px;font-weight:700;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.nothing{font-size:18px;color:var(--text-muted);max-width:46rem;line-height:1.5}.head{display:flex;align-items:center;gap:16px;flex-shrink:0}.crumb{display:flex;align-items:center;gap:12px;min-height:48px}.crumb .name{font-size:26px;font-weight:700;letter-spacing:-.01em}.crumb .trailing{font-size:20px;color:var(--text-muted);font-weight:600}.head .count{font-size:16px;color:var(--text-muted);flex-shrink:0}.head .search{margin-left:auto}.esc-hint{font-size:15px;color:var(--text-muted)}.pin{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px}.pin .whose{display:flex;flex-direction:column;align-items:center;gap:14px}.pin .whose strong{font-size:26px;font-weight:700}.pin .whose span{font-size:18px;color:var(--text-muted)}.pin .boxes{position:relative;display:flex;gap:14px}.pin .boxes input{position:absolute;inset:0;width:100%;opacity:0;font:inherit}.pin .boxes .cell{width:62px;height:74px;background:var(--surface);border:1px solid var(--tile-line);border-radius:var(--radius-card);display:flex;align-items:center;justify-content:center}.pin .boxes .cell.full{border-color:var(--accent-soft-line)}.pin .boxes .cell.at{border:2px solid var(--accent)}.pin .boxes .cell i{width:14px;height:14px;border-radius:50%;background:var(--text)}.pin .wrong{color:var(--error);font-size:17px;font-weight:700}.printing{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.printing h1{font-size:28px}.printing p{font-size:19px;color:#4a5769}.spin{animation:spin .9s linear infinite;color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin{animation:none}}.printed{flex:1;display:flex;align-items:center;justify-content:center;padding:8px}.printed .card{width:660px;max-width:100%;background:var(--surface);border:1px solid var(--tile-line);border-radius:16px;box-shadow:0 2px 0 var(--tile-plinth);padding:34px 40px 30px;display:flex;flex-direction:column;align-items:center;gap:16px}.printed .tick{width:56px;height:56px;border-radius:50%;background:var(--ok-soft);color:var(--ok);display:flex;align-items:center;justify-content:center}.printed h1{font-size:30px;text-align:center;line-height:1.2}.printed .hairline{width:100%;height:1px;background:var(--row-line);margin:6px 0}.printed .label{font-size:13px;font-weight:700;color:var(--text-muted);letter-spacing:.14em;text-transform:uppercase}.printed .deadline{font-size:53px;font-weight:700;letter-spacing:-.02em;line-height:1.05;text-align:center;font-variant-numeric:tabular-nums}.printed .made{font-size:15px;color:var(--text-muted);text-align:center;line-height:1.5}.printed .dropped{font-size:15px;font-weight:700;color:var(--warning-ink);text-align:center}.printed .batch{font-size:17px;font-weight:700;color:var(--ok)}.printed .actions{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap;justify-content:center}.printed .actions .secondary{padding:0 22px}@media(max-width:900px){.strip{height:auto;flex-wrap:wrap;gap:10px 12px;padding:10px var(--gutter)}.strip .who{margin-left:0;width:100%}}
