/* Protection Coordination 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-coordination) { background:#fff; scroll-padding-top:0; }
html[data-theme="night"]:has(body.page-coordination) { background:#191a20; }
body.page-coordination {
 --pc-canvas:#fff; --pc-surface:#fff; --pc-group:#f6f7fa; --pc-group-edge:#e1e5ed;
 --pc-ink:#323338; --pc-muted:#676879; --pc-line:#d0d4e4;
 --pc-accent:#0060b9; --pc-accent-hover:#004f99; --pc-accent-soft:#dcecff; --pc-accent-ink:#0055a4; --pc-on-accent:#fff;
 --pc-green:#006b40; --pc-red:#b4233d; --pc-amber:#6b4500;
 --pc-body:Arial,Helvetica,sans-serif;
 --pc-heading:'Poppins','Poppins-fb',Arial,sans-serif;
 --pc-mono:'JetBrains Mono',ui-monospace,monospace;
 background:var(--pc-canvas) !important; background-image:none !important;
 color:var(--pc-ink); font:14px/1.5 var(--pc-body);
}
html[data-theme="night"] body.page-coordination {
 --pc-canvas:#191a20; --pc-surface:#2b2e39; --pc-group:#22242e; --pc-group-edge:#414654;
 --pc-ink:#f0eff4; --pc-muted:#b0afbe; --pc-line:#55596c;
 --pc-accent:#8ec5ff; --pc-accent-hover:#b7dcff; --pc-accent-soft:#354f70; --pc-accent-ink:#d1e8ff; --pc-on-accent:#191a20;
 --pc-green:#a3dbb8; --pc-red:#f0acb6; --pc-amber:#e9c27e;
 color-scheme:dark;
}
body.page-coordination::before, body.page-coordination::after { display:none !important; }

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

/* Type roles: Arial body everywhere in content, Poppins 500 headings, mono only for
   record identifiers, chart tick labels and position numbers. */
body.page-coordination :is(main,dialog,.mobile-drawer,footer) *,
body.page-coordination :is(main,dialog,.mobile-drawer,footer) *::before,
body.page-coordination :is(main,dialog,.mobile-drawer,footer) *::after { font-family:var(--pc-body) !important; letter-spacing:normal; }
/* Site-chrome brand keeps its own heading face (the rule above would turn the footer brand Arial). */
body.page-coordination :is(main,dialog,.mobile-drawer,footer) .brand,
body.page-coordination :is(main,dialog,.mobile-drawer,footer) .brand * { font-family:var(--pc-heading) !important; }
body.page-coordination :is(main,dialog) :is(h1,h2,h3,h4,.t,.ct,.doc-h,.pc-panel-h,.pc-details > summary,.amp-dc-section::before),
body.page-coordination :is(main,dialog) :is(h1,h2,h3,h4,.t,.ct,.doc-h,.pc-panel-h) * { font-family:var(--pc-heading) !important; font-weight:500; font-style:normal; text-transform:none; }
body.page-coordination :is(main,dialog) :is(pre,code,.mono,.amp-dc-docno,.amp-dc-rev,.amp-dc-chip,.pc-set-num,.pc-axis text,.pc-marker-label,.pc-annot-t,.pc-readout-h,.pc-readout-t,.pc-fault-band-t,.pc-curve-badge,.pc-ref-pt,.pc-pinch-label),
body.page-coordination :is(main,dialog) :is(pre,code,.mono,.amp-dc-docno,.amp-dc-rev,.amp-dc-chip) * { font-family:var(--pc-mono) !important; }

/* Stage and sections */
body.page-coordination .vd-stage { display:block; background:var(--pc-canvas) !important; padding:20px 24px 48px; }
body.page-coordination .vd-stage .vd-suite.suite-wide { display:flex; flex-direction:column; width:100%; max-width:none; gap:36px; min-width:0; }
body.page-coordination .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(--pc-ink);
}
body.page-coordination .vd .vd-body { min-width:0; max-width:100%; }
body.page-coordination .vd-suite.suite-wide > .vd[data-role="analysis"] { position:static; max-height:none; overflow:visible; }
body.page-coordination .vd [hidden] { display:none !important; }
body.page-coordination .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-coordination .vd .vd-head .hl { display:block; min-width:0; }
body.page-coordination .vd .vd-head .t { font:500 24px/1.3 var(--pc-heading); letter-spacing:-.02em; color:var(--pc-ink); margin:0; }
body.page-coordination .vd:is([data-role="analysis"],[data-role="doc"]) .vd-head .t { font-size:20px; }
body.page-coordination .coordination-subheading { font:400 14px/1.5 var(--pc-body); color:var(--pc-muted); margin:4px 0 0; }
body.page-coordination .vd .vd-head .hr { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
body.page-coordination .vd .vd-head .tag { font:400 12px/1.5 var(--pc-body); letter-spacing:0; text-transform:none; color:var(--pc-muted); }
body.page-coordination .pc-nav-link { display:inline-flex; align-items:center; min-height:32px; font:400 14px/1.4 var(--pc-body); color:var(--pc-accent); text-decoration:underline; text-underline-offset:3px; }
body.page-coordination .pc-nav-link:hover { color:var(--pc-accent-hover); }
body.page-coordination .vd a { color:var(--pc-accent); text-decoration:underline; text-underline-offset:3px; }
body.page-coordination .pc-section-nav a { text-decoration:none; }

/* Reading groups: opaque, quiet, 18 px radius, no blur. */
body.page-coordination .vd :is(.vd-card,.vd-hero),
body.page-coordination .pc-set-group {
 min-width:0; padding:16px; background:var(--pc-group); border:1px solid var(--pc-group-edge); border-radius:18px;
 box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; color:var(--pc-ink);
}
body.page-coordination .vd .ct { display:block; font:500 16px/1.4 var(--pc-heading); letter-spacing:-.01em; text-transform:none; color:var(--pc-ink); margin:0 0 12px; min-height:0; }
body.page-coordination .vd .ct::before { display:none; }
body.page-coordination .pc-panel-h { font:500 16px/1.4 var(--pc-heading); letter-spacing:-.01em; text-transform:none; opacity:1; color:var(--pc-ink); margin:0 0 12px; }

/* Explanatory surfaces */
body.page-coordination .pc-demo-banner { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:12px 16px; margin:0 0 12px; background:var(--pc-group); border:1px solid var(--pc-group-edge); border-left:3px solid var(--pc-accent); border-radius:18px; }
body.page-coordination .pc-demo-txt { flex:1 1 320px; min-width:0; margin:0; font:400 14px/1.5 var(--pc-body); color:var(--pc-ink); }
body.page-coordination .pc-demo-actions { display:flex; gap:8px; flex-wrap:wrap; }
body.page-coordination .pc-help { margin:0 0 12px; background:var(--pc-group); border:1px solid var(--pc-group-edge); border-radius:18px; }
body.page-coordination .pc-help > summary { cursor:pointer; padding:12px 16px; min-height:44px; box-sizing:border-box; font:400 14px/1.5 var(--pc-body); color:var(--pc-ink); }
body.page-coordination .pc-help-body { padding:0 16px 12px; }
body.page-coordination .pc-help-body p { margin:8px 0; font:400 14px/1.6 var(--pc-body); color:var(--pc-ink); max-width:90ch; }

/* Inputs: markers, chain, then one card per device. */
body.page-coordination .pc-input-grid { display:grid; grid-template-columns:minmax(0,260px) minmax(0,300px) minmax(0,1fr); gap:12px; align-items:start; min-width:0; }
body.page-coordination .pc-settings-area { min-width:0; }
body.page-coordination .pc-settings-area > .ct { margin:0 0 12px; padding-top:16px; }
body.page-coordination #pc-settings { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; min-width:0; }
body.page-coordination .pc-mk-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
body.page-coordination .pc-mk-fld { display:flex; flex-direction:column; gap:4px; min-width:0; }
body.page-coordination .pc-mk-fld label, body.page-coordination .pc-add-label { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 8px; font:400 13px/1.4 var(--pc-body); color:var(--pc-ink); }
body.page-coordination .pc-fc-link { font-size:13px; white-space:nowrap; }
body.page-coordination :is(.pc-mk-fld input,.pc-add-search,.pc-add-sel,.pc-set-edit) { width:100%; min-width:0; max-width:100%; box-sizing:border-box; min-height:36px; height:auto; padding:6px 10px; font:400 14px/1.5 var(--pc-body); color:var(--pc-ink); background:var(--pc-surface); border:1px solid var(--pc-line); border-radius:12px; font-variant-numeric:tabular-nums; }
body.page-coordination .pc-add-sel { appearance:auto; cursor:pointer; }
body.page-coordination select option { background:var(--pc-surface); color:var(--pc-ink); }
body.page-coordination .pc-set-bar { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; margin-bottom:12px; flex-wrap:wrap; }
body.page-coordination .pc-set-bar .ct { margin:0; }
body.page-coordination .pc-chain-hint { margin:4px 0 0; font:400 13px/1.5 var(--pc-body); color:var(--pc-muted); opacity:1; }
body.page-coordination .pc-add-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 8px; }
body.page-coordination .pc-add-row .pc-add-search { flex:1 0 100%; }
body.page-coordination .pc-add-row .pc-add-sel { flex:1 1 0; }
body.page-coordination .pc-add-label { flex:1 0 100%; }
body.page-coordination .pc-add-status { min-height:20px; margin:0 0 8px; font:400 13px/1.5 var(--pc-body); color:var(--pc-muted); }
body.page-coordination .pc-add-status.ok { color:var(--pc-green); }
body.page-coordination .pc-add-status.warn { color:var(--pc-amber); }
body.page-coordination .pc-add-status button { margin-left:6px; }
body.page-coordination .pc-ovl { margin:4px 0 0; border-top:1px solid var(--pc-line); }
body.page-coordination .pc-ovl > summary { cursor:pointer; padding:10px 0; min-height:44px; box-sizing:border-box; font:400 14px/1.5 var(--pc-body); color:var(--pc-accent); }
body.page-coordination .pc-ovl-body { padding:4px 0 0; }
body.page-coordination .pc-ovl-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; margin:10px 0; }
body.page-coordination .pc-ovl-fields[hidden] { display:none; }
body.page-coordination .pc-ovl-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:4px; }
body.page-coordination .pc-ovl-actions .pc-add-search { flex:1 1 140px; }
body.page-coordination :is(.pc-ovl-note,.pc-note) { margin:10px 0 0; font:400 13px/1.55 var(--pc-body); color:var(--pc-muted); overflow-wrap:anywhere; }
body.page-coordination :is(.pc-ovl-note b,.pc-note b,.pc-help-body b,.pc-demo-txt b) { color:var(--pc-ink); font-weight:700; }
body.page-coordination .pc-note a { text-decoration:underline; }
body.page-coordination .pc-input-note { margin-top:12px; border-top:1px solid var(--pc-line); }
body.page-coordination .pc-input-note > summary { cursor:pointer; padding:10px 0 0; min-height:36px; box-sizing:border-box; font:400 14px/1.5 var(--pc-body); color:var(--pc-ink); }
body.page-coordination #pc-marker-hint:not(:empty) { margin-top:8px; font:400 13px/1.5 var(--pc-body); color:var(--pc-amber); }
body.page-coordination .pc-input-foot { display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; margin-top:12px; color:var(--pc-muted); font-size:13px; }
body.page-coordination .pc-input-foot a { display:inline-flex; align-items:center; min-height:32px; text-decoration:underline; text-underline-offset:4px; }

/* Device setting cards (built by ui/settings.mjs). */
body.page-coordination .pc-set-group { margin:0; }
body.page-coordination .pc-set-head { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 12px; font:500 15px/1.4 var(--pc-heading); color:var(--pc-ink); overflow-wrap:anywhere; }
body.page-coordination .pc-set-ctrls { margin-left:auto; display:flex; align-items:center; gap:4px; width:100%; justify-content:flex-end; }
body.page-coordination .pc-set-num { flex:0 0 auto; width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:var(--pc-surface); border:1px solid var(--pc-line); font-size:11px; color:var(--pc-ink); }
body.page-coordination .pc-swatch { width:22px; height:12px; flex:0 0 auto; display:inline-block; }
body.page-coordination .pc-set-row { margin-bottom:12px; }
body.page-coordination .pc-set-toprow { display:flex; justify-content:space-between; gap:8px; font:400 13px/1.4 var(--pc-body); color:var(--pc-ink); margin-bottom:4px; }
body.page-coordination .pc-set-val { font:400 14px/1.4 var(--pc-body); color:var(--pc-ink); font-variant-numeric:tabular-nums; }
body.page-coordination .pc-set-val-edit { cursor:text; border-bottom:1px dashed var(--pc-muted); }
body.page-coordination .pc-set-val-edit:hover { color:var(--pc-accent); border-bottom-color:var(--pc-accent); }
body.page-coordination .pc-set-edit { width:100px; min-height:32px; padding:2px 8px; }
body.page-coordination .pc-set-row input[type=range] { width:100%; min-height:24px; accent-color:var(--pc-accent); }
body.page-coordination .pc-set-empty { grid-column:1 / -1; font:400 14px/1.5 var(--pc-body); color:var(--pc-muted); padding:16px; border:1px dashed var(--pc-line); border-radius:18px; }
body.page-coordination .pc-set-group > div:not(.pc-set-head):not(.pc-set-row) { font:400 13px/1.5 var(--pc-body); color:var(--pc-muted); overflow-wrap:anywhere; }

/* Buttons: one frame, 12 px radius. */
body.page-coordination :is(.pc-mini-btn,.pc-rep-btn,.pc-zoom-btn,.pc-set-move,.pc-set-save,.pc-set-rm,.pc-review-input,.add-btn) {
 display:inline-flex; align-items:center; justify-content:center; min-height:36px; min-width:36px; padding:6px 12px; box-sizing:border-box;
 font:400 14px/1.3 var(--pc-body); letter-spacing:0; text-transform:none; color:var(--pc-ink); background:var(--pc-surface);
 border:1px solid var(--pc-line); border-radius:12px; box-shadow:none; cursor:pointer; opacity:1;
}
body.page-coordination :is(.pc-set-move,.pc-set-save,.pc-set-rm) { padding:4px; font-size:13px; }
body.page-coordination .pc-set-rm { margin-left:8px; }
body.page-coordination :is(.pc-mini-btn,.pc-rep-btn,.pc-zoom-btn,.pc-set-move,.pc-set-save,.pc-set-rm,.pc-review-input,.add-btn):hover:not(:disabled) { background:var(--pc-group); border-color:var(--pc-muted); }
body.page-coordination :is(.pc-mini-btn,.pc-rep-btn,.pc-zoom-btn,.pc-set-move,button):disabled { opacity:.45; cursor:not-allowed; }
body.page-coordination :is(#pc-add-btn,.pc-rep-btn.primary,#pc-document-save,.vd-save-btn,.vsp-save) { background:var(--pc-accent); color:var(--pc-on-accent); border-color:var(--pc-accent); }
body.page-coordination :is(#pc-add-btn,.pc-rep-btn.primary,#pc-document-save,.vd-save-btn,.vsp-save):hover:not(:disabled) { background:var(--pc-accent-hover); border-color:var(--pc-accent-hover); }
body.page-coordination .vd :is(.vd-pdf-btn,.vd-save-btn,.vsp-save) { font:400 14px/1.4 var(--pc-body); letter-spacing:0; text-transform:none; border-radius:12px; min-height:40px; padding:8px 14px; margin:0; border:1px solid var(--pc-line); box-shadow:none; }
body.page-coordination .vd .vd-pdf-btn, body.page-coordination .vd :is(.vd-save-btn,.vd-pdf-btn).ghost { background:var(--pc-surface); color:var(--pc-ink); border-color:var(--pc-line); }
body.page-coordination .vd .vd-save-btn:not(.ghost) { background:var(--pc-accent); color:var(--pc-on-accent); border-color:var(--pc-accent); }
body.page-coordination .pc-zoom-btn { min-width:40px; padding:4px 8px; font-size:16px; }
body.page-coordination .pc-zoom-btn.pc-zoom-word { font-size:14px; }
body.page-coordination .pc-zoom-btn.is-off { opacity:.45; cursor:default; }

/* Focus: always visible, never colour alone. */
body.page-coordination :is(main,dialog) :is(input,select,button,a,summary,[contenteditable],[tabindex]):focus-visible,
body.page-coordination .pc-chart:focus-visible { outline:2px solid var(--pc-accent) !important; outline-offset:3px; }
body.page-coordination :is(.pc-set-move,.pc-set-save,.pc-set-rm):focus-visible { outline-offset:1px; }

/* Results */
body.page-coordination .vd .vd-hero { display:block; padding:20px; margin:0 0 16px; }
body.page-coordination .pc-coord-panel { margin:0 0 16px; }
body.page-coordination .pc-coord-head { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; margin:0 0 10px; }
body.page-coordination .pc-coord-summary { font:400 14px/1.5 var(--pc-body); color:var(--pc-ink); }
body.page-coordination .pc-badge { display:inline-block; padding:3px 10px; border:1px solid var(--pc-line); border-radius:12px; background:var(--pc-surface); color:var(--pc-ink); font:400 13px/1.4 var(--pc-body); letter-spacing:0; white-space:nowrap; }
body.page-coordination .pc-badge.pass { color:var(--pc-green); border-color:currentColor; background:var(--pc-surface); }
body.page-coordination .pc-badge.fail { color:var(--pc-red); border-color:currentColor; background:var(--pc-surface); }
body.page-coordination .pc-badge.none { color:var(--pc-muted); background:var(--pc-surface); }
/* Screen pass with engineering acceptance not assessed: neutral, never green. */
body.page-coordination .pc-badge.neutral { color:var(--pc-ink); border-color:var(--pc-line); background:var(--pc-surface); }
body.page-coordination .pc-coord-row { padding:12px 0; border-top:1px solid var(--pc-line); font:400 14px/1.6 var(--pc-body); color:var(--pc-ink); overflow-wrap:anywhere; }
body.page-coordination .pc-coord-row b { font-weight:700; }
body.page-coordination .pc-coord-type { color:var(--pc-muted); font-size:13px; }
body.page-coordination .pc-zsi { display:inline-flex; align-items:center; gap:6px; margin-left:10px; min-height:32px; font:400 13px/1.4 var(--pc-body); color:var(--pc-ink); }
body.page-coordination .pc-zsi input { width:18px; height:18px; accent-color:var(--pc-accent); }
body.page-coordination :is(.pc-coord-detail,.pc-coord-mfr) { margin-top:4px; font:400 13px/1.55 var(--pc-body); color:var(--pc-muted); max-width:110ch; }
body.page-coordination .pc-coord-mfr { color:var(--pc-green); }
body.page-coordination .pc-coord-warn { margin-top:6px; font:400 13px/1.55 var(--pc-body); color:var(--pc-amber); }
body.page-coordination .pc-error-summary { margin:12px 0 8px; font:400 14px/1.5 var(--pc-body); color:var(--pc-red); }
body.page-coordination .pc-review-input { margin:0; }
body.page-coordination .pc-field-error { margin:4px 0 0; font:400 13px/1.45 var(--pc-body); color:var(--pc-red); }
body.page-coordination [aria-invalid="true"] { border-color:var(--pc-red) !important; }
body.page-coordination .pc-set-group[data-invalid="true"] { border-color:var(--pc-red); }

body.page-coordination .pc-chart-card { width:100%; box-sizing:border-box; padding:16px 20px 20px; margin:0 0 16px; position:relative; }
body.page-coordination .pc-chart-head { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 12px; }
body.page-coordination .pc-chart-head .pc-panel-h { margin:0; }
body.page-coordination .pc-chart-tools { position:static; display:flex; flex-wrap:wrap; gap:6px; }
body.page-coordination .pc-chart-box { position:relative; width:100%; box-sizing:border-box; background:#fff; border:1px solid #e1e5ed; border-radius:12px; padding:8px 10px;
 --ink:#111; --ink-dim:#444; --ink-fade:#555; --hairline:#ddd; --glass-solid:#fff; }
body.page-coordination .pc-chart { width:100%; height:clamp(420px,40vw,600px); display:block; touch-action:pan-y; border-radius:8px; }
body.page-coordination .pc-chart-title { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; }
body.page-coordination .pc-chart-verdict { position:static; pointer-events:none; }
body.page-coordination .pc-chart-cap { margin:8px 0 0; font:400 13px/1.5 var(--pc-body); color:var(--pc-muted); text-align:left; }
body.page-coordination .pc-cap-coarse { display:none; }
@media (pointer:coarse) { body.page-coordination .pc-cap-fine { display:none; } body.page-coordination .pc-cap-coarse { display:inline; } }
body.page-coordination .pc-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* Chart drawing (always on white paper so the screen matches the printed sheet). */
body.page-coordination .pc-gridline { fill:none; stroke:#e2e2e2; }
body.page-coordination .pc-minor { stroke-opacity:.5; }
body.page-coordination .pc-major { stroke-opacity:1; }
body.page-coordination .pc-axis text { fill:#333; font-size:10.5px; }
body.page-coordination .pc-axis path.domain { stroke:#999; }
body.page-coordination .pc-axis-title { fill:#111; font:500 12px Arial,Helvetica,sans-serif; }
body.page-coordination .pc-marker { stroke-width:1.2; stroke-dasharray:4 3; opacity:.85; }
body.page-coordination .pc-marker-label { font-size:9.5px; }
body.page-coordination .pc-cursor { stroke:#555; stroke-width:1.4; stroke-dasharray:4 3; }
body.page-coordination .pc-cursor-pinned { stroke-dasharray:none; stroke-width:1.8; stroke:#333; }
body.page-coordination .pc-annot { stroke:#111; stroke-width:1.2; stroke-dasharray:1 3; opacity:.8; }
body.page-coordination .pc-annot-t { fill:#111; font-size:9.5px; font-weight:600; paint-order:stroke; stroke:#fff; stroke-width:2.6px; stroke-linejoin:round; }
body.page-coordination .pc-readout { fill:rgba(24,24,28,.94); }
body.page-coordination .pc-readout-h { fill:#fff; font-size:11px; font-weight:600; }
body.page-coordination .pc-readout-t { fill:#fff; font-size:11px; }
body.page-coordination .pc-fault-band { fill:#0060b9; opacity:.05; }
body.page-coordination .pc-fault-band-t { fill:#444; font-size:9px; font-weight:600; }
body.page-coordination .pc-legend-t { fill:#111; font:11px Arial,Helvetica,sans-serif; }
body.page-coordination .pc-legend-bg { fill:#fff; stroke:#ccc; }
body.page-coordination .pc-overlay { cursor:crosshair; touch-action:pan-y; }
body.page-coordination .pc-curve-badge { font-size:9px; font-weight:700; }
body.page-coordination .pc-ref-pt { font-size:9.5px; font-weight:600; }
body.page-coordination .pc-pinch { stroke-width:1.4; }
body.page-coordination .pc-pinch-label { font-size:10.5px; font-weight:600; }

/* Supporting details: settings schedule in a keyboard-scrollable region. */
body.page-coordination .pc-details { border-top:1px solid var(--pc-line); }
body.page-coordination .pc-details > summary { padding:18px 0; min-height:44px; box-sizing:border-box; cursor:pointer; font:500 16px/1.4 var(--pc-heading); color:var(--pc-ink); }
body.page-coordination .pc-details > summary span { font:400 13px/1.5 var(--pc-body); color:var(--pc-muted); margin-left:14px; }
body.page-coordination .pc-scroll { display:block; width:100%; max-width:100%; min-width:0; overflow:auto; contain:inline-size paint; border-radius:12px; }
body.page-coordination .pc-sched { display:table; width:100%; min-width:560px; border-collapse:collapse; margin:0 0 12px; font:400 14px/1.5 var(--pc-body); }
body.page-coordination .pc-sched th { text-align:left; font:400 13px/1.4 var(--pc-body); text-transform:none; letter-spacing:0; color:var(--pc-muted); border-bottom:1px solid var(--pc-line); padding:6px 10px 6px 0; }
body.page-coordination .pc-sched td { padding:8px 10px 8px 0; border-bottom:1px solid var(--pc-line); color:var(--pc-ink); vertical-align:top; }
body.page-coordination .pc-sched td.mono { font-family:var(--pc-body) !important; font-size:14px; color:var(--pc-ink); }

/* Document */
body.page-coordination .pc-report-panel { margin:12px 0 0; padding:0; border:0; }
body.page-coordination .pc-report-actions { display:flex; flex-wrap:wrap; gap:8px; }
body.page-coordination .pc-rep-btn { min-height:40px; }
body.page-coordination .pc-report-status { margin-top:8px; min-height:20px; font:400 13px/1.5 var(--pc-body); color:var(--pc-muted); }
body.page-coordination .pc-report-status.ok { color:var(--pc-green); }
body.page-coordination .pc-report-status.warn { color:var(--pc-amber); }
body.page-coordination .pc-report-status.err { color:var(--pc-red); }
body.page-coordination .vd .vd-docgrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:12px; gap:12px; }
body.page-coordination .vd .doc-h { font:500 16px/1.4 var(--pc-heading); letter-spacing:0; text-transform:none; color:var(--pc-ink); margin:0 0 12px; }
body.page-coordination .vd .vd-notes ol { padding-left:22px; margin:0 0 12px; }
body.page-coordination .vd .vd-notes li { font:400 14px/1.6 var(--pc-body); color:var(--pc-ink); padding:6px 8px; border-radius:8px; overflow-wrap:anywhere; }
body.page-coordination .vd .vd-notes li[contenteditable]:focus { background:var(--pc-surface); }
body.page-coordination .vd .vd-refs ul { list-style:none; padding:0; margin:0; }
body.page-coordination .vd .vd-refs li { font:400 14px/1.6 var(--pc-body); color:var(--pc-ink); padding:6px 0; border-bottom:1px solid var(--pc-line); }
body.page-coordination .vd .vd-disclaim { margin:16px 0 0; padding-top:14px; border-top:1px solid var(--pc-line); font:400 13px/1.5 var(--pc-body); color:var(--pc-ink); }
html body.page-coordination #amp-workspace { background:var(--pc-group); border:1px solid var(--pc-group-edge); border-radius:18px; box-shadow:none; }
html body.page-coordination .amp-workspace-strip h2 { font:500 16px/1.4 var(--pc-heading) !important; }
html body.page-coordination .amp-workspace-dialog :is(.aw-head h2,.aw-people h3) { font:500 20px/1.3 var(--pc-heading) !important; }
html body.page-coordination :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-coordination .amp-workspace-dialog .aw-tabs button { border-radius:0; min-height:44px; }
html body.page-coordination .amp-workspace-dialog .amp-dc-sections { display:block !important; }
html body.page-coordination .amp-workspace-dialog .amp-dc-section { border:0; padding:0; min-width:0; }
html body.page-coordination .amp-workspace-dialog .amp-dc-section:has(> .amp-dc-grid[hidden]) { display:none; }
html body.page-coordination .amp-workspace-dialog .amp-dc-section[aria-label="Document details"]::before { display:none; }
html body.page-coordination .amp-workspace-dialog .amp-dc-grid.g3 { grid-template-columns:minmax(0,1fr); }
html body.page-coordination .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-coordination .vd .vd-save-panel { background:var(--pc-surface); color:var(--pc-ink); border:1px solid var(--pc-line); border-radius:12px; box-shadow:0 12px 40px #00000014; max-width:calc(100vw - 48px); }
body.page-coordination .vd :is(.vsp-head,.vsp-fld > span,.vsp-msg) { font-family:var(--pc-body); color:var(--pc-muted); letter-spacing:0; text-transform:none; }
body.page-coordination .vd :is(.vsp-fld input,.vsp-fld select) { font-family:var(--pc-body); font-size:14px; background:var(--pc-surface); color:var(--pc-ink); border-radius:12px; border-color:var(--pc-line); }
body.page-coordination #amp-doc-banner { font-family:var(--pc-body) !important; color:var(--pc-ink) !important; border-color:var(--pc-line) !important; background:var(--pc-group) !important; border-radius:12px !important; }
body.page-coordination #amp-doc-banner * { color:inherit; }

/* Section navigator: compact, never over a focused control. */
body.page-coordination .pc-section-nav { position:sticky; top:calc(var(--pc-header-height,80px) + 8px); z-index:25; display:flex; align-items:center; gap:4px; flex-wrap:wrap; width:fit-content; max-width:100%; box-sizing:border-box; padding:4px; margin:0 0 12px; border:1px solid var(--pc-line); border-radius:14px; background:var(--pc-surface); box-shadow:0 2px 6px #1e2d4610; }
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 body.page-coordination .pc-section-nav { background:color-mix(in srgb,var(--pc-surface) 88%,transparent); backdrop-filter:blur(8px) saturate(110%); -webkit-backdrop-filter:blur(8px) saturate(110%); }
}
body.page-coordination .pc-section-nav a { display:inline-flex; flex:none; white-space:nowrap; align-items:center; min-height:32px; padding:4px 12px; box-sizing:border-box; text-decoration:none; font-size:13px; border-radius:10px; color:var(--pc-ink); }
body.page-coordination .pc-section-nav a:hover { background:var(--pc-group); text-decoration:underline; }
body.page-coordination .pc-nav-result { flex:0 1 auto; min-width:0; font-size:12px; color:var(--pc-muted); padding:0 12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.page-coordination .pc-nav-result:empty { display:none; }
body.page-coordination .pc-section-nav.pc-nav-keyboard { position:static; }
body.page-coordination :is(#pc-inputs,#pc-analysis,#pc-document,#pc-result,#pc-inputs input,#pc-inputs select,#pc-inputs button,#pc-inputs summary,#pc-inputs [tabindex]) { scroll-margin-top:calc(var(--pc-header-height,80px) + var(--pc-nav-height,42px) + 24px); }
@media (max-height:500px) { body.page-coordination .pc-section-nav { position:static; } }

/* Responsive */
@media (max-width:1199px) {
 body.page-coordination .pc-input-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.page-coordination .pc-settings-area { grid-column:1 / -1; }
 body.page-coordination .pc-settings-area > .ct { padding-top:4px; }
}
@media (max-width:800px) {
 body.page-coordination .vd .vd-docgrid { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:700px) {
 body.page-coordination .pc-chart { height:clamp(300px,110vw,440px); }
 body.page-coordination .pc-chart-card { padding:12px; }
 body.page-coordination .pc-chart-box { padding:4px; }
}
@media (max-width:600px) {
 body.page-coordination .vd-stage { padding:16px 16px 32px; }
 body.page-coordination .pc-input-grid { grid-template-columns:minmax(0,1fr); }
 body.page-coordination #pc-settings { grid-template-columns:minmax(0,1fr); }
 body.page-coordination .vd .vd-head .hr { width:100%; }
 body.page-coordination .vd .vd-head .tag { flex-basis:100%; }
 body.page-coordination :is(.pc-mk-fld input,.pc-add-search,.pc-add-sel,.pc-set-edit,.vsp-fld input,.vsp-fld select,.amp-dc-fld input) { font-size:16px; }
 body.page-coordination .pc-ovl-fields { grid-template-columns:minmax(0,1fr); }
 body.page-coordination .pc-details > summary span { display:block; margin:6px 0 0; }
 body.page-coordination .pc-section-nav { width:100%; justify-content:space-between; }
 body.page-coordination .pc-section-nav a { min-height:40px; flex:1; justify-content:center; padding-inline:8px; }
 body.page-coordination .pc-nav-result { display:none; }
 body.page-coordination .pc-zsi { margin-left:0; }
}
@media (pointer:coarse), (max-width:600px) {
 body.page-coordination :is(.pc-mk-fld input,.pc-add-search,.pc-add-sel,.pc-mini-btn,.pc-rep-btn,.pc-zoom-btn,.pc-review-input,.add-btn,.pc-set-move,.pc-set-save,.pc-set-rm) { min-height:44px; }
 body.page-coordination :is(.pc-set-move,.pc-set-save,.pc-set-rm,.pc-zoom-btn) { min-width:44px; }
 body.page-coordination .vd :is(.vd-pdf-btn,.vd-save-btn,.vsp-save) { min-height:44px; }
}
@media (min-width:1200px) {
 body.page-coordination .pc-section-nav { margin:0 0 12px; }
 /* Inline beside the page title (the workflow measures the title block and the
    header actions and sets the two offsets; without room it keeps its own row). */
 body.page-coordination .pc-section-nav.pc-nav-inline { margin:0 var(--pc-nav-inline-right,420px) calc(-1 * var(--pc-nav-height,42px)) var(--pc-nav-inline-left,340px); max-width:calc(100% - var(--pc-nav-inline-left,340px) - var(--pc-nav-inline-right,420px)); flex-wrap:nowrap; }
 body.page-coordination .pc-section-nav.pc-nav-inline { padding:2px; }
 body.page-coordination .pc-section-nav.pc-nav-inline a { min-height:28px; padding:2px 9px; white-space:nowrap; }
 body.page-coordination .pc-section-nav.pc-nav-inline .pc-nav-result { padding:0 10px 0 8px; }
}
@media (max-width:1000px) { body.page-coordination header.topbar .nav { display:none; } }
@media (prefers-reduced-motion:reduce) { body.page-coordination *, body.page-coordination *::before, body.page-coordination *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
@media (prefers-reduced-transparency:reduce), (prefers-contrast:more) {
 body.page-coordination .pc-section-nav { background:var(--pc-surface); backdrop-filter:none; -webkit-backdrop-filter:none; }
}
@media (prefers-contrast:more) {
 body.page-coordination { --pc-line:#6b7080; --pc-muted:#45464f; }
 html[data-theme="night"] body.page-coordination { --pc-line:#9aa0b4; --pc-muted:#dcdbe6; }
}
@media (forced-colors:active) {
 body.page-coordination .vd :is(.vd-card,.vd-hero), body.page-coordination .pc-set-group, body.page-coordination .pc-section-nav, body.page-coordination .pc-badge, body.page-coordination .pc-demo-banner, body.page-coordination .pc-help { border-color:CanvasText; }
 body.page-coordination .pc-chart-box { forced-color-adjust:none; }
 body.page-coordination :is(main,dialog) :is(input,select,button,a,summary,[contenteditable],[tabindex]):focus-visible { outline-color:Highlight !important; }
}
}
@media print {
 .pc-section-nav, .pc-review-input, .pc-error-summary, .pc-field-error { display:none !important; }
}
