/* Screen-only Cable Sizing layout. Palette and glass material come from landing-glass.css. */
.page-cable .vd-stage { display:block; background:var(--bg); padding:20px 24px 48px; }
.page-cable .vd-stage .vd-suite.suite-wide { display:flex; flex-direction:column; width:100%; max-width:none; gap:36px; }
.page-cable .vd-suite.suite-wide .vd {
 --display:var(--bg-deep); --input:var(--bg-card); --ctrl:var(--bg-deepest);
 --ink:#262827; --ink-dim:#505451; --ink-fade:#5b605c;
 --hairline:var(--rule-strong); --soft:var(--bg-deepest); --copper:var(--ink);
 --clay-text:var(--ink); --clay-small:#a44523; --pass:#38613b; --fail:#b32f29;
 --on-dark:var(--ink); --on-dark-dim:var(--ink-dim); --on-dark-line:var(--hairline);
 --pad:16px; --gap:12px; --hero-size:42px; --ctl-h:36px;
 min-width:0; padding:0; border:0; border-radius:0; box-shadow:none; background:transparent;
 font-family:var(--sans); font-weight:400;
}
html[data-theme="night"] .page-cable .vd-suite.suite-wide .vd {
 --ink:#f1f3ee; --ink-dim:#c4cac2; --ink-fade:#afb7ac;
 --pass:#a8cfab; --fail:#ffaaa4; --clay-small:#edb294;
}
.page-cable .vd-suite.suite-wide > .vd[data-role="analysis"] { position:static; max-height:none; overflow:visible; }
.page-cable .vd [hidden] { display:none !important; }
.page-cable .vd .vd-head { padding:0 0 14px; min-height:42px; flex-wrap:wrap; gap:8px; }
.page-cable .vd .vd-head .t { font:500 22px/1.25 var(--sans); letter-spacing:-.035em; color:var(--ink); margin:0; }
.page-cable .vd .vd-head .hr { flex-wrap:wrap; gap:8px; }
.page-cable .vd .vd-head .tag { font:400 11px/1.5 var(--sans); letter-spacing:0; color:var(--ink-fade); }
.page-cable .vd .vd-status { background:var(--bg); padding:4px 10px; border:1px solid var(--hairline); }
.page-cable .vd .vd-status select { appearance:auto; background-image:none; color:var(--ink); font:400 13px var(--sans); letter-spacing:0; text-transform:none; padding:0; min-height:26px; }
.page-cable .vd .vd-status select option { color:var(--ink); background:var(--bg-card); }
.page-cable .vd .vd-card, .page-cable .vd .vd-hero { min-width:0; border:1px solid var(--rule); border-radius:12px; box-shadow:none; }
.page-cable .vd .cs-cols { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; align-items:start; }
.page-cable .vd-stage .vd-compact[aria-label="Cable sizing calculator"] .cs-cols .cs-grid { gap:7px !important; grid-template-columns:minmax(0,1fr); }
.page-cable .vd .cs-grid .span-2 { grid-column:1 / -1; }
.page-cable .vd .vd-card .ct { display:block; font:500 16px/1.25 var(--sans); letter-spacing:-.025em; text-transform:none; color:var(--ink); margin:0 0 8px; min-height:36px; }
.page-cable .vd .vd-card .ct::before, .page-cable .vd .ct-meta { display:none; }
.page-cable .vd .vd-fld { min-width:0; margin:0; }
.page-cable .vd .vd-fld .fl { margin-bottom:4px; min-height:18px; gap:4px; }
.page-cable .vd .vd-fld .fld-label { font-size:13px; line-height:18px; font-weight:400; letter-spacing:0; text-transform:none; color:var(--ink-dim); }
.page-cable .vd .field, .page-cable .vd select.dd { min-height:36px; height:auto; border:1px solid var(--hairline); border-radius:7px; background-color:var(--input); padding-inline:9px; }
.page-cable .vd select.dd { font-size:15px; line-height:1.5; font-weight:400; appearance:auto; background-image:none; }
.page-cable .vd .field input { min-width:0; width:100%; font-size:16px; line-height:1.5; font-weight:400; }
.page-cable .vd .field .unit { flex-shrink:0; font:400 11px var(--sans); color:var(--ink-fade); }
.page-cable .vd .field .unit-sel { font:400 13px var(--sans); color:var(--ink); background:var(--input); border:0; }
.page-cable .vd .seg-radio { border-radius:7px; min-height:36px; background:var(--input); border:1px solid var(--hairline); }
.page-cable .vd .seg-radio label { display:flex; align-items:center; justify-content:center; border-radius:5px; font-size:13px; font-weight:400; padding:5px 4px; white-space:normal; transition:none; }
.page-cable .vd .seg-radio label.active { background:var(--ink); color:var(--bg-card); box-shadow:none; }
.page-cable .vd :is(input,select,button,a,summary,[contenteditable]):focus-visible,
.page-cable .vd .seg-radio label:focus-within { outline:2px solid var(--ink); outline-offset:3px; }
.page-cable .vd .field:focus-within { border-color:var(--ink); }
.page-cable .vd :is(.vd-pdf-btn,.vd-save-btn,.add-btn,.amp-dc-act,.vsp-save) { font:400 13px/1.4 var(--sans); letter-spacing:0; text-transform:none; border-radius:999px; min-height:36px; padding:8px 14px; margin:0; }
.page-cable .vd :is(.vd-save-btn,.vsp-save) { background:var(--ink); color:var(--bg-card); border:1px solid var(--ink); }
.page-cable .vd :is(.vd-pdf-btn,.add-btn,.amp-dc-act) { color:var(--ink); background:var(--bg-card); border:1px solid var(--hairline); }
.page-cable .vd :is(.vd-pdf-btn,.add-btn,.amp-dc-act):hover { background:var(--bg-deepest); }
.page-cable .cable-input-foot { display:flex; justify-content:space-between; gap:12px; align-items:center; color:var(--ink-fade); font-size:12px; }
.page-cable .cable-input-foot a { display:inline-flex; align-items:center; min-height:32px; color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
/* Results follow the complete input workspace in document order. */
.page-cable .vd .vd-hero { padding:20px; margin-bottom:16px; display:block; }
.page-cable .vd .vd-hero-main { border:0; padding:0; min-width:0; }
.page-cable .vd .vd-hero-viz { display:none; }
.page-cable .vd .vd-lbl { font-size:14px; font-weight:400; letter-spacing:0; text-transform:none; }
.page-cable .vd .vd-figure { margin:10px 0 4px; }
.page-cable .vd .vd-figure .big { flex-wrap:wrap; }
.page-cable .vd .vd-figure .big .v { font-weight:500; line-height:1; color:var(--ink); }
.page-cable .vd .vd-figure .sub { font-size:14px; font-weight:400; margin-top:10px; }
.page-cable .vd .vd-badge { font-size:12px; font-weight:400; letter-spacing:0; text-transform:none; }
.page-cable .vd .cs-gov { font:400 12px/1.5 var(--sans); letter-spacing:0; text-transform:none; color:var(--ink-fade); }
.page-cable .cable-key-checks { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.page-cable .cable-check { min-width:0; padding:20px; border:1px solid var(--hairline); border-radius:12px; }
.page-cable .cable-check-head { display:flex; justify-content:space-between; align-items:baseline; gap:8px; }
.page-cable .cable-check h3 { font:500 16px/1.35 var(--sans); letter-spacing:-.02em; margin:0; }
.page-cable .cable-check-status { font-size:12px; color:var(--ink-fade); }
.page-cable .cable-check-value { margin:20px 0 3px; font-size:30px; line-height:1.15; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.page-cable .cable-check-limit { font-size:13px; color:var(--ink-fade); margin:0; }
.page-cable [data-status="pass"] .cable-check-status, .page-cable .cable-other-check[data-status="pass"] strong { color:var(--pass); }
.page-cable [data-status="fail"] .cable-check-status, .page-cable .cable-other-check[data-status="fail"] strong { color:var(--fail); }
.page-cable .cable-check[data-status="fail"] { border-color:var(--fail); }
.page-cable .cable-other-checks { display:flex; flex-wrap:wrap; gap:12px 32px; padding:16px 0; font-size:13px; }
.page-cable .cable-other-check { display:flex; flex-wrap:wrap; gap:8px; }
.page-cable .cable-other-check strong { font-weight:500; color:var(--ink-fade); }
.page-cable .cable-other-check p { flex-basis:100%; color:var(--fail); margin:0; }
.page-cable .cable-advisories { border:1px solid var(--hairline); border-left:3px solid var(--clay-small); padding:16px; margin-bottom:16px; border-radius:8px; }
.page-cable .cable-advisories h3 { font:500 14px var(--sans); margin:0 0 8px; }
.page-cable .cable-advisories ul { margin:0; padding-left:18px; color:var(--ink-dim); font-size:13px; }
.page-cable .cable-details { border-top:1px solid var(--hairline); }
.page-cable .cable-details > summary { padding:18px 0; cursor:pointer; font-size:16px; font-weight:500; }
.page-cable .cable-details > summary span { font-size:13px; font-weight:400; color:var(--ink-fade); margin-left:14px; }
.page-cable .vd .vd-tabs { flex-wrap:wrap; gap:4px; border-bottom:1px solid var(--hairline); padding-bottom:12px; margin-bottom:10px; }
.page-cable .vd .vd-tab { border:1px solid transparent; border-radius:999px; min-height:40px; padding:9px 16px; color:var(--ink-dim); font:400 14px var(--sans); background:transparent; transition:none; }
.page-cable .vd .vd-tab.active { color:var(--bg-card); background:var(--ink); border-color:var(--ink); }
.page-cable .vd .vd-tab::after { display:none; }
.page-cable .vd .vd-tabs .ref { font:400 11px var(--sans); color:var(--ink-fade); }
.page-cable .vd .srow { gap:18px; padding:10px 0; }
.page-cable .vd .srow .lab, .page-cable .vd .srow .val { font-size:14px; }
.page-cable .vd .srow .val { font-weight:400; white-space:normal; text-align:right; }
.page-cable .vd .srow.gov .val { color:var(--ink); }
.page-cable .vd .ref { font-family:var(--sans); }
.page-cable .vd .creason { padding:14px 0; }
.page-cable .vd .creason .ctag { font:500 12px/1.7 var(--sans); letter-spacing:0; }
.page-cable .vd .creason .cmsg { font-size:14px; line-height:1.6; }
.page-cable .vd .vd-pane { min-width:0; overflow-x:auto; }
.page-cable .vd #pane-summary:not([hidden]) { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); column-gap:48px; }
.page-cable .vd #pane-summary .srow { grid-column:1; }
.page-cable .vd #pane-summary .vd-util { grid-column:2; grid-row:1 / span 16; align-self:start; margin:0; padding:16px 0; border:0; gap:24px; }
.page-cable .vd table.vd-tbl { font-size:14px; }
.page-cable .vd #pane-comparison table.vd-tbl { display:table; overflow:visible; }
.page-cable .vd #pane-comparison > div:has(> table), .page-cable .vd #pane-audit > pre { overflow:visible !important; }
.page-cable .vd #pane-audit > pre { font-family:var(--mono) !important; }
.page-cable .vd .vd-pane:focus-visible { outline:2px solid var(--ink); outline-offset:4px; border-radius:4px; }
.page-cable .vd table.vd-tbl th { color:var(--ink-fade); font-weight:400; letter-spacing:0; }
.page-cable .vd table.vd-tbl tbody tr.sel { background:var(--soft); }
.page-cable .vd .vd-docgrid { margin-top:12px; }
.page-cable .vd .doc-h { text-transform:none; font-size:15px; letter-spacing:0; font-weight:500; }
.page-cable .vd :is(.amp-dc-docno,.amp-dc-rev,.amp-dc-chip,.amp-dc-vf,.amp-dc-reg,.amp-dc-rrow .rv) { font-family:var(--mono); }
.page-cable .vd .amp-dc-fld input { min-height:36px; font-weight:400; }
.page-cable .vd .vd-exports { padding:14px 0; border:0; border-top:1px solid var(--hairline); border-radius:0; background:transparent; }
.page-cable .vd .vd-save-panel { background:var(--bg-card); color:var(--ink); border:1px solid var(--hairline); border-radius:12px; box-shadow:0 12px 40px #00000014; max-width:calc(100vw - 48px); }
.page-cable .vd :is(.vsp-head,.vsp-fld>span,.vsp-msg) { font-family:var(--sans); color:var(--ink-dim); letter-spacing:0; text-transform:none; }
.page-cable .vd :is(.vsp-fld input,.vsp-fld select) { font-family:var(--sans); background:var(--input); color:var(--ink); border-radius:7px; border-color:var(--hairline); }
.page-cable :is(#cs-hero,#cable-inputs,#cable-analysis,#cable-document) { scroll-margin-top:80px; }
@media (max-width:1199px) {
 .page-cable .vd .cs-cols { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .page-cable .vd .cs-cols > .vd-card:last-child { grid-column:span 2; }
 .page-cable .vd-stage .vd-compact[aria-label="Cable sizing calculator"] .cs-cols > .vd-card:last-child .cs-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .page-cable .cable-key-checks { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:800px) {
 .page-cable .vd .cs-cols { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .page-cable .vd #pane-summary:not([hidden]) { display:block; }
 .page-cable .vd #pane-summary .vd-util { margin-top:16px; }
}
@media (max-width:600px) {

 .page-cable .vd-stage { padding:16px 16px 32px; }
 .page-cable .vd .cs-cols { grid-template-columns:1fr; }
 .page-cable .vd .cs-cols > .vd-card:last-child { grid-column:auto; }
 .page-cable .vd-stage .vd-compact[aria-label="Cable sizing calculator"] .cs-cols > .vd-card:last-child .cs-grid { grid-template-columns:1fr; }
 .page-cable .vd .vd-head .hr { width:100%; }
 .page-cable .vd .vd-head .tag { flex-basis:100%; }
 .page-cable .vd .vd-card .ct { min-height:0; }
 .page-cable .vd :is(.field input,select.dd,.pj-fld input,.amp-dc-fld input) { font-size:16px; }
 .page-cable .vd .vd-tabs .ref { width:100%; padding-top:8px; }
 .page-cable .vd .vd-tab { padding:9px 12px; }
 .page-cable .cable-key-checks { grid-template-columns:1fr; }
 .page-cable .cable-details > summary span { display:block; margin:6px 0 0 18px; }
 .page-cable .vd .vd-hero-head { flex-wrap:wrap; }
}
@media (pointer:coarse), (max-width:600px) {
 .page-cable .vd .field, .page-cable .vd select.dd, .page-cable .vd .seg-radio { min-height:44px; height:auto; }
 .page-cable .vd :is(.vd-pdf-btn,.vd-save-btn,.add-btn,.amp-dc-act,.vsp-save) { min-height:44px; }
}
@media (prefers-reduced-motion:reduce) { .page-cable *, .page-cable *::before, .page-cable *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }

/* Quiet glass panels; calculation states retain their semantic colours. */
.page-cable .vd .vd-head .hl{display:block}
.page-cable .cable-subheading{font:400 12px/1.5 var(--sans);color:var(--ink-soft);margin:5px 0 0}
.page-cable .vd :is(.vd-card,.vd-hero),.page-cable .cable-check{
 background:var(--panel-glass);border:1px solid var(--glass-edge);border-radius:var(--liquid-panel-radius);box-shadow:var(--panel-shadow);
 backdrop-filter:var(--liquid-filter);-webkit-backdrop-filter:var(--liquid-filter);
}
.page-cable .vd .vd-card .ct{font-size:15px}
.page-cable .vd :is(.field,select.dd,.seg-radio){border-radius:var(--liquid-control-radius);background-color:var(--glass);border-color:var(--rule-strong);box-shadow:inset 0 1px 0 var(--glass-edge)}
.page-cable .vd select.dd option{background:var(--bg-card);color:var(--ink)}
.page-cable .vd .seg-radio label{border-radius:8px}
.page-cable .vd .vd-status{background:var(--glass);border-color:var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-edge);border-radius:999px}
.page-cable .vd :is(.vd-pdf-btn,.add-btn,.amp-dc-act){background:var(--glass);border-color:var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-edge)}
.page-cable .vd .vd-tab{background:var(--glass);border-color:var(--glass-edge)}
.page-cable .vd .vd-tab.active{background:var(--ink);border-color:var(--ink)}
.page-cable .cable-advisories{background:var(--panel-glass);border-radius:16px}
.page-cable .vd .vd-save-panel{border-radius:22px}
.page-cable :is(#cs-hero,#cable-inputs,#cable-analysis,#cable-document){scroll-margin-top:110px}
html[data-theme="night"] .page-cable{color-scheme:dark}
@media(prefers-reduced-transparency:reduce){.page-cable .vd :is(.vd-card,.vd-hero,.field,select.dd,.seg-radio),.page-cable .cable-check{background:var(--bg-card);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(forced-colors:active){.page-cable .vd :is(.vd-card,.vd-hero),.page-cable .cable-check{border-color:CanvasText}}

/* Cable sizing visual language: the existing grid, controls and site chrome
   remain in place; these tokens only change their screen presentation. */
html body.page-cable {
 --cable-canvas:#fff; --cable-surface:#fff; --cable-subtle:#f6f7fb;
 --cable-ink:#323338; --cable-muted:#676879; --cable-line:#d0d4e4;
 --cable-accent:#0060b9; --cable-accent-soft:#cce5ff;
 background:var(--cable-canvas); color:var(--cable-ink);
 font-family:Arial,Helvetica,sans-serif;
}
html[data-theme="night"] body.page-cable {
 --cable-canvas:#191a20; --cable-surface:#22232c; --cable-subtle:#282a34;
 --cable-ink:#f0eff4; --cable-muted:#b0afbe; --cable-line:#55596c;
 --cable-accent:#8ec5ff; --cable-accent-soft:#263e58;
}
html body.page-cable .vd-stage {
 --bg:var(--cable-canvas); --bg-card:var(--cable-surface);
 --bg-deep:var(--cable-subtle); --bg-deepest:var(--cable-subtle);
 --rule:var(--cable-line); --rule-strong:var(--cable-line);
 --glass:var(--cable-surface); --glass-edge:var(--cable-line);
 --panel-glass:var(--cable-surface); --panel-shadow:none;
 --ink-soft:var(--cable-muted); --sans:Arial,Helvetica,sans-serif;
 background:var(--cable-canvas);
}
html body.page-cable .vd-suite.suite-wide .vd {
 --ink:var(--cable-ink); --ink-dim:var(--cable-muted); --ink-fade:var(--cable-muted);
 --hairline:var(--cable-line); --copper:var(--cable-accent); --clay-text:var(--cable-accent);
 --pass:#006b40; --fail:#b4233d; --mono:'JetBrains Mono',monospace;
}
html[data-theme="night"] body.page-cable .vd-suite.suite-wide .vd { --pass:#a3dbb8; --fail:#f0acb6; }
html body.page-cable .vd :is(.vd-card,.vd-hero),html body.page-cable .cable-check {
 background:var(--cable-surface); border-color:var(--cable-line); border-radius:8px;
 box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none;
}
html body.page-cable .vd .vd-head .t,
html body.page-cable .vd .vd-card .ct,
html body.page-cable .cable-check h3,
html body.page-cable .vd .doc-h { font-family:'Poppins',Arial,sans-serif; }
html body.page-cable .vd :is(.field,select.dd,.seg-radio) {
 background-color:var(--cable-surface); border-color:var(--cable-line); border-radius:4px; box-shadow:none;
}
html body.page-cable .vd .seg-radio label.active { background:var(--cable-accent-soft); color:var(--cable-accent); }
html body.page-cable .vd :is(.vd-pdf-btn,.vd-save-btn,.add-btn,.amp-dc-act,.vsp-save,.vd-tab) { border-radius:4px; }
html body.page-cable .vd .vd-tab.active { background:var(--cable-accent); border-color:var(--cable-accent); color:var(--cable-canvas); }
html body.page-cable .vd :is(input,select,button,a,summary,[contenteditable]):focus-visible,
html body.page-cable .vd .seg-radio label:focus-within { outline-color:var(--cable-accent); }
html body.page-cable .vd a { color:var(--cable-accent); }

/* Site header/footer intentionally inherit the landing standard from site-chrome.css. */
@media(forced-colors:active) {
 html body.page-cable .vd :is(.vd-card,.vd-hero),html body.page-cable .cable-check { border-color:CanvasText; }
}

/* Preserve the calculator's touch target and accessible success text. */
html body.page-cable.visual-guide { --ui-green:#006b40; }
html[data-theme="night"] body.page-cable.visual-guide { --ui-green:#a3dbb8; }
@media(pointer:coarse),(max-width:600px) {
 html body.page-cable.visual-guide main .vd select.dd { min-height:44px!important; }
}
/* Maintain the established one-screen desktop input view after the type update. */
@media (min-width:1200px) {
 html body.page-cable.visual-guide main.vd-stage .vd-compact .cs-cols .cs-grid { gap:4px!important; }
 html body.page-cable.visual-guide main .vd .cs-cols .field input { min-height:0!important; padding:0 4px!important; }
}
@media (min-width:1200px) and (max-width:1399px) {
 html body.page-cable.visual-guide main.vd-stage .vd-compact .cs-cols .cs-grid { gap:1px!important; }
}
html body.page-cable.visual-guide main .vd .field :is(input,select.unit-sel) {
 border:0!important; background:transparent!important; box-shadow:none!important;
}
