
/* Layout: sticky navy header + tab bar; work views in a single max-width column; job detail opens as a right-hand drawer (full screen on phones). */
:root{
  --bg:#F3F5F8; --panel:#FFFFFF; --sunk:#F6F8FA; --ink:#15233A; --muted:#5B6B80; --line:#E1E6ED;
  --head:#13233D; --head-ink:#EEF3FA; --head-muted:#9DB0CB;
  --btn:#E8A33D; --btn-ink:#13233D; --amber:#B9770C; --amber-bg:#FCEFD6; --cyan:#1A86A8; --cyan-bg:#DDF1F7;
  --hold:#B8322B; --hold-bg:#FBE3E1; --ok:#2C7A4C; --ok-bg:#E0F1E6; --shadow:0 1px 2px rgba(19,35,61,.05),0 2px 8px rgba(19,35,61,.04);
  --grid:rgba(26,134,168,.05);
  --f-display:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0E1626; --panel:#152037; --sunk:#111B2E; --ink:#E6ECF5; --muted:#97A7BF; --line:#24324A;
  --head:#0A1120; --head-ink:#E5ECF6; --head-muted:#8295B1;
  --btn:#E8A33D; --btn-ink:#13233D; --amber:#F0B354; --amber-bg:#3A2B10; --cyan:#4CC0E2; --cyan-bg:#0F3240;
  --grid:rgba(76,192,226,.05); --hold:#FF7B71; --hold-bg:#3D1A1A; --ok:#5ECB8C; --ok-bg:#133222; --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.25); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0E1626; --panel:#152037; --sunk:#111B2E; --ink:#E6ECF5; --muted:#97A7BF; --line:#24324A;
  --head:#0A1120; --head-ink:#E5ECF6; --head-muted:#8295B1;
  --btn:#E8A33D; --btn-ink:#13233D; --amber:#F0B354; --amber-bg:#3A2B10; --cyan:#4CC0E2; --cyan-bg:#0F3240;
  --grid:rgba(76,192,226,.05); --hold:#FF7B71; --hold-bg:#3D1A1A; --ok:#5ECB8C; --ok-bg:#133222; --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.25); color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0}
html,body{background:var(--bg);color:var(--ink)}
body{background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px}
body{font-family:var(--f-display);font-size:14.5px;line-height:1.45}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--head)}
button,input,select,textarea{font:inherit;color:inherit}
.mono,.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background-color:var(--head);background-image:linear-gradient(rgba(63,182,217,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(63,182,217,.09) 1px,transparent 1px),linear-gradient(rgba(63,182,217,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(63,182,217,.045) 1px,transparent 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px;border-bottom:1px solid rgba(63,182,217,.25);color:var(--head-ink);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.top-in{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:12px 0}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto;min-width:0}
.brand svg{flex:none}
.brand .mod{font-family:var(--f-mono);font-size:12px;color:#3FB6D9;letter-spacing:.08em;text-transform:uppercase;border-left:1px solid rgba(63,182,217,.35);padding-left:10px}
.co{display:flex;align-items:center;gap:8px;color:var(--head-ink);font-weight:600;font-size:13.5px;min-width:0}
.co img{max-height:28px;max-width:120px;border-radius:4px;background:#fff;padding:2px}
.co .abn{font-family:var(--f-mono);font-size:12px;color:var(--head-muted);font-weight:400}
.brand b{font-size:20px;letter-spacing:-.01em}
.brand b i{font-style:normal;color:#E8A33D}
.brand span{font-family:var(--f-mono);font-size:12px;color:var(--head-muted);letter-spacing:.08em;text-transform:uppercase}
.live{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.18);color:var(--head-muted)}
.live.on{color:#7FE0A8;border-color:rgba(127,224,168,.4)}
.live.off{color:#F4C26B;border-color:rgba(244,194,107,.45)}
nav.tabs{max-width:1240px;margin:0 auto;display:flex;gap:2px;overflow-x:auto;padding-top:10px;scrollbar-width:none}
nav.tabs a{color:var(--head-muted);text-decoration:none;padding:9px 14px 11px;border-radius:8px 8px 0 0;white-space:nowrap;font-weight:500;display:flex;gap:7px;align-items:center}
nav.tabs a:hover{color:var(--head-ink)}
nav.tabs a[aria-current="page"]{background:var(--bg);color:var(--ink)}
nav.tabs .cnt{font-family:var(--f-mono);font-size:12px;background:rgba(255,255,255,.12);padding:1px 6px;border-radius:999px}
nav.tabs a[aria-current="page"] .cnt{background:var(--hold-bg);color:var(--hold)}
main{max-width:1240px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:20px 60px}
h1{font-size:24px;margin:0;letter-spacing:-.015em;text-wrap:balance}
h2{font-size:16px;margin:0;letter-spacing:-.005em}
h3{font-size:12px;margin:0;font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.sub{color:var(--muted);margin:4px 0 0;max-width:68ch}
.vhead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.stack{display:flex;flex-direction:column;gap:16px}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0}
.panel>h2+.sub{margin-bottom:12px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.stat{display:flex;align-items:baseline;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.stat b{font-family:var(--f-mono);font-size:18px}
.stat span{color:var(--muted);font-size:13px}
.stat.hold b{color:var(--hold)}
.stat.warn b{color:var(--amber)}
.btn{appearance:none;border:1px solid transparent;background:var(--btn);color:var(--btn-ink);padding:8px 14px;border-radius:8px;font-weight:600;cursor:pointer;line-height:1.2}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{background:var(--sunk)}
.btn.small{padding:5px 10px;font-size:13px;font-weight:500}
.btn.danger{background:var(--hold);color:#fff}
.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.fld{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 150px}
.fld>span{font-size:12px;color:var(--muted);font-weight:500}
.fld input,.fld select,.fld textarea,.inline-in{border:1px solid var(--line);background:var(--sunk);border-radius:8px;padding:8px 10px;width:100%;min-width:0}
.fld textarea{min-height:64px;resize:vertical}
.fld.wide{flex-basis:100%}
.form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.chk{display:flex;gap:8px;align-items:center;font-size:13.5px;padding:6px 0}
.tag{font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:5px;white-space:nowrap;display:inline-block}
.tag.hold{background:var(--hold-bg);color:var(--hold)}
.tag.warn{background:var(--amber-bg);color:var(--amber)}
.tag.ok{background:var(--ok-bg);color:var(--ok)}
.tag.info{background:var(--cyan-bg);color:var(--cyan)}
.tag.plain{background:var(--sunk);color:var(--muted);border:1px solid var(--line)}
/* Board */
.board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:start}
@media (max-width:1100px){.board{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}}
.lane{background:var(--sunk);border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;min-width:0}
.lane-h{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 4px}
.lane-h .num{color:var(--muted);font-size:12px}
.lane-empty{color:var(--muted);font-size:13px;padding:10px 4px}
.card{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.card:hover{border-color:var(--cyan)}
.card:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.card.blocked{border-left:4px solid var(--hold)}
.card-top{display:flex;justify-content:space-between;gap:6px;align-items:center}
.jno{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.stage{font-size:12px;color:var(--cyan);font-weight:600;text-align:right}
.card-name{font-weight:600;line-height:1.25}
.card-meta{font-size:12.5px;color:var(--muted)}
.card-foot{display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px}
.due{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.due.near{color:var(--amber)} .due.late{color:var(--hold);font-weight:700}
/* Drawer */
.scrim{position:fixed;inset:0;background:rgba(8,14,26,.45);z-index:40;display:none}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(760px,100%);background:var(--bg);z-index:41;overflow-y:auto;transform:translateX(100%);visibility:hidden;transition:transform .2s ease,visibility 0s .2s;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)}
body.drawer-open .scrim{display:block}
body.drawer-open .drawer{transform:none;visibility:visible;transition:transform .2s ease;box-shadow:-10px 0 40px rgba(8,14,26,.25)}
@media (prefers-reduced-motion:reduce){.drawer{transition:none}}
.dhead{position:sticky;top:0;background:var(--head);color:var(--head-ink);padding:14px 18px;display:flex;gap:12px;align-items:flex-start;z-index:2}
.dhead .jno{color:var(--head-muted)}
.dhead h1{font-size:20px;color:var(--head-ink)}
.dhead .x{font-size:14px;margin-left:auto;flex-shrink:0;white-space:nowrap;width:auto;min-width:0;height:auto;background:rgba(255,255,255,.1);color:var(--head-ink);border:0;border-radius:8px;padding:6px 10px;cursor:pointer}
.dbody{padding:16px 18px 40px;display:flex;flex-direction:column;gap:14px}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px 16px}
.fact span{display:block;font-size:12px;color:var(--muted)}
.fact b{font-weight:600}
.stepper{display:flex;gap:3px;flex-wrap:wrap;margin:4px 0 10px}
.stepper i{height:6px;flex:1 1 18px;border-radius:3px;background:var(--line)}
.stepper i.done{background:var(--cyan)}
.stepper i.cur{background:var(--amber)}
.stepper i.gate{outline:2px solid var(--hold);outline-offset:1px}
.blockmsg{background:var(--hold-bg);color:var(--hold);border-radius:10px;padding:10px 12px;font-size:13.5px}
.blockmsg b{display:block;margin-bottom:4px}
.blockmsg ul{margin:4px 0 0;padding-left:18px}
/* Issues */
.iss{border:1px solid var(--line);border-left:4px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel);display:flex;flex-direction:column;gap:6px}
.iss.s-critical{border-left-color:var(--hold)} .iss.s-major{border-left-color:var(--amber)} .iss.s-minor{border-left-color:var(--cyan)}
.iss.closed{opacity:.6}
.iss-head{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:12.5px;color:var(--muted)}
.iss-title{font-weight:500}
.iss-rfi{font-size:13px;color:var(--muted)}
.iss-ans{font-size:13px;background:var(--ok-bg);color:var(--ok);padding:6px 8px;border-radius:6px}
.iss-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.inline-in{padding:5px 8px;font-size:13px;flex:1 1 180px;width:auto}
.list{display:flex;flex-direction:column;gap:8px}
/* Tables */
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
table{border-collapse:collapse;width:100%;font-size:13.5px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;background:var(--sunk);white-space:nowrap}
tr:last-child td{border-bottom:0}
td.n,th.n{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
tr.click{cursor:pointer} tr.click:hover td{background:var(--sunk)}
td.over{color:var(--hold);font-weight:700}
.bar{height:8px;border-radius:4px;background:var(--line);overflow:hidden;min-width:80px}
.bar i{display:block;height:100%;background:var(--cyan)}
.bar.over i{background:var(--hold)}
.bar.warn i{background:var(--amber)}
.running{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--ok-bg);flex-wrap:wrap}
.running .clock{font-family:var(--f-mono);font-size:20px;font-weight:700;color:var(--ok)}
.pill{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;font-weight:600;padding:3px 9px;border-radius:999px}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.pill.up{background:var(--ok-bg);color:var(--ok)} .pill.down{background:var(--hold-bg);color:var(--hold)} .pill.away{background:var(--amber-bg);color:var(--amber)}
.chips{display:flex;gap:4px;flex-wrap:wrap}
.chip{font-size:12px;background:var(--sunk);border:1px solid var(--line);padding:2px 7px;border-radius:999px}
.plan{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;font-size:13.5px}
.plan dt{color:var(--muted)} .plan dd{margin:0}
@media (max-width:520px){.plan{grid-template-columns:1fr}.plan dt{margin-top:6px}}
.sugg{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:6px}
.empty{color:var(--muted);text-align:center;padding:24px 12px;border:1px dashed var(--line);border-radius:12px}
.empty b{display:block;color:var(--ink);margin-bottom:4px}
.note{font-size:12.5px;color:var(--muted)}
.banner{background:var(--amber-bg);color:var(--amber);border-radius:10px;padding:10px 14px;margin-bottom:16px;font-size:13.5px}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--head);color:var(--head-ink);padding:10px 16px;border-radius:10px;z-index:60;font-size:13.5px;box-shadow:var(--shadow);max-width:calc(100% - 32px)}
.toast.err{background:var(--hold);color:#fff}
textarea.copy{width:100%;min-height:160px;font-family:var(--f-mono);font-size:12px;border:1px solid var(--line);border-radius:8px;background:var(--sunk);padding:8px}
.sep{height:1px;background:var(--line);margin:4px 0}


.role{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:rgba(232,163,61,.18);color:#F4C26B}
.items{display:flex;flex-direction:column;gap:6px}
.item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--panel)}
.item.blocked{border-left:4px solid var(--hold)}
.item-name{font-weight:600}
.item-meta{font-size:12.5px;color:var(--muted);display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.item-ctl{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.item-ctl select{border:1px solid var(--line);background:var(--sunk);border-radius:8px;padding:5px 8px;font-size:13px}
@media (max-width:560px){.item{grid-template-columns:1fr}.item-ctl{justify-content:flex-start}}
.tmpl{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.prog{display:flex;gap:2px;margin-top:2px}
.prog i{height:5px;flex:1;border-radius:2px;background:var(--line)}
.prog i.on{background:var(--cyan)}
.prog i.hold{background:var(--hold)}
.mini{font-size:12px;color:var(--muted)}
.lane .card .item-of{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
[id^="st-tt-"],#st-skills{min-height:140px!important}
.tw td.mono{white-space:nowrap}
.drawer td select.inline-in{max-width:160px;font-size:12.5px;padding:4px 6px}
.drawer .dreg td:nth-child(2){min-width:0}
#drawer table.dreg{table-layout:fixed;width:100%}#drawer table.dreg th:nth-child(1){width:15%}#drawer table.dreg th:nth-child(2){width:22%}#drawer table.dreg th:nth-child(3){width:6%}#drawer table.dreg th:nth-child(4){width:24%}#drawer table.dreg th:nth-child(5){width:9%}#drawer table.dreg th:nth-child(6){width:7%}#drawer table.dreg th:nth-child(7){width:17%}#drawer table.dreg td:nth-child(7){white-space:normal}#drawer table.dreg td:nth-child(7) .btn{display:flex;width:100%;margin:0 0 4px;padding-left:6px;padding-right:6px}#drawer table.dreg td:nth-child(7)>div{flex-direction:column;align-items:stretch;gap:4px}#drawer table.dreg td:nth-child(7)>div>*{width:100%;margin:0!important}#drawer table.dreg td select{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box}#drawer table.dreg td{overflow-wrap:anywhere}#drawer table.dreg select{width:100%;min-width:0}#drawer table.dreg .form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;align-items:end}#drawer table.dreg .form .btn{justify-self:start}
.lane.over{outline:2px dashed var(--cyan);outline-offset:2px;background:var(--cyan-bg)}
.drops{display:none;flex-wrap:wrap;gap:4px}
body.dragging .drops{display:flex}
.drop{border:1px dashed var(--cyan);color:var(--cyan);padding:6px 8px;border-radius:8px;font-size:12px;font-weight:600;background:var(--panel);flex:1 1 auto;text-align:center}
.drop.over{background:var(--cyan);color:var(--panel);border-style:solid}
.card[draggable="true"]{cursor:grab;-webkit-user-drag:element;user-select:none;-webkit-user-select:none}
.card.dragging{opacity:.35;transform:scale(.98)}
.sched table{min-width:900px;table-layout:fixed}
.sched th.who{width:150px;position:sticky;left:0;background:var(--panel);z-index:1;text-align:left;font-family:var(--f-display);text-transform:none;letter-spacing:0;font-size:13.5px;color:var(--ink)}
.sched thead th.who{background:var(--sunk)}
.sched thead th.today{color:var(--amber)}
.sched td.cell{vertical-align:top;padding:6px 6px 14px;height:58px;position:relative}
.sched td.cell.today{background:color-mix(in srgb,var(--amber) 6%,transparent)}
.sched td.cell.away{background:repeating-linear-gradient(135deg,var(--amber-bg) 0 8px,transparent 8px 16px)}
.sched td.cell.down{background:repeating-linear-gradient(135deg,var(--hold-bg) 0 8px,transparent 8px 16px)}
.sched td.cell.over{outline:2px dashed var(--cyan);outline-offset:-3px;background:var(--cyan-bg)}
.sched tr.unrow td,.sched tr.unrow th{background:var(--sunk)}
.cell-flag{font-size:12px;font-weight:700;color:var(--amber);margin-bottom:4px}
.cell-flag.hold{color:var(--hold)}
.tchip{border-left:4px solid var(--jc);background:var(--panel);border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:6px;padding:4px 6px;margin-bottom:4px;font-size:12px;line-height:1.3;cursor:pointer;overflow:hidden}
.tchip[draggable="true"]{cursor:grab;-webkit-user-drag:element;user-select:none}
.tchip{display:flex;gap:6px;align-items:baseline}
.tchip .tn{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tchip .th{font-family:var(--f-mono);font-size:12px;color:var(--muted);flex:none}
.tchip.done{opacity:.5;text-decoration:line-through}
.tchip.warn{border-right:3px solid var(--hold)}
.tchip.dragging{opacity:.35}
.cap{position:absolute;left:6px;right:6px;bottom:6px;height:3px;background:var(--line);border-radius:2px;overflow:hidden}
.cap i{display:block;height:100%;background:var(--cyan)}
.cap-l{font-family:var(--f-mono);font-size:12px;color:var(--muted);margin-top:2px}
.cap-l.over{color:var(--hold);font-weight:700}
.addt{position:absolute;right:4px;top:4px;border:1px dashed var(--line);background:transparent;color:var(--muted);border-radius:6px;width:22px;height:22px;line-height:18px;cursor:pointer;opacity:0;padding:0}
td.cell:hover .addt,.addt:focus-visible{opacity:1}
@media (hover:none){.addt{opacity:.7}}
.ahead td{min-width:110px}
.mk{display:inline-block;font-size:12px;font-weight:600;padding:2px 6px;border-radius:5px;margin:1px 2px 1px 0;white-space:nowrap}
.mk.due{background:var(--hold-bg);color:var(--hold)}.mk.wo{background:var(--cyan-bg);color:var(--cyan)}.mk.ins{background:var(--ok-bg);color:var(--ok)}.mk.sm{background:var(--amber-bg);color:var(--amber)}.mk.os{background:var(--sunk);color:var(--ink);border:1px solid var(--line)}
.mk.tk{background:var(--panel);color:var(--ink);border:1px dashed var(--line)}
.ng{display:none}
@media (min-width:1000px){
  nav.tabs{position:fixed;top:var(--hh,57px);left:0;bottom:0;width:200px;max-width:none;margin:0;flex-direction:column;gap:1px;overflow-y:auto;background:var(--head);padding:10px 10px 24px max(10px,env(safe-area-inset-left,0px));border-right:1px solid rgba(63,182,217,.18);z-index:15}
  nav.tabs a{border-radius:8px;padding:8px 10px;justify-content:space-between}
  nav.tabs a[aria-current="page"]{background:rgba(232,163,61,.16);color:#F4C26B}
  nav.tabs a[aria-current="page"] .cnt{background:rgba(232,163,61,.25);color:#F4C26B}
  .ng{display:block;font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--head-muted);opacity:.7;padding:14px 10px 4px}
  .ng.sp{padding:10px 0 0;border-top:1px solid rgba(255,255,255,.08);margin-top:12px}
  header.top .top-in{padding-block:12px}
  main{margin-left:200px;max-width:none;padding-left:28px;padding-right:max(28px,env(safe-area-inset-right,0px))}
  main>*{max-width:1640px}
  .top-in{max-width:none!important;padding-left:20px!important;padding-right:28px!important}
}
.jtabs{position:sticky;top:var(--dh,64px);z-index:2;display:flex;gap:2px;overflow-x:auto;background:var(--bg);padding:8px 18px 0;border-bottom:1px solid var(--line);scrollbar-width:none}
.jtabs a{padding:8px 12px;border-radius:8px 8px 0 0;color:var(--muted);text-decoration:none;font-weight:500;white-space:nowrap;font-size:13.5px;cursor:pointer}
.jtabs a[aria-selected="true"]{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-bottom-color:var(--panel);margin-bottom:-1px}
.jtabs .cnt{font-family:var(--f-mono);font-size:12px;color:var(--muted);margin-left:4px}
.jtabs .cnt.hot{color:var(--hold);font-weight:700}
.k-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.k-card{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:14px;background:var(--panel);border:1px solid var(--line);text-decoration:none;color:var(--ink)}
.k-card:hover{border-color:var(--cyan)}.k-card b{font-size:18px}.k-card span{color:var(--muted);font-size:14px}.k-card em{font-style:normal;color:var(--cyan);font-weight:600;margin-top:auto}
body.kiosk header.top,body.kiosk .scrim,body.kiosk #drawer{display:none!important}
body.kiosk main{margin:0!important;max-width:none!important;padding:0!important}
body.kiosk main>*{max-width:none}
body.kiosk{background:#0B1220!important;background-image:none!important;margin:0!important}html:has(body.kiosk){background:#0B1220}
.kz{--bg:#0B1220;--panel:#131E33;--sunk:#0F1829;--ink:#EAF0F8;--muted:#93A4BE;--line:#24334D;--cyan:#4CC0E2;--amber:#F0B354;--hold:#FF7B71;--ok:#5ECB8C;
  min-height:100vh;background:var(--bg);color:var(--ink);padding:18px 24px 40px;font-size:17px;color-scheme:dark}
.k-head{display:flex;align-items:center;gap:20px;margin-bottom:16px}
.k-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px}.k-brand em{font-style:normal;font-weight:500;color:var(--amber);font-family:var(--f-mono);font-size:15px;letter-spacing:.08em;text-transform:uppercase;margin-left:6px}
.k-clock{margin-left:auto;text-align:right;line-height:1.1}.k-clock b{font-family:var(--f-mono);font-size:34px;display:block}.k-clock span{color:var(--muted);font-size:14px}
.k-ctl{display:flex;gap:8px;align-items:center}
.k-live{font-family:var(--f-mono);font-size:12px;padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.k-live.on{color:var(--ok);border-color:var(--ok)}
.k-x{background:none;border:1px solid var(--line);color:var(--muted);border-radius:8px;width:34px;height:34px;display:grid;place-items:center;cursor:pointer;text-decoration:none;font-size:16px;opacity:.6}.k-x:hover{opacity:1}
.k-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}
.k-tile{background:var(--panel);border-radius:14px;padding:12px 16px;border-top:4px solid var(--line)}
.k-tile b{font-family:var(--f-mono);font-size:40px;line-height:1.1;display:block}.k-tile span{color:var(--muted);font-size:15px}
.k-tile.ok{border-top-color:var(--ok)}.k-tile.warn{border-top-color:var(--amber)}.k-tile.warn b{color:var(--amber)}.k-tile.bad{border-top-color:var(--hold)}.k-tile.bad b{color:var(--hold)}
.k-grid{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:16px;align-items:start}
.k-grid.k2{grid-template-columns:1fr 2.6fr}
.k-col{background:var(--panel);border-radius:14px;padding:14px 16px;min-width:0}
.k-col h2{font-family:var(--f-mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-weight:600}
.k-person{padding:10px 0;border-bottom:1px solid var(--line)}.k-person:last-child{border:0}
.k-pn{display:flex;align-items:center;gap:10px}.k-pn i{width:12px;height:12px;border-radius:50%;background:var(--line);flex:none}.k-person.on .k-pn i{background:var(--ok);box-shadow:0 0 0 4px rgba(94,203,140,.2)}.k-person.away{opacity:.6}
.k-pn b{font-size:19px}.k-pn .k-tag{margin-left:auto}
.k-now{margin:4px 0 2px 22px;color:var(--ok);font-weight:600}
.k-task{margin:5px 0 0 0;padding:6px 0;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;border-bottom:1px dashed var(--line)}.k-person .k-task{margin-left:22px;border:0;padding:2px 0}
.k-task em,.k-wo-f em,.k-rfi em{font-style:normal;color:var(--muted);font-size:14px}.k-task.done{opacity:.45;text-decoration:line-through}
.k-task .k-due{margin-left:auto}
.k-jno{font-family:var(--f-mono);font-size:13px;font-weight:700;color:var(--cyan)}
.k-tag{font-family:var(--f-mono);font-size:12px;padding:3px 8px;border-radius:6px;background:var(--sunk);color:var(--muted);white-space:nowrap}
.k-tag.ok{background:rgba(94,203,140,.15);color:var(--ok)}.k-tag.warn{background:rgba(240,179,84,.15);color:var(--amber)}.k-tag.bad{background:rgba(255,123,113,.15);color:var(--hold)}
.k-due{font-family:var(--f-mono);font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap}.k-due.soon{color:var(--amber)}.k-due.late{color:var(--hold)}
.k-wo,.k-job{padding:12px 0;border-bottom:1px solid var(--line)}.k-wo:last-child,.k-job:last-child{border:0}
.k-job.blocked{border-left:4px solid var(--hold);padding-left:10px}
.k-wo-h{display:flex;align-items:baseline;gap:10px}.k-wo-h>b:not(.k-wo-t){font-family:var(--f-mono);font-size:18px}.k-wo-t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:18px}
.k-ops{display:flex;gap:4px;margin:8px 0}.k-ops span{flex:1;text-align:center;font-size:12px;padding:6px 2px;border-radius:6px;background:var(--sunk);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-ops span.done{background:var(--cyan);color:#06222C;font-weight:600}.k-ops span.next{outline:2px solid var(--amber);color:var(--ink);font-weight:600}
.k-wo-f{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:15px}.k-wo-f b{color:var(--ink)}
.k-mach{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:10px;background:var(--sunk);margin-bottom:6px}.k-mach span{font-family:var(--f-mono);font-size:13px;color:var(--ok)}
.k-mach.down{background:rgba(255,123,113,.15)}.k-mach.down span{color:var(--hold);font-weight:700}
.k-rfi{padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}.k-rfi>div{display:flex;gap:8px;align-items:baseline;margin-bottom:2px}.k-rfi .k-due{margin-left:auto}.k-rfi.blk{border-left:3px solid var(--hold);padding-left:8px}
.k-more{color:var(--muted);font-size:14px;margin-top:8px}
.k-empty{color:var(--muted);font-size:15px;padding:8px 0}
.k-week{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.k-day{background:var(--sunk);border-radius:10px;padding:10px;min-height:180px}.k-day.today{outline:2px solid var(--amber)}
.k-day h3{font-size:14px;margin:0 0 8px;color:var(--muted);font-weight:600}
.k-ev{padding:8px;border-radius:8px;margin-bottom:6px;font-size:14px;background:var(--panel);border-left:4px solid var(--cyan)}.k-ev em{display:block;font-style:normal;color:var(--muted);font-size:13px}
.k-ev.ins{border-left-color:var(--ok)}.k-ev.os{border-left-color:var(--amber)}
.k-rot{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px}.k-rot i{font-style:normal;font-size:12px;font-family:var(--f-mono);padding:3px 10px;border-radius:999px;background:var(--panel);color:var(--muted)}.k-rot i.on{background:var(--amber);color:#13233D}
.k-hint{font-size:22px;color:var(--muted);margin:10px 0 18px}
.k-names{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.k-name{background:var(--panel);border:2px solid var(--line);border-radius:16px;padding:24px 18px;text-align:left;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:6px;font:inherit}
.k-name b{font-size:24px}.k-name span{color:var(--muted);font-family:var(--f-mono);font-size:14px}.k-name.on{border-color:var(--ok)}.k-name.on span{color:var(--ok)}
.k-name:active,.k-choice:active,.k-btn:active{transform:scale(.98)}
.k-big-names{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-auto-rows:minmax(150px,1fr);min-height:calc((100dvh - 170px) / var(--kz,1));align-content:stretch}
.k-big-names .k-name{justify-content:center;align-items:center;text-align:center;padding:22px 16px;gap:8px}
.k-big-names .k-name b{font-size:clamp(24px,2.6vw,36px);line-height:1.1}.k-big-names .k-name span{font-size:clamp(14px,1.3vw,18px)}
.k-av{width:clamp(56px,6vw,84px);height:clamp(56px,6vw,84px);border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:clamp(20px,2.2vw,30px);background:var(--sunk);color:var(--muted)}
.k-name.on .k-av{background:var(--ok);color:#06220F}.k-name.away{opacity:.6}
.k-name.long{border-color:var(--amber)!important;background:color-mix(in srgb,var(--amber) 12%,var(--panel))}.k-name.long span{color:var(--amber)!important;font-weight:700}.k-name.long .k-av{background:var(--amber);color:#13233D}
.k-done{position:fixed;inset:0;z-index:250;width:auto;min-height:0;border-radius:0!important;border:0;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;cursor:pointer;font:inherit;color:#fff;background:#1E7A4A;text-align:center;padding:30px;animation:lffade .2s ease}
.k-done.off{background:#1A5F86}.k-done-i{width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:64px;line-height:1}
.k-done b{font-size:clamp(30px,4vw,54px);line-height:1.1}.k-done span{font-size:clamp(18px,2vw,26px);opacity:.92}.k-done em{font-style:normal;font-size:20px;background:rgba(0,0,0,.25);padding:8px 16px;border-radius:10px}.k-done small{margin-top:18px;opacity:.7;font-size:15px}
.k-panel{background:var(--panel);border-radius:16px;padding:20px 24px;max-width:1100px}
.k-panel h2{font-size:20px;margin:18px 0 10px}.k-panel h3{font-size:15px;color:var(--muted);margin:16px 0 8px}
.k-who{display:flex;align-items:center;justify-content:space-between}.k-who b{font-size:32px}
.k-back{background:none;border:1px solid var(--line);color:var(--ink);font:inherit;padding:10px 18px;border-radius:10px;cursor:pointer}
.k-big{font-size:22px;margin:12px 0}
.k-acts{display:flex;gap:12px}
.k-btn{font:inherit;font-size:22px;font-weight:700;padding:20px 34px;border-radius:14px;border:0;cursor:pointer;background:var(--sunk);color:var(--ink)}.k-btn.stop{background:var(--hold);color:#fff}
.k-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.k-choice{font:inherit;text-align:left;background:var(--sunk);border:2px solid var(--line);border-radius:14px;padding:16px;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:4px}.k-choice:hover{border-color:var(--ok)}
.k-choice b{font-size:19px}.k-choice em{font-style:normal;color:var(--muted);font-size:14px}.k-choice.sm{padding:12px 14px}.k-choice.sm b{font-size:16px}
@media (max-width:1100px){.k-grid,.k-grid.k2{grid-template-columns:1fr 1fr}.k-col.wide{grid-column:1/-1;order:-1}.k-tiles{grid-template-columns:repeat(3,1fr)}.k-week{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
@media (max-width:700px){.k-grid,.k-grid.k2{grid-template-columns:1fr}.k-tiles{grid-template-columns:1fr 1fr}.k-head{flex-wrap:wrap}.kz{padding:12px}}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:0 0 14px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.kpi[data-act]{cursor:pointer}.kpi[data-act]:hover{border-color:var(--cyan)}
.kpi b{font-family:var(--f-mono);font-size:22px;line-height:1.15;color:var(--ink)}
.kpi span{font-size:13px;color:var(--ink)}.kpi em{font-style:normal;font-size:12px;color:var(--muted)}
.kpi.bad{border-left:4px solid var(--hold)}.kpi.bad b{color:var(--hold)}.kpi.warn{border-left:4px solid var(--amber)}
.rp-tabs{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 14px;border-bottom:1px solid var(--line)}
.rp-tabs a{padding:8px 12px;cursor:pointer;color:var(--muted);font-weight:500;font-size:13.5px;border-bottom:2px solid transparent;margin-bottom:-1px}
.rp-tabs a[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--btn)}
@media (hover:hover) and (min-width:900px){.item .item-ctl [data-act=ask-item]{opacity:0;transition:opacity .12s}.item:hover .item-ctl select,.item:hover .item-ctl [data-act=item-stage],.item:hover .item-ctl [data-act=ask-item],.item:focus-within .item-ctl select,.item:focus-within .item-ctl [data-act=item-stage],.item:focus-within .item-ctl [data-act=ask-item]{opacity:1}}
@media (min-width:900px){.htile.ht-mail{display:none}}
.rp-more{position:relative}.rp-more summary{list-style:none;padding:8px 12px;cursor:pointer;color:var(--muted);font-weight:500;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px}.rp-more summary::-webkit-details-marker{display:none}.rp-more summary[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--btn)}
.rp-more-in{position:absolute;z-index:20;top:100%;left:0;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;min-width:170px}.rp-more-in a{border:0!important;margin:0!important;border-radius:7px}.rp-more-in a:hover{background:var(--sunk)}
.rp-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:14px}@media (min-width:900px){.rp-grid{grid-template-columns:1fr 1fr}}
.rp-card td:first-child{min-width:200px}
.rp-card{margin:0 0 14px}.rp-grid .rp-card{margin:0}.rp-card.wide{grid-column:1/-1}
.rp-card h2{font-size:15px}
.hb{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.hb-r{display:grid;grid-template-columns:minmax(110px,40%) 1fr auto;gap:10px;align-items:center;font-size:13px;padding:2px 0}
.hb-r:hover .hb-t{background:var(--line)}
.hb-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb-l i{display:block;font-style:normal;font-size:12px;color:var(--muted)}
.hb-t{position:relative;height:12px;background:var(--sunk);border-radius:0 4px 4px 0}
.hb-t>i{position:absolute;left:0;top:0;bottom:0;background:var(--cyan);border-radius:0 4px 4px 0}
.hb-t>i.warn{background:var(--amber)}.hb-t>i.bad{background:var(--hold)}.hb-t>i.mute{background:var(--muted);opacity:.45}
.hb-t .bq{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);z-index:1}
.hb-v{font-family:var(--f-mono);font-size:12px;text-align:right;white-space:nowrap}.hb-v small{color:var(--muted)}.hb-v .bad-t{color:var(--hold)}
.cols{position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);gap:2px;height:150px;margin-top:12px;border-bottom:1px solid var(--line)}
.col{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:22px;height:100%}
.col>i{width:min(28px,70%);background:var(--cyan);border-radius:4px 4px 0 0;min-height:0}
.col:hover>i{filter:brightness(1.15)}
.col-v{position:absolute;font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.col-l{position:absolute;bottom:2px;font-size:12px;color:var(--muted);white-space:nowrap;font-family:var(--f-mono)}
.cols-ref{position:absolute;left:0;right:0;border-top:1px dashed var(--muted);z-index:1}
.cols-ref.lab-l span{right:auto;left:0}.cols-ref span{position:absolute;right:0;top:2px;font-size:12px;color:var(--muted);font-family:var(--f-mono)}
.att{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.att li{padding:6px 8px;border-radius:8px;cursor:pointer;font-size:13.5px}.att li:hover{background:var(--sunk)}
.rp-tip{position:absolute;z-index:100;background:var(--ink);color:var(--panel);font-size:12px;padding:5px 8px;border-radius:6px;pointer-events:none;max-width:320px;box-shadow:var(--shadow)}
.print-only{display:none}
@media print{header.top,nav.tabs,.no-print,#drawer,.toast{display:none!important}main{margin:0!important;padding:0!important}.print-only{display:block;margin:0 0 10px}body{background:#fff}.panel,.kpi{break-inside:avoid;box-shadow:none}.rp-grid{grid-template-columns:1fr 1fr}}
.mine-task{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel)}
/* ---- polish: one type family, calmer labels, consistent surfaces ---- */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{background-image:none;font-size:14.5px;line-height:1.5;font-feature-settings:"cv11","ss01"}
.mono,.num,td.n,th.n{font-family:var(--f-display);font-variant-numeric:tabular-nums}
.k-jno,code{font-family:var(--f-mono);font-size:12px;font-weight:500;letter-spacing:0}
.jno,.item-of{font-family:var(--f-display);font-size:12px;font-weight:500;letter-spacing:0;color:var(--muted)}
.card-top .stage{white-space:nowrap}
.tchip .th,.role,.rolebadge,#rolebadge{font-family:var(--f-display);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.dhead .jno{font-size:12.5px}
@media (max-width:600px){.top-in{gap:6px 10px;padding-block:10px 0}.brand .mod{display:none}.brand b{font-size:18px}}
h1{font-size:26px;font-weight:700;letter-spacing:-.02em}
h2{font-size:16px;font-weight:600;letter-spacing:-.01em}
h3,.lane-h h3{font-family:var(--f-display);font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--muted)}
.sub{font-size:14px;line-height:1.5}
.note{font-size:12.5px;line-height:1.45}
.vhead{margin-bottom:20px}
.panel{border-radius:12px;padding:18px;box-shadow:var(--shadow)}
.panel .panel{box-shadow:none}
.stack,.dbody{gap:16px}
/* tags & counts: sentence case, rounded, quieter */
.tag{font-family:var(--f-display);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;padding:2px 8px;border-radius:999px;line-height:1.5}
.tag.plain{border:0;background:var(--sunk);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}
.cnt,nav.tabs .cnt,.jtabs .cnt{font-family:var(--f-display);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:0}
.stage{font-size:12px;font-weight:600}
.due,.cap-l,.th{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:12px}
/* tables */
table{font-size:13.5px}
th{font-family:var(--f-display);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--muted);background:var(--sunk)}
th,td{padding:10px 12px}
tr.click td{transition:background .12s}
.tw{border-radius:10px}
/* numbers in tiles */
.stat{border-radius:10px;padding:8px 14px;box-shadow:var(--shadow);align-items:center}
.stat b,.kpi b,.k-tile b,.k-clock b,.col-v,.hb-v,.col-l,.cols-ref span,.running .clock{font-family:var(--f-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.stat b{font-size:18px;font-weight:700}
.kpi{border-radius:12px;padding:14px 16px;box-shadow:var(--shadow)}
.kpi b{font-size:24px;font-weight:700}
.kpi span{font-weight:500}
/* controls */
.btn{border-radius:8px;padding:8px 14px;font-weight:600;transition:filter .12s,background .12s,border-color .12s,transform .06s}
.btn:active{transform:translateY(1px)}
.btn.small{padding:5px 11px;font-size:13px;font-weight:600}
.btn.ghost{background:var(--panel)}
.fld>span{font-size:12.5px;font-weight:500;color:var(--muted)}
.fld input,.fld select,.fld textarea,.inline-in{background:var(--panel);border-color:var(--line);border-radius:8px;padding:9px 11px;transition:border-color .12s,box-shadow .12s}
.fld input:focus,.fld select:focus,.fld textarea:focus,.inline-in:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-bg)}
.chk{font-size:14px}
/* cards & boards */
.lane{background:transparent;border:0;padding:0;gap:10px}
.lane-h{padding:4px 2px 2px;border-bottom:2px solid var(--line);margin-bottom:2px}
.lane-h h3{color:var(--ink);font-size:13.5px}
.lane-h .num{font-variant-numeric:tabular-nums;background:var(--sunk);border-radius:999px;padding:0 8px;box-shadow:inset 0 0 0 1px var(--line)}
.card{border-radius:10px;padding:12px 14px;transition:border-color .12s,box-shadow .12s,transform .12s}
.card:hover{box-shadow:0 4px 14px rgba(19,35,61,.08);transform:translateY(-1px)}
.card-name{font-size:14.5px}
.iss{border-radius:10px;padding:12px 14px}
.iss-head{font-size:12.5px}
.item{border-radius:10px}
.empty{border-radius:12px;background:var(--panel)}
/* sidebar */
.ng{font-family:var(--f-display);font-size:12px;font-weight:600;letter-spacing:.06em}
@media (min-width:1000px){
  nav.tabs a{font-size:14px;padding:8px 12px;transition:background .12s,color .12s}
  nav.tabs a:hover{background:rgba(255,255,255,.05)}
  nav.tabs a[aria-current="page"]{box-shadow:inset 3px 0 0 #E8A33D}
}
.brand .mod,.brand span{font-family:var(--f-display);font-weight:600;letter-spacing:.08em;font-size:12px}
.live{font-family:var(--f-display);font-weight:600;font-size:12px}
/* drawer */
.dhead h1{font-size:21px}
.jtabs a{font-size:13.5px;font-weight:500}
.fact span{font-size:12px}
.fact b{font-size:14.5px}
/* schedule & reports & kiosk text */
.tchip{font-size:12.5px;border-radius:7px}
.mk{font-family:var(--f-display);border-radius:999px;padding:2px 8px}
.rp-tabs a{font-size:14px}
.rp-card h2{font-size:15.5px}
.hb-r{font-size:13.5px}
.k-col h2,.k-tag,.k-due,.k-live,.k-brand em,.k-name span{font-family:var(--f-display);letter-spacing:.04em}
.k-tag,.k-due,.k-name span{letter-spacing:0;font-variant-numeric:tabular-nums}
.k-tile b{font-weight:700}
.k-ops span{font-weight:500}@media (max-width:560px){.k-ops{flex-wrap:wrap}.k-ops span{flex:1 0 auto;padding:6px 8px;overflow:visible}}
.toast{border-radius:10px;font-weight:500;pointer-events:none;z-index:400!important}
.theme{display:flex;background:rgba(255,255,255,.08);border-radius:999px;padding:2px;gap:2px}
.theme button{border:0;background:none;color:var(--head-muted);font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;cursor:pointer;white-space:nowrap}
.theme button:hover{color:var(--head-ink)}
.theme button[aria-pressed="true"]{background:#E8A33D;color:#13233D}
@media (max-width:600px){.theme button{padding:4px 8px}}
:root{--side:#FFFFFF;--side-ink:#15233A;--side-muted:#5B6B80;--side-hover:#F1F4F8;--side-act:#FCEFD6;--side-act-ink:#8A5A0B;--side-line:#E1E6ED}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--side:#0A1120;--side-ink:#E6ECF5;--side-muted:#8295B1;--side-hover:rgba(255,255,255,.05);--side-act:rgba(232,163,61,.16);--side-act-ink:#F4C26B;--side-line:rgba(63,182,217,.18)}}
:root[data-theme="dark"]{--side:#0A1120;--side-ink:#E6ECF5;--side-muted:#8295B1;--side-hover:rgba(255,255,255,.05);--side-act:rgba(232,163,61,.16);--side-act-ink:#F4C26B;--side-line:rgba(63,182,217,.18)}
@media (min-width:1000px){
  nav.tabs{background:var(--side);border-right:1px solid var(--side-line)}
  nav.tabs a{color:var(--side-ink)}
  nav.tabs a:hover{background:var(--side-hover);color:var(--side-ink)}
  nav.tabs a[aria-current="page"]{background:var(--side-act);color:var(--side-act-ink)}
  nav.tabs .cnt{background:var(--side-hover);color:var(--side-muted);box-shadow:inset 0 0 0 1px var(--side-line)}
  nav.tabs a[aria-current="page"] .cnt{background:rgba(232,163,61,.22);color:var(--side-act-ink);box-shadow:none}
  .ng{color:var(--side-muted);opacity:1}
  .ng.sp{border-top-color:var(--side-line)}
}
/* ---- assistant ---- */
#ai-fab{position:fixed;right:22px;bottom:22px;z-index:45;display:flex;align-items:center;gap:8px;background:#13233D;color:#fff;border:0;border-radius:999px;padding:13px 20px 13px 16px;font:inherit;font-weight:700;font-size:15px;cursor:pointer;box-shadow:0 10px 30px rgba(19,35,61,.35),0 0 0 3px rgba(232,163,61,.9)}
#ai-fab:hover{transform:translateY(-1px)}
body.ai-open #ai-fab{display:none}
#ai{position:fixed;right:22px;bottom:22px;z-index:46;width:min(420px,calc(100vw - 32px));height:min(640px,calc(100vh - 110px));background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(10,18,34,.35);display:flex;flex-direction:column;overflow:hidden}
#ai[hidden]{display:none}
.ai-h{display:flex;align-items:center;gap:6px;padding:12px 12px 12px 16px;background:#13233D;color:#fff}
.ai-h b{display:flex;align-items:center;gap:8px;font-size:15px;margin-right:auto}
.ai-h button{background:rgba(255,255,255,.08);border:0;color:#C9D6E8;border-radius:8px;padding:6px 10px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center}
.ai-h button[aria-pressed="true"]{background:#E8A33D;color:#13233D}
.ai-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.ai-hello b{display:block;font-size:18px;letter-spacing:-.01em}.ai-hello span{display:block;color:var(--muted);font-size:14px;margin-top:4px}
.ai-sugg{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.ai-sugg button{font:inherit;font-size:13.5px;text-align:left;background:var(--sunk);border:1px solid var(--line);color:var(--ink);border-radius:12px;padding:8px 12px;cursor:pointer}
.ai-sugg button:hover{border-color:var(--cyan)}
.ai-m{max-width:88%;padding:10px 14px;border-radius:16px;font-size:14.5px;line-height:1.5;white-space:pre-wrap}
.ai-m.u{align-self:flex-end;background:#13233D;color:#fff;border-bottom-right-radius:5px}
.ai-m.a{align-self:flex-start;background:var(--sunk);border:1px solid var(--line);border-bottom-left-radius:5px}
.ai-m em{display:block;font-style:normal;color:var(--hold);font-size:13px;margin-top:4px}
.ai-dots{display:inline-flex;gap:3px;vertical-align:middle}.ai-dots i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:aid 1s infinite}.ai-dots i:nth-child(2){animation-delay:.15s}.ai-dots i:nth-child(3){animation-delay:.3s}
@keyframes aid{0%,80%{opacity:.3}40%{opacity:1}}
#ai-status{color:var(--muted);font-size:13.5px}
.ai-f{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line);align-items:center}
.ai-f input{flex:1;min-width:0;font:inherit;font-size:16px;padding:12px 14px;border-radius:999px;border:1px solid var(--line);background:var(--sunk);color:var(--ink)}
.ai-f input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-bg)}
#ai-mic,#ai-send{flex:none;width:46px;height:46px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer}
#ai-mic{background:#E8A33D;color:#13233D}#ai-mic.on{background:var(--hold);color:#fff;animation:aip 1.2s infinite}
@keyframes aip{0%{box-shadow:0 0 0 0 rgba(184,50,43,.5)}100%{box-shadow:0 0 0 14px rgba(184,50,43,0)}}
#ai-send{background:#13233D;color:#fff}
#ai-stop{font:inherit;font-weight:600;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:999px;padding:10px 14px;cursor:pointer}
body.kiosk #ai-fab,body.kiosk #ai,body.kiosk #pbar,body.kiosk #psheet{display:none!important}
/* ---- phone bar ---- */
#pbar,#psheet{display:none}
@media (max-width:700px){
  nav.tabs{display:none!important}
  #pbar{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;position:fixed;left:0;right:0;bottom:0;z-index:44;background:var(--panel);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 24px rgba(10,18,34,.08)}
  #pbar a,#pbar button{display:flex;flex-direction:column;align-items:center;gap:3px;font:inherit;font-size:12px;font-weight:600;color:var(--muted);text-decoration:none;background:none;border:0;padding:6px 0;cursor:pointer;min-height:48px;justify-content:center}
  #pbar a[aria-current="page"],#pbar button[aria-pressed="true"]{color:var(--ink)}
  #pbar a[aria-current="page"] svg{color:#E8A33D}
  #pbar .pask{width:62px;height:62px;border-radius:50%;background:#E8A33D;color:#13233D;justify-self:center;margin-top:-26px;box-shadow:0 8px 22px rgba(232,163,61,.5),0 0 0 5px var(--panel);padding:0}
  #psheet{display:block;position:fixed;inset:0;z-index:43;background:rgba(8,14,26,.45)}
  #psheet[hidden]{display:none}
  .psheet-in{position:absolute;left:0;right:0;bottom:0;max-height:78vh;overflow-y:auto;background:var(--panel);border-radius:20px 20px 0 0;padding:8px 14px calc(96px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column}
  .psheet-grab{width:44px;height:5px;border-radius:3px;background:var(--line);margin:4px auto 8px}
  .psheet-in a{display:flex;justify-content:space-between;align-items:center;padding:13px 10px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:500;font-size:16px}
  .psheet-in a[aria-current="page"]{background:var(--amber-bg);color:#8A5A0B}
  .psheet-in .ng{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 10px 2px}
  .psheet-in .cnt{font-size:12px;background:var(--sunk);border-radius:999px;padding:1px 8px;color:var(--muted)}
  main{padding-bottom:110px!important}
  header.top .theme{display:none}
  .psheet-theme{display:flex;background:var(--sunk);margin:4px 10px 0;align-self:flex-start}
  .psheet-theme button{color:var(--muted);padding:8px 16px;font-size:14px}
  #ai-fab{display:none}
  #ai{right:0;left:0;bottom:calc(66px + env(safe-area-inset-bottom,0px));width:100%;height:calc(100% - 110px - env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;border:0;z-index:43;box-shadow:0 -12px 40px rgba(8,14,26,.25)}
  .ai-f{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
  .toast{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  .btn{min-height:42px}.btn.small{min-height:36px}
  .card{padding:14px}
  h1{font-size:24px}
}
.chk-job{margin-bottom:20px}
.chk-rm{margin:0 0 14px;padding:12px;border-radius:14px;background:var(--sunk);border:1px solid var(--line)}.chk-rmh{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;margin:0 0 10px}.chk-rmh h3{margin:0;font-size:15.5px;color:var(--ink);text-transform:none;letter-spacing:0}.chk-rmbar{flex:1 1 160px;max-width:260px}.chk-jh{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin:0 0 8px}.chk-jh b{font-size:17px}
.chk-rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.chk-room{font:inherit;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow);color:var(--ink)}
.chk-room:hover{border-color:var(--cyan)}.chk-rn{font-weight:600;font-size:16px}.chk-rs{font-size:12px;color:var(--cyan);font-weight:600}.chk-rc{font-size:13px;color:var(--muted)}
.chk-bar{height:8px;border-radius:4px;background:var(--sunk);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}.chk-bar i{display:block;height:100%;background:var(--ok)}
.chk-top{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.chk-top h1{font-size:24px}
.chk-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px}
.chk-step{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px 14px;overflow:hidden}
.chk-step b{font-size:22px;font-variant-numeric:tabular-nums}.chk-step b small{font-size:13px;color:var(--muted);font-weight:500}.chk-step span{display:block;font-size:12.5px;color:var(--muted)}
.chk-step i{position:absolute;left:0;bottom:0;height:4px;background:var(--cyan)}.chk-step.done i{background:var(--ok)}.chk-step.done b{color:var(--ok)}
.chk-add summary{cursor:pointer;list-style:none}.chk-add{margin-bottom:14px}
.chk-filt{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}
.chk-filt button{font:inherit;font-size:13.5px;font-weight:600;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:999px;padding:7px 12px;cursor:pointer}
.chk-filt button span{color:var(--muted);font-weight:500;margin-left:4px}.chk-filt button[aria-pressed="true"]{background:#13233D;color:#fff;border-color:#13233D}.chk-filt button[aria-pressed="true"] span{color:#C9D6E8}
.chk-list{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.chk-cat{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:var(--sunk);padding:8px 14px;border-top:1px solid var(--line)}.chk-cat:first-child{border-top:0}
.chk-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:10px 14px;border-top:1px solid var(--line);border-left:4px solid transparent}
.chk-row.st-made,.chk-row.st-part{border-left-color:var(--amber)}.chk-row.st-qc{border-left-color:var(--cyan)}.chk-row.st-packed,.chk-row.st-loaded,.chk-row.st-delivered{border-left-color:var(--ok)}.chk-row.st-problem{border-left-color:var(--hold);background:var(--hold-bg)}
.chk-name{flex:1 1 240px;min-width:0;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.chk-pn{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.chk-name b{font-weight:600;font-size:15px}
.chk-q{font-weight:700;font-variant-numeric:tabular-nums}.chk-code{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.chk-acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.ck{font:inherit;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px 0 10px;border-radius:10px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer}
.ck .ckb{width:22px;height:22px;border-radius:6px;border:2px solid var(--line);display:grid;place-items:center;background:var(--panel)}
.ck.on{border-color:var(--ok);background:var(--ok-bg);color:var(--ok)}.ck.on .ckb{background:var(--ok);border-color:var(--ok);color:#fff}
.ck:disabled{opacity:.4;cursor:not-allowed}.ck.on:disabled{opacity:1;cursor:default}
.ck-q{display:inline-flex;gap:4px}.ck-q>button:first-child{font:inherit;font-weight:700;min-height:44px;min-width:46px;border-radius:10px;border:1.5px solid var(--amber);background:var(--amber-bg);color:var(--amber);cursor:pointer}
.ck-pack{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 6px 0 12px;border-radius:10px;border:1.5px solid var(--line);font-weight:600;font-size:14px}
.ck-pack.on{border-color:var(--ok);background:var(--ok-bg);color:var(--ok)}.ck-pack[data-off]{opacity:.45}
.ck-pack select{font:inherit;font-weight:700;border:0;background:transparent;color:inherit;padding:6px 4px;min-width:34px}
.ck-x{font:inherit;font-size:20px;min-height:44px;min-width:44px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer}
.chk-more{flex-basis:100%;background:var(--sunk);border-radius:10px;padding:10px 12px}
.chk-packs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:10px}
.chk-pack{border:1.5px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}.chk-pack.load{border-color:var(--cyan)}.chk-pack.del{border-color:var(--ok);background:var(--ok-bg)}
.chk-ph{display:flex;gap:8px;align-items:center}.chk-ph b{font-size:18px}.chk-ph span{color:var(--muted);font-size:13px}
.chk-pack ul{margin:0;padding-left:18px;font-size:13.5px}
.chk-ready{margin:4px 0 10px;padding-left:18px;font-size:13.5px;display:flex;flex-direction:column;gap:4px}
@media (max-width:700px){.chk-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.chk-row{padding:12px}.chk-acts{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 44px}.chk-acts>*{min-width:0}.chk-acts .ck{padding:0 8px}.chk-acts .ck-pack{padding:0 4px 0 8px}.ck,.ck-q{justify-content:center}.ck-q .ck{flex:1}.ck-pack{justify-content:center}}
.sk-list{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.sk-row{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:12px 14px;border-top:1px solid var(--line);border-left:4px solid transparent}
.sk-row.st-low{border-left-color:var(--amber)}.sk-row.st-out,.sk-row.st-short{border-left-color:var(--hold)}
.sk-name{all:unset;cursor:pointer;flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:2px}.sk-name b{font-size:15px;font-weight:600}.sk-name span{font-size:13px;color:var(--muted)}
.sk-nums{display:flex;gap:14px;align-items:center}.sk-nums div{text-align:right;min-width:52px}.sk-nums b{display:block;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.sk-nums span{font-size:12px;color:var(--muted)}
.sk-nums .warnn b{color:var(--amber)}.sk-nums .unit{min-width:0;font-size:12.5px;color:var(--muted)}
.sk-acts{display:flex;gap:6px}.sk-acts .btn{min-height:40px}
.sk-more{flex-basis:100%;padding:12px 14px;background:var(--sunk);border-top:1px solid var(--line)}.sk-more h3{margin:8px 0 6px}.sk-more ul{margin:0 0 6px;padding-left:18px;font-size:13.5px}
.sk-qty{display:flex;align-items:center;gap:8px;margin-top:10px}.sk-qty button{font:inherit;font-size:26px;font-weight:700;width:56px;height:56px;border-radius:12px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer}
.sk-qty input{font:inherit;font-size:28px;font-weight:700;width:120px;height:56px;text-align:center;border:1.5px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink)}.sk-qty span{font-weight:600;color:var(--muted)}
@media (max-width:700px){.sk-nums{width:100%;justify-content:space-between}.sk-acts{width:100%}.sk-acts .btn{flex:1;min-height:46px}}
.scan-box{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}
.scan-btn{display:flex;flex-direction:column;align-items:center;gap:6px;background:#13233D;color:#fff;border-radius:14px;padding:26px 16px;cursor:pointer;text-align:center}.scan-btn svg{color:#E8A33D}.scan-btn b{font-size:20px}.scan-btn span{font-size:14px;color:#C9D6E8}
.scan-or{text-align:center;color:var(--muted);font-size:13px}
.scan-code{font:inherit;font-family:var(--f-mono);font-size:20px;letter-spacing:.12em;text-transform:uppercase;padding:10px 14px;border-radius:10px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink);width:180px;text-align:center}
.scan-card{max-width:560px;margin-left:auto;margin-right:auto}.scan-card.ok{border-color:var(--ok)}
.scan-h{font-size:24px;margin:4px 0}.scan-h small{font-size:15px;color:var(--muted);font-weight:500}
.scan-done{background:var(--ok-bg);color:var(--ok);font-weight:700;border-radius:10px;padding:12px 14px;margin:8px 0;font-size:16px}
.scan-warn{background:var(--amber-bg);color:#8A5A0B;border-radius:10px;padding:10px 12px;font-size:14px;margin:8px 0}
.scan-list{list-style:none;padding:0;margin:10px 0;display:flex;flex-direction:column;gap:2px}.scan-list li{display:flex;gap:10px;padding:8px 4px;border-bottom:1px solid var(--line);font-size:15px}.scan-list li span{width:18px;text-align:center}.scan-list li.ok{color:var(--ok)}.scan-list li.bad{color:var(--hold)}.scan-list em{font-style:normal;font-size:13px}
.scan-big{min-height:52px;font-size:17px;flex:1}
.scan-room{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.sov{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(8,14,26,.6)}
.sov-in{background:var(--panel);border-radius:22px;max-width:460px;width:100%;max-height:calc(100vh - 32px);overflow-y:auto;padding:26px 22px 20px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.4);border-top:10px solid var(--line)}
.sov.ok .sov-in{border-top-color:var(--ok)}.sov.todo .sov-in{border-top-color:#E8A33D}.sov.bad .sov-in{border-top-color:var(--hold)}
.sov-ic{width:76px;height:76px;border-radius:50%;margin:0 auto 10px;display:grid;place-items:center;font-size:40px;font-weight:800;color:#fff;background:var(--muted)}
.sov.ok .sov-ic{background:var(--ok)}.sov.todo .sov-ic{background:#E8A33D;color:#13233D}.sov.bad .sov-ic{background:var(--hold)}
.sov h2{font-size:26px;margin:0 0 6px;letter-spacing:-.02em}.sov.ok h2{color:var(--ok)}.sov.bad h2{color:var(--hold)}
.sov p{margin:4px 0;color:var(--muted);font-size:15px}.sov .sov-t{color:var(--ink);font-size:19px;font-weight:700}
.sov-box{background:var(--ok-bg);color:var(--ok);border-radius:12px;padding:12px;margin:12px 0;display:flex;flex-direction:column;gap:2px}.sov-box b{font-size:18px}.sov-box span{font-size:14.5px}
.sov-warn{background:var(--amber-bg);color:#8A5A0B!important;border-radius:10px;padding:8px 10px;margin:8px 0!important;font-size:14px!important;text-align:left}
.sov-list{list-style:none;padding:0;margin:10px 0;text-align:left;font-size:15px;border-top:1px solid var(--line)}.sov-list li{padding:7px 2px;border-bottom:1px solid var(--line)}
.sov-lab{display:block;text-align:left;font-size:13px;font-weight:600;color:var(--muted);margin-top:8px}.sov-inp{font:inherit;font-size:18px;width:100%;box-sizing:border-box;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--panel);color:var(--ink);margin:4px 0 10px}
.sov-go{font:inherit;font-size:20px;font-weight:800;width:100%;min-height:62px;border:0;border-radius:14px;background:var(--ok);color:#fff;cursor:pointer}
.sov-room{margin-top:10px!important;font-size:14px!important}
.sov-acts{display:flex;gap:8px;margin-top:12px}.sov-next,.sov-close{flex:1;font:inherit;font-weight:700;font-size:16px;min-height:50px;border-radius:12px;display:grid;place-items:center;cursor:pointer}
.sov-next{background:#13233D;color:#fff}.sov-close{background:var(--sunk);border:1px solid var(--line);color:var(--ink)}
.scan-auto{justify-content:center;font-size:14px;color:var(--muted)}
.geo{border-radius:12px;padding:10px 12px;margin:10px 0 4px;font-size:15px;text-align:left;line-height:1.4}
.geo.ok{background:var(--ok-bg);color:var(--ok);font-weight:600}.geo.bad{background:var(--hold-bg);color:var(--hold)}.geo.warn{background:var(--amber-bg);color:#8A5A0B}.geo.wait{background:var(--sunk);color:var(--muted)}
.geo a{color:inherit;font-weight:700}
.geo-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--cyan);margin-right:8px;animation:aip 1.2s infinite}
.sov-link{font:inherit;font-size:13.5px;background:none;border:0;color:var(--cyan);text-decoration:underline;cursor:pointer;padding:2px 0;display:block;margin:0 auto 4px}
.sov-go.far{background:var(--hold)}.sov-go:disabled{opacity:.6;cursor:wait}
.sov-conf{justify-content:flex-start;text-align:left;font-weight:600;color:var(--ink);font-size:15px;margin:6px 0}
.sk-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-bottom:6px}.sk-charts h3{margin:0 0 4px}
.sk-chart{width:100%;height:auto;display:block;background:var(--panel);border:1px solid var(--line);border-radius:10px}
.sk-chart text{font-size:12px;fill:var(--muted);font-family:var(--f-display)}.sk-chart .g{stroke:var(--line);stroke-width:1}
.sk-chart .l{fill:none;stroke:var(--cyan);stroke-width:2.2;stroke-linejoin:round}.sk-chart .a{fill:var(--cyan);opacity:.1}
.sk-chart .m{stroke:#E8A33D;stroke-width:2;stroke-dasharray:6 5}.sk-chart .mt{fill:#B26F0C;font-weight:700}
.sk-chart circle{stroke:var(--panel);stroke-width:2}.sk-chart circle.o{fill:var(--hold)}.sk-chart circle.i{fill:var(--ok)}.sk-chart circle.c{fill:#E8A33D}
.sk-chart .b{fill:var(--cyan)}.sk-chart .b:hover,.sk-chart circle:hover{opacity:.75}
.hb-t>i.oo{background:repeating-linear-gradient(45deg,var(--cyan) 0 4px,transparent 4px 8px);opacity:.55;border-radius:0 4px 4px 0}
.lg{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin:0 4px 0 10px;background:var(--cyan)}.lg.ok{background:var(--cyan)}.lg.warn{background:var(--amber)}.lg.bad{background:var(--hold)}.lg.oo{background:repeating-linear-gradient(45deg,var(--cyan) 0 3px,transparent 3px 6px)}

/* ---- simple mode + home ---- */
.modeset button[aria-pressed="true"]{background:#E8A33D;color:#13233D}
.nav-full{display:flex;align-items:center;gap:8px;width:auto;flex:none;white-space:nowrap;margin:4px 0 4px 6px;padding:9px 10px;border:1px dashed var(--line);border-radius:9px;background:none;color:var(--muted);font:inherit;font-weight:600;cursor:pointer}
.nav-full svg{width:18px;height:18px}
@media (min-width:1000px){.nav-full{width:100%;margin:6px 0 0}}
.nav-full:hover{color:var(--ink);border-color:var(--muted)}
.linkbtn{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--cyan);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.home{max-width:980px}
.home-hi h1{font-size:30px;letter-spacing:-.02em;margin:0}
.home-hi .sub{margin:4px 0 18px}
.htiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-bottom:18px}
.htile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:132px;padding:18px;border-radius:16px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink);text-decoration:none;font:inherit;text-align:left;cursor:pointer;transition:transform .12s ease,border-color .12s ease}
.htile:hover{border-color:#E8A33D;transform:translateY(-1px)}
.htile:active{transform:scale(.98)}
.htile svg{color:#E8A33D;margin-bottom:4px}
.htile b{font-size:19px;letter-spacing:-.01em}
.htile span{font-size:14px;color:var(--muted)}
.htile.bad span{color:var(--hold);font-weight:600}.htile.warn span{color:var(--amber);font-weight:600}
.htile.ask{background:#13233D;border-color:#13233D;color:#fff}.htile.ask span{color:#B9C6D8}
.htile.wide{grid-column:1/-1}
.hclock{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:18px;border-radius:16px;background:var(--panel);border:1px solid var(--line);margin-bottom:14px}
.hclock>div:first-child{flex:1 1 220px;display:flex;flex-direction:column;gap:2px}
.hclock>div:first-child b{font-size:20px}
.hclock.on{background:var(--ok-bg);border-color:transparent}
.hclock-other{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;flex:1 1 100%}
.hclock-other .fld{flex:1 1 220px}
.btn.big{min-height:54px;padding:12px 20px;font-size:16.5px;border-radius:12px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center}
.btn.big small{font-size:12px;font-weight:500;opacity:.8}
.hlist{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.hlist a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 14px;border-radius:10px;background:var(--sunk);color:var(--ink);text-decoration:none;font-size:15px;border-left:4px solid var(--line)}
.hlist li.bad a{border-left-color:var(--hold)}.hlist li.warn a{border-left-color:#E8A33D}.hlist li.info a{border-left-color:var(--cyan)}
.hlist a span{color:var(--muted);font-size:20px}
.home-more{color:var(--muted);font-size:14px;margin-top:16px}
body.simple{font-size:15.5px}
body.simple .btn{min-height:42px;padding:10px 16px}
body.simple .btn.small{min-height:36px;padding:7px 12px}
body.simple input,body.simple select,body.simple textarea{font-size:16px}
body.simple nav.tabs a{font-size:15.5px;padding-block:10px}
body.simple .jtabs a{padding:12px 14px;font-size:15px}
@media (max-width:700px){.htiles{grid-template-columns:1fr 1fr;gap:10px}.htile{min-height:118px;padding:14px}.htile b{font-size:17px}.home-hi h1{font-size:26px}.top-in #modeset{display:none}}
/* ---- connections + timesheet email ---- */
.conn{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:10px;background:var(--sunk)}
.conn-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px}
.tsmail{border:2px solid #E8A33D;scroll-margin-top:calc(var(--hh,64px) + 12px)}
.tsbtns{flex-wrap:wrap;gap:8px;margin-top:12px}
.tsbtns a.btn{text-decoration:none}
.dup-box{width:min(880px,100%)}
.dup-row{border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:12px;background:var(--sunk)}
.dup-row.bad{opacity:.85}
.dup-file{display:flex;align-items:center;gap:8px;margin-bottom:8px;min-width:0}
.dup-file b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dup-kind{font-size:11px;font-weight:700;letter-spacing:.04em;padding:4px 6px;border-radius:6px;background:var(--panel);border:1px solid var(--line);color:var(--muted)}
.dup-row .form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}
.dup-row .form .fld{min-width:0;width:auto;max-width:none;flex:none}
.dup-row .form .s2{grid-column:span 2}.dup-row .form .s3{grid-column:span 3}
@media (max-width:640px){.dup-row .form{grid-template-columns:minmax(0,1fr)}.dup-row .form .s2,.dup-row .form .s3{grid-column:auto}}
.dup-what{margin:8px 0 0}
.dup-foot{justify-content:flex-end;gap:8px;margin-top:16px;flex-wrap:wrap}
.dup-foot #dup-prog{margin-right:auto}
.dup-hint{border:1.5px dashed var(--line);border-radius:12px;padding:10px 14px;margin:0 0 12px;color:var(--muted);font-size:13px}
body.dup-drag::after{content:'Drop drawings to add them';position:fixed;inset:12px;z-index:240;border:3px dashed var(--cyan);border-radius:18px;background:rgba(76,192,226,.12);display:grid;place-items:center;font-size:20px;font-weight:700;color:var(--ink);pointer-events:none}
.linkbtn.cellbtn{font-weight:500;font-variant-numeric:tabular-nums;color:inherit;text-decoration:underline dashed;text-decoration-color:var(--muted);padding:2px 0}
.linkbtn.cellbtn:hover{color:var(--cyan);text-decoration-color:var(--cyan)}
.te-tbl tr.te-on td{background:var(--sunk)}
.ctbl.te-tbl tr.te-on td{background:transparent}
.te-t input{min-width:120px}
.ji-steps{margin:12px 0 0;padding-left:22px;display:grid;gap:14px}
.ji-steps li b{display:block}
.ji-steps li .note{display:block;margin:2px 0 8px}
.ji-drop{margin-top:14px;border:1.5px dashed var(--line);border-radius:12px;padding:14px;text-align:center;color:var(--muted);font-size:13px}
.ji.ji-over{outline:3px dashed var(--cyan);outline-offset:-6px}
.ji-tbl tr.ji-bad td{background:color-mix(in srgb,var(--hold) 8%,transparent)}
.ji-tbl tr.muted-row td{opacity:.6}
.ji-items{margin-top:10px}
.ji-rowlbl{display:none}.ctbl .ji-rowlbl{display:inline;font-family:inherit;color:var(--muted)}
.ji-items summary{cursor:pointer;font-weight:600}
.ji-items ul{margin:6px 0 0;padding-left:18px;font-size:13px}


/* ===== clean desktop ===== */
header.top{background-image:none;border-bottom:1px solid rgba(255,255,255,.08)}
.brand .mod{display:none}
.live{font-size:0;width:9px;height:9px;padding:0;border:0;border-radius:50%;background:var(--head-muted);flex:none}
.live.on{background:#5ECB8C;box-shadow:0 0 0 3px rgba(94,203,140,.18)}
.live.off{background:#F4C26B}
#rolebadge{display:none}
#viewmenu{position:relative}
#viewmenu summary{list-style:none;display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--head-ink);font-size:13.5px;font-weight:600;padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.14)}
#viewmenu summary::-webkit-details-marker{display:none}
#viewmenu summary:hover,#viewmenu[open] summary{background:rgba(255,255,255,.08)}
#viewmenu .vm-in{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:230px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(10,18,34,.18);padding:10px 12px 12px;display:flex;flex-direction:column;gap:6px}
#viewmenu .vm-l{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:4px}
#viewmenu .theme{display:flex!important;background:var(--sunk);border:1px solid var(--line)}
#viewmenu .theme button{color:var(--ink)}
#viewmenu #modeset .theme{width:100%}
#viewmenu #modeset .theme button{flex:1}
.sub{max-width:62ch}
.stats{gap:6px 22px;margin:0 0 18px}
.stat{background:none;border:0;padding:0;border-radius:0}
.stat b{font-size:20px;font-family:var(--f-display);font-weight:700}
.stat span{font-size:13px}
.panel{box-shadow:none;border-color:var(--line)}
.card{box-shadow:none;padding:12px 14px;gap:5px}
.card:hover{border-color:#E8A33D}
.card-meta,.card .card-meta{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.lane{background:transparent;border:0;padding:0;gap:10px}
.lane-h{padding:0 2px 6px;border-bottom:2px solid var(--line);margin-bottom:2px}
nav.tabs .cnt{background:transparent;padding:0;font-family:var(--f-display);font-weight:600;font-size:12px}
nav.tabs .cnt.bad{color:var(--hold)}
nav.tabs .cnt.warn{color:var(--amber)}
.nav-more{margin-top:6px}
.edit-more{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.edit-more summary{cursor:pointer;color:var(--cyan);font-weight:600;font-size:13.5px}
.stat{box-shadow:none!important}
.nav-more summary{list-style:none;cursor:pointer;padding:8px 10px;border-radius:8px;color:var(--muted);font-weight:500;display:flex;justify-content:space-between;align-items:center;gap:8px}.nav-more summary .nm-r{margin-left:auto}.nav-more[open] summary .nm-r{display:none}.nav-more>a{padding-left:20px}
.nav-more summary::-webkit-details-marker{display:none}
.nav-more summary::after{content:'+';font-weight:600}
.nav-more[open] summary::after{content:'\2212'}
.nav-more summary:hover{background:rgba(127,140,160,.1)}
@media (min-width:1000px){
  .vhead .sub{display:none}
  .vhead{margin-bottom:14px;align-items:center}
  .vhead h1{font-size:26px}
  main{padding-top:26px!important}
  nav.tabs{gap:0!important}
  nav.tabs a{padding:7px 10px!important;font-size:14px}
  nav.tabs .ng{margin-top:14px!important;font-size:12px!important;opacity:.75}
  .top-in{gap:14px}
}
@media (max-width:999px){#viewmenu .vm-in{right:auto;left:0}}
#hdrmode .theme{display:flex;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:9px;padding:2px;gap:2px}#hdrmode .theme button{font:inherit;font-size:13px;font-weight:600;border:0;background:transparent;color:var(--head-muted);padding:5px 11px;border-radius:7px;cursor:pointer}#hdrmode .theme button[aria-pressed="true"]{background:var(--btn);color:var(--btn-ink)}#hdrmode .theme button:hover{color:var(--head-ink)}#hdrmode .theme button[aria-pressed="true"]:hover{color:var(--btn-ink)}
#hdrtheme{display:grid;place-items:center;width:36px;height:34px;border-radius:9px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:var(--head-ink);cursor:pointer}#hdrtheme:hover{background:rgba(255,255,255,.14)}
@media (max-width:700px){#hdrmode{display:none}}body.kiosk #hdrtheme{display:none}body.kiosk #hdrmode{display:none}
/* ---- site measure ---- */
.ms-list{display:flex;flex-direction:column;gap:8px}
.ms-row{all:unset;box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.ms-row:hover{border-color:#E8A33D}
.ms-row>div:first-child,.ms-row>.ms-rt{display:flex;flex-direction:column;gap:2px}.ms-row>.ms-rt{flex:1 1 200px;min-width:0}
.ms-thumb{flex:none;width:56px;height:56px;border-radius:10px;overflow:hidden;background:var(--sunk);border:1px solid var(--line);display:grid;place-items:center;color:var(--muted)}.ms-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ms-row{transition:border-color .14s,box-shadow .14s,transform .14s}@media (hover:hover){.ms-row:hover{box-shadow:0 8px 24px rgba(19,35,61,.1)}}
.ms-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:13px}
.ms-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.ms-head>div:nth-child(2){flex:1;min-width:180px}
.ms-head h1{margin:0;font-size:24px}
.ms-tabs{display:flex;gap:4px;overflow-x:auto;margin-bottom:12px;border-bottom:1px solid var(--line)}
.ms-tabs button{font:inherit;font-weight:600;background:none;border:0;border-bottom:3px solid transparent;padding:10px 12px;color:var(--muted);cursor:pointer;white-space:nowrap}
.ms-tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:#E8A33D}
.ms-tabs .cnt{font-size:12px;color:var(--muted);font-weight:500}
.ms-dims{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.ms-dim{display:grid;grid-template-columns:minmax(0,1.3fr) 110px minmax(0,1.4fr) 34px;gap:6px;align-items:center}
.ms-dim input,.ms-pinrow input,.ms-pinrow select,.ms-iss input,.ms-photo input{font:inherit;font-size:16px;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);min-width:0}
.ms-mm{text-align:right;font-weight:600}
.ms-dim input:focus,.ms-pinrow input:focus{outline:2px solid #E8A33D;outline-offset:0}
.ms-quick{margin-top:10px}
.ms-quick .chip{cursor:pointer;border:1px dashed var(--line);background:none;font:inherit;font-size:13px;padding:6px 10px}
.ms-photo{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.ms-img{position:relative;display:inline-block;max-width:100%;cursor:crosshair;border-radius:10px;overflow:hidden;touch-action:manipulation}
.ms-img img{display:block;max-width:100%;max-height:70vh}
.ms-pin{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;background:#E8A33D;color:#13233D;border:3px solid #fff;font:700 13px/22px Inter,system-ui,sans-serif;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.35);cursor:pointer}
.ms-pin.on{background:#13233D;color:#fff}
.ms-pins{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.ms-pinrow{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(0,1.6fr) 34px;gap:6px;align-items:center}
.ms-pinno{width:26px;height:26px;border-radius:50%;background:#E8A33D;color:#13233D;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.ms-g{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:16px 0 6px}
.ms-q{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0;border-bottom:1px solid var(--line)}
.ms-q.bad .ms-ql{color:var(--hold);font-weight:600}
.ms-ql{flex:1 1 260px}
.ms-seg{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.ms-seg button{font:inherit;font-size:14px;font-weight:600;background:var(--panel);color:var(--muted);border:0;padding:9px 14px;cursor:pointer;min-width:62px}
.ms-seg button+button{border-left:1px solid var(--line)}
.ms-seg button[aria-pressed="true"][data-v="ok"]{background:var(--ok-bg);color:var(--ok)}
.ms-seg button[aria-pressed="true"][data-v="issue"]{background:var(--hold-bg);color:var(--hold)}
.ms-seg button[aria-pressed="true"][data-v="na"]{background:var(--sunk);color:var(--ink)}
.ms-iss{display:flex;gap:8px;align-items:center;flex:1 1 100%}
.ms-iss input{flex:1}
.x{font:inherit;font-size:18px;line-height:1;width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer}
@media (max-width:700px){.ms-dim{grid-template-columns:minmax(0,1fr) 96px 34px}.ms-dim .ms-nt{grid-column:1/3}.ms-pinrow{grid-template-columns:28px minmax(0,1fr) 34px}.ms-pinrow input{grid-column:2/4}}

.ms-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ms-ptools{gap:8px;margin-bottom:8px;flex-wrap:wrap}
.ms-pin.auto{border-style:dashed;background:#DDF1F7;color:#13233D}
.ms-pinno.auto{background:#DDF1F7;border:2px dashed #1A86A8}
.ms-ann{position:fixed;inset:0;z-index:80;background:#0B1220;display:flex;flex-direction:column;color:#fff}
.ms-ann-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 12px;background:#13233D;padding-top:max(10px,env(safe-area-inset-top,0px))}
.ms-tool{font:inherit;font-weight:600;font-size:14px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;border-radius:9px;padding:8px 12px;cursor:pointer}
.ms-tool[aria-pressed="true"]{background:#E8A33D;color:#13233D;border-color:#E8A33D}
.ms-col{width:30px;height:30px;border-radius:50%;border:2px solid rgba(255,255,255,.4);cursor:pointer;padding:0}
.ms-col[aria-pressed="true"]{outline:3px solid #E8A33D;outline-offset:2px}
.ms-sep{width:1px;height:26px;background:rgba(255,255,255,.2);margin:0 4px}
.ms-annlbl{font:inherit;font-size:16px;padding:8px 10px;border-radius:9px;border:1px solid rgba(255,255,255,.3);background:#0B1220;color:#fff;min-width:170px}
.ms-ann-bar .btn.ghost{color:#fff;border-color:rgba(255,255,255,.3);background:transparent}
.ms-ann-stage{flex:1;display:flex;align-items:center;justify-content:center;padding:12px;min-height:0;overflow:auto}
.ms-ann-img{position:relative;display:inline-block;max-width:100%;max-height:100%}
.ms-ann-img img{display:block;max-width:100%;max-height:calc(100vh - 150px);user-select:none;-webkit-user-select:none;pointer-events:none}
.ms-draw{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
.ms-ann-edit{padding:10px 14px calc(12px + env(safe-area-inset-bottom,0px));background:#13233D;display:flex;flex-direction:column;gap:8px}.ms-ann-edit label{font-weight:600;font-size:14.5px}.ms-ann-edit .row{gap:8px;flex-wrap:nowrap}#ms-annedit{font:inherit;font-size:18px;font-weight:600;padding:9px 12px;border-radius:9px;border:1px solid rgba(255,255,255,.35);background:#0B1220;color:#fff;width:9em;min-width:0;flex:1}.ms-ann-edit .btn.ghost{color:#fff;border-color:rgba(255,255,255,.3);background:transparent}.ms-picks{display:flex;flex-wrap:wrap;gap:6px}.ms-picks .ms-tool{font-size:13px;padding:6px 10px}.ms-ann-note{margin:0;color:#B9C6D8;font-size:13px}.ms-sizes{margin:6px 0 0}
.ms-ann-tip{margin:0;padding:8px 14px calc(10px + env(safe-area-inset-bottom,0px));color:#B9C6D8;font-size:13.5px;text-align:center}
body.ms-annotating #ai-fab,body.ms-annotating #pbar,body.ms-annotating #demobar,body.kiosk #demobar{display:none!important}
/* ---- calmer still ---- */
@media (min-width:1000px){
  .panel:not(.tsmail)>p.sub{display:none}
  .fld>span{font-size:12px}
  #ai-fab{padding:12px!important;width:52px;height:52px;border-radius:50%!important;justify-content:center}
  #ai-fab span{display:none}
  .card .card-top .mono+span,.card-type{display:none}
}

/* The header already has Simple/Full and light/dark, so the menu only carries the account (and the Show switch on phones). */
#viewmenu .vm-look{display:none!important}
@media (max-width:999px){body.drawer-open #pbar,body.drawer-open #ai-fab{display:none!important}#drawer .dbody{padding-bottom:28px}}
@media (min-width:701px){#viewmenu .vm-sl,#viewmenu #modeset{display:none!important}#viewmenu.vm-empty .vm-in{display:none!important}#viewmenu.vm-empty summary svg{display:none}#viewmenu.vm-empty summary{cursor:default;pointer-events:none}}
@media (max-width:700px){#viewmenu summary{padding:6px 8px;font-size:12.5px}}
/* ---------- premium polish ---------- */
.ico{flex:none;display:inline-block}
.btn,.ms-act,label.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}
.btn:active,.ms-act:active,.htile:active,.chip:active{transform:scale(.97)}
.btn:focus-visible,.ms-act:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.spin{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:lfspin .7s linear infinite;flex:none}
@keyframes lfspin{to{transform:rotate(360deg)}}
#view.enter{animation:lfin .24s cubic-bezier(.2,.7,.2,1)}
@keyframes lfin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
body.drawer-open .scrim{animation:lffade .2s ease}
@keyframes lffade{from{opacity:0}}
.toast:not([hidden]){animation:lftoast .24s cubic-bezier(.2,.7,.2,1)}
@keyframes lftoast{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
/* in-app confirm */
.lf-dlg-bg{position:fixed;inset:0;z-index:300;background:rgba(8,14,26,.5);display:flex;align-items:center;justify-content:center;padding:20px;animation:lffade .15s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.lf-dlg-bg.out{opacity:0;transition:opacity .14s}
.lf-dlg{background:var(--panel);color:var(--ink);border-radius:18px;box-shadow:0 24px 70px rgba(8,14,26,.38);padding:24px 22px 18px;width:min(420px,100%);animation:lfpop .2s cubic-bezier(.2,.8,.2,1)}
.lf-dlg p{margin:0 0 20px;font-size:16.5px;font-weight:600;line-height:1.4;letter-spacing:-.005em}
.lf-dlg-b{display:flex;gap:10px;justify-content:flex-end}.lf-dlg-b .btn{min-width:104px;min-height:44px;border-radius:11px}
@keyframes lfpop{from{opacity:0;transform:scale(.96) translateY(8px)}}
@keyframes lfsheet{from{transform:translateY(100%)}}
@media (max-width:700px){.lf-dlg-bg{align-items:flex-end;padding:0}.lf-dlg{border-radius:20px 20px 0 0;width:100%;padding:24px 18px calc(18px + env(safe-area-inset-bottom,0px));animation:lfsheet .26s cubic-bezier(.2,.8,.2,1)}.lf-dlg-b .btn{flex:1;min-height:50px;font-size:16px}}
/* dropdowns: one consistent control everywhere */
select:not([multiple]){-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237B8AA0' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;background-size:12px;padding-right:32px!important;cursor:pointer}
.ck-pack select{background-image:none;padding-right:4px!important}
a[data-ms="job-ms"]{color:var(--cyan);font-weight:600;text-decoration:none}a[data-ms="job-ms"]:hover{text-decoration:underline}
@media (max-width:1100px){.board[style]{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important}}
#view a[data-act=open-job],#view a[data-act=open-wo],#drawer a[data-act=open-job],#drawer a[data-act=open-wo]{color:var(--cyan);font-weight:600;text-decoration:none}#view a[data-act=open-job]:hover,#view a[data-act=open-wo]:hover,#drawer a[data-act=open-job]:hover,#drawer a[data-act=open-wo]:hover{text-decoration:underline}
@media (min-width:701px) and (max-width:999px){nav.tabs{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent);padding-right:40px}}
body.readonly #view .btn:not(.ghost),body.readonly #drawer .btn:not(.ghost){opacity:.45;filter:grayscale(.6)}
.sched-days{display:none}
@media (max-width:900px){.tw.sched{display:none}.sched-days{display:flex;flex-direction:column;gap:12px}.sd-day{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.sd-day.today{border-color:var(--btn);box-shadow:0 0 0 1px var(--btn) inset}.sd-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.sd-h .note{margin-left:auto}.sd-away{color:var(--amber);margin-bottom:6px}.sd-task{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:10px 0;border-top:1px solid var(--line);text-decoration:none!important;color:var(--ink)!important;font-weight:400!important}.sd-task .mono{color:var(--cyan);font-size:12.5px;align-self:center}.sd-n{font-weight:600}.sd-w{grid-column:2;color:var(--muted);font-size:13px}.sd-task.un .sd-w{color:var(--hold)}.sd-task.done{opacity:.5}}
@media (max-width:700px){table.ctbl,table.ctbl tbody{display:block}table.ctbl thead{display:none}table.ctbl tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;padding:14px 4px;border-bottom:1px solid var(--line)}table.ctbl td{display:block;border:0!important;padding:0!important;min-width:0;white-space:normal!important}table.ctbl td:first-child,table.ctbl td:nth-child(3){grid-column:1/-1}table.ctbl td[data-l]:not(:first-child)::before{content:attr(data-l);display:block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.tw:has(table.ctbl){overflow:visible}
.jtabs{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:40px!important}.form select{max-width:100%}}
td.cell.away [data-task]{box-shadow:inset 0 0 0 2px var(--hold)!important;background:var(--hold-bg)!important}td.cell.away [data-task]::after{content:'Away \2013 reassign';display:block;font-size:12px;font-weight:700;color:var(--hold)}
.addt{opacity:1!important;color:var(--muted)!important;border:1px dashed var(--line)!important;background:transparent!important;border-radius:8px!important}td.cell:hover .addt,.addt:focus-visible{color:var(--ink)!important;border-color:var(--btn)!important}
@media (min-width:701px){.jtabs{flex-wrap:wrap;overflow:visible;row-gap:2px}}
.dbox{position:relative;display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);cursor:pointer}.dbox svg{margin-left:auto;color:var(--muted);flex:none}.dshow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dshow.empty{color:var(--muted)}.dbox input[type=date]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0;margin:0}.dbox:focus-within{outline:2px solid var(--cyan);outline-offset:1px}.dbox input[type=date]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;opacity:0}
.k-pinpad{max-width:420px;margin:0 auto;text-align:center}.k-dots{display:flex;gap:16px;justify-content:center;margin:10px 0 22px}.k-dots i{width:18px;height:18px;border-radius:50%;border:2px solid var(--muted)}.k-dots i.on{background:var(--btn);border-color:var(--btn)}.k-dots.bad{animation:kshake .35s}@keyframes kshake{25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.k-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.k-key{font:inherit;font-size:28px;font-weight:700;padding:18px 0;border-radius:16px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer}.k-key:active{transform:scale(.96);background:var(--sunk)}
input.bad{border-color:var(--hold)!important;box-shadow:0 0 0 2px var(--hold-bg)}
.card,.card *,.item-name,.dhead h1,.blockmsg,.k-wo,.hlist a,.ms-row,.sd-task,.mini{overflow-wrap:anywhere}td,.note{overflow-wrap:break-word}.card,.lane,.item,.item>div:first-child{min-width:0}#drawer{overflow-x:hidden}
.infomsg{margin-top:8px;padding:10px 12px;border-radius:10px;background:var(--sunk);border:1px solid var(--line);color:var(--muted);font-size:14px}
body.kiosk #view *{overflow-wrap:break-word;min-width:0}body.kiosk #view .k-now,body.kiosk #view .k-wo-t,body.kiosk #view .k-choice b,body.kiosk #view .k-big{overflow-wrap:anywhere}body.kiosk #view .k-tag,body.kiosk #view .k-btn,body.kiosk #view .k-key{overflow-wrap:normal}
.btn,.chip,.k-btn,.tag{white-space:nowrap;overflow-wrap:normal!important;word-break:keep-all}

.st-tabs{display:flex;gap:4px;flex-wrap:wrap;margin:-4px 0 18px;border-bottom:1px solid var(--line)}.st-tabs a{padding:9px 14px;cursor:pointer;color:var(--muted);font-weight:600;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.st-tabs a:hover{color:var(--ink)}.st-tabs a[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--btn)}
@media (max-width:700px){.st-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}}
/* job panel: calm, roomy, no squeezed tables */
#drawer .dbody,#drawer>div:not(.dhead):not(.jtabs){padding-left:4px;padding-right:4px}
#drawer .panel{padding:20px 20px 22px;margin-bottom:18px;border-radius:14px}
#drawer .panel h2{font-size:16.5px;letter-spacing:-.01em;margin-bottom:4px}
#drawer .panel .sub,#drawer .panel>.note{margin-bottom:12px}
#drawer .tw{overflow:visible;border:0;background:transparent}
#drawer table.dcard,#drawer table.dcard tbody{display:block;width:100%!important;table-layout:auto!important}
#drawer table.dcard thead{display:none}
#drawer table.dcard tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;padding:14px 16px;margin:0 0 10px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
#drawer table.dcard tr.dc-full{display:block;padding:12px 14px;background:var(--sunk)}
#drawer table.dcard td{display:block;border:0!important;padding:0!important;min-width:0;width:auto!important;white-space:normal!important;text-align:left!important}
#drawer table.dcard td:first-child{grid-column:1/-1;font-weight:600;font-size:15px}
#drawer table.dcard td:nth-child(2):not(.dc-act){grid-column:1/-1}
#drawer table.dcard td.dc-act{grid-column:1/-1;display:flex!important;flex-wrap:wrap;gap:8px;align-items:center}
#drawer table.dcard td.dc-act select{width:auto!important;min-width:180px!important;max-width:100%!important}
#drawer table.dcard td.dc-act>div{display:flex;flex-wrap:wrap;gap:8px;flex-direction:row!important}
#drawer table.dcard td.dc-act>div>*{width:auto!important}
#drawer table.dcard td.dc-act .btn{width:auto!important;display:inline-flex!important}
#drawer table.dcard td[data-l]:not(:first-child):not(.dc-act)::before,#drawer table.dcard td.dc-act[data-l]:not(:first-child)::before{content:attr(data-l);display:block;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
#drawer table.dcard td.dc-act[data-l]::before{flex-basis:100%;margin-bottom:0}
#drawer table.dcard td:empty{display:none}
#drawer table.dcard td .form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;align-items:end;width:100%}
/* one obvious primary action: secondary buttons become quiet links */
#drawer .btn.ghost.small{border-color:transparent!important;background:transparent!important;color:var(--cyan)!important;padding-left:6px!important;padding-right:6px!important;box-shadow:none!important}
#drawer .btn.ghost.small:hover{background:var(--sunk)!important}
#drawer .btn.ghost.small.danger,#drawer .btn.ghost.small[data-act*=del]{color:var(--hold)!important}
@media (min-width:701px){#drawer .jtabs{flex-wrap:nowrap!important;overflow-x:auto!important}#drawer .jtabs a{padding:9px 9px!important;font-size:13.5px;white-space:nowrap}}
.warnmsg{padding:12px 14px;border-radius:10px;background:var(--amber-bg);border:1px solid color-mix(in srgb,var(--amber) 35%,transparent);color:var(--ink);font-size:14px}.warnmsg b{display:block;margin-bottom:2px;color:var(--amber)}.warnmsg ul{margin:6px 0 0;padding-left:18px}
.infomsg b{display:block;color:var(--ink);margin-bottom:2px}
.mono,.k-jno,.dnum,.nw{white-space:nowrap}
.app-imp tr.muted-row td{opacity:.55}
.ai-note{display:block;margin-top:8px;font-size:12px;opacity:.75}
.gs-btn kbd,.gs-in kbd{font:600 11.5px/1 var(--f-mono,monospace);padding:3px 6px;border-radius:5px;border:1px solid var(--line);background:var(--sunk);color:var(--muted);margin-left:4px}
.gs-bg{position:fixed;inset:0;z-index:260;background:rgba(10,18,34,.5);display:flex;justify-content:center;align-items:flex-start;padding:10vh 16px 16px}
.gs-box{width:min(640px,100%);background:var(--panel);color:var(--ink);border-radius:16px;box-shadow:0 30px 80px rgba(10,18,34,.35);overflow:hidden;display:flex;flex-direction:column;max-height:80vh}
.gs-in{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--muted)}.gs-in input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:17px;padding:6px 0}
#gs-list{list-style:none;margin:0;padding:6px;overflow:auto}#gs-list li[role=option]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;cursor:pointer;min-height:44px}#gs-list li[aria-selected=true]{background:var(--amber-bg)}
.gs-num{font-family:var(--f-mono,monospace);font-size:13px;color:var(--muted);flex:none;min-width:64px}.gs-main{flex:1;min-width:0;display:flex;flex-direction:column}.gs-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gs-main span{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gs-meta{font-size:12.5px;color:var(--muted);flex:none;text-align:right}
.gs-none{padding:16px;color:var(--muted)}.gs-foot{margin:0;padding:8px 16px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}
@media (max-width:700px){.gs-btn kbd{display:none}.gs-meta{display:none}.gs-bg{padding-top:12px}}

/* onboarding */
.onb-modal{position:fixed;inset:0;z-index:250;background:rgba(10,18,34,.55);display:grid;place-items:center;padding:16px;overflow:auto}
.onb-box{width:min(640px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--panel);color:var(--ink);border-radius:18px;padding:24px 24px 20px;box-shadow:0 30px 80px rgba(10,18,34,.35)}
.onb-box h2{margin:4px 0 6px;font-size:22px}.onb-box h2 .note{font-size:14px;font-weight:500}
.onb-kicker{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--amber)}
.onb-p,.onb-why{color:var(--muted);margin:0 0 14px}.onb-why{background:var(--sunk);border-radius:10px;padding:10px 12px;color:var(--ink);font-size:14.5px}
.onb-q{border:0;padding:0;margin:14px 0 0}.onb-q legend{font-weight:600;margin-bottom:8px;padding:0}
.onb-chips{display:flex;gap:8px;flex-wrap:wrap}.onb-chips .chip.on,.onb-quick .chip.on{background:var(--ink);color:var(--panel);border-color:var(--ink)}
.onb-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.onb-mode{font:inherit;text-align:left;padding:14px;border-radius:12px;border:2px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:4px;min-height:44px}.onb-mode span{color:var(--muted);font-size:13.5px}.onb-mode.on{border-color:var(--amber);background:var(--amber-bg)}
.onb-row{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}.onb-row.left{justify-content:flex-start;margin-top:4px}
.onb-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.onb-x{font:inherit;font-size:24px;line-height:1;width:44px;height:44px;border-radius:10px;border:0;background:transparent;color:var(--muted);cursor:pointer}.onb-x:hover{background:var(--sunk);color:var(--ink)}
.onb-steps{list-style:none;display:flex;gap:4px;margin:10px 0 14px;padding:0;overflow-x:auto}.onb-steps li{flex:1 1 0;min-width:64px;font-size:12px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.onb-steps li span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line);font-weight:700;font-size:12.5px}.onb-steps li.on{color:var(--ink);font-weight:600}.onb-steps li.on span{border-color:var(--amber);background:var(--amber);color:#13233D}.onb-steps li.done span{background:var(--ok);border-color:var(--ok);color:#fff}.onb-steps li.skip span{border-style:dashed;color:var(--muted)}.onb-chips .chip{padding:8px 16px;font-size:14.5px;min-height:40px}
.onb-body .form{margin-top:4px}.onb-done{font-weight:600;color:var(--ok);margin:0}
.onb-list{display:flex;gap:8px;flex-wrap:wrap}.onb-list .cp{display:inline-flex;align-items:center;gap:4px;padding:4px 4px 4px 12px;border-radius:999px;background:var(--sunk);border:1px solid var(--line)}.onb-list .cp button{border:0;background:transparent;color:var(--muted);font-size:18px;width:32px;height:32px;border-radius:50%;cursor:pointer}
.onb-quick{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px}
.onb-items,.onb-gates{list-style:none;margin:0;padding:0;display:grid;gap:6px}.onb-items li{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;padding:8px 12px;border-radius:9px;background:var(--sunk)}
.onb-gates li{display:flex;gap:10px;align-items:baseline}.onb-gates li::before{content:'\2715';color:var(--hold);font-weight:800}.onb-gates li.ok::before{content:'\2713';color:var(--ok)}
.onb-vbox{width:min(960px,100%)}.onb-vbox video{width:100%;border-radius:12px;background:#000;margin-top:10px;display:block}
@media (max-width:560px){.onb-box{padding:18px 16px 16px;border-radius:14px}.onb-modes{grid-template-columns:1fr}.onb-steps li{min-width:44px;font-size:0}.onb-steps li span{font-size:12px}}
#onb-tip{position:fixed;z-index:240;width:min(330px,calc(100vw - 24px));background:var(--head,#13233D);color:#fff;border-radius:14px;padding:14px 16px 12px;box-shadow:0 18px 48px rgba(10,18,34,.35)}
#onb-tip.dock{left:12px!important;right:12px;bottom:calc(84px + env(safe-area-inset-bottom,0px));top:auto!important;width:auto}
@media (min-width:701px){#onb-tip.dock{left:auto!important;right:24px;bottom:24px;width:330px}}
#onb-tip b{display:block;font-size:15.5px;margin:2px 0 4px}#onb-tip p{margin:0 0 10px;color:#D5DEEA;font-size:14px;line-height:1.45}.tip-n{font-size:12px;color:#F4C26B;font-weight:600}
.tip-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.tip-row .linkbtn{color:#B9C6D8}.tip-row .btn{min-width:84px}
.tour-hi{outline:3px solid var(--amber)!important;outline-offset:3px;border-radius:10px;position:relative;z-index:1}
.helpbtn{position:relative}.helpbtn summary{list-style:none;display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--head-ink);font-size:13.5px;font-weight:600;padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.14);min-height:36px}.helpbtn summary::-webkit-details-marker{display:none}.helpbtn summary span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);font-size:12.5px;font-weight:800}.helpbtn summary em{font-style:normal}.helpbtn[open] summary,.helpbtn summary:hover{background:rgba(255,255,255,.08)}
.helpbtn .hm{position:absolute;right:0;top:calc(100% + 8px);z-index:70;min-width:250px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(10,18,34,.18);padding:8px;display:flex;flex-direction:column}
.helpbtn .hm button{font:inherit;text-align:left;border:0;background:transparent;color:var(--ink);padding:10px 12px;border-radius:8px;cursor:pointer;min-height:44px}.helpbtn .hm button:hover,.helpbtn .hm button:focus-visible{background:var(--sunk)}.hm-v{font-size:11.5px;color:var(--muted);padding:8px 12px 2px;border-top:1px solid var(--line);margin-top:4px}.hm-t{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:6px 12px}
@media (max-width:700px){.helpbtn summary em{display:none}.helpbtn .hm{right:auto;left:50%;transform:translateX(-50%);position:fixed;top:64px;width:min(320px,calc(100vw - 24px))}}
body.kiosk .helpbtn{display:none}
.sample-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 18px;background:var(--amber-bg);color:var(--ink);border-bottom:1px solid var(--line);font-size:14px}
.sc-cont{margin:10px 0 0}.sc-opt{margin:8px 0 0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.sc-list li.opt{background:transparent;border:1px dashed var(--line)}.sc-btns{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:560px){.sc-btns{grid-column:2;margin-left:0;justify-content:flex-start}}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nj-warn{margin-top:8px;padding:8px 12px;border-radius:9px;background:var(--hold-bg);color:var(--hold)}.nj-warn[hidden]{display:none}#nj-num[aria-invalid=true],#gj-num[aria-invalid=true]{border-color:var(--hold)}
.setup-card{margin-bottom:16px;border:1px solid var(--amber)}.setup-card.done{border-color:var(--ok,#2E9D6A)}.sc-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.sc-n{font-weight:600;color:var(--muted);font-size:13.5px}
.sc-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.sc-list li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:var(--sunk)}.sc-list li .btn{margin-left:auto;flex:none}
.sc-tick{width:24px;height:24px;flex:none;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-weight:800;font-size:13px}.sc-list li.ok .sc-tick{background:var(--ok,#2E9D6A);border-color:var(--ok,#2E9D6A);color:#fff}.sc-list li.ok b{color:var(--muted);text-decoration:line-through}
.sc-sub{margin:6px 0 0;color:var(--muted)}.sc-t{display:flex;flex-direction:column;min-width:0}.sc-t .note{font-size:13px}
@media (max-width:560px){.sc-list li{display:grid;grid-template-columns:24px 1fr;align-items:start}.sc-list li .btn{grid-column:2;margin-left:0;justify-self:start}}
.rel-need{display:grid;gap:10px;margin-top:12px}.rel-job{padding:12px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}.rel-job h3{margin:0 0 6px;font-size:15px}.rel-job ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}.rel-job li{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rel-job li::before{content:'\2715';color:var(--hold);font-weight:800}.rel-job li.ok::before{content:'\2713';color:var(--ok,#2E9D6A)}.rel-job li a{margin-left:auto}
.rooms-g{margin-top:10px}.room-h{display:flex;align-items:baseline;gap:10px;margin:14px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--line)}.room-h b{font-size:14.5px}.room-h .note{font-size:12.5px}
.inv-row{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-top:8px}.inv-row .fld{flex:1 1 200px;min-width:0}.inv-row .fld input,.inv-row .fld select{width:100%;min-width:0}
.ah-tk{display:block;font-size:12px;color:var(--muted);white-space:nowrap}
.stage-pick{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted)}.stage-pick select{width:auto;padding:7px 10px;border-radius:9px;border:1px solid var(--line);background:var(--sunk);color:var(--ink);font:inherit}
.cols .col i.col-zero{height:4px!important;background:repeating-linear-gradient(90deg,var(--line) 0 4px,transparent 4px 8px)!important}.chart-note{margin-top:10px}
main>*{margin-left:auto!important;margin-right:auto!important}@media (min-width:1000px){main>*{max-width:1440px!important}}body.kiosk main>*{max-width:none!important}
#kb-pop{position:fixed!important;right:auto!important;z-index:330!important;display:grid!important}
#ai .ai-m.a{white-space:pre-line}
.btn.icon-x{min-width:44px;min-height:44px;padding:0 12px;font-size:22px;line-height:1;justify-content:center}
@media (max-width:700px){details.kebab .kb-m{display:none!important}}
#kb-sheet{position:fixed;inset:0;z-index:320;background:rgba(8,14,26,.45);display:flex;align-items:flex-end;animation:lffade .15s ease}
#kb-sheet .kb-in{width:100%;background:var(--panel);border-radius:18px 18px 0 0;padding:10px 10px calc(14px + env(safe-area-inset-bottom,0px));display:grid;gap:2px;box-shadow:0 -10px 40px rgba(10,18,34,.3)}
#kb-sheet .kb-t{font-size:13px;color:var(--muted);padding:8px 14px 6px}
#kb-sheet button{font:inherit;font-size:16px;text-align:left;border:0;background:transparent;color:var(--ink);padding:14px;border-radius:10px;cursor:pointer}#kb-sheet button:active{background:var(--sunk)}#kb-sheet button.danger{color:var(--hold)}#kb-sheet .kb-cancel{text-align:center;font-weight:600;margin-top:6px;background:var(--sunk)}
.hb .bq{width:3px!important;top:-5px!important;bottom:-5px!important;border-radius:2px}
.home-today .hlist a{color:var(--ink)!important;font-weight:500!important}
.ms-dim-h{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:10px}.ms-dim-h span{padding:0 4px}
.ms-fromph{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--sunk)}.ms-fromph b{font-size:13px;margin-right:4px}@media (max-width:700px){.ms-dim-h{display:none!important}}.ms-fromph .chip.on{opacity:.6}
#view input[type=checkbox],#drawer input[type=checkbox]{width:18px;height:18px;accent-color:var(--amber)}
.ng{font-size:12px!important}
.chart-empty{min-height:170px}
.cols .col i{width:min(70%,34px)!important;border-radius:6px 6px 2px 2px}
.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}
table.holds-g tr.grp td{background:var(--sunk);padding:12px 14px!important;border-top:1px solid var(--line)}table.holds-g tr.grp td a{font-weight:600;color:var(--ink);text-decoration:none;margin-right:10px}table.holds-g tr.grp td a:hover{text-decoration:underline}
table.holds-g tr.grp td::before{display:none!important}table.holds-g tr.grp{display:table-row}
@media (max-width:700px){table.holds-g tr.grp,table.holds-g tr.grp td{display:block;border-radius:10px}}
@media (min-width:1000px){body.simple nav.tabs a{font-size:16px!important;padding:12px 14px!important;border-radius:10px}body.simple nav.tabs{gap:4px!important;padding-top:16px!important}
  body.simple main>*{max-width:1180px}body.simple .htiles{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}body.simple .htile{min-height:150px}body.simple .vhead h1{font-size:30px}}
.pill{font-size:12.5px!important;padding:3px 10px!important}
#view input::placeholder,#view textarea::placeholder{color:var(--muted);opacity:.65;font-style:italic}
.chipbox{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);min-height:46px}
.chipbox .cp{display:inline-flex;align-items:center;gap:4px;padding:4px 4px 4px 10px;border-radius:999px;background:var(--sunk);border:1px solid var(--line);font-size:13.5px}
.chipbox .cp button{border:0;background:transparent;color:var(--muted);font-size:16px;line-height:1;width:22px;height:22px;border-radius:50%;cursor:pointer}.chipbox .cp button:hover{background:var(--line);color:var(--ink)}
.chipbox .cp-in{flex:1 1 120px;border:0!important;background:transparent!important;outline:0;font:inherit;font-size:14px;padding:4px 6px;min-width:100px;color:var(--ink)}
body.on-settings #view .panel button[data-act^="save-"],body.on-settings #view .panel button[data-act="lb-save"]{display:none}
.st-save{position:sticky;bottom:16px;z-index:20;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;padding:12px 14px 12px 18px;border-radius:14px;background:var(--panel);border:1px solid var(--amber);box-shadow:0 14px 40px rgba(10,18,34,.22)}.st-save>span{flex:1 1 240px;min-width:0}.st-save[hidden]{display:none}.st-save.clean{border-color:var(--line);box-shadow:0 6px 20px rgba(10,18,34,.10)}.st-save .st-ok{color:var(--ok,#2E9D6A)}
@media (max-width:999px){.st-save{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
body.on-settings #view .fld>span{font-size:13px!important}body.on-settings #view .form{gap:14px 16px}
.k-pick{grid-template-columns:repeat(4,minmax(0,1fr))!important}.k-pick .k-wide{grid-column:1/-1;flex-direction:row;align-items:center;gap:6px 18px;flex-wrap:wrap}.k-pick .k-wide span{flex:1 1 300px}
@media (max-width:1100px){.k-pick{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width:600px){.k-pick{grid-template-columns:1fr!important}}
/* TV boards: scale up with the screen and use the full height */
body.kiosk .k-grid{align-items:stretch;min-height:calc((100dvh - 250px) / var(--kz,1))}body.kiosk .k-col{display:flex;flex-direction:column}
@media (min-width:1500px){body.kiosk #view{zoom:1.2;--kz:1.2}}@media (min-width:1800px){body.kiosk #view{zoom:1.45;--kz:1.45}}@media (min-width:2400px){body.kiosk #view{zoom:1.9;--kz:1.9}}
body.kiosk .k-head .k-x,body.kiosk .k-ctl button{min-width:44px;min-height:44px}
.ms-ann .ms-tool{display:inline-flex;align-items:center;gap:6px}.ms-ann .ms-col{box-shadow:0 0 0 2px rgba(255,255,255,.55)}.ms-ann .ms-col[aria-pressed=true]{box-shadow:0 0 0 2px #fff,0 0 0 4px #E8A33D}
.ms-zoom{display:inline-flex;gap:2px;margin-right:6px}.ms-zoom .ms-act{min-width:34px;justify-content:center}.ms-zv{font-variant-numeric:tabular-nums;min-width:52px!important}
.ms-ann-stage.zoomed{display:block;text-align:left}.ms-ann-stage.zoomed .ms-ann-img{max-width:none;max-height:none}.ms-ann-stage.zoomed .ms-ann-img img{max-width:none;max-height:none;width:100%}
.ms-ann-stage.panning .ms-draw{cursor:grab}
.ms-ann-foot{min-height:128px;display:flex;flex-direction:column;justify-content:flex-end;background:#13233D}.ms-ann-foot .ms-ann-tip{font-size:15.5px;color:#DCE5F2;padding-top:14px;line-height:1.45}
@media (min-width:900px){.ms-ann-img img{max-height:calc(100vh - 230px)!important}}
.chk-empty{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:4px 10px;border:1px dashed var(--line);border-radius:999px;color:var(--muted)!important;font-size:13px}.chk-empty span{font-weight:700;color:var(--cyan)}
.chk-rooms{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))!important}
#view .card .card-wo{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;display:block}
:root[data-theme=dark] input[type=search],:root[data-theme=dark] .fld input,:root[data-theme=dark] .fld select{border-color:#3A4B66}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) input[type=search],:root:not([data-theme=light]) .fld input,:root:not([data-theme=light]) .fld select{border-color:#3A4B66}}
.ah-legend{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}.ah-legend .mk{font-size:12.5px}
table.ahead th{font-size:14px;font-weight:600;color:var(--ink);text-transform:none;letter-spacing:0;padding-top:10px;padding-bottom:10px}table.ahead th .ah-wk{display:block;font-size:12px;font-weight:500;color:var(--muted)}
table.ahead td{padding-top:12px;padding-bottom:12px}table.ahead .mk{font-size:12.5px;padding:3px 8px}
/* schedule: chips wrap instead of truncating; the + sits at the bottom of the cell; Away notes get their own line */
.tw.sched td.cell{padding:6px 6px 42px!important}
.tw.sched .addt{top:auto!important;bottom:14px!important;right:6px!important}
.tw.sched .tchip{flex-wrap:wrap;align-items:flex-start;row-gap:2px}
.tw.sched .tchip .tn{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.3;flex:1 1 120px}
.tw.sched .tchip .th{font-size:12px;margin-left:auto}
.tw.sched td.cell.away [data-task]::after{flex-basis:100%;order:3;margin-top:2px}
.tw.sched td.cell .cell-flag{font-size:12px}
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:28px 20px!important;border:1px dashed var(--line)!important;border-radius:14px!important;background:transparent!important;color:var(--muted);font-size:14px;line-height:1.5}
.empty>b{display:block;font-size:16px;font-weight:600;color:var(--ink)}.empty>span{display:block;max-width:440px}.empty .btn{margin-top:6px}
.panel>.row:first-child{gap:10px;flex-wrap:wrap;align-items:center}
.step-lbl{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-top:6px}
.stage-acts{gap:10px 16px;margin-top:14px;align-items:center}.stage-other summary{list-style:none;cursor:pointer;font-size:14px}.stage-other summary::-webkit-details-marker{display:none}.stage-other[open] summary{margin-bottom:8px}.stage-other .form{margin-top:4px}
.muted-n{color:var(--muted);font-weight:500}
.dash .vhead{align-items:flex-end}.dash-acts{gap:8px;flex-wrap:wrap}.dash-acts .btn svg{width:16px;height:16px}
.dash-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:18px}.dash-kpis a.kpi{text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}.dash-kpis a.kpi:hover{border-color:var(--muted);transform:translateY(-1px)}
.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start}.dash-grid .panel{margin:0}
.dash-grid h2 .cnt{font-size:12px;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--sunk);color:var(--muted)}.dash-grid h2 .cnt.hot{background:var(--hold-bg);color:var(--hold)}
.flist{list-style:none;margin:8px 0 0;padding:0;display:grid}.flist li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 2px;border-bottom:1px solid var(--line)}.flist li:last-child{border-bottom:0}.flist b{font-weight:600}.flist span{grid-column:1;color:var(--muted);font-size:13.5px}.flist em{grid-row:1;grid-column:2;font-style:normal;color:var(--muted);font-size:13px}.flist li.bad em{color:var(--hold);font-weight:600}
.empty-s{display:flex;flex-direction:column;gap:4px;padding:18px 16px;border:1px dashed var(--line);border-radius:12px;margin-top:10px;color:var(--muted);font-size:14px}.empty-s b{color:var(--ink);font-size:15px}
.dash-more{display:inline-block;margin-top:10px;font-size:14px}
details.kebab{position:relative;display:inline-block}details.kebab>summary{list-style:none;display:grid;place-items:center;width:34px;height:32px;border-radius:8px;border:1px solid var(--line);color:var(--muted);cursor:pointer;background:transparent}details.kebab>summary::-webkit-details-marker{display:none}details.kebab>summary:hover,details.kebab[open]>summary{color:var(--ink);background:var(--sunk)}
.kb-m{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:230px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px rgba(10,18,34,.22);padding:6px;display:grid}
.kb-m button{font:inherit;font-size:14px;text-align:left;border:0;background:transparent;color:var(--ink);padding:9px 11px;border-radius:8px;cursor:pointer;white-space:nowrap}.kb-m button:hover,.kb-m button:focus-visible{background:var(--sunk)}.kb-m button.danger{color:var(--hold)}.ai-demo-note{display:block;margin-top:8px;font-size:12.5px;color:var(--muted);border-left:3px solid var(--amber);padding-left:8px}
.lbl-two{align-items:start}.lbl-form .form>.fld:first-child{grid-column:1/-1}.lbl-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:12px}.lbl-form .form{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.lbl-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px 14px;margin-top:14px}.lbl-lab{display:block;grid-column:1/-1;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:6px;letter-spacing:.02em}
.lbl-prev{padding:16px;border-radius:12px;background:var(--sunk);display:flex;flex-direction:column;align-items:center}.lbl-prev .lbl-lab{align-self:flex-start}
.lbl-frame{overflow:hidden;background:#fff;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.12),0 8px 24px rgba(0,0,0,.14)}.lbl-frame iframe{border:0;display:block;pointer-events:none;background:#fff}
.lbl-a4{padding:22px 18px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:13.5px;text-align:center;width:100%}
.lbl-now{margin-top:4px}@media (max-width:700px){#co .abn{display:none}}.k-mach{gap:10px;flex-wrap:wrap}.k-mach b{overflow-wrap:normal!important;word-break:normal}.k-mach span{margin-left:auto;text-align:right}
/* calm empty lanes; hints only where they help */
.lane-empty{border:1.5px dashed var(--line);border-radius:10px;padding:18px 10px;text-align:center;color:var(--muted);font-size:13px}
@media (min-width:1000px) and (hover:hover){.board-hint{display:none}}
/* cards respond to the pointer */
.htile,.jcard,.kcard,.card{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
@media (hover:hover){.htile:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(19,35,61,.12);border-color:color-mix(in srgb,var(--btn) 45%,var(--line))}}
/* photo tools */
.ms-ptools .btn{gap:6px}
@media (max-width:700px){.ms-ptools{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ms-ptools .btn{width:100%;min-height:44px}.ms-ptools .note{grid-column:1/-1}}
/* mark-up editor: actions row + one scrolling tools row */
.ms-ann-top{display:flex;align-items:center;gap:6px;padding:10px 12px 6px;padding-top:max(10px,env(safe-area-inset-top,0px));background:#13233D}
.ms-ann-title{flex:1;text-align:center;font-weight:600;color:#B9C6D8;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-act{font:inherit;font-weight:600;font-size:14px;background:transparent;color:#fff;border:0;padding:8px 10px;border-radius:9px;cursor:pointer}.ms-act:hover{background:rgba(255,255,255,.08)}
.ms-ann-top .btn{min-width:78px}
.ms-ann .ms-ann-bar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-top:6px;padding-bottom:12px;-webkit-overflow-scrolling:touch}
.ms-ann .ms-ann-bar::-webkit-scrollbar{display:none}
.ms-ann .ms-tool,.ms-ann .ms-col,.ms-ann .ms-sep,.ms-ann .ms-annlbl{flex:none}
.ms-ann .ms-tool{white-space:nowrap}
/* home: use the width on big screens */
@media (min-width:1200px){
  .home{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);column-gap:22px;align-items:start}
  .home>*{grid-column:1/-1}
  .home>.htiles{grid-column:1;grid-row:2}
  .home>.home-today{grid-column:2;grid-row:2;margin-top:0}
}
@media (prefers-reduced-motion:reduce){#view.enter,.lf-dlg,.lf-dlg-bg,.toast:not([hidden]),body.drawer-open .scrim{animation:none!important}.btn:active,.htile:active{transform:none}}
