/* Retail Console v5 layout. Document-flow shell with separate PC, tablet, phone-portrait and
   phone-landscape compositions. Restrained surfaces; colour carries status only. */
/* Day palette only in day mode: a plain :root here (loaded after the console) overrode the night palette and left the
   page frame light in night mode (owner 2026-09-29). Night keeps the console's own [data-theme=night] palette. */
:root:not([data-theme=night]){--vx-bg:#f6f7f8;--vx-surface:#fff;--vx-surface-2:#f3f5f7;--vx-line:#e3e8ec;--vx-ink:#172333;--vx-ink-2:#4f5d70;--vx-ink-3:#6e7b8e;--vx-accent:#216d62;--vx-accent-soft:#e8f3ef}
:root{--vx-r:10px;--vx-r-lg:14px;--vx-side:228px;--vx-top:64px;
 --st-good:#1d7152;--st-good-bg:#e6f3ec;--st-warn:#8a6414;--st-warn-bg:#fbf0d9;--st-bad:#a3372e;--st-bad-bg:#fbe8e5;--st-info:#2c5b93;--st-info-bg:#e8f0fa;--st-pilot:#6d4d9c;--st-pilot-bg:#f0eafa;--st-mute-bg:#eef1f4;
 --v5-max:1360px;--v5-gap:20px;--v5-ease:cubic-bezier(.2,.7,.2,1);--v5-tab:64px}
[data-theme=night]{--st-good:#6fd0a8;--st-good-bg:#173a2f;--st-warn:#e9c275;--st-warn-bg:#3b3120;--st-bad:#f09a90;--st-bad-bg:#43241f;--st-info:#9cc2f0;--st-info-bg:#1d2d44;--st-pilot:#c5aef0;--st-pilot-bg:#2e2542;--st-mute-bg:#232d38}
html,body{height:auto;min-height:100%}body{font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-size:14px;overflow:visible}
.app{display:grid;grid-template-columns:var(--vx-side) minmax(0,1fr);grid-template-rows:var(--vx-top) auto;height:auto;min-height:100vh;align-items:start}
.side{position:sticky;top:0;grid-row:1 / 3;align-self:stretch;height:100vh;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-bottom:12px;border-color:var(--vx-line)}
.brand{height:var(--vx-top);padding:16px 18px}.brand b{font-size:14px}.brand small{margin-top:2px}.brand .mark{border-radius:9px;width:30px;height:30px}
.top{height:var(--vx-top);position:sticky;top:0;z-index:20;padding:0 24px;gap:10px;background:var(--vx-surface);grid-column:2;min-width:0}
.main{grid-column:2;grid-row:2;overflow:visible;min-width:0;padding:22px 28px 56px}
.screen{max-width:var(--v5-max);margin:0 auto;min-width:0}
.nav{padding:8px 12px}
/* Menu as on the workplace console: group head (glyph, name, chevron) -> pages; collapsible; icon rail */
.nav button{min-height:38px;margin-bottom:2px;font-size:13.5px;padding:8px 10px;gap:11px;border-radius:10px;transition:background-color .14s ease,color .14s ease,transform .14s ease}
.nav button:hover{transform:translateX(2px)}.nav button.on{font-weight:650}.nav button svg{width:17px;height:17px}
.nav .v5-navgi{display:inline-grid;place-items:center;width:18px;height:18px;flex:none;opacity:.9}
.nav .v5-navgi svg,.nav .v5-navii svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nav .v5-navl{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav .v5-chev{display:inline-grid;width:12px;height:12px;margin-left:auto;flex:none;opacity:.6;transition:transform .16s ease}
.nav .v5-chev svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nav .v5-navgrp.open>.v5-navhead .v5-chev{transform:rotate(90deg)}
.nav .v5-navgrp.has-on>.v5-navhead{color:var(--vx-ink);font-weight:650}
.nav .v5-navitems{display:none;padding:2px 0 4px}
.nav .v5-navgrp.open>.v5-navitems{display:block}
.nav .v5-navgrp.v5-anim>.v5-navitems{animation:v5NavOpen .22s cubic-bezier(.2,.7,.2,1) both}
@keyframes v5NavOpen{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.nav .v5-navitems .v5-navitem{min-height:33px;padding:6px 10px 6px 39px;font-size:13px}
.nav .v5-navii{display:none;flex:none}                         /* pages inside a group carry no icon (rail only) */
.side-foot{display:flex;flex-direction:column;gap:6px}
.side-foot [data-more]{justify-content:flex-start;gap:8px}.side-foot [data-more] svg{width:15px;height:15px;flex:none}
.side .v5-collapse{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;background:none;border-radius:10px;cursor:pointer;color:var(--vx-ink-2);font:500 12.5px/1.2 inherit}
.side .v5-collapse:hover{background:var(--vx-surface-2);color:var(--vx-ink)}
.side .v5-collapse svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}
@media (prefers-reduced-motion:reduce){.nav button,.nav .v5-chev,.side .v5-collapse svg{transition:none}.nav button:hover{transform:none}.nav .v5-navgrp.v5-anim>.v5-navitems{animation:none}}
/* Rail: the sidebar narrowed to icons (desktop and tablet only; the phone uses the bottom tabs) */
@media (min-width:768px){
 :root.v5-sidemin{--vx-side:64px}
 :root.v5-sidemin .brand{padding:0;justify-content:center}:root.v5-sidemin .brand>div:not(.mark){display:none}
 :root.v5-sidemin .nav{padding:8px}
 :root.v5-sidemin .nav .v5-navhead{display:none}
 :root.v5-sidemin .nav .v5-navitems{display:block;padding:4px 0;border-top:1px solid var(--vx-line)}
 :root.v5-sidemin .nav button{justify-content:center;padding:8px 0;gap:0}:root.v5-sidemin .nav button:hover{transform:none}
 :root.v5-sidemin .nav .v5-navl,:root.v5-sidemin .nav .cnt{display:none}
 :root.v5-sidemin .nav .v5-navii{display:inline-grid;place-items:center}
 :root.v5-sidemin .nav .v5-navitems .v5-navitem{padding:8px 0}
 :root.v5-sidemin .side-foot{margin:8px;padding:8px 0}
 :root.v5-sidemin .side-foot span{display:none}:root.v5-sidemin .side-foot button{justify-content:center;padding:8px 0}
 :root.v5-sidemin .side .v5-collapse svg{transform:rotate(180deg)}
}
.side-foot{margin:14px 12px 0;padding:12px 8px;font-size:11.5px;line-height:1.6;border-top:1px solid var(--vx-line)}
.top #globalEnroll,.top #qaBtn,.top #demoRoleWrap,.top #dateSel,.top .pill.site,.top #signOutBtn{display:none!important}
.top h1{font-size:15px;font-weight:650;min-width:0;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top .gs{max-width:240px;min-width:120px}.top .scopebar select{max-width:160px}
.v5-fresh{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--vx-ink-2);background:var(--vx-surface-2);border:1px solid var(--vx-line);border-radius:999px;padding:5px 10px;white-space:nowrap;flex:none}
.v5-fresh i{width:7px;height:7px;border-radius:50%;background:#b98f35;flex:none}.v5-fresh.live i{background:var(--st-good)}
.md-role{display:flex;align-items:center;gap:6px;flex:none}.md-role span{font-size:11px;color:var(--vx-ink-3)}
.md-role select{background:var(--vx-accent-soft);border:1px solid transparent;border-radius:8px;color:var(--vx-accent);font-size:12px;font-weight:650;padding:8px 24px 8px 10px;min-height:36px}
.btn{border-radius:8px;padding:8px 12px;min-height:36px}.btn.sm{min-height:32px}
.btn:focus-visible,.k:focus-visible,.nav button:focus-visible,.mobtabs button:focus-visible,.v5-seg button:focus-visible,summary:focus-visible{outline:2px solid var(--vx-accent);outline-offset:2px}

/* ---------- page head ---------- */
.v5-ctx{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px;color:var(--vx-ink-3);margin-bottom:10px}
.v5-ctx b{color:var(--vx-ink-2);font-weight:600}
.v5-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px}
.v5-head h1{font-size:26px;letter-spacing:-.5px;line-height:1.2;margin:0}
.v5-head p{color:var(--vx-ink-2);font-size:13.5px;line-height:1.55;margin:8px 0 0;max-width:68ch}
.v5-head-actions{display:flex;gap:8px;flex-wrap:wrap;flex:none}

/* ---------- KPI card primitive ---------- */
.v5-kwrap{container-type:inline-size;margin-bottom:var(--v5-gap)}
.v5-kgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@container (min-width:600px){.v5-kgrid[data-n="3"],.v5-kgrid[data-n="5"],.v5-kgrid[data-n="6"]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container (min-width:880px){.v5-kgrid[data-n="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.v5-kgrid[data-n="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}}
@container (max-width:300px){.v5-kgrid{grid-template-columns:minmax(0,1fr)}}
.k{position:relative;display:flex;flex-direction:column;align-items:stretch;text-align:left;width:100%;min-width:0;min-height:132px;padding:16px 16px 14px;border:1px solid var(--vx-line);border-radius:var(--vx-r-lg);background:var(--vx-surface);color:var(--vx-ink);font:inherit;cursor:pointer;
 transition:transform .18s var(--v5-ease),border-color .18s,box-shadow .18s;-webkit-tap-highlight-color:transparent}
.k:hover{transform:translateY(-2px);border-color:var(--vx-line-strong,#c9d3da);box-shadow:0 6px 18px rgba(20,35,50,.06)}
.k:active{transform:translateY(0) scale(.985);transition-duration:.06s}
.k-head{display:flex;align-items:center;gap:8px;min-width:0}
.k-ic{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:var(--vx-surface-2);color:var(--vx-ink-2);flex:none}.k-ic svg{width:15px;height:15px}
.k-label{font-size:12.5px;font-weight:600;color:var(--vx-ink-2);min-width:0;flex:1;line-height:1.3}
.k-val{display:flex;align-items:baseline;gap:5px;margin:12px 0 6px;min-height:38px}
.k-num{font-size:32px;font-weight:650;letter-spacing:-.8px;line-height:1.1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.k-unit{font-size:13px;color:var(--vx-ink-3);font-weight:600}
.k-text{font-size:15px;font-weight:650;line-height:1.3;color:var(--vx-ink-2)}
.k-sub{font-size:12px;color:var(--vx-ink-3);line-height:1.45}
.k-foot{display:flex;align-items:center;justify-content:space-between;gap:6px 8px;margin-top:auto;padding-top:10px;flex-wrap:wrap}.k-chip-f{display:none}.k-chip-h{flex:none;max-width:50%}
.k-spark{display:block;width:100%;height:30px;margin-top:8px}
.k-spark path.l{fill:none;stroke:var(--vx-accent);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.k-spark path.a{fill:var(--vx-accent);opacity:.08}
.k-state{position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:transparent}
.k[data-state=ready] .k-state{background:transparent}.k[data-state=partial] .k-state,.k[data-state=stale] .k-state{background:#d7a847}
.k[data-state=error] .k-state{background:var(--st-bad)}.k[data-state=pilot] .k-state{background:var(--st-pilot)}
.k[data-state=awaiting_source] .k-num,.k[data-state=disabled] .k-num,.k[data-state=unauthorized] .k-num{color:var(--vx-ink-3)}
.k.alert-on .k-num{color:var(--st-bad)}
/* entrance: once per card key, transform/opacity only */
.k.k-enter{animation:kIn .42s var(--v5-ease) both;animation-delay:calc(var(--i,0) * 55ms)}
@keyframes kIn{from{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}
.k.k-enter .k-spark path.l{stroke-dasharray:var(--len,400);stroke-dashoffset:var(--len,400);animation:kDraw .9s .25s var(--v5-ease) forwards}
@keyframes kDraw{to{stroke-dashoffset:0}}
.k-num.k-bump{animation:kBump .5s var(--v5-ease)}@keyframes kBump{40%{color:var(--vx-accent)}}

/* chips (state + freshness) */
.chip5{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:3px 7px;font-size:11px;font-weight:600;line-height:1.3;background:var(--st-mute-bg);color:var(--vx-ink-2);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.chip5.good{background:var(--st-good-bg);color:var(--st-good)}.chip5.warn{background:var(--st-warn-bg);color:var(--st-warn)}.chip5.bad{background:var(--st-bad-bg);color:var(--st-bad)}
.chip5.info{background:var(--st-info-bg);color:var(--st-info)}.chip5.pilot{background:var(--st-pilot-bg);color:var(--st-pilot)}
.chip5 i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8;flex:none}
.md-label{display:inline-flex;align-items:center;border-radius:6px;padding:3px 7px;font-size:11px;font-weight:600;background:var(--st-mute-bg);color:var(--vx-ink-2);white-space:normal}
.md-label.warn{background:var(--st-warn-bg);color:var(--st-warn)}.md-label.good{background:var(--st-good-bg);color:var(--st-good)}.md-label.pilot{background:var(--st-pilot-bg);color:var(--st-pilot)}.md-label.bad{background:var(--st-bad-bg);color:var(--st-bad)}

/* ---------- panels & layout ---------- */
.v5-split{container-type:inline-size}
.v5-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--v5-gap);align-items:start}
@container (min-width:700px){.v5-cols{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
@container (min-width:1000px){.v5-cols{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}}
@container (min-width:700px){.v5-cols.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.v5-stack{display:grid;gap:var(--v5-gap);min-width:0;align-content:start}
.v5-wide{margin-top:var(--v5-gap)}
.md-panel,.card{border:1px solid var(--vx-line);border-radius:var(--vx-r-lg);background:var(--vx-surface);min-width:0}
.md-panel{padding:18px 20px}
.md-panel-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:14px;min-width:0;flex-wrap:wrap}
.md-panel-title h2{font-size:15px;letter-spacing:-.2px;margin:0}
.md-panel-title .btn{font-size:12px}
.md-note{font-size:12px;line-height:1.6;color:var(--vx-ink-3);margin:12px 0 0;max-width:80ch}
.md-empty{padding:18px 4px;color:var(--vx-ink-2);font-size:13px;line-height:1.6}
.md-empty b{display:block;font-size:14px;color:var(--vx-ink);margin:0 0 4px}.md-empty .btn{margin-top:12px}
.md-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.md-mini>div{border-radius:10px;background:var(--vx-surface-2);padding:12px 14px;min-width:0}
.md-mini b{display:block;font-size:22px;font-weight:650;font-variant-numeric:tabular-nums}.md-mini span{font-size:12px;color:var(--vx-ink-2)}
.md-feed{display:grid}
.md-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--vx-line);min-width:0}
.md-item:last-child{border:0}.md-item .grow{min-width:0;flex:1}
.md-item strong{display:block;font-size:13px;font-weight:600;line-height:1.45}
.md-item small{display:block;font-size:12px;color:var(--vx-ink-3);margin-top:2px;line-height:1.5}
.md-suggestion{border:1px solid var(--vx-line);border-radius:12px;padding:14px;margin-bottom:10px}
.md-suggestion:last-child{margin-bottom:0}
.md-suggestion h3{font-size:13px;margin:0 0 6px;line-height:1.45}
.md-suggestion p{font-size:12.5px;color:var(--vx-ink-2);line-height:1.6;margin:0 0 10px}
.md-tablecards,.md-health-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.md-detail-card{border:1px solid var(--vx-line);border-radius:12px;background:var(--vx-surface);padding:16px;min-width:0}
.md-detail-card h3{font-size:14px;margin:0 0 4px;line-height:1.45}
.md-detail-card p{font-size:12.5px;color:var(--vx-ink-2);line-height:1.6;margin:0 0 8px}
.md-detail-card .md-mini{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.kv{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed var(--vx-line);font-size:12.5px;min-width:0}
.kv:last-child{border-bottom:0}.kv span{color:var(--vx-ink-3)}.kv b{font-weight:600;text-align:right;overflow-wrap:anywhere;min-width:0}
.v5-seg,.md-mode{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.v5-seg button,.md-mode button{border:1px solid var(--vx-line);padding:8px 12px;border-radius:8px;background:var(--vx-surface);font-size:13px;cursor:pointer;color:var(--vx-ink);min-height:38px}
.v5-seg button.on,.md-mode button.on{background:var(--vx-accent-soft);color:var(--vx-accent);border-color:var(--vx-accent);font-weight:600}
.md-task-stage{display:flex;gap:6px;flex-wrap:wrap}.md-task-stage span{padding:5px 8px;border:1px solid var(--vx-line);border-radius:7px;font-size:11.5px;color:var(--vx-ink-3)}
.md-task-stage span.on{background:var(--vx-accent-soft);color:var(--vx-accent);border-color:transparent}
.md-task{padding:16px;border:1px solid var(--vx-line);border-radius:12px;margin:12px 0;background:var(--vx-surface)}
.md-task h3{font-size:14px;margin:10px 0 6px}.md-task p{font-size:12.5px;color:var(--vx-ink-2);line-height:1.6}
.md-form{display:grid;gap:12px}.md-form label{display:grid;gap:6px;font-size:12.5px;color:var(--vx-ink-2)}
.md-form input,.md-form select{width:100%;min-height:44px;border:1px solid var(--vx-line);border-radius:8px;padding:10px;background:var(--vx-surface);font-size:15px;color:var(--vx-ink)}
.md-listdetails{border-top:1px solid var(--vx-line);margin-top:14px}.md-listdetails summary{cursor:pointer;font-size:13px;font-weight:600;padding:14px 0}
.md-map-wrap .sm-stagewrap{overflow:visible}.md-map-wrap .sm-stage{max-width:100%;width:100%}
.v5-bars{width:100%;display:block;height:auto}
.v5-bars text{font-family:inherit;font-size:11px;fill:var(--vx-ink-3)}.v5-bars[style*=font-size] text{font-size:12px}
.v5-find{display:grid;gap:10px;margin-top:14px}
.v5-find div{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;font-size:13px;line-height:1.55;color:var(--vx-ink)}
.v5-find div svg{width:16px;height:16px;margin-top:2px;color:var(--vx-ink-3)}
.v5-find div.warn svg{color:var(--st-warn)}
.v5-src{display:grid}
.v5-src>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:10px 0;border-bottom:1px solid var(--vx-line);align-items:center}
.v5-src>div:last-child{border:0}.v5-src b{font-size:13px;font-weight:600}.v5-src small{grid-column:1/-1;font-size:12px;color:var(--vx-ink-3);line-height:1.5}
.v5-stages{display:grid;gap:8px}
.v5-stage{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:10px 12px;border:1px solid var(--vx-line);border-radius:10px;align-items:center}
.v5-stage b{font-variant-numeric:tabular-nums;font-size:15px}.v5-stage small{grid-column:1/-1;font-size:11.5px;color:var(--vx-ink-3)}
.v5-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px 12px;padding:12px 0;border-bottom:1px solid var(--vx-line);cursor:pointer;min-width:0}
.v5-toggle:last-child{border:0}.v5-toggle b{display:block;font-size:13px}.v5-toggle small{display:block;color:var(--vx-ink-3);font-size:12px;margin-top:2px;line-height:1.45}
.v5-toggle small.dep{color:var(--st-warn)}
.v5-toggle input{width:20px;height:20px;accent-color:var(--vx-accent)}
.v5-group-h{font-size:12px;font-weight:650;color:var(--vx-ink-2);margin:16px 0 2px}.v5-group-h:first-child{margin-top:0}
.v5-banner{display:flex;gap:10px;align-items:flex-start;border:1px solid #ecdcb5;background:var(--st-warn-bg);color:var(--st-warn);border-radius:12px;padding:12px 14px;font-size:12.5px;line-height:1.55;margin-bottom:var(--v5-gap)}
.v5-banner b{color:inherit}
.v5-audit{font-size:12px;color:var(--vx-ink-2)}
.v5-audit div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px solid var(--vx-line)}
.v5-audit time{color:var(--vx-ink-3);font-variant-numeric:tabular-nums}
.v5-table{width:100%;border-collapse:collapse;font-size:12.5px}.v5-table th,.v5-table td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--vx-line)}.v5-table th{font-size:11.5px;color:var(--vx-ink-3);font-weight:600}
code{overflow-wrap:anywhere;font-size:12px}
.v5-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* legacy screens inside the document flow */
.head{align-items:center}.head h1{font-size:24px}.head p{line-height:1.6;max-width:72ch}
.twrap,.tablewrap,.tbl{overflow:visible!important;max-height:none!important}
.screen table{table-layout:fixed;max-width:100%}.screen th,.screen td{white-space:normal!important;overflow-wrap:anywhere;min-width:0;font-size:12.5px}.screen th{font-size:11.5px}
.screen td .who,.screen td .who>div{min-width:0}.screen td .qacts{flex-wrap:wrap}
.tabs{flex-wrap:wrap;overflow:visible;gap:4px;border-bottom:0}.tabs button{margin:0;border:1px solid var(--vx-line);border-radius:8px;font-size:12.5px}
.tabs button.on{background:var(--vx-accent-soft);border-color:var(--vx-accent);color:var(--vx-accent)}
.lv-head,.filters,.seg{flex-wrap:wrap}.seg{display:flex;overflow:visible;max-width:100%}.seg button{white-space:normal}.sticky{position:static}
.glance{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.gl .gfx{display:none}.gl .s{white-space:normal}
.fx-glow,.fx-beacon,.fx-glaze{display:none!important}
.camgrid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.md-role-menu{display:grid;gap:6px;margin-bottom:16px}.md-role-menu button{border:1px solid var(--vx-line);background:var(--vx-surface);padding:12px;text-align:left;border-radius:10px;min-height:44px;color:var(--vx-ink)}
.md-role-menu button.on{background:var(--vx-accent-soft);border-color:var(--vx-accent)}.md-role-menu small{display:block;color:var(--vx-ink-2);font-size:12px;margin-top:2px}
.md-accounttools{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.sheetnav .sec{font-size:12px;font-weight:650;color:var(--vx-ink-3);padding:14px 2px 6px}
.sheetnav button{display:flex;align-items:center;width:100%;min-height:44px;text-align:left;white-space:normal}

/* ---------- sheet / drawer ---------- */
.drawer{max-width:100vw;overscroll-behavior:contain;visibility:hidden;transition:transform .2s var(--v5-ease),visibility 0s .2s}
.drawer.on{visibility:visible;transition:transform .2s var(--v5-ease),visibility 0s}
.drawer h2{padding-right:70px}
.v5-sheet-val{display:flex;align-items:baseline;gap:8px;margin:14px 0 4px}.v5-sheet-val b{font-size:36px;font-weight:650;letter-spacing:-.8px;font-variant-numeric:tabular-nums}
.v5-sheet-sec{margin-top:18px}.v5-sheet-sec h3{font-size:13px;margin:0 0 8px;color:var(--vx-ink-2)}
.v5-sheet-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}

/* ---------- mobile tabs (hidden on PC) ---------- */
.mobtabs{display:none}

/* ---------- PC 1024-1279: tighter ---------- */
@media (max-width:1279px){:root{--vx-side:212px}.main{padding:20px 22px 48px}.top{padding:0 18px}.top .gs{flex:0 0 38px;min-width:38px;max-width:38px;padding:8px}.top .gs input,.top .gs kbd{display:none}.md-role span{display:none}}
/* ---------- tablet bridge 768-1023 ---------- */
@media (min-width:768px) and (max-width:1023px){:root{--vx-side:188px;--v5-gap:16px}.brand{padding:16px 14px}.brand b{font-size:12.5px}.nav{padding:8px}.nav button{font-size:12.5px}.v5-head{flex-wrap:wrap;align-items:flex-start}.v5-head h1{font-size:23px}.top .scopebar{display:none}.v5-fresh .v5-long{display:none}}

/* ---------- phone portrait (<768) and phone landscape (short) share the phone shell ---------- */
@media (max-width:767px),(max-height:520px) and (orientation:landscape) and (max-width:1023px){
 :root{--vx-top:56px;--v5-gap:14px}
 .app{display:block;min-height:100dvh}.side{display:none}
 .top{position:sticky;height:var(--vx-top);padding:0 14px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));gap:8px;width:100%}
 .top h1{flex:1;max-width:none;font-size:15px}
 .top .scopebar,.top>.sp,.top .gs,.top .md-role{display:none!important}
 /* owner 15-10: day / night and sign out on the phone's top bar (were only under More) - icon buttons, 44 px */
 .top #themeBtn,.top #signOutBtn{display:inline-flex!important;align-items:center;justify-content:center;gap:0;width:44px;min-width:44px;height:44px;padding:0!important;font-size:0;flex:0 0 auto}
 .top #themeBtn::before,.top #signOutBtn::before{content:'';width:20px;height:20px;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
 .top #themeBtn{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z'/%3E%3C/svg%3E")}:root[data-theme=night] .top #themeBtn{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4'/%3E%3C/svg%3E")}
 .top #signOutBtn{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpath d='M16 17l5-5-5-5'/%3E%3Cpath d='M21 12H9'/%3E%3C/svg%3E")}
 .top #alBtn{display:inline-flex!important;align-items:center;justify-content:center;gap:0;width:44px;min-width:44px;min-height:44px;height:44px;padding:0!important;position:relative} .top #alBtn svg{width:20px;height:20px}   /* owner 15-10: the bell sat left of centre (14 px, desktop padding) */
 .v5-fresh{font-size:11px;padding:4px 8px}.v5-fresh .v5-long{display:none}
 .main{padding:14px 14px calc(var(--v5-tab) + 22px + env(safe-area-inset-bottom));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
 .mobtabs{position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--vx-surface);display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;
  padding:4px max(6px,env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));border-top:1px solid var(--vx-line)}
 .mobtabs button{border:0;background:none;padding:6px 2px;min-height:var(--v5-tab);min-width:44px;border-radius:10px;justify-content:center;font-size:11px;gap:4px;color:var(--vx-ink-2);display:flex;flex-direction:column;align-items:center}
 .mobtabs svg{width:21px;height:21px}.mobtabs button.on{background:var(--vx-accent-soft);color:var(--vx-accent);font-weight:650}
 .mobtabs .ml,.mobtabs span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .toast{bottom:calc(var(--v5-tab) + 20px + env(safe-area-inset-bottom))}
 .v5-head{display:block;margin-bottom:14px}.v5-head h1{font-size:22px;letter-spacing:-.4px}.v5-head p{font-size:13px;margin-top:6px}
 .v5-head-actions{margin-top:12px}
 .v5-ctx{font-size:11.5px;gap:4px 10px;margin-bottom:8px}
 .md-panel{padding:16px;border-radius:12px}.md-panel-title h2{font-size:14.5px}
 .k{min-height:118px;padding:13px 13px 12px;border-radius:12px}.k-num{font-size:27px}.k-label{font-size:12px}.k-sub{font-size:11.5px}.k-val{margin:9px 0 4px;min-height:32px}
 .k:hover{transform:none;box-shadow:none}
 .k-chip-h{display:none}.k-chip-f{display:inline-flex}
 .btn,.btn.sm,.tabs button,.sheetnav button{min-height:44px}
 .md-item .btn{font-size:12px;padding:8px 10px}
 .drawer{padding:18px 16px calc(18px + env(safe-area-inset-bottom))}
}
/* phone portrait only */
@media (max-width:767px){
 .v5-head-actions .btn{flex:1 1 auto}
 .md-mini{gap:8px}.md-mini>div{padding:11px}.md-mini b{font-size:20px}
 .md-tablecards,.md-health-grid{grid-template-columns:minmax(0,1fr)}
 .v5-seg,.md-mode{display:grid;grid-template-columns:minmax(0,1fr)}.v5-seg button,.md-mode button{min-height:44px;text-align:left}
 /* bottom sheet */
 .drawer{top:auto;bottom:0;left:0;right:0;width:100%;height:auto;max-height:calc(100dvh - 40px);border-radius:16px 16px 0 0;border-left:0;transform:translateY(102%);overflow-y:auto;box-shadow:0 -12px 32px rgba(0,0,0,.14)}
 .drawer.on{transform:none}
 .drawer h2{font-size:19px}
 /* dense legacy tables become labelled record cards; values, filters and actions are unchanged */
 .filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filters>input{grid-column:1/-1}.filters input,.filters select{min-width:0;width:100%;font-size:16px;min-height:44px}
 .lv-head{gap:8px;align-items:flex-start}.lv-head>input,.lv-head>select{min-width:0;max-width:100%;font-size:16px}
 .seg{border:0;gap:5px;background:none}.seg button{border:1px solid var(--vx-line);border-radius:8px;min-height:40px;font-size:12px;padding:8px}
 .tabs{gap:6px}.tabs button{flex:1 1 auto;padding:9px;font-size:12px}
 .glance{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gl{padding:13px;min-width:0}.gl .v{font-size:23px}
 .head h1{font-size:21px}.head p{font-size:12.5px}.head{gap:12px;flex-wrap:wrap}.head>div{max-width:100%}.head>div:last-child{display:flex;gap:6px;flex-wrap:wrap}
 .screen .twrap,.screen .tablewrap{border:0!important;background:none!important}
 .screen table,.screen tbody{display:block;width:100%;border:0}
 .screen thead{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
 .screen tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:14px;margin-bottom:10px;border:1px solid var(--vx-line);border-radius:12px;background:var(--vx-surface);width:100%}
 .screen .wpl .logstd tbody tr{height:auto}   /* Detection log rows as cards: the desktop 56 px row height made them overlap */
 /* owner 09-10: phone cards cut every badge / photo / two-line time -- the desktop 40 px cell height + overflow hid them */
 .screen .wpl tbody td{height:auto;overflow:visible;white-space:normal;overflow-wrap:anywhere}
 .screen .wpl label.search{flex:1 1 100%;width:100%;min-width:0;display:flex;align-items:center;gap:8px}
 .screen .wpl label.search svg{width:15px;height:15px;flex:0 0 15px}.screen .wpl label.search input{min-width:0;width:100%}
 .screen tbody td{display:block;padding:0;border:0!important;text-align:left!important;font-size:12.5px;width:auto!important;max-width:100%;min-width:0}
 .screen tbody td:first-child{grid-column:1/-1;padding-bottom:8px;border-bottom:1px solid var(--vx-line)!important}
 .screen tbody td:before{content:attr(data-md-label);display:block;font-size:11.5px;color:var(--vx-ink-3);margin-bottom:3px;font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-weight:400;letter-spacing:0}   /* one label font, whatever the value's font (was mono under number cells) */
 .cam .ov,.mobtabs button{font-size:11.5px}
 .screen tbody td:first-child:before,.screen tbody td[colspan]:before{display:none}
 .screen tbody td[colspan],.screen tbody td:last-child:has(button){grid-column:1/-1}
 .screen td .qacts{display:inline-flex;opacity:1}.screen td .qa{width:40px;height:40px}
 .screen .card:has(>.twrap){padding:0;border:0;background:none;box-shadow:none}.screen .card:has(>.twrap)>h3{padding:14px}
 .v5-table,.v5-table tbody{display:table!important;width:100%}.v5-table thead{position:static;width:auto;height:auto;clip-path:none}
 .v5-table tbody tr{display:table-row!important;padding:0;border:0;margin:0}.v5-table tbody td{display:table-cell!important;padding:7px 8px!important;border-bottom:1px solid var(--vx-line)!important}
 .v5-table tbody td:before{display:none}
 .camgrid{grid-template-columns:minmax(0,1fr)}.lvfocus{display:block}.lvrail{display:grid;grid-template-columns:1fr;max-height:none;overflow:visible}
 .md-map-wrap{padding:10px}.md-map-wrap .sm-toolbar,.md-map-wrap .sm-head,.sm-legend{flex-wrap:wrap}.sm-stagewrap{padding:2px}
}
@media (max-width:360px){.k-num{font-size:24px}.mobtabs button{font-size:11px}.v5-head h1{font-size:20px}}
/* phone landscape: a short viewport, not a desktop */
@media (max-height:520px) and (orientation:landscape) and (max-width:1023px){
 :root{--vx-top:48px;--v5-tab:46px}
 .top h1{font-size:14px}
 .mobtabs button{flex-direction:row;gap:6px;font-size:12px;min-height:var(--v5-tab)}
 .mobtabs svg{width:18px;height:18px}
 .v5-head h1{font-size:19px}.v5-head p{display:none}.v5-ctx{margin-bottom:6px}
 .k{min-height:104px}.k-num{font-size:24px}.k-spark{height:22px}
 .drawer{top:0;bottom:0;right:0;left:auto;width:min(560px,78vw);max-height:none;height:100%;border-radius:0;transform:translateX(102%);overflow-y:auto;padding-right:max(16px,env(safe-area-inset-right))}
 .drawer.on{transform:none}
 .camgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .md-tablecards,.md-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
[data-theme=night] .v5-banner{border-color:#5a4a2b}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.k:hover{transform:none}}
@container (min-width:640px){body.v5-land .v5-kgrid[data-n="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}}
.v5-bars{max-height:240px}
.v5-kgrid[data-n=many]{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.v5-hbars{margin-top:4px}
.v5-hb-cols{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:6px;height:150px;align-items:end;border-bottom:1px solid var(--vx-line);background:repeating-linear-gradient(to top,transparent 0 49px,var(--vx-line) 49px 50px)}
.v5-hb{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.v5-hb i{display:block;width:62%;max-width:46px;height:var(--h);min-height:0;background:var(--vx-accent);border-radius:4px 4px 0 0;opacity:.88;transform-origin:bottom}.v5-hbars.anim .v5-hb i{animation:hbIn .6s var(--v5-ease) both}
.v5-hb.cur i{opacity:.5}
.v5-hb-v{font-size:12px;font-weight:600;color:var(--vx-ink-2);margin-bottom:3px;font-variant-numeric:tabular-nums}
.v5-hb-x{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:6px;margin-top:6px}
.v5-hb-x span{font-size:11.5px;color:var(--vx-ink-3);text-align:center;min-width:0;overflow:hidden;text-overflow:clip;white-space:nowrap}
@keyframes hbIn{from{transform:scaleY(0)}to{transform:none}}
/* phones: the hour alone ("10"), never smaller text (owner: no tiny fonts) */
@media (max-width:420px){.v5-hb-x span small{display:none}}
h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus{outline:none}

/* No visible scrollbar anywhere (owner, repeated 2026-09-29): every area still scrolls (wheel, touch, keys),
   the bar itself is never drawn. Applies to the page, the side menu, sheets, tables and every inner list. */
html,body,*{scrollbar-width:none!important;-ms-overflow-style:none!important}
*::-webkit-scrollbar,*::-webkit-scrollbar-track,*::-webkit-scrollbar-thumb{width:0!important;height:0!important;display:none!important;background:transparent!important}

/* View as (superadmin): while viewing as another role the switch is tinted, so it is never forgotten */
.md-role.on select{background:var(--st-warn-bg);color:var(--st-warn);border-color:var(--st-warn)}

/* Camera, full screen (live/cam-fullscreen.js): black frame, picture fitted whole, a thin top bar that fades
   when the mouse rests and comes back on move / touch / keyboard focus */
html.cfs-open,html.cfs-open body{overflow:hidden}
.cfs{position:fixed;inset:0;z-index:2147483000;background:#000;display:flex;align-items:center;justify-content:center}
.cfs-video{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.cfs-video video{width:100%;height:100%;object-fit:contain;background:#000;display:none}
.cfs-video .cfs-wait{color:#b4c0bf;font-size:15px}
.cfs-video .stream-err{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#f0a56b;font-size:15px;background:rgba(0,0,0,.6);padding:10px 16px;border-radius:10px}
.cfs-bar{position:absolute;left:0;right:0;top:0;opacity:0;transition:opacity .25s var(--v5-ease,ease);pointer-events:none}
.cfs.awake .cfs-bar,.cfs:focus-within .cfs-bar{opacity:1;pointer-events:auto}
.cfs-top{display:flex;align-items:center;gap:10px;padding:14px 18px calc(28px) 18px;padding-top:max(14px,env(safe-area-inset-top));background:linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,0));color:#eaf0ef}
.cfs-title{display:flex;flex-direction:column;min-width:0}.cfs-title b{font-size:17px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfs-title span{font-size:12.5px;color:#b4c0bf}
.cfs-sp{flex:1}
.cfs-btn{min-width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(20,28,27,.55);color:#fff;font-size:22px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 12px}
.cfs-btn.txt{font-size:13px;font-weight:600}.cfs-btn:hover{background:rgba(76,194,180,.28)}.cfs-btn:focus-visible{outline:2px solid #4cc2b4;outline-offset:2px}
@media (max-width:767px){.cfs-top{padding:10px 10px 24px}.cfs-title b{font-size:15px}.cfs-btn{min-width:40px;height:40px}}
/* Store setup -> Cameras editor: each control fills its own column, nothing runs into the next one */
#ccTable{table-layout:fixed;width:100%}
#ccTable th:nth-child(1),#ccTable td:nth-child(1){width:96px}
#ccTable th:nth-child(2){width:20%}#ccTable th:nth-child(3){width:15%}#ccTable th:nth-child(4){width:18%}#ccTable th:nth-child(5){width:22%}
#ccTable th:nth-child(6),#ccTable td:nth-child(6){width:56px;text-align:center}
#ccTable td{padding-right:14px;vertical-align:middle}
#ccTable input:not([type=checkbox]),#ccTable select{width:100%!important;min-width:0!important;max-width:100%;box-sizing:border-box;height:34px;padding:0 8px;border:1px solid var(--vx-line);border-radius:8px;background:var(--vx-surface);color:var(--vx-ink);font:inherit;font-size:13px}
#ccTable input.cc-ch{width:64px!important}
#ccTable td:last-child{font-size:11.5px;overflow-wrap:anywhere;color:var(--vx-ink-3)}

/* Floor / Group manager (Store setup -> Cameras) */
.cc-groups{margin:4px 0 14px;padding:12px 14px;border:1px solid var(--vx-line);border-radius:10px;background:var(--vx-surface)}
.cc-groups-head{margin-bottom:8px;font-size:13.5px}
.cc-glist{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}
.cc-glist li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 6px;border-radius:8px}
.cc-glist li.dirty{background:var(--vx-accent-soft)}
.cc-glist .cc-gname{flex:1 1 200px;min-width:0;max-width:320px;height:32px;padding:0 8px;border:1px solid var(--vx-line);border-radius:8px;background:var(--vx-surface);color:var(--vx-ink);font:inherit;font-size:13px}
.cc-glist .cc-gcount{min-width:72px}
.cc-glist .cc-gon{display:inline-flex;align-items:center;gap:4px}

/* Today -> Floors right now (Floor / Group roll-up) */
.v5-floors{display:grid;gap:6px}
.v5-floor{display:grid;grid-template-columns:minmax(96px,1.1fr) 2fr auto;grid-template-areas:"nm bar n" "nm sm sm";align-items:center;gap:2px 10px;width:100%;text-align:left;border:1px solid var(--vx-line);background:var(--vx-surface);color:var(--vx-ink);border-radius:10px;padding:8px 12px;font:inherit;cursor:pointer}
.v5-floor:hover{border-color:var(--vx-accent)}
.v5-floor:focus-visible{outline:2px solid var(--vx-accent);outline-offset:2px}
.v5-floor .nm{grid-area:nm;font-weight:600;font-size:14px}
.v5-floor .bar{grid-area:bar;height:8px;border-radius:4px;background:var(--vx-line);overflow:hidden}
.v5-floor .bar i{display:block;height:100%;background:var(--vx-accent);border-radius:4px}
.v5-floor b{grid-area:n;font-size:18px;font-variant-numeric:tabular-nums;text-align:right;min-width:28px}
.v5-floor small{grid-area:sm;color:var(--vx-ink-2);font-size:12px}

/* View switch of a merged menu entry (14-10 consolidation): same look as the page segment controls */
.v5-views{display:inline-flex;flex-wrap:wrap;gap:2px;padding:2px;margin:0 0 12px;background:var(--vx-surface-2);border:1px solid var(--vx-line);border-radius:8px;max-width:100%}
.v5-views button{background:none;border:0;padding:6px 14px;border-radius:6px;font:inherit;font-size:13px;color:var(--vx-ink-2);cursor:pointer;white-space:nowrap}
.v5-views button:hover{color:var(--vx-ink)}
.v5-views button.on{background:var(--vx-surface);color:var(--vx-accent);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.08)}
@media (max-width:767px),(max-height:520px) and (orientation:landscape) and (max-width:1023px){
  .v5-views{display:flex;width:100%}.v5-views button{flex:1 1 0;min-height:44px;padding:8px 6px;white-space:normal}}
/* Detection log on phones: the type chips wrap instead of pushing the page sideways (no horizontal scroll, 14-10) */
@media (max-width:767px){#s-detectionlog #dlChips{flex-wrap:wrap;width:auto}#s-detectionlog #dlChips .chip{min-height:44px}
  /* the hidden header row (cards carry their own labels) must not widen the page */#s-detectionlog .tablewrap{overflow-x:clip}}

/* owner 15-10 "detection log optimize screen": on a phone each Detection log row is one compact card -- picture on the
   left, name + IN / OUT on top, then type, time, area and camera; no field labels; the role column (same as type) hidden. */
@media (max-width:767px){
 .screen #dlTable tbody tr{grid-template-columns:52px minmax(0,1fr) auto;gap:3px 10px;padding:10px;margin-bottom:8px;align-items:start}
 #lvModeSeg{display:none!important}   /* owner 15-10: no Focus / Quad / Wall on a phone - one camera per row, tap = full screen */
 .screen #dlTable tbody td:before{display:none}
 .screen #dlTable tbody td{padding:0!important;min-height:0!important;line-height:1.3}   /* the desktop 9 px cell padding spread the card */
 .screen #dlTable tbody td:first-child{grid-column:2;grid-row:1;padding-bottom:0;border-bottom:0!important}
 .screen #dlTable tbody td:nth-child(5){grid-column:1;grid-row:1/span 5}
 .screen #dlTable tbody td:nth-child(3){grid-column:3;grid-row:1;white-space:nowrap}
 .screen #dlTable tbody td:nth-child(2){grid-column:2/-1;grid-row:2}
 .screen #dlTable tbody td:nth-child(4){display:none}
 .screen #dlTable tbody td:nth-child(6){grid-column:2/-1;grid-row:3}
 .screen #dlTable tbody td:nth-child(7){grid-column:2/-1;grid-row:4}
 .screen #dlTable tbody td:nth-child(8){grid-column:2;grid-row:5}
 .screen #dlTable tbody td:nth-child(9){grid-column:3;grid-row:5;text-align:right!important}
 .screen #dlTable tbody td[colspan]{grid-column:1/-1;grid-row:auto}
 .screen #dlTable tbody td:empty{display:none}
 /* All customers on a phone: picture, name and today's status; stores / looked after / follow-ups stay on the profile */
 .screen #cuBody tr{grid-template-columns:minmax(0,1fr) auto;padding:10px;gap:6px 10px}
 .screen #cuBody td:first-child{padding-bottom:0;border-bottom:0!important;grid-column:1}
 .screen #cuBody td:nth-child(3){grid-column:2;grid-row:1;align-self:center;text-align:right!important}
 .screen #cuBody td:nth-child(3):before,.screen #cuBody td:nth-child(2):before{display:none}
 .screen #cuBody td:nth-child(n+4){display:none}
}
