/* Presentation layer: no color-map or numerical normalization changes. */
:root { --muted:#bdc9d8; --action:#76ddd5; --preview:#ad9cff; }
button.primary,[data-run],[data-primary-apply] { background:var(--action);color:#092327;border:2px solid var(--action);font-weight:800; }
button.primary:hover,[data-run]:hover,[data-primary-apply]:hover { background:#a4eee8;color:#092327; }
#livePreviewToggle { background:#30234e;color:#f6f0ff;border:2px solid var(--preview);font-size:15px;font-weight:800; }
#livePreviewToggle svg { width:24px;height:24px;display:inline-block; vertical-align:middle;margin-right:6px; }
#livePreviewToggle[aria-expanded="true"] { background:#514075;box-shadow:inset 5px 0 0 #d6ccff; }
#livePreviewToggle::after { content:' ▾'; } #livePreviewToggle[aria-expanded="true"]::after { content:' ▴'; }
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,canvas:focus-visible { outline:3px solid #d6ccff;outline-offset:3px; }
.radio-option:has(input:checked) { border:2px solid #8ee6de;background:#183337;box-shadow:inset 4px 0 #8ee6de; }
.radio-option input { accent-color:#8ee6de; }
input[type="number"] { font-size:17px;font-weight:750;color:#fff;background:#101e2d;border-color:#788ba4; }
input[readonly],input:disabled { background:#242b35; }
button:disabled { opacity:1;color:#9eacc0;background:#222c38;border-color:#536174;cursor:not-allowed; }
.radio-option.disabled { opacity:1;color:#aebbc9;background:#222831; }
.help,.field-hint,.mode-technical,.result-detail,.metric-name,.target-stat-label { color:#bdc9d8; }
.live-activity,[data-progress],[data-elapsed] { color:#a5e9ff; }
.activity-bar { background:#223b4b; } .activity-bar::after { background:#a5e9ff; }
.warning { border-color:#ff8080;color:#ffcece; }
.point-readout { display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:96px;padding:10px;border:1px solid #70839a;border-radius:8px;background:#131f2c;color:#f3f6fa; }
.point-readout p { margin:0;font-size:14px;line-height:1.45;overflow-wrap:anywhere; }
.point-readout button { min-height:44px;flex-shrink:0; }
.point-readout[hidden],.selected-point[hidden] { display:none; }
.selected-point { position:absolute;pointer-events:none;z-index:5;width:14px;height:14px;border:2px solid white;border-radius:50%;box-shadow:0 0 0 2px #000;transform:translate(-50%,-50%); }
.selected-point::before,.selected-point::after { content:'';position:absolute;background:#fff;box-shadow:0 0 0 1px #000; }
.selected-point::before { width:22px;height:2px;left:-6px;top:4px; }.selected-point::after { height:22px;width:2px;left:4px;top:-6px; }
#heatmapInspectorViewport { position:relative; }
#placementSummary,#previewPlacement { color:#eef6ff;line-height:1.5;white-space:pre-line; }
#placementSummary { padding:12px;border-left:3px solid #76ddd5;background:#182533; }
#previewPlacement { font-size:13px;margin:5px 0; }
.target-view-controls [aria-pressed="true"] { border:2px solid #8ee6de;background:#183337;box-shadow:inset 0 -3px #8ee6de; }
.target-view-controls [data-scale] { font-size:13px!important;color:#e9f4ff; }
.target-view-controls details { font-size:13px;line-height:1.5;color:#bdc9d8; }
.live-preview .target-view-controls details p { font-size:13px; }
.live-preview .target-view-controls > p:last-child { display:block; }
.target-optimizer table { width:100%;table-layout:fixed; }
.target-optimizer td,.target-optimizer th { overflow-wrap:anywhere; }
.target-optimizer tr:nth-child(-n+6) { background:#192e3a; }
.target-optimizer [data-result] summary { min-height:44px;padding:10px 0; }
@media (max-width:880px), (pointer:coarse) {
  button,.live-preview .target-view-controls button,summary { min-height:44px; }
  .live-preview .target-view-controls button { min-width:44px;font-size:13px; }
  #spotMeter { display:none!important; }
  .point-readout { min-height:132px;align-items:flex-start;flex-direction:column; }
  .point-readout p { font-size:14px; }
  .live-preview #matrixResultNotice { font-size:13px; }
  .live-preview .target-stat-label { font-size:12px; }
  .target-optimizer table,.target-optimizer tbody,.target-optimizer tr,.target-optimizer td,.target-optimizer tbody th { display:block; }
  .target-optimizer thead { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
  .target-optimizer tr { padding:10px 0;border-bottom:1px solid #70839a; }
  .target-optimizer td,.target-optimizer tbody th { border:0!important;padding:3px 8px!important; }
  .target-optimizer tbody th { font-weight:750;color:#fff; }
  .target-optimizer td[data-column]::before { content:attr(data-column) ': ';font-weight:650;color:#bdc9d8; }
  .preview-track.preview-open { position:static; } /* Expanded touch content flows, never hides editing fields. */
  .preview-track:not(.preview-open) { position:sticky;top:0; }
  .live-preview .drawing { max-width:100%;width:100%!important; }
}
@media print {
 .point-readout { color:#000;background:#fff;break-inside:avoid; }
 .point-readout button,#livePreviewToggle { display:none!important; }
 #placementSummary,#previewPlacement,.target-optimizer td,.target-optimizer th { color:#000;background:#fff; }
 .target-optimizer table { display:table; }.target-optimizer tbody { display:table-row-group; }.target-optimizer tr { display:table-row; }.target-optimizer td,.target-optimizer tbody th { display:table-cell; }
 .target-optimizer td[data-column]::before { content:none; }
 .target-optimizer thead { position:static;width:auto;height:auto;clip-path:none;display:table-header-group; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important;animation:none!important;transition:none!important; } }

.spot-meter { max-width:100%; }.spot-meter-card { transform:none!important;width:260px;min-width:0;max-width:calc(100vw - 40px);white-space:normal;overflow-wrap:anywhere; }

.spot-meter-card,.spot-meter.edge .spot-meter-card { left:0;right:auto;top:0;bottom:auto; }
.live-preview .target-view-controls > p { font-size:13px;line-height:1.45; }

.unit { color:#bdc9d8; }
input[readonly] { color:#bdc9d8;border-color:transparent;border-bottom:1px solid #70839a;border-radius:0;box-shadow:none; }
@media(max-width:880px), (pointer:coarse) { .unit-toggle span { display:flex;align-items:center;min-height:44px; }.field-hint,.mode-plain,.help { font-size:13px; } }

.live-activity { border-color:#83cfe9; }
button:disabled:hover { color:#9eacc0;background:#222c38;border-color:#536174; }

/* One responsive result workspace, with the same inspector at every width. */
main { width:min(1880px,calc(100% - 32px)); }
.layout { grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:stretch; }
.preview-track { display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-content:start; }
.workspace-visual { grid-column:1;grid-row:2;min-width:0;scroll-margin-top:8px; }
.workspace-visual[data-view="overview"] { position:sticky;top:8px;align-self:start; }
.workspace-visual .live-preview { position:static; }
.workspace-visual > .matrix-notice { margin:8px 0;font-size:13px; }
.workspace-visual .lower-results { margin:0; }
.workspace-visual [hidden],.input-group[hidden],.result-inspector [hidden] { display:none!important; }
.result-inspector { grid-column:1;grid-row:1;align-self:start;padding:16px;min-width:0; }
.result-inspector h2 { font-size:18px;margin:0 0 10px; }
.result-inspector dl { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 12px;font-size:14px; }
.result-inspector dt { color:#bdc9d8; }.result-inspector dd { margin:0;text-align:right;font-weight:750;overflow-wrap:anywhere; }
.result-inspector .target-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
.result-inspector .target-stat-value { font-size:15px; }
.result-inspector #previewPlacement { font-size:14px;white-space:pre-line; }
.inspector-state { font-size:13px;color:#c9e5ec; }
.result-inspector[data-stale="true"] .inspector-state { color:#ffd69a; }
.result-nav { display:flex;flex-wrap:wrap;gap:6px;padding:8px 0; }
.result-nav button { min-height:44px;flex:1; }
.result-nav [aria-pressed="true"] { border:2px solid #8ee6de;background:#183337; }
.input-group { margin:12px 0;border-top:1px solid #536174;padding-top:8px;min-width:0; }
.input-group > summary { cursor:pointer;padding:8px 0;min-height:48px; }
.input-group > summary strong { font-size:16px;color:#f3f6fa; }
.input-group > summary span { display:block;color:#bdc9d8;font-size:13px;line-height:1.5;margin-top:4px;overflow-wrap:anywhere; }
.input-group .section { border:0;padding:12px 0;margin:0; }
.input-group .section > h2 { display:none; }
.input-group.needs-attention > summary { border-left:3px solid #ff8080;padding-left:8px; }
.input-group.needs-attention > summary span { color:#ffcece; }
#targetOutputInputs label { font-size:15px;font-weight:800; }
#targetOutputInputs .subfields { margin-top:10px; }
input[type="number"] { min-width:0;min-height:44px;padding-right:30px;appearance:textfield;-moz-appearance:textfield; }
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button { -webkit-appearance:none;margin:0; }
@media (min-width:881px) and (pointer:fine) {
 input[type="number"]:not([readonly]):not(:disabled) { appearance:auto;-moz-appearance:auto; }
 input[type="number"]:not([readonly]):not(:disabled)::-webkit-inner-spin-button,
 input[type="number"]:not([readonly]):not(:disabled)::-webkit-outer-spin-button { -webkit-appearance:auto;opacity:1; }
}
.input-wrap input[type="number"] { padding-right:52px; }
.target-options input[type="number"] { min-width:100px;max-width:140px;width:100%;padding-right:20px; }
.optimization-stale { border-left:3px solid #ffbc76;padding:8px;color:#ffe0b3!important;background:#33291e; }
.candidate-summary { font-size:13px!important;line-height:1.6!important;font-weight:500;color:#d6e5f4!important; }
#previewNumbers { display:none; }
@media(min-width:1280px) {
 .preview-track { grid-template-columns:minmax(430px,1fr) 280px; }
 .workspace-visual { grid-column:1;grid-row:1; }
 .result-inspector { grid-column:2;grid-row:1;position:sticky;top:8px; }
}
@media(max-width:880px) {
 main { width:calc(100% - 20px); }.layout { grid-template-columns:minmax(0,1fr); }
 .preview-track { grid-column:1;grid-row:1; }.inputs-panel { grid-row:2!important; }
 #livePreviewToggle { grid-column:1;grid-row:1; }.result-inspector { grid-row:2; }.workspace-visual { grid-row:3; }
 .preview-track:not(.preview-open) .workspace-visual,.preview-track:not(.preview-open) .result-inspector { display:none; }
 .workspace-visual[data-view="overview"] { position:static; }
 #targetOutputInputs .fields { grid-template-columns:minmax(0,1fr); }
}
@media(max-height:700px) { .workspace-visual[data-view="overview"],.result-inspector { position:static; } }
@media print {
 main,.layout,.preview-track,.workspace-visual,.result-inspector { display:block!important;position:static!important;width:auto!important; }
 .result-nav,.inputs-panel,#livePreviewToggle { display:none!important; }
 .workspace-visual #livePreviewBody,.workspace-visual .lower-results,.workspace-visual [id^="result-"] { display:block!important; }
 .result-inspector { color:#000;background:#fff; }.result-inspector dt,.inspector-state { color:#222; }
 .result-inspector dd { color:#000; }
}

.inspector-note { font-size:12px;color:#bdc9d8;line-height:1.5;margin-bottom:0; }
@media(min-width:881px) and (max-width:1279px) { .result-inspector dl { grid-template-columns:1fr 1fr 1fr 1fr; }.result-inspector .target-summary { grid-template-columns:repeat(4,minmax(0,1fr)); } }

.workspace-shortcuts { display:none; }
@media(min-width:881px) and (max-height:700px) { .workspace-shortcuts { display:flex;gap:8px;position:sticky;top:0;z-index:10;background:#121720;padding:6px 0; }.workspace-shortcuts button { min-height:44px;flex:1; }.inputs-panel input,.inputs-panel select { scroll-margin-top:65px; } }
@media print { .workspace-shortcuts { display:none; } }

.spread-bounds { align-items:end;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.spread-bounds label { min-width:0; }.spread-bounds input[type="number"] { width:100%;max-width:none;min-width:0; }
.spread-bounds p { grid-column:1/-1; }.target-options label:has(input[type="checkbox"]) { min-height:44px; }
@media(max-width:880px) { .spread-bounds { grid-template-columns:minmax(0,1fr); } }

/* Current Result hierarchy: generated layout first, analytical context last. */
.result-inspector .inspector-section { margin-top:14px; }
.result-inspector h3 { font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;color:#e5edf7; }
.result-inspector dl { grid-template-columns:minmax(0,1fr) auto;margin:0;gap:6px 10px;line-height:1.4; }
.result-inspector dd { max-width:125px; }
.result-inspector .target-stat-value { font-size:inherit; }
.result-inspector .inspector-context dt,.result-inspector .inspector-context dd { font-size:12px;font-weight:400;color:#bdc9d8; }
.inspector-area-details { margin-top:8px;font-size:12px;color:#bdc9d8; }
.inspector-area-details summary { cursor:pointer;padding:5px 0; }
.result-inspector .inspector-area-details dl { font-size:12px; }
#targetSummary { display:none!important; }
@media print { .inspector-area-details > dl { display:grid!important; }.result-inspector h3,.result-inspector .inspector-context dt,.result-inspector .inspector-context dd { color:#222; } }

.fixture-source-summary { margin-top:16px;border-top:1px solid #536174;padding-top:12px; }
.fixture-source-summary h2 { font-size:16px; }.fixture-source-summary dl { font-size:13px; }
.fixture-source-summary dt { color:#bdc9d8;margin-top:8px; }.fixture-source-summary dd { margin:2px 0 8px;overflow-wrap:anywhere; }
#fixturePrintReport { display:none; }
@media print {
 body.printing-fixture-summary > * { display:none!important; }
 body.printing-fixture-summary > #fixturePrintReport { display:block!important; }
 #fixturePrintReport { color:#111;background:#fff;font:11pt/1.4 Arial,sans-serif;max-width:180mm;margin:0 auto; }
 #fixturePrintReport h1 { font-size:22pt; }#fixturePrintReport h2 { font-size:15pt;margin:14pt 0 7pt; }
 #fixturePrintReport dl { display:grid;grid-template-columns:42mm 1fr;gap:4pt 12pt; }
 #fixturePrintReport dt { font-weight:bold; }#fixturePrintReport dd { margin:0;overflow-wrap:anywhere; }
 .fixture-print-matrix { break-inside:avoid;page-break-inside:avoid; }
 .fixture-print-matrix > p { text-align:center;font-weight:bold;font-size:12pt; }
 .fixture-print-matrix table { border-collapse:collapse;table-layout:fixed;width:100%;color:#000;background:#fff; }
 .fixture-print-matrix th,.fixture-print-matrix td { border:1pt solid #222;text-align:center;padding:7pt;background:#fff;color:#000; }
 .fixture-print-matrix th { font-size:10pt; }.fixture-print-matrix td { height:20mm; }
 .fixture-print-matrix td strong { display:block;font-size:20pt;color:#000; }.fixture-print-matrix td small { display:block;font-size:9pt;color:#000; }
 #fixturePrintReport section { break-inside:avoid; }
}

/* Purpose-built job report: screen panels never participate in pagination. */
#jobPrintReport { display:none; }
@media print {
 body.printing-job-report > * { display:none!important; }
 body.printing-job-report > #jobPrintReport { display:block!important; }
 body.printing-job-report { margin:0;min-height:0;background:#fff;color:#111; }
 #jobPrintReport { font:9pt/1.3 Arial,sans-serif;color:#111;max-width:180mm;margin:auto; }
 .job-print-page { position:relative;break-after:page;page-break-after:always; }
 .job-print-page:last-child { break-after:auto;page-break-after:auto; }
 .job-print-page > header { break-inside:avoid;break-after:avoid;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12pt;border-bottom:1pt solid #333;padding-bottom:6pt;margin-bottom:9pt;font-size:8pt; }
 .job-print-page > header span { text-align:right;max-width:65%; }
 .job-print-page > h1 { font-size:20pt;letter-spacing:0;margin:0 0 8pt;color:#111; }
 .job-print-page h2 { font-size:10pt;text-transform:uppercase;letter-spacing:.04em;margin:10pt 0 5pt;color:#111; }
 .job-print-page > footer { position:static;border-top:.5pt solid #777;font-size:7pt;color:#444;padding-top:5pt;margin-top:12pt; }
 .job-print-page { display:block; }
 .job-print-columns { display:grid;grid-template-columns:1fr 1fr;gap:0 20pt; }
 .job-print-metrics { break-inside:avoid; }.job-print-metrics dl { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:3pt 10pt;margin:0; }
 .job-print-metrics dd { margin:0;font-weight:bold;text-align:right;overflow-wrap:anywhere; }.job-print-metrics dt { color:#333; }
 .job-print-page > .job-print-metrics dl { grid-template-columns:55mm 1fr; }.job-print-page > .job-print-metrics dd { text-align:left;font-weight:normal; }
 .job-print-notes { font-size:8pt;margin-top:9pt;border-top:.5pt solid #999; }.job-print-notes p { margin:5pt 0; }
 .job-print-notes .job-print-metrics dl { grid-template-columns:45mm 1fr;gap:2pt 8pt; }.job-print-notes dd { text-align:left;font-weight:normal; }
 .job-print-source { margin:0 0 7pt;font-size:9pt; }
 #jobPrintReport figure { margin:0 0 12pt;break-inside:avoid;page-break-inside:avoid; }
 #jobPrintReport canvas,#jobPrintReport svg { aspect-ratio:auto;display:block;width:100%;height:auto;max-width:100%;background:#fff; }
 #jobPrintReport .job-print-scale { width:65%;margin:6pt auto; }
 #jobPrintReport figcaption,#jobPrintReport figure p { font-size:8pt;line-height:1.35;margin:6pt 0; }
 .job-print-geometry svg { aspect-ratio:760/280;max-height:70mm; }.job-print-geometry svg text { fill:#111; }.job-print-geometry svg [stroke]:not([stroke="none"]) { stroke:#555; }
 #jobPrintReport .fixture-print-matrix h2 { font-size:12pt; }
 #jobPrintReport .fixture-print-legend dl { display:grid;grid-template-columns:1fr 1fr;gap:5pt; }#jobPrintReport .fixture-print-legend dd { margin:0; }
 #jobPrintReport .fixture-print-matrix { margin-top:10pt; }
 #jobPrintReport button,#jobPrintReport details,#jobPrintReport summary { display:none!important; }
}

@media print { .print-footer-art { text-align:center;margin-top:6pt;break-inside:avoid; } .print-footer-art img { display:inline-block;width:auto;height:22mm;max-width:100%;object-fit:contain;print-color-adjust:exact;-webkit-print-color-adjust:exact; } }

@media print { #fixturePrintReport { font-size:10pt;line-height:1.3; } #fixturePrintReport h2 { font-size:13pt;margin:10pt 0 5pt; } #fixturePrintReport dl { gap:3pt 12pt; } #fixturePrintReport .fixture-print-matrix td { height:16mm;padding:5pt; } }
