:root{--ground: #eef1f5;--paper: #f7f9fb;--card: #ffffff;--ink: #262a31;--ink2: #5b636e;--muted: #949eaa;--line: #dde2e8;--line2: #c9d0d8;--coral: #f2453d;--coral-ink: #ffffff;--coral-soft: #fde4e2;--slate: #262a31;--slate2: #343a43;--onslate: #eef1f5;--dusk: #a7b7c5;--okbg: #e6eaef;--shadow: rgba(38, 50, 66, .3);--glass: rgba(255, 255, 255, .72);--thumbbg: #f1f4f7;--st-on: #2fbf71;--st-pause: #f5b524;--st-hide: #9aa4b0;--bg: var(--ground);--sunken: var(--paper);--line-strong: var(--line2);--ink-2: var(--ink2);--brand: var(--ink);--brand-2: var(--ink2);--brand-ink: var(--ground);--brand-soft: var(--okbg);--accent: var(--coral);--accent-ink: #ffffff;--accent-soft: var(--coral-soft);--ok: #1f8a55;--ok-soft: #e3f3ea;--warn: #9a6400;--warn-soft: #fbf0d6;--bad: var(--coral);--bad-soft: var(--coral-soft);--radius: 0px;--radius-sm: 0px;--tap: 48px;--shadow-pop: 0 24px 50px -20px var(--shadow);--font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;color-scheme:light}:root[data-theme=dark]{--ground: #14171c;--paper: #1a1e24;--card: #20252c;--ink: #eef1f5;--ink2: #b3bcc6;--muted: #79838f;--line: #2b313a;--line2: #3a414b;--coral: #ff5148;--coral-soft: #3a1d1c;--slate: #0c0e11;--slate2: #1a1e24;--onslate: #eef1f5;--okbg: #2b313a;--shadow: rgba(0, 0, 0, .6);--glass: rgba(32, 37, 44, .8);--thumbbg: #9aa4b0;--ok: #4fd08a;--ok-soft: #173326;--warn: #f1b53c;--warn-soft: #3a2e12;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:400 16px/1.5 var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--brand);text-underline-offset:3px}h1,h2,h3{line-height:1.1;margin:0 0 6px;letter-spacing:-.015em;font-weight:800}h1{font-size:26px}h2{font-size:19px}h3{font-size:16px}p{margin:0 0 12px}strong,b{font-weight:600}small,.small{font-size:13px;line-height:1.45}.muted{color:var(--muted)}.mono-plain{font-family:var(--mono);font-size:12px;word-break:break-all}.center{text-align:center}.nowrap{white-space:nowrap}hr{border:0;border-top:1px solid var(--line);margin:16px 0}.icon{display:inline-block;flex:none;vertical-align:-.18em}.with-icon{display:flex;gap:8px;align-items:flex-start}.with-icon>.icon{margin-top:1px}.page{max-width:720px;margin:0 auto;padding:16px 16px 112px}.page.wide{max-width:1100px}.stack{display:flex;flex-direction:column;gap:12px}.stack.tight{gap:6px}.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:520px){.grid3{grid-template-columns:1fr 1fr}}.section-title{font-size:15px;font-weight:600;color:var(--ink);margin:24px 0 10px;letter-spacing:-.005em}.section-title .muted{font-weight:400}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 16px;padding-top:max(8px,env(safe-area-inset-top));background:color-mix(in srgb,var(--ground) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);color:var(--ink)}.topbar .title{font-weight:600;font-size:17px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar a,.topbar button{color:var(--brand)}.topbar .back{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:-8px;background:none;border:0;border-radius:10px;cursor:pointer;color:var(--ink)}.topbar .back:active{background:var(--sunken)}.topbar .action{font:inherit;font-size:15px;font-weight:600;color:var(--brand);background:none;border:0;padding:8px 4px;text-decoration:none;display:inline-flex;align-items:center;gap:4px;cursor:pointer}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);background:color-mix(in srgb,var(--ground) 94%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabbar a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0;min-height:58px;justify-content:center;color:var(--muted);text-decoration:none;font-size:11px;font-weight:500}.tabbar a.active{color:var(--brand);font-weight:600}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.card.flat{background:var(--sunken);border-color:transparent}.card.tight{padding:12px 14px}.card.alert,.card.notice,.card.good{display:flex;gap:12px;align-items:flex-start;border-color:transparent;padding:14px 16px;color:var(--ink)}.card.alert{background:var(--bad-soft)}.card.notice{background:var(--accent-soft)}.card.good{background:var(--ok-soft)}.card.alert>.icon{color:var(--bad);margin-top:1px}.card.notice>.icon{color:var(--brand-2);margin-top:1px}.card.good>.icon{color:var(--ok);margin-top:1px}a.card{text-decoration:none;color:inherit}.list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.list>.item{position:relative;display:flex;align-items:center;gap:12px;padding:12px 16px;min-height:60px;color:inherit;text-decoration:none}.list>.item+.item:before{content:"";position:absolute;top:0;left:16px;right:0;border-top:1px solid var(--line)}.list>a.item:active,.list>button.item:active{background:var(--sunken)}.chev{color:var(--muted);opacity:.55;display:inline-flex;flex:none}.item .primary{font-weight:500;line-height:1.3}.item .secondary{color:var(--muted);font-size:14px;line-height:1.35;margin-top:2px}.list>button.item{background:none;border:0;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}.list>button.item.selected{background:var(--brand-soft)}.list>button.item.selected:after{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}.list>button.item:disabled{opacity:.45;cursor:not-allowed}.board-code{font-family:var(--mono);font-weight:600;font-size:13px;letter-spacing:-.01em;background:var(--sunken);color:var(--ink-2);border-radius:7px;padding:5px 8px;min-width:52px;text-align:center;white-space:nowrap}.empty{text-align:center;color:var(--muted);padding:28px 16px;font-size:15px}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;text-decoration:none;color:inherit;display:block}.stat .num{font-size:28px;font-weight:600;line-height:1.1;letter-spacing:-.02em}.stat .lbl{color:var(--muted);font-size:13px;margin-top:4px}.stat.bad .num{color:var(--bad)}.stat.warn .num{color:var(--warn)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;line-height:1;padding:5px 8px;border-radius:999px;background:var(--sunken);color:var(--ink-2);white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85;display:none}.badge.ok,.badge.warn,.badge.bad,.badge.brand{background:transparent;padding-left:0;padding-right:0}.badge.ok:before,.badge.warn:before,.badge.bad:before,.badge.brand:before{display:inline-block}.badge:is(.ok,.warn,.bad,.brand):has(>svg):before{display:none}.badge.ok{color:var(--ok)}.badge.warn{color:var(--warn)}.badge.bad{color:var(--bad)}.badge.brand{color:var(--brand-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:var(--radius-sm);border:1px solid transparent;font:inherit;font-weight:600;font-size:15px;text-decoration:none;letter-spacing:-.005em;background:var(--brand);color:var(--brand-ink);cursor:pointer;transition:background .15s,transform .06s,opacity .15s;-webkit-tap-highlight-color:transparent}.btn:hover{background:var(--brand-2)}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.secondary{background:var(--card);color:var(--ink);border-color:var(--line-strong)}.btn.secondary:hover{background:var(--sunken)}.btn.ghost{background:transparent;color:var(--brand-2)}.btn.ghost:hover{background:var(--sunken)}.btn.danger{background:var(--card);color:var(--bad);border-color:#efc7c4}.btn.danger:hover{background:var(--bad-soft)}.btn.accent{background:var(--accent);color:var(--accent-ink)}.btn.accent:hover{background:#4cc4f5}.btn.ok{background:var(--ok)}.btn.big{min-height:56px;font-size:16px;border-radius:12px}.btn.sm{min-height:36px;padding:0 12px;font-size:14px;border-radius:8px}.btn-row{display:flex;gap:10px}.btn-row>.btn{flex:1}.sticky-actions{position:fixed;left:0;right:0;bottom:0;z-index:25;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg) 70%,transparent)}.sticky-actions>*{max-width:688px;margin:0 auto}.field{display:flex;flex-direction:column;gap:6px}.field>span,.label{font-size:14px;font-weight:500;color:var(--ink-2)}.field small{font-size:13px}input,select,textarea{font:inherit;font-size:16px;color:var(--ink);min-height:48px;padding:10px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--card);width:100%;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#9aa7ad}textarea{min-height:96px;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 3px #5ecefb59}.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;cursor:pointer;line-height:1.4}.check input{width:22px;height:22px;min-height:0;flex:none;margin:1px 0 0;accent-color:var(--brand)}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--sunken);border-radius:11px;padding:3px;gap:2px}.seg button{min-height:42px;border:0;border-radius:9px;background:transparent;font:inherit;font-size:14px;font-weight:500;color:var(--muted);cursor:pointer}.seg button.on{background:var(--card);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #0f1d241a,0 0 0 1px var(--line)}.pin-input{font-family:var(--mono);font-size:28px;letter-spacing:.5em;text-align:center}.error{color:var(--bad);font-weight:500;font-size:14px}.toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%);z-index:60;background:var(--ink);color:#fff;padding:12px 16px;border-radius:12px;font-size:15px;font-weight:500;box-shadow:var(--shadow-pop);max-width:calc(100% - 32px)}.toast.bad{background:var(--bad)}.spinner{width:22px;height:22px;border:2.5px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading{display:flex;justify-content:center;padding:48px}.progress{height:4px;border-radius:99px;background:#ffffff59;overflow:hidden}.progress>div{height:100%;background:var(--accent);transition:width .2s}.sheet-backdrop{position:fixed;inset:0;background:#0f1d2466;z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--card);width:100%;max-width:560px;max-height:92vh;overflow:auto;border-radius:20px 20px 0 0;padding:12px 20px 20px;padding-bottom:max(20px,env(safe-area-inset-bottom));box-shadow:var(--shadow-pop)}.sheet:before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:var(--line-strong);margin:0 auto 14px}@media(min-width:700px){.sheet-backdrop{align-items:center}.sheet{border-radius:18px;padding-top:20px}.sheet:before{display:none}}.photo{position:relative;overflow:hidden;background:var(--sunken) center / cover no-repeat}.photo:has(>img){aspect-ratio:4 / 3}.photo img{width:100%;height:100%;object-fit:cover}.photo.contain img{object-fit:contain;background:#111}.photo .stamp,.annotator .stamp{position:absolute;left:6px;bottom:6px;max-width:calc(100% - 12px);font-size:11px;font-weight:500;color:#fff;background:#0a14199e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:6px;padding:3px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo .missing{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:13px;padding:8px}.photo button.hit{position:absolute;inset:0;background:transparent;border:0;cursor:zoom-in}.photo.natural{aspect-ratio:auto;min-height:60px}.photo.natural img{height:auto;object-fit:initial}.photo.empty-cell{aspect-ratio:4 / 3;border:1px dashed var(--line-strong);background:transparent}.annot{position:absolute;border:2.5px solid #ff4d42;border-radius:6px;box-shadow:0 0 0 1.5px #ffffffd9;pointer-events:none}.annot .n{position:absolute;top:-11px;left:-11px;width:22px;height:22px;border-radius:50%;background:#ff4d42;color:#fff;font-size:12px;font-weight:600;box-shadow:0 0 0 2px #fff;display:flex;align-items:center;justify-content:center}.annot.drawing{border-style:dashed}.annotator{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;cursor:crosshair;border-radius:var(--radius-sm);overflow:hidden}.annotator img{width:100%;height:auto;pointer-events:none}.compare-row{display:grid;gap:8px}.compare-row.c2{grid-template-columns:1fr 1fr}.compare-row.c3{grid-template-columns:1fr 1fr 1fr}.compare-row.markup{grid-template-columns:1fr 2fr;align-items:start}.compare-head{font-size:12px;font-weight:500;color:var(--muted)}.lightbox{position:fixed;inset:0;z-index:70;background:#0b0f11;color:#fff;display:flex;flex-direction:column}.lightbox .lb-top{display:flex;align-items:center;gap:12px;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top))}.lightbox .lb-body{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.lightbox .lb-body .stage{position:relative;max-width:100%;max-height:100%}.lightbox .lb-body img{max-height:calc(100vh - 200px);width:auto;margin:0 auto}.lightbox .lb-foot{padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.lightbox input[type=range]{min-height:0;padding:0;border:0;background:transparent;accent-color:var(--accent);box-shadow:none}.lightbox .btn.secondary{background:transparent;color:#fff;border-color:#ffffff4d}.capture{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.capture-head{background:var(--brand);color:#fff;padding:14px 16px;padding-top:max(14px,env(safe-area-inset-top))}.capture-head .shop{font-size:13px;opacity:.75}.capture-head .steps{display:flex;gap:4px;margin-top:12px}.capture-head .steps span{flex:1;height:4px;border-radius:99px;background:#ffffff38}.capture-head .steps span.done{background:#ffffffd9}.capture-head .steps span.here{background:var(--accent)}.capture-body{flex:1;padding:20px 16px;max-width:600px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:14px}.shot-title{font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.15}.shot-hint{font-size:17px;color:var(--ink-2)}.diagram{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.diagram svg{width:100%;height:auto;display:block}.file-btn{position:relative;overflow:hidden}.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer;min-height:0}.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.thumbs .t{position:relative;aspect-ratio:1;border-radius:9px;overflow:hidden;background:var(--sunken);border:2px solid transparent;padding:0;cursor:pointer}.thumbs .t img{width:100%;height:100%;object-fit:cover}.thumbs .t .lbl{position:absolute;left:0;right:0;bottom:0;font-size:10px;font-weight:500;color:#fff;background:#0a141999;padding:2px 4px;text-align:center}.thumbs .t.here{border-color:var(--accent)}.thumbs .t .ph{display:flex;align-items:center;justify-content:center;height:100%;font-size:11px;color:var(--muted);text-align:center;padding:4px;white-space:pre-line}.locked{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px 20px;text-align:center}.locked .big{width:56px;height:56px;border-radius:50%;margin:0 auto 6px;background:var(--ok-soft);color:var(--ok);display:flex;align-items:center;justify-content:center}.seal{display:inline-flex;flex-direction:column;gap:2px;background:var(--sunken);color:var(--ink-2);border-radius:10px;padding:10px 14px;font-size:14px;font-weight:500}.sigpad{width:100%;height:180px;border:1px dashed var(--line-strong);border-radius:0;background:#fff;touch-action:none}.waiver-text{white-space:pre-wrap;max-height:45vh;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;font-size:15px;line-height:1.6}.timeline{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.timeline table{border-collapse:collapse;min-width:720px;width:100%}.timeline th,.timeline td{border-bottom:1px solid var(--line);font-size:12px;font-weight:500}.timeline tr:last-child th,.timeline tr:last-child td{border-bottom:0}.timeline th.board{position:sticky;left:0;background:var(--card);z-index:1;text-align:left;padding:8px 12px;width:110px;min-width:110px;border-right:1px solid var(--line)}.timeline td.lane{position:relative;height:44px;padding:0}.timeline .bar{position:absolute;top:8px;bottom:8px;border-radius:6px;background:var(--brand);color:#fff;font-size:11px;font-weight:500;padding:3px 7px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border:0;cursor:pointer;text-align:left}.timeline .bar.fareharbor{background:#6b4fbb}.timeline .bar.online{background:var(--brand-2)}.timeline .bar.marketplace{background:#c98500;color:#1d1205}.timeline .bar.out{background:var(--ok)}.timeline .bar.late{background:var(--bad)}.timeline .buffer{position:absolute;top:8px;bottom:8px;background:repeating-linear-gradient(45deg,var(--line),var(--line) 3px,transparent 3px,transparent 6px);border-radius:4px}.timeline .hours{display:flex}.timeline .hours span{flex:1;color:var(--muted);font-size:11px;font-weight:400;padding:8px 0 6px 4px;border-left:1px solid var(--line)}.timeline .now{position:absolute;top:0;bottom:0;width:2px;background:#e8963a}.timeline .unassigned th.board{color:var(--warn)}.grid3.tiles3{grid-template-columns:repeat(3,1fr);gap:8px}.tiles3 .stat{padding:12px}.tiles3 .stat .num{font-size:24px}.actions-dock{position:sticky;bottom:calc(66px + env(safe-area-inset-bottom));z-index:15;margin:12px -16px 0;padding:12px 16px;background:linear-gradient(to top,var(--bg) 75%,transparent)}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin:0 -16px;padding-left:16px;padding-right:16px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chips>*{flex:none}.chip{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line-strong);background:var(--card);color:var(--ink-2);font:inherit;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap}.chip.on{background:var(--brand);border-color:var(--brand);color:#fff}dl.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px;margin:0;padding:0;border:0}dl.kv dt{color:var(--muted)}dl.kv dd{margin:0}.toggle{position:relative;display:inline-block;width:46px;height:28px;flex:none;cursor:pointer}.toggle input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer;z-index:1}.toggle input:disabled{cursor:not-allowed}.toggle span{position:absolute;inset:0;border-radius:14px;background:var(--line-strong);transition:background .18s}.toggle span:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f1d2440;transition:transform .18s}.toggle input:checked+span{background:var(--brand-2)}.toggle input:checked+span:after{transform:translate(18px)}.toggle input:disabled+span{opacity:.45}.toggle input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.list>.item.clickable{cursor:pointer}.list>.item.clickable:active{background:var(--sunken)}.thumb-sm{width:46px;height:46px;flex:none;border-radius:10px;overflow:hidden;background:var(--sunken)}.thumb-sm img,.thumb-sm svg{width:100%;height:100%;object-fit:cover;display:block}.board-code.sm{font-size:11.5px;padding:3px 6px;min-width:0;margin-right:4px;vertical-align:1px}.photo-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}.photo-tile{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--sunken);border:1px solid var(--line)}.photo-tile img{width:100%;height:100%;object-fit:cover}.photo-tile button{position:absolute;top:5px;right:5px;width:28px;height:28px;border-radius:50%;border:0;display:grid;place-items:center;background:#0f1d24b3;color:#fff;cursor:pointer}.photo-tile.add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-style:dashed;border-color:var(--line-strong);color:var(--brand-2);font-size:12px;font-weight:500;cursor:pointer;text-align:center;padding:4px}.photo-tile.add input{position:absolute;inset:0;opacity:0;cursor:pointer}.linkish{background:none;border:0;padding:0;font:inherit;color:var(--brand-2);text-decoration:underline;text-underline-offset:2px;cursor:pointer}body{font:400 14px/1.45 var(--font);background:var(--ground);color:var(--ink)}a{color:inherit}button{font:inherit;color:inherit}.mono{font-family:var(--mono);font-size:10px;line-height:1.5;letter-spacing:.06em;text-transform:uppercase}.cap{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.mut{color:var(--muted)}.ink2{color:var(--ink2)}.coral{color:var(--coral)}.h1{font-size:34px;font-weight:800;line-height:1.02;letter-spacing:-.02em;text-transform:uppercase;margin:0}.h1 .lt,.h2 .lt{font-weight:300}.h2{font-size:22px;font-weight:800;line-height:1.1;letter-spacing:-.01em;text-transform:uppercase;margin:0}.h3{font-size:16px;font-weight:700;margin:0}.big{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1}.row{display:flex;align-items:center;gap:12px}.col{display:flex;flex-direction:column}.grow{flex:1;min-width:0}.card{background:var(--card);padding:20px;position:relative;border:0;border-radius:0}.card.flat{background:var(--paper)}.card .hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.line{border-top:1px solid var(--line)}div.kv{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-top:1px solid var(--line)}div.kv:first-child{border-top:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:44px;min-height:44px;padding:0 18px;border:0;border-radius:0;cursor:pointer;font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;text-decoration:none;background:var(--ink);color:var(--ground);transition:transform .15s,box-shadow .2s,background .15s}.btn:hover{background:var(--ink);filter:brightness(1.08)}.btn:active{transform:scale(.97)}.btn.ink{background:var(--ink);color:var(--ground)}.btn.coral,.btn.accent{background:var(--coral);color:#fff;box-shadow:0 12px 24px -12px #f2453db3}.btn.ghost,.btn.secondary{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2);border:0}.btn.danger{background:var(--card);color:var(--coral);box-shadow:inset 0 0 0 1px var(--coral);border:0}.btn.ok{background:var(--ok);color:#fff}.btn.sm{height:34px;min-height:34px;padding:0 12px;font-size:10px;border-radius:0}.btn.big{height:52px;min-height:52px;font-size:12px;border-radius:0}.btn.block{display:flex;width:100%}.sq{width:40px;height:40px;display:grid;place-items:center;background:var(--card);border:0;cursor:pointer;flex:none;color:var(--ink)}.chip{display:inline-flex;align-items:center;gap:6px;height:22px;min-height:22px;padding:0 8px;border:0;border-radius:0;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:var(--okbg);color:var(--ink)}button.chip,.chips .chip{height:34px;min-height:34px;padding:0 12px;cursor:pointer;background:var(--card);box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink2)}button.chip.on,.chips .chip.on{background:var(--ink);color:var(--ground);box-shadow:none}.chip.coral{background:var(--coral);color:#fff}.chip.soft{background:var(--coral-soft);color:var(--coral)}.chip.line{background:transparent;box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink2)}.chip.ink{background:var(--ink);color:var(--ground)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--coral);flex:none}.dot.live{animation:livep 2s infinite}.dot.ink{background:var(--ink)}.dot.mut{background:var(--line2)}.tab{background:none;border:0;padding:8px 0;font-size:10.5px;font-weight:700;letter-spacing:.12em;color:var(--muted);cursor:pointer;position:relative;text-transform:uppercase;white-space:nowrap;text-decoration:none}.tab.on{color:var(--ink)}.tab.on:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--coral)}.tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.tbl td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tr:hover td{background:var(--paper)}.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.thumb{width:44px;height:44px;background:var(--thumbbg);display:grid;place-items:center;overflow:hidden;flex:none}.thumb img{max-width:84%;max-height:84%;object-fit:contain}.inp{width:100%;height:44px;min-height:44px;border:1px solid var(--line2);border-radius:0;background:var(--card);padding:0 12px;font:inherit;font-size:14px;color:var(--ink);outline:none}.inp:focus{border-color:var(--ink)}.lbl{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;display:block}input,select,textarea{border-radius:0;font-size:14px}input:focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:none}.tog{display:inline-block;width:38px;height:22px;border-radius:11px;background:var(--line2);position:relative;border:0;cursor:pointer;flex:none;transition:background .2s;padding:0}.tog:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .2s}.tog.on{background:var(--coral)}.tog.on:after{left:19px}.toggle input:checked+span{background:var(--coral)}.meter{height:6px;background:var(--line)}.meter>i{display:block;height:100%;background:var(--ink)}.meter>i.c{background:var(--coral)}.prod{filter:drop-shadow(0 26px 22px var(--shadow)) drop-shadow(0 6px 6px rgba(0,0,0,.1))}.ring{position:absolute;border:3px solid var(--coral);border-radius:50%;box-shadow:0 0 0 3px #ffffff8c}.scroll{overflow-y:auto;overflow-x:hidden}.pad{padding:0 22px}.phd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 22px 0}.ph-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;flex-wrap:wrap}.grid{display:grid;gap:14px}.cam{background:#0c0e11;color:#fff}.list{border:0;border-radius:0}.badge{border-radius:0;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.board-code{border-radius:0;font-family:var(--mono)}.seg,.seg button,.sheet{border-radius:0}.toast{border-radius:0;background:var(--ink);color:var(--ground)}.toast.bad{background:var(--coral);color:#fff}.capture-head{background:var(--slate)}.timeline .bar{border-radius:0;background:var(--ink);color:var(--ground)}.timeline .bar.marketplace{background:var(--coral);color:#fff}.timeline .now{background:var(--coral)}@keyframes livep{0%{box-shadow:0 0 #f2453d8c}to{box-shadow:0 0 0 8px #f2453d00}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes floaty{0%,to{translate:0 0}50%{translate:0 -10px}}.rise{animation:rise .45s both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.cap2{min-height:100vh;min-height:100dvh;background:#0c0e11;color:#fff;max-width:480px;margin:0 auto;padding-bottom:max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column}.cap2 .mono{color:inherit}.cap2-dim{color:#ffffff94}.cap2-top{display:flex;justify-content:space-between;align-items:center;padding:10px 20px 0;padding-top:max(10px,env(safe-area-inset-top))}.cap2-head{display:flex;align-items:center;gap:12px;padding:10px 20px 12px}.cap2-head b{font-size:15px}.cap2-sq{background:#ffffff1a!important;color:#fff!important}.cap2-body{padding:8px 20px 20px;display:flex;flex-direction:column;gap:16px}.cap2-body.cap2-light{color:var(--ink);padding:0 14px 20px}.cap2-diagram{background:#ffffff0f;padding:16px}.cap2-diagram svg{width:100%;height:auto;display:block}.cap2-tips{display:flex;flex-direction:column;gap:8px;color:#fff9}.cap2-tips span:before{content:"✓  ";color:var(--coral)}.cap2-view{position:relative;margin:0 14px;height:min(58vh,400px);min-height:300px;background:#1a1e24;overflow:hidden}.cap2-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.cap2-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:30px;color:#fff9;text-align:center}.cap2-fallback svg{width:100%;max-width:320px;opacity:.9}.cap2-corner{position:absolute;width:26px;height:26px;border:0 solid #fff;pointer-events:none}.cap2-corner.tl{left:14px;top:14px;border-top-width:3px;border-left-width:3px}.cap2-corner.tr{right:14px;top:14px;border-top-width:3px;border-right-width:3px}.cap2-corner.bl{left:14px;bottom:14px;border-bottom-width:3px;border-left-width:3px}.cap2-corner.br{right:14px;bottom:14px;border-bottom-width:3px;border-right-width:3px}.cap2-caption{position:absolute;left:0;right:0;bottom:0;padding:30px 12px 12px;text-align:center;background:linear-gradient(transparent,#0009)}.cap2-stamp{position:absolute;left:14px;right:14px;top:46px;display:flex;justify-content:center;align-items:center;gap:6px}.cap2-stamp:not(:has(.cap2-prog)){left:50%;right:auto;translate:-50% 0;background:#0c0e11b3;padding:4px 8px;white-space:nowrap}.cap2-prog{flex:1;max-width:200px;height:4px;background:#ffffff40}.cap2-prog>i{display:block;height:100%;background:var(--coral);transition:width .2s}.cap2-flash{position:absolute;inset:0;background:#fff;opacity:.8;animation:cap2-flash .18s ease-out forwards}@keyframes cap2-flash{to{opacity:0}}.cap2-hint{margin:10px 20px 0;font-size:13px;color:#ffffffb3}.cap2-chips{display:flex;gap:6px;overflow-x:auto;padding:12px 14px 0;scrollbar-width:none}.cap2-chips::-webkit-scrollbar{display:none}.cap2-chips button{flex:none;height:30px;padding:0 10px;border:0;cursor:pointer;font:inherit;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:transparent;color:#fff;box-shadow:inset 0 0 0 1px #ffffff4d}.cap2-chips button.done{color:var(--coral);box-shadow:inset 0 0 0 1px var(--coral)}.cap2-chips button.here{background:#fff;color:#0c0e11;box-shadow:none}.cap2-hist{display:flex;align-items:center;gap:12px;width:calc(100% - 28px);margin:12px 14px 0;border:0;cursor:pointer;background:#ffffff14;color:#fff;padding:12px;text-align:left;font:inherit}.cap2-hist.static{cursor:default;width:auto;margin:0}.cap2-hist b{display:block}.cap2-shutter{display:flex;align-items:center;justify-content:space-between;padding:16px 30px 6px}.cap2-shutter button.mono{background:none;border:0;cursor:pointer;padding:0;font-size:10px}.cap2 .shutter{width:72px;height:72px;border-radius:50%;border:4px solid #fff;background:var(--coral);cursor:pointer;display:grid;place-items:center;color:#fff;transition:transform .12s}.cap2 .shutter:active{transform:scale(.92)}.cap2 .shutter.again{background:#343a43}.cap2-extra{text-align:center;padding:6px 0 4px}.cap2-extra .linkish{color:#fff9;text-decoration:none}.cap2-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.cap2-thumbs .t{position:relative;aspect-ratio:1;overflow:hidden;background:#1a1e24;border:0;padding:0;cursor:pointer;color:#fff}.cap2-thumbs .t img{width:100%;height:100%;object-fit:cover}.cap2-thumbs .t .lbl{position:absolute;left:0;right:0;bottom:0;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:#0c0e11b3;padding:3px 4px;text-align:center}.cap2-thumbs .t .ph{display:grid;place-items:center;height:100%;font-size:10px;color:#ffffff73;text-transform:uppercase;letter-spacing:.08em}.cap2-locked{text-align:center;padding:26px 0 6px}.cap2-locked .seal-ic{width:64px;height:64px;margin:0 auto;display:grid;place-items:center;background:var(--coral);color:#fff;border-radius:50%;box-shadow:0 14px 30px -10px #f2453db3}.cap2 .btn:disabled{opacity:.45}.wv{display:flex;flex-direction:column;gap:12px}.wv .wv-text{font-size:12.5px;color:var(--ink2);white-space:pre-wrap;line-height:1.55}.wv .wv-text.clip{max-height:7.8em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}.wv .sigwrap{position:relative;background:var(--paper);box-shadow:inset 0 -1px 0 var(--line2)}.wv .sigpad{border:0;height:120px;background:transparent;display:block}.wv .sigwrap .mono{position:absolute;left:14px;bottom:6px;pointer-events:none}.crew{min-height:100vh;min-height:100dvh;max-width:560px;margin:0 auto;background:var(--ground);color:var(--ink);padding-top:env(safe-area-inset-top);padding-bottom:calc(86px + env(safe-area-inset-bottom));position:relative}.crew-phd{padding-top:16px;min-height:56px}.crew-body{display:block}.crew-page{padding:16px 22px 24px;max-width:none}.crew-page.wide{max-width:none}.pnav{flex:none;display:flex;justify-content:space-around;align-items:center;padding:12px 10px 28px;border-top:1px solid var(--line);background:var(--ground)}.pnav a{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:9px;font-weight:700;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;min-width:56px}.pnav a.on{color:var(--ink)}.pnav a.on svg{color:var(--coral)}.crew-nav{position:fixed;left:50%;translate:-50% 0;bottom:0;width:min(100%,560px);z-index:30;padding-bottom:calc(22px + env(safe-area-inset-bottom))}.crew-nav a,.crew a{text-decoration:none}.crew .lrow{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line);color:inherit}.crew .lrow b{display:block;font-weight:600;font-size:15px}.crew .thumb img{max-width:36px;max-height:36px}.crew .stat3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.crew .stat3 .card{padding:14px}.crew .stat3 .big{font-size:26px;margin-top:6px}.crew .btn2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.crew .seg4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.crew .seg3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.crew .opt{height:40px;border:0;background:var(--card);box-shadow:inset 0 0 0 1px var(--line2);font:inherit;font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);cursor:pointer}.crew .opt.on{background:var(--ink);color:var(--ground);box-shadow:none}.crew .inp.big{height:52px;font-size:16px}.crew .sticky-cta{position:sticky;bottom:calc(86px + env(safe-area-inset-bottom));padding:12px 22px;background:linear-gradient(to top,var(--ground) 70%,transparent);z-index:5}.crew .notice{display:flex;gap:12px;align-items:flex-start;padding:14px;font-size:13.5px;color:var(--ink2);background:var(--paper)}.crew .error{color:var(--coral)}.crew-cam{--ground: #111318;--card: #1c2027;--ink: #eef1f5;--ink2: #b3bcc6;--muted: #8a94a0;--line: #2b313a;--line2: #3a414b;background:#111318;color:#eef1f5}.crew-cam .crew-nav{background:#111318;border-top-color:#2b313a}.crew-cam .sq{background:#23272e;color:#fff}.viewfinder{position:relative;height:300px;background:#0c0e11 center / cover no-repeat;overflow:hidden}.viewfinder video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.viewfinder .corner{position:absolute;width:26px;height:26px;border:0 solid #fff}.viewfinder .laser{position:absolute;left:30px;right:30px;top:50%;height:2px;background:var(--coral);box-shadow:0 0 12px var(--coral);animation:laser 2.2s ease-in-out infinite}@keyframes laser{0%,to{translate:0 -60px}50%{translate:0 60px}}.signin{min-height:100vh;min-height:100dvh;max-width:440px;margin:0 auto;padding:calc(64px + env(safe-area-inset-top)) 22px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column}.pinbox{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pinbox span{height:50px;background:var(--card);display:grid;place-items:center;font-size:22px;font-weight:800;border-bottom:2px solid var(--line2)}.pinbox span.f{border-bottom-color:var(--coral)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.keypad button{height:52px;font-size:18px;font-weight:500;border:0;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);cursor:pointer}.keypad button:active{background:var(--paper)}.signin .btn:disabled{opacity:1;cursor:default}.timeline-steps{display:flex;gap:6px;flex-wrap:wrap}.fv-bar{height:12px;background:var(--line);position:relative;overflow:hidden}.fv-bar>div{position:absolute;top:0;bottom:0;left:0}.admin{--card-2: var(--paper);--series-1: var(--ink);--series-2: var(--coral);--series-3: var(--dusk);--series-4: var(--ink2);--grid: color-mix(in srgb, var(--ink) 8%, transparent);min-height:100vh;background:var(--ground);color:var(--ink)}body.admin-body{background:var(--ground)}.admin input:not([type=checkbox]):not([type=radio]):not([type=range]),.admin select,.admin textarea{background:var(--card);color:var(--ink);border:1px solid var(--line2);border-radius:0;min-height:40px;font-size:14px}.admin input:focus,.admin select:focus,.admin textarea:focus{border-color:var(--ink);box-shadow:none;outline:none}.admin .board-code{background:var(--ink);color:var(--ground)}.admin .badge{background:var(--okbg);color:var(--ink2)}.admin .sheet{background:var(--card)}.admin a{color:inherit;text-decoration:none}.admin hr{border-top-color:var(--line)}.admin-shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.admin-side{position:sticky;top:0;height:100vh;overflow:auto;scrollbar-width:none;padding:22px 0 14px;background:var(--slate);color:var(--onslate);display:flex;flex-direction:column;gap:0}.admin-side::-webkit-scrollbar{width:0}.admin-logo{padding:0 24px 22px;display:flex;align-items:center;justify-content:space-between;color:#fff}.admin-logo .mono{color:var(--coral)}.admin-shopname{margin:0 16px 14px;padding:12px 14px;background:#ffffff0f;display:flex;align-items:center;gap:12px;font-size:13px;color:var(--onslate)}.admin-shopname b{display:block;font-weight:700;color:#fff}.admin-shopname .mono{color:#eef1f57f}.admin-side .group{padding:12px 24px 4px;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#eef1f56b}.admin-side a.nav{position:relative;display:flex;align-items:center;gap:12px;padding:7px 24px;color:#eef1f5bd;text-decoration:none;font-size:13px;font-weight:500}.admin-side a.nav:hover{color:#fff}.admin-side a.nav.on{color:#fff;background:#ffffff12}.admin-side a.nav.on:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--coral)}.admin-side a.nav .n{margin-left:auto;background:var(--coral);color:#fff;font-size:10px;font-weight:700;padding:1px 6px}.admin-side .foot{margin-top:auto;padding:14px 24px 0;display:flex;align-items:center;gap:10px;font-size:12px;border-top:1px solid rgb(255 255 255 / 8%);color:var(--onslate)}.admin-side .foot .who{flex:1;min-width:0}.admin-side .foot .who b{display:block;color:#fff}.admin-side .foot .who span,.admin-side .foot .who button{color:#eef1f57f}.admin-side .foot .av{width:30px;height:30px;background:var(--coral);color:#fff;display:grid;place-items:center;font-weight:800;flex:none}.admin-side .foot .sq{width:30px;height:30px;background:#ffffff14;color:#fff}.admin-main{min-width:0;display:flex;flex-direction:column}.admin-top{position:sticky;top:0;z-index:10;height:68px;flex:none;display:flex;align-items:center;gap:14px;padding:0 32px;border-bottom:1px solid var(--line);background:var(--ground)}.admin-top .search{flex:1;max-width:420px;height:40px;background:var(--card);display:flex;align-items:center;gap:10px;padding:0 12px;color:var(--muted);font-size:13px}.admin-top .search input{border:0!important;background:transparent!important;min-height:0!important;height:38px;padding:0;flex:1;color:var(--ink)}.admin-body-pad{padding:28px 32px 56px}.admin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}.admin-head h1{font-size:34px;font-weight:800;line-height:1.02;letter-spacing:-.02em;text-transform:uppercase;margin:6px 0 0}.admin-head h1 .lt{font-weight:300}.admin-head p{margin:6px 0 0;color:var(--ink2);max-width:680px}.period{display:inline-flex;gap:0}.period button{border:0;background:var(--card);color:var(--ink2);font:inherit;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;height:40px;padding:0 14px;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line2)}.period button+button{margin-left:-1px}.period button.on{background:var(--ink);color:var(--ground);box-shadow:none;position:relative}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:14px}.kpi{background:var(--card);padding:20px;min-width:0}.kpi .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.kpi .val{font-size:clamp(24px,2.2vw,32px);white-space:nowrap;font-weight:800;letter-spacing:-.02em;margin-top:10px;line-height:1}.kpi .val.coral{color:var(--coral)}.kpi .sub{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-top:10px}.delta{font-family:var(--mono);font-size:10px;font-weight:700;padding:2px 6px;margin-left:8px;vertical-align:middle}.delta.up{color:var(--ink);background:var(--okbg)}.delta.down{color:var(--coral);background:var(--coral-soft)}.delta.flat{color:var(--muted);background:var(--okbg)}.panel{background:var(--card);padding:20px;min-width:0}.panel h2{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 4px}.panel .hint{color:var(--muted);font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 14px}.panel .phd2{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panels{display:grid;gap:14px;grid-template-columns:repeat(12,1fr);align-items:start}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.chart{position:relative}.chart svg{display:block;width:100%;overflow:visible}.chart .axis text{fill:var(--muted);font-size:10px;font-family:var(--mono)}.chart .grid line{stroke:var(--grid)}.chart .bar{transition:opacity .12s}.chart .hit{fill:transparent;cursor:default}.chart .hit:hover+.bar,.chart .bar.hover{opacity:.8}.tip{position:absolute;pointer-events:none;z-index:5;min-width:120px;background:var(--slate);border:0;padding:8px 10px;font-size:12px;color:var(--onslate);box-shadow:var(--shadow-pop);transform:translate(-50%,calc(-100% - 10px))}.tip .t{color:#eef1f599;margin-bottom:4px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.tip .r{display:flex;align-items:center;gap:8px;justify-content:space-between}.tip .r b{color:#fff;font-weight:700}.tip .key{width:12px;height:2px;display:inline-block;margin-right:6px}.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--ink2);margin-top:10px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;display:inline-block}.share{display:flex;height:12px;overflow:hidden;gap:2px;background:var(--card)}.share>div{height:100%}.heat{display:grid;grid-template-columns:40px repeat(var(--cols),1fr);gap:2px;font-size:10px;font-family:var(--mono);color:var(--muted)}.heat .c{aspect-ratio:1.4;position:relative}.heat .c:hover{outline:2px solid var(--ink);outline-offset:-1px}.dt-wrap{overflow-x:auto}.dt{width:100%;border-collapse:collapse;font-size:13px}.dt th{text-align:left;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);background:var(--card);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;position:sticky;top:0}.dt th.num,.dt td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.dt td:first-child{white-space:nowrap}.dt td{padding:12px;border-bottom:1px solid var(--line);color:var(--ink2);vertical-align:middle}.dt tr:last-child td{border-bottom:0}.dt tbody tr:hover td{background:var(--paper)}.dt td strong{color:var(--ink);white-space:nowrap}.dt .meter{width:80px;height:6px;background:var(--line);display:inline-block;vertical-align:middle;margin-left:8px;overflow:hidden}.dt .meter>i{display:block;height:100%;background:var(--ink)}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.toolbar input,.toolbar select{min-height:40px;font-size:13px;width:auto}.flag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;margin:1px 4px 1px 0;white-space:nowrap;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.flag.top_earner{color:var(--ink);background:var(--okbg)}.flag.idle{color:var(--ink2);background:transparent;box-shadow:inset 0 0 0 1px var(--line2)}.flag.retire_candidate{color:#fff;background:var(--coral)}.flag.in_repair,.flag.damage_prone{color:var(--coral);background:var(--coral-soft)}.loading-veil{opacity:.55;transition:opacity .2s}@media(max-width:1100px){.span-8,.span-7,.span-6,.span-5,.span-4{grid-column:span 12}}@media(max-width:860px){.admin-shell{grid-template-columns:1fr}.admin-side{position:static;height:auto;flex-direction:row;overflow-x:auto;padding:10px 12px;gap:4px;align-items:center}.admin-side .group,.admin-side .foot,.admin-shopname{display:none}.admin-logo{padding:0 12px 0 4px}.admin-side a.nav{white-space:nowrap;padding:8px 12px}.admin-side a.nav.on:before{inset:auto 0 0;width:auto;height:3px}.admin-top{padding:0 16px}.admin-body-pad{padding:18px 16px 48px}.admin-head h1{font-size:26px}}.admin .toast{background:var(--ink);color:var(--ground);border:0}.admin .toast.bad{background:var(--coral);color:#fff}.admin a.btn.coral{color:#fff}.admin a.btn.ink,.admin a.btn:not(.ghost):not(.secondary):not(.coral):not(.danger){color:var(--ground)}.admin a.btn.secondary,.admin a.btn.ghost{color:var(--ink)}.dt td .btn{white-space:nowrap}.site-strip{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;background:var(--slate);color:var(--onslate);padding:18px 20px;margin-bottom:14px}.site-strip>.row>div{max-width:620px}.site-strip-side{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.site-strip .flag{font-size:10px}.admin .thumb-sm{width:52px;height:40px;border-radius:0}.site-board{display:flex;align-items:center;gap:12px;white-space:normal;min-width:280px}.site-board .small{margin-top:2px;max-width:360px}.rating-cell{display:inline-flex;align-items:center;gap:4px;color:var(--coral);white-space:nowrap}.rating-cell .muted{color:var(--muted)}.up-list{display:grid;gap:4px}.up-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.up-item:first-child{border-top:0;padding-top:0}.date-chip{width:46px;flex:none;text-align:center;background:var(--paper);padding:5px 0 6px;line-height:1.1}.date-chip span{display:block;font-family:var(--mono);font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.date-chip strong{font-size:18px;font-weight:800}.up-money{text-align:right;display:grid;white-space:nowrap}.review-list{display:grid;gap:10px}.review-item{background:var(--paper);padding:12px 14px;display:grid;gap:6px}.review-item p{margin:0;color:var(--ink2);font-size:13px}.stars-row{display:inline-flex;gap:2px;color:var(--line2)}.stars-row .on{color:var(--coral)}.hub-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.hub-stats>div{background:var(--paper);padding:10px 12px;display:grid;gap:2px}.hub-stats strong{font-size:20px;font-weight:800}.admin .board-code.sm{font-size:11px;padding:2px 6px}body.adm-body{background:var(--ground)}.adm{display:flex;min-height:100vh;background:var(--ground);color:var(--ink);font:14px/1.45 var(--font)}.adm *,.adm *:before,.adm *:after{box-sizing:border-box}.adm a{color:inherit;text-decoration:none}.adm h1,.adm h2,.adm h3,.adm p{margin:0}.adm input,.adm select,.adm textarea{min-height:0;font-size:14px;border-radius:0}.adm .side{width:236px;flex:none;background:var(--slate);color:var(--onslate);display:flex;flex-direction:column;padding:22px 0 14px;position:sticky;top:0;height:100vh;overflow:hidden}.adm .side .brand{padding:0 24px 16px;display:flex;align-items:center;justify-content:space-between;color:#fff}.adm .side .loc{margin:0 16px 6px;padding:10px 12px;background:#ffffff0f;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--onslate)}.adm .side .loc:hover{background:#ffffff1a}.adm .side nav{flex:1;overflow-y:auto;scrollbar-width:none}.adm .side nav::-webkit-scrollbar{width:0}.adm .side .grp{padding:8px 24px 3px;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#eef1f56b}.adm .side a.it{display:flex;align-items:center;gap:12px;padding:3.5px 24px;font-size:12.5px;color:#eef1f5bd;position:relative;line-height:1.45}.adm .side a.it:hover{color:#fff}.adm .side a.it.on{color:#fff;background:#ffffff12}.adm .side a.it.on:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--coral)}.adm .side a.it .n{margin-left:auto;background:var(--coral);color:#fff;font-size:10px;font-weight:700;padding:1px 6px}.adm .side .me{padding:14px 24px 0;display:flex;align-items:center;gap:10px;border-top:1px solid rgba(255,255,255,.08)}.adm .side .me .sq{width:30px;height:30px;background:#ffffff14;color:#fff}.adm .main{flex:1;min-width:0;display:flex;flex-direction:column;height:100vh}.adm .top{height:68px;flex:none;display:flex;align-items:center;gap:14px;padding:0 32px;border-bottom:1px solid var(--line);background:var(--ground)}.adm .top .search{flex:1;max-width:420px;height:40px;background:var(--card);display:flex;align-items:center;gap:10px;padding:0 12px;color:var(--muted);font-size:13px}.adm .top .search input{flex:1;border:0;background:transparent;outline:none;padding:0;height:100%;color:var(--ink);font:inherit;font-size:13px;min-width:0}.adm .top .search input::placeholder{color:var(--muted)}.adm .top .sq{position:relative}.adm .top .sq .dot{position:absolute;right:9px;top:9px}.adm .content{flex:1;overflow-y:auto;padding:28px 32px 40px;scrollbar-width:thin}.adm .ph-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;flex-wrap:wrap}.adm .ph-head .h1{margin-top:6px}.adm .ph-head .acts{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.adm .card{background:var(--card);padding:20px;position:relative;border:0;border-radius:0;min-width:0}.adm .card.flat{background:var(--paper)}.adm .card.slate{background:var(--slate);color:var(--onslate)}.adm .card.slate .ink2,.adm .card.slate .mut{color:#eef1f5b3}.adm .card .hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px}.adm .card.pad0{padding:8px 8px 0;overflow-x:auto}.adm .tab{font-size:13px}.adm button.chip.f{height:22px;min-height:22px;padding:0 8px;border:0;cursor:pointer}.adm button.chip.f.line{background:transparent;box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink2)}.adm button.chip.f.ink{background:var(--ink);color:var(--ground);box-shadow:none}.adm .tabs{gap:22px}.adm .grid{display:grid;gap:14px}.adm .col{display:flex;flex-direction:column;gap:14px;min-width:0}.adm .kv{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.adm .kv:first-child{border-top:0}.adm a.kv:hover,.adm button.kv:hover{background:var(--paper)}.adm .clip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.adm button.kv{width:100%;border:0;border-top:1px solid var(--line);background:none;font:inherit;color:inherit;cursor:pointer;text-align:left}.adm .kv.first,.adm .card>.kv:first-of-type{border-top:0}.adm .ph34{width:34px;height:34px;background:var(--paper);display:grid;place-items:center;flex:none}.adm .s12{font-size:12.5px}.adm .s13{font-size:13px}.adm .tbl td{font-size:13.5px}.adm .tbl tr.click{cursor:pointer}.adm .tbl tr.sel td{background:var(--paper)}.adm .tbl tr.sel td:first-child{box-shadow:inset 3px 0 0 var(--coral)}.adm .meter{display:block;height:6px;background:var(--line);border-radius:0;margin:0;width:auto}.adm .meter>i{display:block;height:100%;background:var(--ink);border-radius:0}.adm .meter>i.c{background:var(--coral)}.adm .thumb{background:var(--thumbbg)}.adm .thumb img{max-width:84%;max-height:84%;object-fit:contain}.adm .chk{width:20px;height:20px;display:inline-grid;place-items:center;background:var(--coral);color:#fff}.adm .chk.off{background:transparent;box-shadow:inset 0 0 0 1.5px var(--line2);color:transparent}.adm .btn{white-space:nowrap}.adm .btn:disabled{opacity:.45;cursor:not-allowed}.adm a.btn.ghost,.adm button.btn.ghost{color:var(--ink)}.adm a.btn.ink{color:var(--ground)}.adm a.btn.coral{color:#fff}.adm .tog:disabled{opacity:.5;cursor:not-allowed}.adm .empty{padding:26px 12px;text-align:center;color:var(--muted);font-size:13px}.adm .err{background:var(--coral-soft);color:var(--coral);padding:12px 16px;margin-bottom:14px;font-size:13px}.adm .linkish{background:none;border:0;padding:0;font:inherit;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.adm .num{font-variant-numeric:tabular-nums}.adm .spin{opacity:.55;transition:opacity .2s}.adm .bars{display:flex;align-items:flex-end;gap:6px}.adm .bars>div{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end;min-width:0}.adm .bars i{display:block;width:100%;background:var(--ink);transition:height .4s}.adm .bars i.c{background:var(--coral)}.adm .bars .mono{font-size:8.5px;color:var(--muted)}.adm .field{display:flex;flex-direction:column;gap:0}.adm .field .inp{margin:0}.adm textarea.inp{height:auto;padding:10px 12px;line-height:1.5;resize:vertical}.adm select.inp{appearance:auto}.adm .seg2{display:flex;gap:8px}.adm .seg2 .btn{flex:1}.adm .modal-back{position:fixed;inset:0;background:#0c0e1173;z-index:60;display:grid;place-items:center;padding:24px}.adm .modal{background:var(--card);width:min(520px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:24px;box-shadow:0 40px 80px -30px #00000080}.adm .modal .hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.adm .modal .form{display:grid;gap:12px}.adm .modal .form2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.adm .toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:80;background:var(--ink);color:var(--ground);padding:12px 18px;font-size:13px;font-weight:600;border-radius:0;box-shadow:0 20px 40px -16px var(--shadow)}.adm .toast.bad{background:var(--coral);color:#fff}.adm .photo{background:#000 center / cover no-repeat;position:relative;overflow:hidden}.adm .photo img{width:100%;height:100%;object-fit:cover;display:block}.adm .ring{position:absolute;border:3px solid var(--coral);border-radius:50%;box-shadow:0 0 0 3px #ffffff8c;pointer-events:none}.adm pre.code{margin:0;padding:16px;background:var(--slate);color:#d7dde5;font:11.5px/1.6 var(--mono);white-space:pre-wrap;overflow:hidden}.adm .cal-cell{border:0;border-left:1px solid var(--line);cursor:pointer;padding:8px 4px;text-align:center;font:inherit;background:transparent;color:var(--ink);min-width:0}.adm .cal-cell.wk{background:var(--paper)}.adm .cal-cell.hol{background:var(--coral-soft)}.adm .cal-cell.full{background:var(--coral);color:#fff}.adm .cal-cell.on{box-shadow:inset 0 0 0 2px var(--ink)}.adm .kan .card{padding:14px;margin-bottom:10px}.adm .tpl{display:block;width:100%;text-align:left;border:0;cursor:pointer;padding:12px 20px;font:inherit;background:transparent;color:var(--ink)}.adm .tpl.on{background:var(--paper);box-shadow:inset 3px 0 0 var(--coral)}.adm .bubble{background:var(--okbg);padding:12px 14px;margin-top:10px;font-size:13.5px;line-height:1.45}.adm{--series-1: var(--ink);--series-2: var(--coral);--series-3: var(--dusk);--series-4: var(--line2);--grid: var(--line);--card-2: var(--paper)}.adm .chart .axis text{fill:var(--muted);font-family:var(--mono);font-size:9px}.adm .tip{background:var(--slate);border:0;border-radius:0;color:#d7dde5}.adm .tip .r b{color:#fff}.adm .legend{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2)}.adm .legend i{border-radius:0}.adm .share{border-radius:0;background:var(--line)}.adm .heat .c{border-radius:0}.adm .dt-wrap{border:0;border-radius:0}.adm .dt{font-size:13.5px}.adm .dt th{background:var(--card);font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.adm .dt td,.adm .dt td strong{color:var(--ink)}.adm .dt tbody tr:hover td{background:var(--paper)}.adm .dt .meter{width:80px;display:inline-block;margin-left:8px;vertical-align:middle}.adm .flag{border-radius:0;font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px}.adm .flag.top_earner{color:var(--ink);background:var(--okbg)}.adm .flag.idle{color:var(--ink2);background:var(--paper)}.adm .flag.retire_candidate{color:#fff;background:var(--coral)}.adm .flag.in_repair,.adm .flag.damage_prone{color:var(--coral);background:var(--coral-soft)}.adm .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:14px}.adm .kpi{background:var(--card);border:0;border-radius:0;padding:20px}.adm .kpi .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:400}.adm .kpi .val{font-size:30px;font-weight:800;letter-spacing:-.02em;margin-top:10px}.adm .kpi .sub{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-top:8px}.adm .delta{border-radius:0}.adm .delta.up{color:var(--ink);background:var(--okbg)}.adm .delta.down{color:var(--coral);background:var(--coral-soft)}.adm .panels{display:grid;gap:14px;grid-template-columns:repeat(12,1fr);align-items:start}.adm .panel{background:var(--card);border:0;border-radius:0;padding:20px}.adm .panel h2{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}.adm .panel .hint{color:var(--muted);font-size:12.5px;margin:0 0 14px}.adm .site-strip{background:var(--slate);color:var(--onslate);border:0;border-radius:0}.adm .site-strip .muted{color:#eef1f5b3}.adm .review-item,.adm .hub-stats>div,.adm .date-chip{background:var(--paper);border:0;border-radius:0}.adm .stars-row{color:var(--line2)}.adm .stars-row .on,.adm .rating-cell{color:var(--coral)}.adm .board-code{background:var(--okbg);color:var(--ink);border-radius:0;font-family:var(--mono)}.adm .thumb-sm{border-radius:0}.adm .toolbar select{height:40px;border:1px solid var(--line2);background:var(--card);color:var(--ink);padding:0 10px}.adm .sheet-backdrop{background:#0c0e1173}.adm .sheet{border-radius:0;background:var(--card);color:var(--ink)}@media(max-width:1280px){.adm .content{padding:24px 22px 36px}.adm .top{padding:0 22px}.adm .g5{grid-template-columns:repeat(3,1fr)!important}.adm .g4{grid-template-columns:repeat(2,1fr)!important}.adm .gside{grid-template-columns:1fr!important}.adm .span-8,.adm .span-7,.adm .span-6,.adm .span-5,.adm .span-4{grid-column:span 12}}@media(max-width:1100px){.adm .side{width:200px}.adm .g3{grid-template-columns:repeat(2,1fr)!important}.adm .gsplit{grid-template-columns:1fr!important}}.adm .bare{background:none;border:0;padding:0;color:inherit;cursor:pointer;text-align:left}.adm .field>.lbl{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.adm .photo:has(>img){aspect-ratio:auto}
