/* The new look (Blake's refresh, Sep 28 2026). Used only by templates/bold/; the classic look keeps app.css as it is.
   Values follow docs/Mosaic Measure Refresh - Design Handoff/README.md and its prototype. Gold is the only accent. */

/* ── tokens ─────────────────────────────────────────────────────────────────────────────────────────────── */
:root{
  --bg:#fbfaf7;--side:#f1eee7;--side-line:#d9d2c4;--card:#ffffff;--card-line:#ddd6c9;--line:#e3ddd1;
  --ink:#0f1e2c;--muted:#5f6672;--label:#6b7280;--head1:#12324b;--canvas:#e6e2da;
  --folder:#12324b;--folder-soft:#c7d3df;--pbg:#12324b;--pfg:#ffffff;--pbg-hover:#1b4466;
  --active-bg:#e3e9ef;--active-fg:#12324b;--active-ic:#C9A22E;
  --short-bg:#fdecea;--short-fg:#9f1c1c;--over-bg:#fdf3dc;--over-fg:#7a5200;--low-bg:#fbf3dc;--low-fg:#12324b;
  --k-conflict:#b91c1c;--k-missing:#a8811b;--k-allow:#4b7ab0;
  --gold:#E9B949;--gold-bd:#C9A22E;--gold-hover:#F1C95A;--on-gold:#1b1407;--beta-fg:#2e2100;--gold-link:#8A6E1F;
  --navy:#0f2740;--red:#b91c1c;--blue:#4b7ab0;--green:#2f9d6a;--grey:#9aa3ae;
  --hover:rgba(127,127,127,.08);--sel:rgba(201,162,46,.14);
  /* the brand's own: a company's colours are written over these and the ones above that carry navy or gold (theme.py) */
  --brand:#12324b;--brand-hover:#1b4466;--pill-bg:rgba(15,30,44,.78);--gold-fold:#D9AE3A;--scrim:rgba(15,39,64,.55);--beam:#e9c24a;
  --acc-10:rgba(201,162,46,.1);--acc-12:rgba(201,162,46,.12);--acc-16:rgba(201,162,46,.16);--acc-28:rgba(201,162,39,.28);--acc-35:rgba(201,162,46,.35);--acc-45:rgba(201,162,46,.45);
  --side-w:248px;--pad-x:44px;--pad-top:26px;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  color-scheme:light;
}
html[data-theme="dark"]{
  --bg:#0e1a26;--side:#0a1520;--side-line:#22344a;--card:#132232;--card-line:#26394e;--line:#1f3043;
  --ink:#e8edf3;--muted:#9aa9b8;--label:#7f90a2;--head1:#f1f4f8;--canvas:#0b1b2b;
  --folder:#8fb3d9;--folder-soft:#3b5673;--pbg:#e8edf3;--pfg:#0f2740;--pbg-hover:#ffffff;
  --active-bg:#2a4a6b;--active-fg:#ffffff;--active-ic:#E9B949;
  --short-bg:#3d1717;--short-fg:#fca5a5;--over-bg:#3a2a0b;--over-fg:#f4d27a;--low-bg:#e8edf3;--low-fg:#0f2740;
  --k-conflict:#f87171;--k-missing:#e0b64a;--k-allow:#8fb3d9;
  color-scheme:dark;
}

/* ── base ───────────────────────────────────────────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;height:100%}
body.b{font-family:'Archivo',system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;
  background:var(--bg);color:var(--ink);font-size:16px;line-height:1.4}
body.b a{color:var(--head1)}
body.b a:hover{color:var(--gold-link)}
input,select,textarea,button{font-family:inherit;font-size:inherit}
[hidden]{display:none!important}
.mono{font-family:var(--mono)}
.lg-dark{display:none}
html[data-theme="dark"] .lg-light.has-dark{display:none}
html[data-theme="dark"] .lg-dark{display:block}
.b-ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.b-fold{width:18px;height:18px;fill:var(--folder);stroke:var(--folder);stroke-width:1.4;stroke-linejoin:round;flex:none}
@keyframes bToastIn{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}

/* ── the frame: sidebar, content, drawer ─────────────────────────────────────────────────────────────────── */
.b-shell{height:100vh;height:100dvh;display:grid;grid-template-columns:var(--side-w) minmax(0,1fr)}
.b-side{position:relative;background:var(--side);border-right:1px solid var(--side-line);display:flex;flex-direction:column;min-height:0;min-width:0}
.b-main{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr)}
.b-scroll{min-height:0;overflow-y:auto;position:relative;display:flex;flex-direction:column}
.b-scroll > .b-fill{flex:1 0 auto}
body.b-noside .b-shell{grid-template-columns:minmax(0,1fr)}
body.b-noside .b-side{display:none}
body.b-resizing,body.b-resizing *{cursor:col-resize!important;user-select:none}

.b-side-logo{display:flex;justify-content:center;align-items:center;padding:14px 14px 12px;border-bottom:1px solid var(--side-line);text-decoration:none;min-height:60px}
.b-side-logo img{height:80px;width:auto;max-width:100%;object-fit:contain}
.b-side-logo span{font-weight:800;font-size:18px;color:var(--head1);text-align:center}
.b-resize{position:absolute;top:0;right:-4px;bottom:0;width:8px;cursor:col-resize;z-index:4}
.b-resize:hover{background:var(--acc-35)}

/* the folder tree */
.b-tree{flex:1;min-height:0;overflow-y:auto;padding:10px 12px 8px;display:flex;flex-direction:column;gap:1px}
.b-tree-label{font-size:14px;font-weight:600;color:var(--muted);padding:0 8px 8px}
.b-row{display:grid;grid-template-columns:14px 18px minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 10px 6px 8px;border-radius:6px;
  color:var(--ink);text-decoration:none;font-size:15px;font-weight:500;cursor:pointer}
body.b a.b-row{color:var(--ink)}
.b-row:hover{outline:1px solid rgba(127,127,127,.35)}
body.b a.b-row:hover{color:var(--ink)}
.b-row.d0{font-size:16px;font-weight:700}
.b-row.d1{margin-left:14px}
.b-row.d2{margin-left:28px;font-size:14px;font-weight:600}
.b-row.d3{margin-left:42px;font-size:14px}
.b-row .b-chev{font-size:11px;color:var(--label);width:18px;height:22px;margin-left:-4px;display:grid;place-items:center;border-radius:4px}
.b-row .b-chev:not(:empty):hover{background:rgba(127,127,127,.18)}
.b-row .b-fold{fill:var(--folder-soft)}
.b-row.zero .b-fold{fill:none}
.b-row .b-lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.b-row .b-n{font-size:13px;color:var(--label);font-weight:500}
.b-row.on,body.b a.b-row.on{background:var(--active-bg);color:var(--active-fg)}
.b-row.on .b-fold{fill:var(--active-ic);stroke:var(--active-ic)}
.b-row.on .b-n,.b-row.on .b-chev{color:var(--active-fg)}
.b-tg > .b-kids{display:none}
.b-tg.open > .b-kids{display:flex;flex-direction:column;gap:1px}

/* the foot of the sidebar */
.b-side-foot{padding:10px 12px 12px;border-top:1px solid var(--side-line);display:flex;flex-direction:column;gap:8px}
.b-me{position:relative}
.b-me-btn{width:100%;display:flex;align-items:center;gap:10px;background:transparent;border:0;color:var(--ink);padding:2px 4px;border-radius:10px;cursor:pointer;text-align:left}
.b-me-btn:hover{background:rgba(127,127,127,.1)}
.b-av{width:36px;height:36px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.b-me-name{display:flex;flex-direction:column;min-width:0}
.b-me-name b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.b-me-name small{font-size:13px;color:var(--muted)}
.b-menu{position:absolute;left:0;right:0;bottom:52px;background:var(--card);border:1px solid var(--card-line);box-shadow:0 12px 30px rgba(0,0,0,.2);
  display:flex;flex-direction:column;padding:6px;border-radius:12px;z-index:6}
.b-menu a,.b-menu button{display:block;width:100%;text-align:left;background:transparent;border:0;color:var(--ink);font-size:15px;padding:10px 12px;cursor:pointer;
  border-radius:8px;text-decoration:none}
body.b .b-menu a{color:var(--ink)}
.b-menu a:hover,.b-menu button:hover{background:rgba(127,127,127,.12)}
.b-menu hr{border:0;border-top:1px solid var(--line);margin:4px 6px}
.b-menu form{margin:0}
.b-side-btns{display:grid;grid-template-columns:repeat(auto-fit,minmax(124px,1fr));gap:6px}
.b-sbtn{display:flex;align-items:center;justify-content:center;gap:6px;background:var(--card);border:1px solid var(--card-line);color:var(--ink);font-size:14px;
  font-weight:600;padding:8px 6px;white-space:nowrap;border-radius:10px;cursor:pointer}
.b-sbtn:hover{border-color:var(--gold-bd)}
.b-sbtn.gold{background:var(--gold);border-color:var(--gold-bd);color:var(--on-gold)}
.b-sbtn.gold:hover{background:var(--gold-hover)}
.b-powered{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 6px 0;text-decoration:none}
.b-powered span{font-size:14px;color:var(--label)}
.b-powered img{width:190px;max-width:100%;height:auto;border-radius:10px}

/* the top bar and drawer below 1100px */
.b-topbar{display:none;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--side)}
.b-topbar .b-home{display:flex;align-items:center}
.b-topbar .b-home img{height:52px;width:auto}
.b-topbar .b-home span{font-weight:800;font-size:17px;color:var(--head1)}
.b-iconbtn{width:44px;height:44px;display:grid;place-items:center;background:var(--card);border:1px solid var(--card-line);border-radius:10px;cursor:pointer;color:var(--ink);flex:none}
.b-iconbtn.gold{background:var(--gold);border-color:var(--gold-bd);color:var(--on-gold)}
.b-iconbtn.gold:hover{background:var(--gold-hover)}
.b-iconbtn .b-ic{width:22px;height:22px}
.b-iconbtn.gold .b-ic{width:28px;height:28px}
.b-backdrop{display:none}

/* ── the back row and the legal line ─────────────────────────────────────────────────────────────────────── */
.b-backrow{padding:18px var(--pad-x) 0;display:flex;justify-content:space-between;align-items:center;gap:12px}
.b-back{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--card-line);color:var(--ink);font-size:15px;font-weight:600;
  padding:8px 14px 8px 10px;border-radius:10px;cursor:pointer;min-width:0;max-width:340px}
.b-back:hover{border-color:var(--gold-bd)}
.b-back span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-back.sm{font-size:14px;padding:7px 12px 7px 8px;border-radius:8px}
.b-back.sm .b-ic{width:16px;height:16px}
.b-legal{margin-top:auto;padding:14px var(--pad-x) 18px;font-size:12px;color:var(--label);display:flex;gap:6px 18px;flex-wrap:wrap}
.b-legal b{font-weight:600;color:var(--muted)}

/* ── pages ──────────────────────────────────────────────────────────────────────────────────────────────── */
.b-page{padding:var(--pad-top) var(--pad-x) 60px;display:flex;flex-direction:column;gap:22px;max-width:1200px;width:100%;min-width:0}
.b-page.w1240{max-width:1240px}
.b-page.w1000{max-width:1000px}
body.b-hasback .b-page{--pad-top:14px}
.b-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 20px;flex-wrap:wrap;padding-bottom:4px}
.b-head-l{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 320px}
.b-head-r{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.b-kicker{font-size:15px;font-weight:500;color:var(--muted)}
.b-h1{margin:0;font-size:32px;font-weight:700;letter-spacing:-.3px;color:var(--head1);line-height:1.15;overflow-wrap:anywhere}
.b-h2{margin:0;font-size:24px;font-weight:700;letter-spacing:-.3px;color:var(--ink)}
.b-muted{color:var(--muted)}
.b-label{font-size:13px;font-weight:600;color:var(--label)}

/* ── buttons and tags ───────────────────────────────────────────────────────────────────────────────────── */
.b-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:15px;line-height:1.15;padding:12px 18px;
  border-radius:8px;cursor:pointer;border:1px solid transparent;text-decoration:none;white-space:nowrap}
.b-btn:disabled{opacity:.55;cursor:default}
.b-btn.primary,body.b a.b-btn.primary{background:var(--pbg);color:var(--pfg);border-color:var(--pbg)}
.b-btn.primary:hover:not(:disabled){background:var(--pbg-hover);border-color:var(--pbg-hover);color:var(--pfg)}
.b-btn.secondary,body.b a.b-btn.secondary{background:var(--card);border-color:var(--card-line);color:var(--ink)}
.b-btn.ghost,body.b a.b-btn.ghost{background:transparent;border-color:var(--card-line);color:var(--ink)}
.b-btn.secondary:hover:not(:disabled),.b-btn.ghost:hover:not(:disabled){border-color:var(--gold-bd);color:var(--ink)}
.b-btn.gold,body.b a.b-btn.gold{background:var(--gold);border-color:var(--gold-bd);color:var(--on-gold)}
.b-btn.gold:hover:not(:disabled){background:var(--gold-hover);color:var(--on-gold)}
.b-btn.danger,body.b a.b-btn.danger{color:var(--short-fg)}
.b-btn.primary.danger{background:var(--red);border-color:var(--red);color:#fff}
.b-btn.primary.danger:hover:not(:disabled){background:#991b1b;border-color:#991b1b;color:#fff}
.b-btn.sm{font-size:13px;padding:7px 10px}
.b-btn.md{font-size:14px;padding:9px 14px}
.b-btn.block{width:100%}
.b-beta{display:inline-block;background:var(--gold);color:var(--beta-fg);font-size:11px;font-weight:800;letter-spacing:1px;padding:3px 7px;border-radius:4px;line-height:1.2;vertical-align:middle}
.b-dot{display:inline-block;width:10px;height:10px;flex:none}
.b-chip{font-family:var(--mono);font-size:13px;font-weight:700;border:1px solid var(--card-line);padding:4px 8px;border-radius:6px;cursor:pointer;
  background:transparent;color:var(--ink);text-decoration:none;display:inline-block;line-height:1.2}
body.b a.b-chip{color:var(--ink)}
.b-chip:hover{border-color:var(--gold-bd)}
.b-chip.off{cursor:default;opacity:.6}
/* a download (PDF, Excel, CSV, a file): a button in the company's accent with a down arrow, so it is seen (Blake, Oct 6) */
body.b a.b-chip[href*=".pdf"],body.b a.b-chip[href*=".xlsx"],body.b a.b-chip[href*="csv.zip"],body.b a.b-chip[href^="/f/"]{display:inline-flex;align-items:center;gap:6px;
  font-family:inherit;font-size:14px;font-weight:700;line-height:1;min-height:36px;padding:8px 13px 8px 10px;border-radius:8px;white-space:nowrap;
  background:var(--gold);border:1.5px solid var(--gold-bd);color:var(--on-gold);box-shadow:0 1px 2px rgba(0,0,0,.12)}
body.b a.b-chip[href*=".pdf"]:hover,body.b a.b-chip[href*=".xlsx"]:hover,body.b a.b-chip[href*="csv.zip"]:hover,body.b a.b-chip[href^="/f/"]:hover{background:var(--gold-hover);border-color:var(--gold-bd)}
a.b-chip[href*=".pdf"]::before,a.b-chip[href*=".xlsx"]::before,a.b-chip[href*="csv.zip"]::before,a.b-chip[href^="/f/"]::before{content:"";width:16px;height:16px;flex:none;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 11l5 5 5-5M5 20h14'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 11l5 5 5-5M5 20h14'/%3E%3C/svg%3E") center/contain no-repeat}

/* ── fields, dialogs, toasts ────────────────────────────────────────────────────────────────────────────── */
.b-field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--ink)}
.b-field small{font-weight:500;color:var(--muted)}
.b-input,.b-field input,.b-field select,.b-field textarea{font-size:16px;padding:12px;border:1.5px solid var(--card-line);background:var(--card);color:var(--ink);
  border-radius:8px;font-weight:400;width:100%}
.b-field textarea{line-height:1.5;resize:vertical}
.b-input:focus,.b-field :is(input,select,textarea):focus{outline:2px solid var(--gold-bd);outline-offset:0;border-color:var(--gold-bd)}
dialog.b-modal{border:0;padding:28px;border-radius:14px;background:var(--bg);color:var(--ink);width:calc(100% - 32px);max-width:460px;
  box-shadow:0 24px 60px rgba(0,0,0,.3)}
dialog.b-modal.w500{max-width:500px}
dialog.b-modal::backdrop{background:rgba(5,12,20,.55)}
.b-modal form{display:flex;flex-direction:column;gap:16px;margin:0}
.b-modal-t{font-size:24px;font-weight:700;color:var(--head1);display:flex;align-items:center;gap:10px}
.b-modal-t .b-ic{width:24px;height:24px}
.b-modal p{margin:0;font-size:15px;color:var(--muted);line-height:1.5}
.b-modal-act{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.b-modal-act .b-btn{padding:11px 18px}
.b-file{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);cursor:pointer;flex-wrap:wrap}
.b-file > span{border:1px solid var(--card-line);padding:8px 12px;border-radius:8px;color:var(--ink);font-weight:600}
.b-file:hover > span{border-color:var(--gold-bd)}
.b-file input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.b-file em{font-style:normal;color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
.b-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--navy);color:#fff;border-left:4px solid var(--gold-bd);padding:14px 20px;
  font-size:15px;font-weight:600;box-shadow:0 12px 30px rgba(0,0,0,.3);z-index:90;animation:bToastIn .2s ease-out;max-width:min(640px,calc(100vw - 32px));line-height:1.4}
.b-toast.out{opacity:0;transition:opacity .2s}
.b-notice{border:1px solid var(--card-line);border-left:4px solid var(--gold-bd);background:var(--card);border-radius:10px;padding:12px 16px;font-size:15px;
  display:flex;flex-direction:column;gap:4px}

/* ── sign in ────────────────────────────────────────────────────────────────────────────────────────────── */
.b-login{min-height:100vh;min-height:100dvh;background:var(--navy);display:grid;place-items:center;padding:24px;grid-template-rows:1fr auto}
.b-login-card{width:100%;max-width:420px;background:#fbfaf7;padding:36px;display:flex;flex-direction:column;gap:18px;border-radius:8px;color:#0f1e2c}
.b-login-logo{height:160px;width:auto;max-width:100%;object-fit:contain;align-self:center}
.b-login-logo.measure{height:96px;border-radius:14px}
.b-login-h{border-bottom:2px solid #0f1e2c;padding-bottom:10px}
.b-login-h b{font-size:24px;font-weight:800;color:var(--brand)}
.b-lfield{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:#0f1e2c}
.b-lfield input{font-size:16px;padding:12px;border:1.5px solid #c9c0b0;border-radius:8px;background:#fff;color:#0f1e2c}
.b-lfield input:focus{outline:2px solid var(--gold-bd);border-color:var(--gold-bd)}
.b-login-err{font-size:14px;color:#b91c1c;font-weight:600}
.b-login-btn{background:var(--brand);color:#fff;border:0;font-weight:700;font-size:16px;padding:14px;border-radius:8px;cursor:pointer}
.b-login-btn:hover{background:var(--brand-hover)}
.b-login-powered{display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:10px}
.b-login-powered span{font-size:12px;color:#6b7280}
.b-login-powered img{height:66px;width:auto;border-radius:9px}
.b-login-legal{font-size:12px;color:#9aa9b8;padding-top:14px;text-align:center}

/* ── below 1100px: the sidebar is a drawer, a top bar holds the menu, the logo and Bug report ────────────── */
@media (max-width:1099px){
  :root{--pad-x:28px}
  .b-shell,body.b-noside .b-shell{grid-template-columns:minmax(0,1fr)}
  .b-main{grid-template-rows:auto minmax(0,1fr)}
  .b-side,body.b-noside .b-side{display:flex;position:fixed;left:0;top:0;bottom:0;width:min(320px,86vw);z-index:40;transform:translateX(-105%);
    transition:transform .22s ease}
  body.b-drawer .b-side{transform:none;box-shadow:0 0 40px rgba(0,0,0,.3)}
  body.b-drawer .b-backdrop{display:block;position:fixed;inset:0;background:rgba(5,12,20,.45);z-index:35}
  .b-resize{display:none}
  .b-topbar{display:flex}
  body.b-hasback .b-page,.b-page{--pad-top:16px}
  .b-btn,.b-back,.b-sbtn{min-height:44px}
  .b-btn.sm{min-height:40px}
  .b-row{padding-top:9px;padding-bottom:9px}
}
@media (max-width:699px){
  :root{--pad-x:16px}
  .b-topbar{padding:18px 14px 10px}
  .b-topbar .b-home img{height:64px}
  .b-h1{font-size:26px}
  .b-page{gap:14px}
  .b-login-card{padding:28px 22px}
  .b-login-logo{height:120px}
}
@media (max-width:1099px){.b-wide-only{display:none!important}}

/* ── phase 2: the view toggle, Tile, Jobs, the job page, uploads, simple folder lists ──────────────────────── */
.b-seg{display:flex;border:1px solid var(--card-line);border-radius:8px;overflow:hidden;flex:none}
.b-seg button{border:0;width:44px;height:42px;display:grid;place-items:center;cursor:pointer;background:transparent;color:var(--ink)}
.b-seg button + button{border-left:1px solid var(--card-line)}
.b-seg button.on{background:var(--active-bg);color:var(--active-fg)}
.b-seg .b-ic{stroke-width:1.8}
.b-check{display:flex;gap:8px;align-items:center;font-size:15px;cursor:pointer}
.b-check input{width:18px;height:18px;accent-color:var(--gold-bd)}
.b-select{font-size:14px;font-weight:600;padding:7px 8px;border:1.5px solid var(--card-line);border-radius:8px;background:transparent;color:var(--ink);cursor:pointer}
.b-trash{width:36px;height:36px;display:grid;place-items:center;border:0;background:transparent;color:var(--muted);border-radius:8px;cursor:pointer}
.b-trash:hover{color:var(--red);background:rgba(185,28,28,.08)}
.b-btn.lg{font-size:16px;padding:14px 22px;min-height:48px}
.b-none{padding:30px 4px;border-top:1px solid var(--line);color:var(--muted);font-size:16px}
.b-empty{border-top:1px solid var(--line);padding:36px 0 0;display:flex;flex-direction:column;gap:14px;align-items:flex-start;max-width:560px}
.b-empty p{margin:0;font-size:17px;line-height:1.55;color:var(--muted);text-wrap:pretty}
.b-empty .b-btn{margin-top:6px}

/* Tile */
.b-tile{display:flex;flex-direction:column;gap:8px;min-width:0}
.b-tile-bar{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--card-line);border-radius:12px;padding:8px 8px 8px 14px;min-width:0}
.b-tile-bar:focus-within{border-color:var(--gold-bd)}
.b-tile-ic{width:42px;height:42px;flex:none;cursor:pointer;border-radius:10px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3));transition:transform .12s ease,filter .12s ease}
.b-tile-ic:hover{transform:translateY(1px) scale(.96);filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.b-tile-ic:active{transform:translateY(2px) scale(.9);filter:drop-shadow(0 0 0 rgba(0,0,0,0))}
.b-tile-bar input{flex:1;min-width:0;border:0;background:transparent;font-size:16px;color:var(--ink);outline:none;padding:6px 0}
.b-tile-bar input::placeholder{color:var(--muted)}
.b-tile-go{background:var(--pbg);color:var(--pfg);border:0;font-weight:700;font-size:14px;padding:9px 16px;border-radius:8px;cursor:pointer;flex:none}
.b-tile-go:hover{background:var(--pbg-hover)}
.b-tile-go.stop{background:var(--red);color:#fff}
.b-tile.round .b-tile-bar{border-radius:14px;padding:6px 6px 6px 8px;gap:10px}
.b-tile.round .b-tile-ic{width:38px;height:38px}
.b-tile.round .b-tile-bar input{font-size:15px}
.b-tile.round .b-beta{font-size:10px;padding:3px 6px}
.b-tile.round .b-tile-go{width:40px;height:40px;border-radius:50%;padding:0;display:grid;place-items:center}
.b-tile-note{font-size:12px;color:var(--muted);text-align:center;margin-top:-2px}
.b-tile-thread{display:flex;flex-direction:column;gap:10px}
.b-tile-thread:empty{display:none}
.b-tile-a{background:var(--card);border:1px solid var(--card-line);border-radius:12px;border-left:4px solid var(--gold-bd);padding:16px 18px;display:flex;flex-direction:column;gap:10px;min-width:0}
.b-tile-h{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--muted);min-width:0}
.b-tile-h img{width:18px;height:18px;flex:none;border-radius:4px}
.b-tile-h b{color:var(--ink)}
.b-tile-h .q{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.b-tile-x{margin-left:auto;cursor:pointer;font-size:20px;line-height:1;background:transparent;border:0;color:var(--muted);padding:0 4px;flex:none}
.b-tile-x:hover{color:var(--ink)}
.b-tile-a > p{margin:0;font-size:16px;line-height:1.5;white-space:pre-line}
.b-tile-a.busy > p{color:var(--muted)}
.b-tile-a.busy > p.live{color:var(--ink)}
.b-tile-a.none > p:first-of-type{color:var(--muted)}
.b-tile-tbl{overflow-x:auto;border:1px solid var(--line);border-radius:8px}
.b-tile-tbl table{border-collapse:collapse;width:100%;font-size:14px}
.b-tile-tbl th{text-align:left;font-size:13px;font-weight:600;color:var(--label);padding:8px 10px;border-bottom:1px solid var(--line)}
.b-tile-tbl td{padding:7px 10px;border-bottom:1px solid var(--line)}
.b-tile-tbl tr:last-child td{border-bottom:0}
.b-tile-a p.b-tile-warn,.b-tile-thread > p.b-tile-warn{margin:0;font-size:14px;font-weight:600;color:var(--short-fg)}
.b-tile-a p.b-tile-note{margin:0;font-size:14px;color:var(--muted);text-align:left}
.b-tile-chips{display:flex;gap:6px;flex-wrap:wrap}
.b-chip.job{font-family:inherit;font-size:14px}

/* the stage and the job page's controls */
.b-stage{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;white-space:nowrap}
.b-stage.sm{font-size:14px}
.b-stagesel{display:flex;align-items:center;gap:8px;border:1px solid var(--card-line);padding:0 0 0 12px;border-radius:8px;min-height:44px;background:transparent}
.b-stagesel select{border:0;background:transparent;color:var(--ink);font-size:15px;font-weight:700;padding:10px 10px 10px 0;cursor:pointer;min-width:0}
.b-stagesel select:focus{outline:none}
.b-stagesel:focus-within{border-color:var(--gold-bd)}
.b-stagesel.ro{padding:0 12px}
.b-stagesel.ro b{font-size:15px}

/* Jobs: the list and the cards */
.b-jl{display:flex;flex-direction:column}
.b-jl-head,.b-jl-row{display:grid;grid-template-columns:minmax(0,1fr) 170px 130px 90px;gap:12px;align-items:center}
/* item 21: the bid date sits before the stage on a wide screen, and under the job's name on a phone */
.b-jl-head[hidden],.b-jl-row[hidden],.b-jc[hidden]{display:none}
.b-jl-bid{order:1;min-width:0}
.b-jl-head > span:nth-child(2),.b-jl-row > .b-stage{order:2}
.b-jl-head > span:last-child,.b-jl-act{order:3}
.b-due{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--muted);white-space:nowrap}
.b-due .b-ic{width:16px;height:16px;flex:none}
.b-jc .b-due{align-self:flex-start}
.b-due.soon{color:var(--ink);background:var(--acc-16);border:1px solid var(--gold-bd);border-radius:999px;padding:3px 10px 3px 8px}
.b-jobq{width:240px;min-width:0;padding:10px 12px;min-height:44px}
.b-bidsel label{font-size:13px;font-weight:600;color:var(--label);white-space:nowrap}
.b-bidsel input{border:0;background:transparent;color:var(--ink);font:inherit;font-size:15px;font-weight:700;padding:10px 10px 10px 0;min-width:0;cursor:pointer}
.b-bidsel input:focus{outline:none}
.b-bidsel.soon{border-color:var(--gold-bd)}
.b-jl-head{gap:16px;padding:0 4px 10px;font-size:13px;font-weight:600;color:var(--label)}
.b-jl-row{padding:16px 4px;border-top:1px solid var(--line);cursor:pointer}
.b-jl-row:hover{background:var(--hover)}
.b-jl-main{display:flex;gap:16px;align-items:center;min-width:0;text-decoration:none}
body.b a.b-jl-main,body.b a.b-jl-main:hover{color:var(--ink)}
.b-jl-main .b-fold{width:30px;height:30px}
.b-jl-txt{display:flex;flex-direction:column;min-width:0}
.b-jl-txt b{font-size:19px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-jl-txt small{font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-jl-txt small.b-when{font-size:13px;color:var(--label);padding-top:2px}
.b-jl-act{justify-self:end;display:flex;gap:6px}
.b-jl-act .b-btn{color:var(--muted)}
.b-jc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:10px}
.b-jc{background:var(--card);border:1px solid var(--card-line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px;text-decoration:none;min-width:0}
body.b a.b-jc,body.b a.b-jc:hover{color:var(--ink)}
.b-jc:hover{outline:2px solid var(--gold-bd)}
.b-jc-top{display:flex;gap:10px;align-items:center;min-width:0}
.b-jc-top .b-fold{width:26px;height:26px}
.b-jc-top b{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-jc-addr{font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-jc-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}
.b-jc-foot .b-when{font-size:13px;color:var(--label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-jobs:not([data-view="cards"]) .b-jc-grid,.b-jobs[data-view="cards"] .b-jl{display:none}

/* the job page's folders: cards, or a list whose chevron shows what is inside */
.b-folders{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:10px;align-items:start}
.b-fc{background:var(--card);border:1px solid var(--card-line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;cursor:pointer;min-width:0}
.b-fc:hover{outline:2px solid var(--gold-bd)}
.b-fc-h{display:flex;gap:10px;align-items:center;min-width:0}
.b-fc-h .b-fold{width:24px;height:24px}
.b-fc-name{font-size:18px;font-weight:700;flex:1;text-decoration:none;min-width:0}
body.b a.b-fc-name{color:var(--ink)}
.b-fc-chev{display:none}
.b-fc-items{display:flex;flex-direction:column;gap:3px}
.b-fc-row{display:flex;justify-content:space-between;gap:10px;font-size:14px;border-top:1px dashed var(--line);padding-top:4px;text-decoration:none;min-width:0}
body.b a.b-fc-row{color:var(--ink)}
body.b a.b-fc-row:hover{color:var(--gold-link);text-decoration:underline}
.b-fc-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.b-fc-row em{font-style:normal;font-size:13px;color:var(--muted);flex:none}
.b-fc-none{font-size:14px;color:var(--muted);border-top:1px dashed var(--line);padding-top:4px}
.b-folders[data-view="list"]{display:flex;flex-direction:column;align-items:stretch;border-top:1px solid var(--line);gap:0}
.b-folders[data-view="list"] .b-fc{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0;gap:0;cursor:default}
.b-folders[data-view="list"] .b-fc:hover{outline:0}
.b-folders[data-view="list"] .b-fc-h{display:grid;grid-template-columns:28px 32px auto minmax(0,1fr);gap:10px;padding:10px 4px}
.b-folders[data-view="list"] .b-fc-h .b-beta{justify-self:start}
.b-folders[data-view="list"] .b-fc-h .b-fold{width:26px;height:26px}
.b-folders[data-view="list"] .b-fc-name:hover{text-decoration:underline}
.b-folders[data-view="list"] .b-fc-chev{display:block;cursor:pointer;font-size:13px;color:var(--muted);text-align:center;padding:6px 0;border-radius:6px;background:transparent;border:0}
.b-folders[data-view="list"] .b-fc-chev:hover{background:rgba(127,127,127,.12)}
.b-folders[data-view="list"] .b-fc-items{display:none;margin:0 0 10px 46px;gap:0}
.b-folders[data-view="list"] .b-fc.open .b-fc-items{display:flex}
.b-folders[data-view="list"] .b-fc-row{border-top:0;padding:9px 16px;font-size:15px;border-radius:8px}
.b-folders[data-view="list"] .b-fc-row:hover{background:var(--hover);text-decoration:none}
.b-folders[data-view="list"] .b-fc-none{border-top:0;padding:9px 16px}

/* uploads */
.b-up{background:var(--card);border:1px solid var(--card-line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.b-up-bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden}
.b-up-bar i{display:block;height:100%;width:0;background:var(--gold-bd);transition:width .2s}
.b-up.bad .b-up-bar i{background:var(--red);width:100%}
.b-up.bad .b-up-txt{color:var(--short-fg)}
.b-up-txt{font-size:15px;font-weight:600}
.b-up-log{margin:0;padding:0 0 0 18px;font-size:14px;color:var(--muted);display:flex;flex-direction:column;gap:2px}
.b-up-log:empty{display:none}
.b-veil{position:fixed;inset:0;background:var(--scrim);display:none;place-items:center;z-index:80;pointer-events:none}
.b-veil.on{display:grid}
.b-veil div{background:var(--card);color:var(--head1);border:2px dashed var(--gold-bd);border-radius:14px;padding:40px 56px;font-size:22px;font-weight:700;text-align:center;max-width:80vw}

/* a plain list of files */
.b-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.b-lrow{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line)}
.b-lrow > .b-ic{width:22px;height:22px;color:var(--folder)}
.b-lrow-main{display:flex;flex-direction:column;min-width:0;gap:2px}
.b-lrow-main a{text-decoration:none;min-width:0}
.b-lrow-main b{font-size:17px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-lrow-main small{font-size:13px;color:var(--muted)}
.b-lrow-act{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.b-lrow-act form{margin:0}
.b-cmpfoot{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;margin-top:14px;padding:14px 18px;border:1px dashed var(--card-line);border-radius:12px;color:var(--muted);font-size:15px}

@media (max-width:699px){
  .b-tile-bar{gap:8px;padding:6px 6px 6px 8px}
  .b-tile:not(.round) .b-beta{display:none}
  .b-jl-head,.b-jl-row{grid-template-columns:minmax(0,1fr) auto}
  .b-jl-head span:last-child,.b-jl-head .b-jl-bid,.b-jl-bid:empty{display:none}
  .b-jl-bid,.b-jl-act,.b-jl-head > span:nth-child(2),.b-jl-row > .b-stage{order:0}
  .b-jl-bid{grid-column:1 / -1;padding-left:46px;margin-top:-6px}
  .b-jl-act{grid-column:1 / -1;justify-self:start}
  .b-jobq{flex:1 1 160px;width:auto}
  .b-jobctl .b-bidsel{flex:1 1 100%}
  .b-jobctl{width:100%}
  .b-jobctl .b-stagesel,.b-jobctl [data-upload]{flex:1 1 0}
  .b-jobctl .b-seg{order:3}
  .b-lrow{grid-template-columns:24px minmax(0,1fr)}
  .b-lrow-act{grid-column:2;justify-content:flex-start}
}

/* ── phase 3: the plan review and the Plans viewer ───────────────────────────────────────────────────────── */
body.b-full .b-scroll{overflow:hidden}
.b-rv{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr) var(--rv-w,clamp(360px,34vw,500px));background:var(--bg)}
.b-rv.plans{grid-template-columns:minmax(0,1fr)}
.b-rv-view{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;background:var(--canvas);position:relative}
.b-vbar{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--bg);flex-wrap:wrap;min-width:0}
.b-rv.plans .b-vbar{padding:8px 16px}
.b-vbar-l{display:flex;align-items:center;gap:10px 14px;min-width:0;flex:1 1 240px;overflow:hidden}
.b-vbar-r{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.b-code{font-family:var(--mono);font-size:18px;color:var(--gold-link);white-space:nowrap}
.b-rv.plans .b-code{font-size:20px}
html[data-theme="dark"] .b-code{color:var(--gold)}
.b-vtitle{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.b-rv.plans .b-vtitle{font-size:17px}
.b-sheetsel{display:none;font-size:15px;font-weight:600;padding:8px;border:1px solid var(--card-line);border-radius:8px;background:var(--card);color:var(--ink);max-width:46vw}
.b-vbtn{background:var(--card);border:1px solid var(--card-line);color:var(--ink);font-size:15px;font-weight:700;padding:7px 12px;border-radius:8px;cursor:pointer;line-height:1.1}
.b-vbtn:hover{border-color:var(--gold-bd)}
.b-stepper,.b-zoom{display:flex;gap:6px;align-items:center}
.b-zoom{gap:4px;margin-right:6px}
.b-pos{font-size:14px;color:var(--muted);min-width:54px;text-align:center}
.b-pct{color:var(--muted);font-family:var(--mono);font-size:13px;width:48px;text-align:center}
.b-iconbtn.sm{width:38px;height:36px;border-radius:8px}
.b-iconbtn.sm .b-ic,.b-iconbtn.gold.sm .b-ic{width:18px;height:18px}
.b-vbody{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;min-width:0}
.b-rv.plans .b-vbody{grid-template-columns:clamp(84px,9vw,130px) minmax(0,1fr) var(--take-w,320px)}

/* the sheet */
.b-stagewrap{position:relative;min-height:0;min-width:0;overflow:hidden}
.b-vstage{position:absolute;inset:0;overflow:auto;padding:24px;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;cursor:grab}
.b-vstage.dragging{cursor:grabbing}
.b-sheet{position:relative;width:100%;margin:0 auto;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.b-sheet img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.b-sheet img:not([src]){height:62vh}
.b-rooms,.b-tags{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.b-rooms polygon{fill-opacity:.2;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round;pointer-events:visiblePainted}
.b-rooms .hi polygon{fill-opacity:.42;stroke-width:3.5}
.b-rooms text{fill:#0f1b33;font-family:inherit;font-weight:700;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:.22em;stroke-linejoin:round;pointer-events:none}
.b-tagpt{fill:transparent;stroke:transparent;stroke-width:3;vector-effect:non-scaling-stroke;pointer-events:all;cursor:help}
.b-tagpt:hover{fill:var(--acc-28);stroke:var(--gold-bd)}
.b-marks{position:absolute;inset:0;pointer-events:none}
.b-mark{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid #fff;transform:rotate(45deg);box-shadow:0 1px 3px rgba(0,0,0,.4);pointer-events:auto;cursor:help;transition:opacity .15s}
.b-mark.dim{opacity:.15}
.b-tagcard{position:absolute;z-index:6;background:var(--card);color:var(--ink);border:1px solid var(--card-line);border-radius:10px;padding:8px 12px;box-shadow:0 12px 30px rgba(0,0,0,.2);font-size:13px;max-width:280px;pointer-events:none}
.b-tagcard b{font-size:15px;color:var(--head1)}
.b-tagcard p{margin:3px 0 4px}
.b-tagcard small{color:var(--muted)}
.b-pill{position:absolute;top:10px;right:14px;z-index:5;display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end;pointer-events:none}
.b-pill > *{pointer-events:auto}        /* the gaps between its buttons let a tap through to the sheet under them */
.b-pill-z,.b-pill-t{display:flex;align-items:center;background:var(--pill-bg);color:#fff;border-radius:10px;font-size:13px;font-weight:700}
.b-pill-z button{background:transparent;border:0;color:#fff;font-weight:700;font-size:14px;padding:8px 10px;cursor:pointer;min-height:36px}
.b-pill-t{border:0;cursor:pointer;min-height:36px;padding:8px 12px;font-size:14px}
.b-pill-z span{font-family:var(--mono);font-size:13px;min-width:44px;text-align:center}
html[data-theme="dark"] .b-pill-z,html[data-theme="dark"] .b-pill-t{box-shadow:0 0 0 1px rgba(255,255,255,.16)}
.b-rv.plans .b-pill-z{display:none}             /* the toolbar zooms here; the row keeps Mark up */
.b-vhint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--card);color:var(--muted);border:1px solid var(--card-line);border-radius:10px;padding:10px 16px;font-weight:600;z-index:4;max-width:80%;text-align:center}
.b-scan{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}
.b-scan .beam{position:absolute;top:0;bottom:0;width:110px;left:-110px;background:linear-gradient(90deg,transparent,var(--acc-12) 70%,var(--acc-35) 96%,var(--beam));animation:bSweep 1.6s cubic-bezier(.45,.05,.55,.95) infinite}
@keyframes bSweep{to{left:100%}}

/* Plans: the thumbnails and the Takeoff panel */
.b-strip{background:var(--side);border-right:1px solid var(--line);padding:12px 10px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;min-height:0}
.b-thumb{display:flex;flex-direction:column;gap:5px;cursor:pointer;background:transparent;border:0;padding:0;text-align:left;color:var(--muted)}
.b-thumb-img{height:70px;background:#fff;opacity:.65;outline-offset:2px;overflow:hidden;display:grid;place-items:center}
.b-thumb-img img{width:100%;height:100%;object-fit:cover;object-position:top left}
.b-thumb-img em{font-style:normal;font-family:var(--mono);font-size:12px;color:#6b7280}
.b-thumb:hover .b-thumb-img{opacity:.9}
.b-thumb.on .b-thumb-img{opacity:1;outline:2px solid var(--gold-bd)}
.b-thumb-cap{font-family:var(--mono);font-size:12px;display:flex;justify-content:space-between;gap:4px}
.b-thumb.on .b-thumb-cap{color:var(--gold-link)}
.b-take{position:relative;background:var(--bg);color:var(--ink);display:flex;flex-direction:column;padding:22px;gap:12px;overflow-y:auto;min-width:0;min-height:0;border-left:1px solid var(--line)}
.b-take-rs{position:absolute;top:0;left:0;bottom:0;width:8px;cursor:col-resize;background:rgba(127,127,127,.08);z-index:4}
.b-panel-rs{position:absolute;top:0;left:-4px;bottom:0;width:8px;cursor:col-resize;z-index:6}
.b-panel-rs:hover{background:var(--acc-35)}
.b-take-rs:hover{background:var(--acc-45)}
.b-take-h{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px}
.b-take-h b{font-size:20px;font-weight:700;color:var(--head1)}
.b-take-hint{font-size:14px;color:var(--muted);margin:0 0 4px;line-height:1.45}
.b-take-body{display:flex;flex-direction:column;gap:8px}
.b-trows{display:flex;flex-direction:column}
.b-trow{display:grid;grid-template-columns:14px 40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 8px;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer;text-align:left;color:var(--ink);width:100%}
.b-trow:hover{background:var(--hover)}
.b-trow > i{width:11px;height:11px;transform:rotate(45deg)}
.b-trow > b.mono{font-size:15px}
.b-trow > span{display:flex;flex-direction:column;min-width:0}
.b-trow .l{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-trow small{font-size:12px;color:var(--muted)}
.b-trow .n{font-size:24px;color:var(--head1)}
.b-trow.zero .n{color:var(--label)}
.b-trow.on{background:var(--acc-16);outline:2px solid var(--gold-bd);outline-offset:-2px}
.b-trow.bad .l{color:var(--short-fg)}
.b-trow.flat{cursor:default}
.b-trow.flat > b{font-size:15px}
.b-trow.flat .n{font-size:20px}
.b-take-also{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.b-take-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:10px}
.b-take-foot .b-field select{font-size:14px;padding:9px}
.b-take-row{display:flex;gap:8px;flex-wrap:wrap}
.b-take-row form{margin:0}

/* the review panel */
/* a column: the search box and its answer when there are any, the body taking the room that is left, the foot. (As a
   grid of two rows the search box fell in the body's row and was squashed to nothing over the heading.) */
.b-panel{position:relative;border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--bg)}
.b-panel > .b-sfind,.b-panel > .b-find-res,.b-panel > .b-panel-foot{flex:none}
.b-panel-body{flex:1 1 0;min-height:0;overflow-y:auto;padding:22px 22px 10px;display:flex;flex-direction:column;gap:16px;min-width:0}
.b-panel-foot{padding:12px 22px 16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;min-width:0}
.b-panel-foot:not(:has(> :not([hidden]))){display:none}
.b-panel-foot .b-tile-thread{max-height:32vh;overflow-y:auto}
.b-panel-foot .b-tile-a{padding:10px 12px;gap:8px}
.b-panel-foot .b-tile-a > p{font-size:14px;line-height:1.45}
.b-rv-head{display:flex;flex-direction:column;gap:4px}
.b-rv-k{font-size:14px;font-weight:600;color:var(--muted)}
.b-rv-f{font-size:20px;line-height:1.25;word-break:break-word}
.b-rv-m{font-size:14px;color:var(--muted)}
.b-rv-other{display:flex;flex-direction:column;gap:4px;margin-top:8px}
.b-rv-other select{max-width:100%}
.b-rv-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.b-rv-acts form{margin:0}
.b-rv-note{border:1px solid var(--card-line);border-left:4px solid var(--gold-bd);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;background:var(--card)}
.b-rv-note.bad{border-left-color:var(--red)}
.b-rv-note b{font-size:15px}
.b-rv-note span{font-size:14px;color:var(--muted);line-height:1.45}
.b-stiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.b-stile{background:var(--card);border:1px solid var(--card-line);border-radius:12px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;text-align:center;color:var(--ink)}
.b-stile:hover{border-color:var(--gold-bd)}
.b-stile.on{border-color:var(--gold-bd);background:var(--acc-12)}
.b-stile b{font-size:26px;line-height:1.1}
.b-stile span{font-size:12px;font-weight:600;color:var(--muted);line-height:1.2}
.b-secs{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.b-sec{border-bottom:1px solid var(--line)}
.b-sec-h{display:flex;align-items:center;gap:4px}
.b-sec-t{flex:1;display:grid;grid-template-columns:18px 26px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 4px;background:transparent;border:0;cursor:pointer;text-align:left;color:var(--ink);min-width:0}
.b-sec-t:hover{background:rgba(127,127,127,.06)}
.b-sec-chev{font-size:12px;color:var(--muted)}
.b-fold.gold{width:22px;height:22px;fill:var(--gold-fold);stroke:var(--gold-bd)}
.b-sec-t b{font-size:19px}
.b-sec-n{font-size:15px;color:var(--muted)}
.b-sec-wide{width:32px;height:32px;display:grid;place-items:center;background:transparent;border:0;color:var(--muted);border-radius:8px;cursor:pointer;flex:none}
.b-sec-wide:hover{color:var(--ink);background:rgba(127,127,127,.1)}
.b-sec-wide .b-ic{width:16px;height:16px}
.b-sec-in{display:none;padding:4px 0 12px 28px;min-width:0}
.b-sec.open > .b-sec-in{display:block}
.b-filter{font-size:14px;color:var(--muted);margin:4px 8px}
.b-linkbtn{background:none;border:0;color:var(--gold-link);font-weight:700;cursor:pointer;padding:0 4px;font-size:14px}
.b-fgroup-t{display:block;font-size:13px;font-weight:700;color:var(--muted);padding:10px 8px 4px}
.b-fgroup-t.bad{color:var(--short-fg)}
.b-find{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:10px;cursor:pointer}
.b-find:hover{background:rgba(127,127,127,.07)}
.b-find.on{background:var(--acc-16);box-shadow:inset 3px 0 0 var(--gold-bd)}
.b-find-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.b-find .b-chip,.b-notes .b-chip{padding:2px 6px}
.b-kind{display:flex;gap:6px;align-items:center;font-size:13px;font-weight:700}
.b-kind i{width:9px;height:9px;border-radius:2px;flex:none}
.b-find-act{margin-left:auto;display:flex;gap:6px;align-items:center}
.b-find-t{font-size:15px;line-height:1.35}
.b-find-d{font-size:15px;line-height:1.4}
.b-find-ref{font-size:13px;color:var(--muted)}
.b-flag{display:inline-flex;gap:4px;align-items:center;font-size:12px;font-weight:700;padding:4px 8px;border-radius:7px;border:1px solid var(--card-line);background:transparent;color:var(--muted);cursor:pointer;white-space:nowrap}
.b-flag .b-ic{width:14px;height:14px}
.b-frfi{display:inline-flex;align-items:center;font:inherit;font-size:12px;font-weight:700;padding:4px 8px;border-radius:7px;border:1px solid var(--card-line);background:transparent;color:var(--ink);cursor:pointer;white-space:nowrap;text-decoration:none}
.b-frfi:hover{border-color:var(--gold-bd)}
body.b a.b-frfi.on,.b-frfi.on{background:var(--active-bg);color:var(--active-fg);border-color:transparent}
.b-flag:hover{border-color:var(--gold-bd);color:var(--ink)}
.b-flag.on{border-color:var(--gold-bd);background:var(--acc-16);color:var(--ink)}
.b-flag:disabled{cursor:default}
.b-crows{display:flex;flex-direction:column;margin-bottom:6px}
.b-crow{display:grid;grid-template-columns:12px 40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px;border-bottom:1px solid var(--line)}
.b-crow > i{width:10px;height:10px;transform:rotate(45deg)}
.b-crow > b.mono{font-size:14px}
.b-crow > span{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-crow .n{font-size:17px}
.b-crow.bad > span{color:var(--short-fg)}
details.b-subfold{border-bottom:1px solid var(--line)}
details.b-subfold > summary{display:flex;gap:8px;align-items:center;padding:10px 8px;font-size:15px;font-weight:600;cursor:pointer;list-style:none;border-radius:8px}
details.b-subfold > summary::-webkit-details-marker{display:none}
details.b-subfold > summary::before{content:'▸';font-size:11px;color:var(--muted);width:12px}
details.b-subfold[open] > summary::before{content:'▾'}
details.b-subfold > summary:hover{background:rgba(127,127,127,.06)}
details.b-subfold > summary em{margin-left:auto;font-style:normal;font-weight:500;font-size:14px;color:var(--muted)}
.b-subfold-in{padding:2px 0 12px 20px;min-width:0}
.b-tbl-wrap{overflow-x:auto;margin:4px 0 8px;border:1px solid var(--line);border-radius:8px;background:var(--card)}
.b-tbl{border-collapse:collapse;width:100%;font-size:13px}
.b-tbl th{text-align:left;font-size:12px;font-weight:600;color:var(--label);padding:7px 8px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:bottom}
.b-tbl td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.b-tbl tr:last-child td{border-bottom:0}
.b-tbl .num{text-align:right;font-family:var(--mono);white-space:nowrap}
.b-tbl td.t{font-weight:700;white-space:nowrap}
.b-tbl td.d{color:var(--muted)}
.b-tbl tr.tot td{font-weight:700;background:rgba(127,127,127,.06)}
.b-tbl .bad{color:var(--short-fg);font-weight:700}
.b-tbl .sw{display:inline-block;width:9px;height:9px;margin-right:7px;transform:rotate(45deg)}
.b-tbl .rsw{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:2px}
.b-tbl .soft,.b-tbl td.t .soft{font-weight:400;color:var(--muted)}
.b-tbl tr.room-row{cursor:pointer}
.b-tbl tr.room-row:hover td{background:var(--acc-10)}
.b-tbl tr.face-row{cursor:pointer}
.b-tbl tr.face-row:hover td{background:var(--acc-10)}
.b-tbl .warn{color:var(--over-fg);font-weight:700}
.b-tbl td .b-btn.sm{padding:6px 10px;font-size:13px}
/* a number typed over by hand (pipeline/edits.py): a dashed underline says it can be, BY HAND says it was */
.b-edc{font:inherit;color:inherit;background:transparent;border:0;border-bottom:1px dashed var(--card-line);padding:0 2px;margin:0;cursor:pointer;border-radius:2px;text-align:inherit}
.b-edc:hover,.b-edc:focus-visible{border-bottom-color:var(--gold-bd);background:var(--sel);outline:none}
.b-edc.on{border-bottom:1px solid var(--gold-bd)}
/* item 19: a number checked as looking right carries a green tick; the box a tapped number opens */
.b-ckm{font-style:normal;font-weight:800;color:var(--green);margin-left:4px;font-size:.9em}
.b-num-act{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.b-num-act .b-btn{flex:1 1 150px}
#bNumV{color:var(--muted);line-height:1.5}
.b-edm{display:block;white-space:nowrap;font-style:normal;font-family:inherit;font-size:10px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--gold-link)}
html[data-theme="dark"] .b-edm{color:var(--gold)}
.b-x{border:0;background:none;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:6px;min-width:32px;min-height:32px}
.b-x:hover{color:var(--red);background:var(--hover)}
.b-tbl td .b-x{margin:-7px -4px -7px 0;vertical-align:top}
html[data-theme="dark"] .b-tbl .rsw{box-shadow:0 0 0 1px rgba(255,255,255,.4)}
.b-eyebrow{font-size:13px;font-weight:700;color:var(--label);margin:12px 0 4px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.b-quiet{font-size:14px;color:var(--muted);margin:6px 0;line-height:1.45}
.b-quiet.gold{border-left:3px solid var(--gold-bd);padding-left:10px}
.b-warnline{font-size:14px;font-weight:700;color:var(--short-fg);border-left:3px solid var(--red);padding-left:10px;margin:6px 0;line-height:1.4}
.b-dash{color:var(--card-line)}
.b-tag{display:inline-block;font-size:12px;font-weight:600;border:1px solid var(--card-line);border-radius:6px;padding:2px 7px;white-space:nowrap}
.b-tag.ok{color:var(--green);border-color:rgba(47,157,106,.4)}
.b-tag.soft{color:var(--muted)}
.b-sgroup{display:flex;flex-direction:column;padding-bottom:6px}
.b-srow{display:flex;gap:12px;padding:9px 8px;border-radius:8px;cursor:pointer;font-size:15px;background:transparent;border:0;text-align:left;color:var(--ink);width:100%;align-items:baseline}
.b-srow:hover{background:rgba(127,127,127,.07)}
.b-srow b{font-size:13px;min-width:48px}
.b-srow span{flex:1;min-width:0}
.b-srow i{font-style:normal;font-size:12px;color:var(--muted);white-space:nowrap}
.b-srow i.ok{color:var(--green)}
.b-srow.on{background:var(--sel)}
.b-srow.miss{cursor:default;color:var(--muted)}
.b-notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.b-notes li{display:flex;flex-direction:column;gap:2px;padding:9px 8px;border-radius:8px;font-size:15px;line-height:1.4}
.b-notes li[data-sheet]{cursor:pointer}
.b-notes li:hover{background:rgba(127,127,127,.07)}
.b-notes li > b{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--muted)}
.b-notes li .b-flag{align-self:flex-start;margin-top:4px}
.b-runlog{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.b-runlog li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;align-items:baseline;font-size:14px}
.b-runlog .dot{color:var(--green);font-weight:700}
.b-runlog li.doing .dot{width:12px;height:12px;border:2px solid var(--gold-bd);border-right-color:transparent;border-radius:50%;animation:bSpin .8s linear infinite;align-self:center}
.b-runlog .m{color:var(--muted);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
@keyframes bSpin{to{transform:rotate(360deg)}}
.b-rv-err{display:flex;flex-direction:column;gap:6px}
.b-rv-err b{font-size:17px}
.b-rv-err span{color:var(--muted);font-size:14px}
.b-rv-err pre{font-family:var(--mono);font-size:12px;background:var(--card);border:1px solid var(--card-line);border-radius:8px;padding:10px;white-space:pre-wrap;max-height:40vh;overflow:auto;margin:0}

/* the reading view: a section opened wide over the sheet */
.b-reader{position:absolute;inset:0;z-index:8;background:var(--bg);display:grid;grid-template-rows:auto minmax(0,1fr)}
.b-rd-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.b-rd-path{flex:1;font-size:19px;min-width:120px}
.b-rd-bar .b-input{width:220px;padding:8px 10px;font-size:15px}
.b-rd-n{font-size:13px;color:var(--muted)}
.b-rd-body{overflow:auto;padding:16px 24px 40px}
.b-rd-body > .b-sec-in{display:block;padding:0;max-width:1100px}
.b-rd-body .b-tbl{font-size:14px}

@media (max-width:1099px){
  .b-rv{grid-template-columns:minmax(0,1fr) 360px}
  .b-rv.plans .b-vbody{grid-template-columns:clamp(84px,9vw,130px) minmax(0,1fr) 280px}
  .b-take-rs{display:none}
  .b-rv.plans .b-pill-z{display:flex}             /* the toolbar's zoom is wide only: below it the floating pill zooms */
}
@media (max-width:899px){
  .b-rv{grid-template-columns:minmax(0,1fr) 320px}
  .b-rv.plans .b-vbody{grid-template-columns:minmax(0,1fr) 280px}
  .b-strip{display:none}
  .b-rv.plans .b-sheetsel{display:block}
  .b-rv.plans .b-vtitle{display:none}
}
@media (max-width:699px){
  .b-rv{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,58%) minmax(0,1fr)}          /* the drawing gets the larger share of a phone (Oct 8; it had 44%, a fifth of the screen once the bars took theirs) */
  .b-rv.plans{grid-template-rows:minmax(0,1fr)}
  .b-vbar{padding:8px 12px}
  .b-panel{border-left:0;border-top:1px solid var(--line)}
  .b-panel-body{padding:16px}
  .b-panel-foot{padding:10px 16px 12px}
  .b-rv.plans .b-vbody{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}
  .b-take{max-height:46vh;padding:14px 16px;border-left:0;border-top:1px solid var(--line)}
  .b-vstage{padding:10px}
  .b-sec-wide{display:none}
  .b-stiles{gap:6px}
  .b-stile b{font-size:22px}
}

/* ── Sub bids (?f=bids): trades as folders, one row a bid ─────────────────────────────────────────────── */
.b-bids{display:flex;flex-direction:column;gap:4px}
.b-bgrp > summary{list-style:none;display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line);cursor:pointer;flex-wrap:wrap}
.b-bgrp > summary::-webkit-details-marker{display:none}
.b-bgrp-chev{width:14px;font-size:12px;color:var(--muted);flex:none}
.b-bgrp-chev::before{content:'▸'}
.b-bgrp[open] .b-bgrp-chev::before{content:'▾'}
.b-bgrp > summary .b-fold{width:24px;height:24px}
.b-bgrp-t{font-size:20px;font-weight:700;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-bgrp-n{font-size:14px;color:var(--muted)}
.b-bgrp-in{margin-left:30px}
.b-bid{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,150px) minmax(100px,130px) 60px;gap:16px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line)}
.b-bid.ed{grid-template-columns:minmax(0,1fr) minmax(90px,150px) minmax(100px,130px) 60px auto}
.b-bid-who{display:flex;flex-direction:column;min-width:0}
.b-bid-who a{text-decoration:none;min-width:0}
.b-bid-who b{font-size:17px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-bid-who small{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-bst{display:flex;gap:8px;align-items:center;font-size:14px;font-weight:700;min-width:0}
.b-bst i{width:10px;height:10px;flex:none;background:var(--grey)}
.b-bst[data-state=ok] i{background:var(--green)}
.b-bst[data-state=flag] i{background:var(--gold-bd)}
.b-bst[data-state=bad]{color:var(--short-fg)}
.b-bst[data-state=bad] i{background:var(--red)}
.b-bst[data-state=reading] i{animation:bBlink 1.2s ease-in-out infinite}
@keyframes bBlink{50%{opacity:.25}}
.b-bid-tot{font-family:var(--mono);font-size:17px;text-align:right;white-space:nowrap}
.b-bid-pdf{justify-self:center}
.b-bid-act{display:flex;gap:4px;align-items:center}
.b-bid-act form{margin:0}
.b-tradein{width:150px;font:inherit;font-size:14px;padding:7px 9px;border:1.5px solid transparent;border-bottom:1.5px dashed var(--card-line);border-radius:0;background:transparent;color:var(--muted)}
.b-tradein:hover,.b-tradein:placeholder-shown{border:1.5px solid var(--card-line);border-radius:8px}
.b-tradein:focus{outline:none;border:1.5px solid var(--gold-bd);border-radius:8px;color:var(--ink);background:var(--card)}

/* ── Bid leveling (level.html): the trades as tabs, the bidders across the top, a card a line on a phone ── */
.b-lvhead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 24px;flex-wrap:wrap;padding-bottom:4px}
.b-lvtabs{display:flex;gap:6px 18px;align-items:flex-end;flex-wrap:wrap;min-width:0}
.b-lvtab{margin:0;font-size:20px;font-weight:700;letter-spacing:-.5px;line-height:1;text-decoration:none}
body.b a.b-lvtab{color:var(--label)}
body.b a.b-lvtab:hover{color:var(--head1)}
.b-lvtab.on{font-size:32px;color:var(--head1)}
.b-lvctl{display:flex;gap:14px 24px;align-items:flex-end;flex-wrap:wrap}
.b-lvdiff{display:flex;gap:8px;align-items:center;font-size:14px;font-weight:600;cursor:pointer}
.b-lvdiff input{width:18px;height:18px;accent-color:var(--gold-bd);margin:0}
.b-lvspread{display:flex;flex-direction:column;align-items:flex-end}
.b-lvspread span{font-size:13px;font-weight:600;color:var(--label)}
.b-lvspread b{font-size:20px}
.b-lvt-wrap{background:var(--card);border:1px solid var(--card-line);border-radius:12px;overflow-x:auto}
.b-lvt{border-collapse:collapse;width:100%;min-width:720px;font-size:16px}
.b-lvt th{font-size:13px;font-weight:600;color:var(--label);text-align:right;vertical-align:bottom;padding:14px 10px;border-bottom:1px solid var(--card-line)}
.b-lvt td{border-bottom:1px solid var(--line);padding:13px 10px;vertical-align:middle}
.b-lvt tbody tr:last-child td{border-bottom:0}
.b-lvt .it{text-align:left;padding-left:18px;min-width:220px;position:sticky;left:0;background:var(--card);z-index:1}
.b-lvt .itw{display:flex;gap:12px;align-items:baseline;max-width:420px}
.b-lvt .itw .ty{font-size:14px;color:var(--head1);min-width:34px;flex:none}
.b-lvt .itw .ty:empty{display:none}
.b-lvt .itw .lb{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.b-lvt td.pl{text-align:right;font-weight:700;white-space:nowrap}
.b-lvt td.pl small{font-family:inherit;font-weight:500;font-size:13px;color:var(--muted)}
.b-lvt th.b-lvh{min-width:190px;padding:12px 16px;color:var(--ink)}
.b-lvh .tag{display:block;font-size:12px;font-weight:700}
.b-lvh .nm{display:block;font-size:16px;font-weight:700}
.b-lvh .tot{display:block;font-size:20px}
.b-lvh small{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-top:2px}
.b-lvt th.b-lvh.low,.b-lvchip.low{background:var(--low-bg);color:var(--low-fg)}
.b-lvh.low small,.b-lvchip.low small{color:inherit;opacity:.75}
.b-lvt td.b-c{text-align:right;padding:13px 16px;border-left:1px solid var(--line)}
.b-c .q{display:block;font-family:var(--mono);font-weight:700}
.b-c small{display:block;font-size:13px}
.b-c small.t{font-size:12px;color:var(--muted)}
.b-lvt td.b-c.short,.b-lvc-r.short{background:var(--short-bg);color:var(--short-fg);border-left:3px solid #b91c1c}
.b-lvt td.b-c.over,.b-lvc-r.over{background:var(--over-bg);color:var(--over-fg);border-left:3px solid #C9A22E}
.b-c.short small.t,.b-c.over small.t{color:inherit;opacity:.8}
.b-c.ls .q,.b-c.none .q{font-family:inherit;font-weight:500;color:var(--muted)}
.b-lvt.sm{font-size:14px}
.b-lvt.sm th.b-lvh{padding:12px 16px}
.b-lvt tr.tot td{font-weight:700;background:rgba(127,127,127,.06)}
.b-lvt tr.tot td.it{background:var(--card)}
.b-lvflag{margin-top:4px;border:1px solid var(--gold-bd);background:transparent;color:inherit;font:inherit;font-size:12px;font-weight:700;padding:2px 6px;border-radius:6px;cursor:pointer}
body.b-lvonly [data-same]{display:none}
.b-lvsame{display:none}
body.b-lvonly .b-lvsame{display:block}
.b-lvleg{display:flex;gap:20px;font-size:14px;color:var(--muted);flex-wrap:wrap}
.b-lvleg span{display:flex;gap:8px;align-items:center}
.b-lvleg i{width:12px;height:12px}
.b-lvleg i.short{background:var(--short-bg);border-left:3px solid #b91c1c}
.b-lvleg i.over{background:var(--over-bg);border-left:3px solid #C9A22E}
.b-lvchips{display:none;gap:8px;overflow-x:auto;padding-bottom:2px}
.b-lvchips.always{display:flex}
.b-lvchip{flex:none;border:1px solid var(--card-line);border-radius:10px;padding:8px 12px;display:flex;flex-direction:column;gap:1px;max-width:260px}
.b-lvchip .tag{font-size:12px;font-weight:700}
.b-lvchip b{font-size:14px}
.b-lvchip .tot{font-size:17px}
.b-lvchip small{font-size:12px;color:var(--muted)}
.b-lvcards{display:none;flex-direction:column;gap:10px}
.b-lvc{background:var(--card);border:1px solid var(--card-line);border-radius:12px;overflow:hidden}
.b-lvc-h{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}
.b-lvc-h > div{display:flex;gap:10px;align-items:center;min-width:0}
.b-lvc-h .ty{font-size:14px;color:var(--head1)}
.b-lvc-h .lb{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-lvc-h > span{font-size:13px;color:var(--muted);flex:none}
.b-lvc-h > span b{color:var(--ink);font-size:15px}
.b-lvc-r{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:8px 14px;border-left:3px solid transparent}
.b-lvc-r + .b-lvc-r{border-top:1px solid var(--line)}
.b-lvc-r .vn{font-size:15px;font-weight:600;min-width:0}
.b-lvc-r .cb{display:flex;flex-direction:column;align-items:flex-end;text-align:right;flex:none}
.b-lvc-r .q{font-size:15px}
.b-lvc-r small{font-size:12px}
.b-lvsec{display:flex;flex-direction:column;gap:8px}
.b-lvh2{margin:0;font-size:20px;font-weight:700;letter-spacing:-.2px;color:var(--head1)}
.b-lvsec .b-quiet,.b-lvcard .b-quiet{margin:0}
.b-lvfolds{border-top:1px solid var(--line)}
.b-lvfolds .b-quiet{margin:4px 8px 8px}
.b-lvlist{margin:4px 0 12px;padding-left:34px;line-height:1.6}
.b-lvgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:18px;align-items:start}
.b-lvcard{background:var(--card);border:1px solid var(--card-line);border-radius:12px;padding:18px 20px;display:flex;flex-direction:column;gap:10px;min-width:0}
.b-lvfl ul{margin:4px 0 6px;padding-left:20px;line-height:1.5}
.b-lvfile{display:flex;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.b-lvfile:last-child{border-bottom:0}
.b-lvfile .b-lrow-main{flex:1}
.b-lvfile form{margin:0}
.b-lvfx{margin:0;padding-left:20px;line-height:1.5}
.b-lvfw{margin:0 0 8px;font-weight:700}

@media (max-width:699px){
  .b-bgrp > summary{gap:4px 10px}
  .b-bgrp-n{order:5;flex-basis:100%;padding-left:48px}
  .b-bgrp-in{margin-left:0}
  .b-bid,.b-bid.ed{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 4px}
  .b-bst{grid-row:2;grid-column:1}
  .b-bid-pdf,body.b a.b-chip.b-bid-pdf{display:none}        /* the second selector outweighs the download button's own display */
  .b-bid-act{grid-column:1 / -1}
  .b-tradein{flex:1;width:auto}
  .b-lvtab{font-size:17px}
  .b-lvtab.on{font-size:26px}
  .b-lvchips{display:flex}
  .b-lvt-wrap.main{display:none}
  .b-lvcards{display:flex}
}

/* ── RFIs (rfis.html): the log beside the editor ───────────────────────────────────────────────────────── */
.b-rfic{border:1px solid var(--card-line);border-radius:12px;background:var(--card)}
.b-rfic > summary{list-style:none;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;padding:12px 16px;cursor:pointer}
.b-rfic > summary::-webkit-details-marker{display:none}
.b-rfic > summary::before{content:'▸';font-size:11px;color:var(--muted);width:10px}
.b-rfic[open] > summary::before{content:'▾'}
.b-rfic > summary span{font-size:14px;color:var(--muted);min-width:0}
.b-rfic-f{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;padding:0 16px 16px}
.b-rfi{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:24px;align-items:start}
.b-rfilog{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.b-rfir{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 10px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
body.b a.b-rfir{color:var(--ink)}
.b-rfir:hover{background:var(--hover)}
.b-rfir.on{background:var(--sel);box-shadow:inset 3px 0 0 var(--gold-bd)}
.b-rfir-n{font-family:var(--mono);font-size:15px;color:var(--gold-bd)}
.b-rfir-m{display:flex;flex-direction:column;min-width:0}
.b-rfir-m b{font-size:16px;line-height:1.3;text-wrap:pretty}
.b-rfir-m small{font-size:13px;color:var(--muted)}
.b-rst{display:flex;gap:6px;align-items:center;font-size:13px;font-weight:700;white-space:nowrap}
.b-rst i{width:9px;height:9px;flex:none;background:#C9A22E}
.b-rst[data-st=sent] i{background:#4b7ab0}
.b-rst[data-st=answered] i{background:#2f9d6a}
.b-rst[data-st=closed] i{background:#6b7280}
.b-rfied{background:var(--card);border:1px solid var(--card-line);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:14px;min-width:0;scroll-margin-top:12px}
.b-rfied[hidden]{display:none}
.b-rfied-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.b-rfin{font-family:var(--mono);font-size:14px;color:var(--gold-bd)}
.b-rfist{margin-left:auto;font-size:14px;font-weight:700;padding:7px 10px;border:1px solid var(--card-line);border-radius:8px;background:transparent;color:var(--ink);border-left:4px solid #C9A22E}
.b-rfist[data-st=sent]{border-left-color:#4b7ab0}
.b-rfist[data-st=answered]{border-left-color:#2f9d6a}
.b-rfist[data-st=closed]{border-left-color:#6b7280}
.b-rfit{font:inherit;font-size:24px;font-weight:800;border:0;border-bottom:1px dashed var(--line);background:transparent;color:var(--head1);padding:4px 0;outline:none;width:100%;min-width:0}
.b-rfit:focus{border-bottom-color:var(--gold-bd)}
.b-rfied .b-field textarea{font-family:inherit}
.b-rfito{display:flex;gap:8px 12px;flex-wrap:wrap;align-items:center}
.b-rfito-l{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--muted)}
.b-rfito-l select{font:inherit;font-size:14px;font-weight:700;color:var(--ink);background:transparent;border:1px solid var(--card-line);border-radius:8px;padding:6px 8px}
.b-rfi2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px}
.b-rfians[hidden]{display:none}
.b-rfiflag{display:flex;gap:8px;align-items:center;font-size:14px;font-weight:600;color:var(--short-fg);cursor:pointer}
.b-rfiflag input{width:18px;height:18px;accent-color:#b91c1c;margin:0}
.b-rfied-foot{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;padding-top:6px;border-top:1px solid var(--line)}
.b-rfisent{margin-right:auto;font-size:13px;color:var(--muted)}
.b-saved{font-size:13px;font-weight:700;color:var(--green)}
.b-cat{font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;background:rgba(127,127,127,.12)}
.b-cat.conflict{background:var(--short-bg);color:var(--short-fg)}
.b-cat.missing{background:var(--over-bg);color:var(--over-fg)}
.b-cat.allow{background:rgba(75,122,176,.14);color:#4b7ab0}
.b-cat.verify{background:rgba(127,127,127,.14);color:var(--ink)}
.b-modal .b-field{margin-bottom:12px}

/* ── To do (?f=todo) ───────────────────────────────────────────────────────────────────────────────────── */
.b-tdadd{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:8px}
.b-tds{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.b-td{display:grid;grid-template-columns:28px minmax(0,1fr) auto 150px 32px;gap:14px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line)}
.b-td:target{background:var(--acc-12);outline:2px solid var(--gold-bd);outline-offset:-2px}
/* Photos, a folder of the job (Blake, Oct 5) */
.b-phgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.b-phcard{margin:0;background:var(--card);border:1px solid var(--card-line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.b-phcard:target{outline:2px solid var(--gold-bd)}
.b-phcard img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--canvas)}
.b-phcard-b{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px;font-size:14px;min-width:0}
.b-phcard-note{color:var(--ink);font-weight:600;overflow-wrap:anywhere}
.b-phcard-on{font-weight:700;color:var(--head1);overflow-wrap:anywhere}

.b-td-done{width:24px;height:24px;accent-color:var(--gold-bd);cursor:pointer;margin:0}
.b-td-box{width:18px;height:18px;border:2px solid var(--card-line);border-radius:4px}
.b-td.done .b-td-box{background:var(--gold-bd);border-color:var(--gold-bd)}
.b-td-t{font-size:17px;min-width:0;overflow-wrap:anywhere}
.b-td.done .b-td-t{text-decoration:line-through;color:var(--muted)}
.b-td-o{font-size:14px;font-weight:700;background:rgba(127,127,127,.12);padding:4px 10px;border-radius:6px;justify-self:start}
.b-td-o.none{visibility:hidden}
.b-td-s{min-height:40px}
.b-td-w{font-size:14px;color:var(--muted)}
.b-td-x{background:transparent;border:0;color:var(--muted);font-size:22px;cursor:pointer;width:32px;height:40px;border-radius:8px}
.b-td-x:hover{color:var(--red);background:rgba(185,28,28,.08)}

/* ── History (history.html): a timeline ────────────────────────────────────────────────────────────────── */
.b-hist{list-style:none;margin:0 0 0 8px;padding:0;border-left:2px solid var(--side-line)}
.b-hist li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:12px 18px;position:relative}
.b-hist li > i{position:absolute;left:-7px;top:18px;width:12px;height:12px;transform:rotate(45deg)}
.b-hist li > div{display:flex;flex-direction:column;min-width:0}
.b-hist b{font-size:16px}
.b-hist li > div span{font-size:14px;color:var(--muted);overflow-wrap:anywhere}
.b-hist small{font-size:13px;color:var(--muted);white-space:nowrap}

/* ── Handoff (handoff.html) and the cards of Team and Companies ───────────────────────────────────────── */
.b-soft{font-weight:500;color:var(--muted)}
.b-h1 .b-soft{font-size:.7em}
.b-h1 .b-beta{vertical-align:middle;font-size:12px}
.b-hocard,.b-tcard{background:var(--card);border:1px solid var(--card-line);border-radius:12px;padding:20px 22px;display:flex;flex-direction:column;gap:12px;min-width:0}
.b-hoh{margin:0;font-size:20px;font-weight:700;letter-spacing:-.2px;color:var(--head1)}
.b-hocard .b-quiet,.b-tcard .b-quiet{margin:0}
.b-hocard textarea{width:100%;min-height:80px;overflow:hidden;resize:none}
.b-hocard textarea[readonly]{background:transparent}
.b-hoact{display:flex;gap:10px;align-items:center;justify-content:flex-end}
.b-hoform{display:flex;flex-direction:column;gap:22px}
.b-hogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:22px;align-items:start}
.b-hocol{display:flex;flex-direction:column;gap:22px;min-width:0}
.b-hoflags{display:flex;flex-direction:column;gap:10px}
.b-hoflag{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:12px 14px;border-radius:10px;border-left:4px solid #9aa3ae;background:rgba(127,127,127,.06)}
.b-hoflag.high{border-left-color:#b91c1c;background:var(--short-bg)}
.b-hoflag.medium{border-left-color:#C9A22E;background:var(--over-bg)}
.b-hoflag .sev{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;padding-top:2px}
.b-hoflag b{font-size:16px}
.b-hoflag p{margin:4px 0 0;font-size:15px;line-height:1.45}
.b-hoflag p.act{font-size:14px;color:var(--muted)}
.b-hoflag.high b,.b-hoflag.high .sev{color:var(--short-fg)}
.b-hoscope h3{margin:10px 0 4px;font-size:16px}
.b-hoscope ul{margin:0;padding-left:20px;line-height:1.5}
.b-team{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:22px;align-items:start}
.b-tcol{display:flex;flex-direction:column;gap:22px;min-width:0}
.b-people{padding:6px 22px}
.b-person{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.b-person:last-child{border-bottom:0}
.b-av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:14px;background:var(--active-bg);color:var(--active-fg)}
.b-av.support{background:var(--navy);color:#fff}
.b-person-m{display:flex;flex-direction:column;min-width:0}
.b-person-m b{font-size:16px}
.b-person-m small{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.b-person-act{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.b-person-act form{margin:0}
.b-pillr{font-size:13px;font-weight:700;padding:5px 10px;border-radius:6px;background:rgba(127,127,127,.12)}
.b-books{display:flex;flex-direction:column}
.b-bookr{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}
.b-bookr:last-child{border-bottom:0}
.b-bookr form{margin:0}
.b-switches{display:flex;gap:8px 18px;flex-wrap:wrap}
.b-switch{display:flex;gap:8px;align-items:center;font-size:15px;font-weight:600;cursor:pointer}
.b-switch input{width:18px;height:18px;accent-color:var(--gold-bd);margin:0}
.b-cogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:14px}
.b-cofoot{grid-column:1 / -1;display:flex;flex-direction:column;gap:10px;align-items:flex-start}

/* ── Help and Your plan: the classic pages' words (templates/_help_content.html, _plan_content.html) ──── */
.b-doc .card{background:var(--card);border:1px solid var(--card-line);border-radius:12px;padding:20px 24px}
.b-doc .card h2{margin:0 0 12px;font-size:20px;font-weight:700;color:var(--head1)}
.b-doc dl.gloss{margin:0;display:grid;grid-template-columns:minmax(120px,210px) minmax(0,1fr);gap:12px 20px}
.b-doc dl.gloss dt{font-weight:700;font-size:15px}
.b-doc dl.gloss dd{margin:0;font-size:15px;line-height:1.55;color:var(--ink)}
.b-doc .cat{font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;background:rgba(127,127,127,.12)}
.b-doc .cat.conflict{background:var(--short-bg);color:var(--short-fg)}
.b-doc .cat.missing{background:var(--over-bg);color:var(--over-fg)}
.b-doc .cat.allow{background:rgba(75,122,176,.14);color:#4b7ab0}
.b-doc ul.tips{margin:0;padding-left:20px;line-height:1.6;font-size:15px}
.b-doc .plan-list{display:flex;flex-direction:column}
.b-doc .plan-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line)}
.b-doc .plan-row:last-child{border-bottom:0}
.b-doc .plan-row b{font-size:16px}
.b-doc .plan-row p{margin:4px 0 0;font-size:15px;line-height:1.5;color:var(--muted)}
.b-doc .plan-row.off b{color:var(--muted)}
.b-doc .pill{font-size:13px;font-weight:700;padding:4px 10px;border-radius:6px;background:rgba(127,127,127,.12);white-space:nowrap}
.b-doc .pill.done{background:rgba(47,157,106,.14);color:var(--green)}
.b-doc .beta{margin-left:8px;font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;background:var(--gold);color:var(--beta-fg);padding:2px 6px;border-radius:4px;vertical-align:middle}
.b-doc .sub{font-size:15px;line-height:1.5;color:var(--muted);margin:0}
.b-doc .plan-ask{margin-top:12px}

@media (max-width:1099px){
  .b-team{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:699px){
  .b-tdadd{grid-template-columns:minmax(0,1fr)}
  .b-td{grid-template-columns:32px minmax(0,1fr) auto 40px;gap:6px 10px}
  .b-td > .b-td-done,.b-td > .b-td-box{grid-row:1 / span 2}
  .b-td-o{grid-row:2;grid-column:2}
  .b-td-s,.b-td-w{grid-row:2;grid-column:3}
  .b-td-x{grid-row:1;grid-column:4}
  .b-hist li{grid-template-columns:minmax(0,1fr)}
  .b-hist small{white-space:normal}
  .b-rfied{padding:16px}
  .b-rfit{font-size:21px}
  .b-person{grid-template-columns:40px minmax(0,1fr)}
  .b-person-act{grid-column:2;justify-content:flex-start}
  .b-doc dl.gloss{grid-template-columns:minmax(0,1fr);gap:4px}
  .b-doc dl.gloss dd{margin-bottom:10px}
}

/* ── the new job screen: a drop box for the plan set in place of Tile (bold/project.html) ─────────────────── */
.b-zone{border:2px dashed var(--card-line);background:var(--card);border-radius:14px;padding:56px 32px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;transition:border-color .12s,background .12s}
.b-zone.drag{border-color:var(--gold-bd);background:var(--acc-10)}
.b-zone-ic{width:44px;height:44px;fill:var(--folder-soft);stroke:var(--folder);stroke-width:1.4;stroke-linejoin:round}
.b-zone p{margin:0;font-size:16px;line-height:1.5;color:var(--muted);max-width:440px}
.b-zone-btn{min-height:48px;padding:12px 22px}
.b-ph{display:none}
@media (max-width:699px){
  .b-zone{padding:32px 20px}
  .b-nph{display:none}
  .b-ph{display:inline}
}

/* ── Take photo (the job page) and the photos on RFIs and to dos ──────────────────────────────────────────── */
.b-photo{width:48px;height:44px;display:grid;place-items:center;flex:none;background:var(--gold);border:1px solid var(--gold-bd);color:var(--on-gold);border-radius:8px;cursor:pointer}
.b-photo:hover{background:var(--gold-hover)}
.b-photo .b-ic{width:24px;height:24px}
dialog.b-phsheet{max-width:480px;padding:20px;max-height:92vh;overflow-y:auto}
dialog.b-phsheet form{display:flex;flex-direction:column;gap:14px}
.b-ph-top{display:flex;justify-content:space-between;align-items:center}
.b-ph-top .b-modal-t{margin:0}
.b-ph-x{width:40px;height:40px;border:0;background:transparent;color:var(--muted);font-size:24px;cursor:pointer;border-radius:8px}
.b-ph-img{width:100%;max-height:34vh;object-fit:cover;border-radius:10px;background:var(--card)}
.b-ph-seg{display:flex;border:1px solid var(--card-line);border-radius:10px;overflow:hidden}
.b-ph-seg button{flex:1;min-height:44px;border:0;font:inherit;font-size:15px;font-weight:700;cursor:pointer;background:transparent;color:var(--ink)}
.b-ph-seg button[aria-pressed=true]{background:var(--pbg);color:var(--pfg)}
.b-ph-rfi[hidden],.b-ph-todo[hidden]{display:none}
.b-ph-todo{font-size:14px;color:var(--muted)}
.b-ph-err{margin:0;font-size:14px;font-weight:600;color:var(--short-fg)}
.b-ph-go{min-height:50px;font-size:16px}
.b-rfiph{display:flex;gap:8px;flex-wrap:wrap}
.b-thumbph{position:relative;display:block}
.b-thumbph img{width:96px;height:96px;object-fit:cover;border-radius:8px;border:1px solid var(--card-line);display:block}
.b-thumbph-x{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:0;background:var(--pill-bg);color:#fff;font-size:16px;line-height:1;cursor:pointer}
.b-td-t{display:flex;gap:10px;align-items:center}
.b-td-ph img{width:40px;height:40px;object-fit:cover;border-radius:6px;display:block;flex:none}
@media (max-width:699px){
  dialog.b-phsheet{margin:auto 0 0;width:100%;max-width:100%;border-radius:18px 18px 0 0}
}

/* ── What changed between two sets (compare.html, compare_sheet.html) ─────────────────────────────────────────── */
.b-cmp-dl{display:flex;gap:8px;flex-wrap:wrap}
.b-cmp-pick{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.b-cmp-pick .b-field{flex:1 1 280px;min-width:0}
.b-cmp-pick .b-select{width:100%;min-height:46px;font-size:15px}
.b-cmp-sum{display:flex;flex-direction:column;gap:4px}
.b-cmp-sum .b-quiet{margin:0}
.b-cmp-sum a{color:inherit;font-weight:600}
.b-cmp-line{margin:0;font-size:20px;font-weight:700;line-height:1.35;color:var(--head1);text-wrap:pretty}
.b-cmp-cannot{display:flex;flex-direction:column;gap:4px}
.b-cmpsecs{display:flex;flex-direction:column;border-top:1px solid var(--line)}
details.b-cmpsec{border-bottom:1px solid var(--line)}
details.b-cmpsec > summary{display:grid;grid-template-columns:18px 26px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 4px;cursor:pointer;list-style:none;color:var(--ink)}
details.b-cmpsec > summary::-webkit-details-marker{display:none}
details.b-cmpsec > summary::before{content:'▸';font-size:12px;color:var(--muted)}
details.b-cmpsec[open] > summary::before{content:'▾'}
details.b-cmpsec > summary:hover{background:rgba(127,127,127,.06)}
details.b-cmpsec > summary b{font-size:19px}
details.b-cmpsec > summary em{font-style:normal;font-size:15px;color:var(--muted);text-align:right}
.b-cmpsec-in{padding:4px 0 14px 28px;min-width:0;display:flex;flex-direction:column;gap:6px}
.b-cmp h3{margin:12px 0 2px;font-size:15px;font-weight:700;color:var(--ink)}
.b-cmp h3 .soft{font-weight:500;color:var(--muted)}
.b-chg{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;padding:3px 9px;border-radius:999px;white-space:nowrap;border:1px solid var(--card-line);color:var(--muted)}
.b-chg.added{background:rgba(47,157,106,.14);color:var(--green);border-color:transparent}
.b-chg.removed{background:rgba(185,28,28,.12);color:var(--k-conflict);border-color:transparent}
.b-chg.changed{background:var(--sel);color:var(--gold-link);border-color:transparent}
html[data-theme="dark"] .b-chg.changed{color:var(--gold)}
html[data-theme="dark"] .b-chg.added,html[data-theme="dark"] .b-cmp .up{color:#5fd39c}
.b-cmp mark{background:var(--sel);color:inherit;font-weight:700;border-radius:3px;padding:0 2px}
.b-cmp .up{color:var(--green);font-weight:700}
.b-cmp .down{color:var(--k-conflict);font-weight:700}
.b-cmp .was{color:var(--muted)}
.b-fnd{padding:9px 2px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.b-fnd:last-child{border-bottom:0}
.b-fnd b{font-size:15px;color:var(--ink);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.b-fnd span{font-size:14px;line-height:1.45}
.b-fnd .ref{font-family:var(--mono);font-size:12.5px;color:var(--muted)}
.b-cmp-rank{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:4px 0 6px}
.b-cmp-rank .b-quiet{margin:0}
.b-kept{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.b-kept a{display:flex;gap:10px;align-items:center;min-height:44px;padding:8px 6px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.b-kept a:hover{background:var(--hover)}
.b-kept a b{font-family:var(--mono);font-size:14px}
.b-kept a em{margin-left:auto;font-style:normal;font-size:13px;color:var(--muted)}
.b-cmp-foot{font-size:13px;color:var(--muted);margin:0}
.b-cmps-key{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-size:14px;margin:0;color:var(--ink)}
.b-cmps-key i{display:inline-block;width:26px;height:6px;border-radius:3px;margin-right:7px;vertical-align:middle}
.b-cmps-line{font-size:16px;font-weight:700;color:var(--ink);margin:0;min-height:1.4em}
.b-cmps-wrap{overflow:auto;border-radius:10px;-webkit-overflow-scrolling:touch}
.b-cmps-img{display:block;width:100%;height:auto;background:#fff;border:1px solid var(--card-line);border-radius:10px;cursor:zoom-in}
.b-cmps-img.big{width:260%;max-width:none;cursor:zoom-out}
@media (max-width:700px){
  .b-cmp-line{font-size:17px}
  .b-cmpsec-in{padding-left:4px}
  details.b-cmpsec > summary{grid-template-columns:14px 22px minmax(0,1fr);row-gap:2px}
  details.b-cmpsec > summary em{grid-column:3;text-align:left;font-size:14px}
}

/* ── the review's marks and hand tools (Measure) ───────────────────────────────────────────────────────────────── */
.b-rooms polyline{fill:none;stroke-width:3;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.b-rooms polygon.hollow{fill:none;stroke-width:3.5}
.b-rooms polygon.notok{fill-opacity:.04}
.b-rooms .sym circle{fill:none;stroke-width:2.5;vector-effect:non-scaling-stroke}
.b-rooms .sym rect{fill:none;stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:5 3}
.b-draw polyline{fill:rgba(17,24,39,.12);stroke:#111827;stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:6 4}
.b-draw polyline.len{fill:none}
.b-draw circle{fill:#111827;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}
.b-draw circle.first{fill:var(--gold)}
.b-draw rect.symbox{fill:rgba(47,125,225,.12);stroke:#2f7de1;stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:6 4}
.b-draw polygon.fillpoly{fill:rgba(17,24,39,.22);fill-opacity:1;stroke:#111827;stroke-width:2}
.b-tagpt.hand{stroke:#C9A22E;fill:rgba(201,162,39,.3)}
.b-tagpt.off{stroke:#b91c1c;stroke-dasharray:4 3;fill:rgba(220,38,38,.08)}
.b-vstage.b-tooling{cursor:crosshair}
/* markup on a sheet (item 31): the marks as kept, over the counted tags and under what is being drawn */
.b-mk{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.b-mk .ln{fill:none;stroke:#d92d20;stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round;pointer-events:stroke}
.b-mk .head{fill:#d92d20;stroke:#d92d20;stroke-width:1;vector-effect:non-scaling-stroke;stroke-linejoin:round;pointer-events:fill}
.b-mk .hl{fill:#ffe600;fill-opacity:.35}
.b-mk .nb{fill:#fff;fill-opacity:.92;stroke:#d92d20;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:fill}
.b-mk text{fill:#d92d20;font-family:Helvetica,Arial,sans-serif;font-weight:700}
/* a mark's colour (Oct 8): red when it has none; the same four as markup.COLORS */
.b-mk g.c-blue .ln,.b-mk g.c-blue .head,.b-mk g.c-blue .nb{stroke:#1d4ed8}.b-mk g.c-blue .head,.b-mk g.c-blue text{fill:#1d4ed8}
.b-mk g.c-green .ln,.b-mk g.c-green .head,.b-mk g.c-green .nb{stroke:#15803d}.b-mk g.c-green .head,.b-mk g.c-green text{fill:#15803d}
.b-mk g.c-black .ln,.b-mk g.c-black .head,.b-mk g.c-black .nb{stroke:#111827}.b-mk g.c-black .head,.b-mk g.c-black text{fill:#111827}
.b-mkc{display:flex;align-items:center;gap:10px;padding:8px 12px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}
.b-mkc span{font-size:13px;color:var(--muted);margin-right:auto}
.b-toolmenu .b-mkc-b{flex:0 0 auto;width:32px;height:32px;min-height:32px;padding:0;border-radius:50%;border:3px solid var(--card);box-shadow:0 0 0 1px var(--card-line)}
.b-toolmenu .b-mkc-b.c-red,.b-toolmenu .b-mkc-b.c-red:hover{background:#d92d20}.b-toolmenu .b-mkc-b.c-blue,.b-toolmenu .b-mkc-b.c-blue:hover{background:#1d4ed8}
.b-toolmenu .b-mkc-b.c-green,.b-toolmenu .b-mkc-b.c-green:hover{background:#15803d}.b-toolmenu .b-mkc-b.c-black,.b-toolmenu .b-mkc-b.c-black:hover{background:#111827}
.b-toolmenu .b-mkc-b.on{box-shadow:0 0 0 2.5px var(--ink)}
.b-toolmenu .b-mkc-b:focus-visible{outline:3px solid var(--gold-bd);outline-offset:3px}
#bMkAll{white-space:nowrap}
/* search across the sheets of a set (item 22) */
.b-take .b-sfind{padding:0 0 10px;border-bottom:0}
.b-take .b-find-res{margin:0 -22px;max-height:38vh}
.b-take #bMkPdf{align-self:stretch}
.b-sfind{display:flex;flex-direction:row;gap:8px;align-items:center;padding:12px 22px 10px;border-bottom:1px solid var(--line);margin:0}
.b-sfind .b-input{flex:1;min-width:0;padding:10px 12px;min-height:44px}
.b-sfind .b-btn{min-height:44px;padding:10px 14px;font-size:14px}
.b-find-res{border-bottom:1px solid var(--line);background:var(--card);max-height:46vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
.b-find-h{display:flex;align-items:center;gap:8px;padding:10px 22px 8px;position:sticky;top:0;background:var(--card);z-index:1}
.b-find-h b{font-size:15px;color:var(--ink)}
.b-find-h span{flex:1;min-width:0;font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.b-find-note{margin:0;padding:10px 22px 12px;font-size:14px;color:var(--muted);line-height:1.45}
.b-findrow{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;background:transparent;border:0;border-top:1px solid var(--line);padding:10px 22px;color:var(--ink);font:inherit;cursor:pointer;min-height:44px}
.b-findrow:hover{background:var(--hover)}
.b-findrow.on{box-shadow:inset 3px 0 0 var(--gold-bd);background:var(--hover)}
.b-findrow-top{display:flex;align-items:center;gap:8px}
.b-findrow-top b{flex:1;min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.b-findrow-top em{font:700 13px var(--mono);font-style:normal;color:var(--muted)}
.b-findrow small{font-size:13px;color:var(--muted);line-height:1.4;overflow-wrap:anywhere}
.b-findrow mark{background:#ffe08a;color:#1b1407;border-radius:3px;padding:0 2px}
.b-findsvg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.b-findsvg rect{fill:rgba(255,170,0,.3);stroke:#f59e0b;stroke-width:1.5;vector-effect:non-scaling-stroke}
.b-findsvg rect.on{fill:rgba(255,120,0,.38);stroke:#c2410c;stroke-width:3}
.b-findbar{position:absolute;left:14px;top:10px;z-index:5;display:flex;align-items:center;gap:4px;background:var(--pill-bg);color:#fff;border-radius:10px;padding:2px 4px;font-size:13px;font-weight:700}
.b-findbar span{padding:0 6px;white-space:nowrap}
.b-findbar .b-vbtn{background:transparent;border:0;color:#fff;min-width:34px;min-height:34px;font-size:17px}
@media (max-width:699px){.b-sfind{padding:10px 16px 8px}.b-take .b-sfind{padding:0 0 8px}.b-find-h,.b-find-note,.b-findrow{padding-left:16px;padding-right:16px}.b-find-res{max-height:34vh}.b-findbar{top:auto;bottom:10px;left:10px}
  .b-rv.b-measuring .b-findbar{display:none}}
/* how many of the review's numbers are checked (item 19, the larger version), and what stands behind one */
.b-ckprog{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;padding:10px 12px;margin:0 0 12px;border:1px solid var(--card-line);border-radius:10px;background:var(--card);font-size:14px;color:var(--ink)}
.b-ckprog[hidden]{display:none}
.b-ckprog-bar{flex:1 1 90px;min-width:70px;height:8px;border-radius:4px;background:rgba(127,127,127,.2);overflow:hidden}
.b-ckprog-bar i{display:block;height:100%;background:var(--green);border-radius:4px}
.b-ckprog-ok{color:var(--green);font-weight:700}
.b-ckprog .b-linkbtn{min-height:32px}
.b-modal p.b-num-ctx{font-size:14px;padding:10px 12px;border-radius:8px;background:rgba(127,127,127,.1);color:var(--ink)}
.b-edc.b-flash{outline:3px solid var(--gold-bd);outline-offset:2px;border-radius:6px}
/* comments pinned to a sheet (item 31): a pin keeps its size on screen at any zoom */
.b-pins{position:absolute;inset:0;pointer-events:none}
.b-pin{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;border:2px solid #fff;background:#1d4ed8;color:#fff;font:700 13px/1 var(--mono);display:grid;place-items:center;padding:0;cursor:pointer;pointer-events:auto;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.b-pin::after{content:"";position:absolute;inset:-9px}                 /* a finger's width round it */
.b-pin.done{background:#8c949e}
.b-pin.sm{position:static;transform:none;display:inline-grid;width:24px;height:24px;font-size:12px;font-style:normal;box-shadow:none;flex:none;cursor:default}
.b-pin.sm::after{content:none}
.b-cmrow{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);padding:12px 4px;color:var(--ink);font:inherit;cursor:pointer;min-height:44px}
.b-cmrow:hover{background:var(--hover)}
.b-cmrow.done .b-cmrow-t{color:var(--muted)}
.b-cmrow-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.b-cmrow-top small,.b-cmrow-r{font-size:13px;color:var(--muted)}
.b-cmrow-t{font-size:15px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}
.b-cm-list{display:flex;flex-direction:column;gap:10px;max-height:44vh;overflow-y:auto}
.b-cm-list:empty{display:none}
.b-cm-i{border:1px solid var(--card-line);border-radius:10px;padding:10px 12px;background:var(--card)}
.b-cm-i:not(.root){margin-left:18px}
.b-cm-h{display:flex;align-items:center;gap:8px}
.b-cm-h b{font-size:14px;color:var(--ink)}
.b-cm-h small{font-size:13px;color:var(--muted);flex:1}
.b-modal .b-cm-i p{font-size:15px;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px}
#bCm .b-modal-t{font-size:20px}
.b-draw rect.symbox.mk{fill:rgba(217,45,32,.08);stroke:#d92d20}
.b-draw line.mkline{stroke:#d92d20;stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:6 4}
/* the pen (Oct 8): the line as it is drawn, in the colour picked; one finger draws, so the sheet does not pan under it */
.b-draw polyline.penline{fill:none;stroke:#d92d20;stroke-width:2.5;stroke-dasharray:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.b-draw polyline.penline.c-blue{stroke:#1d4ed8}.b-draw polyline.penline.c-green{stroke:#15803d}.b-draw polyline.penline.c-black{stroke:#111827}
.b-vstage.b-tool-pen{touch-action:none;cursor:crosshair}
.b-mk polyline.ln{pointer-events:stroke}
.b-vstage.b-tool-tag .b-tagpt{stroke:rgba(47,125,225,.75);cursor:pointer}
.b-pill-t.gold{background:var(--gold);color:var(--on-gold)}
.b-pill-t.gold:hover{background:var(--gold-hover)}
.b-toolmenu{position:absolute;top:54px;right:14px;z-index:7;display:flex;flex-direction:column;gap:2px;padding:6px;min-width:260px;max-width:min(340px,calc(100% - 28px));background:var(--card);border:1px solid var(--card-line);border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.2)}
.b-toolmenu button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:transparent;border:0;border-radius:8px;padding:10px 12px;color:var(--ink);cursor:pointer;min-height:44px;font:inherit}
.b-toolmenu button:hover,.b-toolmenu button:focus-visible{background:var(--hover);outline:none}
.b-toolmenu b{font-size:15px;font-weight:700}
.b-toolmenu small{font-size:13px;color:var(--muted);line-height:1.35}
.b-toolbar{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:6;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 14px;width:max-content;max-width:calc(100% - 24px);padding:10px 12px 10px 16px;background:var(--card);border:1px solid var(--card-line);border-left:4px solid var(--gold-bd);border-radius:12px;box-shadow:0 10px 26px rgba(0,0,0,.22)}
.b-toolbar-msg{font-size:14px;font-weight:600;line-height:1.4;color:var(--ink);max-width:520px}
.b-toolbar-btns{display:flex;gap:6px;flex-wrap:wrap}
.b-toolbar-btns .b-btn{min-height:40px}
@media (max-width:699px){
  /* while measuring, the sheet takes the screen: the panel and the sheet stepper step aside until Stop or a save */
  .b-rv.b-measuring{grid-template-rows:minmax(0,1fr)}
  .b-rv.b-measuring .b-panel,.b-rv.b-measuring .b-take,.b-rv.b-measuring .b-vbar-r{display:none}
  .b-rv.b-measuring .b-pill-t{display:none}        /* Stop is in the bar at the foot: the sheet keeps its top clear for taps */
  .b-toolbar{left:8px;right:8px;width:auto;transform:none;bottom:8px;justify-content:space-between;gap:8px 10px;padding:9px 10px 9px 12px}
  .b-toolbar-msg{font-size:13px;max-width:none;flex:1 1 100%}
  /* the menu is a sheet from the foot of the screen, out of the small viewer's way */
  .b-toolmenu{position:fixed;left:8px;right:8px;bottom:8px;top:auto;min-width:0;max-width:none;z-index:40;padding:8px;box-shadow:0 -6px 30px rgba(0,0,0,.28);max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);overflow-y:auto}
}

/* ── Companies: a company's two colours (theme.py) ───────────────────────────────────────────────────────────── */
.b-cocolors{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;border-top:1px solid var(--line);padding-top:14px}
.b-cocolors-t{font-size:14px;font-weight:700;color:var(--ink);flex:1 1 100%}
.b-cocolors .b-quiet{flex:1 1 100%;margin:0}
.b-colorf{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}
.b-colorf input{width:46px;height:38px;padding:3px;border:1px solid var(--card-line);border-radius:8px;background:var(--card);cursor:pointer}

/* ── Request a feature (item 26): beside Bug report wherever it is, a dialog named for the company ───────────────── */
.b-side-btns .b-sbtn-req{grid-column:1/-1}
.b-topbar-l,.b-topbar-r{flex:1 1 0;display:flex;align-items:center;gap:8px;min-width:0}
.b-topbar-r{justify-content:flex-end}
.b-backrow-r{display:flex;gap:8px;align-items:center}
.b-req-logo{display:flex;justify-content:center;margin:-4px 0 6px}
.b-req-logo img{height:56px;width:auto;max-width:70%;object-fit:contain}
.b-req-logo span{font-weight:800;font-size:18px;color:var(--head1)}

/* the smallest phones (320 wide): the logo leaves room for the buttons beside it */
@media (max-width:359px){.b-topbar .b-home img{height:44px}}
/* a phone or tablet zooms the whole page when a box with lettering under 16px is tapped: on touch screens every box is 16px */
@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-size:16px !important}}
/* a company's access paused or on (the companies page, Mosaic staff only; Oct 8) */
.b-copause{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 4px}
.b-copause-on{font-weight:600;color:#b42318}

/* ── the estimate (templates/bold/estimate.html, Oct 12 2026): the review's quantities, a price typed on each, the recap.
   One grid a line; on a phone the item sits over its quantity, price and total ── */
.b-est-dl{display:flex;align-items:center;gap:8px}
.b-est-saved{font-size:13px;color:var(--label);min-width:60px;text-align:right}
.b-est-saved.bad{color:var(--short-fg);font-weight:700;cursor:pointer}
.b-est-top{display:flex;align-items:baseline;gap:6px 22px;flex-wrap:wrap}
.b-est-top p{margin:0}
.b-est-total{display:flex;align-items:baseline;gap:12px}
.b-est-total span{font-size:14px;font-weight:600;color:var(--label)}
.b-est-total b{font-size:34px;font-weight:700;color:var(--head1);letter-spacing:-.01em}
.b-est-sample{margin:0;padding:10px 12px;border-radius:8px;background:var(--over-bg);color:var(--over-fg);font-weight:600;font-size:14px}
.b-est-pick{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--label);flex-wrap:wrap}
.b-est-pick select{font-size:16px;padding:8px 10px;border:1.5px solid var(--card-line);border-radius:8px;background:var(--card);color:var(--ink);max-width:100%}
.b-eg{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:14px 16px}
.b-eg>p{margin:0}
.b-eg-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.b-eg-h h2{font-size:17px;font-weight:700;margin:0;color:var(--head1)}
.b-eg-h b{font-size:15px}
.b-eh,.b-er{display:grid;grid-template-columns:26px minmax(0,1fr) 120px 150px 124px;gap:4px 12px;align-items:center}
.b-eh{font-size:12px;font-weight:600;color:var(--label);padding:4px 0;border-bottom:1px solid var(--line)}
.b-eh .r{text-align:right}
.b-er{padding:8px 0;border-bottom:1px solid var(--line)}
.b-er:last-child{border-bottom:0}
.b-er-in{display:grid;place-items:center;cursor:pointer}
.b-er-in input{width:18px;height:18px;accent-color:var(--gold-bd);cursor:pointer}
.b-er-it{min-width:0;display:flex;flex-direction:column;gap:2px}
.b-er-it b{font-size:15px;font-weight:600;overflow-wrap:anywhere}
.b-er-it small{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.b-er-it small.why{color:var(--over-fg)}
.b-er-q{display:flex;justify-content:flex-end;align-items:baseline;gap:6px;font-size:15px}
.b-er-q span{font-size:12px;color:var(--label);min-width:20px}
.b-er-p{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:0}
.b-er-p em{font-style:normal;font-size:11px;color:var(--label)}
.b-ep{display:flex;align-items:center;gap:4px;border:1.5px solid var(--card-line);border-radius:8px;background:var(--bg);padding:0 8px;width:100%;min-width:0}
.b-ep i{font-style:normal;color:var(--label);font-size:14px}
.b-ep:focus-within{outline:2px solid var(--gold-bd);border-color:var(--gold-bd)}
.b-ein{font:inherit;font-size:16px;color:var(--ink);background:transparent;border:0;outline:0;padding:7px 0;width:100%;min-width:0;text-align:right}
.b-ein.mono{font-family:var(--mono);font-size:15px}
.b-ein.l,.b-ein.q,.b-ein.u{border:1.5px solid var(--card-line);border-radius:8px;background:var(--bg);padding:7px 8px}
.b-ein.l{text-align:left}
.b-ein.q{width:78px}
.b-ein.u{width:64px;text-align:left;text-transform:uppercase}
.b-er.added{grid-template-columns:26px minmax(0,1fr) 154px 150px 124px}
.b-er.added .b-er-q{align-items:center}
.b-ein.l:focus,.b-ein.q:focus,.b-ein.u:focus{outline:2px solid var(--gold-bd);border-color:var(--gold-bd)}
.b-ein.bad{color:var(--short-fg)}
.b-er-t{text-align:right;font-size:15px;font-weight:700;overflow-wrap:anywhere}
.b-er.out .b-er-it,.b-er.out .b-er-q,.b-er.out .b-er-p{opacity:.5}
.b-er.out .b-er-t{visibility:hidden}
.b-er-x{width:26px;height:26px;border:0;background:transparent;color:var(--label);font-size:20px;line-height:1;cursor:pointer;border-radius:6px;padding:0}
.b-er-x:hover{color:var(--short-fg)}
.b-em{display:grid;grid-template-columns:minmax(0,1fr) 110px 136px 26px;gap:12px;align-items:center;padding:5px 0}
.b-em.fixed{grid-template-columns:minmax(0,1fr) 136px 26px}
.b-em.fixed span{font-weight:600;font-size:15px}
.b-em b{text-align:right;font-size:15px}
.b-em.tot{border-top:2px solid var(--line);margin-top:6px;padding-top:12px}
.b-em.tot span,.b-em.tot b{font-size:19px;font-weight:700;color:var(--head1)}
.b-est-staff{border-style:dashed}
.b-est-staff-a{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:720px){
  .b-eh{display:none}
  .b-er{grid-template-columns:26px auto minmax(0,1fr) auto;gap:6px 10px;grid-template-areas:"in it it t" ". q p p"}
  .b-er-in,.b-er>.b-er-x{grid-area:in}
  .b-er-it{grid-area:it}
  .b-er-q{grid-area:q;justify-content:flex-start}
  .b-er-p{grid-area:p}
  .b-er-p .b-ep{max-width:170px}
  .b-er-t{grid-area:t;white-space:nowrap;align-self:start}
  .b-er.added{grid-template-columns:26px minmax(0,1fr) auto;grid-template-areas:"in it it" ". q q" ". p t"}
  .b-er.added .b-er-t{align-self:center}
  .b-ein.mono{font-size:16px}
  .b-est-total b{font-size:28px}
  .b-em{grid-template-columns:minmax(0,1fr) auto 26px;gap:6px 10px;grid-template-areas:"l l x" "p a ."}
  .b-em>.b-ein.l{grid-area:l}
  .b-em>.b-ep{grid-area:p;max-width:130px}
  .b-em>b{grid-area:a}
  .b-em>.b-er-x{grid-area:x}
  .b-em.fixed{grid-template-columns:minmax(0,1fr) auto 26px;grid-template-areas:"l a ."}
  .b-em.fixed>span{grid-area:l}
}
