/* ===========================================================================
   MX NEON for jobs.mahoneys.app  (STAGING)  -  Dispatch Neon, locked screen look
   Tokens come from ~/mahoney-ops/brand/standard/mx-standard.css (same values).
   Loaded AFTER emerald/mx-emerald.css: it re-points every --lv-* token (and the
   app's legacy --me-* / --text-* names) to Neon. No markup, ids or JS of the app
   are touched. Paper documents (BOL sheet, printed labels, AWB, print CSS) keep
   their own literal Emerald paper colours and are NOT affected.
   Light = system default; dark = prefers-color-scheme or [data-theme=dark].
   =========================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Barlow:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap");

/* ---------- tokens: LIGHT ---------- */
html:root,html:root[data-look]{
  --nx-gc:transparent; --nx-gg:transparent; --nx-gb:transparent;
  --nx-bg:#eaf0f3; --nx-top:#ffffff; --nx-panel:#ffffff; --nx-field:#e4edf2; --nx-line:#c3d3dc; --nx-ink:#10252f; --nx-muted:#4c6471;
  --nx-cyan:#086a70; --nx-green:#086a3c; --nx-mint:#0a8a62; --nx-magenta:#3b4fb8;
  --nx-nc:transparent; --nx-ng:transparent; --nx-blend1:rgba(10,105,176,.10); --nx-blend2:rgba(10,122,70,.07);
  --nx-btn:#0a7a46; --nx-btn-ink:#ffffff; --nx-warn:#0b7fb5; --nx-bad:#c8321f; --nx-blue:#1f5fbf;
  --nx-sky:linear-gradient(180deg,#ffffff 0%,#f2f7f9 100%);
  --nx-sky-ink:#10252f; --nx-sky-ink2:#4c6471; --nx-rule:#c3d3dc;

  --lv-bg:var(--nx-bg); --lv-bg2:var(--nx-panel); --lv-ink:var(--nx-ink); --lv-ink2:var(--nx-muted);
  --lv-line:var(--nx-line); --lv-line2:color-mix(in srgb,var(--nx-line) 55%,transparent);
  --lv-sky:var(--nx-sky); --lv-sky-ink:var(--nx-sky-ink); --lv-sky-ink2:var(--nx-sky-ink2);
  --lv-pill:var(--nx-btn); --lv-pill-ink:var(--nx-btn-ink); --lv-rule:var(--nx-rule);
  --lv-hot:var(--nx-green); --lv-hot-ink:#ffffff; --lv-ok:var(--nx-green); --lv-warn:var(--nx-warn); --lv-bad:var(--nx-bad); --lv-cold:var(--nx-cyan);
  --lv-c0:var(--nx-blue); --lv-c1:var(--nx-warn); --lv-c2:var(--nx-cyan); --lv-c3:var(--nx-mint); --lv-c4:var(--nx-green); --lv-c5:var(--nx-magenta);
  --lv-copper:var(--nx-magenta); --lv-teal:var(--nx-cyan); --lv-rose:var(--nx-bad); --lv-jade:var(--nx-green); --lv-amber:var(--nx-warn);
  --lv-btn:var(--nx-btn); --lv-btn-ink:var(--nx-btn-ink);
  --lv-field:var(--nx-field); --lv-hover:color-mix(in srgb,var(--nx-cyan) 7%,transparent);
  --lv-display:"Barlow Condensed","Arial Narrow",system-ui,sans-serif; --lv-body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --lv-display-w:700; --lv-speedlines:0;
  --lv-gold-hi:var(--nx-blue); --lv-gold-lo:var(--nx-cyan); --lv-gold-edge:var(--nx-green); --lv-navy:var(--nx-cyan); --lv-navy2:var(--nx-bg);
  --lv-h1-size:clamp(52px,8vw,104px); --lv-fig-size:36px; --lv-amt-size:28px; --lv-h2-size:34px;

  /* the app's own legacy names (portal, driver, photo report, planner) */
  --me-green:var(--nx-green); --me-deep:var(--nx-btn); --me-accent:var(--nx-green); --me-black:var(--nx-bg); --me-silver:var(--nx-muted); --me-white:var(--nx-ink); --me-silver-lt:var(--nx-line);
  --text-primary:var(--nx-ink); --text-secondary:var(--nx-muted); --border:var(--nx-line);
  --bg-primary:var(--nx-panel); --bg-secondary:var(--nx-bg);
  --dp-ink:var(--nx-ink); --dp-ink2:var(--nx-ink); --dp-mute:var(--nx-muted); --dp-line:var(--lv-line2); --dp-bd:var(--nx-line);
  --dp-grn:var(--nx-green); --dp-red:var(--nx-overdue); --dp-amb:var(--nx-warn); --dp-teal:var(--nx-cyan);
  --jm-new:var(--nx-cyan); --jm-priced:var(--nx-warn); --jm-approved:var(--nx-blue);
  --jm-approved-fill:linear-gradient(90deg,var(--nx-blue),var(--nx-blue)); --jm-stmt:var(--nx-magenta); --jm-paid:var(--nx-green); --jm-over:var(--nx-overdue); --jm-held:var(--nx-muted);
  color-scheme:light;
}
/* ---------- tokens: DARK ---------- */
@media (prefers-color-scheme: dark){html:root:not([data-theme="light"]),html:root:not([data-theme="light"])[data-look]{
  --nx-bg:#01040b; --nx-top:#030814; --nx-panel:#040a1a; --nx-field:#071022; --nx-line:#1c2b52; --nx-ink:#eef3fa; --nx-muted:#93a5c2;
  --nx-cyan:#2bfbea; --nx-green:#3dff8f; --nx-mint:#45ffbb; --nx-magenta:#93adff;
  --nx-gc:rgba(43,251,234,.75); --nx-gg:rgba(61,255,143,.75); --nx-gb:rgba(134,184,255,.6);
  --nx-nc:rgba(34,230,214,.5); --nx-ng:rgba(61,255,143,.2); --nx-blend1:rgba(10,28,76,.42); --nx-blend2:rgba(25,190,100,.22);
  --nx-btn:#22c95f; --nx-btn-ink:#021008; --nx-warn:#3fc8ff; --nx-bad:#ff5d4a; --nx-blue:#6f9bff;
  --nx-sky:linear-gradient(180deg,#030814,#01040b);
  --nx-sky-ink:#eef3fa; --nx-sky-ink2:#93a5c2; --nx-rule:rgba(34,230,214,.45);
  --lv-hot-ink:#031208; --lv-gold-edge:var(--nx-mint); --lv-navy2:var(--nx-panel);
  color-scheme:dark}}
html:root[data-theme="dark"],html:root[data-theme="dark"][data-look]{
  --nx-bg:#01040b; --nx-top:#030814; --nx-panel:#040a1a; --nx-field:#071022; --nx-line:#1c2b52; --nx-ink:#eef3fa; --nx-muted:#93a5c2;
  --nx-cyan:#2bfbea; --nx-green:#3dff8f; --nx-mint:#45ffbb; --nx-magenta:#93adff;
  --nx-gc:rgba(43,251,234,.75); --nx-gg:rgba(61,255,143,.75); --nx-gb:rgba(134,184,255,.6);
  --nx-nc:rgba(34,230,214,.5); --nx-ng:rgba(61,255,143,.2); --nx-blend1:rgba(10,28,76,.42); --nx-blend2:rgba(25,190,100,.22);
  --nx-btn:#22c95f; --nx-btn-ink:#021008; --nx-warn:#3fc8ff; --nx-bad:#ff5d4a; --nx-blue:#6f9bff;
  --nx-sky:linear-gradient(180deg,#030814,#01040b);
  --nx-sky-ink:#eef3fa; --nx-sky-ink2:#93a5c2; --nx-rule:rgba(34,230,214,.45);
  --lv-hot-ink:#031208; --lv-gold-edge:var(--nx-mint); --lv-navy2:var(--nx-panel);
  color-scheme:dark}

/* ---------- structure refinements (look only) ---------- */
html.lv,html.lv body,.lv,.lv body{background:var(--nx-bg);color:var(--nx-ink);font-family:var(--lv-body)}
/* green-to-teal bar on top of the header band, drawn as a background layer so ::before stays free for the speed lines */
.lv-sky{background:linear-gradient(90deg,var(--nx-green),var(--nx-cyan) 55%,var(--nx-green)) top left/100% 3px no-repeat,var(--lv-sky)}
.lv-sky::after{background:linear-gradient(180deg,transparent,var(--nx-bg))}
.lv-h1,.lv-title,.lv-h2,.lv-figs dd.v,.lv-seg .amt{text-transform:uppercase;letter-spacing:.01em}
.lv-h1{line-height:.95}.lv-title{line-height:.98}
.lv-h1 .c{color:var(--nx-green)}
.lv-figs>div{border-left-color:var(--nx-rule)}
.lv-figs dd.v{font-family:var(--lv-display);text-transform:none}
.lv-table td.money,.num,.lv-num{font-family:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace}
.lv-table th{font:500 12px "JetBrains Mono",ui-monospace,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase}
.lv-tag{font-family:"JetBrains Mono",ui-monospace,Menlo,monospace;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.lv-btn,.mx-btn,.dp-b2{border-radius:6px}
.lv-btn:not(.ghost),.mx-btn.primary{background:var(--nx-btn);color:var(--nx-btn-ink)}
.lv-field,.search-box input,.filter-select,.dp-search{border-radius:6px;background:var(--nx-field)}
.lv-seg>i{box-shadow:none}
.lv ::selection{background:var(--nx-btn);color:var(--nx-btn-ink)}
.lv a:focus-visible,.lv button:focus-visible{outline-color:var(--nx-cyan)}
.lv-rule2{background:linear-gradient(90deg,var(--nx-green),var(--nx-cyan));box-shadow:none}
.lv-frame,.lv-frame::after{border-color:var(--nx-line)}
/* the Emerald look switcher (A/B/C swatches) no longer maps to anything: Neon is the one look */
/* look switch carried over: Auto / Light / Dark (was Emerald / Daylight / Night) */
.lv-switch{display:inline-flex!important}
.lv-switch-host{display:flex!important;justify-content:center;padding:8px 0}
.lv-switch button[data-l=A]{background:linear-gradient(135deg,#0B1220 50%,#F3F6F4 50%)}
.lv-switch button[data-l=B]{background:linear-gradient(135deg,#12A84E,#F3F6F4 60%)}
.lv-switch button[data-l=C]{background:linear-gradient(135deg,#0B1220 55%,#14B8A6)}

/* ---------- logo: plain white-lettered on dark, dark-lettered on light.
   Swapped with CSS only (.lv-logo, NOT .logo.d/.l, so no clash with .d dd/digit rules) ---------- */
img.lv-logo{content:url("neon/logo-light.png")}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) img.lv-logo{content:url("neon/logo-dark.png")}}
:root[data-theme="dark"] img.lv-logo{content:url("neon/logo-dark.png")}
:root[data-theme="light"] img.lv-logo{content:url("neon/logo-light.png")}
.lv-bar .lv-logo{height:64px}
@media (max-width:900px){.lv-bar .lv-logo{height:48px}}

@media (prefers-reduced-motion:reduce){.lv-seg>i{box-shadow:none}}

/* docs/ password gate (injected by docs/mx-docs.js with literal Emerald hex): restyled here, look only */
html #mxGate{background:var(--nx-sky),var(--nx-bg)!important}
html #mxGate form{color:var(--nx-ink)!important;font-family:var(--lv-body)!important}
html #mxGate .gt{font-family:var(--lv-display)!important;font-weight:700!important;text-transform:uppercase;color:var(--nx-ink)!important;border-bottom:3px solid var(--nx-cyan)!important}
html #mxGate p{color:var(--nx-muted)!important}
html #mxGate input{background:var(--nx-field)!important;color:var(--nx-ink)!important;border:1px solid var(--nx-line)!important;border-radius:6px!important}
html #mxGate input:focus{border-color:var(--nx-cyan)!important;box-shadow:none!important;outline:2px solid var(--nx-cyan)}
html #mxGate button{background:var(--nx-btn)!important;color:var(--nx-btn-ink)!important;border-radius:6px!important}
html #mxGate .er{color:var(--nx-bad)!important}

/* speed lines carried over from Emerald: fine horizontal lines on the right of the header band,
   fading in from the left. Neon colours: teal lines with a green accent every third line. */
.lv-sky::before{
  content:"";position:absolute;right:0;left:auto;top:210px;width:50%;height:170px;pointer-events:none;z-index:0;
  opacity:.6!important;
  background:
    repeating-linear-gradient(180deg,transparent 0 17px,color-mix(in srgb,var(--nx-green) 90%,transparent) 17px 19px,transparent 19px 53px),
    repeating-linear-gradient(180deg,transparent 0 8px,color-mix(in srgb,var(--nx-cyan) 85%,transparent) 8px 10px,transparent 10px 18px)!important;
  -webkit-mask:linear-gradient(90deg,transparent,#000 78%)!important;mask:linear-gradient(90deg,transparent,#000 78%)!important;
  animation:nxlines 7s ease-in-out infinite alternate}
@keyframes nxlines{from{opacity:.38}to{opacity:.7}}
@media (prefers-reduced-motion:reduce){.lv-sky::before{animation:none}}
@media (max-width:640px){.lv-sky::before{width:60%;opacity:.4!important}}

.lv-sky.slim::before{top:96px;height:100px}

/* one logo only: the header logo stays, the footer logo is retired (it was clipped at the bottom) */
.lv-foot img.lv-logo,.lv-foot .lv-logo{display:none!important}

/* horizontal lines carried through the whole look.
   1) page ground: faint lines down the right edge of every page, fading in from the left */
html.lv body{background:
  linear-gradient(90deg,var(--nx-bg) 0%,transparent 70%) right top/38% 100% no-repeat fixed,
  repeating-linear-gradient(180deg,transparent 0 21px,color-mix(in srgb,var(--nx-cyan) 16%,transparent) 21px 22px,transparent 22px 43px) right top/38% 100% no-repeat fixed,
  var(--nx-bg)}
/* 2) every section title gets a short fan of fine lines under it */
.lv-h2::after{content:"";display:block;margin-top:10px;height:9px;width:min(240px,45%);
  background:repeating-linear-gradient(180deg,color-mix(in srgb,var(--nx-cyan) 80%,transparent) 0 1px,transparent 1px 4px);
  -webkit-mask:linear-gradient(90deg,#000,transparent);mask:linear-gradient(90deg,#000,transparent)}
/* 3) the footer opens with a band of lines that fades out at both ends */
.lv-foot{position:relative}
.lv-foot::before{content:"";position:absolute;left:0;right:0;top:0;height:9px;pointer-events:none;
  background:repeating-linear-gradient(180deg,color-mix(in srgb,var(--nx-cyan) 70%,transparent) 0 1px,transparent 1px 4px);
  -webkit-mask:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent);mask:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent)}
@media (max-width:640px){html.lv body{background-size:60% 100%,60% 100%,auto}}

/* big dollar total: sleek modern face, tight tracking, taller, with room above and below so nothing overlaps */
.lv-h1.num{font-family:"Barlow Condensed","Arial Narrow",sans-serif!important;font-weight:600;
  font-size:clamp(68px,10.5vw,148px)!important;line-height:1.12!important;letter-spacing:-.05em!important;
  font-variant-numeric:lining-nums;font-feature-settings:"ss01" 0;margin:14px 0 18px!important;padding:0}
.lv-h1.num *{letter-spacing:inherit}
.lv-hero .lv-eyebrow,.lv-hero>p:first-child,.lv-hero>small:first-child{display:block;margin-bottom:6px}
.lv-hero .lv-lede,.lv-hero>p:last-child{margin-top:4px}
@media (max-width:640px){.lv-h1.num{font-size:clamp(52px,17vw,88px)!important;letter-spacing:-.045em!important}}

/* NEON, CRISP: vivid saturated colour and sharp thin edges. No blur, no glow, no soft shadows. */
.lv-h1.num span{color:var(--nx-green)}
.lv-sky::before{opacity:.9!important;animation:none}
.lv-bar nav a[aria-current],.lv-bar nav a.on{box-shadow:0 0 0 1px var(--nx-gg)}
.lv-figs dd.v{color:var(--lv-sky-ink)}
.lv-figs .hot dd.v{color:var(--nx-green)}
.lv-figs>div{border-left-color:var(--nx-cyan)}
.lv-figs>div:first-child{border-left:0}
.lv-h2::after,.lv-foot::before{filter:none}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 2px var(--nx-gc)!important}
button:not(:disabled):hover,.lv-btn:hover,a.lv-btn:hover{box-shadow:0 0 0 2px var(--nx-gg)}

/* slightly larger type across the page (about 7%) */
html.lv body{zoom:1.07}

/* phone: tighter job rows. Pickup and delivery share one line, less padding, tighter line height. */
@media (max-width:700px){
  html .jb-sd tr.jb-row{grid-template-columns:min-content minmax(0,1fr) auto;grid-template-areas:"c j v" "c d s" "c p k"!important;gap:0 10px!important;padding:8px 4px 8px 10px!important}
  html .jb-sd tr.jb-row>td{line-height:1.25}
  html .jb-sd tr.jb-row>td:nth-child(7){margin-top:2px;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  html .jb-sd tr.jb-row>td:nth-child(8){margin-top:2px;font-size:13px;text-align:right;white-space:nowrap;max-width:45%!important;overflow:hidden;text-overflow:ellipsis}
  html .jb-sd tr.jb-row>td:nth-child(1){padding-top:1px!important}
  html .jb-sd tr.jb-row>td:nth-child(10){align-self:center}
  html .jb-sd .jb-group-head,.jb-sd tr.jb-grp>td{padding-top:8px;padding-bottom:6px}
}

/* sign-in: a centred card with the fine lines running out to both sides of it (crisp, no glow) */
.lvp-login .lv-sky::before{display:none}
.lvp-login .lv-hero{position:relative;max-width:520px;margin:12vh auto 0;padding:30px 34px 32px;text-align:center;
  background:var(--nx-panel);border:1px solid var(--nx-green);border-radius:14px}
.lvp-login .lv-hero::before{content:"";position:absolute;z-index:-1;left:calc(50% - 50vw);right:calc(50% - 50vw);top:64px;height:170px;pointer-events:none;
  background:
    repeating-linear-gradient(180deg,transparent 0 17px,color-mix(in srgb,var(--nx-green) 90%,transparent) 17px 19px,transparent 19px 53px),
    repeating-linear-gradient(180deg,transparent 0 8px,color-mix(in srgb,var(--nx-cyan) 85%,transparent) 8px 10px,transparent 10px 18px);
  -webkit-mask:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);mask:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);opacity:.9}
html .lvp-login .lv-title{font-size:clamp(40px,4.6vw,60px)!important;margin:6px 0 4px;white-space:nowrap}
.lvp-login .lvp-signin{margin-top:22px;max-width:none;text-align:left}
.lvp-login .lv-lead{margin:0}
@media (max-width:640px){.lvp-login .lv-hero{margin-top:7vh;padding:22px 18px 24px}.lvp-login .lv-hero::before{top:92px;height:150px}}

html .lvp-login .lv-hero{padding:30px 34px 32px!important}
@media (max-width:640px){html .lvp-login .lv-hero{padding:22px 18px 24px!important}}
.lvp-login .lv-hero::before{top:30px}

/* sign-in line "Mahoney Express · staff": all caps, condensed display face, wide spacing (option A) */
html .lvp-login .lv-lead{font-family:"Barlow Condensed",sans-serif!important;font-weight:600;font-size:24px!important;letter-spacing:.24em;text-transform:uppercase;color:var(--nx-cyan)!important;margin-bottom:4px!important}
@media (max-width:640px){html .lvp-login .lv-lead{font-size:20px!important;letter-spacing:.18em}}

/* staff line: smaller, tighter, with the separator dot in green */
html .lvp-login .lv-lead{font-size:17px!important;letter-spacing:.14em}
html .lvp-login .lv-lead .lv-dot{color:var(--nx-green);font-weight:700}
@media (max-width:640px){html .lvp-login .lv-lead{font-size:15px!important;letter-spacing:.1em}}

/* ===== same treatment on every other page ===== */
/* sign-in: a centred card with the fine lines running out to both sides of it (crisp, no glow) */
.dpl-login .lv-sky::before{display:none}
.dpl-login .lv-hero{position:relative;max-width:520px;margin:12vh auto 0;padding:30px 34px 32px;text-align:center;
  background:var(--nx-panel);border:1px solid var(--nx-green);border-radius:14px}
.dpl-login .lv-hero::before{content:"";position:absolute;z-index:-1;left:calc(50% - 50vw);right:calc(50% - 50vw);top:64px;height:170px;pointer-events:none;
  background:
    repeating-linear-gradient(180deg,transparent 0 17px,color-mix(in srgb,var(--nx-green) 90%,transparent) 17px 19px,transparent 19px 53px),
    repeating-linear-gradient(180deg,transparent 0 8px,color-mix(in srgb,var(--nx-cyan) 85%,transparent) 8px 10px,transparent 10px 18px);
  -webkit-mask:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);mask:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);opacity:.9}
html .dpl-login .lv-title{font-size:clamp(40px,4.6vw,60px)!important;margin:6px 0 4px;white-space:nowrap}
.dpl-login .dpl-signin{margin-top:22px;max-width:none;text-align:left}
.dpl-login .lv-lead{margin:0}
@media (max-width:640px){.dpl-login .lv-hero{margin-top:7vh;padding:22px 18px 24px}.dpl-login .lv-hero::before{top:92px;height:150px}}

html .dpl-login .lv-hero{padding:30px 34px 32px!important}
@media (max-width:640px){html .dpl-login .lv-hero{padding:22px 18px 24px!important}}
.dpl-login .lv-hero::before{top:30px}


/* every small header line: all caps, condensed, tight, teal, green separator dot */
html .lv-lead{font-family:"Barlow Condensed",sans-serif!important;font-weight:600;font-size:17px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--nx-cyan)!important}
html .lv-lead b{font-weight:700;color:inherit}
html .lv-lead .lv-dot{color:var(--nx-green);font-weight:700}
@media (max-width:640px){html .lv-lead{font-size:15px!important;letter-spacing:.1em}}
html .dpl-login .lv-lead{margin:0 0 4px!important}

/* driver app sign-in card and the docs password gate join the same family: green outline, rounded, flat panel */
.dl-login,.login-card,.dl-card.login{border:1px solid var(--nx-green)!important;border-radius:14px!important;background:var(--nx-panel)!important}
#mxGate form{border:1px solid var(--nx-green)!important;border-radius:14px!important;background:var(--nx-panel)!important;padding:28px 30px!important}
#mxGate .gt{border-bottom:0!important;font-family:"Barlow Condensed",sans-serif!important;letter-spacing:.06em;text-transform:uppercase}

/* ===== jobs board rework ===== */
/* job number is a link to the job page */
.jb-open{color:inherit;text-decoration:none;border-bottom:1px solid var(--nx-cyan);padding-bottom:1px}
.jb-open:hover{color:var(--nx-cyan)}
/* group header: label, count, note on the left, group total on the right */
.jm-grp .jm-grp-sum{float:right;margin-right:12px;font:600 13px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.04em;color:var(--lv-ink)}
/* tighter desktop rows */
@media (min-width:701px){.jb-row>td{padding-top:8px!important;padding-bottom:8px!important}.jb-sd .jb-time-sub{font-size:12px}}
/* pipeline captions never wrap */
.lv-seg .st,.lv-seg .amt{white-space:nowrap}

/* ===== board table: smaller, no bold, every field shown in full, room to breathe =====
   Fixed column widths so all eleven columns fit at 1280. Long names wrap onto a second line instead of being cut. */
@media (min-width:701px){
  .jb-sd{table-layout:fixed;width:100%;font-size:12.5px}
  .jb-sd .jb-row>td,.jb-sd thead th{padding:11px 7px!important;line-height:1.4;vertical-align:top}
  .jb-sd thead th{font-size:12px;letter-spacing:.1em;font-weight:500;vertical-align:bottom}
  .jb-sd thead th:nth-child(1){width:34px}.jb-sd thead th:nth-child(2){width:88px}.jb-sd thead th:nth-child(3){width:96px}
  .jb-sd thead th:nth-child(4){width:46px}.jb-sd thead th:nth-child(5){width:54px}.jb-sd thead th:nth-child(6){width:96px}
  .jb-sd thead th:nth-child(9){width:88px}.jb-sd thead th:nth-child(10){width:104px}.jb-sd thead th:nth-child(11){width:66px}.jb-sd thead th:nth-child(12){width:38px}
  .jb-sd td:nth-child(7),.jb-sd td:nth-child(8){max-width:none!important;overflow-wrap:anywhere}
  .jb-sd td .jb-stack-main,.jb-sd td .jb-stack-sub{display:block;max-width:none;white-space:normal;overflow:visible;text-overflow:clip}
  .jb-sd td .jb-stack-sub{margin-top:2px;font-size:12px}
  .jb-sd .jb-time-sub{font-size:12px}
  .jb-sd .jb-row>td:nth-child(9){text-align:right}
}
/* no bold anywhere in the board table */
.jb-sd td,.jb-sd td *,.jb-sd .id-cell,.jb-sd .jb-open{font-weight:400!important}
.jb-sd .id-cell,.jb-sd .jb-open{font-family:var(--lv-body);letter-spacing:.01em}
@media (min-width:701px){
  .jb-sd .id-cell,.jb-sd .jb-open{font-size:12.5px!important;white-space:nowrap}
  .jb-sd thead th{letter-spacing:.06em;font-size:12px;white-space:nowrap;padding-left:5px!important;padding-right:5px!important}
  .jb-sd thead th:nth-child(4){width:58px}.jb-sd thead th:nth-child(5){width:62px}.jb-sd thead th:nth-child(3){width:100px}
  .jb-sd td:nth-child(9),.jb-sd td:nth-child(11){font-family:var(--lv-body)!important;font-variant-numeric:tabular-nums}
}
@media (min-width:701px){.jb-sd td:nth-child(9){font-size:12.5px!important;padding-right:14px!important}.jb-sd thead th:nth-child(9){padding-right:14px!important}}

/* ===== board table, stacked: Freight (pieces / weight + dims) and Route (from / to), 9 columns ===== */
.jb-party{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:start}
.jb-party+.jb-party{margin-top:9px}
.jb-end{font:500 12px/1.6 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--nx-cyan);padding-top:1px}
.jb-freight .jb-stack-sub{margin-top:3px}
@media (min-width:701px){
  html .jb-sd thead th:nth-child(1){width:34px!important}
  html .jb-sd thead th:nth-child(2){width:96px!important}
  html .jb-sd thead th:nth-child(3){width:108px!important}
  html .jb-sd thead th:nth-child(4){width:150px!important}
  html .jb-sd thead th:nth-child(5){width:auto!important}
  html .jb-sd thead th:nth-child(6){width:104px!important}
  html .jb-sd thead th:nth-child(7){width:112px!important}
  html .jb-sd thead th:nth-child(8){width:72px!important}
  html .jb-sd thead th:nth-child(9){width:40px!important}
  html .jb-sd .jb-row>td{padding:13px 9px!important;font-size:13px}
  html .jb-sd .jb-row>td:nth-child(5){max-width:none!important}
  html .jb-sd .jb-row>td:nth-child(6){font-family:var(--lv-body)!important;font-variant-numeric:tabular-nums;font-size:13px!important;text-align:right;padding-right:16px!important}
  html .jb-sd thead th:nth-child(6){padding-right:16px!important}
  html .jb-sd td .jb-stack-main{font-size:13px}
  html .jb-sd td .jb-stack-sub{font-size:12px;margin-top:2px}
}
/* phone rows with the nine-column layout */
@media (max-width:700px){
  html .jb-sd tr.jb-row{grid-template-columns:min-content minmax(0,1fr) auto!important;grid-template-areas:"c j v" "c d s" "c p p"!important}
  html .jb-sd tr.jb-row>td:nth-child(1){grid-area:c!important}
  html .jb-sd tr.jb-row>td:nth-child(2){grid-area:d!important}
  html .jb-sd tr.jb-row>td:nth-child(3){grid-area:j!important}
  html .jb-sd tr.jb-row>td:nth-child(4){display:none!important}
  html .jb-sd tr.jb-row>td:nth-child(5){grid-area:p!important;margin-top:4px!important;font-size:13px!important;text-align:left!important;white-space:normal!important;overflow:visible!important;max-width:none!important;display:block!important}
  html .jb-sd tr.jb-row>td:nth-child(6){grid-area:v!important;text-align:right!important;font-size:14px!important}
  html .jb-sd tr.jb-row>td:nth-child(7){grid-area:s!important;text-align:right!important;margin-top:0!important;white-space:normal!important;overflow:visible!important;max-width:none!important}
  html .jb-sd tr.jb-row>td:nth-child(8),html .jb-sd tr.jb-row>td:nth-child(9){display:none!important}
  .jb-party{grid-template-columns:30px minmax(0,1fr);gap:6px}.jb-party+.jb-party{margin-top:5px}
}
@media (max-width:700px){
  html .jb-sd tr.jb-row>td:nth-child(6){display:block!important}
  html .jb-sd .id-cell,html .jb-sd .jb-open{font-size:15px!important}
  html .jb-sd tr.jb-row>td:nth-child(2){font-size:12.5px!important}
  .jm-grp>td{overflow:hidden}
  .jm-grp .jm-grp-sum{margin-right:4px}
}
/* phone: drivers and office need street addresses on every stop */
@media (max-width:700px){
  html .jb-sd tr.jb-row .jb-party .jb-stack-sub{display:block!important;font-size:12px!important;white-space:normal!important;overflow:visible!important}
}

/* ======================================================================
   JOB BOARD, approved mockup port (2026-11-10, from _design-review job-board.html)
   OVERDUE ACCENT: one variable. Change this line to recolour every overdue cue
   (group dot, row edge, Overdue figure, Overdue status tag, aging pill). It points at the existing
   coral token (light #c8321f, dark #ff5d4a). Matt has not decided; a plain colour also works.
   ====================================================================== */
:root{--nx-overdue:#FFB224}
html:root[data-theme="light"]{--nx-overdue:#8A5300}
@media (prefers-color-scheme: light){html:root:not([data-theme="dark"]){--nx-overdue:#8A5300}}

html,body{max-width:100%;overflow-x:clip}
.lv-bar .lv-switch,.lv-bar [data-lv-switch]{margin-left:auto;margin-right:10px}
.lv-bar .lv-switch+.lv-who,.lv-bar [data-lv-switch]+.lv-who{margin-left:0}
@media (max-width:900px){
  .lv-bar{flex-wrap:wrap;gap:10px 16px}
  .lv-bar nav{order:3;flex:1 1 100%;flex-wrap:wrap;gap:2px 2px}
  .lv-bar nav a{padding:8px 11px;white-space:nowrap}.lv-bar nav a.lvp-tool{font-size:13px;padding:8px 8px}
  .lv-bar .lv-who{margin-left:0}
  .lvp-navsep{display:none}
}
.jb-scroll{max-width:100%}
@media (max-width:700px){.lv-figs>div{flex:1 1 140px}.lv-ribbon{overflow:hidden}}
/* header bar on one line at desktop (4 tool links incl. Invoice Batch) */
@media (min-width:901px){
  .lv-bar{gap:12px}.lv-bar nav{flex-wrap:nowrap;min-width:0;gap:2px}.lv-bar nav a{padding:9px 7px;white-space:nowrap}
  .lv-bar nav a.lvp-tool{font-size:13px;padding:9px 5px}
  .lvp-navsep{margin:8px 2px}
  .lv-bar .lv-logo{height:56px}
}
/* board columns: wide first col for the statement badge / PAID stamp, room for status, aging, info icon */
@media (min-width:701px){
  html .jb-sd thead th:nth-child(1){width:66px!important}
  html .jb-sd thead th:nth-child(7){width:128px!important}
  html .jb-sd thead th:nth-child(8){width:92px!important}
  html .jb-sd thead th:nth-child(9){width:46px!important}
  html .jb-sd td:nth-child(1){white-space:nowrap}
  html .jb-sd td:nth-child(8){padding-right:8px}
  html .jb-sd td:nth-child(9){padding-left:4px;padding-right:4px}
}
html .jb-row .stmt-badge,html .jb-row .paid-stamp{white-space:nowrap;max-width:100%}
html .jb-row .lv-tag{max-width:100%}
/* paid pill: two stacked lines (Paid MM/DD over the amount), never wider than its column, so it cannot reach the PAID tag */
html .jb-row.paid .paid-pill,html .jb-sd .paid-pill{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;max-width:100%;padding:3px 9px;border-radius:10px;font-size:12px;line-height:1.25;white-space:nowrap}
html .jb-sd .paid-pill b{font:600 12px/1.25 "JetBrains Mono",ui-monospace,monospace;letter-spacing:0}
html .jb-sd .paid-tag{display:inline-block;white-space:nowrap}
html .jb-sd td.jb-aging{white-space:nowrap}

/* ======================================================================
   BOARD 2 (2026-11-10): port of team-review/staff-board.html.
   Flat near-black canvas with a faint two-tone blue corner wash, top menu pills, hero total with six
   fine trailers (header band only), one summary line, group header rows, stacked rows, status by
   word / outline / weight only, one selected job with a 4px neon bar. Old rules above stay as the base.
   ====================================================================== */
html:root{--b-bg:var(--nx-bg);--b-line:#c3d3dc;--b-line2:#b4c6d0;--b-g:#0a7a46;--b-neon:#0a8a62;--b-teal:#086a70;--b-ice:#1f5fbf;--b-txt:#10252f;--b-mut:#4c6471;--b-dim:#6b7f8c;--b-navy:#e4edf2;--b-amb:#a85f00;--b-onG:#ffffff;--b-wash1:rgba(31,95,191,.10);--b-wash2:rgba(10,122,70,.07)}
@media (prefers-color-scheme: dark){html:root:not([data-theme="light"]){--b-bg:#010206;--b-line:#16233a;--b-line2:#1D3A4A;--b-g:#2BDD6B;--b-neon:#3DFF8F;--b-teal:#2FEADB;--b-ice:#A9CBF2;--b-txt:#EEF3FA;--b-mut:#8C9BB4;--b-dim:#6B7A94;--b-navy:#06122e;--b-amb:#F2B33D;--b-onG:#031208;--b-wash1:rgba(18,44,120,.60);--b-wash2:rgba(22,92,150,.42)}}
html:root[data-theme="dark"]{--b-bg:#010206;--b-line:#16233a;--b-line2:#1D3A4A;--b-g:#2BDD6B;--b-neon:#3DFF8F;--b-teal:#2FEADB;--b-ice:#A9CBF2;--b-txt:#EEF3FA;--b-mut:#8C9BB4;--b-dim:#6B7A94;--b-navy:#06122e;--b-amb:#F2B33D;--b-onG:#031208;--b-wash1:rgba(18,44,120,.60);--b-wash2:rgba(22,92,150,.42)}

/* canvas: flat colour + two faint corner washes, no horizontal lines on the page ground */
html.lv,html.lv body{background:radial-gradient(80% 60% at 0% 0%,var(--b-wash1) 0%,transparent 62%),radial-gradient(75% 55% at 100% 100%,var(--b-wash2) 0%,transparent 64%),var(--b-bg)!important;background-attachment:fixed!important}
html.lv body{border-top:2px solid var(--b-g);color:var(--b-txt);font-family:Barlow,system-ui,sans-serif}
html .lv-sky{background:none!important;padding-bottom:0}
html .lv-sky::after{display:none}
html .lv-sky:not(.slim)::before{display:none}
html .lv-foot::before{display:none}
html .lvp .lv-page{max-width:1280px;padding:0 40px}
html .lvp-band.lvp-jobs{padding:0;border-top:0}

/* top menu pills */
html .lv-bar{min-height:84px;padding:10px 0;gap:8px 8px;flex-wrap:nowrap}
html .lv-bar .lv-logo{height:50px;margin-right:6px}
html .lv-bar nav{flex:0 1 auto;flex-wrap:nowrap;gap:6px;align-items:center}
html .lv-bar nav a{padding:8px 13px;border-radius:999px;font:500 14.5px/1 Barlow,sans-serif;color:var(--b-mut);border:1px solid transparent;background:none;box-shadow:none}
html .lv-bar nav a:hover{color:var(--b-txt)}
html .lv-bar nav a[aria-current]{background:var(--b-g);color:var(--b-onG);font-weight:600;box-shadow:none}
html .lv-bar nav a.lvp-tool{border-color:var(--b-line2);font-size:14.5px;padding:8px 12px}
html .lvp-navsep{display:none}
html .lv-bar [data-lv-switch],html .lv-bar .lv-switch{display:inline-flex!important}
html .lv-bar .lv-who{margin-left:auto}
html .lv-bar .lv-who{font:500 12px/1.2 'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--b-mut);display:flex;align-items:center;gap:14px;text-align:left;margin-left:0}
html .lv-bar .lv-who small{display:inline;color:var(--b-dim);border-left:1px solid var(--b-line2);padding-left:14px;font-size:inherit}
html .lvp-live{color:var(--b-g);margin:0;font:inherit;font-weight:500;gap:8px}
html .lvp-live i{background:var(--b-g);box-shadow:none;animation:none}
html .lvp-out{color:var(--b-mut);text-decoration:none;font:inherit;text-transform:uppercase;letter-spacing:inherit}
html .lvp-out:hover{color:var(--b-txt)}

/* header band: eyebrow, hero total, sub line, six fine trailers */
html .lvp .lv-hero{position:relative;padding:40px 0 8px}
html .lvp .lv-hero .lv-lead{font:700 13px/1.3 'Barlow Condensed',sans-serif!important;letter-spacing:.2em;text-transform:uppercase;color:var(--b-teal)!important}
html .lvp .lv-hero .lv-lead .lv-dot{color:var(--b-teal);font-weight:700}
html .lv-h1.num{font:800 clamp(72px,9vw,112px)/.95 'Barlow Condensed','Arial Narrow',sans-serif!important;text-transform:uppercase;letter-spacing:.005em!important;margin:14px 0 8px!important;color:var(--b-txt)}
html .lv-h1.num .c,html .lv-h1.num span{color:var(--b-dim);font-size:.6em;letter-spacing:.02em!important}
html .lvp .lv-sub{font:400 17px/1.45 Barlow,sans-serif;color:var(--b-mut)}
html .lvp .lv-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;color:var(--b-txt)}
.bd-spd{position:absolute;right:0;top:52px;width:48%;height:110px;pointer-events:none;-webkit-mask:linear-gradient(90deg,transparent,#000 60%);mask:linear-gradient(90deg,transparent,#000 60%)}
.bd-spd i{position:absolute;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--b-teal) 30%,var(--b-g));opacity:.6}
.bd-spd i:nth-child(1){top:6px;width:62%}.bd-spd i:nth-child(2){top:30px;width:100%}.bd-spd i:nth-child(3){top:54px;width:46%}
.bd-spd i:nth-child(4){top:78px;width:84%}.bd-spd i:nth-child(5){top:18px;width:74%}.bd-spd i:nth-child(6){top:66px;width:56%}
/* one summary line */
.bd-sum{display:flex;gap:18px 56px;margin:34px 0 8px;flex-wrap:wrap;padding:0}
.bd-sum>div{font:500 12px/1.2 'JetBrains Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--b-dim)}
.bd-sum dt{font:inherit}
.bd-sum dd{margin:0}
.bd-sum dd.v{font:700 34px/1.1 'JetBrains Mono',monospace;letter-spacing:-.01em;color:var(--b-txt);margin-top:8px;text-transform:none}
.bd-sum dd.v.g{color:var(--b-g)}.bd-sum dd.v.a{color:var(--b-amb)}
.bd-sum dd.d{font:500 12px/1.2 'JetBrains Mono',monospace;letter-spacing:.08em;color:var(--b-dim);margin-top:4px;text-transform:none}

/* toolbar */
.bd-tb{display:flex;align-items:center;gap:14px;padding:26px 0 12px;flex-wrap:wrap}
.bd-search{flex:1;min-width:220px;max-width:460px}
.bd-search input{width:100%;border:1px solid var(--b-line2);border-radius:8px;padding:11px 14px;background:transparent;color:var(--b-txt);font:500 13px 'JetBrains Mono',monospace;letter-spacing:.04em}
.bd-search input::placeholder{color:var(--b-dim);opacity:1}
.bd-f{border:1px solid var(--b-line2);border-radius:8px;padding:10px 12px;background:transparent;color:var(--b-mut);font:500 13px 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.bd-f option{background:var(--b-bg);color:var(--b-txt)}
.bd-btn{display:inline-block;padding:11px 18px;border:1px solid var(--b-line2);border-radius:8px;background:transparent;color:var(--b-txt);font:700 14px/1 'Barlow Condensed',sans-serif;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;cursor:pointer;text-decoration:none}
.bd-btn.g{border-color:var(--b-g);color:var(--b-g)}
.bd-btn:hover{box-shadow:none;border-color:var(--b-g)}
.bd-tb .lvp-seg,.bd-tbx .lvp-seg{margin-left:auto;border:1px solid var(--b-line2);box-shadow:none;border-radius:999px;padding:3px}
.lvp-seg button{padding:7px 14px;font:700 13px/1 'Barlow Condensed',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--b-mut)}
.lvp-seg button.on{background:var(--b-g);color:var(--b-onG)}
.bd-tbx{display:flex;justify-content:flex-end;padding:22px 0 6px}
.bd-cnt{display:flex;justify-content:space-between;gap:12px;padding:10px 0 0;font:500 12px/1.3 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--b-dim)}

/* columns */
.bd-hd,.bd-job{display:grid;grid-template-columns:22px 118px 120px minmax(0,1fr) 112px 160px;gap:18px;align-items:start}
.bd-hd{padding:14px 22px 8px;border-bottom:1px solid var(--b-line);font:500 12px/1 'JetBrains Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--b-dim)}
.bd-hd .r{text-align:right}
.bd-hd input{display:block;margin:-2px 0 0}
.bd-empty{padding:30px 22px;color:var(--b-dim);font:500 13px 'JetBrains Mono',monospace}
/* group header rows */
.bd-grp{display:flex;align-items:center;gap:16px;padding:30px 0 10px}
.bd-grp b{font:700 14px/1 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--b-g);white-space:nowrap}
.bd-grp small{font:500 12px/1 'JetBrains Mono',monospace;letter-spacing:.08em;color:var(--b-dim);white-space:nowrap}
.bd-grp .tr{flex:1;position:relative;height:13px;min-width:30px}
.bd-grp .tr i{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--b-teal) 25%,var(--b-ice) 85%,transparent);opacity:.4}
.bd-grp .tr i:nth-child(1){top:1px;left:18%}.bd-grp .tr i:nth-child(2){top:6px;right:8%}.bd-grp .tr i:nth-child(3){top:11px;left:34%}
.bd-grp em{font:700 14px/1 'JetBrains Mono',monospace;font-style:normal;letter-spacing:.06em;color:var(--b-txt);white-space:nowrap}
/* rows */
.bd-job{position:relative;padding:20px 22px;border-bottom:1px solid var(--b-line);cursor:pointer}
.bd-job .cb{margin-top:1px;line-height:1}
.bd-job .cb input{display:block;width:16px;height:16px;margin:2px 0 0;accent-color:var(--b-g)}
.bd-lock,.bd-stm{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1.5px solid var(--b-line2);border-radius:4px;font:700 12px/1 'JetBrains Mono',monospace;color:var(--b-g)}
.bd-stm{color:var(--b-mut)}
.bd-job .id{font:500 15px 'JetBrains Mono',monospace;color:var(--b-ice)}
.bd-job .id a{color:inherit;border-bottom:0;text-decoration:none;padding:0}
.bd-job .id a:hover{color:var(--b-neon)}
.bd-job .dt{font:500 12px/1.4 'JetBrains Mono',monospace;letter-spacing:.08em;color:var(--b-dim);margin-top:4px;text-transform:uppercase}
.bd-job .fr b{display:block;font:600 17px/1.3 Barlow,sans-serif}
.bd-job .fr small{display:block;font:400 14px/1.35 Barlow,sans-serif;color:var(--b-mut);margin-top:2px}
.bd-job .ro{display:grid;grid-template-columns:auto minmax(40px,1fr) auto;gap:2px 14px;align-items:center;min-width:0}
.bd-job .ro .c{font:700 24px/1 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.015em;color:var(--b-txt);white-space:nowrap}
.bd-job .ro .ln{position:relative;height:1px;background:linear-gradient(90deg,var(--b-g),var(--b-teal))}
.bd-job .ro .mi{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--b-navy);color:var(--b-g);border:1.5px solid var(--b-g);border-radius:6px;padding:4px 9px;font:700 12px/1 'JetBrains Mono',monospace;white-space:nowrap}
.bd-job .ro .a{font:400 13px/1.35 Barlow,sans-serif;color:var(--b-mut);margin-top:6px;min-width:0}
.bd-job .ro .a span{display:block;font:600 14px/1.3 Barlow,sans-serif;color:var(--b-ice)}
.bd-job .ro .as{grid-column:1/-1;grid-row:2;display:flex;justify-content:space-between;gap:0 24px}.bd-job .ro .as .a{flex:0 1 auto;min-width:0}.bd-job .ro .a.r{text-align:right}
.bd-job .pay{text-align:right;font:700 24px/1 'JetBrains Mono',monospace;letter-spacing:-.02em;color:var(--b-txt)}
.bd-job.paid .pay{color:var(--b-mut)}
/* status: word / outline / weight only */
.bd-job .st{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.bd-job .tag{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--b-line2);border-radius:999px;padding:6px 12px;font:500 12px/1 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--b-mut);white-space:nowrap}
.bd-job .tag.ok{background:var(--b-g);border-color:var(--b-g);color:var(--b-onG);font-weight:700}
.bd-job .tag.od{border-color:var(--b-amb);color:var(--b-amb);font-weight:700}
.bd-job .tag.od:before{content:"";border:5px solid transparent;border-bottom:8px solid var(--b-amb);border-top:0;display:block}
.bd-job .tag.ok:before{content:"";width:9px;height:5px;border-left:2px solid var(--b-onG);border-bottom:2px solid var(--b-onG);transform:rotate(-45deg) translate(1px,-1px);display:block}
.bd-job .ag{font:500 12px/1 'JetBrains Mono',monospace;letter-spacing:.1em;color:var(--b-dim);text-transform:uppercase}
.bd-job .ag.od{color:var(--b-amb);font-weight:700}
/* selected: ONLY a neon bar at the left, details open */
.bd-job.sel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--b-neon);box-shadow:0 0 12px rgba(61,255,143,.8),0 0 26px rgba(61,255,143,.35)}
.bd-job .det{grid-column:1/-1;padding:12px 0 0 40px;margin-top:6px;cursor:default;min-width:0}
.bd-act{display:flex;gap:10px;margin-bottom:10px}
.bd .jb-detail-cell{background:transparent;box-shadow:none;border:0;padding:0;animation:none}
.bd .jb-detail-grid{gap:12px 40px}
.bd .jb-addr-box{border-top:1px solid var(--b-line)}
.bd .jb-addr-name{font:600 16px/1.3 Barlow,sans-serif;color:var(--b-txt)}
.bd .jb-addr-line{font:400 14px/1.35 Barlow,sans-serif;color:var(--b-mut)}
.bd .js-bar{font:500 12px 'JetBrains Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--b-dim)}
.bd .order-detail-label{font:500 12px 'JetBrains Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--b-dim)}
.bd .order-detail-val{font:600 16px/1.3 Barlow,sans-serif}
.bd .jb-meta-row{border-top:1px solid var(--b-line)}
.bd .mx-btn{border:1px solid var(--b-line2);background:transparent;color:var(--b-txt);border-radius:8px;font:700 14px/1 'Barlow Condensed',sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:11px 18px;box-shadow:none}
.bd .mx-btn.primary{border-color:var(--b-g);color:var(--b-g);background:transparent}
.bd .jb-edit-field select,.bd .jb-edit-field textarea{background:transparent;border:1px solid var(--b-line2);color:var(--b-txt);border-radius:8px}
.bd .jb-paid-banner{border:1px solid var(--b-line2);border-radius:8px;padding:10px 14px;color:var(--b-mut)}
@media (max-width:860px){
  html .lvp .lv-page{padding:0 18px}
  html .lv-bar{flex-wrap:wrap}html .lv-bar nav{flex-wrap:wrap}
  html .lv-bar nav a.lvp-tool{display:inline-block!important}
  html .lv-bar .lv-who{justify-content:flex-start;gap:14px}
  html .lv-bar .lv-logo{height:38px}
  html .lv-bar .lv-who{width:100%;order:2;justify-content:space-between}
  html .lv-bar nav{order:3;flex:1 1 100%}
  html .lv-bar nav a,html .lv-bar nav a.lvp-tool{padding:8px 13px;font-size:14px}
  html .lv-h1.num{font-size:64px!important}.bd-spd{display:none}.lvp .lv-hero{padding-top:24px}
  .bd-sum{gap:18px 28px}.bd-sum dd.v{font-size:26px}
  .bd-search{max-width:none;flex-basis:100%}.bd-tb .lvp-seg{margin-left:0}
  .bd-hd{display:none}
  .bd-job{grid-template-columns:22px minmax(0,1fr) auto;gap:6px 12px;padding:16px 4px 16px 16px}
  .bd-job>.cb{grid-row:1;grid-column:1}
  .bd-job>.jd{grid-column:2;grid-row:1}
  .bd-job>.pay{grid-column:3;grid-row:1;font-size:22px}
  .bd-job>.ro{grid-column:1/-1;grid-row:2;margin-top:8px}
  .bd-job>.fr{grid-column:1/-1;grid-row:3;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
  .bd-job>.fr small{margin:0}
  .bd-job>.st{grid-column:1/-1;grid-row:4;flex-direction:row;align-items:center;flex-wrap:wrap}
  .bd-job>.det{grid-row:5;padding-left:0}
  .bd-job .ro .c{font-size:18px;white-space:normal;line-height:1.05}.bd-job .ro{gap:2px 8px}.bd-job .ro .mi{font-size:12px;padding:3px 6px}
  .bd-job .ro .as{display:block}.bd-job .ro .as .a{max-width:none}.bd-job .ro .a.r{text-align:left}
  .bd-grp{flex-wrap:wrap;gap:4px 12px;padding-top:26px}.bd-grp .tr{display:none}.bd-grp em{margin-left:auto}
  .bd-grp small{flex-basis:100%;order:5}
  .bd .jb-detail-grid{grid-template-columns:1fr}
  .bd .jb-meta-row{grid-template-columns:1fr 1fr}
}

/* sign-in: logo sits inside the card, centred on top */
.lvp-login .lvp-card-logo{display:block;margin:0 auto 18px;height:72px;width:auto;max-width:70%}

/* look switch caption (all looks): Auto follows the device */
.lv-switch-host .lv-switch::after{content:"Auto follows your device";align-self:center;margin-left:12px;font:500 12px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--nx-muted);white-space:nowrap}
.lv-switch-host .lv-switch{align-items:center}
/* LIGHT-COLOUR (2026-11-10): applies only to the Light look (forced, or Auto on a light device). Dark untouched. */
html:root[data-theme="light"]{--nx-bg:#eef5f8; --nx-btn:#087544; --nx-cyan:#007568; --nx-green:#087544; --nx-mint:#0a8a62; --nx-line:#b5d4d0; --nx-field:#e6f1f3;
 --nx-rule:#7fbab3;
 --b-line:#bcdad6; --b-line2:#7fbab3; --b-g:#066a3c; --b-neon:#087544; --b-teal:#007568; --b-ice:#1F5FBF; --b-amb:#8A5300; --b-navy:#dff1ec; --b-dim:#3f5866;
 --b-wash1:rgba(70,150,230,.32); --b-wash2:rgba(30,185,150,.28); --b-mut:#3b5563;}
html:root[data-theme="light"].lv,html:root[data-theme="light"].lv body{background:radial-gradient(90% 70% at 0% 0%,var(--b-wash1) 0%,transparent 66%),radial-gradient(85% 65% at 100% 100%,var(--b-wash2) 0%,transparent 68%),var(--b-bg)!important;background-attachment:fixed!important}
html:root[data-theme="light"].lv body{border-top:3px solid var(--b-g)}
html:root[data-theme="light"] .lv-sky{background:linear-gradient(180deg,rgba(31,95,191,.13) 0%,rgba(31,95,191,.06) 55%,rgba(255,255,255,0) 100%)!important;border-bottom:1px solid rgba(0,117,104,.28)}
html:root[data-theme="light"] .lv-h1.num{color:#0B2A5B}
html:root[data-theme="light"] .lv-h1.num .c,html:root[data-theme="light"] .lv-h1.num span{color:#087544}
html:root[data-theme="light"] .lv-lead,html:root[data-theme="light"] .lvp .lv-hero .lv-lead,html:root[data-theme="light"] .lvp-login .lv-lead,html:root[data-theme="light"] .dpl-login .lv-lead{color:#00574d!important}
html:root[data-theme="light"] .lv-bar nav a.lvp-tool{border-color:#7fbab3;color:#0b4a52;background:rgba(255,255,255,.55)}
html:root[data-theme="light"] .lv-bar nav a[aria-current]{background:#087544;color:#fff}
html:root[data-theme="light"] .bd-sum>div:nth-child(1) dd.v{color:#0B2A5B}
html:root[data-theme="light"] .bd-sum>div:nth-child(2) dd.v{color:#087544}
html:root[data-theme="light"] .bd-sum>div:nth-child(3) dd.v{color:#1F5FBF}
html:root[data-theme="light"] .bd-sum>div:nth-child(4) dd.v{color:#007568}
html:root[data-theme="light"] .bd-sum>div:nth-child(5) dd.v{color:#8A5300}
html:root[data-theme="light"] .bd-sum>div{color:#3b5563}
html:root[data-theme="light"] .lvp .lv-sub{color:#2f4a58}
html:root[data-theme="light"] .bd-search input,html:root[data-theme="light"] .bd-f{background:rgba(255,255,255,.8);border-color:#7fbab3}
html:root[data-theme="light"] .bd-btn{border-color:#007568;color:#0b4a52;background:rgba(255,255,255,.7)}
html:root[data-theme="light"] .bd-btn.g{border-color:#087544;color:#087544}
html:root[data-theme="light"] .bd-tb .lvp-seg,html:root[data-theme="light"] .bd-tbx .lvp-seg{border-color:#7fbab3;background:rgba(255,255,255,.7)}
html:root[data-theme="light"] .bd-hd{border-bottom:2px solid #007568;color:#3f5a68}
html:root[data-theme="light"] .bd-grp{background:rgba(0,117,104,.10);border-left:4px solid #007568;border-radius:0 8px 8px 0;padding:12px 16px;margin-top:22px}
html:root[data-theme="light"] .bd-grp b{color:#00574d}
html:root[data-theme="light"] .bd-grp.k-over{background:#f7ebd3;border-left-color:#8A5300}
html:root[data-theme="light"] .bd-grp.k-over b{color:#7a4a00}
html:root[data-theme="light"] .bd-grp.k-approved,html:root[data-theme="light"] .bd-grp.k-priced{background:rgba(31,95,191,.09);border-left-color:#1F5FBF}
html:root[data-theme="light"] .bd-grp.k-approved b,html:root[data-theme="light"] .bd-grp.k-priced b{color:#184d99}
html:root[data-theme="light"] .bd-grp.k-paid{background:rgba(8,117,68,.10);border-left-color:#087544}
html:root[data-theme="light"] .bd-grp.k-paid b{color:#066139}
html:root[data-theme="light"] .bd-grp small{color:#3f5866}
html:root[data-theme="light"] .bd-job{border-bottom:1px solid #a9d0cb;background:rgba(255,255,255,.62)}
html:root[data-theme="light"] .bd-job:hover{background:rgba(255,255,255,.9)}
html:root[data-theme="light"] .bd-job .id{color:#1F5FBF;font-weight:600}
html:root[data-theme="light"] .bd-job .ro .a span{color:#1F5FBF}
html:root[data-theme="light"] .bd-job .ro .ln{background:linear-gradient(90deg,#087544,#007568)}
html:root[data-theme="light"] .bd-job .ro .mi{background:#dff1ec;border-color:#087544;color:#066139}
html:root[data-theme="light"] .bd-job.sel{background:rgba(8,117,68,.09)}
html:root[data-theme="light"] .bd-job.sel::before{width:4px;background:#087544;box-shadow:none}
html:root[data-theme="light"] .bd-job .pay{color:#0B2A5B}
html:root[data-theme="light"] .bd-job .tag{background:rgba(0,117,104,.09);border-color:#7fbab3;color:#33505c}
html:root[data-theme="light"] .bd-job .tag.ok{background:#087544;border-color:#087544;color:#fff}
html:root[data-theme="light"] .bd-job .tag.od{background:#FCEBCB;border-color:#8A5300;color:#6f4200}
html:root[data-theme="light"] .bd-job .ag.od{color:#8A5300}
html:root[data-theme="light"] .lvp-login .lv-hero,html:root[data-theme="light"] .dpl-login .lv-hero{border:1px solid rgba(0,117,104,.40);border-top:5px solid #087544;background:#fff}
html:root[data-theme="light"] .lvp-login .lv-lead,html:root[data-theme="light"] .dpl-login .lv-lead{color:#007568!important}
html:root[data-theme="light"] .lvp-login .lv-title,html:root[data-theme="light"] .dpl-login .lv-title{color:#0B2A5B}
html:root[data-theme="light"] .lv-btn:not(.ghost),html:root[data-theme="light"] .mx-btn.primary,html:root[data-theme="light"] #mxGate button{background:#087544!important;color:#fff!important}
html:root[data-theme="light"] .dp-kpi{border-left-color:#7fbab3}
html:root[data-theme="light"] .dp-kpi:nth-child(1) .dp-v{color:#0B2A5B}
html:root[data-theme="light"] .dp-kpi:nth-child(2) .dp-v{color:#1F5FBF}
html:root[data-theme="light"] .dp-kpi:nth-child(3) .dp-v{color:#007568}
html:root[data-theme="light"] .dp-kpi:nth-child(4) .dp-v{color:#0B2A5B}
html:root[data-theme="light"] .dp-kpi:nth-child(5) .dp-v{color:#087544}
html:root[data-theme="light"] .dp-kpi:nth-child(6) .dp-v{color:#8A5300}
html:root[data-theme="light"] .dp-table thead th{border-bottom:2px solid #007568}
html:root[data-theme="light"] .dp-table td{border-bottom-color:#b8d8d4}
html:root[data-theme="light"] .dp-row{background:rgba(255,255,255,.6)}
html:root[data-theme="light"] .dp-row.sel>td:first-child{box-shadow:inset 4px 0 0 #087544}
html:root[data-theme="light"] .dp-row.sel td{background:rgba(8,117,68,.09)}
html:root[data-theme="light"] .dp-jn{color:#1F5FBF}
html:root[data-theme="light"] .jm-grp>td{background:rgba(0,117,104,.09)}
html:root[data-theme="light"] .dp-panel{background:rgba(255,255,255,.85);border-color:#7fbab3}
html:root[data-theme="light"] .dp-tab.on{background:#087544;color:#fff}
html:root[data-theme="light"] .lv-switch button{border:2px solid #7fbab3}
html:root[data-theme="light"] .lv-switch button[aria-pressed=true]{border-color:#087544;box-shadow:0 0 0 2px #fff,0 0 0 4px #087544}
html:root[data-theme="light"] .lv-foot{border-top:1px solid #7fbab3}
@media (prefers-color-scheme: light){
html:root:not([data-theme="dark"]){--nx-bg:#eef5f8; --nx-btn:#087544; --nx-cyan:#007568; --nx-green:#087544; --nx-mint:#0a8a62; --nx-line:#b5d4d0; --nx-field:#e6f1f3;
 --nx-rule:#7fbab3;
 --b-line:#bcdad6; --b-line2:#7fbab3; --b-g:#066a3c; --b-neon:#087544; --b-teal:#007568; --b-ice:#1F5FBF; --b-amb:#8A5300; --b-navy:#dff1ec; --b-dim:#3f5866;
 --b-wash1:rgba(70,150,230,.32); --b-wash2:rgba(30,185,150,.28); --b-mut:#3b5563;}
html:root:not([data-theme="dark"]).lv,html:root:not([data-theme="dark"]).lv body{background:radial-gradient(90% 70% at 0% 0%,var(--b-wash1) 0%,transparent 66%),radial-gradient(85% 65% at 100% 100%,var(--b-wash2) 0%,transparent 68%),var(--b-bg)!important;background-attachment:fixed!important}
html:root:not([data-theme="dark"]).lv body{border-top:3px solid var(--b-g)}
html:root:not([data-theme="dark"]) .lv-sky{background:linear-gradient(180deg,rgba(31,95,191,.13) 0%,rgba(31,95,191,.06) 55%,rgba(255,255,255,0) 100%)!important;border-bottom:1px solid rgba(0,117,104,.28)}
html:root:not([data-theme="dark"]) .lv-h1.num{color:#0B2A5B}
html:root:not([data-theme="dark"]) .lv-h1.num .c,html:root:not([data-theme="dark"]) .lv-h1.num span{color:#087544}
html:root:not([data-theme="dark"]) .lv-lead,html:root:not([data-theme="dark"]) .lvp .lv-hero .lv-lead,html:root:not([data-theme="dark"]) .lvp-login .lv-lead,html:root:not([data-theme="dark"]) .dpl-login .lv-lead{color:#00574d!important}
html:root:not([data-theme="dark"]) .lv-bar nav a.lvp-tool{border-color:#7fbab3;color:#0b4a52;background:rgba(255,255,255,.55)}
html:root:not([data-theme="dark"]) .lv-bar nav a[aria-current]{background:#087544;color:#fff}
html:root:not([data-theme="dark"]) .bd-sum>div:nth-child(1) dd.v{color:#0B2A5B}
html:root:not([data-theme="dark"]) .bd-sum>div:nth-child(2) dd.v{color:#087544}
html:root:not([data-theme="dark"]) .bd-sum>div:nth-child(3) dd.v{color:#1F5FBF}
html:root:not([data-theme="dark"]) .bd-sum>div:nth-child(4) dd.v{color:#007568}
html:root:not([data-theme="dark"]) .bd-sum>div:nth-child(5) dd.v{color:#8A5300}
html:root:not([data-theme="dark"]) .bd-sum>div{color:#3b5563}
html:root:not([data-theme="dark"]) .lvp .lv-sub{color:#2f4a58}
html:root:not([data-theme="dark"]) .bd-search input,html:root:not([data-theme="dark"]) .bd-f{background:rgba(255,255,255,.8);border-color:#7fbab3}
html:root:not([data-theme="dark"]) .bd-btn{border-color:#007568;color:#0b4a52;background:rgba(255,255,255,.7)}
html:root:not([data-theme="dark"]) .bd-btn.g{border-color:#087544;color:#087544}
html:root:not([data-theme="dark"]) .bd-tb .lvp-seg,html:root:not([data-theme="dark"]) .bd-tbx .lvp-seg{border-color:#7fbab3;background:rgba(255,255,255,.7)}
html:root:not([data-theme="dark"]) .bd-hd{border-bottom:2px solid #007568;color:#3f5a68}
html:root:not([data-theme="dark"]) .bd-grp{background:rgba(0,117,104,.10);border-left:4px solid #007568;border-radius:0 8px 8px 0;padding:12px 16px;margin-top:22px}
html:root:not([data-theme="dark"]) .bd-grp b{color:#00574d}
html:root:not([data-theme="dark"]) .bd-grp.k-over{background:#f7ebd3;border-left-color:#8A5300}
html:root:not([data-theme="dark"]) .bd-grp.k-over b{color:#7a4a00}
html:root:not([data-theme="dark"]) .bd-grp.k-approved,html:root:not([data-theme="dark"]) .bd-grp.k-priced{background:rgba(31,95,191,.09);border-left-color:#1F5FBF}
html:root:not([data-theme="dark"]) .bd-grp.k-approved b,html:root:not([data-theme="dark"]) .bd-grp.k-priced b{color:#184d99}
html:root:not([data-theme="dark"]) .bd-grp.k-paid{background:rgba(8,117,68,.10);border-left-color:#087544}
html:root:not([data-theme="dark"]) .bd-grp.k-paid b{color:#066139}
html:root:not([data-theme="dark"]) .bd-grp small{color:#3f5866}
html:root:not([data-theme="dark"]) .bd-job{border-bottom:1px solid #a9d0cb;background:rgba(255,255,255,.62)}
html:root:not([data-theme="dark"]) .bd-job:hover{background:rgba(255,255,255,.9)}
html:root:not([data-theme="dark"]) .bd-job .id{color:#1F5FBF;font-weight:600}
html:root:not([data-theme="dark"]) .bd-job .ro .a span{color:#1F5FBF}
html:root:not([data-theme="dark"]) .bd-job .ro .ln{background:linear-gradient(90deg,#087544,#007568)}
html:root:not([data-theme="dark"]) .bd-job .ro .mi{background:#dff1ec;border-color:#087544;color:#066139}
html:root:not([data-theme="dark"]) .bd-job.sel{background:rgba(8,117,68,.09)}
html:root:not([data-theme="dark"]) .bd-job.sel::before{width:4px;background:#087544;box-shadow:none}
html:root:not([data-theme="dark"]) .bd-job .pay{color:#0B2A5B}
html:root:not([data-theme="dark"]) .bd-job .tag{background:rgba(0,117,104,.09);border-color:#7fbab3;color:#33505c}
html:root:not([data-theme="dark"]) .bd-job .tag.ok{background:#087544;border-color:#087544;color:#fff}
html:root:not([data-theme="dark"]) .bd-job .tag.od{background:#FCEBCB;border-color:#8A5300;color:#6f4200}
html:root:not([data-theme="dark"]) .bd-job .ag.od{color:#8A5300}
html:root:not([data-theme="dark"]) .lvp-login .lv-hero,html:root:not([data-theme="dark"]) .dpl-login .lv-hero{border:1px solid rgba(0,117,104,.40);border-top:5px solid #087544;background:#fff}
html:root:not([data-theme="dark"]) .lvp-login .lv-lead,html:root:not([data-theme="dark"]) .dpl-login .lv-lead{color:#007568!important}
html:root:not([data-theme="dark"]) .lvp-login .lv-title,html:root:not([data-theme="dark"]) .dpl-login .lv-title{color:#0B2A5B}
html:root:not([data-theme="dark"]) .lv-btn:not(.ghost),html:root:not([data-theme="dark"]) .mx-btn.primary,html:root:not([data-theme="dark"]) #mxGate button{background:#087544!important;color:#fff!important}
html:root:not([data-theme="dark"]) .dp-kpi{border-left-color:#7fbab3}
html:root:not([data-theme="dark"]) .dp-kpi:nth-child(1) .dp-v{color:#0B2A5B}
html:root:not([data-theme="dark"]) .dp-kpi:nth-child(2) .dp-v{color:#1F5FBF}
html:root:not([data-theme="dark"]) .dp-kpi:nth-child(3) .dp-v{color:#007568}
html:root:not([data-theme="dark"]) .dp-kpi:nth-child(4) .dp-v{color:#0B2A5B}
html:root:not([data-theme="dark"]) .dp-kpi:nth-child(5) .dp-v{color:#087544}
html:root:not([data-theme="dark"]) .dp-kpi:nth-child(6) .dp-v{color:#8A5300}
html:root:not([data-theme="dark"]) .dp-table thead th{border-bottom:2px solid #007568}
html:root:not([data-theme="dark"]) .dp-table td{border-bottom-color:#b8d8d4}
html:root:not([data-theme="dark"]) .dp-row{background:rgba(255,255,255,.6)}
html:root:not([data-theme="dark"]) .dp-row.sel>td:first-child{box-shadow:inset 4px 0 0 #087544}
html:root:not([data-theme="dark"]) .dp-row.sel td{background:rgba(8,117,68,.09)}
html:root:not([data-theme="dark"]) .dp-jn{color:#1F5FBF}
html:root:not([data-theme="dark"]) .jm-grp>td{background:rgba(0,117,104,.09)}
html:root:not([data-theme="dark"]) .dp-panel{background:rgba(255,255,255,.85);border-color:#7fbab3}
html:root:not([data-theme="dark"]) .dp-tab.on{background:#087544;color:#fff}
html:root:not([data-theme="dark"]) .lv-switch button{border:2px solid #7fbab3}
html:root:not([data-theme="dark"]) .lv-switch button[aria-pressed=true]{border-color:#087544;box-shadow:0 0 0 2px #fff,0 0 0 4px #087544}
html:root:not([data-theme="dark"]) .lv-foot{border-top:1px solid #7fbab3}
}

/* revisions 2026-11-10: phone nav = ONE row that scrolls sideways (no wrapping to 3 rows) */
@media (max-width:700px){
  html .lv-bar nav{flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:2px;min-width:0}
  html .lv-bar nav::-webkit-scrollbar{display:none}
  html .lv-bar nav a,html .lv-bar nav .lvp-navsep{flex:none}
  html .lv-bar nav a.lvp-tool,html .lvp-navsep{display:inline-flex}
}

/* real data: long route cities must never overflow into Revenue/Status */
.bd-job .ro .c{min-width:0;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.bd-job .ro{min-width:0}

/* checked rows: a touch of gradient from the left so the checkbox visibly selects the row */
.bd-job:has(input[type=checkbox]:checked),
table tbody tr:has(input[type=checkbox]:checked){
  background:linear-gradient(90deg,rgba(43,221,107,.12) 0%,rgba(47,234,219,.05) 30%,transparent 55%)}
html[data-theme="light"] .bd-job:has(input[type=checkbox]:checked),
html[data-theme="light"] table tbody tr:has(input[type=checkbox]:checked){
  background:linear-gradient(90deg,rgba(8,117,68,.12) 0%,rgba(0,117,104,.05) 30%,transparent 55%)}
.bd-job input[type=checkbox]:checked{accent-color:#2BDD6B}

/* board header: keep the look switch beside Sign out without overlapping the nav pills */
html .lv-bar nav{min-width:0;flex:1 1 auto}
html .lv-bar [data-lv-switch]{flex:none;order:3;margin:0 10px 0 6px}
html .lv-bar .lv-who{order:4;flex:none}
@media (max-width:1500px){
  html .lv-bar nav{gap:2px}
  html .lv-bar nav a,html .lv-bar nav a.lvp-tool{padding:7px 9px;font-size:13.5px}
}
@media (max-width:1180px){ html .lv-bar nav{overflow-x:auto;scrollbar-width:none} html .lv-bar nav::-webkit-scrollbar{display:none} }

/* ===== CARDS view (2026-11-10): slim summary line, grouped card grid, inline detail. Tokens only (--b-*), so Dark and Light both follow. ===== */
.cd{--cd-panel:color-mix(in srgb,var(--b-navy) 62%,transparent)}
.cd-sum{display:flex;flex-wrap:wrap;gap:6px 0;margin:22px 0 0;padding:12px 0;border-top:1px solid var(--b-line);border-bottom:1px solid var(--b-line);font:500 13px/1.3 'JetBrains Mono',monospace;letter-spacing:.06em;color:var(--b-dim)}
.cd-sum span{padding:0 18px;border-left:1px solid var(--b-line2);white-space:nowrap}
.cd-sum span:first-child{padding-left:0;border-left:0}
.cd-sum b{font-weight:700;color:var(--b-txt);margin-right:6px}
.cd-sum .g b{color:var(--b-g)}.cd-sum .a b{color:var(--b-amb)}
.cd .bd-tb{padding-top:22px}
.cd-all{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:var(--b-mut)}
.cd-all input{width:16px;height:16px;margin:0;accent-color:var(--b-g)}
.cd-grp{display:flex;align-items:center;gap:16px;padding:34px 0 14px}
.cd-grp b{font:700 14px/1 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--b-g);white-space:nowrap}
.cd-grp small{font:500 12px/1 'JetBrains Mono',monospace;letter-spacing:.08em;color:var(--b-dim);white-space:nowrap}
.cd-grp .hl{flex:1;height:1px;background:var(--b-line);min-width:20px}
.cd-grp em{font:700 14px/1 'JetBrains Mono',monospace;font-style:normal;letter-spacing:.06em;color:var(--b-txt);white-space:nowrap}
.cd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.cd-card{position:relative;overflow:hidden;background:var(--cd-panel);border:1px solid var(--b-line);border-radius:10px;padding:18px 20px;cursor:pointer;min-width:0;outline-offset:2px}
.cd-card:hover{border-color:var(--b-line2)}
.cd-card:focus-visible{outline:2px solid var(--b-g)}
.cd-card.sel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--b-neon);box-shadow:0 0 12px rgba(61,255,143,.8),0 0 26px rgba(61,255,143,.35)}
html:root[data-theme="light"] .cd-card.sel::before{box-shadow:none}
.cd-card:has(input[type=checkbox]:checked){background:linear-gradient(90deg,color-mix(in srgb,var(--b-g) 14%,transparent) 0%,color-mix(in srgb,var(--b-g) 4%,transparent) 30%,transparent 55%),var(--cd-panel)}
.cd-card input[type=checkbox]{accent-color:var(--b-g)}
.cd-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:-8px -10px 0 0}
.cd-id{font:500 15px/1.2 'JetBrains Mono',monospace;color:var(--b-txt);padding-top:8px}
.cd-id a{color:inherit;border-bottom:0;text-decoration:none;padding:0}
.cd-id a:hover{color:var(--b-g);text-decoration:underline}
.cd-dt{font:500 12px/1.4 'JetBrains Mono',monospace;letter-spacing:.08em;color:var(--b-dim);margin-top:3px;text-transform:uppercase}
.cd-cb{width:44px;height:44px;display:grid;place-items:center;flex:none;cursor:pointer;line-height:1}
.cd-cb input{display:block;width:18px;height:18px;margin:0}
.cd-card .bd-lock,.cd-card .bd-stm{width:18px;height:18px}
.cd-ro{display:grid;grid-template-columns:minmax(0,auto) minmax(min-content,1fr) minmax(0,auto);gap:8px;align-items:center;margin-top:12px}
.cd-ro .c{font:700 24px/1.05 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.015em;color:var(--b-txt);min-width:0;overflow-wrap:anywhere}
.cd-ro .c:last-child{text-align:right}
.cd-ro .ln{display:flex;align-items:center;gap:6px;min-width:24px}
.cd-ro .ln::before,.cd-ro .ln::after{content:"";flex:1 1 0;height:1px;background:var(--b-line2);min-width:4px}
.cd-ro .mi{flex:none;background:var(--b-navy);color:var(--b-g);border:1.5px solid var(--b-g);border-radius:6px;padding:4px 8px;font:700 12px/1 'JetBrains Mono',monospace;white-space:nowrap}
.cd-pt{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}
.cd-pt>div{min-width:0}
.cd-pt b{display:block;font:600 14px/1.3 Barlow,sans-serif;color:var(--b-txt);overflow-wrap:anywhere}
.cd-pt small{display:block;font:400 13px/1.35 Barlow,sans-serif;color:var(--b-dim);margin-top:2px;overflow-wrap:anywhere}
.cd-pt>div+div{text-align:right}
.cd-fl{margin-top:14px;padding-top:12px;border-top:1px solid var(--b-line);font:500 13px/1.3 'JetBrains Mono',monospace;letter-spacing:.04em;color:var(--b-mut)}
.cd-fl i{font-style:normal;color:var(--b-dim);padding:0 6px}
.cd-pr{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;margin-top:14px}
.cd-pr i{height:3px;border-radius:2px;background:var(--b-line)}
.cd-pr i.f{background:var(--b-mut)}
.cd-pr i.n{background:var(--b-g)}
.cd-ft{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:12px}
.cd-pay{font:700 30px/1 'JetBrains Mono',monospace;letter-spacing:-.02em;color:var(--b-txt)}
.cd-card.paid .cd-pay{color:var(--b-mut)}
.cd-st{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.cd-card .tag{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--b-line2);border-radius:999px;padding:6px 12px;font:500 12px/1 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--b-mut);white-space:nowrap}
.cd-card .tag.ok{background:var(--b-g);border-color:var(--b-g);color:var(--b-onG);font-weight:700}
.cd-card .tag.od{border-color:var(--b-amb);color:var(--b-amb);font-weight:700;background:color-mix(in srgb,var(--b-amb) 10%,transparent)}
.cd-card .tag.pe{border-style:dashed}
.cd-card .tag.od:before{content:"";border:5px solid transparent;border-bottom:8px solid var(--b-amb);border-top:0;display:block}
.cd-card .tag.ok:before{content:"";width:9px;height:5px;border-left:2px solid var(--b-onG);border-bottom:2px solid var(--b-onG);transform:rotate(-45deg) translate(1px,-1px);display:block}
.cd-card .ag{font:500 12px/1 'JetBrains Mono',monospace;letter-spacing:.08em;color:var(--b-dim);text-transform:uppercase;white-space:nowrap}
.cd-card .ag.od{color:var(--b-amb);font-weight:700}
.cd-det{margin-top:16px;padding-top:16px;border-top:1px solid var(--b-line);cursor:default;min-width:0;color:var(--b-txt)}
.cd-det .bd-act{margin-bottom:12px;flex-wrap:wrap}
.cd-det .bd-act .bd-btn{flex:1;min-width:110px;text-align:center;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.cd .cd-det .jb-detail-cell{background:transparent;box-shadow:none;border:0;padding:0;animation:none}
.cd .cd-det .jb-detail-grid{grid-template-columns:1fr;gap:12px}
.cd .cd-det .jb-meta-row{grid-template-columns:1fr 1fr}
.cd .cd-det .jb-edit-row{flex-direction:column;align-items:stretch}
.cd .cd-det .jb-edit-field{min-width:0!important;width:100%}
.cd .cd-det .jb-edit-field select,.cd .cd-det .jb-edit-field textarea{width:100%;min-height:44px}
.cd .cd-det .mx-btn{min-height:44px}
.cd .bd-cnt{align-items:center}
@media(max-width:1060px){.cd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){
 .cd-sum span{padding:0 12px}
 .cd-grp{flex-wrap:wrap;gap:4px 12px;padding-top:28px}.cd-grp .hl{display:none}.cd-grp em{margin-left:auto}.cd-grp small{flex-basis:100%;order:5}
}
@media(max-width:640px){.cd-grid{grid-template-columns:minmax(0,1fr)}.cd-ro .c{font-size:22px}.cd-sum{font-size:12px}}
/* light: reuse the Board's light card look (white glass) */
html:root[data-theme="light"] .cd{--cd-panel:rgba(255,255,255,.72)}
html:root[data-theme="light"] .cd-card{border-color:var(--b-line2)}
html:root[data-theme="light"] .cd-card.sel{background:rgba(8,117,68,.09)}
html:root[data-theme="light"] .cd-card .tag.ok{color:#fff}
@media (prefers-color-scheme: light){
 html:root:not([data-theme="dark"]) .cd{--cd-panel:rgba(255,255,255,.72)}
 html:root:not([data-theme="dark"]) .cd-card{border-color:var(--b-line2)}
 html:root:not([data-theme="dark"]) .cd-card.sel{background:rgba(8,117,68,.09)}
 html:root:not([data-theme="dark"]) .cd-card .tag.ok{color:#fff}
 html:root:not([data-theme="dark"]) .cd-card.sel::before{box-shadow:none}
}

/* OVERDUE = amber everywhere (Matt 2026-11-10): one token, --nx-overdue (Dark #FFB224, Light #8A5300). Errors stay red via --nx-bad. */
.bd-grp.k-over b,.cd-grp.k-over b{color:var(--nx-overdue)}
.cd-sum .a b{color:var(--nx-overdue)}
.cd-card .tag.od{border-color:var(--nx-overdue);color:var(--nx-overdue);background:color-mix(in srgb,var(--nx-overdue) 10%,transparent)}
.cd-card .tag.od:before{border-bottom-color:var(--nx-overdue)}
.cd-card .ag.od{color:var(--nx-overdue)}
.cd-card.od:not(.sel){box-shadow:inset 3px 0 0 var(--nx-overdue)}
.bd-job .tag.od{border-color:var(--nx-overdue);color:var(--nx-overdue)}
.bd-job .tag.od:before{border-bottom-color:var(--nx-overdue)}
.bd-job .ag.od{color:var(--nx-overdue)}

/* ======================================================================
   BOARDFIX (2026-11-11): overdue edge on Board, 12px floor, touch targets, header switch, vibrant Light.
   Overdue = amber everywhere (--nx-overdue). One green, soft blue accents, teal only for the eyebrow.
   ====================================================================== */
/* 4a. overdue Board rows get the same amber left edge as Cards (selected row keeps its neon bar) */
.bd-job.od:not(.sel){box-shadow:inset 3px 0 0 var(--nx-overdue)}
/* trailers live in the header band only: group headers get one flat hairline */
.bd-grp .tr i{background:var(--b-line2)!important;opacity:1!important}
.bd-grp .tr i:nth-child(1){top:6px;left:0}
.bd-grp .tr i:nth-child(n+2){display:none}
/* 12px floor for every small label on Board/Cards */
.lv-tag,.bd-job .tag,.cd-card .tag,.bd-job .ag,.cd-card .ag,.bd-sum dd.d,.bd-hd,.bd-job .dt,.cd-dt,.bd-grp small,.cd-grp small,.bd-job .ro .mi,.cd-ro .mi,.bd .js-bar,.bd .order-detail-label,.bd-lock,.bd-stm,.lv-switch-host .lv-switch::after{font-size:12px!important}
.bd-job .ro .mi{font-size:12px!important}
/* header: Look switch sits between nav and Sign out, never on top of either */
html .lv-bar{align-items:center}
html .lv-bar nav{flex:1 1 0;min-width:0}
html .lv-bar [data-lv-switch],html .lv-bar .lv-switch{flex:none}
html .lv-bar .lv-who{flex:none;white-space:nowrap}
/* checkbox: visible box ~22px inside a 44px hit area (Board rows) */
.bd-job .cb{width:44px;height:44px;margin:-13px 0 0 -11px;display:grid;place-items:center;align-self:start}
.bd-job .cb input{width:22px;height:22px;margin:0}
.bd-hd>span:first-child{width:44px;height:44px;margin:-14px 0 -22px -11px;display:grid;place-items:center}
.bd-hd input{width:22px;height:22px;margin:0}
.cd-cb input{width:22px;height:22px}
.cd-all{min-height:44px}.cd-all input{width:22px;height:22px}
.cd-card .bd-lock,.cd-card .bd-stm,.bd-job .bd-lock,.bd-job .bd-stm{width:22px;height:22px}
/* look switch: 22px swatch inside a 44px hit area */
.lv-switch{gap:0;padding:2px}
.lv-switch button{position:relative;width:44px;height:44px;padding:11px;border:0!important;border-radius:50%;background-clip:content-box!important;background-origin:content-box;box-shadow:none!important}
.lv-switch button::before{content:"";position:absolute;inset:11px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);pointer-events:none}
.lv-switch button[aria-pressed=true]::before{box-shadow:0 0 0 2px var(--lv-hot),inset 0 0 0 1px rgba(255,255,255,.35)}
.lv-switch button:focus-visible{outline-offset:-4px}
/* tappable controls, 44px: phones and any coarse pointer */
@media (max-width:640px),(pointer:coarse){
  html .lv-bar nav a,html .lv-bar nav a.lvp-tool{min-height:44px;display:inline-flex;align-items:center;padding-top:0;padding-bottom:0}
  .lvp-out{min-height:44px;padding:0 4px;display:inline-flex;align-items:center}
  .bd-search input,.bd-f,.bd-btn,.cd .bd-btn,.bd .mx-btn,.stmt-bar button,.stmt-bar .mx-btn{min-height:44px;box-sizing:border-box}
  .bd-btn,.bd .mx-btn,.stmt-bar button{display:inline-flex;align-items:center;justify-content:center}
  .lvp-seg button{min-height:44px;padding:0 16px}
  .bd-job .id a,.cd-id a{display:inline-flex;align-items:center;min-height:44px;margin:-12px 0}
  .bd .jb-edit-field select,.bd .jb-edit-field textarea,.bd .jb-edit-field input{min-height:44px;box-sizing:border-box}
}
@media (max-width:640px){
  .bd-job{grid-template-columns:30px minmax(0,1fr) auto}
  .bd-job .cb{margin:-13px 0 0 -14px}
  .lv-switch{margin-left:0}
  html .lv-bar{gap:4px 8px}
}
/* contrast: dim text one step lighter on the dark canvas (AA on #010206) */
html:root[data-theme="dark"]{--b-dim:#8593AD}
@media (prefers-color-scheme: dark){html:root:not([data-theme="light"]){--b-dim:#8593AD}}

/* ---- LIGHT vibrance ---- */
html:root[data-theme="light"]{--b-bg:#e6f0f8; --b-txt:#10252f; --b-onG:#ffffff; --b-line:#bcd3ee; --b-line2:#8fb4e0; --b-wash1:rgba(80,150,235,.44); --b-wash2:rgba(25,185,135,.34)}
/* canvas: two-tone blue/green wash, stronger than before, still soft */
html:root[data-theme="light"].lv,html:root[data-theme="light"].lv body{background:radial-gradient(95% 75% at 0% 0%,var(--b-wash1) 0%,transparent 68%),radial-gradient(90% 70% at 100% 100%,var(--b-wash2) 0%,transparent 70%),linear-gradient(180deg,#e3eef9 0%,#e6f3f1 100%)!important;background-attachment:fixed!important}
/* band behind the header: blue tint fading out */
html:root[data-theme="light"] .lv-sky{background:linear-gradient(180deg,rgba(169,203,242,.78) 0%,rgba(169,203,242,.40) 62%,rgba(169,203,242,.10) 100%)!important;border-bottom:1px solid rgba(31,95,191,.28)}
html:root[data-theme="light"] .lv-bar nav a.lvp-tool{border-color:#8fb4e0;color:#143f7a;background:rgba(255,255,255,.7)}
html:root[data-theme="light"] .bd-search input,html:root[data-theme="light"] .bd-f,html:root[data-theme="light"] .bd-tb .lvp-seg,html:root[data-theme="light"] .bd-tbx .lvp-seg{border-color:#8fb4e0;background:rgba(255,255,255,.86)}
html:root[data-theme="light"] .bd-btn{border-color:#1F5FBF;color:#143f7a;background:rgba(255,255,255,.8)}
html:root[data-theme="light"] .bd-btn.g{border-color:#087544;color:#066139}
/* stat tiles: tinted, coloured top edge */
html:root[data-theme="light"] .bd-sum{gap:14px;flex-wrap:wrap}
html:root[data-theme="light"] .bd-sum>div{flex:1 1 150px;max-width:260px;padding:14px 18px 12px;border-radius:10px;border:1px solid #bcd3ee;border-top:4px solid #A9CBF2;background:linear-gradient(180deg,rgba(169,203,242,.38),rgba(255,255,255,.80) 70%);color:#33505c}
html:root[data-theme="light"] .bd-sum>div:nth-child(2){border-top-color:#087544;background:linear-gradient(180deg,rgba(8,117,68,.14),rgba(255,255,255,.80) 70%)}
html:root[data-theme="light"] .bd-sum>div:nth-child(5){border-top-color:#8A5300;background:linear-gradient(180deg,rgba(255,178,36,.26),rgba(255,255,255,.80) 70%)}
html:root[data-theme="light"] .bd-sum dd.d{color:#33505c}
html:root[data-theme="light"] .lvp .lv-hero .lv-lead{color:#00574d!important}
/* group headers: soft blue, green (paid), amber (overdue); teal stays for the eyebrow only */
html:root[data-theme="light"] .bd-grp,html:root[data-theme="light"] .cd-grp{background:rgba(169,203,242,.40);border-left:4px solid #1F5FBF;border-radius:0 8px 8px 0;padding:12px 16px}
html:root[data-theme="light"] .cd-grp{margin-top:22px;padding:12px 16px}
html:root[data-theme="light"] .bd-grp b,html:root[data-theme="light"] .cd-grp b{color:#143f7a}
html:root[data-theme="light"] .bd-grp.k-over,html:root[data-theme="light"] .cd-grp.k-over{background:rgba(255,178,36,.26);border-left-color:#8A5300}
html:root[data-theme="light"] .bd-grp.k-over b,html:root[data-theme="light"] .cd-grp.k-over b{color:#6b3f00}
html:root[data-theme="light"] .bd-grp.k-paid,html:root[data-theme="light"] .cd-grp.k-paid{background:rgba(8,117,68,.14);border-left-color:#087544}
html:root[data-theme="light"] .bd-grp.k-paid b,html:root[data-theme="light"] .cd-grp.k-paid b{color:#05512d}
html:root[data-theme="light"] .bd-grp small,html:root[data-theme="light"] .cd-grp small{color:#2c4a5a}
html:root[data-theme="light"] .bd-grp em,html:root[data-theme="light"] .cd-grp em{color:#0B2A5B}
html:root[data-theme="light"] .bd-job .ro .ln{background:linear-gradient(90deg,#087544,#1F5FBF)}
html:root[data-theme="light"] .bd-job{background:rgba(255,255,255,.74);border-bottom-color:#bcd3ee}
html:root[data-theme="light"] .bd-job:nth-of-type(even){background:rgba(233,243,253,.80)}
html:root[data-theme="light"] .bd-job .dt,html:root[data-theme="light"] .cd-dt{color:#33505c}
/* status chips: coloured, readable */
html:root[data-theme="light"] .bd-job .tag,html:root[data-theme="light"] .cd-card .tag{background:rgba(169,203,242,.55);border-color:#6f9bd6;color:#0F3470;font-weight:600}
html:root[data-theme="light"] .bd-job .tag.ok,html:root[data-theme="light"] .cd-card .tag.ok{background:#087544;border-color:#087544;color:#fff}
html:root[data-theme="light"] .bd-job .tag.od,html:root[data-theme="light"] .cd-card .tag.od{background:#FFE3A8;border-color:#8A5300;color:#5c3600}
html:root[data-theme="light"] .cd-card .tag.pe{background:rgba(255,255,255,.7)}
html:root[data-theme="light"] .bd-job .ag,html:root[data-theme="light"] .cd-card .ag{color:#33505c}
html:root[data-theme="light"] .bd-job .ag.od,html:root[data-theme="light"] .cd-card .ag.od{color:#6b3f00}
/* cards: tinted top, coloured edge */
html:root[data-theme="light"] .cd{--cd-panel:rgba(255,255,255,.84)}
html:root[data-theme="light"] .cd-card{border-color:#bcd3ee;border-top:3px solid #A9CBF2;background:linear-gradient(180deg,rgba(169,203,242,.42) 0,rgba(255,255,255,.84) 78px)}
html:root[data-theme="light"] .cd-card.paid{border-top-color:#087544;background:linear-gradient(180deg,rgba(8,117,68,.14) 0,rgba(255,255,255,.84) 78px)}
html:root[data-theme="light"] .cd-card.od{border-top-color:#8A5300;background:linear-gradient(180deg,rgba(255,178,36,.26) 0,rgba(255,255,255,.84) 78px)}
html:root[data-theme="light"] .cd-card.sel{background:linear-gradient(180deg,rgba(8,117,68,.16) 0,rgba(255,255,255,.88) 78px)}
html:root[data-theme="light"] .cd-pt small{color:#3f5866}
html:root[data-theme="light"] .cd-ro .ln::before,html:root[data-theme="light"] .cd-ro .ln::after{background:#8fb4e0}
html:root[data-theme="light"] .cd-sum{background:rgba(169,203,242,.30);border-color:#bcd3ee;color:#2c4a5a;padding-left:14px;padding-right:14px;border-radius:8px}
html:root[data-theme="light"] .cd-sum b{color:#0B2A5B}
html:root[data-theme="light"] .cd-sum .g b{color:#066139}
html:root[data-theme="light"] .cd-sum .a b{color:#6b3f00}
html:root[data-theme="light"] .bd-cnt,html:root[data-theme="light"] .bd-hd{color:#2c4a5a}
html:root[data-theme="light"] .bd-hd{border-bottom:2px solid #1F5FBF;background:rgba(169,203,242,.32)}

@media (prefers-color-scheme: light){
html:root:not([data-theme="dark"]){--b-bg:#e6f0f8; --b-txt:#10252f; --b-onG:#ffffff; --b-line:#bcd3ee; --b-line2:#8fb4e0; --b-wash1:rgba(80,150,235,.44); --b-wash2:rgba(25,185,135,.34)}
/* canvas: two-tone blue/green wash, stronger than before, still soft */
html:root:not([data-theme="dark"]).lv,html:root:not([data-theme="dark"]).lv body{background:radial-gradient(95% 75% at 0% 0%,var(--b-wash1) 0%,transparent 68%),radial-gradient(90% 70% at 100% 100%,var(--b-wash2) 0%,transparent 70%),linear-gradient(180deg,#e3eef9 0%,#e6f3f1 100%)!important;background-attachment:fixed!important}
/* band behind the header: blue tint fading out */
html:root:not([data-theme="dark"]) .lv-sky{background:linear-gradient(180deg,rgba(169,203,242,.78) 0%,rgba(169,203,242,.40) 62%,rgba(169,203,242,.10) 100%)!important;border-bottom:1px solid rgba(31,95,191,.28)}
html:root:not([data-theme="dark"]) .lv-bar nav a.lvp-tool{border-color:#8fb4e0;color:#143f7a;background:rgba(255,255,255,.7)}
html:root:not([data-theme="dark"]) .bd-search input,html:root:not([data-theme="dark"]) .bd-f,html:root:not([data-theme="dark"]) .bd-tb .lvp-seg,html:root:not([data-theme="dark"]) .bd-tbx .lvp-seg{border-color:#8fb4e0;background:rgba(255,255,255,.86)}
html:root:not([data-theme="dark"]) .bd-btn{border-color:#1F5FBF;color:#143f7a;background:rgba(255,255,255,.8)}
html:root:not([data-theme="dark"]) .bd-btn.g{border-color:#087544;color:#066139}
/* stat tiles: tinted, coloured top edge */
html:root:not([data-theme="dark"]) .bd-sum{gap:14px;flex-wrap:wrap}
html:root:not([data-theme="dark"]) .bd-sum>div{flex:1 1 150px;max-width:260px;padding:14px 18px 12px;border-radius:10px;border:1px solid #bcd3ee;border-top:4px solid #A9CBF2;background:linear-gradient(180deg,rgba(169,203,242,.38),rgba(255,255,255,.80) 70%);color:#33505c}
html:root:not([data-theme="dark"]) .bd-sum>div:nth-child(2){border-top-color:#087544;background:linear-gradient(180deg,rgba(8,117,68,.14),rgba(255,255,255,.80) 70%)}
html:root:not([data-theme="dark"]) .bd-sum>div:nth-child(5){border-top-color:#8A5300;background:linear-gradient(180deg,rgba(255,178,36,.26),rgba(255,255,255,.80) 70%)}
html:root:not([data-theme="dark"]) .bd-sum dd.d{color:#33505c}
html:root:not([data-theme="dark"]) .lvp .lv-hero .lv-lead{color:#00574d!important}
/* group headers: soft blue, green (paid), amber (overdue); teal stays for the eyebrow only */
html:root:not([data-theme="dark"]) .bd-grp,html:root:not([data-theme="dark"]) .cd-grp{background:rgba(169,203,242,.40);border-left:4px solid #1F5FBF;border-radius:0 8px 8px 0;padding:12px 16px}
html:root:not([data-theme="dark"]) .cd-grp{margin-top:22px;padding:12px 16px}
html:root:not([data-theme="dark"]) .bd-grp b,html:root:not([data-theme="dark"]) .cd-grp b{color:#143f7a}
html:root:not([data-theme="dark"]) .bd-grp.k-over,html:root:not([data-theme="dark"]) .cd-grp.k-over{background:rgba(255,178,36,.26);border-left-color:#8A5300}
html:root:not([data-theme="dark"]) .bd-grp.k-over b,html:root:not([data-theme="dark"]) .cd-grp.k-over b{color:#6b3f00}
html:root:not([data-theme="dark"]) .bd-grp.k-paid,html:root:not([data-theme="dark"]) .cd-grp.k-paid{background:rgba(8,117,68,.14);border-left-color:#087544}
html:root:not([data-theme="dark"]) .bd-grp.k-paid b,html:root:not([data-theme="dark"]) .cd-grp.k-paid b{color:#05512d}
html:root:not([data-theme="dark"]) .bd-grp small,html:root:not([data-theme="dark"]) .cd-grp small{color:#2c4a5a}
html:root:not([data-theme="dark"]) .bd-grp em,html:root:not([data-theme="dark"]) .cd-grp em{color:#0B2A5B}
html:root:not([data-theme="dark"]) .bd-job .ro .ln{background:linear-gradient(90deg,#087544,#1F5FBF)}
html:root:not([data-theme="dark"]) .bd-job{background:rgba(255,255,255,.74);border-bottom-color:#bcd3ee}
html:root:not([data-theme="dark"]) .bd-job:nth-of-type(even){background:rgba(233,243,253,.80)}
html:root:not([data-theme="dark"]) .bd-job .dt,html:root:not([data-theme="dark"]) .cd-dt{color:#33505c}
/* status chips: coloured, readable */
html:root:not([data-theme="dark"]) .bd-job .tag,html:root:not([data-theme="dark"]) .cd-card .tag{background:rgba(169,203,242,.55);border-color:#6f9bd6;color:#0F3470;font-weight:600}
html:root:not([data-theme="dark"]) .bd-job .tag.ok,html:root:not([data-theme="dark"]) .cd-card .tag.ok{background:#087544;border-color:#087544;color:#fff}
html:root:not([data-theme="dark"]) .bd-job .tag.od,html:root:not([data-theme="dark"]) .cd-card .tag.od{background:#FFE3A8;border-color:#8A5300;color:#5c3600}
html:root:not([data-theme="dark"]) .cd-card .tag.pe{background:rgba(255,255,255,.7)}
html:root:not([data-theme="dark"]) .bd-job .ag,html:root:not([data-theme="dark"]) .cd-card .ag{color:#33505c}
html:root:not([data-theme="dark"]) .bd-job .ag.od,html:root:not([data-theme="dark"]) .cd-card .ag.od{color:#6b3f00}
/* cards: tinted top, coloured edge */
html:root:not([data-theme="dark"]) .cd{--cd-panel:rgba(255,255,255,.84)}
html:root:not([data-theme="dark"]) .cd-card{border-color:#bcd3ee;border-top:3px solid #A9CBF2;background:linear-gradient(180deg,rgba(169,203,242,.42) 0,rgba(255,255,255,.84) 78px)}
html:root:not([data-theme="dark"]) .cd-card.paid{border-top-color:#087544;background:linear-gradient(180deg,rgba(8,117,68,.14) 0,rgba(255,255,255,.84) 78px)}
html:root:not([data-theme="dark"]) .cd-card.od{border-top-color:#8A5300;background:linear-gradient(180deg,rgba(255,178,36,.26) 0,rgba(255,255,255,.84) 78px)}
html:root:not([data-theme="dark"]) .cd-card.sel{background:linear-gradient(180deg,rgba(8,117,68,.16) 0,rgba(255,255,255,.88) 78px)}
html:root:not([data-theme="dark"]) .cd-pt small{color:#3f5866}
html:root:not([data-theme="dark"]) .cd-ro .ln::before,html:root:not([data-theme="dark"]) .cd-ro .ln::after{background:#8fb4e0}
html:root:not([data-theme="dark"]) .cd-sum{background:rgba(169,203,242,.30);border-color:#bcd3ee;color:#2c4a5a;padding-left:14px;padding-right:14px;border-radius:8px}
html:root:not([data-theme="dark"]) .cd-sum b{color:#0B2A5B}
html:root:not([data-theme="dark"]) .cd-sum .g b{color:#066139}
html:root:not([data-theme="dark"]) .cd-sum .a b{color:#6b3f00}
html:root:not([data-theme="dark"]) .bd-cnt,html:root:not([data-theme="dark"]) .bd-hd{color:#2c4a5a}
html:root:not([data-theme="dark"]) .bd-hd{border-bottom:2px solid #1F5FBF;background:rgba(169,203,242,.32)}
}
@media (max-width:860px){html .lv-bar nav{flex:1 1 100%;order:3}html .lv-bar [data-lv-switch]{order:2;margin:0 0 0 auto}html .lv-bar .lv-who{order:2;width:auto}}

html .lv-bar>a{display:inline-flex;align-items:center;min-height:44px}
html:root[data-theme="light"] .lvp-live{color:#05512d}
html:root[data-theme="light"] .lvp .lv-hero .lv-lead .lv-dot{color:#00574d}
html:root[data-theme="light"] .lv-h1.num .c,html:root[data-theme="light"] .lv-h1.num span{color:#05603a}
html:root[data-theme="light"] .bd-sum>div:nth-child(2) dd.v{color:#05603a}
@media (prefers-color-scheme: light){
html:root:not([data-theme="dark"]) .lvp-live{color:#05512d}
html:root:not([data-theme="dark"]) .lvp .lv-hero .lv-lead .lv-dot{color:#00574d}
html:root:not([data-theme="dark"]) .lv-h1.num .c,html:root:not([data-theme="dark"]) .lv-h1.num span{color:#05603a}
html:root:not([data-theme="dark"]) .bd-sum>div:nth-child(2) dd.v{color:#05603a}
}
html:root[data-theme="light"] .bd-sum>div:nth-child(4) dd.v{color:#184d99}
@media (prefers-color-scheme: light){html:root:not([data-theme="dark"]) .bd-sum>div:nth-child(4) dd.v{color:#184d99}}

/* ===== SIGN-IN PLATE MOCKUP (draft): lights-off plate, lights-on plate flickers over it once ===== */
.lvp-login .lvp-card-logo{content:url("neon/mx-plate-off.png")!important;height:auto!important;width:100%!important;max-width:400px!important;margin:0!important}
.lvp-login .lvp-plate{display:block;position:relative;max-width:400px;margin:-4px auto 14px}
.lvp-login .lvp-plate-on{display:block;position:absolute;inset:0;width:100%;opacity:0;animation:mxpower 1.8s steps(1,end) .3s forwards;pointer-events:none}
@keyframes mxpower{0%{opacity:0}8%{opacity:.85}12%{opacity:.1}20%{opacity:.9}24%{opacity:.3}34%{opacity:1}38%{opacity:.6}46%,100%{opacity:1}}
@media (prefers-reduced-motion:reduce){.lvp-login .lvp-plate-on{animation:none;opacity:1}}
/* more glow on the sign-in plate (draft v2) */
.lvp-login .lvp-plate{filter:drop-shadow(0 0 14px rgba(43,221,107,.55)) drop-shadow(0 0 38px rgba(43,221,107,.35)) drop-shadow(0 0 80px rgba(43,221,107,.2))}
.lvp-login .lvp-plate::before{content:"";position:absolute;inset:-18% -12%;background:radial-gradient(closest-side,rgba(43,221,107,.28),rgba(43,221,107,0));z-index:-1;pointer-events:none;animation:mxpower 1.8s steps(1,end) .3s both}
:root[data-theme="light"] .lvp-login .lvp-plate{filter:drop-shadow(0 0 12px rgba(8,117,68,.5)) drop-shadow(0 0 30px rgba(43,221,107,.4))}
@media (prefers-reduced-motion:reduce){.lvp-login .lvp-plate::before{animation:none}}

/* ===== v3: ColdPulse-style stage: plate hero above the card, pulse line with dot, glowing card, radar rings ===== */
.lvp-login .lvp-stage{max-width:460px;margin:5vh auto 0;text-align:center}
.lvp-login .lvp-plate{max-width:460px;margin:0 auto 18px;filter:drop-shadow(0 0 16px rgba(43,221,107,.6)) drop-shadow(0 0 46px rgba(43,221,107,.38)) drop-shadow(0 0 100px rgba(43,221,107,.22))}
.lvp-login .lvp-pulse{position:relative;height:2px;max-width:560px;margin:0 auto 22px;background:linear-gradient(90deg,transparent,rgba(169,203,242,.7) 30%,#2BDD6B 70%,transparent)}
.lvp-login .lvp-pulse i{position:absolute;top:50%;left:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:#dffff0;box-shadow:0 0 10px 3px rgba(43,221,107,.9),0 0 26px 8px rgba(43,221,107,.45);animation:mxdot 3.2s ease-in-out 2.2s infinite}
@keyframes mxdot{0%,100%{transform:translateX(-120px)}50%{transform:translateX(120px)}}
.lvp-login .lv-hero{margin-top:0!important;box-shadow:0 0 0 1px rgba(43,221,107,.28),0 0 28px rgba(43,221,107,.28),0 0 70px rgba(43,221,107,.16)}
.lvp-login{background-image:repeating-radial-gradient(circle at 50% 46%,transparent 0 150px,rgba(43,221,107,.05) 151px 152px)}
:root[data-theme="light"] .lvp-login .lv-hero{box-shadow:0 8px 30px rgba(8,117,68,.18)}
:root[data-theme="light"] .lvp-login{background-image:none}
@media (prefers-reduced-motion:reduce){.lvp-login .lvp-pulse i{animation:none}}
@media (max-width:640px){.lvp-login .lvp-stage{margin-top:3vh}}
/* trails centred on the card block (v3) */
html .lvp-login .lv-hero::before{top:50%!important;transform:translateY(-50%)}
@media (max-width:640px){html .lvp-login .lv-hero::before{top:50%!important}}
.lvp-login .lvp-plate{margin-bottom:30px}
.lvp-login .lvp-pulse{margin-bottom:26px}

/* ===== v4: container-open intro plays once over the page, fades into the sign-in; plate lights after ===== */
.lvp-login .lvp-intro{position:fixed;inset:0;z-index:50;background:#01040b;pointer-events:none;animation:mxintro .9s ease 3.9s forwards}
.lvp-login .lvp-intro video{width:100%;height:100%;object-fit:contain;object-position:center}
@keyframes mxintro{to{opacity:0;visibility:hidden}}
.lvp-login .lvp-plate-on,.lvp-login .lvp-plate::before{animation-delay:4.4s!important}
@media (prefers-reduced-motion:reduce){.lvp-login .lvp-intro{display:none}.lvp-login .lvp-plate-on,.lvp-login .lvp-plate::before{animation-delay:0s!important}}
/* no racing bead (Matt 11/11): keep the pulse line, drop the moving dot */
.lvp-login .lvp-pulse i{display:none!important}
/* bright line like ColdPulse: wide, glowing, fixed centre node (no movement) */
.lvp-login .lvp-pulse{height:2px!important;max-width:560px!important;margin:4px auto 28px!important;
  background:linear-gradient(90deg,transparent 0,rgba(111,155,255,.9) 22%,#bff7ff 50%,rgba(43,221,107,.95) 78%,transparent 100%)!important;
  box-shadow:0 0 10px rgba(43,221,107,.55),0 0 26px rgba(111,155,255,.35)}
.lvp-login .lvp-pulse i{display:block!important;animation:none!important;left:50%!important;transform:none!important;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;background:#eafffb;box-shadow:0 0 8px 2px #bff7ff,0 0 22px 7px rgba(43,221,107,.6)}
:root[data-theme="light"] .lvp-login .lvp-pulse{box-shadow:0 0 8px rgba(8,117,68,.4)}
.lvp-login .lvp-plate{margin-bottom:46px!important}
.lvp-login .lvp-pulse{position:relative;z-index:3;margin-bottom:30px!important}
/* no intro video (Matt 11/11): plate flickers on right after load */
.lvp-login .lvp-intro{display:none!important}
.lvp-login .lvp-plate-on,.lvp-login .lvp-plate::before{animation-delay:.3s!important}
/* no flicker (Matt 11/11): lit plate is simply there; whole stage eases in once */
.lvp-login .lvp-plate-on{animation:none!important;opacity:1!important}
.lvp-login .lvp-plate::before{animation:none!important}
.lvp-login .lvp-stage{animation:mxfade .7s ease-out both}
@keyframes mxfade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.lvp-login .lvp-stage{animation:none}}
/* reduced glow (Matt 11/11): about half strength on plate, card, line, backdrop */
.lvp-login .lvp-plate{filter:drop-shadow(0 0 7px rgba(43,221,107,.38)) drop-shadow(0 0 20px rgba(43,221,107,.2))!important}
.lvp-login .lvp-plate::before{background:radial-gradient(closest-side,rgba(43,221,107,.12),rgba(43,221,107,0))!important}
.lvp-login .lv-hero{box-shadow:0 0 0 1px rgba(43,221,107,.22),0 0 14px rgba(43,221,107,.14)!important}
.lvp-login .lvp-pulse{box-shadow:0 0 5px rgba(43,221,107,.3)!important}
.lvp-login .lvp-pulse i{box-shadow:0 0 5px 1px #bff7ff,0 0 12px 3px rgba(43,221,107,.35)!important}
.lvp-login{background-image:repeating-radial-gradient(circle at 50% 46%,transparent 0 150px,rgba(43,221,107,.03) 151px 152px)!important}
/* smaller plate (Matt 11/11): ~65% of previous */
.lvp-login .lvp-plate{max-width:300px!important;margin-bottom:34px!important}
@media (max-width:640px){.lvp-login .lvp-plate{max-width:240px!important}}
/* v8: plate + bright line live INSIDE the card box */
.lvp-login .lvp-stage{margin:0 auto 8px!important;max-width:none!important;animation:none!important}
.lvp-login .lv-hero{animation:mxfade .7s ease-out both}
.lvp-login .lvp-plate{max-width:260px!important;margin:0 auto 22px!important}
.lvp-login .lvp-pulse{max-width:100%!important;margin:0 auto 16px!important}
@media (max-width:640px){.lvp-login .lvp-plate{max-width:210px!important}}
/* v8 fixes: keep trails behind the card, give the card room at the top */
.lvp-login .lv-hero{animation:none!important;margin-top:9vh!important;padding-top:26px!important}
.lvp-login .lv-page{animation:mxfade .7s ease-out both}
@media (max-width:640px){.lvp-login .lv-hero{margin-top:5vh!important}}
/* enlarge plate inside card (Matt 11/11) */
.lvp-login .lvp-plate{max-width:380px!important}
.lvp-login .lv-hero{max-width:560px!important}
@media (max-width:640px){.lvp-login .lvp-plate{max-width:280px!important}}

/* ===== REVIEW FIXES 2026-11-11 (C functional, B visual, A numbers) ===== */
/* C: sort select sits with the other toolbar controls */
.bd-tb .bd-f[aria-label="Sort"]{min-width:0}
/* C: city names never break mid-word on cards */
.cd-ro{grid-template-columns:minmax(min-content,auto) minmax(24px,1fr) minmax(min-content,auto)}
.cd-ro .c{overflow-wrap:normal;word-break:normal;hyphens:none}
/* C: stage bars get a text label (B11) */
.cd-pr{align-items:center}
.cd-prl{grid-column:1/-1;font:500 12px/1 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--b-dim);margin-top:6px}
/* B7: selected row/card = neon bar only (no extra wash or glow) */
.bd-job.sel,.cd-card.sel{background:transparent;box-shadow:none}
.bd-job.sel::before,.cd-card.sel::before{box-shadow:none}
/* B8: no blue glow bleeding behind rows on dark */
html:root[data-theme="dark"]{--b-wash2:rgba(22,92,150,.10)}
@media (prefers-color-scheme: dark){html:root:not([data-theme="light"]){--b-wash2:rgba(22,92,150,.10)}}
/* B5: KPI row stays one row of five down to tablet width */
@media (max-width:1000px) and (min-width:641px){.bd-sum{gap:18px 22px;flex-wrap:nowrap}.bd-sum>div{min-width:0}.bd-sum dd.v{font-size:28px}.bd-sum dd.d{overflow-wrap:anywhere}}
/* A: second line under the Paid group header says what the number is */
.bd-grp.k-paid small,.cd-grp.k-paid small{white-space:nowrap}
/* C/phone: touch targets 44px, bulk bar never covers the last rows */
@media (max-width:640px),(pointer:coarse){
  .bd-job{grid-template-columns:44px minmax(0,1fr) auto}
  .bd-job .cb input,.cd-all input,.cd-cb input,.bd-hd input{width:24px;height:24px;transform:scale(1.85);transform-origin:center;margin:10px}
  .bd-job .cb{width:44px;height:44px;display:grid;place-items:center;margin-top:-10px}
  .cd-all{min-height:44px;padding-right:12px}
  .bd:has(.stmt-bar){padding-bottom:230px}
}

/* B: Light theme calmer + flat (one green, navy text, amber only for Overdue) */
html:root[data-theme="light"].lv,html:root[data-theme="light"].lv body,html:root:not([data-theme="dark"]).lv,html:root:not([data-theme="dark"]).lv body{background:#e9f0f7!important;background-attachment:fixed!important}
html:root[data-theme="light"] .lv-sky{background:linear-gradient(180deg,rgba(31,95,191,.06),rgba(255,255,255,0))!important}
html:root:not([data-theme="dark"]) .lv-sky{background:linear-gradient(180deg,rgba(31,95,191,.06),rgba(255,255,255,0))!important}
html:root[data-theme="light"] .bd-sum>div{flex:0 1 auto;max-width:none;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
html:root:not([data-theme="dark"]) .bd-sum>div{flex:0 1 auto;max-width:none;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
html:root[data-theme="light"] .bd-sum>div::before,html:root[data-theme="light"] .bd-sum>div::after{content:none}
html:root:not([data-theme="dark"]) .bd-sum>div::before,html:root[data-theme="light"] .bd-sum>div::after{content:none}
html:root[data-theme="light"] .bd-grp,html:root[data-theme="light"] .cd-grp{background:none;border:0;border-bottom:1px solid #b4c6d9;border-radius:0;padding:12px 0 8px}
html:root:not([data-theme="dark"]) .bd-grp,html:root[data-theme="light"] .cd-grp{background:none;border:0;border-bottom:1px solid #b4c6d9;border-radius:0;padding:12px 0 8px}
html:root[data-theme="light"] .bd-grp.k-over,html:root[data-theme="light"] .cd-grp.k-over{background:none;border-left:0}
html:root:not([data-theme="dark"]) .bd-grp.k-over,html:root[data-theme="light"] .cd-grp.k-over{background:none;border-left:0}
html:root[data-theme="light"] .bd-grp.k-paid,html:root[data-theme="light"] .cd-grp.k-paid{background:none;border-left:0}
html:root:not([data-theme="dark"]) .bd-grp.k-paid,html:root[data-theme="light"] .cd-grp.k-paid{background:none;border-left:0}
html:root[data-theme="light"] .bd-grp b,html:root[data-theme="light"] .cd-grp b{color:#0B2A5B}
html:root:not([data-theme="dark"]) .bd-grp b,html:root[data-theme="light"] .cd-grp b{color:#0B2A5B}
html:root[data-theme="light"] .bd-grp.k-over b,html:root[data-theme="light"] .cd-grp.k-over b{color:#8A5300}
html:root:not([data-theme="dark"]) .bd-grp.k-over b,html:root[data-theme="light"] .cd-grp.k-over b{color:#8A5300}
html:root[data-theme="light"] .bd-job .id,html:root[data-theme="light"] .bd-job .id a,html:root[data-theme="light"] .cd-id a{color:#0B2A5B}
html:root:not([data-theme="dark"]) .bd-job .id,html:root[data-theme="light"] .bd-job .id a,html:root[data-theme="light"] .cd-id a{color:#0B2A5B}
html:root[data-theme="light"] .bd-job .ro .a span{color:#2f4a58}
html:root:not([data-theme="dark"]) .bd-job .ro .a span{color:#2f4a58}
html:root[data-theme="light"] .cd-card{border-top:1px solid #bcd3ee;background:rgba(255,255,255,.72)}
html:root:not([data-theme="dark"]) .cd-card{border-top:1px solid #bcd3ee;background:rgba(255,255,255,.72)}
html:root[data-theme="light"] .cd-sum{background:none;border-radius:0;padding-left:0;padding-right:0}
html:root:not([data-theme="dark"]) .cd-sum{background:none;border-radius:0;padding-left:0;padding-right:0}
html:root[data-theme="light"] .bd-job.sel,html:root[data-theme="light"] .cd-card.sel{background:rgba(255,255,255,.85)}
html:root:not([data-theme="dark"]) .bd-job.sel,html:root[data-theme="light"] .cd-card.sel{background:rgba(255,255,255,.85)}
/* B: finish flat Light KPI + header row */
html:root[data-theme="light"] .bd-sum>div:nth-child(2),html:root[data-theme="light"] .bd-sum>div:nth-child(5){border:0;background:none}
html:root[data-theme="light"] .bd-sum>div:nth-child(3) dd.v{color:#0B2A5B}
html:root[data-theme="light"] .bd-hd{background:none;border-bottom:1px solid #b4c6d9}
@media (max-width:1000px) and (min-width:641px){html:root[data-theme="light"] .bd-sum{flex-wrap:nowrap;gap:18px 22px}}
html:root:not([data-theme="dark"]) .bd-sum>div:nth-child(2),html:root:not([data-theme="dark"]) .bd-sum>div:nth-child(5){border:0;background:none}
html:root:not([data-theme="dark"]) .bd-sum>div:nth-child(3) dd.v{color:#0B2A5B}
html:root:not([data-theme="dark"]) .bd-hd{background:none;border-bottom:1px solid #b4c6d9}
@media (max-width:1000px) and (min-width:641px){html:root:not([data-theme="dark"]) .bd-sum{flex-wrap:nowrap;gap:18px 22px}}
