.board{--b-bg:#0c1424;--b-panel:#15203a;--b-line:#263354;--b-text:#f3f5fa;--b-muted:#9aa6c2;--b-accent:#fca311;--b-ok:#3ccf7a;--b-bad:#ff6b5e;background:var(--b-bg);min-height:100vh;color:var(--b-text);grid-template-rows:auto auto 1fr;gap:1.2vw;padding:2vw 2.4vw;font-size:clamp(16px,1.35vw,34px);display:grid}.board h1{font-size:2.1em;font-weight:700}.board-top{justify-content:space-between;align-items:baseline;display:flex}.board-clock{font-variant-numeric:tabular-nums;font-size:2.6em;font-weight:700}.board-stale{color:#ffd9d4;background:#5c1f1a;border-radius:8px;margin:0;padding:.4em .8em;font-weight:650}.board-empty{color:var(--b-muted);font-size:1.4em}.board-grid{grid-template-columns:1.15fr 1fr .85fr;gap:1.6vw;min-height:0;display:grid}.board-col{align-content:start;gap:1em;min-width:0;display:grid}.board-col>h2{color:var(--b-accent);text-transform:uppercase;letter-spacing:.06em;border-bottom:3px solid var(--b-line);padding-bottom:.25em;font-size:1.5em}.board-day,.board-alarm{background:var(--b-panel);border-radius:12px;padding:.7em .9em}.board-day h3,.board-alarm h3{color:var(--b-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4em;font-size:.95em}.board ul{gap:.45em;margin:0;padding:0;list-style:none;display:grid}.board-job{border-bottom:1px solid var(--b-line);grid-template-columns:auto 1fr auto;grid-template-areas:"when number prep""name name name""dates dates dates";align-items:center;gap:.1em .6em;padding-bottom:.35em;display:grid}.board-job:last-child{border-bottom:0;padding-bottom:0}.board-when{font-variant-numeric:tabular-nums;color:var(--b-accent);white-space:nowrap;grid-area:when;font-weight:700}.board-number{white-space:nowrap;grid-area:number;font-weight:700}.board-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-area:name;display:-webkit-box;overflow:hidden}.board-dates{color:var(--b-muted);grid-area:dates;font-size:.85em}.board-none{color:var(--b-muted);margin:0}.board-prep{background:#0a1020;border-radius:6px;grid-area:prep;width:6.5em;height:1.4em;position:relative;overflow:hidden}.board-prep .bar{background:#3b6fd6;position:absolute;inset:0 auto 0 0}.board-prep.done .bar{background:var(--b-ok)}.board-prep .label{text-align:center;font-variant-numeric:tabular-nums;font-size:.8em;font-weight:700;line-height:1.75em;display:block;position:relative}.board-alarm.on{outline:3px solid var(--b-bad);background:#3a1513}.board-alarm.on h3{color:#ffb4ab}.board-counts{grid-template-columns:1fr 1fr;gap:.8em;display:grid}.board-count{background:var(--b-panel);border-radius:12px;padding:.7em .9em;display:grid}.board-count .value{font-variant-numeric:tabular-nums;font-size:2.4em;font-weight:800;line-height:1}.board-count .label{color:var(--b-muted);font-size:.85em}.board-count.on .value{color:var(--b-accent)}.board-setup{grid-template-rows:1fr;place-items:center}.board-setup form{gap:1em;width:min(560px,90vw);display:grid}.board-setup label{color:var(--b-muted);gap:.3em;display:grid}.board-setup input,.board-setup button{font:inherit;border:2px solid var(--b-line);background:var(--b-panel);color:var(--b-text);border-radius:8px;padding:.5em .7em}.board-setup button{background:var(--b-accent);color:#2b1a00;border-color:var(--b-accent);cursor:pointer;font-weight:700}@media (width<=900px){.board-grid{grid-template-columns:1fr}.board{font-size:18px}}.respond{min-height:100vh;padding:var(--s5) var(--s4);background:var(--wash);place-items:start center;display:grid}.respond>.card{width:min(520px,100%)}.respond .body{gap:var(--s4);display:grid}.respond dl{gap:var(--s3);margin:0;display:grid}.respond dt{color:var(--muted);font-size:12px;font-weight:600}.respond dd{margin:0;font-size:16px}.respond .answer{gap:var(--s3);grid-template-columns:1fr 1fr;display:grid}.respond .answer .btn{min-height:48px;font-size:16px}.try{min-height:100vh;padding:var(--s4);place-items:center;display:grid}.try-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(640px,100%);box-shadow:var(--shadow);padding:var(--s5)}.try-card p{margin:0}.try-roles{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.try-role{gap:var(--s1);text-align:left;padding:var(--s4);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--paper);cursor:pointer;min-height:76px;display:grid}.try-role strong{font-size:16px}.try-role span{color:var(--muted)}.try-role:hover:not(:disabled){border-color:var(--brand);background:var(--wash)}.try-role:disabled{opacity:.6;cursor:progress}.try-note{font-size:13px}.demo-banner{justify-content:center;align-items:center;gap:var(--s2) var(--s3);padding:6px var(--s4);background:var(--accent);color:var(--accent-ink);text-align:center;flex-wrap:wrap;font-size:14px;font-weight:600;display:flex}.demo-banner-btn{border:1px solid var(--accent-ink);min-height:30px;color:var(--accent-ink);cursor:pointer;background:0 0;border-radius:999px;padding:2px 10px;font-weight:650}.demo-banner-btn:hover{background:#ffffff59}.demo-phone{text-align:center;justify-items:center;max-width:360px}.demo-phone p{margin:0}.demo-phone a{overflow-wrap:anywhere}.demo-qr{border:1px solid var(--line);display:block}.tour-host{z-index:900;pointer-events:none;position:fixed;inset:0}.tour-host>*{pointer-events:auto}.tour-host>.tour-ring,.tour-host>.visually-hidden{pointer-events:none}.tour-ring{border:3px solid var(--accent);border-radius:10px;position:fixed;box-shadow:0 0 0 2px #fff,0 0 0 5px #14213d59}.tour-card{width:min(340px,100vw - 16px);max-height:calc(100vh - 16px);padding:var(--s4);gap:var(--s2);background:var(--paper);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-lg);text-align:left;font-size:15px;font-weight:400;line-height:1.4;display:grid;position:fixed;bottom:16px;right:16px;overflow:auto;box-shadow:0 6px 28px #14213d47}.tour-card:focus{outline:3px solid var(--link);outline-offset:2px}.tour-card h2{margin:0;font-size:17px;line-height:1.25}.tour-card p{margin:0}.tour-kicker{letter-spacing:.02em;color:var(--muted);font-size:12px;font-weight:650}.tour-text{color:var(--ink-2)}.tour-muted{color:var(--muted)}.tour-warn{color:var(--warn);background:var(--warn-wash);border-radius:var(--radius);padding:6px 10px}.tour-actions{gap:var(--s2);margin-top:var(--s1);flex-wrap:wrap;align-items:center;display:flex}.tour-actions .grow{flex:1}.tour-btn{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);min-height:36px;color:var(--ink);font:inherit;cursor:pointer;padding:4px 14px;font-weight:600}.tour-btn:hover:not(:disabled){background:var(--wash)}.tour-btn:disabled{opacity:.45;cursor:default}.tour-btn.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.tour-btn.primary:hover{background:color-mix(in srgb, var(--brand) 88%, white)}.tour-btn.quiet{color:var(--link);background:0 0;border-color:#0000;padding-inline:8px;font-weight:550}.tour-btn:focus-visible{outline:3px solid var(--link);outline-offset:2px}.tour-list{gap:var(--s3);margin:0;padding:0;list-style:none;display:grid}.tour-list li{gap:var(--s3);justify-content:space-between;align-items:center;display:flex}.tour-blurb{color:var(--muted);font-size:14px}.tour-done{color:var(--ok);font-size:13px;font-weight:650}.tour-menu{width:min(360px,100vw - 16px)}.tour-card:before{content:"";background:var(--paper);border:1px solid var(--line-strong);width:12px;height:12px;display:none;position:absolute;transform:rotate(45deg)}.tour-card[data-side=below]:before{top:-7px;left:calc(var(--ax,40px) - 6px);border-bottom:0;border-right:0;display:block}.tour-card[data-side=above]:before{bottom:-7px;left:calc(var(--ax,40px) - 6px);border-top:0;border-left:0;display:block}.tour-card[data-side=right]:before{left:-7px;top:calc(var(--ay,40px) - 6px);border-top:0;border-right:0;display:block}.tour-card[data-side=left]:before{right:-7px;top:calc(var(--ay,40px) - 6px);border-bottom:0;border-left:0;display:block}.tour-card.sheet{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:auto;max-height:46vh;padding:var(--s3) var(--s4) max(var(--s3), env(safe-area-inset-bottom));border-width:1px 0 0;inset:auto 0 0}.tour-card.sheet:before{display:none}.tour-card.sheet .tour-btn{min-height:44px}@media (width<=640px){.demo-banner-btn{min-height:36px}}.docs-grid{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:start;display:grid}.docs-item{gap:var(--s2);align-content:start;display:grid}.docs-settings{gap:var(--s4);display:grid}.docs-settings fieldset{gap:var(--s3);border:0;min-width:0;margin:0;padding:0;display:grid}.docs-settings legend{margin-bottom:var(--s2);padding:0;font-weight:650}.docs-cols{gap:var(--s2) var(--s5);flex-wrap:wrap;display:flex}.docs-cols label{gap:var(--s2);align-items:center;display:inline-flex}.docs-layout{gap:var(--s4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.docs-preview{top:var(--s4);position:sticky}.docs-preview iframe{border:1px solid var(--line);border-radius:var(--radius);background:var(--wash);width:100%;height:78vh;min-height:420px}.docs-logo{gap:var(--s4);flex-wrap:wrap;align-items:center;display:flex}.docs-logo img{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);max-width:170px;max-height:60px;padding:4px}.docs-colour{gap:var(--s2);align-items:center;display:flex}.docs-colour input[type=color]{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);width:44px;height:34px;padding:2px}@media (width<=1100px){.docs-layout{grid-template-columns:1fr}.docs-preview{position:static}}.office{grid-template-rows:52px 1fr;grid-template-columns:200px 1fr;min-height:100vh;display:grid}.office-top{align-items:center;gap:var(--s4);padding:0 var(--s5);background:var(--brand);color:var(--brand-ink);grid-column:1/-1;display:flex}.office-top a{color:var(--brand-ink);opacity:.85}.office-top .muted{color:color-mix(in srgb, var(--brand-ink) 70%, transparent)}.office-top .btn.quiet{color:var(--brand-ink)}.office-top .btn.quiet:hover{background:#ffffff1a}.office-nav{padding:var(--s3);border-right:1px solid var(--line);background:var(--paper);flex-direction:column;gap:2px;display:flex}.office-nav a{border-radius:var(--radius);color:var(--ink-2);padding:8px 12px;font-weight:550}.office-nav a:hover{background:var(--wash);text-decoration:none}.office-nav a.active{background:color-mix(in srgb, var(--accent) 22%, white);color:var(--ink)}.office-main{padding:var(--s5);gap:var(--s4);align-content:start;min-width:0;display:grid}@media (width<=760px){.office{grid-template-rows:auto auto 1fr;grid-template-columns:1fr}.office-nav{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;overflow-x:auto}.office-main{padding:var(--s4)}}.scroll{max-width:100%;position:relative;overflow-x:auto}.small{font-size:12px}.two{gap:var(--s3);grid-template-columns:1fr 1fr;display:grid}.filters{gap:var(--s3);padding:var(--s3) var(--s4);flex-wrap:wrap;align-items:end;display:flex}.filters .field{flex:160px;min-width:160px}.combo{position:relative}.combo-list{z-index:20;background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);max-height:260px;margin:2px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow:auto}.combo-list[hidden]{display:none}.combo-list li{cursor:pointer;border-radius:4px;padding:6px 8px}.combo-list li.on{background:var(--info-wash)}.combo-list li.add{font-weight:600}ul.plain{margin:0;padding:0;list-style:none}.actions{text-align:right;white-space:nowrap}dl.facts{gap:var(--s3) var(--s4);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:0;display:grid}dl.facts dt,dl.totals dt{color:var(--muted);font-size:12px;font-weight:600}dl.facts dd,dl.totals dd{margin:0}dl.totals{gap:var(--s5);padding-top:var(--s3);border-top:1px solid var(--line);flex-wrap:wrap;margin:0;display:flex}dl.totals dd{font-variant-numeric:tabular-nums;font-size:16px}dl.totals .grand dd{font-size:20px;font-weight:700}.job-grid{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;display:grid}.job-head>header{align-items:flex-start}.problem{z-index:30;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--bad-wash);color:var(--bad);border:1px solid color-mix(in srgb, var(--bad) 30%, white);border-radius:var(--radius);flex-wrap:wrap;align-items:center;display:flex;position:sticky;top:0}.shortages{margin:0;padding-left:18px}.adder{gap:var(--s3);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);grid-template-columns:minmax(200px,3fr) 90px minmax(140px,1.5fr) auto;align-items:end;display:grid}.invoice-form{gap:var(--s3);flex-wrap:wrap;align-items:end;display:flex}.invoice-form .field{min-width:150px}table.lines td{vertical-align:top}table.lines tr.group-row th{background:var(--wash);text-align:left;color:var(--ink);font-size:13px}table.lines tr.accessory td:first-child{color:var(--ink-2)}.input.cell{text-align:right;width:84px;min-height:30px;padding:3px 8px}.cell-error{color:var(--bad);text-align:left;max-width:160px;margin-left:auto;font-size:12px}.history summary{cursor:pointer;padding:var(--s3) var(--s4);font-weight:650}.history-list{gap:var(--s2);margin:0;padding:0;list-style:none;display:grid}.chart{background:var(--paper);width:100%;height:auto;max-height:260px}@media (width<=760px){.two{grid-template-columns:1fr}.adder{grid-template-columns:1fr 1fr}.adder>:first-child{grid-column:1/-1}.office-top{gap:var(--s2);padding:0 var(--s3)}.jobs-table thead{display:none}.jobs-table,.jobs-table tbody,.jobs-table tr,.jobs-table td{width:100%;display:block}.jobs-table tr{padding:var(--s3);border-bottom:1px solid var(--line)}.jobs-table td{border:0;padding:2px 0}.jobs-table td:before{content:attr(data-label) ": ";color:var(--muted);font-size:12px}.jobs-table td[data-label=Job]{font-weight:650}.jobs-table td[data-label=Job]:before{content:""}}.office-main>*{min-width:0}.office-main{grid-template-columns:minmax(0,1fr)}.planner th[scope=row]{white-space:nowrap;font-weight:500}.planner th.day{white-space:nowrap;min-width:3.4rem}.planner td.short{background:var(--bad-wash);color:var(--bad);font-weight:650}.planner td.none-left{background:var(--warn-wash);color:var(--warn);font-weight:650}.planner td sup{color:var(--muted);margin-left:2px;font-weight:400}.planner td .hired-in{color:var(--info,var(--link));white-space:nowrap;font-size:11px;font-weight:500;display:block}.lanes{padding:4px 16px 12px}.lanes ul{margin:0;padding:0;list-style:none}.lane-row{border-top:1px solid var(--line);grid-template-columns:minmax(14rem,22rem) 1fr;align-items:center;gap:12px;padding:6px 0;display:grid}.lane-head{color:var(--muted);border-top:0;font-size:.82rem;font-weight:600}.lane-days{grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.lane-days span{white-space:nowrap;overflow:hidden}.lane-row .lane{background:var(--wash);border-radius:var(--radius);display:block}.lane-row .bar{border-radius:var(--radius);background:var(--brand);height:1.25rem;display:block}.lane-row .bar-quote,.lane-row .bar-provisional{border:2px dashed var(--link);background:0 0}.lane-row .bar-reserved{background:var(--accent)}.lane-row .bar-active{background:var(--ok)}.lane-row .bar-overdue{background:var(--bad)}@media (width<=700px){.lane-row{grid-template-columns:1fr}}.tiles{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:12px;display:grid}.tile{gap:2px;padding:14px 16px;display:grid}.tile strong{font-size:1.9rem;line-height:1.1}.tile span{color:var(--muted)}.tile-bad strong{color:var(--bad)}.tile-warn strong{color:var(--warn)}.phase-row{gap:var(--s3);padding-bottom:var(--s3);border-bottom:1px solid var(--line);grid-template-columns:7rem 1fr 1fr auto;align-items:end;display:grid}.phase-row>strong{align-self:center}@media (width<=700px){.phase-row{grid-template-columns:1fr 1fr}.phase-row>strong{grid-column:1/-1}}.wh{background:var(--wash);min-height:100vh;padding-bottom:env(safe-area-inset-bottom);font-size:17px;line-height:1.4}.wh *{-webkit-tap-highlight-color:transparent}.wh-top{z-index:5;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);padding-top:calc(var(--s3) + env(safe-area-inset-top));background:var(--brand);color:var(--brand-ink);display:flex;position:sticky;top:0}.wh-title{color:var(--brand-ink);align-items:center;min-height:44px;font-size:20px;font-weight:700;display:inline-flex}.wh-who{opacity:.9;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;overflow:hidden}.wh-signout{min-height:44px;color:var(--brand-ink);background:0 0;border-color:#ffffff8c}.wh-signout:hover{background:#ffffff1f;border-color:#fff}.wh-status{gap:var(--s2);padding:var(--s2) var(--s4);background:var(--paper);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.wh-pill{background:var(--wash);color:var(--ink-2);border:1px solid var(--line-strong);border-radius:999px;padding:4px 12px;font-size:14px;font-weight:650}.wh-pill.wait{background:var(--info-wash);color:var(--link);border-color:var(--link)}.wh-pill.off{background:var(--warn-wash);color:var(--warn);border-color:var(--warn)}.wh-pill.bad{background:var(--bad-wash);color:var(--bad);border-color:var(--bad)}.wh-main{max-width:680px;padding:var(--s4);margin:0 auto}.wh-stack{gap:var(--s4);display:grid}.wh-card{background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius-lg);padding:var(--s4);gap:var(--s3);display:grid}.wh-card h2{font-size:19px}.wh h1{overflow-wrap:anywhere;font-size:22px}.wh-back{align-items:center;min-height:44px;font-weight:650;display:inline-flex}.wh-job{gap:var(--s1);display:grid}.wh-label{color:var(--ink-2);margin-bottom:var(--s1);font-size:14px;font-weight:650;display:block}.wh .btn.wh-btn{min-height:56px;padding:0 var(--s5);border-width:2px;font-size:18px}.wh .btn.primary.wh-btn{background:var(--brand)}.wh-input{border:2px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);width:100%;min-height:56px;padding:10px 14px;font-size:18px}textarea.wh-input{min-height:80px}.wh-input:focus{border-color:var(--link);outline:3px solid color-mix(in srgb, var(--link) 30%, transparent)}.wh-input.big{font-size:22px;font-family:var(--mono)}.wh-input.num{text-align:center}.wh-list{gap:var(--s2);margin:0;padding:0;list-style:none;display:grid}.wh-item{align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);min-height:64px;color:var(--ink);display:flex}a.wh-link{text-decoration:none}a.wh-link:hover,a.wh-link:active{background:var(--info-wash);text-decoration:none}.wh-item.warn{border-left:8px solid var(--warn)}.wh-item.bad{border-left:8px solid var(--bad)}.wh-item.wait{border-left:8px solid var(--link);min-height:48px}.wh-count{font-size:18px;font-weight:700}.wh-count.ok{color:var(--ok)}.wh-progress{text-align:right;line-height:1.2;display:grid}.wh-search{gap:var(--s3);align-items:flex-end;display:flex}.wh-attention{border-color:var(--bad);border-width:2px}.wh-seg{gap:var(--s2);grid-template-columns:repeat(3,1fr);display:grid}.wh-seg button{border:3px solid var(--ink);border-radius:var(--radius-lg);background:var(--paper);min-height:64px;color:var(--ink);cursor:pointer;font-size:22px;font-weight:700}.wh-seg button[aria-checked=true]{background:var(--brand);color:var(--brand-ink)}.wh-seg.small button{border-width:2px;min-height:52px;font-size:18px}.wh-seg.small button.on.damaged{background:var(--warn);border-color:var(--warn)}.wh-seg.small button.on.lost{background:var(--bad);border-color:var(--bad)}.wh-condition{gap:var(--s2);border:0;min-width:0;margin:0;padding:0;display:grid}.wh-condition legend{color:var(--ink-2);margin-bottom:var(--s1);padding:0;font-size:14px;font-weight:650}.wh-code{gap:var(--s3);align-items:flex-end;display:flex}.wh-code .btn{flex:none}.wh-problem{color:var(--bad);margin:0;font-weight:650}.wh-results{gap:var(--s2);display:grid}.wh-result{gap:var(--s3);padding:var(--s3) var(--s4);border:2px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--paper);align-items:flex-start;font-size:16px;display:flex}.wh-result.latest{padding:var(--s4);border-width:3px;font-size:18px}.wh-result:not(.latest){opacity:.8}.wh-result-icon{color:#fff;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.wh-result-title{font-size:1.15em;display:block}.wh-result-detail{overflow-wrap:anywhere}.wh-result-note{margin-top:var(--s1);font-weight:600}.wh-result.ok{border-color:var(--ok);background:var(--ok-wash)}.wh-result.ok .wh-result-icon{background:var(--ok)}.wh-result.warn{border-color:var(--warn);background:var(--warn-wash)}.wh-result.warn .wh-result-icon{background:var(--warn)}.wh-result.bad{border-color:var(--bad);background:var(--bad-wash)}.wh-result.bad .wh-result-icon{background:var(--bad)}.wh-result.wait{border-color:var(--link);background:var(--info-wash)}.wh-result.wait .wh-result-icon{background:var(--link)}.wh-actions{gap:var(--s3);margin-top:var(--s2);flex-wrap:wrap;display:flex}.wh-actions .btn{flex:140px}.wh-qty{gap:var(--s3);align-items:center;display:flex}.wh-qty .btn{flex:none;width:64px;padding:0;font-size:28px}.wh-pick{gap:var(--s1);padding:var(--s3) var(--s4);border:1px solid var(--line-strong);border-radius:var(--radius);border-left:8px solid var(--line-strong);background:var(--paper);display:grid}.wh-pick.prepped{border-left-color:var(--link)}.wh-pick.out{border-left-color:var(--ok)}.wh-pick.returned{border-left-color:var(--ink-2);background:var(--wash)}.wh-need{white-space:nowrap;font-weight:700}.wh-counts{gap:var(--s4);flex-wrap:wrap;display:flex}.wh-counts b{font-size:1.1em}.wh-assets{gap:var(--s2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.wh-asset{font-family:var(--mono);border:1px solid var(--line-strong);background:var(--wash);border-radius:999px;padding:4px 10px;font-size:14px}.wh-asset.prepped{background:var(--info-wash);border-color:var(--link)}.wh-asset.out{background:var(--ok-wash);border-color:var(--ok)}.wh-camera{gap:var(--s3);display:grid}.wh-camera video{border-radius:var(--radius-lg);object-fit:cover;background:#000;width:100%;max-height:50vh}dialog.dialog .wh-stack{gap:var(--s4)}@media (width>=700px){.wh{font-size:18px}.wh-main{padding:var(--s5)}}@media (width<=400px){.wh-search,.wh-code{flex-wrap:wrap}.wh-search .btn,.wh-code .btn{width:100%}}.wh-note{color:#6b4600;background:#fff4e0;border-radius:8px;margin:0 0 8px;padding:8px 10px;font-size:15px}:root{--ink:#14213d;--ink-2:#3d4a66;--muted:#6b7489;--line:#dde1e8;--line-strong:#c3c9d4;--paper:#fff;--wash:#f4f6f9;--accent:#fca311;--accent-ink:#5c3a00;--brand:#14213d;--brand-ink:#fff;--link:#1f5fbf;--ok:#1d7a46;--ok-wash:#e4f4ea;--warn:#8a5a00;--warn-wash:#fff3d6;--bad:#b3261e;--bad-wash:#fde7e5;--info-wash:#e8f0fc;--radius:6px;--radius-lg:10px;--shadow:0 1px 2px #14213d14, 0 4px 16px #14213d14;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font:14px/1.45 var(--font);color:var(--ink);background:var(--wash);-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;font-weight:650;line-height:1.2}h1{font-size:22px}h2{font-size:17px}h3{text-transform:none;font-size:14px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid color-mix(in srgb, var(--link) 45%, transparent);outline-offset:1px}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:13px}.row{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.stack{gap:var(--s3);display:grid}.spread{justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.grow{flex:1}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{justify-content:center;align-items:center;gap:var(--s2);min-height:34px;padding:0 var(--s4);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);color:var(--ink);cursor:pointer;white-space:nowrap;font-weight:550;display:inline-flex}.btn:hover{border-color:var(--ink-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.btn.primary:hover{background:color-mix(in srgb, var(--brand) 88%, white)}.btn.danger{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 40%, white)}.btn.quiet{background:0 0;border-color:#0000}.btn.quiet:hover{background:var(--wash)}.btn.small{min-height:28px;padding:0 var(--s3);font-size:13px}.field{gap:var(--s1);display:grid}.field>span{color:var(--ink-2);font-size:12px;font-weight:600}.field .hint{color:var(--muted);font-size:12px}.input,select.input,textarea.input{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);width:100%;min-height:34px;padding:6px 10px}textarea.input{resize:vertical;min-height:72px}.input:focus{border-color:var(--link);box-shadow:0 0 0 3px color-mix(in srgb, var(--link) 20%, transparent);outline:none}.input[aria-invalid=true]{border-color:var(--bad)}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg)}.card>header{padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.card>.body{padding:var(--s4)}.table{border-collapse:collapse;background:var(--paper);width:100%}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:8px 10px}.table tr:last-child td{border-bottom:0}.table tbody tr.link-row{cursor:pointer}.table tbody tr.link-row:hover td{background:var(--wash)}.badge{background:var(--wash);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-flex}.badge.ok{background:var(--ok-wash);color:var(--ok)}.badge.warn{background:var(--warn-wash);color:var(--warn)}.badge.bad{background:var(--bad-wash);color:var(--bad)}.badge.info{background:var(--info-wash);color:var(--link)}.notice{padding:var(--s3) var(--s4);border-radius:var(--radius);border:1px solid var(--line);background:var(--paper)}.notice.bad{background:var(--bad-wash);border-color:color-mix(in srgb, var(--bad) 30%, white);color:var(--bad)}.notice.warn{background:var(--warn-wash);border-color:color-mix(in srgb, var(--warn) 30%, white);color:var(--warn)}.notice.ok{background:var(--ok-wash);border-color:color-mix(in srgb, var(--ok) 30%, white);color:var(--ok)}dialog.dialog{border-radius:var(--radius-lg);width:min(520px,100vw - 32px);box-shadow:var(--shadow);border:0;padding:0}dialog.dialog::backdrop{background:#14213d59}dialog.dialog>form,dialog.dialog>div{padding:var(--s5);gap:var(--s4);display:grid}.toasts{right:var(--s4);bottom:var(--s4);gap:var(--s2);z-index:50;display:grid;position:fixed}.toast{background:var(--ink);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow);max-width:380px;padding:10px 14px}.toast.bad{background:var(--bad)}.spinner{border:2px solid var(--line-strong);border-top-color:var(--ink);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.empty{padding:var(--s6);text-align:center;color:var(--muted)}
