:root {
  color-scheme: dark;
  --bg: #08090b;
  --panel: #111318;
  --panel-2: #171a20;
  --panel-3: #1d2027;
  --text: #f5f6f8;
  --muted: #8f949e;
  --muted-2: #676c75;
  --red: #ed1c24;
  --red-hot: #ff333b;
  --red-dark: #b80f16;
  --red-soft: rgba(237, 28, 36, .12);
  --black: #090a0c;
  --chrome: #0d0f12;
  --grey: #24272e;
  --border: #2a2e36;
  --border-hi: #3a3f49;
  --footer: #0c0e11;
  --green: #55d68b;
  --amber: #ffb454;
  --blue: #68a7ff;
  --shadow: 0 20px 50px rgba(0, 0, 0, .28);
  --cut: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { min-width: 320px; background: var(--bg); }
html, body { min-height: 100%; }
body {
  font-family: "Segoe UI Variable", "Segoe UI", Inter, Helvetica, Arial, sans-serif;
  background:
    radial-gradient(circle at 82% -10%, rgba(237, 28, 36, .13), transparent 32rem),
    linear-gradient(135deg, transparent 0 74%, rgba(255, 255, 255, .018) 74% 75%, transparent 75%) 0 0 / 54px 54px,
    var(--bg);
  color: var(--text);
  line-height: 1.45;
  letter-spacing: -.01em;
}
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
[hidden] { display: none !important; }

/* Command bar */
.topbar {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 12px max(24px, calc((100vw - 1540px) / 2));
  background: rgba(10, 11, 14, .96);
  color: var(--text);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 10px 36px rgba(0, 0, 0, .32);
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(18px);
}
.topbar::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: min(38vw, 580px);
  height: 2px;
  background: linear-gradient(90deg, var(--red), var(--red-hot) 55%, transparent);
}
.brand { display: flex; align-items: center; gap: 13px; min-width: 0; }
.brand-copy { display: grid; line-height: 1.05; }
.brand-kicker { color: var(--red-hot); font-size: 8px; font-weight: 800; letter-spacing: .2em; margin-bottom: 4px; }
.brand strong { color: #fff; font-size: 16px; font-weight: 800; letter-spacing: .025em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.brand .sub { margin-top: 4px; font-size: 10px; color: var(--muted); letter-spacing: .02em; }
.logo {
  position: relative;
  isolation: isolate;
  display: grid;
  place-items: center;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  color: #fff;
  background: linear-gradient(145deg, var(--red-hot), var(--red-dark));
  clip-path: polygon(0 0, 32px 0, 46px 14px, 46px 46px, 14px 46px, 0 32px);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .11em;
  box-shadow: 0 0 28px rgba(237, 28, 36, .28);
}
.logo::after { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(255, 255, 255, .45); clip-path: inherit; z-index: -1; }
.topbar-actions { display: flex; gap: 9px; align-items: center; }

/* Controls */
.search, input, textarea, select {
  width: 100%;
  background: #0d0f13;
  border: 1px solid var(--border);
  border-radius: 3px;
  color: var(--text);
  padding: 9px 11px;
  font-size: 13px;
  margin-bottom: 7px;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.search { min-width: 310px; margin: 0; padding: 10px 14px; }
input::placeholder, textarea::placeholder, .search::placeholder { color: #626771; }
input:hover, textarea:hover, select:hover, .search:hover { border-color: var(--border-hi); }
input:focus, textarea:focus, select:focus, .search:focus { outline: none; border-color: var(--red); background: #111318; box-shadow: 0 0 0 3px rgba(237, 28, 36, .14); }
select { color-scheme: dark; }
.btn {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 15px;
  border-radius: 2px;
  border: 1px solid transparent;
  color: inherit;
  font-size: 12px;
  font-weight: 750;
  line-height: 1;
  letter-spacing: .02em;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn.primary { color: #fff; background: linear-gradient(135deg, var(--red-hot), var(--red-dark)); clip-path: var(--cut); box-shadow: 0 8px 20px rgba(237, 28, 36, .2); }
.btn.primary:hover { background: linear-gradient(135deg, #ff454c, var(--red)); }
.btn.ghost { color: #d9dbe0; background: #17191e; border-color: var(--border-hi); }
.btn.ghost:hover { color: #fff; background: #202329; border-color: #555b66; }
.btn.danger { color: #ff6e73; background: transparent; border-color: rgba(237, 28, 36, .5); }
.btn.danger:hover { color: #fff; background: var(--red); border-color: var(--red); }
.btn.small { min-height: 34px; height: 34px; padding: 7px 12px; font-size: 11px; }
.btn:disabled { opacity: .4; cursor: default; transform: none; }

/* Dashboard */
main { max-width: 1588px; margin: 0 auto; padding: 30px 24px 96px; }
.workspace-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin: 4px 0 28px; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.eyebrow i, .live-state i { width: 6px; height: 6px; background: var(--green); border-radius: 50%; box-shadow: 0 0 10px rgba(85, 214, 139, .7); }
.workspace-head h1 { margin-top: 8px; color: #fff; font-size: clamp(30px, 4vw, 48px); font-weight: 800; line-height: .96; letter-spacing: -.055em; text-transform: uppercase; }
.workspace-head p { margin-top: 10px; color: var(--muted); font-size: 13px; }
.metrics { display: grid; grid-template-columns: repeat(3, minmax(125px, 1fr)); border: 1px solid var(--border); background: rgba(17, 19, 24, .76); }
.metric { min-width: 130px; padding: 14px 18px; border-right: 1px solid var(--border); }
.metric:last-child { border-right: 0; }
.metric span { display: block; color: var(--muted); font-size: 9px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.metric strong { display: block; margin-top: 4px; color: #fff; font-size: 26px; line-height: 1; font-variant-numeric: tabular-nums; }
.metric.accent { position: relative; background: linear-gradient(135deg, var(--red-soft), transparent); }
.metric.accent::after { content: ""; position: absolute; right: 0; top: 0; border-top: 13px solid var(--red); border-left: 13px solid transparent; }

.state-tabs { display: flex; gap: 6px; margin-bottom: 12px; overflow-x: auto; scrollbar-width: none; }
.state-tabs::-webkit-scrollbar { display: none; }
.state-tab { display: inline-flex; align-items: center; gap: 14px; min-width: 104px; padding: 10px 12px 10px 14px; color: var(--muted); background: #101217; border: 1px solid var(--border); border-radius: 2px; cursor: pointer; font-size: 11px; font-weight: 750; text-align: left; transition: color .18s ease, border-color .18s ease, background .18s ease; }
.state-tab b { min-width: 22px; margin-left: auto; padding: 2px 6px; color: var(--muted); background: #20232a; border-radius: 2px; text-align: center; font-size: 10px; font-variant-numeric: tabular-nums; }
.state-tab:hover { color: #fff; border-color: var(--border-hi); }
.state-tab.active { color: #fff; border-color: rgba(237, 28, 36, .72); background: linear-gradient(110deg, rgba(237, 28, 36, .19), #13151a 68%); box-shadow: inset 3px 0 0 var(--red); }
.state-tab.active b { color: #fff; background: var(--red); }

.list-panel, .record-view { position: relative; background: rgba(17, 19, 24, .94); border: 1px solid var(--border); border-radius: 3px; overflow: hidden; box-shadow: var(--shadow); }
.list-panel::before, .record-view::before { content: ""; position: absolute; z-index: 2; top: -1px; right: -1px; width: 42px; height: 42px; background: linear-gradient(225deg, var(--red) 0 8px, transparent 8px); pointer-events: none; }
.list-heading { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 20px; border-bottom: 1px solid var(--border); background: linear-gradient(90deg, #14171c, #101216); }
.list-heading > div { display: flex; align-items: center; gap: 13px; }
.panel-index { color: var(--red); font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.list-heading h2 { color: #fff; font-size: 14px; font-weight: 750; letter-spacing: .01em; }
.list-heading p { margin-top: 2px; color: var(--muted); font-size: 10px; }
.live-state { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.table-scroll { width: 100%; overflow-x: auto; }
.quote-list { width: 100%; min-width: 1040px; border-collapse: collapse; font-size: 12px; }
.quote-list th { padding: 11px 14px; color: #777c86; background: #0e1014; border-bottom: 1px solid var(--border); text-align: left; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.quote-list td { height: 49px; padding: 9px 14px; color: #cdd0d6; border-bottom: 1px solid #202329; }
.quote-list tbody tr:last-child td { border-bottom: 0; }
.quote-list .job-row { cursor: pointer; transition: background .15s ease, box-shadow .15s ease; }
.quote-list .job-row:nth-child(even) { background: rgba(255, 255, 255, .012); }
.quote-list .job-row:hover { background: linear-gradient(90deg, rgba(237, 28, 36, .11), rgba(237, 28, 36, .025)); box-shadow: inset 3px 0 0 var(--red); }
.quote-list a { color: #fff; text-decoration: none; font-weight: 850; font-variant-numeric: tabular-nums; }
.quote-list a::before { content: "#"; color: var(--red); margin-right: 1px; }
.quote-list .empty { color: var(--muted); text-align: center; padding: 58px 16px; }
.status { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; border: 1px solid var(--border-hi); border-radius: 2px; color: #b9bdc5; background: #20232a; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.status::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.status-quote { color: #ff6d72; background: rgba(237, 28, 36, .1); border-color: rgba(237, 28, 36, .25); }
.status-job { color: var(--blue); background: rgba(104, 167, 255, .1); border-color: rgba(104, 167, 255, .25); }
.status-invoice { color: var(--amber); background: rgba(255, 180, 84, .1); border-color: rgba(255, 180, 84, .25); }
.status-finished { color: var(--green); background: rgba(85, 214, 139, .09); border-color: rgba(85, 214, 139, .22); }

/* Record workspace */
.record-tabs { display: flex; align-items: center; gap: 5px; padding: 11px 14px; background: #0e1014; border-bottom: 1px solid var(--border); }
.record-tab { min-height: 35px; padding: 7px 13px; color: var(--muted); background: transparent; border: 1px solid transparent; border-radius: 2px; font-size: 11px; font-weight: 800; cursor: pointer; }
.record-tab:hover { color: #fff; }
.record-tab.active { color: #fff; background: var(--red-soft); border-color: rgba(237, 28, 36, .34); box-shadow: inset 0 -2px 0 var(--red); }
.record-ref { margin-left: 12px; color: #fff; font-size: 13px; font-weight: 850; letter-spacing: .02em; }
.lifecycle { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.lifecycle select { width: auto; min-width: 110px; margin: 0; padding: 7px 9px; }
.tab-pane { display: none; padding: 22px; }
.tab-pane.active { display: block; }
.pane-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
fieldset { min-width: 0; padding: 16px; background: #13161b; border: 1px solid var(--border); border-radius: 3px; }
legend { padding: 0 8px; color: #d9dce1; font-size: 9px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
label { display: block; color: var(--muted); font-size: 11px; font-weight: 650; }
.field-label { display: block; margin: 1px 0 4px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .02em; }
.rego-row { display: flex; align-items: flex-start; gap: 7px; flex-wrap: wrap; }
.rego-row input { flex: 1 1 180px; }
.details-actions { margin-top: 15px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.tag { color: var(--muted); font-size: 11px; }
.tag.ok, #rego-msg.ok { color: var(--green); font-weight: 750; }
#rego-msg.warn { color: var(--amber); }
.invoicing { margin-top: 20px; padding-top: 17px; border-top: 1px solid var(--border); }
.invoicing h4 { margin-bottom: 10px; color: #fff; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.invoice-list { width: 100%; margin-top: 10px; border-collapse: collapse; font-size: 12px; }
.invoice-list th, .invoice-list td { padding: 9px; border-bottom: 1px solid var(--border); text-align: left; }
.invoice-list th { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }

/* Quote builder */
.area-tabs { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; padding-bottom: 11px; border-bottom: 1px solid var(--border); }
.area-tab { padding: 8px 12px; color: var(--muted); background: #171a20; border: 1px solid var(--border); border-radius: 2px; font-size: 10px; font-weight: 800; cursor: pointer; }
.area-tab:hover { color: #fff; border-color: var(--border-hi); }
.area-tab.active { color: #fff; background: var(--red-soft); border-color: rgba(237, 28, 36, .56); box-shadow: inset 3px 0 0 var(--red); }
.area-tab .sub { margin-left: 5px; color: #fff; font-size: 10px; }
.area-actions { margin-left: auto; display: flex; gap: 7px; align-items: center; }
.inline { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; }
.inline select { width: auto; margin: 0; }
.plugin-bar, .assessor-legend { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 0 0 11px; padding: 10px 12px; background: #0f1115; border: 1px solid var(--border); border-radius: 2px; }
.plugin-bar .inline select { min-width: 160px; }
.chk { display: flex; align-items: center; gap: 8px; margin: 8px 0 4px; color: #c7cad0; font-size: 12px; }
.chk input { width: auto; margin: 0; accent-color: var(--red); }
.plugin-group { margin: 14px 0; }
.plugin-group h3 { margin-bottom: 8px; color: #fff; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.plugin-card { margin-bottom: 8px; padding: 11px 13px; background: #101217; border: 1px solid var(--border); border-radius: 3px; }
.plugin-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.plugin-head .chk { margin: 0; }
.plugin-card .hint { padding: 4px 0 8px; }
.quote-toolbar { display: flex; align-items: center; gap: 8px; margin-bottom: 11px; flex-wrap: wrap; }
.quote-toolbar .search { flex: 1; min-width: 190px; }
.photo-btn { position: relative; overflow: hidden; cursor: pointer; }
#photo-count { color: var(--red-hot); font-size: 11px; font-weight: 800; }
.assessor-legend { color: var(--muted); font-size: 10px; }
.lg { display: inline-flex; align-items: center; gap: 5px; }
.sw { display: inline-block; width: 9px; height: 9px; border-radius: 1px; }
.sw-norm { background: #717783; } .sw-auth { background: #fff; }
.sw-add { background: var(--blue); } .sw-chg { background: var(--amber); }
.sw-del { background: var(--red); } .sw-ro { background: transparent; border: 1px solid var(--red); }
.editor-cols { display: grid; grid-template-columns: minmax(165px, .62fr) minmax(270px, 1fr) minmax(340px, 1.25fr); gap: 10px; min-height: 440px; }
.col { min-width: 0; min-height: 440px; display: flex; flex-direction: column; background: #101217; border: 1px solid var(--border); border-radius: 2px; }
.col h4 { padding: 10px 12px; color: #8c929d; background: #0b0d10; border-bottom: 1px solid var(--border); font-size: 9px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.ops-list { max-height: 500px; overflow-y: auto; flex: 1; }
.group-item, .choice { padding: 9px 11px; border-bottom: 1px solid #202329; color: #c6c9cf; font-size: 11px; cursor: pointer; }
.group-item:hover, .choice:hover { color: #fff; background: var(--red-soft); }
.group-item { border-left: 2px solid transparent; }
.group-item.active { color: #fff; background: linear-gradient(90deg, rgba(237, 28, 36, .2), transparent); border-left-color: var(--red); font-weight: 750; }
.choice { display: flex; align-items: center; gap: 8px; }
.choice b { min-width: 56px; color: var(--red-hot); font-family: ui-monospace, Consolas, monospace; font-size: 10px; }
.choice .hrs { margin-left: auto; color: var(--muted); font-size: 10px; font-variant-numeric: tabular-nums; }
.sel-table-wrap { max-height: 420px; overflow: auto; flex: 1; }
.sel-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.sel-table th { padding: 8px; color: #7f848e; background: #0b0d10; border-bottom: 1px solid var(--border); text-align: left; font-size: 9px; letter-spacing: .09em; text-transform: uppercase; }
.sel-table td { padding: 6px 8px; border-bottom: 1px solid #202329; vertical-align: middle; }
.sel-table input { margin: 0; padding: 5px 6px; font-size: 11px; }
.sel-table .w-hrs { width: 72px; } .sel-table .w-amt { width: 96px; } .sel-table .w-qty { width: 56px; }
.rm { padding: 0 4px; color: var(--red-hot); cursor: pointer; font-weight: 900; }
.hint { padding: 12px; color: var(--muted); font-size: 11px; font-style: italic; }
.part-add { display: grid; grid-template-columns: 1fr 1fr auto; gap: 6px; padding: 10px; border-top: 1px solid var(--border); }
.part-add.one { grid-template-columns: 1fr 90px auto; }
.part-add.labour { grid-template-columns: 1fr 80px auto; }
.quote-footer { position: sticky; bottom: 0; display: flex; flex-wrap: wrap; gap: 13px; margin-top: 12px; padding: 10px 12px; color: #9da2ab; background: rgba(8, 9, 11, .96); border: 1px solid var(--border); border-left: 3px solid var(--red); border-radius: 2px; box-shadow: 0 -10px 30px rgba(0, 0, 0, .22); font-size: 10px; backdrop-filter: blur(12px); }
.quote-footer b { color: #fff; font-variant-numeric: tabular-nums; }
.quote-footer .grand { margin-left: auto; color: #fff; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.quote-footer .grand b { margin-left: 4px; color: var(--red-hot); font-size: 14px; }

/* Generated quote stays paper-white for PDF legibility */
.view-toolbar { display: flex; gap: 8px; margin-bottom: 12px; }
.quote-paper { padding: 38px 42px; color: #111; background: #fff; border: 1px solid #d5d5d5; border-top: 4px solid var(--red); font-family: Inter, "Segoe UI", Helvetica, sans-serif; font-size: 13px; line-height: 1.5; box-shadow: 0 18px 50px rgba(0, 0, 0, .3); }
.quote-paper .center { text-align: center; }
.quote-paper h1 { font-size: 22px; letter-spacing: .02em; }
.quote-paper .shop-meta { margin-bottom: 20px; color: #333; }
.quote-paper table { width: 100%; margin: 10px 0 16px; border-collapse: collapse; }
.quote-paper th { padding: 4px; border-bottom: 2px solid #111; text-align: left; font-size: 11px; text-transform: uppercase; }
.quote-paper td { padding: 3px 4px; }
.quote-paper .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.quote-paper .section-title { margin-top: 10px; color: var(--red); font-size: 13px; font-weight: 800; }
.quote-paper .tot { border-top: 1px solid #111; font-weight: 700; }
.quote-paper .summary td { padding: 3px 4px; }

/* Settings */
.modal { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 22px; background: rgba(0, 0, 0, .76); backdrop-filter: blur(10px); }
.modal-card { width: min(720px, 96vw); max-height: 90vh; overflow: auto; padding: 24px; color: var(--text); background: #101217; border: 1px solid var(--border-hi); border-top: 3px solid var(--red); border-radius: 3px; box-shadow: 0 30px 90px rgba(0, 0, 0, .56); }
.modal-card h2 { margin-bottom: 16px; color: #fff; font-size: 24px; text-transform: uppercase; letter-spacing: -.03em; }
.modal-card fieldset { margin-bottom: 12px; }
.st-auth { background: rgba(255, 255, 255, .06); } .st-add { background: rgba(104, 167, 255, .1); } .st-chg { background: rgba(255, 180, 84, .1); }
.st-del { background: var(--red-soft); opacity: .7; text-decoration: line-through; }
.ro-tag { margin-left: 4px; padding: 0 3px; color: var(--red-hot); border: 1px solid var(--red); font-size: 9px; font-weight: 850; cursor: pointer; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #0b0d10; }
::-webkit-scrollbar-thumb { background: #343841; border: 2px solid #0b0d10; }
::-webkit-scrollbar-thumb:hover { background: #4b505b; }

@media (max-width: 1080px) {
  .editor-cols { grid-template-columns: minmax(150px, .6fr) 1fr; }
  .col.selected { grid-column: 1 / -1; }
  .search { min-width: 230px; }
}
@media (max-width: 820px) {
  .topbar { align-items: flex-start; flex-wrap: wrap; padding: 12px 16px; }
  .topbar-actions { width: 100%; flex-wrap: wrap; }
  .topbar-actions .search { flex: 1 1 100%; }
  main { padding: 22px 14px 96px; }
  .workspace-head { align-items: stretch; flex-direction: column; margin-bottom: 20px; }
  .metrics { width: 100%; }
  .metric { min-width: 0; padding: 12px; }
  .metric strong { font-size: 22px; }
  .pane-grid, .editor-cols { grid-template-columns: 1fr; }
  .col.selected { grid-column: auto; }
  .ops-list, .sel-table-wrap { max-height: 260px; }
  .record-tabs { flex-wrap: wrap; }
  .lifecycle { width: 100%; margin: 5px 0 0; flex-wrap: wrap; }
  .record-ref { margin-left: auto; }
  .tab-pane { padding: 14px; }
  .quote-paper { padding: 24px 18px; }
}
@media (max-width: 520px) {
  .brand-kicker { display: none; }
  .brand strong { font-size: 14px; }
  .brand .sub { max-width: 190px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .logo { width: 40px; height: 40px; flex-basis: 40px; clip-path: polygon(0 0, 28px 0, 40px 12px, 40px 40px, 12px 40px, 0 28px); }
  .topbar-actions .btn { flex: 1; }
  .metrics { grid-template-columns: 1fr; }
  .metric { display: flex; align-items: center; justify-content: space-between; border-right: 0; border-bottom: 1px solid var(--border); }
  .metric:last-child { border-bottom: 0; }
  .metric strong { margin: 0; }
  .workspace-head h1 { font-size: 34px; }
  .state-tab { min-width: 92px; }
  .list-heading { padding: 12px 14px; }
  .live-state { display: none; }
  .part-add, .part-add.one, .part-add.labour { grid-template-columns: 1fr; }
  .area-actions { width: 100%; margin: 3px 0 0; }
  .quote-footer .grand { width: 100%; margin-left: 0; }
}
@media print {
  :root { color-scheme: light; }
  body { background: #fff; }
  .topbar, #job-dashboard, .record-tabs, .view-toolbar { display: none !important; }
  main { max-width: none; padding: 0; }
  .record-view, .tab-pane { border: 0; padding: 0; box-shadow: none; background: #fff; }
  .quote-paper { border: 0; box-shadow: none; }
}
