/* Screen-only Voltage Drop workspace on the accepted engineering calculator basis
   (docs/design/CALCULATOR-DESIGN-BASIS.md). Module-scoped to body.page-voltage;
   palette, materials and typography follow the accepted Cable Sizing screen.
   Calculation, save/reopen/issue and print behaviour are owned elsewhere. */
@media screen {
html:has(body.page-voltage) { background:#fff; }
html[data-theme="night"]:has(body.page-voltage) { background:#191a20; }
body.page-voltage {
 --vd-canvas:#fff; --vd-surface:#fff; --vd-subtle:#f6f7fb;
 --vd-ink:#323338; --vd-muted:#676879; --vd-line:#d0d4e4;
 --vd-accent:#0060b9; --vd-accent-hover:#004f99; --vd-accent-soft:#cce5ff;
 --vd-green:#006b40; --vd-red:#b4233d; --vd-amber:#7a4e00;
 --vd-group:#f6f7fa; --vd-group-edge:#e1e5ed;
 --vd-control:#fff; --vd-tint:rgba(255,255,255,.88); --vd-highlight:rgba(255,255,255,.98);
 --vd-edge:#8996a8; --vd-shadow:0 2px 6px rgba(30,45,70,.06);
 --vd-selected:#dcecff; --vd-selected-ink:#0055a4;
 --vd-body:Arial,Helvetica,sans-serif; --vd-heading:'Poppins','Poppins-fb',Arial,sans-serif;
 --vd-mono:'JetBrains Mono',ui-monospace,monospace;
 background:var(--vd-canvas) !important; background-image:none !important;
 color:var(--vd-ink); font:14px/1.5 var(--vd-body);
}
html[data-theme="night"] body.page-voltage {
 --vd-canvas:#191a20; --vd-surface:#22232c; --vd-subtle:#282a34;
 --vd-ink:#f0eff4; --vd-muted:#b0afbe; --vd-line:#55596c;
 --vd-accent:#8ec5ff; --vd-accent-hover:#b7dcff; --vd-accent-soft:#263e58;
 --vd-green:#a3dbb8; --vd-red:#f0acb6; --vd-amber:#e9c27e;
 --vd-group:#22242e; --vd-group-edge:#414654;
 --vd-control:#2b2e39; --vd-tint:rgba(43,46,57,.94); --vd-highlight:rgba(62,66,82,.9);
 --vd-edge:#7d879c; --vd-shadow:0 2px 6px rgba(0,0,0,.16);
 --vd-selected:#354f70; --vd-selected-ink:#d1e8ff;
 color-scheme:dark;
}
body.page-voltage::before, body.page-voltage::after { background-image:none !important; }

/* Map the grouped-card and landing tokens used by the shared markup. */
body.page-voltage :is(main,.vd,.amp-workspace-strip,dialog,[role="dialog"]) {
 --sans:var(--vd-body); --serif:var(--vd-heading); --mono:var(--vd-mono);
 --bg:var(--vd-canvas); --bg-card:var(--vd-surface); --bg-deep:var(--vd-subtle); --bg-deepest:var(--vd-subtle);
 --ink:var(--vd-ink); --ink-soft:var(--vd-muted); --ink-mute:var(--vd-muted); --ink-dim:var(--vd-muted); --ink-fade:var(--vd-muted); --ink-inverse:var(--vd-canvas);
 --accent:var(--vd-accent); --copper:var(--vd-accent); --clay-text:var(--vd-accent); --clay-small:var(--vd-amber);
 --rule:var(--vd-line); --rule-strong:var(--vd-line); --hairline:var(--vd-line);
 --input:var(--vd-surface); --display:var(--vd-surface); --ctrl:var(--vd-subtle); --soft:var(--vd-subtle);
 --pass:var(--vd-green); --fail:var(--vd-red);
 --on-dark:var(--vd-ink); --on-dark-dim:var(--vd-muted); --on-dark-line:var(--vd-line);
 --glass:var(--vd-surface); --panel-glass:var(--vd-surface); --glass-edge:var(--vd-line); --panel-shadow:none;
 --aw-ink:var(--vd-ink); --aw-muted:var(--vd-muted); --aw-line:var(--vd-line); --aw-bg:var(--vd-surface); --aw-soft:var(--vd-group);
 --pad:16px; --gap:12px; --hero-size:42px; --ctl-h:36px;
}
html:has(body.page-voltage) { scroll-padding-top:0; }

/* Typography roles: Arial body, Poppins 500 headings, JetBrains Mono identifiers only. */
body.page-voltage :is(main,dialog,.mobile-drawer,footer) *,
body.page-voltage :is(main,dialog,.mobile-drawer,footer) *::before,
body.page-voltage :is(main,dialog,.mobile-drawer,footer) *::after { font-family:var(--vd-body) !important; letter-spacing:0; }
body.page-voltage :is(main,dialog,.mobile-drawer,footer) :is(h1,h2,h3,h4,.t,.ct,.doc-h,.brand,.amp-dc-section::before),
body.page-voltage :is(main,dialog,.mobile-drawer,footer) :is(h1,h2,h3,h4,.t,.ct,.doc-h,.brand) * { font-family:var(--vd-heading) !important; font-weight:500; font-style:normal; }
body.page-voltage :is(main,dialog) :is(pre,code,.mono,.amp-dc-docno,.amp-dc-rev,.amp-dc-chip,.amp-dc-vf,.amp-dc-reg),
body.page-voltage :is(main,dialog) .amp-dc-rrow .rv,
body.page-voltage :is(main,dialog) :is(pre,code,.mono) * { font-family:var(--vd-mono) !important; }
body.page-voltage main { color:var(--vd-ink); }

/* Stage and sections */
.page-voltage .vd-stage { display:block; background:var(--vd-canvas); padding:20px 24px 48px; }
.page-voltage .vd-stage .vd-suite.suite-wide { display:flex; flex-direction:column; width:100%; max-width:none; gap:36px; }
.page-voltage .vd-suite.suite-wide .vd { min-width:0; padding:0; border:0; border-radius:0; box-shadow:none; background:transparent; font-family:var(--vd-body); font-weight:400; }
.page-voltage .vd-suite.suite-wide > .vd[data-role="analysis"] { position:static; max-height:none; overflow:visible; }
.page-voltage .vd [hidden], .page-voltage main [hidden] { display:none !important; }
.page-voltage .vd .vd-head { padding:0 0 14px; min-height:42px; flex-wrap:wrap; gap:8px; background:transparent; }
.page-voltage .vd .vd-head .hl { display:block; }
.page-voltage .vd .vd-head .t { font-size:24px; line-height:1.3; letter-spacing:-.02em; color:var(--vd-ink); margin:0; }
.page-voltage .vd .vd-head h2.t { font-size:20px; line-height:1.4; }
.page-voltage .voltage-subheading { font:400 14px/1.5 var(--vd-body); color:var(--vd-muted); margin:4px 0 0; }
.page-voltage .vd .vd-head .hr { flex-wrap:wrap; gap:8px; }
.page-voltage .vd .vd-head .tag { font:400 12px/1.5 var(--vd-body); letter-spacing:0; text-transform:none; color:var(--vd-muted); overflow-wrap:anywhere; }
.page-voltage .vd .vd-status { background:var(--vd-surface); padding:4px 10px; border:1px solid var(--vd-line); border-radius:999px; box-shadow:none; }
.page-voltage .vd .vd-status select { appearance:auto; background:transparent; background-image:none; color:var(--vd-ink); font:400 13px var(--vd-body); letter-spacing:0; text-transform:none; padding:0; min-height:26px; }
.page-voltage .vd .vd-status select option { color:var(--vd-ink); background:var(--vd-surface); }

/* Section navigator: compact, never covers a focused field. */
.page-voltage .voltage-section-nav { position:sticky; top:calc(var(--voltage-header-height,80px) + 8px); z-index:25; display:flex; align-items:center; gap:4px; flex-wrap:wrap; width:fit-content; max-width:100%; padding:4px; margin:0 0 12px; border:1px solid var(--vd-line); border-radius:14px; background:var(--vd-surface); box-shadow:var(--vd-shadow); }
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 .page-voltage .voltage-section-nav { background:linear-gradient(160deg,var(--vd-highlight),var(--vd-tint)); backdrop-filter:blur(8px) saturate(110%); -webkit-backdrop-filter:blur(8px) saturate(110%); }
}
.page-voltage .voltage-section-nav a { display:inline-flex; flex-shrink:0; align-items:center; min-height:32px; padding:4px 12px; box-sizing:border-box; text-decoration:none; font-size:13px; border-radius:10px; color:var(--vd-ink); }
.page-voltage .voltage-section-nav a:hover { background:var(--vd-subtle); }
.page-voltage .voltage-nav-result { flex:0 1 auto; min-width:0; font-size:12px; color:var(--vd-muted); padding:0 12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.page-voltage .voltage-nav-result:empty { display:none; }
.page-voltage .voltage-section-nav.voltage-nav-keyboard { position:static; }
@media (max-height:500px) { .page-voltage .voltage-section-nav { position:static; } }
.page-voltage :is(#voltage-inputs,#voltage-analysis,#voltage-document,#vd-hero,.vd-cols input,.vd-cols select) { scroll-margin-top:calc(var(--voltage-header-height,80px) + var(--voltage-nav-height,42px) + 24px); }

/* Input groups: quiet opaque reading surfaces. */
.page-voltage .vd .vd-cols { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; align-items:start; }
.page-voltage .vd .vd-card, .page-voltage .vd .vd-hero { min-width:0; padding:16px; background:var(--vd-surface); border:1px solid var(--vd-line); border-radius:18px; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
.page-voltage #voltage-inputs > .vd-card { background:var(--vd-group); border-color:var(--vd-group-edge); }
.page-voltage .vd .vd-card .ct { display:block; font:500 16px/1.5 var(--vd-heading); letter-spacing:-.01em; text-transform:none; color:var(--vd-ink); margin:0 0 8px; min-height:0; }
.page-voltage .vd .vd-card .ct::before, .page-voltage .vd .ct-meta { display:none; }
.page-voltage .vd .vd-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:7px; }
.page-voltage .vd .vd-fld { min-width:0; margin:0; }
.page-voltage .vd .vd-fld .fl { margin-bottom:4px; min-height:18px; gap:4px; }
.page-voltage .vd .vd-fld .fld-label { font-size:13px; line-height:18px; font-weight:400; letter-spacing:0; text-transform:none; color:var(--vd-muted); }
.page-voltage .voltage-field-note { margin:6px 0 0; font-size:12px; line-height:1.5; color:var(--vd-muted); }
.page-voltage .vd .step-locked { height:auto; min-height:36px; border-radius:12px; background:var(--vd-subtle); border:1px solid var(--vd-line); font:400 14px var(--vd-body); color:var(--vd-muted); padding:0 10px; }

/* Controls: one visible frame, 12px radius, restrained glass with solid fallback. */
.page-voltage .vd :is(.field,select.dd,.seg-radio) { min-height:36px; height:auto; width:100%; border:1px solid var(--vd-edge); border-radius:12px; background:var(--vd-control); box-shadow:var(--vd-shadow); padding-inline:9px; box-sizing:border-box; transition:none; }
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 .page-voltage .vd :is(.field,select.dd,.seg-radio) { background:linear-gradient(160deg,var(--vd-highlight),var(--vd-tint)); backdrop-filter:blur(8px) saturate(110%); -webkit-backdrop-filter:blur(8px) saturate(110%); }
}
.page-voltage .vd select.dd { font-size:14px; line-height:1.5; font-weight:400; color:var(--vd-ink); appearance:auto; background-image:none; }
.page-voltage .vd select.dd option { background:var(--vd-surface); color:var(--vd-ink); }
.page-voltage .vd .field { display:flex; align-items:center; gap:6px; }
.page-voltage .vd .field input { min-width:0; width:100%; border:0; border-radius:0; background:transparent; box-shadow:none; outline:none; font-size:14px; line-height:1.5; font-weight:400; color:var(--vd-ink); padding:0; font-variant-numeric:tabular-nums; }
.page-voltage .vd .field .unit { flex-shrink:0; font:400 12px var(--vd-body); color:var(--vd-muted); white-space:nowrap; }
.page-voltage .vd .seg-radio { display:flex; gap:2px; padding:2px; }
.page-voltage .vd .seg-radio label { flex:1; display:flex; align-items:center; justify-content:center; position:relative; border:0; border-radius:9px; background:transparent; box-shadow:none; outline:none; font-size:13px; font-weight:400; color:var(--vd-muted); padding:5px 4px; white-space:normal; text-align:center; cursor:pointer; transition:none; }
.page-voltage .vd .seg-radio label:hover { color:var(--vd-ink); }
.page-voltage .vd .seg-radio label.active { background:var(--vd-selected); color:var(--vd-selected-ink); }
.page-voltage .vd .seg-radio input { position:absolute; opacity:0; width:0; height:0; pointer-events:none; }
/* One module focus ring (2 px accent, 3 px offset) replaces the landing-wide 3 px
   ring inside the calculator. Radios are visually hidden, so the group shows the
   ring for any focus inside it, including focus moved by the review action. */
.page-voltage .vd :focus-visible { outline:2px solid var(--vd-accent); outline-offset:3px; }
.page-voltage .vd .field:has(:focus-visible), .page-voltage .vd .seg-radio:focus-within, .page-voltage .vd select.dd:focus-visible { outline:2px solid var(--vd-accent); outline-offset:3px; }
.page-voltage .vd .seg-radio:not(:focus-within) { outline:none; }
.page-voltage .vd .seg-radio input[type="radio"]:focus, .page-voltage .vd .seg-radio input[type="radio"]:focus-visible, .page-voltage .vd .seg-radio label:focus-within { outline:none; }
.page-voltage .vd .field:focus-within { border-color:var(--vd-edge); }
.page-voltage .vd .field:has([aria-invalid="true"]), .page-voltage .vd select[aria-invalid="true"] { border-color:var(--vd-red) !important; }
.page-voltage .voltage-field-error { font-size:13px; line-height:1.45; margin:7px 0 0; color:var(--vd-red); }
.page-voltage .vd .field input:focus-visible { outline:none; }
.page-voltage .vd :is(input,select,textarea,button):disabled { opacity:.55; cursor:not-allowed; }
.page-voltage .voltage-input-foot { display:flex; justify-content:space-between; gap:12px; align-items:center; color:var(--vd-muted); font-size:12px; margin-top:12px; }
.page-voltage .voltage-input-foot a { display:inline-flex; align-items:center; min-height:32px; color:var(--vd-accent); text-decoration:underline; text-underline-offset:4px; }

/* Buttons */
.page-voltage .vd :is(.vd-pdf-btn,.vd-save-btn,.add-btn,.amp-dc-act,.vsp-save,.voltage-document-button,.voltage-review-input) { font:400 13px/1.4 var(--vd-body); letter-spacing:0; text-transform:none; border-radius:12px; min-height:36px; padding:8px 14px; margin:0; cursor:pointer; transition:none; box-shadow:none; text-shadow:none; transform:none; }
.page-voltage .vd :is(.vd-pdf-btn,.add-btn,.amp-dc-act,.voltage-document-button,.voltage-review-input) { color:var(--vd-ink); background:var(--vd-control); border:1px solid var(--vd-edge); box-shadow:var(--vd-shadow); }
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 .page-voltage .vd :is(.vd-pdf-btn,.add-btn,.amp-dc-act,.voltage-document-button,.voltage-review-input), .page-voltage .vd .vd-tab, .page-voltage #amp-workspace button { background:linear-gradient(160deg,var(--vd-highlight),var(--vd-tint)); backdrop-filter:blur(8px) saturate(110%); -webkit-backdrop-filter:blur(8px) saturate(110%); }
}
.page-voltage .vd :is(.vd-pdf-btn,.add-btn,.amp-dc-act,.voltage-document-button,.voltage-review-input):hover { background:var(--vd-subtle); }
/* Primary Save (header, signed-out ghost and Document mirror), placed after the secondary rules so it wins at equal specificity and outranks calc-save's .ghost/.is-locked; the forced-colours block below still overrides it. */
.page-voltage .vd :is(.vd-save-btn,.vsp-save,[id="voltage-document-save"]) { color:var(--vd-canvas); background:var(--vd-accent); border:1px solid var(--vd-accent); }
.page-voltage .vd :is(.vd-save-btn,.vsp-save,[id="voltage-document-save"]):hover:not(:disabled) { background:var(--vd-accent-hover); border-color:var(--vd-accent-hover); opacity:1; }

/* Results: selected result, basis and explicit check states first. */
.page-voltage .vd .vd-hero { padding:20px; margin-bottom:16px; display:block; }
.page-voltage .vd .vd-hero-main { border:0; padding:0; min-width:0; max-width:100%; }
.page-voltage .vd .vd-hero-head { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.page-voltage .vd .vd-lbl { font-size:14px; font-weight:400; letter-spacing:0; text-transform:none; color:var(--vd-muted); }
.page-voltage .vd .vd-badge { font-size:12px; font-weight:400; letter-spacing:0; text-transform:none; padding:5px 11px; border-radius:999px; white-space:normal; background:var(--vd-subtle); color:var(--vd-ink); border:1px solid var(--vd-line); }
.page-voltage .vd .vd-badge.pass { color:var(--vd-green); background:var(--vd-subtle); }
.page-voltage .vd .vd-badge.fail { color:var(--vd-red); background:var(--vd-subtle); }
.page-voltage .vd .vd-badge.voltage-partial { color:var(--vd-muted); }
.page-voltage .vd .vd-figure { margin:10px 0 4px; }
.page-voltage .vd .vd-figure .big { display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; }
.page-voltage .vd .vd-figure .big .v { font-size:42px; font-weight:500; line-height:1; color:var(--vd-ink); letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.page-voltage .vd .vd-figure .big .u { font-size:16px; color:var(--vd-muted); }
.page-voltage .vd .vd-figure .sub { font-size:14px; font-weight:400; margin-top:10px; color:var(--vd-ink); }
.page-voltage .vd .voltage-basis { margin:10px 0 0; font-size:13px; line-height:1.5; color:var(--vd-muted); overflow-wrap:anywhere; }
.page-voltage .vd .vd-hero-viz { display:block; border:0; padding:0; }
.page-voltage .vd .vd-mini { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:16px; }
.page-voltage .vd .vd-mini .m .k { font:400 13px/1.5 var(--vd-body); letter-spacing:0; text-transform:none; color:var(--vd-muted); }
.page-voltage .vd .vd-mini .m .v { font:400 20px/1.3 var(--vd-body); color:var(--vd-ink); font-variant-numeric:tabular-nums; margin-top:0; }
.page-voltage .vd .vd-mini .m .v i { font-style:normal; font-size:13px; color:var(--vd-muted); margin-left:3px; }
.page-voltage .vd .vd-mini .m .v.hot { color:var(--vd-amber); }
.page-voltage .voltage-check-summary { margin:8px 0 16px; font-size:14px; line-height:1.5; color:var(--vd-ink); }
.page-voltage .voltage-check-summary:empty { display:none; }
.page-voltage .voltage-review-input { margin:0 0 16px; min-height:40px; }
.page-voltage .voltage-key-checks { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.page-voltage .voltage-check { min-width:0; padding:20px; background:var(--vd-group); border:1px solid var(--vd-group-edge); border-radius:18px; }
.page-voltage .voltage-check-head { display:flex; justify-content:space-between; align-items:baseline; gap:8px; flex-wrap:wrap; }
.page-voltage .voltage-check h3 { font:500 16px/1.35 var(--vd-heading); letter-spacing:-.01em; margin:0; color:var(--vd-ink); }
.page-voltage .voltage-check-status { font-size:12px; color:var(--vd-muted); white-space:nowrap; }
.page-voltage .voltage-check-value { margin:20px 0 3px; font-size:30px; line-height:1.15; letter-spacing:-.03em; font-variant-numeric:tabular-nums; color:var(--vd-ink); }
.page-voltage .voltage-check-limit { font-size:13px; color:var(--vd-muted); margin:0; overflow-wrap:anywhere; }
.page-voltage [data-status="pass"] .voltage-check-status, .page-voltage .voltage-other-check[data-status="pass"] strong { color:var(--vd-green); }
.page-voltage [data-status="fail"] .voltage-check-status, .page-voltage .voltage-other-check[data-status="fail"] strong { color:var(--vd-red); }
.page-voltage [data-status="warn"] .voltage-check-status, .page-voltage .voltage-other-check[data-status="warn"] strong { color:var(--vd-amber); }
.page-voltage .voltage-check[data-status="fail"] { border-color:var(--vd-red); }
.page-voltage .voltage-other-checks { display:flex; flex-wrap:wrap; gap:12px 32px; padding:16px 0; font-size:13px; }
.page-voltage .voltage-other-check { display:flex; flex-wrap:wrap; gap:8px; }
.page-voltage .voltage-other-check strong { font-weight:500; color:var(--vd-muted); }
.page-voltage .voltage-other-check p { flex-basis:100%; color:var(--vd-muted); margin:0; }
.page-voltage .voltage-advisories { background:var(--vd-surface); border:1px solid var(--vd-line); border-left:3px solid var(--vd-amber); padding:16px; margin-bottom:16px; border-radius:8px; }
.page-voltage .voltage-advisories h3 { font:500 14px var(--vd-heading); margin:0 0 8px; }
.page-voltage .voltage-advisories ul { margin:0; padding-left:18px; color:var(--vd-muted); font-size:13px; }
.page-voltage .voltage-details { border-top:1px solid var(--vd-line); }
.page-voltage .voltage-details > summary { padding:18px 0; cursor:pointer; font-size:16px; font-weight:500; font-family:var(--vd-heading) !important; color:var(--vd-ink); }
.page-voltage .voltage-details > summary span { font-size:13px; font-weight:400; color:var(--vd-muted); margin-left:14px; font-family:var(--vd-body) !important; }
.page-voltage .voltage-details > .vd-card { background:var(--vd-group); border-color:var(--vd-group-edge); }

/* Detailed analysis */
.page-voltage .vd .vd-tabs { display:flex; flex-wrap:wrap; align-items:center; gap:8px; border-bottom:1px solid var(--vd-line); padding-bottom:12px; margin-bottom:10px; }
.page-voltage .vd .vd-tab { border:1px solid var(--vd-edge); border-radius:12px; min-height:44px; padding:9px 16px; color:var(--vd-ink); font:400 14px var(--vd-body); background:var(--vd-control); box-shadow:var(--vd-shadow); transition:none; cursor:pointer; }
.page-voltage .vd .vd-tab.active { color:var(--vd-selected-ink); background:var(--vd-selected); border-color:var(--vd-edge); }
.page-voltage .vd .vd-tab::after { display:none; }
.page-voltage .vd .vd-tabs .ref { font:400 12px var(--vd-body); color:var(--vd-muted); margin-left:auto; }
.page-voltage .vd .srow { gap:18px; padding:10px 0; border-bottom:1px solid var(--vd-line); }
.page-voltage .vd .srow .lab, .page-voltage .vd .srow .val { font-size:14px; font-weight:400; }
.page-voltage .vd .srow .lab { color:var(--vd-muted); }
.page-voltage .vd .srow .lab .ref { font-size:12px; letter-spacing:0; color:var(--vd-muted); }
.page-voltage .vd .srow .val { color:var(--vd-ink); white-space:normal; text-align:right; overflow-wrap:anywhere; }
.page-voltage .vd .srow .val em { font-style:normal; font-weight:400; font-size:.9em; color:var(--vd-muted); }
.page-voltage .vd .srow.gov .val { color:var(--vd-ink); font-size:14px; }
.page-voltage .vd .ref { font-family:var(--vd-body); }
.page-voltage .vd .vd-util { border-top:1px solid var(--vd-line); gap:24px; }
.page-voltage .vd .vd-util .uhead { font:500 14px var(--vd-heading) !important; letter-spacing:0; text-transform:none; color:var(--vd-ink); }
.page-voltage .vd .urow .utop { font-size:13px; }
.page-voltage .vd .urow .ul, .page-voltage .vd .urow .uv, .page-voltage .vd .urow .uv .um { font-weight:400; }
.page-voltage .vd .ubar { background:var(--vd-subtle); border:1px solid var(--vd-line); }
.page-voltage .vd .ubar .ufill { background:var(--vd-accent); transition:none; }
.page-voltage .vd .ubar .ufill.over { background:var(--vd-red); }
.page-voltage .vd .creason { padding:14px 0; border-bottom:1px solid var(--vd-line); }
.page-voltage .vd .creason .ctag { font:500 12px/1.7 var(--vd-body); letter-spacing:0; text-transform:none; }
.page-voltage .vd .creason.pass .ctag { color:var(--vd-green); }
.page-voltage .vd .creason.warn .ctag { color:var(--vd-amber); }
.page-voltage .vd .creason.fail .ctag { color:var(--vd-red); }
.page-voltage .vd .creason .cmsg { font-size:14px; line-height:1.6; color:var(--vd-ink); }
.page-voltage .vd .vd-insight { border-left:2px solid var(--vd-accent); background:var(--vd-surface); border-radius:0 8px 8px 0; font-size:13px; color:var(--vd-ink); }
.page-voltage .vd .vd-insight code { font-family:var(--vd-body) !important; font-weight:500; color:var(--vd-ink); white-space:normal; overflow-wrap:anywhere; }
.page-voltage .vd .vd-pane { min-width:0; overflow-x:auto; }
.page-voltage .vd #pane-summary:not([hidden]) { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); column-gap:48px; }
.page-voltage .vd #pane-summary .srow { grid-column:1; }
.page-voltage .vd #pane-summary .vd-util { grid-column:2; grid-row:1 / span 16; align-self:start; margin:0; padding:16px 0; border:0; }
.page-voltage .vd #pane-summary .voltage-basis { grid-column:1 / -1; }
.page-voltage .vd table.vd-tbl { font-size:14px; }
.page-voltage .vd table.vd-tbl th { color:var(--vd-muted); font-weight:400; letter-spacing:0; text-transform:none; font-size:12px; background:var(--vd-subtle); border-color:var(--vd-line); }
.page-voltage .vd table.vd-tbl td { border-bottom:1px solid var(--vd-line); color:var(--vd-ink); }
.page-voltage .vd table.vd-tbl tbody tr.sel { background:var(--vd-selected); }
.page-voltage .vd table.vd-tbl tbody tr.sel td { font-weight:500; color:var(--vd-selected-ink); }
.page-voltage .vd .st-pass { color:var(--vd-green); font-weight:500; }
.page-voltage .vd .st-fail { color:var(--vd-red); font-weight:500; }
/* The labelled, focusable tab panel is the only horizontal scroller; inner
   wrappers and the audit <pre> never scroll on their own. */
.page-voltage .vd #pane-comparison table.vd-tbl { display:table; }
.page-voltage .vd #pane-comparison > div:has(> table) { overflow:visible !important; }
.page-voltage .vd #pane-audit > pre { margin:0; font-size:12px; line-height:1.6; color:var(--vd-ink); white-space:pre; overflow:visible !important; }
.page-voltage .vd .vd-pane:focus-visible { outline:2px solid var(--vd-accent); outline-offset:4px; border-radius:4px; }

/* Document */
.page-voltage #amp-workspace { background:var(--vd-group) !important; border:1px solid var(--vd-group-edge) !important; border-radius:18px !important; box-shadow:none !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; margin:6px 0 18px; }
.page-voltage #amp-workspace button { border-radius:12px !important; min-height:44px; background:var(--vd-control); border:1px solid var(--vd-edge); box-shadow:var(--vd-shadow); color:var(--vd-ink); }
.page-voltage #amp-workspace button:hover { background:var(--vd-subtle); }
.page-voltage #amp-workspace h2 { font:500 16px/1.4 var(--vd-heading) !important; }
.page-voltage .voltage-document-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:0 0 16px; }
.page-voltage .voltage-document-state { margin-right:auto; font-size:13px; color:var(--vd-muted); }
.page-voltage .voltage-document-button { min-height:40px; }
body.page-voltage:has(#voltage-document-save:not([hidden])) #amp-workspace .aw-working > button { display:none; }
.page-voltage #voltage-document .vd-card { background:var(--vd-group); border-color:var(--vd-group-edge); }
.page-voltage .vd .vd-docgrid { margin-top:12px; }
.page-voltage .vd .doc-h { text-transform:none; font-size:16px; letter-spacing:0; font-weight:500; color:var(--vd-ink); margin:0 0 8px; }
.page-voltage #notes-list, .page-voltage #refs-list { margin:0; padding-left:20px; font-size:14px; line-height:1.6; color:var(--vd-ink); }
.page-voltage #notes-list li[contenteditable] { border-radius:8px; padding:6px 8px; overflow-wrap:anywhere; }
.page-voltage #notes-list li[contenteditable]:focus { background:var(--vd-surface); }
.page-voltage .vd .vd-exports { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; padding:14px 0; border:0; border-top:1px solid var(--vd-line); border-radius:0; background:transparent; font-size:13px; color:var(--vd-muted); }
.page-voltage .vd .vd-exports .xlabel { color:var(--vd-muted); }
.page-voltage .vd .vd-exports a { color:var(--vd-accent); text-decoration:underline; text-underline-offset:4px; display:inline-flex; align-items:center; min-height:32px; }
.page-voltage .vd .vd-exports .vd-disclaim { flex-basis:100%; line-height:1.5; }
.page-voltage .vd .amp-dc-fld input { min-height:36px; font-weight:400; }
.page-voltage .vd .vd-save-panel { background:var(--vd-surface); color:var(--vd-ink); border:1px solid var(--vd-line); border-radius:18px; box-shadow:0 12px 40px #00000014; max-width:calc(100vw - 48px); }
.page-voltage :is(.vsp-head,.vsp-fld>span,.vsp-msg) { font-family:var(--vd-body) !important; color:var(--vd-muted); letter-spacing:0; text-transform:none; font-size:12px; }
.page-voltage :is(.vsp-fld input,.vsp-fld select) { font-family:var(--vd-body) !important; background:var(--vd-surface); color:var(--vd-ink); border-radius:12px; border:1px solid var(--vd-line); font-size:14px; }
.page-voltage .vsp-msg.err { color:var(--vd-red); }

/* Project workspace dialog: same type roles and controls as the page. */
body.page-voltage :is(#amp-workspace-dialog,dialog.amp-workspace-dialog) { --aw-ink:var(--vd-ink); --aw-muted:var(--vd-muted); --aw-line:var(--vd-line); --aw-bg:var(--vd-surface); --aw-soft:var(--vd-group); color:var(--vd-ink); }
body.page-voltage :is(#amp-workspace-dialog,dialog.amp-workspace-dialog) :is(button,input,select,textarea) { border-radius:12px !important; min-height:44px; font-family:var(--vd-body) !important; }
body.page-voltage :is(#amp-workspace-dialog,dialog.amp-workspace-dialog) :is(h2,h3) { font-family:var(--vd-heading) !important; font-weight:500; }
body.page-voltage .aw-head h2 { font-size:24px; }
body.page-voltage .aw-people h3, body.page-voltage .aw-schedule h3 { font-size:16px; }
body.page-voltage .amp-workspace-dialog .amp-dc-sections { display:block !important; }
body.page-voltage .amp-workspace-dialog .amp-dc-section { border:0; padding:0; min-width:0; }
body.page-voltage .amp-workspace-dialog .amp-dc-section:has(> .amp-dc-grid[hidden]) { display:none; }
body.page-voltage .amp-workspace-dialog .amp-dc-section[aria-label="Document details"]::before { display:none; }
body.page-voltage .amp-workspace-dialog .amp-dc-grid.g3 { grid-template-columns:minmax(0,1fr); }
body.page-voltage .amp-workspace-dialog .aw-refresh { border:0 !important; background:transparent !important; padding:0; min-height:36px; text-decoration:underline; text-underline-offset:3px; }
body.page-voltage :is(#amp-workspace-dialog,dialog.amp-workspace-dialog) :focus-visible, .page-voltage #amp-workspace button:focus-visible, .page-voltage :is(#voltage-analysis,#voltage-document) :is(button,a,summary,[contenteditable]):focus-visible { outline:2px solid var(--vd-accent) !important; outline-offset:3px; }
.page-voltage #amp-workspace a, .page-voltage #voltage-document a { color:var(--vd-accent); }

/* Responsive */
@media (min-width:1200px) {
 .page-voltage .vd .vd-grid { gap:4px; }
 .page-voltage .vd .vd-cols .field input { min-height:0; padding:0 4px; }
 .page-voltage .voltage-section-nav { margin:0 420px calc(-1 * var(--voltage-nav-height,42px)) 300px; max-width:calc(100% - 720px); flex-wrap:nowrap; }
 .page-voltage .voltage-section-nav a { padding-inline:10px; }
}
@media (min-width:1200px) and (max-width:1399px) { .page-voltage .vd .vd-grid { gap:1px; } }
@media (max-width:1199px) {
 .page-voltage .vd .vd-cols { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .page-voltage .voltage-key-checks { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:1000px) { body.page-voltage header.topbar .nav { display:none; } }
@media (max-width:800px) {
 .page-voltage .vd #pane-summary:not([hidden]) { display:block; }
 .page-voltage .vd #pane-summary .vd-util { margin-top:16px; }
}
@media (max-width:600px) {
 .page-voltage .vd-stage { padding:16px 16px 32px; }
 .page-voltage .vd .vd-cols { grid-template-columns:1fr; }
 .page-voltage .vd .vd-head .hr { width:100%; }
 .page-voltage .vd .vd-head .tag { flex-basis:100%; }
 .page-voltage .vd :is(.field input,select.dd,.amp-dc-fld input,.vsp-fld input,.vsp-fld select) { font-size:16px; }
 .page-voltage .vd .vd-tabs .ref { width:100%; margin-left:0; padding-top:8px; }
 .page-voltage .vd .vd-tab { padding:9px 12px; }
 .page-voltage .voltage-key-checks { grid-template-columns:1fr; }
 .page-voltage .voltage-details > summary span { display:block; margin:6px 0 0 18px; }
 .page-voltage .voltage-section-nav { width:100%; box-sizing:border-box; justify-content:space-between; }
 .page-voltage .voltage-section-nav a { min-height:40px; flex:1; justify-content:center; padding-inline:8px; }
 .page-voltage .voltage-nav-result { flex-basis:100%; padding:2px 8px 4px; text-align:center; }
 .page-voltage .voltage-document-state { flex-basis:100%; }
 .page-voltage .vd .vd-mini { gap:10px 20px; }
}
@media (pointer:coarse), (max-width:600px) {
 .page-voltage .vd :is(.field,select.dd,.seg-radio,.step-locked) { min-height:44px; height:auto; }
 .page-voltage .vd :is(.vd-pdf-btn,.vd-save-btn,.add-btn,.amp-dc-act,.vsp-save,.voltage-document-button,.voltage-review-input) { min-height:44px; }
 .page-voltage .vd .vd-cols .field input { min-height:0; }
}

/* Fallbacks: reduced transparency, high contrast, forced colours, reduced motion. */
@media (prefers-reduced-transparency:reduce), (prefers-contrast:more) {
 .page-voltage .vd :is(.field,select.dd,.seg-radio,.vd-tab,.vd-pdf-btn,.add-btn,.amp-dc-act,.voltage-document-button,.voltage-review-input), .page-voltage #amp-workspace button, .page-voltage .voltage-section-nav { background:var(--vd-control); backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:none; }
 .page-voltage .vd .vd-tab.active { background:var(--vd-selected); }
 .page-voltage .vd [id="voltage-document-save"] { background:var(--vd-accent); }
}
@media (forced-colors:active) {
 .page-voltage .vd :is(.field:has([aria-invalid="true"]),select[aria-invalid="true"],[data-invalid="true"]) { outline:2px solid Mark; outline-offset:1px; }
 .page-voltage .vd :focus-visible, .page-voltage .vd .seg-radio:focus-within { outline-color:Highlight; }
 .page-voltage .vd :is(.field,select.dd,.seg-radio,.vd-card,.vd-hero,.vd-tab,.vd-pdf-btn,.vd-save-btn,.add-btn,.voltage-document-button,.voltage-review-input), .page-voltage .voltage-check, .page-voltage #amp-workspace, .page-voltage #amp-workspace button, .page-voltage .voltage-section-nav { background:Canvas; border-color:CanvasText; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
 .page-voltage .vd .seg-radio label.active, .page-voltage .vd .vd-tab.active { background:Highlight; color:HighlightText; forced-color-adjust:none; }
}
@media (prefers-reduced-motion:reduce) { .page-voltage *, .page-voltage *::before, .page-voltage *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
}
@media print { .voltage-section-nav, .voltage-document-actions, .voltage-review-input { display:none !important; } }
