/* Earthing Grid screen presentation on the accepted calculator design basis
   (docs/design/CALCULATOR-DESIGN-BASIS.md). Screen only. Calculation methods,
   save/document contracts and the printed report are unchanged by this file. */
@media screen {
html:has(body.page-earthing) { background:#fff; }
html[data-theme="night"]:has(body.page-earthing) { background:#191a20; }
body.page-earthing {
 --eg-canvas:#fff; --eg-surface:#fff; --eg-group:#f6f7fa; --eg-group-edge:#e1e5ed;
 --eg-ink:#323338; --eg-muted:#676879; --eg-line:#d0d4e4;
 --eg-accent:#0060b9; --eg-accent-hover:#004f99; --eg-accent-soft:#dcecff; --eg-accent-ink:#0055a4; --eg-on-accent:#fff;
 --eg-green:#006b40; --eg-red:#b4233d; --eg-amber:#6b4500;
 --eg-body:Arial,Helvetica,sans-serif;
 --eg-heading:'Poppins','Poppins-fb',Arial,sans-serif;
 --eg-mono:'JetBrains Mono',ui-monospace,monospace;
 background:var(--eg-canvas) !important; background-image:none !important;
 color:var(--eg-ink); font:14px/1.5 var(--eg-body);
}
html[data-theme="night"] body.page-earthing {
 --eg-canvas:#191a20; --eg-surface:#2b2e39; --eg-group:#22242e; --eg-group-edge:#414654;
 --eg-ink:#f0eff4; --eg-muted:#b0afbe; --eg-line:#55596c;
 --eg-accent:#8ec5ff; --eg-accent-hover:#b7dcff; --eg-accent-soft:#354f70; --eg-accent-ink:#d1e8ff; --eg-on-accent:#191a20;
 --eg-green:#a3dbb8; --eg-red:#f0acb6; --eg-amber:#e9c27e;
 color-scheme:dark;
}
body.page-earthing::before, body.page-earthing::after { display:none !important; }

/* Map the shared grouped-card, workspace and diagram token families to the module palette. */
body.page-earthing .vd-stage, body.page-earthing .vd,
body.page-earthing :is(dialog,[role="dialog"],.amp-workspace-strip,.amp-workspace-dialog) {
 --sans:var(--eg-body) !important; --serif:var(--eg-heading) !important; --mono:var(--eg-mono) !important;
 --bg:var(--eg-canvas) !important; --bg-card:var(--eg-surface) !important; --bg-deep:var(--eg-group) !important; --bg-deepest:var(--eg-canvas) !important;
 --ink:var(--eg-ink) !important; --ink-soft:var(--eg-muted) !important; --ink-mute:var(--eg-muted) !important; --ink-dim:var(--eg-muted) !important; --ink-fade:var(--eg-muted) !important; --ink-inverse:var(--eg-canvas) !important;
 --accent:var(--eg-accent) !important; --accent-bright:var(--eg-accent-hover) !important; --copper:var(--eg-accent) !important; --copper-deep:var(--eg-accent-hover) !important;
 --clay-text:var(--eg-accent) !important; --clay-small:var(--eg-accent) !important;
 --rule:var(--eg-line) !important; --rule-strong:var(--eg-line) !important; --hairline:var(--eg-line) !important; --soft:var(--eg-group) !important;
 --input:var(--eg-surface) !important; --display:var(--eg-group) !important; --ctrl:var(--eg-surface) !important;
 --pass:var(--eg-green) !important; --green:var(--eg-green) !important; --fail:var(--eg-red) !important; --red:var(--eg-red) !important; --amber:var(--eg-amber) !important;
 --alarm:var(--eg-red) !important; --voltage:var(--eg-green) !important;
 --glass:var(--eg-surface) !important; --panel-glass:var(--eg-group) !important; --glass-edge:var(--eg-group-edge) !important; --panel-shadow:none !important;
 --on-dark:var(--eg-ink) !important; --on-dark-dim:var(--eg-muted) !important; --on-dark-line:var(--eg-line) !important;
}
html body.page-earthing :is(.amp-workspace-strip,.amp-workspace-dialog) {
 --aw-ink:var(--eg-ink); --aw-muted:var(--eg-muted); --aw-line:var(--eg-line); --aw-bg:var(--eg-surface); --aw-soft:var(--eg-group);
}
html body.page-earthing #amp-doc-card {
 --dc-bg:var(--eg-surface); --dc-surface:var(--eg-group); --dc-ink:var(--eg-ink); --dc-soft:var(--eg-ink);
 --dc-muted:var(--eg-muted); --dc-line:var(--eg-line); --dc-font:var(--eg-body);
}

/* Type roles: Arial body everywhere in content, Poppins 500 headings, mono for audit code and record identifiers only. */
body.page-earthing :is(main,dialog,.mobile-drawer,footer) *,
body.page-earthing :is(main,dialog,.mobile-drawer,footer) *::before,
body.page-earthing :is(main,dialog,.mobile-drawer,footer) *::after { font-family:var(--eg-body) !important; letter-spacing:normal; }
/* Site-chrome brand keeps its own heading face (the rule above would turn the footer brand Arial). */
body.page-earthing :is(main,dialog,.mobile-drawer,footer) .brand,
body.page-earthing :is(main,dialog,.mobile-drawer,footer) .brand * { font-family:var(--eg-heading) !important; }
body.page-earthing :is(main,dialog) :is(h1,h2,h3,h4,.t,.ct,.doc-h,.earthing-details > summary,.adv-title,.amp-dc-section::before),
body.page-earthing :is(main,dialog) :is(h1,h2,h3,h4,.t,.ct,.doc-h) *:not(.ct-meta) { font-family:var(--eg-heading) !important; font-weight:500; font-style:normal; text-transform:none; }
body.page-earthing :is(main,dialog) :is(pre,code,.mono,.eg-audit,.amp-dc-docno,.amp-dc-rev,.amp-dc-chip,#foot-meta),
body.page-earthing :is(main,dialog) :is(pre,code,.mono,.eg-audit,.amp-dc-docno,.amp-dc-rev,.amp-dc-chip) * { font-family:var(--eg-mono) !important; }
/* Diagram text keeps the report-safe families on screen too. */
body.page-earthing .eg-figure-card svg text { font-family:var(--eg-body) !important; font-style:normal !important; }

/* Stage and sections */
html:has(body.page-earthing) { scroll-padding-top:0; }
body.page-earthing .vd-stage { display:block; background:var(--eg-canvas) !important; padding:20px 24px 48px; }
body.page-earthing .vd-stage .vd-suite.suite-wide { display:flex; flex-direction:column; width:100%; max-width:none; gap:36px; }
body.page-earthing .vd-suite.suite-wide .vd {
 --pad:16px; --gap:12px; --hero-size:42px; --ctl-h:36px;
 min-width:0; max-width:100%; padding:0; border:0; border-radius:0; box-shadow:none; background:transparent; font-weight:400; color:var(--eg-ink);
}
body.page-earthing .vd-suite.suite-wide > .vd[data-role="analysis"] { position:static; max-height:none; overflow:visible; }
body.page-earthing .vd [hidden] { display:none !important; }
body.page-earthing .vd .vd-head { display:flex; justify-content:space-between; padding:0 0 14px; min-height:42px; flex-wrap:wrap; gap:8px; align-items:flex-start; }
body.page-earthing .vd .vd-head .hl { display:block; }
body.page-earthing .vd .vd-head .t { font:500 24px/1.3 var(--eg-heading); letter-spacing:-.02em; color:var(--eg-ink); margin:0; }
body.page-earthing .vd:is([data-role="analysis"],[data-role="doc"]) .vd-head .t { font-size:20px; }
body.page-earthing .earthing-subheading { font:400 14px/1.5 var(--eg-body); color:var(--eg-muted); margin:4px 0 0; max-width:72ch; }
body.page-earthing .vd .vd-head .hr { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
body.page-earthing .vd .vd-head .tag { font:400 12px/1.5 var(--eg-body); letter-spacing:0; text-transform:none; color:var(--eg-muted); }
body.page-earthing .vd .vd-status { display:inline-flex; align-items:center; gap:6px; background:var(--eg-surface); border:1px solid var(--eg-line); border-radius:12px; padding:4px 10px; box-shadow:none; }
body.page-earthing .vd .vd-status .dot { background:var(--eg-muted); }
body.page-earthing .vd .vd-status select { appearance:auto; background:transparent; background-image:none; color:var(--eg-ink); font:400 13px var(--eg-body); letter-spacing:0; text-transform:none; padding:0; min-height:26px; border:0; }
body.page-earthing .vd .vd-status select option { color:var(--eg-ink); background:var(--eg-surface); }

/* Reading groups: opaque, quiet, 18 px radius, no blur. */
body.page-earthing .vd :is(.vd-card,.vd-hero) {
 min-width:0; padding:16px; background:var(--eg-group); border:1px solid var(--eg-group-edge); border-radius:18px;
 box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none;
}
body.page-earthing .vd .vd-card .ct { display:block; font:500 16px/1.4 var(--eg-heading); letter-spacing:-.01em; text-transform:none; color:var(--eg-ink); margin:0 0 12px; min-height:0; }
body.page-earthing .vd .vd-card .ct::before { display:none; }
body.page-earthing .vd .ct-meta { display:block; font:400 13px/1.5 var(--eg-body) !important; color:var(--eg-muted); margin:2px 0 0; letter-spacing:0; }
body.page-earthing .vd .ct-row { display:flex; justify-content:space-between; align-items:baseline; gap:4px 12px; flex-wrap:wrap; margin:0 0 12px; }
body.page-earthing .vd .ct-row .ct { margin:0; }

/* Inputs */
body.page-earthing #earthing-groups { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; align-items:start; }
body.page-earthing .vd .cs-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
body.page-earthing .vd .vd-fld { min-width:0; margin:0; }
body.page-earthing .vd .vd-fld .fl { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:4px; min-height:18px; gap:2px 8px; flex-wrap:wrap; }
body.page-earthing .vd .vd-fld .fld-label { font:400 13px/1.4 var(--eg-body); letter-spacing:0; text-transform:none; color:var(--eg-ink); }
body.page-earthing .vd .fld-link { font:400 13px/1.4 var(--eg-body); color:var(--eg-accent); text-decoration:underline; text-underline-offset:3px; display:inline-flex; align-items:center; min-height:24px; }
body.page-earthing .vd .fld-hint { font:400 13px/1.5 var(--eg-body); color:var(--eg-muted); margin:0; }
body.page-earthing .vd .field, body.page-earthing .vd select.dd { display:flex; align-items:center; gap:6px; min-height:36px; height:auto; border:1px solid var(--eg-line); border-radius:12px; background-color:var(--eg-surface); padding-inline:10px; color:var(--eg-ink); width:100%; box-sizing:border-box; }
body.page-earthing .vd select.dd { font:400 14px/1.5 var(--eg-body); appearance:auto; background-image:none; padding-block:6px; cursor:pointer; }
body.page-earthing .vd select.dd option { background:var(--eg-surface); color:var(--eg-ink); }
body.page-earthing .vd .field input { flex:1; min-width:0; width:100%; min-height:34px; font:400 14px/1.5 var(--eg-body); color:var(--eg-ink); background:transparent; border:0; font-variant-numeric:tabular-nums; }
body.page-earthing .vd .field .unit { flex-shrink:0; font:400 13px var(--eg-body); color:var(--eg-muted); }
body.page-earthing .vd .seg-radio { display:flex; width:100%; min-height:36px; border:1px solid var(--eg-line); background:var(--eg-surface); border-radius:12px; padding:2px; gap:2px; box-sizing:border-box; }
body.page-earthing .vd .seg-radio label { position:relative; flex:1; display:flex; align-items:center; justify-content:center; min-height:30px; padding:4px 8px; font:400 13px/1.3 var(--eg-body); color:var(--eg-muted); border-radius:9px; cursor:pointer; white-space:normal; text-align:center; transition:none; }
body.page-earthing .vd .seg-radio label:hover { color:var(--eg-ink); }
body.page-earthing .vd .seg-radio label.active { background:var(--eg-accent-soft); color:var(--eg-accent-ink); box-shadow:none; }
body.page-earthing .vd .seg-radio input { position:absolute; opacity:0; width:1px; height:1px; pointer-events:none; }
body.page-earthing .vd .seg-radio label:focus-within { outline:2px solid var(--eg-accent); outline-offset:-3px; }
body.page-earthing .vd :is(input,select,button,a,summary,[contenteditable],[tabindex]):focus-visible { outline:2px solid var(--eg-accent) !important; outline-offset:3px; }
body.page-earthing .vd .field:has(:focus-visible) { outline:2px solid var(--eg-accent); outline-offset:3px; border-color:var(--eg-accent); }
body.page-earthing .vd .field input:focus-visible { outline:none !important; }
body.page-earthing .vd :is(.vd-pdf-btn,.vd-save-btn,.add-btn,.amp-dc-act,.vsp-save,.earthing-document-button,.earthing-review-input) {
 font:400 14px/1.4 var(--eg-body); letter-spacing:0; text-transform:none; border-radius:12px; min-height:40px; padding:8px 14px; margin:0; cursor:pointer;
 border:1px solid var(--eg-line); background:var(--eg-surface); color:var(--eg-ink); box-shadow:none; text-shadow:none; opacity:1;
}
body.page-earthing .vd :is(.vd-pdf-btn,.add-btn,.amp-dc-act,.earthing-document-button,.earthing-review-input):hover { background:var(--eg-group); }
body.page-earthing .vd :is(.vd-save-btn,.vsp-save,#earthing-document-save) { background:var(--eg-accent); color:var(--eg-on-accent); border-color:var(--eg-accent); }
body.page-earthing .vd :is(.vd-save-btn,.vsp-save,#earthing-document-save):hover:not(:disabled) { background:var(--eg-accent-hover); border-color:var(--eg-accent-hover); }
body.page-earthing .vd :is(button,input,select):disabled { opacity:.55; cursor:not-allowed; }
body.page-earthing .vd .vd-adv { margin-top:12px; }
body.page-earthing .vd .vd-adv-toggle { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; width:100%; text-align:left; min-height:44px; padding:10px 16px; border:1px solid var(--eg-line); border-radius:12px; background:var(--eg-surface); color:var(--eg-ink); cursor:pointer; font:400 14px/1.4 var(--eg-body); text-transform:none; letter-spacing:0; }
body.page-earthing .vd .vd-adv-toggle .adv-title { font:500 16px/1.4 var(--eg-heading); }
body.page-earthing .vd .vd-adv-toggle .adv-title::after { content:" (show)"; font:400 13px var(--eg-body); color:var(--eg-muted); }
body.page-earthing .vd .vd-adv-toggle[aria-expanded="true"] .adv-title::after { content:" (hide)"; }
body.page-earthing .vd .vd-adv-toggle .hint { font:400 13px/1.5 var(--eg-body); color:var(--eg-muted); }
body.page-earthing .vd .vd-adv-panel { margin-top:12px; }
body.page-earthing .vd .vd-adv-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 16px; }

/* Results */
body.page-earthing .vd .vd-hero { display:block; padding:20px; margin-bottom:12px; }
body.page-earthing .vd .vd-hero-main { border:0; padding:0; min-width:0; max-width:100%; }
body.page-earthing .vd .vd-hero-head { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; }
body.page-earthing .vd .vd-lbl { font:400 14px/1.5 var(--eg-body); color:var(--eg-muted); letter-spacing:0; text-transform:none; }
body.page-earthing .vd .vd-badge { font:400 13px/1.4 var(--eg-body); letter-spacing:0; text-transform:none; padding:4px 10px; border-radius:12px; border:1px solid var(--eg-line); background:var(--eg-surface); color:var(--eg-ink); white-space:normal; }
body.page-earthing .vd .vd-badge.pass { color:var(--eg-green); border-color:currentColor; }
body.page-earthing .vd .vd-badge.fail { color:var(--eg-red); border-color:currentColor; }
body.page-earthing .vd .vd-badge.unassessed { color:var(--eg-amber); border-color:currentColor; }
/* S9: engineering acceptance not assessed → one neutral badge, engine words kept. */
body.page-earthing .vd .vd-badge.neutral { color:var(--eg-ink); border-color:var(--eg-line); background:var(--eg-surface); }
body.page-earthing .vd .vd-figure { margin:10px 0 4px; }
body.page-earthing .vd .vd-figure .big { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; }
body.page-earthing .vd .vd-figure .big .v { font:400 42px/1 var(--eg-body); letter-spacing:-.03em; color:var(--eg-ink); font-variant-numeric:tabular-nums; }
body.page-earthing .vd .vd-figure .big .u { font:400 18px/1 var(--eg-body); color:var(--eg-muted); }
body.page-earthing .vd .vd-figure .sub { font:400 14px/1.5 var(--eg-body); color:var(--eg-ink); margin-top:10px; overflow-wrap:anywhere; max-width:80ch; }
body.page-earthing :is(.earthing-acceptance,.earthing-basis,.earthing-limits) { font:400 13px/1.55 var(--eg-body); color:var(--eg-ink); margin:10px 0 0; max-width:96ch; overflow-wrap:anywhere; }
body.page-earthing .earthing-limits { color:var(--eg-muted); }
body.page-earthing :is(.earthing-acceptance,.earthing-basis,.earthing-limits) strong { font-weight:700; color:var(--eg-ink); }
body.page-earthing .earthing-check-summary { margin:0 0 12px; font-size:14px; line-height:1.5; color:var(--eg-ink); }
body.page-earthing .earthing-check-summary:empty { display:none; }
body.page-earthing .earthing-check-summary[data-state="refused"] { color:var(--eg-red); }
body.page-earthing .earthing-review-input { margin:0 0 16px; }
body.page-earthing .earthing-key-checks { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
body.page-earthing .earthing-key-checks:empty { display:none; }
body.page-earthing .earthing-check { min-width:0; padding:16px 20px; background:var(--eg-group); border:1px solid var(--eg-group-edge); border-radius:18px; }
body.page-earthing .earthing-check-head { display:flex; justify-content:space-between; align-items:baseline; gap:4px 8px; flex-wrap:wrap; }
body.page-earthing .earthing-check h3 { font:500 16px/1.4 var(--eg-heading); letter-spacing:-.01em; margin:0; color:var(--eg-ink); }
body.page-earthing .earthing-check-status { font-size:13px; color:var(--eg-muted); }
body.page-earthing .earthing-check[data-status="pass"] .earthing-check-status { color:var(--eg-green); }
body.page-earthing .earthing-check[data-status="fail"] .earthing-check-status { color:var(--eg-red); }
body.page-earthing .earthing-check[data-status="fail"] { border-color:var(--eg-red); }
body.page-earthing .earthing-check-value { margin:14px 0 3px; font:400 28px/1.15 var(--eg-body); letter-spacing:-.02em; font-variant-numeric:tabular-nums; color:var(--eg-ink); overflow-wrap:anywhere; }
body.page-earthing .earthing-check-limit { font-size:13px; color:var(--eg-muted); margin:0; overflow-wrap:anywhere; }
body.page-earthing #earthing-notices:not(:empty) { border:1px solid var(--eg-line); border-left:3px solid var(--eg-amber); border-radius:12px; padding:16px; margin-bottom:16px; background:var(--eg-group); }
body.page-earthing #earthing-notices h3 { font:500 14px/1.5 var(--eg-heading); margin:0 0 8px; color:var(--eg-ink); }
body.page-earthing #earthing-notices ul { margin:0; padding-left:18px; color:var(--eg-ink); font-size:13px; line-height:1.55; }
body.page-earthing #earthing-notices li + li { margin-top:6px; }
body.page-earthing #earthing-notices li strong { font-weight:700; }
body.page-earthing #earthing-notices li[data-status="fail"] strong { color:var(--eg-red); }
body.page-earthing #earthing-notices li[data-status="warn"] strong { color:var(--eg-amber); }
body.page-earthing .vd .eg-insight { margin:0 0 16px; padding:12px 16px; border:1px solid var(--eg-line); border-left:3px solid var(--eg-accent); border-radius:12px; background:var(--eg-surface); font-size:13px; line-height:1.55; color:var(--eg-ink); }

/* Plan view and section figure */
body.page-earthing .vd .eg-figure-card { margin:0 0 16px; }
body.page-earthing .vd .eg-layers { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
body.page-earthing .vd .eg-layers .lyr { min-height:36px; padding:6px 12px; font:400 13px/1.3 var(--eg-body); color:var(--eg-muted); background:var(--eg-surface); border:1px solid var(--eg-line); border-radius:12px; cursor:pointer; }
body.page-earthing .vd .eg-layers .lyr[aria-pressed="true"] { background:var(--eg-accent-soft); color:var(--eg-accent-ink); border-color:var(--eg-accent); }
body.page-earthing .vd .eg-fig-export { margin-left:auto; display:flex; flex-wrap:wrap; gap:4px 14px; align-items:center; }
body.page-earthing .vd .eg-fig-export a { display:inline-flex; align-items:center; min-height:32px; font:400 13px/1.3 var(--eg-body); color:var(--eg-accent); text-decoration:underline; text-underline-offset:3px; }
body.page-earthing .vd .eg-fig-export a[aria-disabled="true"] { color:var(--eg-muted); text-decoration:none; pointer-events:none; }
body.page-earthing .vd .eg-fig-row { margin-top:12px; }
body.page-earthing .vd :is(.eg-stage,.eg-section-stage) { position:relative; border-radius:12px; overflow:hidden; background:var(--eg-canvas); border:1px solid var(--eg-line); padding:8px; }
body.page-earthing .vd .eg-stage svg, body.page-earthing .vd .eg-section-stage svg { display:block; width:100%; height:auto; touch-action:pan-y; }
body.page-earthing .vd .eg-stage.is-zoomed svg { cursor:grab; }
body.page-earthing .vd .eg-stage.is-zoomed svg.is-panning { cursor:grabbing; }
body.page-earthing .vd .eg-zoom { position:absolute; top:12px; right:12px; z-index:2; display:flex; flex-direction:column; gap:4px; }
body.page-earthing .vd .eg-zoom button { display:flex; align-items:center; justify-content:center; width:36px; height:36px; padding:0; font:400 16px/1 var(--eg-body); color:var(--eg-ink); background:var(--eg-surface); border:1px solid var(--eg-line); border-radius:12px; cursor:pointer; }
body.page-earthing .vd .eg-zoom button:disabled { opacity:.45; cursor:default; }
body.page-earthing .vd .eg-zoom #eg-zoom-fit { font-size:14px; }
body.page-earthing .vd .eg-readout { min-height:1.4em; margin-top:6px; font:400 13px/1.5 var(--eg-body); color:var(--eg-muted); text-align:center; }
body.page-earthing .vd .eg-readout .rp { color:var(--eg-accent); font-weight:700; }
body.page-earthing .vd .eg-figcaption { margin:8px 0 0; text-align:center; font:400 13px/1.5 var(--eg-body); color:var(--eg-muted); }
body.page-earthing .vd .eg-compact-cap { margin-top:8px; padding:8px 12px; border-radius:12px; background:var(--eg-surface); border:1px solid var(--eg-line); font:400 13px/1.55 var(--eg-body) !important; color:var(--eg-ink); text-align:center; }
body.page-earthing .vd .eg-compact-cap b { font-weight:700; }
body.page-earthing .vd .eg-compact-cap .fail { color:var(--eg-red); font-weight:700; }
body.page-earthing .vd .eg-compact-cap .pass { color:var(--eg-green); font-weight:700; }
body.page-earthing .vd .eg-section-stage { margin-top:12px; }
body.page-earthing .vd .eg-fig-cell :is(.eg-stage,.eg-compact-cap,.eg-readout,.eg-figcaption), body.page-earthing .vd .eg-fig-cell.eg-section-stage { max-width:680px; margin-inline:auto; }
@media (min-width:1200px) {
 body.page-earthing .vd .eg-fig-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:12px; align-items:start; }
 body.page-earthing .vd .eg-fig-row:has(> #eg-section-wrap[hidden]) { grid-template-columns:minmax(0,1fr); }
 body.page-earthing .vd .eg-section-stage { margin-top:0; }
}

/* Detailed analysis */
body.page-earthing .earthing-details { border-top:1px solid var(--eg-line); }
body.page-earthing .earthing-details > summary { padding:18px 0; cursor:pointer; font:500 16px/1.4 var(--eg-heading); color:var(--eg-ink); }
body.page-earthing .earthing-details > summary span { font:400 13px/1.5 var(--eg-body) !important; color:var(--eg-muted); margin-left:14px; }
body.page-earthing .vd .vd-tabs { display:flex; flex-wrap:wrap; align-items:center; gap:8px; border-bottom:1px solid var(--eg-line); padding-bottom:12px; margin-bottom:12px; }
body.page-earthing .vd .vd-tab { border:1px solid var(--eg-line); border-radius:12px; min-height:40px; padding:8px 16px; margin:0; color:var(--eg-ink); font:400 14px var(--eg-body); background:var(--eg-surface); transition:none; cursor:pointer; }
body.page-earthing .vd .vd-tab.active { color:var(--eg-accent-ink); background:var(--eg-accent-soft); border-color:var(--eg-accent); }
body.page-earthing .vd .vd-tab::after { display:none; }
body.page-earthing .vd .vd-tabs .ref { margin-left:auto; font:400 12px var(--eg-body); color:var(--eg-muted); letter-spacing:0; text-transform:none; }
body.page-earthing .vd .vd-pane { min-width:0; overflow-x:auto; }
body.page-earthing .vd .vd-pane:focus-visible { outline:2px solid var(--eg-accent); outline-offset:4px; border-radius:4px; }
body.page-earthing .vd .srow { display:flex; justify-content:space-between; gap:18px; padding:10px 0; border-bottom:1px solid var(--eg-line); font-size:14px; }
body.page-earthing .vd .srow .lab { font-weight:400; color:var(--eg-muted); }
body.page-earthing .vd .srow .lab .ref { margin-left:6px; }
body.page-earthing .vd .srow .val { font-weight:400; white-space:normal; text-align:right; overflow-wrap:anywhere; color:var(--eg-ink); }
body.page-earthing .vd .srow .val em { font-style:normal; font-weight:400; color:var(--eg-muted); font-size:.9em; margin-left:4px; }
body.page-earthing .vd .srow .val .skip { color:var(--eg-muted); font-style:normal; }
body.page-earthing .vd .srow .val .pass { color:var(--eg-green); font-weight:700; }
body.page-earthing .vd .srow .val .fail { color:var(--eg-red); font-weight:700; }
body.page-earthing .vd .srow .val .unassessed { color:var(--eg-ink); font-weight:700; }
body.page-earthing .vd .srow.step-sep { border-top:1px solid var(--eg-line); margin-top:4px; }
body.page-earthing .vd .srow.gov { border-bottom:none; }
body.page-earthing .vd .ref { font:400 12px var(--eg-body); color:var(--eg-muted); letter-spacing:0; text-transform:none; }
body.page-earthing .vd .vd-util { display:grid; gap:16px; margin-top:16px; }
body.page-earthing .vd .vd-util .uhead { font:500 14px/1.5 var(--eg-heading) !important; letter-spacing:0; text-transform:none; color:var(--eg-ink); }
body.page-earthing .vd .urow .utop { display:flex; justify-content:space-between; font-size:13px; gap:8px; }
body.page-earthing .vd .urow :is(.ul,.uv) { font-weight:400; color:var(--eg-ink); }
body.page-earthing .vd .urow .um { color:var(--eg-muted); }
body.page-earthing .vd .ubar { height:6px; border-radius:3px; background:var(--eg-line); overflow:hidden; margin-top:6px; }
body.page-earthing .vd .ubar .ufill { display:block; height:100%; background:var(--eg-accent); transition:none; }
body.page-earthing .vd .ubar .ufill.over { background:var(--eg-red); }
body.page-earthing .vd .creason { padding:14px 0; border-bottom:1px solid var(--eg-line); }
body.page-earthing .vd .creason .ctag { font:700 13px/1.6 var(--eg-body); letter-spacing:0; text-transform:none; }
body.page-earthing .vd .creason.pass .ctag { color:var(--eg-green); }
body.page-earthing .vd .creason.fail .ctag { color:var(--eg-red); }
body.page-earthing .vd .creason.warn .ctag { color:var(--eg-amber); }
body.page-earthing .vd .creason.unassessed .ctag { color:var(--eg-ink); }
body.page-earthing .vd .creason .cmsg { font-size:14px; line-height:1.6; color:var(--eg-ink); }
body.page-earthing .vd .eg-refused { color:var(--eg-red); white-space:pre-wrap; }
/* The focusable pane is the single keyboard scroller; the audit text never scrolls on its own. */
body.page-earthing .vd .eg-audit { margin:0; width:max-content; min-width:100%; font:400 12.5px/1.6 var(--eg-mono) !important; color:var(--eg-ink); white-space:pre; overflow:visible; }
body.page-earthing .vd .eg-audit.eg-refused { width:auto; white-space:pre-wrap; }
body.page-earthing .earthing-field-error { font-size:13px; line-height:1.45; margin:6px 0 0; color:var(--eg-red); overflow-wrap:anywhere; }
body.page-earthing .vd .field:has([aria-invalid="true"]), body.page-earthing .vd select[aria-invalid="true"], body.page-earthing .vd .seg-radio:has([aria-invalid="true"]) { border-color:var(--eg-red) !important; box-shadow:inset 3px 0 0 var(--eg-red) !important; }

/* Document */
body.page-earthing .vd .vd-docgrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:12px; gap:12px; }
body.page-earthing .vd #amp-doc-card { margin-bottom:12px; }
body.page-earthing .vd .doc-h { font:500 16px/1.4 var(--eg-heading); letter-spacing:0; text-transform:none; color:var(--eg-ink); margin:0 0 12px; }
body.page-earthing .vd .vd-notes ol { padding-left:22px; margin:0; }
body.page-earthing .vd .vd-notes li { font:400 14px/1.6 var(--eg-body); color:var(--eg-ink); padding:6px 8px; border-radius:8px; overflow-wrap:anywhere; }
body.page-earthing .vd .vd-notes li[contenteditable]:focus { background:var(--eg-surface); }
body.page-earthing .vd .vd-notes .add-btn { margin-top:12px; }
body.page-earthing .vd .vd-refs ul { list-style:none; margin:0; padding:0; }
body.page-earthing .vd .vd-refs li { font:400 14px/1.6 var(--eg-body); color:var(--eg-ink); padding:6px 0; border-bottom:1px solid var(--eg-line); overflow-wrap:anywhere; }
body.page-earthing .vd .vd-exports { display:flex; flex-wrap:wrap; gap:8px 16px; align-items:center; padding:14px 0; margin-top:12px; border:0; border-top:1px solid var(--eg-line); border-radius:0; background:transparent; }
body.page-earthing .vd .vd-exports .meta { font:400 13px/1.5 var(--eg-body); color:var(--eg-muted); }
body.page-earthing .vd .vd-exports .xb a { display:inline-flex; align-items:center; min-height:40px; color:var(--eg-accent); text-decoration:underline; text-underline-offset:4px; font-size:14px; }
body.page-earthing .vd .vd-exports .vd-disclaim { flex-basis:100%; color:var(--eg-ink); }
body.page-earthing .earthing-document-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:12px 0 16px; }
body.page-earthing:has(#earthing-document-save:not([hidden])) #amp-workspace .aw-working > button { display:none; }
html body.page-earthing #amp-workspace { background:var(--eg-group); border:1px solid var(--eg-group-edge); border-radius:18px; box-shadow:none; }
html body.page-earthing .amp-workspace-strip h2 { font:500 16px/1.4 var(--eg-heading) !important; }
html body.page-earthing .amp-workspace-dialog :is(.aw-head h2,.aw-people h3) { font:500 20px/1.3 var(--eg-heading) !important; }
html body.page-earthing :is(#amp-workspace button,.amp-workspace-dialog button,.amp-workspace-dialog input,.amp-workspace-dialog select,.amp-workspace-dialog textarea) { border-radius:12px; min-height:44px; }
html body.page-earthing .amp-workspace-dialog .aw-tabs button { border-radius:0; min-height:44px; }
html body.page-earthing .amp-workspace-dialog .amp-dc-sections { display:block !important; }
html body.page-earthing .amp-workspace-dialog .amp-dc-section { border:0; padding:0; min-width:0; }
html body.page-earthing .amp-workspace-dialog .amp-dc-section:has(> .amp-dc-grid[hidden]) { display:none; }
html body.page-earthing .amp-workspace-dialog .amp-dc-section[aria-label="Document details"]::before { display:none; }
html body.page-earthing .amp-workspace-dialog .amp-dc-grid.g3 { grid-template-columns:minmax(0,1fr); }
html body.page-earthing .amp-workspace-dialog .aw-refresh { border:0 !important; background:transparent !important; padding:0; min-height:36px; text-decoration:underline; text-underline-offset:3px; }
html body.page-earthing .amp-workspace-dialog .aw-schedule { padding:16px 0; margin-bottom:16px; }
html body.page-earthing .amp-workspace-dialog .aw-schedule summary { cursor:pointer; line-height:1.5; font-size:16px; }
body.page-earthing .vd .vd-save-panel { background:var(--eg-surface); color:var(--eg-ink); border:1px solid var(--eg-line); border-radius:12px; box-shadow:0 12px 40px #00000014; max-width:calc(100vw - 48px); }
body.page-earthing .vd :is(.vsp-head,.vsp-fld > span,.vsp-msg) { font-family:var(--eg-body); color:var(--eg-muted); letter-spacing:0; text-transform:none; }
body.page-earthing .vd :is(.vsp-fld input,.vsp-fld select) { font-family:var(--eg-body); background:var(--eg-surface); color:var(--eg-ink); border-radius:12px; border-color:var(--eg-line); }

/* Section navigator: compact, never over a focused control. */
body.page-earthing .earthing-section-nav { position:sticky; top:calc(var(--earthing-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(--eg-line); border-radius:14px; background:var(--eg-surface); box-shadow:0 2px 6px #1e2d4610; box-sizing:border-box; }
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 body.page-earthing .earthing-section-nav { background:color-mix(in srgb,var(--eg-surface) 88%,transparent); backdrop-filter:blur(8px) saturate(110%); -webkit-backdrop-filter:blur(8px) saturate(110%); }
}
body.page-earthing .earthing-section-nav a { display:inline-flex; align-items:center; min-height:32px; padding:4px 12px; box-sizing:border-box; text-decoration:none; font-size:13px; border-radius:10px; color:var(--eg-ink); }
body.page-earthing .earthing-section-nav a:hover { background:var(--eg-group); text-decoration:underline; }
body.page-earthing .earthing-section-nav a:focus-visible { outline:2px solid var(--eg-accent); outline-offset:2px; }
/* Compact result chip: last item in the pill, muted, one line, ellipsis, hidden when empty (S1). */
body.page-earthing .earthing-nav-result { font-size:12px; color:var(--eg-muted); padding:0 12px; min-width:0; max-width:32ch; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.page-earthing .earthing-nav-result:empty { display:none; }
body.page-earthing .earthing-section-nav.earthing-nav-keyboard { position:static; }
body.page-earthing :is(#earthing-inputs,#earthing-analysis,#earthing-document,#vd-hero,#earthing-inputs input,#earthing-inputs select,#earthing-inputs button,#earthing-analysis button,#earthing-analysis summary,#earthing-document button,[contenteditable]) { scroll-margin-top:calc(var(--earthing-header-height,80px) + var(--earthing-nav-height,42px) + 24px); }
@media (max-height:500px) {
 body.page-earthing .earthing-section-nav { position:static; }
 body.page-earthing :is(#earthing-inputs,#earthing-analysis,#earthing-document,#vd-hero,#earthing-inputs input,#earthing-inputs select,#earthing-inputs button,#earthing-analysis button,#earthing-analysis summary,#earthing-document button,[contenteditable]) { scroll-margin-top:calc(var(--earthing-header-height,80px) + 16px); }
}
/* S1: at desktop width the navigator sits inline on the page-title row (as cable):
   it stays the first child of main so it can stick, and a negative bottom margin
   lifts the inputs section up beside it. The title row takes the navigator height
   so the subheading below never runs under the pill. */
@media (min-width:1200px) {
 body.page-earthing .earthing-section-nav { margin:0 420px calc(-1 * var(--earthing-nav-height,42px)) 300px; max-width:calc(100% - 720px); flex-wrap:nowrap; }
 body.page-earthing .earthing-section-nav a { padding-inline:10px; flex-shrink:0; }
 body.page-earthing #earthing-inputs > .vd-head #earthing-title { display:flex; align-items:center; width:fit-content; min-height:var(--earthing-nav-height,42px); }
}
@media (max-width:1000px) { body.page-earthing header.topbar .nav { display:none; } }

/* Responsive */
@media (max-width:1279px) {
 body.page-earthing #earthing-groups { grid-template-columns:repeat(3,minmax(0,1fr)); }
 body.page-earthing .earthing-key-checks { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:860px) {
 body.page-earthing #earthing-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.page-earthing .vd .vd-adv-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.page-earthing .vd .vd-docgrid { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:600px) {
 body.page-earthing .vd-stage { padding:16px 16px 32px; }
 body.page-earthing #earthing-groups { grid-template-columns:minmax(0,1fr); }
 body.page-earthing .vd .vd-adv-grid { grid-template-columns:minmax(0,1fr); }
 body.page-earthing .vd .vd-head .hr { width:100%; }
 body.page-earthing .vd .vd-head .tag { flex-basis:100%; }
 body.page-earthing .vd :is(.field input,select.dd,.amp-dc-fld input,.vsp-fld input,.vsp-fld select) { font-size:16px; }
 body.page-earthing .vd .vd-tabs .ref { width:100%; margin-left:0; padding-top:4px; }
 body.page-earthing .vd .vd-tab { padding:8px 12px; }
 body.page-earthing .earthing-key-checks { grid-template-columns:minmax(0,1fr); }
 body.page-earthing .earthing-details > summary span { display:block; margin:6px 0 0; }
 body.page-earthing .vd .vd-figure .big .v { font-size:36px; }
 body.page-earthing .vd .eg-fig-export { width:100%; margin-left:0; }
 body.page-earthing .vd .srow { flex-wrap:wrap; gap:4px 12px; }
 body.page-earthing .vd .srow .val { text-align:left; }
 body.page-earthing .earthing-section-nav { width:100%; justify-content:space-between; }
 body.page-earthing .earthing-section-nav a { min-height:40px; flex:1; justify-content:center; padding-inline:8px; }
 body.page-earthing .earthing-nav-result { display:none; }
}
@media (pointer:coarse), (max-width:600px) {
 body.page-earthing .vd :is(.field,select.dd,.seg-radio) { min-height:44px; height:auto; }
 body.page-earthing .vd :is(.vd-pdf-btn,.vd-save-btn,.add-btn,.amp-dc-act,.vsp-save,.earthing-document-button,.earthing-review-input,.vd-tab,.eg-layers .lyr) { min-height:44px; }
 body.page-earthing .vd .eg-zoom button { width:44px; height:44px; }
 body.page-earthing .vd .eg-fig-export a { min-height:44px; }
}
@media (prefers-reduced-motion:reduce) {
 body.page-earthing *, body.page-earthing *::before, body.page-earthing *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
@media (prefers-reduced-transparency:reduce), (prefers-contrast:more) {
 body.page-earthing .earthing-section-nav { background:var(--eg-surface); backdrop-filter:none; -webkit-backdrop-filter:none; }
}
@media (prefers-contrast:more) {
 body.page-earthing { --eg-muted:var(--eg-ink); --eg-line:var(--eg-ink); --eg-group-edge:var(--eg-ink); }
}
@media (forced-colors:active) {
 body.page-earthing .vd :is(.vd-card,.vd-hero), body.page-earthing .earthing-check, body.page-earthing .earthing-section-nav, body.page-earthing #earthing-notices:not(:empty) { border-color:CanvasText; }
 body.page-earthing .vd .eg-layers .lyr[aria-pressed="true"], body.page-earthing .vd .seg-radio label.active { background:Highlight; color:HighlightText; forced-color-adjust:none; }
}
}
@media print {
 .earthing-section-nav, .earthing-document-actions, .earthing-review-input, .earthing-check-summary, .earthing-field-error { display:none !important; }
}
.page-earthing .visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
