:root{--ink:#172e3a;--muted:#6e7f89;--blue:#147b94;--teal:#0b887f;--bg:#f4f7f8;--line:#dfe7eb;--amber:#a36c13;--red:#aa4b54}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:16px/1.5 'Segoe UI',Arial,sans-serif;color:var(--ink)}button,input,select,summary{font:inherit}button,summary{cursor:pointer}button{transition:background .15s}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #00b7a1;outline-offset:3px}a{color:var(--blue)}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:242px;background:#112d39;color:#c0d2d9;padding:32px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;letter-spacing:2px;font-size:21px;font-weight:650}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:2.5px;color:#91b3c0}.brand-icon{display:block;border:1px solid #658a99;border-radius:9px;padding:1px 10px;font-size:36px;letter-spacing:-5px}.brand-icon span{font-size:20px;color:#39cab1}.workspace{font-size:11px;letter-spacing:1.5px;margin:49px 12px 17px;color:#7f9eaa}nav{display:grid;gap:7px}nav button{background:transparent;color:#c2d4db;border:0;padding:13px 12px;border-radius:7px;text-align:left;font-size:15px}nav button span{font-size:21px;margin-right:10px}nav button.active{color:white;background:#25505d;box-shadow:inset 3px 0 #4ed8bc}nav button:hover{background:#20434f}.scope{margin-top:auto;border:1px solid #36525e;border-radius:10px;padding:17px;font-size:14px}.scope strong{display:block;color:white;font-weight:500;font-size:19px;margin-top:9px}.scope small{display:block;font-size:12px;color:#8ca7b3;margin-top:9px}.live-dot{display:inline-block;width:7px;height:7px;background:#40c4a6;border-radius:50%;margin-right:6px}.sidebar-foot{font-size:10px;letter-spacing:1px;margin-top:26px;color:#7f9ba8}.sidebar-foot span{float:right}main{margin-left:242px;width:calc(100% - 242px);padding:0 36px}header{height:81px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.breadcrumb{font-size:14px;color:var(--muted)}.breadcrumb span{color:#a4b3bb;margin:0 12px}.button{border-radius:6px;border:1px solid #cddce2;padding:9px 13px;background:white;color:#355361;font-size:14px;white-space:nowrap}.button:hover{background:#edf5f6}.heading{display:flex;justify-content:space-between;align-items:center;margin:30px 0 24px;gap:20px}.eyebrow{font-size:11px;letter-spacing:1.9px;color:var(--teal);font-weight:650}h1{font-weight:600;font-size:34px;letter-spacing:-.8px;margin:5px 0}h2{font-weight:600;font-size:20px;letter-spacing:-.2px;margin:0}h3{font-size:17px;margin:0 0 8px}.heading p{color:var(--muted);margin:5px 0;font-size:15px}.mode-switch{display:flex;padding:4px;border:1px solid var(--line);border-radius:8px;background:#eaf0f2;flex-shrink:0}.mode-switch button{border:0;border-radius:5px;background:transparent;padding:8px 12px;font-size:14px;color:#70828c}.mode-switch button.active{background:white;color:#173c4b;box-shadow:0 2px 5px #213b4514}.filters{display:flex;align-items:flex-end;gap:14px;background:white;border:1px solid var(--line);border-radius:9px;padding:17px 20px;flex-wrap:wrap}.filters label{display:grid;gap:7px;font-size:10px;letter-spacing:.8px;color:#70838e}.filters input,.filters select,.filters summary{border:1px solid #d8e3e7;background:#fff;border-radius:5px;color:#284654;padding:8px 9px;font-size:14px;letter-spacing:0}.equipment-label{flex:1;min-width:150px}.filter-arrow{padding-bottom:9px;color:#a0b2bc}details{position:relative}#equipment-options{position:absolute;z-index:3;top:42px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:12px;min-width:190px;box-shadow:0 8px 24px #173b4222}#equipment-options label{display:flex;align-items:center;font-size:14px;color:var(--ink);margin:3px}.calendar-note{font-size:12px;color:var(--muted);margin:9px 0 22px}.notice{display:flex;gap:14px;border:1px solid #cee5e4;background:#eaf5f3;border-radius:8px;padding:17px 19px;margin-bottom:24px}.notice.amber{background:#fff8e9;border-color:#f0d9aa}.notice-icon{font-size:21px;color:var(--teal)}.notice p{margin:4px 0 0;font-size:14px;color:#526b73}.notice strong{font-size:15px}.notice .button{margin-left:auto;align-self:center}.section-head{display:flex;align-items:center;justify-content:space-between;margin:26px 0 14px;gap:10px}.section-head small{font-size:12px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{padding:19px 20px;border:1px solid var(--line);border-radius:8px;background:#fff}.stat .number{font-size:33px;letter-spacing:-.5px;font-weight:550;margin:7px 0}.stat .label{font-size:12px;color:var(--muted)}.stat small{font-size:12px;color:var(--muted)}.status{display:inline-flex;align-items:center;gap:5px;border-radius:4px;font-size:11px;padding:3px 7px;line-height:1.5;white-space:normal}.status:before{content:'●';font-size:10px}.status.blocked{background:#faeeee;color:#a45458}.status.definition{background:#fff4df;color:#9c6c20}.status.partial,.status.pending{background:#fff4df;color:#9c6c20}.status.direct,.status.calculable,.status.derived{background:#e5f4ee;color:#23836b}.status.missing{background:#f3e9eb;color:#a45458}.dashboard-grid{background:white;border:1px solid var(--line);border-radius:9px;overflow:auto}.dashboard-columns{display:grid;grid-template-columns:1.08fr repeat(4,1fr);min-width:820px}.shift-cell{padding:18px 14px;border-right:1px solid var(--line);text-align:center}.shift-cell:last-child{border:0}.shift-cell.day{background:#f6fafb}.shift-label{font-size:11px;font-weight:650;letter-spacing:1px;color:#466674;margin-bottom:16px}.day .shift-label{color:var(--blue)}.kpi-pair{display:flex;justify-content:center;gap:17px;margin-bottom:12px}.kpi-value{font-size:26px;line-height:1.3;font-weight:550}.kpi-value.unavailable{font-size:16px;color:#83939b;margin:8px 0}.kpi-label{font-size:10px;letter-spacing:.7px;color:#7c8d96;text-transform:uppercase}.kpi-link{color:inherit;border:0;background:transparent;padding:0;cursor:pointer;width:100%}.kpi-link:hover{color:var(--blue)}.section-band{background:#f2f6f7;border-block:1px solid var(--line);padding:8px 15px;font-size:11px;font-weight:600;letter-spacing:1px;display:flex;justify-content:space-between;align-items:center}.section-band button{font:inherit;border:0;background:none;color:var(--blue);letter-spacing:0}.donut{width:110px;height:110px;border-radius:50%;margin:8px auto 13px;background:conic-gradient(#638d99 0deg 180deg,#d29792 180deg 360deg);position:relative}.donut:after{content:'';position:absolute;inset:19px;border-radius:50%;background:#fff}.donut.empty{background:conic-gradient(#eaf0f2 0deg 358deg,white 358deg)}.donut span{position:absolute;inset:0;display:grid;place-items:center;font-size:14px;color:#8b9aa2;z-index:1}.submetrics{display:flex;justify-content:space-evenly;gap:5px;margin:14px 0 0}.submetrics strong{font-size:15px;display:block;font-weight:500;color:#758995}.submetrics small{font-size:10px;color:#7b909b}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:#6c818c;align-items:center}.legend i{display:inline-block;height:7px;width:7px;border-radius:50%;margin-right:5px}.stack{width:65px;height:142px;margin:10px auto;background:repeating-linear-gradient(135deg,#f1f5f7,#f1f5f7 5px,#e9eff2 5px,#e9eff2 6px);border:1px dashed #d5e0e5;display:flex;flex-direction:column-reverse}.stack div{width:100%;background:#8bb6ae}.stack div.wait{background:#c7ac7e}.stack div.unknown{background:#d8e3e9}.empty-note{font-size:11px;color:#8c9aa3;margin:10px 0}.distance{display:flex;justify-content:center;gap:20px}.distance strong{font-size:16px;color:#7d9099;display:block;font-weight:500}.distance small{font-size:10px;color:#8d9ca4}.duration{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.duration small{display:block;font-size:10px;color:#80919b}.duration strong{display:block;font-size:15px;font-weight:500}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;padding:22px;margin:16px 0}.panel p{font-size:14px;color:var(--muted)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{background:#f3f7f8;color:#6c808a;text-transform:uppercase;font-size:10px;letter-spacing:.7px;font-weight:600;padding:13px 12px;border-bottom:1px solid var(--line)}td{padding:15px 12px;border-bottom:1px solid #e9eff2;vertical-align:top;max-width:410px;overflow-wrap:anywhere}td .text-button{font-weight:550;text-align:left}td small{display:block;font-size:11px;color:#84939b;margin-top:6px}.text-button{border:0;background:none;padding:0;color:var(--blue);font:inherit;cursor:pointer}.text-button:hover{text-decoration:underline}.table-tools{display:flex;justify-content:space-between;gap:12px;margin:16px 0}input.search{min-width:260px;padding:10px 13px;border:1px solid var(--line);border-radius:6px;background:white;font:inherit}select{padding:8px;border:1px solid var(--line);border-radius:5px;background:white}.source-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.source-grid .panel{margin:0}.mono,code,pre{font-family:Consolas,monospace;font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}pre{padding:15px;background:#f3f7f8;border-radius:6px;max-height:350px;overflow:auto}.tag{font-size:11px;padding:4px 7px;background:#edf3f6;color:#55717f;border-radius:4px}footer{display:flex;justify-content:space-between;color:#8ca0aa;font-size:11px;padding:25px 0 22px;gap:20px}dialog{border:1px solid var(--line);border-radius:12px;padding:26px;max-width:1080px;width:94vw;max-height:90vh;box-shadow:0 20px 100px #0a233540;color:var(--ink)}dialog::backdrop{background:#112d3977;backdrop-filter:blur(3px)}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}.dialog-header h2{margin-top:5px}#close-detail{border:0;background:#edf3f5;border-radius:50%;font-size:27px;width:34px;height:34px}.ref{font-size:12px;color:#738995;display:block;margin:8px 0}.result{padding:15px;background:#eff7f6;border-radius:6px;font-weight:600;margin:16px 0}.issue{padding:19px;border-left:3px solid #dfb264;background:white;border-radius:5px;margin:14px 0}.issue p{font-size:15px;color:#677d88}.sim-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px}.sim-controls input{width:86px;padding:7px;border:1px solid #e4d7bb;border-radius:4px}.banner{background:#fff4d9;border:1px solid #e8c982;border-radius:8px;padding:16px 19px;margin-bottom:20px}.banner strong{color:#976511;font-size:15px}.banner p{font-size:12px;margin:8px 0 0;color:#907747}#error{background:#fff0f0;color:#9e3c3c;padding:15px}.download-actions{display:flex;gap:10px;flex-wrap:wrap}.snapshot-label{background:#e9f3f6;padding:9px;font-size:12px}.record-list{max-height:450px;overflow:auto}.sim-record{margin:8px 0;padding:10px;background:#f4f8f9;border-radius:5px}.hint{font-size:12px;color:var(--muted)}[hidden]{display:none!important}@media(min-width:1650px){main{padding-inline:50px}.shift-cell{padding:22px}.donut{width:125px;height:125px}}@media(max-width:1150px){.sidebar{width:205px;padding-inline:13px}main{margin-left:205px;width:calc(100% - 205px);padding:0 23px}.heading{align-items:flex-start;flex-direction:column}.stats{gap:9px}.stat{padding:15px}.filters{gap:10px}.source-grid{grid-template-columns:1fr}}@media(max-width:760px){.shell{display:block}.sidebar{position:relative;width:100%;padding:15px}.brand{font-size:17px}.brand-icon{font-size:27px}.workspace,.scope,.sidebar-foot{display:none}nav{display:flex;overflow:auto;margin-top:13px;gap:4px}nav button{white-space:nowrap;padding:8px;font-size:12px}nav button span{display:none}main{margin:0;width:100%;padding:0 16px}header{height:65px}.breadcrumb{font-size:11px}.breadcrumb span{margin:0 4px}header .button{font-size:11px;padding:8px}h1{font-size:29px}.stats{grid-template-columns:1fr 1fr}.filters{padding:12px}.filters label{flex:1;min-width:140px}.filter-arrow{display:none}.filters input{width:100%}.notice{flex-wrap:wrap}.notice .button{margin:0}.table-tools{flex-wrap:wrap}.duration{gap:2px}footer{flex-direction:column;gap:6px}.panel{padding:15px}.legend{gap:9px}.heading{margin-top:23px}.stat .number{font-size:27px}}
.section-head{flex-wrap:wrap}.section-head small{overflow-wrap:anywhere}#sim-banner{position:sticky;top:0;z-index:4}#sim-banner .banner{box-shadow:0 5px 15px #172e3a0b}@media(max-width:760px){#sim-banner{position:static}.sim-controls{gap:8px}}
@media(max-width:760px){#sim-banner{position:sticky}#sim-banner .banner{padding:10px}#sim-banner .banner p{max-height:90px;overflow:auto}}
@media(max-width:760px){.filters label:has(input[type="datetime-local"]){flex-basis:100%;min-width:100%}.filters input{min-width:0;max-width:100%}}
.table-tools select{max-width:100%;min-width:0}.source-grid>.panel{min-width:0}#tos-count{overflow-wrap:anywhere}
.raw-lineage{display:flex;align-items:center;gap:12px;margin:24px 0;background:#fff;border:1px solid var(--line);padding:20px;border-radius:9px}.raw-lineage>div{flex:1}.raw-lineage small{display:block;font-size:10px;letter-spacing:.9px;color:var(--muted);margin-bottom:6px}.raw-lineage strong{font-size:14px;font-weight:550}.raw-lineage>span{color:#84a9b6}.raw-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;flex-wrap:wrap}.raw-tabs{display:flex;gap:4px;flex-wrap:wrap;background:#e8eff2;padding:4px;border-radius:7px}.raw-tabs button{border:0;background:transparent;border-radius:4px;padding:10px 12px;font-size:14px;color:#5b7683}.raw-tabs button.active{background:white;color:#135c70;box-shadow:0 2px 4px #19394712}.raw-chips{display:flex;gap:5px;flex-wrap:wrap;margin:5px 0 9px}.raw-chip{border:1px solid #d8e5e8;background:#f2f8f9;color:#3c6f7d;border-radius:4px;padding:4px 7px;text-align:left;font-size:11px;line-height:1.5}.raw-chip:hover{background:#dfefef;border-color:#88b4b9}.raw-rule{font-size:12px;color:#69808c;padding-bottom:5px}.formula-expression{min-width:190px;font-size:14px;line-height:1.6}.raw-contract-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.raw-contract-grid>.panel{margin:0}.raw-related{display:grid;gap:6px;font-size:12px;text-align:left;min-width:160px}.raw-related button{text-align:left}.raw-path{display:block;margin:9px 0;font-size:11px;overflow-wrap:anywhere}.raw-step{border:1px solid var(--line);border-radius:6px;padding:12px 14px;margin:9px 0}.raw-step p{font-size:14px;color:#607985}.formula-definition{padding:18px;margin:18px 0;background:#eef6f5;border-left:3px solid #2a8b84;font-size:18px;line-height:1.6}#raw-formulas td:first-child{min-width:165px}#raw-formulas td:nth-child(3){min-width:245px}#raw-formulas td:nth-child(4){min-width:175px}#raw-signals td{min-width:190px}#raw-signals td:first-child{min-width:240px}#raw-formulas details summary,#raw-signals details summary{font-size:11px;color:#3c7588;cursor:pointer;margin:8px 0}.raw-toolbar+.hint{margin-bottom:22px}@media(max-width:760px){.raw-lineage{display:grid;grid-template-columns:1fr;gap:10px}.raw-lineage>span{display:none}.raw-lineage>div{border-left:2px solid #b9d6dc;padding-left:12px}.raw-contract-grid{grid-template-columns:1fr}.raw-tabs button{padding:8px;font-size:11px}.raw-toolbar{margin-top:18px}.raw-toolbar .download-actions{width:100%}.raw-toolbar .button{font-size:11px}.sidebar nav{max-height:none}}
/* Appearance: shared surfaces, readable states and native controls in both themes. */
:root{color-scheme:light;--surface:#fff;--surface-alt:#f1f6f8;--surface-hover:#eaf3f5;--control-border:#cddce2;--secondary-ink:#526d7b;--faint-ink:#708591}
.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.theme-switch{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:7px;background:var(--surface-alt)}.theme-switch button{border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:14px;padding:6px 10px;white-space:nowrap}.theme-switch button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #10283414}
input,select{color:var(--ink)}input::placeholder{color:var(--faint-ink);opacity:1}dialog{background:var(--surface)}
:root[data-theme="dark"]{color-scheme:dark;--ink:#e0eaf0;--muted:#a2b5c0;--blue:#78c9e0;--teal:#6dd9bd;--bg:#0e1923;--line:#2b3e4c;--amber:#e9c479;--red:#eda3ad;--surface:#172733;--surface-alt:#1c303e;--surface-hover:#274553;--control-border:#3a5262;--secondary-ink:#bed0d9;--faint-ink:#9bb0bd}
[data-theme="dark"] .sidebar{background:#0c202c;border-right:1px solid var(--line)}
[data-theme="dark"] :is(.button,.filters,.filters input,.filters select,.filters summary,#equipment-options,.stat,.dashboard-grid,.panel,.issue,.raw-lineage,input.search,select){background:var(--surface);color:var(--ink);border-color:var(--line)}
[data-theme="dark"] :is(.button:hover,.raw-chip:hover){background:var(--surface-hover)}
[data-theme="dark"] :is(.mode-switch,.raw-tabs,.section-band,th,pre,.tag,#close-detail,.sim-record,.snapshot-label){background:var(--surface-alt);color:var(--secondary-ink)}
[data-theme="dark"] :is(.mode-switch button,.raw-tabs button){color:var(--muted)}
[data-theme="dark"] :is(.mode-switch button.active,.raw-tabs button.active){background:var(--surface);color:var(--blue)}
[data-theme="dark"] .shift-cell.day{background:#14232e}
[data-theme="dark"] .donut:after{background:var(--surface)}
[data-theme="dark"] .shift-cell.day .donut:after{background:#14232e}
[data-theme="dark"] .donut.empty{background:conic-gradient(#2a404e 0deg 358deg,var(--surface) 358deg)}
[data-theme="dark"] .stack{background:repeating-linear-gradient(135deg,#1d303e,#1d303e 5px,#253b49 5px,#253b49 6px);border-color:#456170}
[data-theme="dark"] .notice{background:#153a3a;border-color:#2b5b58}
[data-theme="dark"] .notice.amber,[data-theme="dark"] .banner{background:#3a3020;border-color:#6b5731}
[data-theme="dark"] :is(.notice p,.raw-step p,.issue p){color:var(--secondary-ink)}
[data-theme="dark"] :is(.banner strong,.banner p){color:#ead09d}
[data-theme="dark"] :is(.status.blocked,.status.missing){background:#462c36;color:#f4b0bd}
[data-theme="dark"] :is(.status.definition,.status.partial,.status.pending){background:#443923;color:#f0cc83}
[data-theme="dark"] :is(.status.direct,.status.calculable,.status.derived){background:#183e38;color:#8cdec3}
[data-theme="dark"] :is(.raw-chip){background:#203c47;border-color:#3b5b66;color:#b4dfe5}
[data-theme="dark"] :is(.result,.formula-definition){background:#173b39;color:var(--ink)}
[data-theme="dark"] :is(.breadcrumb,.shift-label,.kpi-value.unavailable,.kpi-label,.submetrics strong,.submetrics small,.legend,.empty-note,.distance strong,.distance small,.duration small,td small,.ref,.raw-rule,footer){color:var(--muted)}
[data-theme="dark"] .donut span{color:var(--secondary-ink)}
[data-theme="dark"] td{border-color:var(--line)}
[data-theme="dark"] :is(#raw-formulas details summary,#raw-signals details summary){color:var(--blue)}
[data-theme="dark"] #error{background:#462c36;color:#f4b0bd}
@media(max-width:1000px){header{height:auto;min-height:81px;padding-block:12px;flex-wrap:wrap}.header-actions{margin-left:auto}}@media(max-width:760px){.header-actions{width:100%;justify-content:space-between;gap:8px}.theme-switch button{font-size:12px;padding:6px 9px}header{min-height:86px}.breadcrumb{width:100%}}
[data-theme="dark"] .filters label{color:var(--muted)}
/* PEX Lab: dashboard-first explanation of the RAW contract. */
:root{--map-surface:#fff;--map-muted:#557080;--map-border:#cfdee6;--map-soft:#edf4f8;--map-accent:#14769c}
:root[data-theme="dark"]{--ink:#f1f5fc;--muted:#bdcbdc;--blue:#94d9ff;--teal:#83e8cc;--bg:#0d1625;--line:#3a4e69;--surface:#19283e;--surface-alt:#233750;--surface-hover:#2c4562;--control-border:#526887;--secondary-ink:#d1ddec;--faint-ink:#b4c6db;--map-surface:#19283e;--map-muted:#c0d0e5;--map-border:#405673;--map-soft:#213650;--map-accent:#71dbf1}
.brand small{font-size:12px;letter-spacing:3px;margin-top:2px}.sidebar nav button{font-size:15px}.sidebar-foot{font-size:10px}.theme-switch button{font-weight:550}
.raw-v2{padding-top:2px}.raw-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid var(--map-border);background:linear-gradient(115deg,#eef8fb 0%,#f4f3ff 100%);border-radius:14px;padding:24px 26px}.raw-intro h2{font-size:28px;font-weight:600;letter-spacing:-.7px;margin:7px 0 9px}.raw-intro-copy>p{font-size:16px;color:var(--map-muted);margin:0;max-width:630px;line-height:1.65}.intro-presence{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:15px;color:var(--map-muted);font-size:14px}.intro-presence strong{font-weight:550;color:var(--ink)}.presence-dot{width:7px;height:7px;background:#21a386;border-radius:50%;box-shadow:0 0 0 4px #21a38612;margin-right:4px}.raw-intro-counts{display:grid;grid-template-columns:repeat(3,1fr);flex-shrink:0;gap:0}.raw-intro-counts>div{padding:0 17px;border-left:1px solid var(--map-border)}.raw-intro-counts strong{display:block;font-size:35px;line-height:1.3;letter-spacing:-1px;font-weight:550}.raw-intro-counts span{display:block;font-size:12px;line-height:1.5;color:var(--map-muted);margin-top:5px}.raw-v2 .raw-toolbar{margin:22px 0 26px;gap:14px}.raw-v2 .raw-tabs{border:1px solid var(--line);padding:4px;gap:3px;background:var(--surface-alt)}.raw-v2 .raw-tabs button{font-size:14px;padding:9px 11px;font-weight:500}.raw-v2 .raw-tabs button.active{box-shadow:0 2px 6px #102e4415}.raw-v2 .button{font-size:14px;padding:10px 13px}.mapping-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:17px;flex-wrap:wrap}.mapping-heading h2{font-size:21px;letter-spacing:-.3px}.mapping-heading p{margin:4px 0 0;font-size:15px;color:var(--map-muted)}.design-label{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:20px;padding:6px 10px;color:var(--map-muted);font-size:11px}.design-label>span{font-size:16px;color:var(--blue)}.dashboard-mapping{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:21px;align-items:start}.dashboard-blueprint,.contribution-inspector{min-width:0;background:var(--map-surface);border:1px solid var(--map-border);border-radius:13px;overflow:hidden}.blueprint-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 20px 17px}.blueprint-heading h3{font-size:19px;font-weight:550;margin:7px 0 0}.blueprint-heading .tag{font-size:11px}.blueprint-shifts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 18px 15px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--map-soft)}.blueprint-shifts span{font-size:11px;text-align:center;color:var(--map-muted);padding:9px 2px;border-right:1px solid var(--line)}.blueprint-shifts span:first-child{font-weight:650;color:var(--blue)}.blueprint-shifts span:last-child{border:0}.map-blocks{display:grid;gap:9px;padding:0 16px 16px}
[data-tone="cyan"]{--map-accent:#14769c}[data-tone="violet"]{--map-accent:#7557ab}[data-tone="amber"]{--map-accent:#9d6513}[data-tone="mint"]{--map-accent:#167a63}[data-tone="blue"]{--map-accent:#346eac}[data-tone="rose"]{--map-accent:#b15e78}[data-tone="slate"]{--map-accent:#596b81}
.map-block{display:flex;align-items:center;gap:12px;width:100%;padding:14px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);text-align:left;position:relative}.map-block:hover{background:var(--surface-alt);border-color:var(--map-accent)}.map-block.selected{border-color:var(--map-accent);background:color-mix(in srgb,var(--map-accent) 8%,var(--surface));box-shadow:inset 3px 0 var(--map-accent)}.map-icon{display:grid;place-items:center;width:35px;height:35px;background:color-mix(in srgb,var(--map-accent) 9%,var(--surface));color:var(--map-accent);border-radius:8px;flex-shrink:0}.map-icon svg{width:24px;height:24px}.map-block-copy{flex:1;min-width:0}.map-block-title{display:flex;gap:7px;align-items:baseline;font-size:15px;font-weight:600;letter-spacing:-.1px}.map-block-title small{font-weight:500;font-size:10px;color:var(--map-muted)}.map-block-subtitle{display:block;margin-top:4px;font-size:11px;line-height:1.6;color:var(--map-muted)}.map-block-meta{text-align:center;min-width:42px}.map-block-meta strong{display:block;font-size:18px;font-weight:550;color:var(--map-accent);line-height:1.3}.map-block-meta small{font-size:10px;color:var(--map-muted)}.map-chevron{color:var(--map-muted);font-size:18px}.selected .map-chevron{color:var(--map-accent)}.blueprint-note{font-size:12px;color:var(--map-muted);padding:15px 20px;border-top:1px solid var(--line);background:var(--surface-alt);line-height:1.65}.inspector-heading{padding:19px 22px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--map-accent) 6%,var(--surface))}.inspector-heading .eyebrow{color:var(--map-accent)}.block-kicker{display:block;color:var(--map-muted);font-size:12px;margin-top:9px}.inspector-heading h3{font-size:19px;line-height:1.5;font-weight:550;letter-spacing:-.3px;margin:3px 0 0}.contribution-options{display:flex;gap:6px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--line);max-height:170px;overflow:auto;background:var(--surface)}.contribution-options button{border:1px solid var(--line);border-radius:6px;background:var(--surface-alt);color:var(--map-muted);font-size:12px;line-height:1.4;padding:7px 10px;text-align:left}.contribution-options button.active{border-color:var(--map-accent);background:color-mix(in srgb,var(--map-accent) 12%,var(--surface));color:var(--ink);box-shadow:inset 0 -2px var(--map-accent)}.contribution-options button:hover{color:var(--ink);border-color:var(--map-accent)}.contribution-options .not-supported{border-style:dashed}.contribution-options button small{display:block;font-size:10px;margin-top:3px;color:var(--muted)}.selected-contribution{padding:20px 22px}.contribution-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.role-label{color:var(--map-accent);font-size:12px;font-weight:550}.raw-v2 .status{font-size:11px;padding:4px 8px}.selected-contribution h4{font-size:25px;font-weight:600;letter-spacing:-.6px;margin:10px 0 17px;line-height:1.4}.contribution-output{display:flex;align-items:center;gap:12px;padding:13px;background:var(--surface-alt);border:1px solid var(--line);border-radius:7px}.output-marker{font-size:29px;color:var(--map-accent)}.contribution-output small{display:block;font-size:10px;letter-spacing:1.1px;color:var(--map-muted);margin-bottom:5px}.contribution-output strong{font-size:14px;font-weight:600;line-height:1.6}.purpose-copy{font-size:15px;line-height:1.8;color:var(--map-muted);margin:15px 0}.inline-formula{border-left:2px solid var(--map-accent);background:var(--surface-alt);padding:12px 14px;margin:16px 0 22px;border-radius:0 6px 6px 0}.inline-formula summary{color:var(--ink);font-size:14px;font-weight:550;cursor:pointer}.inline-formula>div{font-size:14px;line-height:1.8;margin-top:9px;color:var(--secondary-ink)}.inline-formula p{font-size:12px;color:var(--map-muted);line-height:1.7;margin:8px 0 0}.signal-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.signal-section-title>.eyebrow{font-size:10px;color:var(--map-accent)}.signal-section-title>span:last-child{font-size:11px;color:var(--map-muted)}.inspector-signals{display:grid;grid-template-columns:1fr 1fr;gap:7px}.signal-chip{display:flex;align-items:flex-start;gap:7px;min-width:0;border:1px solid var(--line);border-radius:6px;padding:9px;background:var(--surface);color:var(--ink);text-align:left;font-size:11px;line-height:1.6}.signal-chip:hover{border-color:var(--blue);background:var(--surface-alt)}.signal-mark{font-size:10px;flex-shrink:0;line-height:2;color:#197b65}.signal-chip.unobserved .signal-mark{color:#a56b18}.signal-chip>span:nth-child(2){flex:1}.signal-chip small{display:block;color:var(--map-muted);font-size:10px;margin-top:3px}.signal-arrow{color:var(--map-muted)}.input-summary{font-size:11px;line-height:1.8;color:var(--map-muted);margin:12px 0}.input-summary strong{font-weight:550;color:var(--ink)}.additional-inputs{margin:14px 0;font-size:12px}.additional-inputs summary{color:var(--blue);cursor:pointer}.additional-inputs p{line-height:1.7;color:var(--map-muted)}.inspector-footer{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:19px;border-top:1px solid var(--line);padding-top:16px}.inspector-footer .inspect-button{color:var(--blue);border-color:var(--map-border);font-size:12px;background:var(--surface-alt)}.inspector-footer>span{font-size:11px;color:var(--map-muted)}.raw-scope-note{display:flex;gap:10px;align-items:flex-start;margin:22px 0 8px;padding:13px 15px;border:1px solid var(--line);border-radius:8px;background:var(--surface-alt);color:var(--map-muted)}.raw-scope-note>span{color:var(--blue);font-size:18px}.raw-scope-note p{margin:0;font-size:12px;line-height:1.8}.formula-destination{display:block;font-size:12px;color:var(--blue);margin:8px 0;line-height:1.6}.contribution-context{background:var(--surface-alt);border:1px solid var(--line);border-left:3px solid var(--map-accent);padding:18px 20px;border-radius:7px;margin-bottom:19px}.context-label{display:block;font-size:11px;color:var(--blue);letter-spacing:.7px;margin-bottom:9px}.contribution-context strong{display:block;font-size:20px;font-weight:550;line-height:1.5}.contribution-context p{font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:0}.raw-v2 .raw-chip{font-size:12px;line-height:1.65}.raw-v2 table{font-size:15px}.raw-v2 th{font-size:11px}.raw-v2 td small{font-size:12px;line-height:1.65}.raw-v2 .ref{font-size:12px;line-height:1.6}
[data-theme="dark"] .raw-intro{background:linear-gradient(115deg,#1c3650 0%,#292d4a 100%);border-color:#506887;box-shadow:0 8px 28px #050d1828}
[data-theme="dark"] [data-tone="cyan"]{--map-accent:#71dbf1}[data-theme="dark"] [data-tone="violet"]{--map-accent:#c5b1fc}[data-theme="dark"] [data-tone="amber"]{--map-accent:#f0ce8b}[data-theme="dark"] [data-tone="mint"]{--map-accent:#7ee1b7}[data-theme="dark"] [data-tone="blue"]{--map-accent:#9cbefe}[data-theme="dark"] [data-tone="rose"]{--map-accent:#f0b4cc}[data-theme="dark"] [data-tone="slate"]{--map-accent:#c3d0e4}
[data-theme="dark"] .signal-mark{color:#86e7c2}[data-theme="dark"] .signal-chip.unobserved .signal-mark{color:#f3ca79}
[data-theme="dark"] .raw-tabs button.active{color:#c5e9ff;background:#334b69;border:1px solid #587797;box-shadow:none}
[data-theme="dark"] .raw-tabs button:not(.active){color:#c8d6e7}[data-theme="dark"] .theme-switch button[aria-pressed="true"]{background:#395371;color:white;box-shadow:0 0 0 1px #718ead}
[data-theme="dark"] :is(.raw-rule,.ref,td small,.raw-step p){color:#c0cee0}
[data-theme="dark"] .status.pending,[data-theme="dark"] .status.partial,[data-theme="dark"] .status.definition{background:#4c3d22;color:#ffe0a2}
[data-theme="dark"] .status.direct{background:#1c483f;color:#a4f1d3}
[data-theme="dark"] .raw-step,[data-theme="dark"] dialog{border-color:#526b89}
@media(min-width:1700px){.dashboard-mapping{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.map-block{padding:17px 16px}.map-block-title{font-size:16px}.map-block-subtitle{font-size:12px}.signal-chip{font-size:14px}.signal-chip small{font-size:11px}}
@media(max-width:1250px){.raw-intro{flex-wrap:wrap;gap:22px}.raw-intro-counts{flex:1}.raw-intro-counts>div:first-child{border-left:0;padding-left:0}.dashboard-mapping{grid-template-columns:1fr}.map-block{padding:12px 15px}.map-blocks{grid-template-columns:1fr 1fr}.map-block-meta{display:none}.map-block[data-dashboard-block="comparison"]{grid-column:1/-1}.map-block-subtitle{font-size:12px}.contribution-options{max-height:none}.inspector-signals{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.raw-intro{padding:20px;gap:20px}.raw-intro h2{font-size:25px}.raw-intro-copy>p{font-size:15px}.raw-intro-counts{width:100%;flex-basis:100%}.raw-intro-counts>div{padding:0 13px}.raw-intro-counts strong{font-size:31px}.raw-intro-counts span{font-size:11px}.intro-presence{font-size:11px}.raw-v2 .raw-toolbar{margin-block:18px}.raw-v2 .raw-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}.raw-v2 .raw-tabs button{font-size:12px;padding:9px 8px}.raw-v2 .download-actions{justify-content:flex-start}.mapping-heading h2{font-size:20px}.mapping-heading p{font-size:14px}.design-label{font-size:10px}.map-blocks{grid-template-columns:1fr}.map-block-meta{display:block}.map-block-title{font-size:14px}.map-block-subtitle{font-size:11px}.map-block{gap:9px;padding:12px 10px}.map-icon{width:31px;height:31px}.blueprint-heading{padding:17px}.blueprint-shifts span{font-size:10px}.inspector-signals{grid-template-columns:1fr 1fr}.selected-contribution{padding:18px 16px}.inspector-heading{padding:18px 16px}.contribution-options{padding:12px 14px}.selected-contribution h4{font-size:24px}.signal-chip{font-size:11px}.raw-v2 .status{font-size:10px}.purpose-copy{font-size:15px}.raw-v2 .button{font-size:12px}.contribution-output strong{font-size:14px}.raw-scope-note p{font-size:11px}.contribution-context{padding:15px}.contribution-context strong{font-size:18px}}
.map-back{display:none}.raw-intro{padding-block:21px}.raw-intro h2{margin:6px 0}.intro-presence{margin-top:12px}.map-block-title{font-size:16px}.map-block-subtitle{font-size:12px}.map-block-meta small{font-size:10px}.contribution-options button{font-size:14px}.signal-chip{font-size:12px}.signal-chip small{font-size:11px}.contribution-output small{font-size:10px}.raw-v2 .eyebrow{font-size:11px}.map-block:focus-visible,.contribution-options button:focus-visible,.signal-chip:focus-visible{outline-color:var(--blue)}@media(max-width:1250px){.map-back{display:block;padding:0;border:0;background:none;color:var(--blue);font-size:14px;margin-bottom:15px;text-align:left}}@media(max-width:760px){.map-block-title{font-size:15px}.map-block-subtitle{font-size:12px}.signal-chip{font-size:12px}.signal-chip small{font-size:10px}}
/* One-day visual simulation: compact controls, complete reference dashboard. */
.preview-dashboard{padding-top:0}.preview-origin{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 16px;padding:10px 15px;background:#fff3d6;border:1px solid #e2c17d;border-radius:8px;color:#80530d;font-size:14px;margin-bottom:16px;position:sticky;top:0;z-index:5}.preview-origin strong{font-size:14px;font-weight:600}.preview-origin strong>span{margin-right:6px}.preview-origin>span{font-size:12px}.preview-datebar{display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:21px 24px}.preview-datebar h2{font-size:25px;margin:5px 0}.preview-datebar p{font-size:14px;color:var(--muted);margin:5px 0 0}.preview-form-fields{display:flex;gap:12px;align-items:flex-end;flex-shrink:0}.preview-form-fields label{display:grid;gap:7px;font-size:12px;color:var(--muted)}.preview-form-fields input{border:1px solid var(--control-border);background:var(--surface-alt);color:var(--ink);font:inherit;font-size:16px;padding:11px 12px;border-radius:6px;min-width:170px}.button.preview-run{padding:12px 22px;background:#176f89;border-color:#176f89;color:white;font-weight:600;font-size:15px}.preview-run span{font-size:12px;margin-right:6px}.button.preview-run:hover{background:#115a70}.preview-date-status{font-size:12px;color:var(--muted);margin:10px 2px 22px}.preview-welcome{text-align:center;padding:54px 30px;border:1px dashed var(--control-border);background:var(--surface);border-radius:12px;max-width:100%}.preview-welcome-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:13px;background:var(--surface-alt);color:var(--blue);font-size:38px;margin:0 auto 20px}.preview-welcome h3{font-size:25px;font-weight:550;letter-spacing:-.4px}.preview-welcome p{color:var(--muted);font-size:15px;line-height:1.8;max-width:670px;margin:12px auto}.preview-welcome-shifts{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:24px 0}.preview-welcome-shifts span{border:1px solid var(--line);border-radius:5px;padding:7px 12px;background:var(--surface-alt);font-size:12px}.preview-results-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.preview-results-heading h2{font-size:20px}.preview-results-heading>span{font-size:12px;color:var(--muted)}.preview-grid{border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow-x:auto}.preview-columns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-width:1050px}.preview-cell{padding:17px 15px;text-align:center;border-right:1px solid var(--line);min-width:0}.preview-cell:last-child{border-right:0}.preview-day{background:color-mix(in srgb,var(--blue) 5%,var(--surface))}.preview-top-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preview-top-metrics>div>span{display:block;font-size:10px;letter-spacing:.5px;color:var(--muted);margin-top:4px}.preview-value-button{border:0;background:none;padding:0;color:var(--ink);font:inherit;cursor:pointer;max-width:100%}.preview-value-button:hover{color:var(--blue)}.preview-value-button strong{font-size:27px;line-height:1.4;letter-spacing:-.6px;font-weight:550}.preview-top-metrics>div:first-child .preview-value-button{color:var(--teal)}.preview-top-metrics>div:last-child .preview-value-button{color:var(--blue)}.preview-value-button strong>small{font-weight:400;font-size:12px;letter-spacing:0}.preview-share{display:block;border:0;background:none;color:var(--teal);margin:10px auto 13px;font-size:15px;padding:0;height:20px}.preview-share small{font-size:10px;color:var(--muted);margin-left:4px}.total-share{color:var(--muted);font-size:11px;line-height:20px}.preview-shift-heading{font-size:12px;font-weight:600;letter-spacing:.4px;border:1px solid var(--control-border);background:var(--surface-alt);padding:7px 5px;border-radius:4px}.preview-day .preview-shift-heading{background:#215572;border-color:#215572;color:white}.preview-section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--surface-alt);padding:9px 15px;border-block:1px solid var(--line);min-width:1050px}.preview-section-title>span{font-size:12px;text-transform:uppercase;letter-spacing:.9px;font-weight:650}.preview-section-title>small{font-size:11px;color:var(--muted)}.preview-chart-button{display:block;width:100%;border:0;background:none;color:inherit;padding:0;cursor:pointer}.preview-pie{height:118px;width:118px;border-radius:50%;margin:3px auto 14px;position:relative;display:grid;place-items:center}.preview-pie:before{content:'';position:absolute;inset:21px;border-radius:50%;background:var(--surface)}.preview-day .preview-pie:before{background:color-mix(in srgb,var(--blue) 5%,var(--surface))}.preview-pie>span{z-index:1;font-size:23px;line-height:1.25;letter-spacing:-.4px;font-weight:550}.preview-pie small{display:block;font-size:10px;font-weight:400;color:var(--muted);letter-spacing:0;margin-top:3px}.preview-operation-key{display:grid;grid-template-columns:1fr 1fr;gap:6px 8px;text-align:left;margin:0 0 17px;font-size:10px;color:var(--muted)}.preview-operation-key>span{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.preview-operation-key strong{font-size:11px;color:var(--ink);font-weight:550;margin-left:auto}.preview-operation-key i,.preview-time-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.preview-secondary-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding-top:12px;border-top:1px solid var(--line)}.preview-secondary-metrics>div>span{display:block;font-size:10px;color:var(--muted);letter-spacing:.5px;margin-bottom:3px}.preview-secondary-metrics .preview-value-button strong{font-size:23px}.preview-time-legend{display:flex;gap:7px 17px;flex-wrap:wrap;align-items:center;min-width:1050px;padding:11px 18px;border-bottom:1px solid var(--line);background:var(--surface)}.preview-time-legend>span{display:flex;gap:5px;align-items:center;font-size:11px;color:var(--muted)}.preview-time-stack{height:clamp(380px,48vh,460px);width:clamp(105px,10cqw,140px);display:flex;flex-direction:column;margin:2px auto 13px;border:1px solid #607a8e;overflow:hidden}.preview-time-stack>div{display:flex;align-items:center;justify-content:center;flex-shrink:0;border-bottom:1px solid #25445d30;min-height:0}.preview-time-stack>div>span{font-size:10px;color:white;padding:0 4px;border-radius:3px;background:#162333b3;line-height:1.5;white-space:nowrap}.preview-time-base{font-size:11px;color:var(--muted)}.preview-distance-values{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preview-distance-values>div>span,.preview-duration-values>div>span{font-size:10px;display:block;color:var(--muted);margin-bottom:5px}.preview-distance-values .preview-value-button strong{font-size:23px}.preview-delta{display:block;font-size:11px;margin-top:4px;line-height:1.4}.preview-delta.positive{color:#b85260}.preview-delta.negative{color:#178269}.preview-delta.neutral{color:var(--muted)}.preview-base-label{display:block;font-size:10px;color:var(--muted);margin-top:5px}.preview-duration-values{display:grid;grid-template-columns:1fr 1fr;gap:18px 8px}.preview-duration-values>div>span{font-size:10px;line-height:1.5}.preview-duration-values .preview-value-button strong{font-size:20px}.preview-footnote{font-size:12px;color:var(--muted);line-height:1.8;margin:12px 0}.preview-assumptions{border:1px solid var(--line);border-radius:7px;padding:13px 16px;background:var(--surface);margin:17px 0}.preview-assumptions summary{cursor:pointer;color:var(--blue);font-size:14px;font-weight:500}.preview-assumptions p,.preview-assumptions li{font-size:14px;color:var(--muted);line-height:1.8}.preview-assumptions ul{padding-left:22px}.preview-detail-selected{background:var(--surface-alt)}.status.demo{background:#e7f1fa;color:#23617e}
[data-theme="dark"] .preview-origin{background:#3c3120;border-color:#8b6d35;color:#ffe0a2}[data-theme="dark"] .preview-run{background:#71d2e8;border-color:#71d2e8;color:#0c2734}[data-theme="dark"] .preview-run:hover{background:#a0e7f5}[data-theme="dark"] .preview-day .preview-shift-heading{background:#3a627f;border-color:#6e99b8}[data-theme="dark"] .preview-delta.positive{color:#ffb5bf}[data-theme="dark"] .preview-delta.negative{color:#91e6c6}[data-theme="dark"] .status.demo{background:#204763;color:#b7e8ff}
@media(min-width:1700px){.preview-pie{height:132px;width:132px}.preview-operation-key{font-size:12px}.preview-operation-key strong{font-size:12px}.preview-duration-values{grid-template-columns:repeat(4,minmax(0,1fr))}.preview-time-stack{height:460px;width:140px}}
@media(max-width:1000px){.preview-datebar{align-items:flex-start;flex-wrap:wrap}.preview-form-fields{width:100%;justify-content:flex-start}.preview-datebar h2{font-size:23px}}
@media(max-width:760px){.preview-origin{padding:9px 11px}.preview-origin strong{font-size:12px}.preview-origin>span{font-size:11px}.preview-datebar{padding:17px;gap:17px}.preview-datebar h2{font-size:21px}.preview-form-fields{gap:10px}.preview-form-fields label{flex:1;min-width:0}.preview-form-fields input{min-width:0;max-width:100%;width:100%;font-size:15px}.button.preview-run{padding:12px 16px}.preview-welcome{padding:34px 20px}.preview-welcome h3{font-size:23px}.preview-welcome p{font-size:14px}.preview-welcome-shifts{gap:5px}.preview-welcome-shifts span{font-size:11px;padding:6px 8px}.preview-results-heading h2{font-size:18px}.preview-results-heading>span{font-size:11px}.preview-footnote{font-size:11px}.preview-date-status{line-height:1.7}.preview-assumptions li{font-size:12px}}
[data-theme="dark"] #visual-simulation-form .preview-run{background:#71d2e8;border-color:#71d2e8;color:#0c2734}[data-theme="dark"] #visual-simulation-form .preview-run:hover{background:#a0e7f5}
/* Available-width layout, without a forced 1050px dashboard canvas. */
main,#content,.preview-dashboard{min-width:0}.preview-grid{container-type:inline-size;overflow:hidden}.preview-columns,.preview-section-title,.preview-time-legend{min-width:0}.preview-columns{grid-template-columns:repeat(5,minmax(0,1fr))}.preview-cell-label,.preview-period-nav{display:none}.preview-cell{overflow-wrap:anywhere}.preview-section-title{flex-wrap:wrap}.preview-section-title small{overflow-wrap:anywhere}.preview-operation-value{display:flex;align-items:center;gap:4px;flex-wrap:wrap;border:0;background:transparent;padding:3px 0;color:var(--muted);font:inherit;text-align:left;cursor:pointer;min-width:0}.preview-operation-value:hover{color:var(--blue)}.preview-operation-value strong{font-size:11px;color:var(--ink);font-weight:550;margin-left:auto}.preview-time-segment{display:flex;align-items:center;justify-content:center;flex-shrink:0;border:0;border-bottom:1px solid #25445d30;min-height:0;padding:0;cursor:pointer;position:relative}.preview-time-segment>span{font-size:10px;color:white;padding:0 4px;border-radius:3px;background:#162333b3;line-height:1.5;white-space:nowrap}.preview-time-segment:hover{box-shadow:inset 0 0 0 2px #fff9;z-index:1}.preview-time-segment:focus-visible{outline:2px solid var(--ink);outline-offset:-2px;z-index:1}.preview-time-base{background:transparent;border:0;cursor:pointer;padding:5px 2px;font:inherit;font-size:11px;color:var(--muted)}button.preview-delta{border:0;background:transparent;padding:3px 0;font:inherit;font-size:11px;cursor:pointer;margin-inline:auto}.preview-chart-button:focus-visible,.preview-value-button:focus-visible,.preview-operation-value:focus-visible,button.preview-delta:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:3px}
@container(max-width:1050px){
 .preview-period-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:13px;background:var(--surface-alt);border-bottom:1px solid var(--line)}
 .preview-period-nav>span{width:100%;font-size:12px;font-weight:550;color:var(--muted);margin-bottom:3px}
 .preview-period-nav button{font-size:14px;line-height:1.5;min-height:38px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:5px;padding:6px 10px;text-align:center}
 .preview-period-nav button[aria-pressed="true"]{background:var(--blue);color:var(--bg);border-color:var(--blue);font-weight:650}
 .preview-columns{grid-template-columns:minmax(0,1fr)}.preview-cell{display:none;border-right:0;padding:18px}
 .preview-cell.is-selected-period{display:block}.preview-cell-label{display:block;font-size:12px;letter-spacing:.7px;font-weight:600;color:var(--blue);margin-bottom:14px}
 .preview-columns:has(.preview-top-metrics) .preview-cell-label{display:none}
 
 
 
 .preview-top-metrics,.preview-secondary-metrics,.preview-distance-values,.preview-duration-values{max-width:500px;margin-inline:auto}
 .preview-operation-key{max-width:440px;margin-inline:auto;font-size:14px}.preview-operation-value strong{font-size:14px}
 .preview-secondary-metrics{margin-top:15px}.preview-time-legend{gap:8px 12px;padding:12px}.preview-time-legend>span{font-size:12px}
 .preview-duration-values{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.preview-duration-values>div>span{font-size:11px}
 .preview-value-button strong{font-size:29px}.preview-time-base{font-size:14px}.preview-top-metrics>div>span{font-size:12px}.preview-secondary-metrics>div>span{font-size:11px}
 .preview-section-title>small{font-size:11px;line-height:1.7}.preview-section-title>span{font-size:12px}
}
@container(max-width:480px){.preview-duration-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.preview-period-nav button{flex:1 0 28%;font-size:12px}.preview-section-title{display:block}.preview-section-title>small{display:block;margin-top:4px}.preview-operation-key{font-size:12px;gap:7px 12px}.preview-value-button strong{font-size:28px}}
.dashboard-grid{container-type:inline-size}.dashboard-columns{min-width:0}@container(max-width:900px){.dashboard-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns>.shift-cell:first-child{grid-column:1/-1}.dashboard-columns:not(:first-child)>.shift-cell:before{display:block;font-size:11px;color:var(--blue);font-weight:600;margin-bottom:10px}.dashboard-columns:not(:first-child)>.shift-cell:nth-child(1):before{content:'TOTAL DAY'}.dashboard-columns:not(:first-child)>.shift-cell:nth-child(2):before{content:'NIGHT SHIFT'}.dashboard-columns:not(:first-child)>.shift-cell:nth-child(3):before{content:'MORNING SHIFT'}.dashboard-columns:not(:first-child)>.shift-cell:nth-child(4):before{content:'AFTERNOON SHIFT'}.dashboard-columns:not(:first-child)>.shift-cell:nth-child(5):before{content:'EVENING SHIFT'}}@container(max-width:480px){.dashboard-columns{grid-template-columns:minmax(0,1fr)}}
.metric-formula-tooltip{position:fixed;z-index:1000;max-width:calc(100vw - 24px);overflow-y:auto;overscroll-behavior:contain;background:var(--surface);color:var(--ink);border:1px solid var(--control-border);border-top:3px solid var(--blue);border-radius:10px;box-shadow:0 16px 55px #07132655;padding:17px;scrollbar-width:thin;font-size:14px;line-height:1.6}.proof-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}.proof-heading>div>span{font-size:10px;letter-spacing:.9px;color:var(--blue);font-weight:650}.proof-heading h3{font-size:18px;font-weight:600;line-height:1.5;margin:5px 0}.proof-heading small{font-size:12px;color:var(--muted)}.proof-result{font-size:25px;white-space:nowrap;font-weight:550}.proof-result small{font-size:12px;font-weight:400}.formula-proof h4{font-size:14px;font-weight:650;margin:15px 0 7px;color:var(--ink)}.formula-proof h4 small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:3px}.formula-proof p{font-size:14px;line-height:1.7}.proof-equation{padding:10px 12px;border-left:3px solid var(--blue);background:var(--surface-alt);border-radius:0 5px 5px 0;font-size:14px;line-height:1.8;overflow-wrap:anywhere}.proof-substitution{padding:8px 0;margin:2px 0;font-size:12px;background:transparent;max-height:none;color:var(--blue);line-height:1.8}.proof-input-list{list-style:none;margin:0;padding:0}.proof-input-list li{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line);padding:8px 0}.proof-input-list strong{font-size:12px;font-weight:550}.proof-input-list code{display:block;font-size:11px;color:var(--muted);margin-top:2px}.proof-input-list li>span{font-size:12px;max-width:48%;text-align:right;overflow-wrap:anywhere}.proof-hypothesis{margin-top:14px;border:1px solid #dbbd7d;background:#fff4d9;border-radius:6px;padding:11px 12px;color:#754d13}.proof-hypothesis>strong{font-size:12px;font-weight:650}.proof-hypothesis p{font-size:12px;line-height:1.8;margin:5px 0 0}.proof-origin{color:var(--muted);font-size:11px!important}.proof-raw-list{list-style:none;margin:0;padding:0}.proof-raw-list li{padding:6px 0;border-bottom:1px solid var(--line)}.proof-raw-list strong{display:block;font-size:12px;font-weight:550}.proof-raw-list span,.proof-raw-list em{display:block;font-size:11px;color:var(--muted);line-height:1.7}.proof-raw-list code{display:block;font-size:11px;margin:4px 0;color:var(--blue);overflow-wrap:anywhere}.proof-candidates,.proof-config{font-size:11px!important;color:var(--muted);line-height:1.8;margin-top:10px}.proof-help{border-top:1px solid var(--line);padding-top:10px;font-size:11px!important;color:var(--blue)}.proof-full{margin:16px 0 24px}.proof-full .proof-heading h3{font-size:23px}.proof-full .proof-heading>div>span{font-size:11px}.proof-full .proof-equation{font-size:16px}.proof-full .proof-input-list strong,.proof-full .proof-hypothesis p,.proof-full .proof-raw-list strong{font-size:14px}.proof-full .proof-raw-list{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.proof-full .proof-raw-list li{min-width:0}.proof-full .proof-hypothesis>strong{font-size:15px}
[data-theme="dark"] .proof-hypothesis{background:#3f3422;border-color:#8b6d35;color:#ffe0a2}[data-theme="dark"] .proof-hypothesis p{color:#ffe0a2}[data-theme="dark"] .metric-formula-tooltip{border-color:#7292b6;border-top-color:var(--blue);box-shadow:0 16px 65px #0009}@media(max-width:760px){.proof-full .proof-raw-list{grid-template-columns:1fr}.proof-heading h3{font-size:17px}.metric-formula-tooltip{padding:14px}.proof-result{font-size:23px}}
.preview-period-nav button:hover{background:var(--surface-hover);color:var(--ink)}@media(max-width:420px){.preview-form-fields{flex-wrap:wrap}.preview-form-fields label{flex:1 1 100%}.preview-form-fields .preview-run{width:100%}.header-actions{flex-wrap:wrap;justify-content:flex-start}}
.mobile-menu-toggle{display:none}@media(max-width:760px){.sidebar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 12px}.mobile-menu-toggle{display:block;border:1px solid #426176;border-radius:6px;background:#214354;color:#edfaff;padding:8px 11px;min-height:38px;font-size:14px}.sidebar nav{display:none;grid-column:1/-1;grid-template-columns:1fr 1fr;overflow:visible;gap:6px;margin-top:14px}.sidebar[data-menu-open="true"] nav{display:grid}.sidebar nav button{white-space:normal;font-size:14px;line-height:1.5;padding:10px;text-align:left}.sidebar .brand{min-width:0}.sidebar .brand small{font-size:10px}}

.preview-time-segment>span{font-size:12px;padding:1px 5px}@container(max-width:1050px){.preview-time-stack{height:clamp(400px,55vh,480px);width:min(180px,65%)}}
/* Vertical time legend beside the plot, with responsive space for both. */
.preview-time-layout{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:stretch}.preview-time-layout>.preview-time-legend{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:15px;padding:20px 12px;min-width:0;border-bottom:0;border-right:1px solid var(--line)}.preview-time-layout>.preview-time-legend>span{display:flex;align-items:center;font-size:12px;line-height:1.7;gap:7px;overflow-wrap:anywhere}.preview-time-layout .preview-cell-label{display:block;font-size:11px;font-weight:600;letter-spacing:.6px;color:var(--blue);margin-bottom:15px}.preview-time-layout>.preview-columns{min-width:0}.preview-time-layout .preview-time-stack{max-width:100%}@container(max-width:1050px){.preview-time-layout{grid-template-columns:145px minmax(0,1fr)}.preview-time-layout>.preview-time-legend{gap:17px;padding:18px 12px}.preview-time-layout .preview-time-stack{width:min(180px,100%)}}@container(max-width:480px){.preview-time-layout{grid-template-columns:minmax(0,1fr) minmax(115px,1.15fr)}.preview-time-layout>.preview-time-legend{gap:16px;padding:15px 10px}.preview-time-layout>.preview-time-legend>span{font-size:11px;gap:6px}.preview-time-layout .preview-cell{padding:18px 10px}.preview-time-layout .preview-time-stack{width:min(140px,100%)}.preview-time-layout .preview-time-base{font-size:11px;line-height:1.7}}
/* Progressive metric lineage, shared by light/dark and standalone exports. */
.proof-assumption{padding:10px 12px;background:var(--surface-alt);border-radius:6px;color:var(--secondary-ink)}
.proof-substitution{white-space:pre-wrap;overflow-wrap:anywhere}.metric-mapping{border-top:1px solid var(--line);padding-top:22px}.mapping-calculation{font-size:17px;line-height:1.8;color:var(--ink)}.mapping-notice{font-size:14px;color:var(--secondary-ink);padding:12px 14px;background:var(--surface-alt);border-left:3px solid var(--amber);line-height:1.7}.mapping-flow{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 16px}.mapping-flow span{background:var(--surface-alt);border:1px solid var(--line);border-radius:6px;padding:8px 12px;font-size:12px;color:var(--blue)}.mapping-step{border:1px solid var(--control-border);border-radius:8px;margin:10px 0;overflow:hidden}.mapping-step>summary{display:flex;align-items:center;gap:10px;padding:14px;background:var(--surface-alt);font-weight:600;font-size:15px}.mapping-step>summary:after{content:'+';margin-left:auto;color:var(--blue)}.mapping-step[open]>summary:after{content:'−'}.mapping-step>summary small{font-size:11px;font-weight:400;color:var(--secondary-ink)}.mapping-number{display:grid;place-items:center;min-width:25px;height:25px;border:1px solid var(--control-border);border-radius:50%;color:var(--blue)}.mapping-step-body{padding:4px 18px 18px}.mapping-step h4{font-size:14px;margin:16px 0 6px}.mapping-step p,.mapping-detail p{font-size:14px;line-height:1.8}.mapping-gap{color:var(--secondary-ink);border-left:2px solid var(--amber);padding-left:12px}.mapping-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.mapping-columns>div{min-width:0}.mapping-target,.mapping-raw{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.mapping-target strong,.mapping-raw strong{display:block;font-size:14px;overflow-wrap:anywhere}.metric-mapping code,.mapping-detail code{display:block;font-size:12px;overflow-wrap:anywhere;white-space:normal;margin:7px 0;color:var(--blue)}.mapping-target small,.mapping-raw small{display:block;color:var(--secondary-ink);font-size:11px;line-height:1.7}.mapping-target strong small{display:inline}.mapping-target summary{font-size:11px;margin-top:7px;color:var(--secondary-ink)}.mapping-detail{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.mapping-detail>summary{color:var(--blue)}.mapping-actions{margin-top:22px}.metric-mapping .ref{overflow-wrap:anywhere}#detail{max-width:960px;width:calc(100% - 32px)}#detail-body{min-width:0}.proof-full{margin-top:0}
@media(max-width:650px){.mapping-columns{grid-template-columns:1fr;gap:8px}.mapping-step>summary{flex-wrap:wrap}.mapping-step>summary small{width:100%;padding-left:35px}.mapping-step-body{padding:4px 12px 12px}.mapping-actions .button{white-space:normal;width:100%}}
/* Executive metric reading: short meaning first, technical lineage only on request. */
.executive-meaning{font-size:18px!important;line-height:1.65!important;color:var(--ink);margin:12px 0 20px}.executive-proof h4{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--secondary-ink);margin-top:18px}.executive-proof .proof-equation{font-size:16px}.executive-proof .proof-assumption{font-size:12px;line-height:1.6}.executive-time-rule{font-size:14px;line-height:1.7;color:var(--secondary-ink);border-left:3px solid var(--teal);padding:8px 12px}.executive-technical{margin-top:24px;border:1px solid var(--line);border-radius:8px;padding:14px}.executive-technical>summary{font-size:14px;color:var(--blue)}.executive-technical .metric-mapping{border:0;margin-top:15px}.executive-guide-link{border:0;background:transparent;color:var(--blue);text-align:left;padding:0 0 12px;font-size:12px;line-height:1.5;text-decoration:underline;text-underline-offset:3px}.operational-guide{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.operational-guide article{padding:15px;border:1px solid var(--line);border-radius:8px;background:var(--surface-alt)}.operational-guide h3{display:flex;align-items:center;gap:9px;font-size:15px}.operational-guide h3 i{width:10px;height:10px;border-radius:3px;flex-shrink:0}.operational-guide p{font-size:14px;line-height:1.7;margin:8px 0}.operational-guide summary{font-size:12px;color:var(--blue)}@media(max-width:650px){.operational-guide{grid-template-columns:1fr}.executive-meaning{font-size:16px!important}.executive-technical{padding:10px}.executive-proof .proof-equation{font-size:14px}}
.normalized-observation{margin-top:9px;border-left:3px solid var(--teal);background:var(--surface-alt);padding:9px 12px}.normalized-observation strong{font-size:12px}.normalized-observation p{overflow-wrap:anywhere;margin:6px 0}.normalized-evidence{padding:14px;margin:0 0 20px;border:1px solid var(--control-border);border-radius:8px;background:var(--surface-alt)}.normalized-evidence>summary{font-size:15px;color:var(--blue)}.normalized-evidence p{font-size:14px;line-height:1.8}
.normalized-evidence p code{display:inline;margin:0}.normalized-evidence :is(th,td){padding:8px 10px}.normalized-evidence td code{margin:0}
/* Data Journey: source-backed transformations, independent of simulated metrics. */
.journey{container-type:inline-size}.journey-intro{display:flex;align-items:flex-start;gap:24px;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.journey-intro h2{font-size:28px;line-height:1.35;margin-top:8px}.journey-intro p{max-width:720px;color:var(--secondary-ink);font-size:16px;line-height:1.8;margin-bottom:0}.journey-readonly{margin-left:auto;white-space:nowrap;background:var(--surface-alt);border:1px solid var(--control-border);color:var(--teal);padding:7px 11px;border-radius:20px;font-size:12px}.journey-pipeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0}.journey-pipeline>div{min-width:0;border:1px solid var(--control-border);border-top:3px solid var(--teal);background:var(--surface);border-radius:8px;padding:15px}.journey-pipeline .pending{border-style:dashed;border-top-color:var(--amber)}.journey-pipeline small{display:block;font-size:12px;letter-spacing:2px;color:var(--teal);margin-bottom:9px}.journey-pipeline strong{display:block;font-size:15px;line-height:1.6}.journey-pipeline span{display:block;font-size:12px;color:var(--secondary-ink);line-height:1.7;margin-top:6px}.journey-pipeline em{display:inline-block;font-size:11px;color:var(--amber);font-style:normal;margin-top:9px}.journey-boundary{display:flex;gap:25px;border-left:3px solid var(--amber);padding:14px 18px;background:var(--surface-alt);border-radius:0 7px 7px 0}.journey-boundary strong{min-width:170px;font-size:14px}.journey-boundary p{font-size:14px;color:var(--secondary-ink);line-height:1.8;margin:0}.journey-toolbar{display:grid;gap:18px;margin-top:32px}.journey-routes{display:flex;gap:7px;flex-wrap:wrap}.journey-routes button{padding:11px 14px;border-radius:7px;border:1px solid var(--control-border);background:var(--surface);color:var(--secondary-ink);font-size:14px}.journey-routes button[aria-pressed="true"]{border-color:var(--blue);color:var(--blue);background:var(--surface-hover);box-shadow:inset 0 -2px var(--blue)}.journey-filters{display:flex;gap:14px;flex-wrap:wrap}.journey-filters label{display:grid;gap:6px;font-size:12px;color:var(--secondary-ink);min-width:220px;flex:1}.journey-filters :is(input,select){padding:10px 12px;border:1px solid var(--control-border);background:var(--surface);border-radius:6px;color:var(--ink);width:100%;font-size:14px}.journey-route-head{display:flex;justify-content:space-between;align-items:center;margin-top:30px;gap:15px}.journey-route-head h2{margin-top:5px;font-size:23px}.journey-route-head p{color:var(--secondary-ink);font-size:14px;margin:7px 0 12px}.journey-route-head>span{font-size:12px;white-space:nowrap;color:var(--muted)}.journey-route-path{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:6px;padding:12px 15px;margin-bottom:18px;color:var(--secondary-ink);font-size:14px;background:var(--surface-alt)}.journey-route-path small{width:100%;font-size:11px;color:var(--muted)}.journey-steps{display:grid;gap:16px}.journey-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}.journey-card-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:16px 20px}.journey-card-heading h3{margin:0;font-size:18px}.journey-kind{font-size:11px;border:1px solid var(--control-border);border-radius:5px;padding:4px 8px;white-space:nowrap;color:var(--teal)}.journey-kind:is(.constant,.unpopulated){color:var(--amber)}.journey-chain{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr) minmax(0,1fr)}.journey-chain>div{padding:17px 20px;min-width:0}.journey-chain>div+div{border-left:1px solid var(--line)}.journey-chain h4{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--blue);margin:0 0 12px}.journey-chain p{font-size:15px;line-height:1.9;margin:0}.journey-chain code{display:block;font:11px/1.8 Consolas,monospace;overflow-wrap:anywhere;color:var(--secondary-ink);margin:7px 0}.journey-target{padding-bottom:9px}.journey-target small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.journey-target code{color:var(--blue)}.journey-impact{display:flex;gap:15px;padding:12px 20px;border-block:1px solid var(--line);background:var(--surface-alt);font-size:12px;line-height:1.8}.journey-impact strong{min-width:80px;color:var(--teal)}.journey-impact span{color:var(--secondary-ink)}.journey-limit{padding:12px 20px;margin:0;font-size:14px;line-height:1.8;color:var(--secondary-ink)}.journey-code-button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;border:0;border-top:1px solid var(--line);padding:13px 20px;background:var(--surface-alt);color:var(--blue);font-size:14px;text-align:left}.journey-code-button:hover{background:var(--surface-hover)}.journey-code-button span{font-size:11px}.journey-method{padding:16px 18px;border:1px solid var(--line);border-radius:8px;margin-top:18px;background:var(--surface);font-size:14px}.journey-method summary{color:var(--blue)}.journey-method li{margin:10px 0;line-height:1.8}.journey-method code{display:block;font-size:11px;overflow-wrap:anywhere;color:var(--secondary-ink)}.journey-downloads{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.journey-source{margin:22px 0}.journey-source h3{font-size:16px}.journey-source p,.journey-code-note{font-size:14px;color:var(--secondary-ink);line-height:1.8}.journey-source-path{display:block;overflow-wrap:anywhere;font-size:11px;color:var(--blue);margin-bottom:12px}.journey-source pre{background:var(--surface-alt);color:var(--ink);font:11px/1.8 Consolas,monospace;padding:14px;border:1px solid var(--line);border-radius:6px;max-height:420px;overflow:auto}
@container(max-width:850px){.journey-pipeline{grid-template-columns:repeat(3,minmax(0,1fr))}.journey-chain{grid-template-columns:1fr}.journey-chain>div+div{border-left:0;border-top:1px solid var(--line)}.journey-boundary{display:block}.journey-boundary p{margin-top:6px}.journey-intro{flex-wrap:wrap}.journey-readonly{margin-left:0}}@container(max-width:460px){.journey-pipeline{grid-template-columns:1fr 1fr}.journey-pipeline>div:last-child{grid-column:1/-1}.journey-intro{padding:18px}.journey-intro h2{font-size:24px}.journey-card-heading{flex-wrap:wrap}.journey-impact{display:block}.journey-impact strong{display:block;margin-bottom:5px}.journey-filters label{min-width:100%}.journey-route-head{align-items:flex-start}.journey-route-head>span{white-space:normal}.journey-card-heading,.journey-chain>div,.journey-limit,.journey-code-button{padding:14px}.journey-pipeline strong{font-size:14px}}
/* Compact source evidence within dashboard explanations. */
.dashboard-evidence{padding:12px 14px;margin:14px 0;background:var(--surface-alt);border:1px solid var(--control-border);border-left:3px solid var(--blue);border-radius:6px}.dashboard-evidence.insufficient,.dashboard-evidence.unavailable{border-left-color:var(--amber)}.dashboard-evidence-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-wrap:wrap;font-size:12px}.dashboard-evidence-heading>span{color:var(--secondary-ink);font-size:11px}.dashboard-evidence p{font-size:12px;line-height:1.75;margin:9px 0 0}.proof-full .dashboard-evidence p{font-size:14px}.dashboard-evidence .text-button{margin-top:12px;padding:0;font-size:14px}.target-code-trace{padding:7px 10px;border-left:2px solid var(--teal);font-size:11px!important;color:var(--secondary-ink);background:var(--surface-alt)}.operational-source{border-top:1px solid var(--line);margin-top:12px;padding-top:6px}.proof-full .proof-heading{align-items:center}.proof-full .proof-heading>div>small{display:block;margin-top:3px}
/* Exhaustive RAW inventory and five-stage, per-field lineage. */
.raw-journey-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 14px}.raw-journey-counts>div,.raw-journey-counts>button{display:block;text-align:left;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:9px;color:var(--ink);min-width:0}.raw-journey-counts>button:hover{border-color:var(--blue);background:var(--surface-hover)}.raw-journey-counts strong{display:block;font-size:29px;font-weight:600;color:var(--blue)}.raw-journey-counts span{font-size:12px;color:var(--secondary-ink);line-height:1.6;display:block;margin-top:6px}.raw-count-definition{border-left:3px solid var(--teal);background:var(--surface-alt);padding:12px 15px;border-radius:0 6px 6px 0;font-size:14px;line-height:1.8}.raw-count-definition summary{color:var(--blue)}.raw-journey-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 16px}.raw-journey-tabs button,.raw-trace-mode button{padding:12px 16px;border:1px solid var(--control-border);border-radius:7px;background:var(--surface);color:var(--secondary-ink);font-size:14px}.raw-journey-tabs button[aria-pressed="true"],.raw-trace-mode button[aria-pressed="true"]{color:var(--blue);border-color:var(--blue);background:var(--surface-hover);box-shadow:inset 0 -2px var(--blue)}.raw-journey-tabs small{margin-left:8px;color:var(--muted)}.raw-trace-mode{display:flex;gap:7px;margin:16px 0}.raw-trace-mode button{padding:8px 12px;font-size:12px}.raw-inventory-hint{font-size:14px;line-height:1.8;color:var(--secondary-ink);max-width:950px;margin:15px 0}.raw-inventory-filters{display:grid;grid-template-columns:1fr 1fr 1.2fr 1.3fr;gap:12px;margin:20px 0}.raw-inventory-filters label{display:grid;gap:6px;font-size:12px;color:var(--secondary-ink);min-width:0}.raw-inventory-filters :is(select,input){width:100%;min-width:0;padding:10px;border:1px solid var(--control-border);background:var(--surface);color:var(--ink);font-size:14px;border-radius:6px}.raw-inventory-result{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 0;font-size:12px;color:var(--secondary-ink)}.raw-inventory .table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:9px}.raw-inventory-table{width:100%;table-layout:fixed;min-width:860px}.raw-inventory-table th:nth-child(1){width:30%}.raw-inventory-table th:nth-child(2){width:34%}.raw-inventory-table th:nth-child(3){width:26%}.raw-inventory-table th:nth-child(4){width:10%}.raw-inventory-table :is(th,td){padding:14px;vertical-align:top}.raw-inventory-table code{display:block;overflow-wrap:anywhere;white-space:normal;font:10px/1.8 Consolas,monospace;color:var(--blue);margin:6px 0}.raw-inventory-table small{display:block;font-size:11px;color:var(--secondary-ink);line-height:1.7;overflow-wrap:anywhere}.raw-inventory-table p{font-size:12px;line-height:1.8;margin:8px 0 0}.raw-inventory-table td>span{font-size:12px;line-height:1.7}.raw-inventory-table em{display:block;color:var(--amber);font-style:normal;font-size:11px}.raw-message-match{border-top:1px solid var(--line);padding-top:7px;margin-top:10px}.raw-treatment{display:inline-block;font-size:11px!important;background:var(--surface-alt);border:1px solid var(--control-border);border-radius:4px;padding:4px 7px;line-height:1.6}.raw-treatment.mapped,.raw-treatment.intermediate{color:var(--teal)}.raw-treatment.excluded,.raw-treatment.unmapped{color:var(--amber)}.raw-inventory-pages{display:flex;gap:14px;align-items:center;justify-content:center;margin:18px 0;font-size:14px;color:var(--secondary-ink)}.raw-inventory-pages button:disabled{opacity:.45;cursor:default}.raw-trace-path{display:block;overflow-wrap:anywhere;font-size:15px;line-height:1.8;color:var(--blue);margin-top:18px}.raw-trace-source{font-size:12px;color:var(--secondary-ink);overflow-wrap:anywhere}.raw-field-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:20px 0}.raw-field-flow>div{min-width:0;padding:14px;border:1px solid var(--line);border-top:3px solid var(--teal);background:var(--surface-alt);border-radius:7px}.raw-field-flow>.pending{border-top-color:var(--amber);border-style:dashed}.raw-field-flow small{display:block;font-size:10px;line-height:1.7;color:var(--secondary-ink);overflow-wrap:anywhere;margin-bottom:8px}.raw-field-flow strong{font-size:12px;line-height:1.7;display:block;overflow-wrap:anywhere}.raw-field-flow p{font-size:12px;line-height:1.8;margin:8px 0}.raw-field-flow code{font-size:11px;overflow-wrap:anywhere;white-space:normal;color:var(--blue)}@container(max-width:850px){.raw-inventory-filters{grid-template-columns:1fr 1fr}.raw-journey-counts{grid-template-columns:1fr 1fr}}@media(max-width:760px){.raw-field-flow{grid-template-columns:1fr}.raw-inventory-result{align-items:flex-start;flex-direction:column}.raw-journey-tabs button{padding:10px 12px}.raw-inventory-table{min-width:800px}}
.signal-counts{grid-template-columns:repeat(6,minmax(0,1fr))}.signal-count-note{font-size:12px;line-height:1.8;color:var(--secondary-ink);margin:8px 0;max-width:1050px}@container(max-width:1050px){.signal-counts{grid-template-columns:repeat(3,minmax(0,1fr))}}@container(max-width:550px){.signal-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Architecture overview: seven stages with source-specific details. */
.journey-layer-items{margin-top:12px;font-size:12px;line-height:1.65}.journey-layer-items b,.journey-layer-items summary{font-size:11px;color:var(--blue);font-weight:600}.journey-layer-items summary{cursor:pointer}.journey-layer-items code{display:block;overflow-wrap:anywhere;font:10px/1.7 Consolas,monospace;background:var(--surface-alt);border-radius:4px;padding:5px 7px;margin-top:6px;color:var(--ink)}.journey-pipeline .journey-layer-evidence{font-size:11px;color:var(--muted);margin-top:12px}
@container(min-width:1500px){.journey-pipeline{grid-template-columns:repeat(7,minmax(0,1fr))}}
@container(max-width:460px){.journey-pipeline{grid-template-columns:1fr}.journey-pipeline>div:last-child{grid-column:auto}}

.journey-pipeline>div:last-child{border-top-color:var(--blue)}

.raw-signal-help{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:5px;padding:0;border:1px solid var(--blue);border-radius:50%;background:var(--surface-alt);color:var(--blue);font:600 11px/1 system-ui;cursor:help;vertical-align:middle}.raw-signal-help:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.raw-signal-tooltip{position:fixed;inset:auto;margin:0;box-sizing:border-box;width:360px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:auto;padding:18px;border:1px solid var(--control-border);border-top:3px solid var(--blue);border-radius:9px;background:var(--surface);color:var(--ink);box-shadow:0 12px 40px #07132640;font:12px/1.7 system-ui;z-index:1100}.raw-signal-tooltip strong{font-size:16px!important;line-height:1.5!important}.raw-signal-tooltip p{margin:10px 0 0;font-size:14px}.raw-signal-tooltip dl{margin:12px 0;background:var(--surface-alt);border-radius:5px;padding:8px 10px}.raw-signal-tooltip dl>div{display:grid;grid-template-columns:55px 1fr;gap:8px;margin:5px 0}.raw-signal-tooltip dt{font-family:Consolas,monospace;color:var(--blue)}.raw-signal-tooltip dd{margin:0}

.journey-layer-description{display:block;font-size:12px;color:var(--secondary-ink);line-height:1.7;margin-top:6px}


.downstream{margin:28px 0;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.downstream h2{font-size:21px;margin:0 0 8px}.downstream p,.downstream li{font-size:14px;line-height:1.8}.downstream code{overflow-wrap:anywhere;font:11px/1.8 Consolas,monospace;color:var(--blue)}.downstream-branches{display:grid;gap:10px;margin:18px 0}.downstream-branches>details{border:1px solid var(--control-border);border-radius:7px}.downstream-branches>details>summary{cursor:pointer;padding:14px;font-size:15px}.downstream-branches summary small{display:block;font-size:12px;color:var(--secondary-ink);margin:5px 0 0 15px}.downstream-body{padding:0 16px 16px}.downstream-body h3{font-size:14px;margin:18px 0 10px}.downstream-body li{margin:7px 0}.downstream-path{padding-left:20px}.downstream-body dl>div{padding:10px 0;border-bottom:1px solid var(--line)}.downstream-body dd{font-size:14px;line-height:1.8;margin:5px 0 0}.downstream-references,.downstream-gaps{font-size:14px;line-height:1.8;margin-top:16px}.downstream-references summary,.downstream-gaps summary{cursor:pointer;color:var(--blue)}.downstream-references code{display:block;margin:7px 0}.downstream-key{padding:12px;background:var(--surface-alt);border-left:3px solid var(--blue)}

.downstream-input{display:block;margin:7px 0;overflow-wrap:anywhere}.downstream-metrics{width:100%;font-size:14px}.downstream-metrics th,.downstream-metrics td{padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);line-height:1.8}.downstream-metrics th{font-size:11px;color:var(--muted)}.downstream-body>.button{margin-top:15px}.mapping-detail>[data-downstream-code]{display:block;margin:8px 0}
@media(max-width:600px){.downstream{padding:14px}.downstream-metrics{min-width:650px}.downstream-body{padding:0 12px 14px}}

.journey-metric-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-top:6px;padding:7px 8px;border:1px solid transparent;border-radius:4px;background:var(--surface-alt);color:var(--ink);text-align:left;font:11px/1.6 system-ui;cursor:help}.journey-metric-trigger:hover,.journey-metric-trigger:focus-visible{border-color:var(--blue);outline:none}.journey-pipeline .journey-metric-trigger>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 15px;width:15px;height:15px;border:1px solid var(--blue);border-radius:50%;font-size:11px;color:var(--blue);margin:0}.journey-metric-tooltip>code{display:block;overflow-wrap:anywhere;font:11px/1.8 Consolas,monospace;color:var(--blue);background:var(--surface-alt);padding:8px;border-radius:4px;margin-top:5px}.journey-metric-tooltip .journey-metric-caption{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--secondary-ink);margin-top:14px}.journey-pipeline .journey-metric-tooltip>small{font-size:11px;letter-spacing:0;line-height:1.6;color:var(--muted);margin:12px 0 0}

.sample-evidence{margin:16px 0;padding:12px 14px;background:var(--surface-alt);border-left:3px solid var(--teal);border-radius:0 5px 5px 0}.sample-evidence strong{font-size:12px;color:var(--teal)}.sample-evidence p{font-size:14px;line-height:1.8;margin:6px 0 0}.journey-pipeline .journey-sample-badge{display:inline-block;font-size:11px;line-height:1.6;margin-top:12px;padding:3px 7px;border:1px solid var(--teal);border-radius:4px;color:var(--teal)}.metric-sample-evidence{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.metric-sample-evidence b{font-size:11px;color:var(--teal)}.metric-sample-evidence p{font-size:12px!important;line-height:1.8}.dependency-evidence{font-size:11px!important;color:var(--teal)}

.journey-ports{display:grid;gap:12px;margin:15px 0}.journey-ports .journey-port{margin-top:0}.journey-port-label{display:inline-block;font:650 9px/1.5 system-ui;letter-spacing:1px;border:1px solid var(--control-border);border-radius:4px;padding:3px 7px;margin:0 0 4px}.journey-port-label.input{color:var(--blue);border-color:var(--blue)}.journey-port-label.output{color:var(--teal);border-color:var(--teal)}.journey-port>details{margin-top:5px}.journey-port>details>summary{font-size:12px}.journey-port .journey-metric-items{margin-top:0}

.journey-port-label.process{color:var(--blue);border-color:var(--blue);text-transform:uppercase}

.attribute-overview{margin:18px 0 20px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.attribute-overview>p{font-size:14px;line-height:1.8;margin:0}.attribute-provenance{font-size:12px!important;color:var(--secondary-ink);line-height:1.8!important;margin:8px 0!important}.attribute-legend{display:flex;flex-wrap:wrap;gap:6px 15px;font-size:11px;color:var(--secondary-ink);margin-top:10px}.attribute-legend span:before{content:'•';color:var(--blue);margin-right:5px}.attribute-selection-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:12px;padding-top:12px;font-size:14px}.attribute-selection-bar[hidden]{display:none}.journey-attributes{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.journey-attributes .attribute-card-hint{font-size:11px;color:var(--muted);line-height:1.6;margin:4px 0 9px}.attribute-button{display:block;width:100%;min-width:0;text-align:left;padding:9px 8px;margin:6px 0;border:1px solid var(--line);border-radius:6px;background:var(--surface-alt);color:var(--ink);cursor:pointer}.attribute-button:hover,.attribute-button:focus-visible{border-color:var(--blue);outline:2px solid transparent}.attribute-button:focus-visible{outline-color:var(--blue);outline-offset:2px}.attribute-button .attribute-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;margin:0;font-size:12px;line-height:1.5;color:var(--ink)}.attribute-row-head b{font-size:12px;font-weight:600}.attribute-state,.journey-pipeline .attribute-state{display:inline-block;font:500 8px/1.6 system-ui;letter-spacing:0;white-space:normal;color:var(--blue);border:1px solid var(--control-border);padding:1px 4px;border-radius:3px;margin:0}.attribute-state[data-state="transformed"],.attribute-state[data-state="derived"],.attribute-state[data-state="aggregated"]{color:var(--teal);border-color:var(--teal)}.attribute-state[data-state="null"],.attribute-state[data-state="unused"],.attribute-state[data-state="origin_gap"]{color:var(--amber);border-color:var(--amber)}.attribute-button .attribute-example{display:flex;align-items:baseline;justify-content:space-between;gap:7px;margin:6px 0 0;min-width:0;color:var(--ink)}.attribute-example code{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:10px/1.7 Consolas,monospace;color:var(--ink)}.journey-pipeline .attribute-example small{display:inline;flex-shrink:0;letter-spacing:0;font-size:10px;line-height:1.4;color:var(--muted);margin:0}.attribute-more{margin-top:9px;font-size:12px}.attribute-more>summary{color:var(--blue);cursor:pointer}.attribute-selected{border-color:var(--teal)!important;box-shadow:inset 3px 0 var(--teal);background:var(--surface-hover)}.attribute-unselected{opacity:.65}.journey-pipeline>div[data-attribute-state="unused"],.journey-pipeline>div[data-attribute-state="origin_gap"],.journey-pipeline>div[data-attribute-state="null"]{border-top-color:var(--amber)}.journey-pipeline .attribute-stage-gap{font-size:12px;line-height:1.8;color:var(--secondary-ink);padding:10px;border-left:2px solid var(--blue);background:var(--surface-alt);margin:10px 0 0}.attribute-tooltip{width:410px}.attribute-tip-meta{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--secondary-ink);margin:9px 0}.attribute-full-field{margin:10px 0;padding:9px 10px;border:1px solid var(--line);border-radius:5px;background:var(--surface-alt)}.attribute-full-field>small{display:block;font-size:10px;color:var(--secondary-ink);margin:0 0 5px;letter-spacing:0}.attribute-full-field>code{display:block;font:10px/1.8 Consolas,monospace;overflow-wrap:anywhere;color:var(--blue)}.attribute-full-value{margin-top:8px}.attribute-full-value pre{font:11px/1.8 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:var(--ink);padding:0;background:none}.attribute-full-value>span{display:block;font-size:11px;color:var(--secondary-ink);margin-top:3px}.attribute-tooltip>small{display:block;font-size:11px;line-height:1.8;color:var(--secondary-ink);margin-top:10px}.attribute-trace-stages{display:grid;gap:12px;margin-top:18px}.attribute-trace-stages>section{padding:15px;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:6px}.attribute-trace-stages>section[data-state="unused"],.attribute-trace-stages>section[data-state="origin_gap"],.attribute-trace-stages>section[data-state="null"]{border-left-color:var(--amber)}.attribute-trace-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.attribute-trace-heading h3{font-size:15px;margin:0}.attribute-trace-stages p{font-size:14px;line-height:1.8}.attribute-source{font-size:11px!important;color:var(--muted)}.attribute-trace-code{display:grid;gap:8px;margin-top:18px}.attribute-trace-code .button{text-align:left;font-size:12px}@media(max-width:600px){.attribute-overview{padding:12px}.attribute-trace-heading{flex-wrap:wrap}.attribute-trace-stages>section{padding:12px}.attribute-selection-bar{gap:10px}.attribute-unselected{opacity:.8}}

.attribute-card-trace{display:block;margin:12px 0 0;font-size:12px;line-height:1.7}.attribute-card-trace[hidden]{display:none}

/* Complete operational inventory, searchable independently in every stage. */
.attribute-search-label{display:block;font-size:14px;color:var(--muted);margin:12px 0 4px}
.attribute-search{display:block;box-sizing:border-box;width:100%;min-width:0;margin-top:5px;padding:9px;border:1px solid var(--control-border);border-radius:7px;background:var(--surface);color:var(--ink)}
.attribute-search-count{font-size:12px;color:var(--muted);margin:5px 0}
.attribute-list{position:relative;max-height:580px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:5px}
.attribute-list .attribute-button{width:100%;box-sizing:border-box}
.attribute-button[hidden]{display:none}
.attribute-row-head b{overflow-wrap:anywhere;min-width:0}
.attribute-source-kind{display:block;color:var(--teal);font-size:11px;margin:4px 0}
.attribute-card-actions{display:flex;flex-wrap:wrap;gap:8px}
.attribute-state[data-state="pending"]{color:var(--amber);border-color:var(--amber);background:var(--surface-alt)}
.attribute-state[data-state="excluded"]{color:var(--muted);border-color:var(--muted);background:var(--surface-alt)}
.attribute-search:focus-visible{outline:2px solid #83d4ff;outline-offset:2px}

.kpi-switcher{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.kpi-switcher .active{border-color:var(--teal);color:var(--teal)}
.kpi-scope{font-size:14px;color:var(--muted);border-left:3px solid var(--amber);padding:10px 12px;background:var(--surface-alt)}
.kpi-chain{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 24px}.kpi-chain li{padding:12px;border:1px solid var(--line);border-top:2px solid var(--teal);border-radius:6px;min-width:0}.kpi-chain strong{font-size:14px}.kpi-chain p{font-size:14px;margin:8px 0 0}
.kpi-result{padding:16px;border:1px solid var(--teal);border-radius:7px;background:var(--surface-alt);display:grid;gap:8px;margin:15px 0}.kpi-result strong{font-size:24px;color:var(--teal)}.kpi-result small{font-size:12px;color:var(--muted)}
.kpi-arithmetic{margin:16px 0;border:1px solid var(--line);border-radius:6px;padding:12px}.kpi-arithmetic>summary{font-weight:600;color:var(--blue)}
.kpi-log-table,.kpi-cycle-table,.kpi-signal-table{max-height:440px;overflow:auto;margin:12px 0}.kpi-signal-table td:first-child{min-width:170px;max-width:280px}.kpi-signal-table td:first-child button{overflow-wrap:anywhere;white-space:normal;text-align:left}.kpi-signal-table td:last-child{min-width:210px}.kpi-signal-table td small{display:block;overflow-wrap:anywhere}.kpi-signal-table tr[hidden]{display:none}
.kpi-signal-tools{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.kpi-signal-tools input{min-width:0;flex:1}.kpi-signal-tools select{padding:8px;border:1px solid var(--control-border);border-radius:5px;background:var(--surface);color:var(--ink);max-width:100%}.kpi-signal-tools span{font-size:14px;color:var(--muted)}
.kpi-selected-cycle{background:var(--surface-hover)}.kpi-track-links{display:grid;gap:9px;margin:22px 0;padding:14px;border:1px solid var(--line);border-radius:6px}.kpi-track-links .text-button{text-align:left}.kpi-track-links .button{white-space:normal}
@media(max-width:600px){.kpi-chain{grid-template-columns:1fr}.kpi-result strong{font-size:20px}.kpi-signal-tools{display:grid}.kpi-switcher .button{white-space:normal}.kpi-result{overflow-wrap:anywhere}}

.kpi-context-links{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}

/* Editable RAW-to-KPI simulation workbench. */
.simulation-mode{display:flex;gap:12px;align-items:center;margin:0 0 18px}.simulation-mode label{font-size:14px;color:var(--muted)}.simulation-mode select{border:1px solid var(--control-border);border-radius:6px;background:var(--surface);color:var(--ink);padding:9px;max-width:100%}
.raw-workbench{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--teal);padding:22px;border-radius:9px;min-width:0;max-width:100%}.raw-workbench-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.raw-workbench-heading p{font-size:15px;color:var(--muted);max-width:740px}.raw-workbench .preview-run{background:var(--teal);color:white;border-color:var(--teal)}
.raw-context-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:18px 0}.raw-context-fields label{font-size:12px;color:var(--muted);display:grid;gap:6px}.raw-context-fields input{min-width:0;width:100%;padding:9px;border:1px solid var(--control-border);border-radius:5px;background:var(--surface);color:var(--ink)}
.raw-input-help{font-size:14px;color:var(--muted);line-height:1.8}.raw-input-table{max-height:530px;overflow:auto;border:1px solid var(--line);border-radius:6px;max-width:100%}.raw-input-table table{min-width:1540px;margin:0}.raw-input-table thead th{position:sticky;top:0;background:var(--surface-alt);z-index:1;font-size:12px}.raw-input-table td{padding:8px 6px}.raw-input-table input,.raw-input-table select{padding:7px 6px;border:1px solid var(--control-border);border-radius:4px;background:var(--surface);color:var(--ink);width:100%;font-size:14px}.raw-input-table input[type=number]{min-width:78px;width:85px}.raw-input-table input[type=text]{width:90px}.raw-input-table input[type=time]{min-width:145px}.raw-input-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--teal)}.raw-input-table select{min-width:70px}.raw-input-table tr:focus-within{background:var(--surface-hover)}
.raw-input-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.raw-event-help{border:1px solid var(--line);padding:12px;border-radius:6px;font-size:14px}.raw-event-help summary{font-weight:600;color:var(--blue)}#raw-form-status{font-size:14px;color:var(--teal);margin:15px 0 0}#raw-form-error{color:var(--red);border-left:3px solid var(--red);padding:10px;background:var(--surface-alt);font-weight:600}
.raw-results{margin:26px 0;padding:20px;border:1px solid var(--line);border-radius:9px;background:var(--surface);min-width:0}.raw-results>p{color:var(--muted);font-size:14px}.raw-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.raw-kpi-grid>div,.raw-kpi-grid>button{display:grid;gap:4px;padding:14px;background:var(--surface-alt);border:1px solid var(--line);border-radius:6px}.raw-kpi-grid small{font-size:12px;color:var(--muted)}.raw-kpi-grid strong{font-size:27px;font-weight:600;color:var(--teal)}.raw-kpi-grid span{font-size:11px;color:var(--muted)}.raw-reconstruction{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:5px}.raw-reconstruction summary{font-weight:600;font-size:14px;color:var(--blue)}.raw-reconstruction .table-wrap{max-height:430px;overflow:auto;margin-top:10px}.raw-warnings{font-size:14px;border-left:3px solid var(--amber);padding:10px}
@media(max-width:1000px){.raw-context-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.raw-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.raw-workbench-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.simulation-mode{align-items:flex-start;flex-direction:column;gap:6px}.raw-workbench,.raw-results{padding:13px}.raw-context-fields{grid-template-columns:1fr}.raw-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.raw-input-actions .button{white-space:normal}.raw-workbench-heading .preview-run{width:100%}}

.raw-kpi-grid>button{color:var(--ink);text-align:left;cursor:pointer}.raw-kpi-grid>button:hover{border-color:var(--teal)}

/* Executive conclusions: requirements, processing and observed data risks. */
.executive-summary{display:grid;gap:25px;margin-bottom:28px}.conclusion-verdict{padding:24px;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:8px;background:var(--surface)}.conclusion-verdict h2{font-size:26px;line-height:1.4;max-width:880px;margin:8px 0 12px}.conclusion-verdict p{max-width:1050px;margin:0;color:var(--secondary-ink);line-height:1.8}
.conclusion-section>.section-head{margin-top:0}.conclusion-inputs{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:auto}.conclusion-inputs table{margin:0}.conclusion-inputs th{background:var(--surface-alt)}.conclusion-inputs td{vertical-align:top;width:36%;min-width:200px;font-size:14px;line-height:1.8}.conclusion-inputs td:last-child{width:28%;min-width:175px}.conclusion-inputs td p{margin:5px 0 0;color:var(--secondary-ink)}.conclusion-kpi-links{display:flex;flex-wrap:wrap;gap:4px 14px}.conclusion-kpi-links .text-button{text-align:left;font-size:12px}.conclusion-support{font-size:14px;color:var(--muted);line-height:1.8;margin:12px 0 0}
.conclusion-chain{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;counter-reset:conclusion;margin:16px 0 0}.conclusion-chain li{counter-increment:conclusion;padding:15px;border:1px solid var(--line);border-top:2px solid var(--teal);border-radius:6px;background:var(--surface);min-width:0}.conclusion-chain li:before{content:counter(conclusion,decimal-leading-zero);display:block;color:var(--teal);font-size:12px;margin-bottom:10px}.conclusion-chain strong{font-size:14px}.conclusion-chain p{font-size:14px;color:var(--secondary-ink);line-height:1.7;margin:8px 0 0}
.conclusion-section-intro{font-size:14px;color:var(--muted);margin:8px 0 15px}.conclusion-risks{display:grid;grid-template-columns:1fr 1fr;gap:14px}.conclusion-risk{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:18px;min-width:0}.conclusion-risk[data-risk=reach]{grid-column:1/-1;border-left:4px solid var(--red)}.conclusion-risk-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}.conclusion-priority{font-size:11px;border:1px solid var(--amber);border-radius:4px;padding:3px 7px;color:var(--amber);font-weight:600}.conclusion-priority.critical{border-color:var(--red);color:var(--red)}.conclusion-risk-heading small{font-size:11px;color:var(--muted)}.conclusion-risk h3{font-size:17px;line-height:1.5}.conclusion-risk p{font-size:14px;color:var(--secondary-ink);line-height:1.8;margin:9px 0}.conclusion-action{background:var(--surface-alt);border-radius:4px;padding:9px 11px}.conclusion-risk-links{display:flex;flex-wrap:wrap;gap:6px 13px;margin-top:12px}.conclusion-risk-links button{font-size:12px;text-align:left}
.conclusion-decision{padding:23px;border:1px solid var(--teal);border-radius:8px;background:var(--surface)}.conclusion-decision h2{margin-top:8px}.conclusion-decision>p{font-size:15px;line-height:1.9;color:var(--secondary-ink)}.conclusion-decision>.button{margin-top:15px;white-space:normal}
@media(max-width:1100px){.conclusion-chain{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.conclusion-verdict,.conclusion-decision{padding:17px}.conclusion-verdict h2{font-size:23px}.conclusion-chain{grid-template-columns:1fr 1fr}.conclusion-risks{grid-template-columns:1fr}.conclusion-risk[data-risk=reach]{grid-column:auto}.conclusion-section .section-head{align-items:flex-start;flex-direction:column;gap:8px}}

.conclusion-fact{font-size:12px;color:var(--muted);margin-top:12px}.conclusion-fact>summary{color:var(--blue)}

.executive-summary,.conclusion-section{min-width:0;max-width:100%}.conclusion-inputs{max-width:100%}.conclusion-verdict,.conclusion-decision{min-width:0;overflow-wrap:anywhere}

/* PBIX / Gold audit and comparison of terminals. */
.report-conclusions .conclusion-verdict>.button{margin-top:17px}.report-findings .conclusion-risk{grid-column:auto}.report-findings .conclusion-risk:first-child{border-left:4px solid var(--red)}.report-requirements{margin-top:15px}.report-measure-links{display:flex;flex-wrap:wrap;gap:9px 14px}.report-source-note,.report-measure-inventory{padding:15px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font-size:14px;min-width:0}.report-source-note summary,.report-measure-inventory summary{color:var(--blue);font-weight:600}.report-source-note li{margin:8px 0}.report-source-note code{overflow-wrap:anywhere}.report-measure-inventory input{margin-top:15px;max-width:100%}.report-measure-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:390px;overflow:auto}.report-measure-list>div{border:1px solid var(--line);border-radius:4px;padding:8px;min-width:0}.report-measure-list>div[hidden]{display:none}.report-measure-list button{text-align:left;white-space:normal}.report-measure-list small{display:block;color:var(--muted);font-size:11px}.report-dax{white-space:pre-wrap;overflow-wrap:anywhere;max-height:520px;overflow:auto;font:12px/1.8 Consolas,monospace;background:var(--surface-alt);color:var(--ink);padding:16px;border:1px solid var(--line);border-radius:6px}.report-column-list{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 20px}.report-column-list code{font-size:12px;overflow-wrap:anywhere;color:var(--blue);padding:5px;background:var(--surface-alt)}
.terminal-comparison{display:grid;gap:24px;margin-bottom:30px;min-width:0}.terminal-comparison>section{min-width:0}.comparison-controls{display:flex;gap:15px;flex-wrap:wrap;align-items:flex-end;padding:20px;border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:8px;background:var(--surface);min-width:0}.comparison-controls>div{flex:1;min-width:240px}.comparison-controls p{font-size:14px;color:var(--muted);max-width:700px}.comparison-controls label{display:grid;gap:7px;font-size:12px;color:var(--muted);min-width:0}.comparison-controls select{background:var(--surface);color:var(--ink);border:1px solid var(--control-border);border-radius:5px;padding:9px;max-width:100%}.comparison-period{padding:12px 16px;border-left:3px solid var(--teal);background:var(--surface-alt);font-size:14px}.comparison-period p{margin:5px 0 0;color:var(--muted)}.comparison-period.mixed{border-color:var(--amber)}.terminal-metric-table,.terminal-duration-table{background:var(--surface);border:1px solid var(--line);border-radius:7px;overflow:auto;max-width:100%;margin-top:13px}.terminal-metric-table table,.terminal-duration-table table{margin:0;min-width:640px}.terminal-metric-table th,.terminal-duration-table th{background:var(--surface-alt)}.terminal-metric-table td,.terminal-duration-table td{font-size:14px;vertical-align:top}.terminal-metric-table td:first-child{min-width:180px}.terminal-metric-table td:not(:first-child){font-variant-numeric:tabular-nums}.terminal-metric-table button,.terminal-duration-table button{text-align:left}.comparison-additional{margin-top:12px;font-size:14px}.comparison-additional summary{color:var(--blue)}
.terminal-time-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:15px}.terminal-time-columns>article{border:1px solid var(--line);border-radius:7px;padding:17px;background:var(--surface);min-width:0}.terminal-time-columns h3{font-size:15px}.terminal-time-stack{height:26px;display:flex;overflow:hidden;border-radius:4px;margin:14px 0}.terminal-time-stack span{display:block;height:100%}.terminal-time-legend{display:grid;gap:6px}.terminal-time-legend>div{display:flex;gap:8px;font-size:12px;align-items:center}.terminal-time-legend i{width:9px;height:9px;border-radius:2px;flex-shrink:0}.terminal-time-legend span{flex:1}.terminal-time-legend strong{font-weight:500;font-variant-numeric:tabular-nums}.comparison-metric-proof{margin:15px 0;padding:14px;border:1px solid var(--line);border-radius:6px;background:var(--surface-alt)}
@media(max-width:700px){.comparison-controls{padding:14px;align-items:stretch;flex-direction:column}.comparison-controls>div{min-width:0}.comparison-controls select{width:100%}.terminal-time-columns{grid-template-columns:1fr}.report-measure-list{grid-template-columns:1fr}.report-findings{grid-template-columns:1fr}.terminal-comparison .section-head{align-items:flex-start;flex-direction:column;gap:8px}}

/* A five-minute executive brief, also exported as a lightweight standalone file. */
.brief-share-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px}.brief-share-actions>span{font-size:12px;color:var(--teal)}.brief-document{padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--surface);min-width:0}.brief-document .brief-header{display:block;height:auto;border:0;margin-bottom:19px}.brief-header h2{font-size:29px;margin:5px 0}.brief-header>p{font-size:15px;color:var(--muted);margin:5px 0}.brief-header .brief-kicker{color:var(--teal);font-size:11px;letter-spacing:1.3px}.brief-lead{padding:15px 18px;border-left:4px solid var(--teal);border-radius:5px;background:var(--surface-alt);font-size:15px}.brief-document .brief-lead h2{margin:0 0 8px;font-size:20px}.brief-document>section,.brief-columns{margin-top:22px}.brief-document h2{font-size:19px;margin:0 0 12px}.brief-document h3{font-size:16px;margin-top:20px}.brief-document p,.brief-document li{font-size:14px;line-height:1.85}.brief-document li{margin:7px 0}.brief-table{border:1px solid var(--line);border-radius:6px;overflow:auto;max-width:100%}.brief-table table{margin:0;min-width:580px}.brief-table th{background:var(--surface-alt)}.brief-table td{vertical-align:top;font-size:14px;line-height:1.75}.brief-table td:first-child{font-weight:600;width:20%;min-width:115px}.brief-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px}.brief-columns section{min-width:0}.brief-note,.brief-document .brief-note{font-size:12px;color:var(--muted)}.brief-pipeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.brief-pipeline>div{border:1px solid var(--line);border-top:2px solid var(--teal);border-radius:5px;padding:14px}.brief-pipeline strong{display:block;color:var(--teal);font-size:16px}.brief-pipeline span{display:block;font-size:12px;color:var(--secondary-ink);margin-top:5px}.brief-evidence-scope{margin-top:24px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;line-height:1.9;color:var(--muted)}.brief-deep-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin:18px 0 28px}
@media(max-width:700px){.brief-document{padding:15px}.brief-columns,.brief-pipeline{grid-template-columns:1fr}.brief-share-actions>.button{white-space:normal}.brief-pipeline>div{padding:12px}.brief-lead{padding:13px}.brief-header h2{font-size:26px}}
@media print{body:has(.brief-document){background:white;color:#193541;font-size:12px}body:has(.brief-document) .sidebar,body:has(.brief-document) main>header,body:has(.brief-document) .heading,body:has(.brief-document) .brief-share-actions,body:has(.brief-document) .brief-deep-links,body:has(.brief-document) main>footer{display:none!important}body:has(.brief-document) .shell{display:block}body:has(.brief-document) main{margin:0;width:auto;padding:0}.brief-document{padding:0;border:0;background:white;color:#193541}.brief-document h2,.brief-document h3{break-after:avoid}.brief-document tr,.brief-lead,.brief-pipeline{break-inside:avoid}.brief-document table{min-width:0;font-size:11px}.brief-table td,.brief-document p,.brief-document li{font-size:11px}.brief-columns{grid-template-columns:1fr 1fr}.brief-pipeline{grid-template-columns:repeat(3,1fr)}.brief-table{overflow:visible}.brief-document .brief-header{margin-bottom:12px}.brief-document>section,.brief-columns{margin-top:16px}@page{size:A4;margin:14mm}}

@media print{.brief-document{--surface:#fff;--surface-alt:#eff5f6;--ink:#193541;--muted:#607580;--secondary-ink:#294d5f;--line:#dce6ea;--teal:#087c75;--control-border:#dce6ea}}

.raw-coverage{display:grid;gap:30px;margin-bottom:30px}.raw-coverage section{min-width:0}.raw-coverage p,.raw-coverage li{font-size:15px;line-height:1.85;color:var(--secondary-ink)}.coverage-intro,.coverage-context,.coverage-variants{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:23px}.coverage-intro h2{font-size:26px;max-width:900px;line-height:1.45;margin:10px 0}.coverage-chain{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0;padding:15px;background:var(--surface-alt);border-radius:7px}.coverage-chain span{font-size:14px;line-height:1.9}.coverage-chain b{color:var(--teal)}.coverage-kpis,.coverage-scores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.coverage-kpi,.coverage-scores article{padding:22px;border:1px solid var(--line);background:var(--surface);border-radius:9px;min-width:0}.coverage-kpi h3{font-size:19px;margin:0 0 10px;line-height:1.5}.coverage-equation{padding:15px;background:var(--surface-alt);border-left:3px solid var(--teal);border-radius:5px;font-size:20px;font-weight:600;line-height:1.8;color:var(--teal)}.coverage-kpi ol{padding-left:23px}.coverage-kpi li{margin:8px 0}.coverage-chips{display:flex;flex-wrap:wrap;gap:6px}.coverage-chip{padding:5px 8px;background:var(--surface-alt);border:1px solid var(--line);border-radius:5px;font-size:12px;color:var(--ink)}.coverage-kpi-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}.coverage-kpi-actions .text-button{font-size:12px}.coverage-variants{margin-top:17px}.coverage-score-number{font-size:60px;font-weight:650;color:var(--teal);margin:10px 0;line-height:1.3}.coverage-score-number small{font-size:27px;margin-left:4px}.coverage-scores progress{display:block;width:100%;height:13px;margin:15px 0;accent-color:var(--teal)}.coverage-scores h3{font-size:15px}.coverage-scores p{font-size:14px}.raw-coverage .section-head>div{max-width:750px}.raw-coverage select{display:block;background:var(--surface);color:var(--ink);max-width:100%;margin-top:8px}.raw-coverage label{font-size:14px;max-width:100%}.coverage-alert{border:1px solid var(--amber);border-left-width:4px;background:var(--surface);padding:18px;border-radius:7px;margin:18px 0}.coverage-alert p{margin:7px 0 0}.coverage-table{border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:auto}.coverage-table table{margin:0;min-width:750px;table-layout:fixed}.coverage-table th{background:var(--surface-alt)}.coverage-table th:first-child{width:24%}.coverage-table td{font-size:14px}.coverage-table td p{font-size:14px}.coverage-table td small{font-size:12px;color:var(--muted);line-height:1.7}.coverage-table .coverage-field{display:grid;gap:7px;padding:12px 0;border-bottom:1px solid var(--line)}.coverage-field:last-child{border:0}.coverage-field code{font-size:12px;overflow-wrap:anywhere;color:var(--secondary-ink)}.coverage-status{display:inline-block;font-weight:650;margin:2px 0 8px}.coverage-status.present{color:var(--teal)}.coverage-status.absent,.coverage-table .coverage-caution{color:var(--amber)}.coverage-sources{padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.coverage-sources summary{cursor:pointer;color:var(--blue);font-weight:600}.coverage-sources p{overflow-wrap:anywhere}.coverage-evidence{padding:15px 0;border-bottom:1px solid var(--line)}.coverage-evidence h3{overflow-wrap:anywhere}.coverage-evidence p{font-size:15px}#coverage-score{scroll-margin-top:20px}.coverage-gold{font-size:12px;line-height:1.8;border-top:1px solid var(--line);padding-top:12px;margin-top:15px}.coverage-gold code{font-size:12px}
@media(max-width:950px){.coverage-kpis{grid-template-columns:1fr}.coverage-chain{flex-wrap:wrap}.coverage-chain span{min-width:130px}}@media(max-width:600px){.coverage-scores{grid-template-columns:1fr}.coverage-intro,.coverage-context,.coverage-variants,.coverage-kpi,.coverage-scores article{padding:16px}.coverage-intro h2{font-size:23px}.coverage-equation{font-size:18px}.coverage-chain{display:grid;grid-template-columns:1fr 20px 1fr}.coverage-chain b:nth-child(4){display:none}.coverage-chain b:nth-child(6){grid-column:2;grid-row:2}.coverage-chain span{min-width:0}.coverage-table table{min-width:720px}.coverage-score-number{font-size:50px}}

.coverage-dashboard-link{margin-bottom:18px;font-size:15px}.coverage-overview>.section-head{margin-top:0}.coverage-overview>.section-head h2{font-size:21px}

/* Executive RAW overview: the source journey, then one comparable binary pattern. */
.coverage-journey-summary{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:23px}.coverage-journey-summary>.section-head{margin-top:0}.coverage-journey-summary h2{font-size:26px;margin:7px 0 8px}.coverage-journey-summary>.section-head p{margin:0}.coverage-journey-steps{list-style:none;margin:20px 0 0;padding:0}.coverage-journey-steps>li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);gap:20px;padding:19px 0;border-top:1px solid var(--line);position:relative}.coverage-stage-description{display:flex;gap:12px;min-width:0}.coverage-stage-number{flex:none;display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--teal);border-radius:50%;color:var(--teal);font-size:12px;font-weight:650;background:var(--surface)}.coverage-stage-description h3{font-size:16px;margin:2px 0 6px}.raw-coverage .coverage-stage-description p{font-size:14px;line-height:1.7;margin:0}.coverage-stage-io{min-width:0}.coverage-io-label{display:inline-block;padding:3px 7px;border-radius:4px;background:var(--surface-alt);color:var(--teal);font-size:10px;font-weight:650;letter-spacing:.8px}.coverage-stage-io ul{list-style:none;padding:0;margin:9px 0 0;display:grid;gap:5px}.raw-coverage .coverage-stage-io li{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.coverage-stage-io .coverage-metric-outputs{display:flex;flex-wrap:wrap;gap:5px}.coverage-metric-outputs li{background:var(--surface-alt);border:1px solid var(--line);border-radius:4px;padding:3px 7px}.coverage-pattern{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:22px}.coverage-pattern-heading h3{font-size:21px;margin:0 0 6px}.coverage-pattern-heading p{margin:0;max-width:920px}.coverage-radar-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:18px;margin-top:20px}.coverage-radar{margin:0;min-width:0}.coverage-radar svg{width:100%;height:auto;display:block;overflow:visible}.coverage-radar-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 17px}.coverage-radar-controls label{display:flex;align-items:center;gap:5px;font-size:14px;cursor:pointer;color:var(--ink)}.coverage-radar-controls input{accent-color:var(--teal);width:14px;height:14px;margin:0 2px 0 0}.radar-key i{width:18px;height:0;border-top:3px solid var(--teal)}.radar-key.theory i{border-color:var(--muted);border-top-style:dashed}.radar-key.FMS i{border-color:var(--amber)}.coverage-radar-grid{fill:none;stroke:var(--line);stroke-width:1}.coverage-radar-axis{stroke:var(--line);stroke-width:1}.coverage-radar-label{font:14px 'Segoe UI',Arial,sans-serif;fill:var(--secondary-ink)}.coverage-radar-zero{font:12px 'Segoe UI',Arial,sans-serif;fill:var(--muted)}.coverage-radar-series polygon{fill:none;stroke-width:3;stroke-linejoin:round}.coverage-radar-series circle{stroke-width:2}.coverage-radar-series.theory polygon{stroke:var(--muted);stroke-width:7;stroke-dasharray:5 7;opacity:.8}.coverage-radar-series.theory circle{fill:var(--surface);stroke:var(--muted)}.coverage-radar-series.TTIA polygon{fill:var(--teal);fill-opacity:.06;stroke:var(--teal)}.coverage-radar-series.TTIA circle{fill:var(--teal);stroke:var(--surface)}.coverage-radar-series.FMS polygon{fill:var(--amber);fill-opacity:.15;stroke:var(--amber)}.coverage-radar-series.FMS circle{fill:var(--amber);stroke:var(--surface)}.coverage-radar figcaption{font-size:12px;line-height:1.7;text-align:center;color:var(--muted);padding:0 20px}.coverage-checks-header,.coverage-signal-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,55px);gap:6px;align-items:center}.coverage-checks-header{font-size:10px;color:var(--muted);letter-spacing:.4px;padding:8px 0 12px;border-bottom:1px solid var(--line)}.coverage-checks-header>span:not(:first-child){text-align:center}.coverage-signal-row{padding:6px 0;border-bottom:1px solid var(--line)}.coverage-signal-label{display:flex;gap:7px;align-items:center;background:var(--surface-alt);border:1px solid var(--line);padding:5px 8px;border-radius:5px;font-size:14px;line-height:1.5;color:var(--ink);min-width:0}.coverage-signal-label small{font-size:10px;color:var(--muted)}.coverage-signal-check{text-align:center;font-size:17px;font-weight:700;line-height:1.3}.coverage-signal-check.required{color:var(--muted)}.coverage-signal-check.present{color:var(--teal)}.coverage-signal-check.pending,.coverage-signal-check.absent{color:var(--amber)}.raw-coverage .coverage-checks-legend{display:flex;gap:4px 10px;flex-wrap:wrap;font-size:11px;margin:12px 0 0;color:var(--muted)}.coverage-pattern-scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.coverage-pattern-scores>div{padding:13px;background:var(--surface-alt);border:1px solid var(--line);border-radius:6px;min-width:0}.coverage-pattern-scores>div>span{display:block;font-size:11px;letter-spacing:1px;color:var(--muted)}.coverage-pattern-scores strong{display:block;font-size:31px;color:var(--teal);margin-top:7px}.coverage-pattern-scores strong small{font-size:18px}.raw-coverage .coverage-pattern-scores p{font-size:12px;margin:7px 0 0;line-height:1.7}
@media(max-width:1100px){.coverage-radar-layout{grid-template-columns:1fr}.coverage-radar{max-width:650px;width:100%;margin:auto}.coverage-checks-header,.coverage-signal-row{grid-template-columns:minmax(0,1fr) repeat(3,65px)}}
@media(max-width:900px){.coverage-journey-steps>li{grid-template-columns:1fr 1fr;gap:14px}.coverage-stage-description{grid-column:1/-1}.coverage-stage-io{padding-left:43px}.coverage-stage-io:last-child{padding-left:0}}
@media(max-width:600px){.coverage-journey-summary,.coverage-pattern{padding:16px}.coverage-journey-summary h2{font-size:23px}.coverage-pattern-scores{grid-template-columns:1fr}.coverage-pattern-scores strong{font-size:26px}.coverage-radar-layout{gap:18px}.coverage-checks-header,.coverage-signal-row{grid-template-columns:minmax(0,1fr) repeat(3,44px);gap:3px}.coverage-checks-header{font-size:10px;letter-spacing:0}.coverage-signal-label{padding:4px;font-size:12px;gap:4px}.coverage-radar-label{font-size:20px}.coverage-radar-controls{gap:10px}.coverage-radar figcaption{padding:0;font-size:11px}.coverage-stage-io{padding-left:0}.coverage-journey-steps>li{column-gap:14px}.coverage-journey-summary>.section-head p{font-size:14px}.coverage-stage-description p{max-width:100%}}

/* Each stage compares terminal-specific descriptions, inputs and outputs. */
.coverage-journey-steps>li{display:block;padding:18px 0}.coverage-stage-heading{display:flex;align-items:center;gap:12px;margin:0 0 13px}.coverage-stage-heading h3{font-size:16px;margin:0}.coverage-terminal-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);gap:20px;padding:12px;border:1px solid var(--line);border-radius:6px;margin:8px 0 0;background:var(--surface)}.coverage-terminal-row[data-journey-terminal=FMS]{background:var(--surface-alt)}.coverage-terminal-description{min-width:0}.coverage-terminal-name{display:inline-block;border:1px solid var(--line);border-radius:4px;padding:3px 7px;color:var(--teal);font-weight:650;font-size:11px;letter-spacing:.6px;background:var(--surface)}.raw-coverage .coverage-terminal-description p{font-size:14px;line-height:1.75;margin:7px 0 0}.coverage-terminal-row .coverage-stage-io{padding-left:0}.coverage-terminal-row .coverage-metric-outputs li{background:var(--surface)}
@media(max-width:900px){.coverage-terminal-row{grid-template-columns:1fr 1fr;gap:13px}.coverage-terminal-description{grid-column:1/-1}.coverage-journey-steps>li{display:block}}
@media(max-width:600px){.coverage-terminal-row{padding:10px;gap:12px}.coverage-terminal-row .coverage-stage-io li{font-size:11px}.coverage-journey-steps>li{padding:16px 0}}

/* Outputs use orange consistently in the executive journey and detailed journey. */
.coverage-io-label.output,.journey-port-label.output{color:#a84c00;background:#fff0df;border:1px solid #edb67c}
[data-theme="dark"] .coverage-io-label.output,[data-theme="dark"] .journey-port-label.output{color:#ffc17a;background:#422d20;border-color:#86512b}

.coverage-signal-check.derived{color:var(--blue)}.coverage-fms-findings{padding:22px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.coverage-fms-findings h2{font-size:24px;margin:9px 0}.coverage-fms-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.coverage-fms-facts article{border:1px solid var(--line);border-radius:6px;padding:16px;min-width:0}.coverage-fms-facts h3{font-size:17px;margin:0 0 9px}.coverage-fms-facts p{font-size:14px}.coverage-fms-findings summary{color:var(--blue);cursor:pointer;font-size:14px}.coverage-fms-findings details p{font-size:14px;overflow-wrap:anywhere}@media(max-width:650px){.coverage-fms-findings{padding:16px}.coverage-fms-facts{grid-template-columns:1fr}}

.quality-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--red);border-radius:5px;background:var(--surface);color:var(--red);font:600 11px/1.5 'Segoe UI',Arial,sans-serif;padding:6px 9px;margin:5px 0;max-width:100%;text-align:left;cursor:pointer}.quality-badge:hover{background:var(--surface-alt)}.quality-summary{padding:22px;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:8px;background:var(--surface)}.quality-summary h2{font-size:24px;line-height:1.5;margin:9px 0 13px}.quality-summary-labels{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:10px 0}.quality-received{display:inline-block;padding:6px 9px;border:1px solid var(--teal);border-radius:5px;font-size:12px;color:var(--teal);font-weight:600}.quality-summary .quality-scope{font-size:12px;color:var(--muted)}.coverage-signal-check.unusable{color:var(--red)}.coverage-radar-series.TTIA circle.quality-point{fill:var(--red);stroke:var(--surface);r:6}.quality-card-caption{font-size:12px;margin:10px 0 0}.quality-modal-notice{border-left:3px solid var(--red);padding:10px 13px;background:var(--surface-alt);margin:15px 0}.quality-modal-notice strong{color:var(--red)}@media(max-width:600px){.quality-summary{padding:16px}.quality-summary h2{font-size:21px}}

.gold-report{margin:30px 0 45px;min-width:0}.gold-report-heading h2{font-size:27px;line-height:1.45;margin:7px 0}.gold-report-heading p,.gold-formula-mode{font-size:14px;line-height:1.8;color:var(--muted)}.gold-report-controls{position:sticky;top:0;z-index:5;display:flex;align-items:end;flex-wrap:wrap;gap:13px;padding:16px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:8px;margin:20px 0 12px;box-shadow:0 3px 10px #102c3508}.gold-report-controls nav{display:flex;gap:5px;margin:0}.gold-report-controls nav button{background:var(--surface-alt);border:1px solid var(--line);border-radius:5px;padding:9px 12px;font-size:14px;color:var(--secondary-ink);cursor:pointer;width:auto}.gold-report-controls nav button[aria-pressed=true]{background:var(--teal);color:var(--surface)}.gold-report-controls label,.gold-shift-controls label{font-size:11px;color:var(--muted);display:grid;gap:6px;min-width:0}.gold-report-controls select,.gold-shift-controls select,.gold-mobile-selector select{background:var(--surface);color:var(--ink);font-size:14px;max-width:100%;min-width:0}.gold-terminal-report{padding:20px;margin:25px 0;border:1px solid var(--line);border-radius:9px;background:var(--surface);min-width:0}.gold-terminal-heading{height:auto;display:flex;justify-content:space-between;align-items:start;gap:18px;padding:0 0 15px;border-bottom:1px solid var(--line)}.gold-terminal-heading h3{font-size:26px;margin:0 0 8px}.gold-terminal-heading p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.gold-shift-controls{display:flex;flex-wrap:wrap;gap:10px;max-width:100%}.gold-source-caveat,.gold-period-coverage{font-size:12px;line-height:1.8;color:var(--muted);margin:13px 0}.gold-source-caveat{padding:9px 12px;border-left:3px solid var(--amber);background:var(--surface-alt)}.gold-dashboard-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:7px}.gold-dashboard-grid{min-width:calc(var(--gold-columns) * 175px);width:100%}.gold-dashboard-row{display:grid;grid-template-columns:repeat(var(--gold-columns),minmax(0,1fr));background:var(--line);gap:1px;border-bottom:1px solid var(--line)}.gold-dashboard-cell{background:var(--surface);padding:14px 11px;min-width:0;text-align:center}.gold-dashboard-total{background:var(--surface-alt)}.gold-column-title{font-size:14px;margin:0 0 5px;text-transform:uppercase;line-height:1.6;color:var(--teal)}.gold-dashboard-cell>small{color:var(--muted);font-size:11px}.gold-dashboard-section{margin:0;padding:10px 13px;background:var(--surface-alt);color:var(--secondary-ink);font-size:12px;text-transform:uppercase;letter-spacing:.45px;border-bottom:1px solid var(--line)}.gold-main-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gold-main-kpis span,.gold-throughput-values span,.gold-time-totals span,.gold-distance-values>div>span:first-child,.gold-duration-values>div>span:first-child{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;line-height:1.6}.gold-value-button{border:0;background:none;padding:7px 0;color:var(--teal);font:inherit;cursor:pointer;max-width:100%}.gold-value-button strong{font-size:27px;font-weight:650;line-height:1.3}.gold-value-button small{font-size:11px;display:block;color:var(--muted);margin-top:3px}.gold-value-button:hover strong{text-decoration:underline;text-underline-offset:4px}.gold-empty-reason{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin:2px 0}.gold-unit-share{display:block;background:none;border:0;color:var(--muted);font:10px/1.8 'Segoe UI',Arial,sans-serif;padding:8px 0 0;text-align:center;width:100%}.gold-unit-share[data-gold-metric]{cursor:pointer;color:var(--blue)}.gold-donut-button{border:0;padding:0;background:none;cursor:pointer;display:block;margin:0 auto 12px}.gold-donut{display:grid;place-items:center;width:118px;height:118px;border-radius:50%}.gold-donut>span{display:flex;align-items:center;justify-content:center;flex-direction:column;width:78px;height:78px;background:var(--surface);color:var(--ink);border-radius:50%;font-size:24px;font-weight:600}.gold-donut small{display:block;font-weight:400;font-size:10px;color:var(--muted);margin-top:4px}.gold-operations-legend{display:grid;gap:6px}.gold-operations-legend>div{display:grid;grid-template-columns:7px minmax(0,1fr) auto auto;gap:5px;text-align:left;align-items:center;font-size:11px;line-height:1.6}.gold-operations-legend i,.gold-time-legend i{width:7px;height:7px;display:inline-block;border-radius:2px;flex:none}.gold-operations-legend strong{font-size:11px}.gold-operations-legend small{font-size:10px;color:var(--muted);min-width:30px;text-align:right}.gold-throughput-values{display:grid;gap:10px}.gold-throughput-values .gold-value-button strong{font-size:24px}.gold-time-legend{display:flex;flex-wrap:wrap;gap:8px 15px;padding:12px;background:var(--surface);border-bottom:1px solid var(--line);color:var(--secondary-ink);font-size:11px}.gold-time-legend span{display:flex;align-items:center;gap:5px}.gold-time-stack{height:190px;width:76%;max-width:145px;margin:auto;display:flex;flex-direction:column;background:var(--surface-alt);border:1px solid var(--line);overflow:hidden}.gold-time-stack button{border:0;padding:0;min-height:0;flex-shrink:0;color:#fff;font-size:11px;cursor:pointer;overflow:hidden;display:grid;place-items:center}.gold-time-stack button span{background:#102b4160;border-radius:3px;padding:1px 3px}.gold-time-base{border:0;background:none;color:var(--blue);font:10px/1.7 'Segoe UI',Arial,sans-serif;margin-top:8px;cursor:pointer}.gold-time-totals{display:grid;gap:10px}.gold-time-totals .gold-value-button strong{font-size:21px}.gold-distance-values{display:grid;gap:15px}.gold-metric-variation{display:block;color:var(--muted);font-size:10px;line-height:1.7}.gold-duration-values{display:grid;grid-template-columns:1fr 1fr;gap:14px 6px}.gold-duration-values .gold-value-button strong{font-size:21px}.gold-terminal-footnote{font-size:11px;color:var(--muted);line-height:1.8;margin:14px 0 0}.gold-mobile-selector{display:none}.gold-audit-heading{border-top:2px solid var(--line);padding-top:24px;margin-top:35px}.gold-audit-heading h2{font-size:24px}.gold-audit-heading p{font-size:14px;color:var(--muted)}
@media(max-width:1050px){.gold-report-controls{position:static}.gold-terminal-heading{flex-direction:column}.gold-report-controls label{flex:1;min-width:160px}}
@media(max-width:760px){.gold-report-controls{padding:12px;gap:12px}.gold-report-controls nav{width:100%;overflow:visible}.gold-report-controls nav button{flex:1}.gold-report-controls label{min-width:100%;width:100%}.gold-terminal-report{padding:12px}.gold-terminal-heading h3{font-size:24px}.gold-mobile-selector{display:grid;gap:6px;font-size:12px;color:var(--muted);margin:12px 0}.gold-dashboard-grid{min-width:0}.gold-dashboard-row{grid-template-columns:minmax(0,1fr)}.gold-dashboard-cell:not(.gold-mobile-selected){display:none}.gold-main-kpis .gold-value-button strong{font-size:34px}.gold-dashboard-cell{padding:16px}.gold-duration-values .gold-value-button strong{font-size:27px}.gold-time-stack{max-width:200px}.gold-report-heading h2{font-size:24px}.gold-shift-controls{width:100%}.gold-shift-controls label{flex:1;min-width:120px}}

.gold-terminal-report{scroll-margin-top:115px}@media(max-width:1050px){.gold-terminal-report{scroll-margin-top:20px}}

.required-signals .filter-groups{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:12px}.required-signals fieldset{border:1px solid var(--line);border-radius:8px;padding:6px 14px 10px;margin:0}.required-signals legend{font-size:11px;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;padding:0 6px}.required-signals .tier-filter{display:inline-flex;align-items:center;gap:6px;margin-right:14px;font-weight:600}.required-signals .tier-filter:has(input:disabled){opacity:.45;cursor:not-allowed}.required-table td{vertical-align:top;padding:10px 12px;border-top:1px solid var(--line)}.required-table th{padding:10px 12px;background:#eef3f5;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.required-table code{font-size:12px;color:var(--muted);word-break:break-all}.required-table .model-example{color:var(--ink);background:#eef3f5;padding:2px 6px;border-radius:4px;font-size:14px}.required-table tr[hidden]{display:none}.required-table .tier-tags{margin-top:6px}.tier-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#d9efec;color:#0b6b64}.tier-badge.tier-2{background:#fdf0d5;color:var(--amber)}.tier-badge.tier-3{background:#f6dde0;color:var(--red)}
.sidebar-foot{margin-top:auto}.tier-badge.asset-badge{background:#dbe9f6;color:#1d5f94;margin-right:6px}
.required-table{table-layout:auto}.required-table th:nth-child(1){width:38%}.required-table th:nth-child(3){width:26%}.required-table td:nth-child(3){word-break:break-word}.required-table .model-example{display:inline-block;max-width:100%;font:600 13px/1.4 Consolas,'Courier New',monospace;color:var(--ink);background:#fff;border:1px solid var(--line);border-left:3px solid var(--teal);padding:5px 10px;border-radius:5px;white-space:normal;word-break:break-all}
.required-table th{background:var(--surface-alt,#eef3f5)!important;color:var(--secondary-ink,var(--muted))!important}.required-table td{color:var(--ink)}.required-table code{color:var(--muted)}.required-table .model-example{color:var(--ink)!important;background:var(--surface-alt,#eef3f5)!important;border:1px solid var(--control-border,var(--line));border-left:3px solid var(--teal)}.required-signals fieldset,.required-signals .tier-filter{color:var(--ink)}
[data-theme="dark"] .tier-badge{background:#1f4a45;color:#9ff0da}[data-theme="dark"] .tier-badge.asset-badge{background:#1f3f5c;color:#a9d6fb}
.journey-overview{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.journey-overview li{position:relative;background:var(--surface,#fff);border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;min-height:68px}.journey-overview li:last-child{border-top-color:var(--blue)}.journey-overview li:not(:last-child)::after{content:'›';position:absolute;right:-9px;top:50%;transform:translateY(-50%);font-size:20px;line-height:1;color:var(--muted);z-index:1}.journey-overview small{font-size:11px;letter-spacing:1.5px;color:var(--teal);font-weight:650}.journey-overview strong{font-size:15px;line-height:1.3;color:var(--ink)}@media(max-width:1100px){.journey-overview{grid-template-columns:repeat(4,minmax(0,1fr))}.journey-overview li::after{display:none}}@media(max-width:640px){.journey-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:901px){.coverage-terminal-row{grid-template-columns:72px minmax(0,1fr) minmax(0,1fr)}}
.sidebar nav button{display:flex;align-items:center;gap:12px}.sidebar nav button .nav-icon{display:inline-flex;margin:0;font-size:0;color:#7fb7c7;flex:none}.sidebar nav button:hover .nav-icon{color:#c2f0e6}.sidebar nav button.active .nav-icon{color:#4ed8bc}
.sidebar nav button{gap:9px;padding:13px 10px}.sidebar nav button .nav-icon svg{width:18px;height:18px}
.journey-overview li{padding:0}.journey-overview .journey-stage{width:100%;height:100%;text-align:left;background:transparent;border:0;border-radius:inherit;padding:12px 14px;display:flex;flex-direction:column;gap:6px;color:inherit;cursor:pointer;font:inherit}.journey-overview li:hover{border-color:var(--teal);box-shadow:0 2px 8px rgba(11,136,127,.15)}.journey-overview li.active{background:var(--surface-alt,#e6f3f1);border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}.journey-overview li.active strong{color:var(--teal)}
.coverage-journey-steps{margin-top:0}
.coverage-journey-steps>li{border-top:0!important;padding-top:0!important}.coverage-journey-summary{padding-top:18px}

.raw-signals-link{display:block;margin-top:8px;padding:0;font-size:14px;font-weight:600;text-align:left}
.raw-signals-dialog{width:min(1100px,94vw);max-height:90vh;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff);color:var(--ink);box-shadow:0 20px 60px rgba(0,0,0,.35)}.raw-signals-dialog::backdrop{background:rgba(8,20,28,.6)}.raw-signals-dialog[open]{display:flex;flex-direction:column;padding:22px;gap:12px}
.raw-signals-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.raw-signals-head h2{margin:4px 0 6px;font-size:25px}.raw-signals-head p{margin:0;color:var(--muted);max-width:780px}
.raw-signals-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line)}.raw-signals-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;padding:8px 18px;font-weight:650;color:var(--muted)}.raw-signals-tabs button.active{color:var(--teal);border-bottom-color:var(--teal)}
.raw-signals-tools{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}.raw-signals-tools label{display:flex;flex-direction:column;gap:4px;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.raw-signals-tools select,.raw-signals-tools input{min-width:220px;padding:9px 12px;border:1px solid var(--control-border,var(--line));border-radius:6px;background:var(--surface,#fff);color:var(--ink);font:inherit;text-transform:none;letter-spacing:0}
.raw-signals-count{margin:0;font-size:14px;color:var(--muted)}.raw-signals-scroll{overflow:auto;border:1px solid var(--line);border-radius:8px;min-height:120px}
.raw-signals-table{width:100%;border-collapse:collapse;font-size:14px;table-layout:auto;min-width:0}.raw-signals-table th{position:sticky;top:0;background:var(--surface-alt,#eef3f5);color:var(--secondary-ink,var(--muted));text-align:left;padding:9px 12px;font-size:12px;letter-spacing:1px;text-transform:uppercase}.raw-signals-table td{padding:8px 12px;border-top:1px solid var(--line);vertical-align:top}.raw-signals-table td:first-child{white-space:nowrap;color:var(--muted)}.raw-signals-table code{font-size:13px;word-break:break-all;color:var(--ink)}.raw-signals-table .rs-example{display:inline-block;background:var(--surface-alt,#eef3f5);border:1px solid var(--control-border,var(--line));border-left:3px solid var(--teal);border-radius:4px;padding:2px 8px;font-weight:600}.raw-signals-table td:last-child{white-space:nowrap;text-align:right}

.coverage-stage-heading .stage-link{margin:0 0 0 auto;display:inline-block}.coverage-stage-heading .stage-link-note{font-size:12px;color:var(--muted);margin-left:12px}.ns-symbols{display:block;margin-top:4px;color:var(--muted);font-size:12px;max-width:340px;word-break:break-word}.raw-signals-table td small{color:var(--muted)}
@media(min-width:901px){.coverage-terminal-row.has-controllers{grid-template-columns:72px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}}
.coverage-io-label.controller{background:var(--surface-alt,#eef3f5);color:var(--blue);border:1px solid var(--control-border,var(--line))}
.raw-signals-note{margin:0;font-size:14px;color:var(--muted)}.raw-signals-table td.tn-from{white-space:normal;color:var(--ink);max-width:420px}.raw-signals-table td.tn-from,.raw-signals-table td:nth-child(2){word-break:break-word}
.raw-signals-table td.tn-from{text-align:left!important;white-space:normal!important}

.metric-calc-link{background:none;border:0;padding:3px 0;font:inherit;color:var(--blue);text-align:left;cursor:pointer;border-bottom:1px dashed transparent}.metric-calc-link:hover{border-bottom-color:var(--blue)}.metric-calc-link span{font-size:14px;opacity:.8}
.calc-block{border:1px solid var(--line);border-radius:8px;padding:14px 16px}.calc-block h3{margin:0 0 8px;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.calc-block p{margin:8px 0 0}.calc-formula{display:block;background:var(--surface-alt,#eef3f5);border:1px solid var(--control-border,var(--line));border-left:3px solid var(--teal);border-radius:5px;padding:10px 12px;font:600 13px/1.5 Consolas,'Courier New',monospace;color:var(--ink);white-space:normal}.calc-upstream{margin:0;padding-left:18px}.calc-upstream li{margin:3px 0}
.raw-signals-dialog[open]{overflow:auto}

@media(min-width:901px){.coverage-terminal-row.has-reports{grid-template-columns:72px minmax(0,.9fr) minmax(0,1.3fr) minmax(0,1.3fr)}}
.coverage-stage-io ul code{font-size:13px;word-break:break-all}
.calc-dax{margin-top:6px}.calc-dax summary{cursor:pointer;color:var(--blue);font-size:14px}.calc-dax pre{margin:8px 0 0;padding:10px 12px;background:var(--surface-alt,#eef3f5);border:1px solid var(--control-border,var(--line));border-radius:6px;font:12px/1.5 Consolas,'Courier New',monospace;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow:auto;color:var(--ink)}
.calc-diff{font-size:14px;color:var(--muted)}
.pbix-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.pbix-facts div{border:1px solid var(--line);border-radius:6px;padding:8px 12px}.pbix-facts span{display:block;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}.pbix-facts strong{font-size:17px}
.pbix-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.coverage-checks-legend .legend-unusable{color:var(--red)}

.readiness-bar{display:flex;height:10px;border-radius:999px;background:var(--surface-alt,#e6eef1);border:1px solid var(--line);overflow:hidden;margin:10px 0 4px}.readiness-bar span{display:block;height:100%}.readiness-bar .present{background:var(--teal)}.readiness-bar .derived{background:var(--blue)}.readiness-bar .fixed{background:var(--amber)}.readiness-bar-legend{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
.readiness-card .text-button{margin-top:6px;padding:0}
.rd-table td{vertical-align:top}.rd-table .rd-field{margin-bottom:10px}.rd-table .rd-field code{font-size:12px;word-break:break-all}.rd-quality{color:var(--red);font-size:14px;font-weight:600}.rd-table p{margin:0 0 6px}.rd-table td:first-child{white-space:normal;min-width:180px}
.raw-signals-dialog .readiness-bar{flex:none;min-height:10px;margin:2px 0 0}.raw-signals-dialog .readiness-bar-legend{flex:none;margin:0}
.raw-signals-table th{z-index:3}.raw-signals-table details{position:static}

.coverage-signal-checks .coverage-checks-header,.coverage-signal-checks .coverage-signal-row{grid-template-columns:minmax(0,1fr) repeat(var(--n,3),46px)!important;gap:4px!important}
.coverage-checks-header{font-size:10px!important;letter-spacing:0!important}
.coverage-radar-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
.coverage-radar-series.STI polygon{fill:var(--blue);fill-opacity:.08;stroke:var(--blue)}.coverage-radar-series.STI circle{fill:var(--blue);stroke:var(--surface)}
.coverage-radar-series.NSFT polygon{fill:#8b5fbf;fill-opacity:.08;stroke:#8b5fbf}.coverage-radar-series.NSFT circle{fill:#8b5fbf;stroke:var(--surface)}
.coverage-radar-series.MFT polygon{fill:var(--red);fill-opacity:.08;stroke:var(--red)}.coverage-radar-series.MFT circle{fill:var(--red);stroke:var(--surface)}
.radar-key.STI i{border-color:var(--blue)}.radar-key.NSFT i{border-color:#8b5fbf}.radar-key.MFT i{border-color:var(--red)}
.coverage-pattern-scores{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.readiness-name{display:block;font-style:normal;font-size:12px;color:var(--muted);margin-top:2px}
.stage-scope-note{font-size:14px;color:var(--muted);margin:10px 4px 0}
.coverage-radar-series.STI polygon{fill:#2d6cdf;fill-opacity:.08;stroke:#2d6cdf}.coverage-radar-series.STI circle{fill:#2d6cdf;stroke:var(--surface)}.radar-key.STI i{border-color:#2d6cdf}
.coverage-pattern-scores{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.coverage-pattern-scores{grid-template-columns:1fr}}
.coverage-signal-check.pending{color:var(--muted)}
.coverage-radar-series.TDF polygon{fill:#d6578f;fill-opacity:.1;stroke:#d6578f}.coverage-radar-series.TDF circle{fill:#d6578f;stroke:var(--surface);r:5}.radar-key.TDF i{border-color:#d6578f}
.coverage-radar-controls{display:grid!important;grid-template-columns:repeat(4,max-content);justify-content:center;gap:8px 22px}
@media(max-width:560px){.coverage-radar-controls{grid-template-columns:repeat(2,max-content)!important}}
@media(min-width:901px){.sidebar nav{margin-top:44px}}
html:has(dialog[open]),body:has(dialog[open]){overflow:hidden}
dialog{overscroll-behavior:contain}.raw-signals-scroll,.raw-signals-dialog{overscroll-behavior:contain}

.dq-panel{margin-bottom:18px}.dq-matrix{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;min-width:0;table-layout:auto}.dq-matrix th,.dq-matrix td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:center}.dq-matrix thead th{background:var(--surface-alt,#eef3f5);color:var(--secondary-ink,var(--muted));font-size:12px;letter-spacing:1px;text-transform:uppercase;vertical-align:bottom}.dq-matrix thead th small{display:block;font-size:11px;letter-spacing:0;text-transform:none;color:var(--muted);font-weight:400}.dq-matrix thead th:first-child,.dq-matrix tbody th,.dq-matrix tfoot th{text-align:left}.dq-matrix tbody th{font-weight:600;color:var(--ink)}.dq-matrix tbody th small{color:var(--teal);margin-right:6px}.dq-matrix tfoot th,.dq-matrix tfoot td{font-size:12px;color:var(--muted);border-bottom:0;background:var(--surface-alt,#eef3f5)}
.dq-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:50%;font-weight:700;font-size:16px;border:1.5px solid transparent;font-style:normal;background:transparent;padding:0}
.dq-badge.ok{color:var(--teal);background:rgba(11,136,127,.12);border-color:rgba(11,136,127,.4)}.dq-badge.warn{color:var(--amber);background:rgba(163,108,19,.13);border-color:rgba(163,108,19,.45)}.dq-badge.bad{color:var(--red);background:rgba(170,75,84,.13);border-color:rgba(170,75,84,.5)}.dq-badge.na,.dq-badge.nodata{color:var(--muted);border-color:var(--line)}
button.dq-badge{cursor:pointer;transition:transform .12s}button.dq-badge:hover{transform:scale(1.12)}.dq-badge.static{cursor:default}
.dq-legend{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0 0;font-size:14px;color:var(--muted)}.dq-legend span{display:inline-flex;align-items:center;gap:6px}.dq-legend .dq-badge{min-width:20px;height:20px;font-size:12px}
.dq-rules{margin-top:12px}.dq-pending{opacity:.85}
.dq-verdict{font-size:15px;font-weight:600;color:var(--muted);margin-left:4px}
.dq-flags{list-style:none;margin:0;padding:0;display:grid;gap:8px}.dq-flags li{display:flex;gap:10px;align-items:flex-start}.dq-flags .dq-badge{min-width:22px;height:22px;font-size:14px;flex:none;margin-top:1px}.dq-flags code{font-size:12px;color:var(--muted);word-break:break-all}
.dq-path h3 code{font-size:14px;text-transform:none;letter-spacing:0;word-break:break-all;color:var(--ink)}.dq-path .dq-badge{min-width:20px;height:20px;font-size:12px;vertical-align:middle}
.dq-matrix tbody th{text-transform:none;letter-spacing:0;font-size:15px}

.dq-tabs{display:inline-flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--surface-alt,#eef3f5);margin:4px 0 12px}.dq-tabs button{border:0;background:transparent;padding:7px 16px;border-radius:6px;font-weight:600;color:var(--muted);cursor:pointer}.dq-tabs button.active{background:var(--surface,#fff);color:var(--teal);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.dq-note{font-size:14px;color:var(--muted);margin:0 0 12px;padding:8px 12px;border-left:3px solid var(--amber);background:var(--surface-alt,#eef3f5);border-radius:0 6px 6px 0}
.dq-matrix .dq-header-row th,.dq-matrix .dq-header-row td{border-top:2px solid var(--line)}
.tic-canon{font-size:14px;color:var(--muted);margin:0 0 8px}.tic-canon code{font-size:12px;word-break:break-all}

/* Version link and executive release notes. */
.sidebar-foot #version-link{float:right;color:inherit;text-decoration:underline;text-underline-offset:3px}
.sidebar-foot #version-link:hover{color:#fff}
.sidebar-foot #version-link:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}
#changelog{width:min(560px,calc(100vw - 32px));padding:28px}
#changelog .dialog-header{gap:20px;margin-bottom:20px}
#changelog h2{font-size:27px;margin-bottom:4px}
#changelog time{color:var(--muted);font-size:15px}
#close-changelog{flex-shrink:0;border:0;background:var(--surface-alt,#edf3f5);color:var(--ink);border-radius:50%;font-size:27px;width:34px;height:34px;cursor:pointer}
#changelog-summary{margin:0 0 22px}
.changelog-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.changelog-list li{display:grid;gap:3px}
.changelog-list span{color:var(--muted)}

/* Functionality workspace: hierarchy and cross-application dimensions. */
.function-scope{background:var(--surface,#fff);border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:22px}
.function-scope-head,.function-cross-filters,.function-table-heading,.function-selection,.function-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.function-scope-head p{margin:5px 0 18px;color:var(--muted);font-size:14px}
.function-scope .text-button{font-size:14px;white-space:nowrap}
.function-hierarchy{display:grid;grid-template-columns:1fr 16px 1fr 16px 1.35fr;align-items:end;gap:12px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.function-hierarchy>span{padding-bottom:11px;color:var(--muted);text-align:center}
.function-scope label,.function-search{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:600}
.function-scope select,.function-search input{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:var(--surface-alt,#f4f7f8);color:var(--ink);font-size:15px}
.function-cross-filters{align-items:end;margin-top:18px;flex-wrap:wrap}
.function-categories{border:0;padding:0;margin:0;display:flex;gap:6px;flex-wrap:wrap}
.function-categories legend{color:var(--muted);font-size:12px;font-weight:600;margin-bottom:8px;padding:0}
.function-categories button{border:1px solid var(--line);background:var(--surface,#fff);color:var(--ink);border-radius:20px;padding:7px 11px;font-size:14px}
.function-categories button span{margin-left:7px;opacity:.7;font-size:11px}
.function-categories button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--surface,#fff)}
.function-terminal-filters{display:flex;gap:12px;flex:1;justify-content:flex-end}.function-terminal-filters label{max-width:270px;min-width:140px;flex:1}
.function-selection{align-items:center;margin:24px 0 22px;padding:3px 2px}
.function-path{color:var(--muted);font-size:14px;margin-bottom:6px}.function-path span{margin:0 8px}
.function-selection h2{font-size:26px;letter-spacing:-.6px}.function-selection p{margin:5px 0 0;color:var(--muted);font-size:14px}
.function-selection-meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.function-category{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:4px 9px;border-radius:5px;background:#e4f2ed;color:#126b56;font-size:11px;font-weight:600;letter-spacing:.2px}.function-category.secondary{background:var(--surface-alt);color:var(--muted)}
.function-table-heading{margin-bottom:8px}.function-table-heading p{color:var(--muted);font-size:14px;max-width:640px;margin:8px 0}.function-search{min-width:200px}
.function-catalog-table{width:100%;min-width:700px;border-collapse:collapse}.function-catalog-table th:first-child{width:32%}.function-catalog-table td:nth-child(2){width:28%}.function-catalog-table tbody th{font-weight:400;text-align:left;vertical-align:top;background:transparent}
.function-catalog-table tbody th strong{font-weight:600}.function-catalog-table tbody th p{font-size:14px;color:var(--muted);margin:7px 0 0;font-weight:400}.function-row-number{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}
.function-mapping{display:grid;gap:5px;font-size:14px}.function-mapping small{color:var(--muted);font-size:11px}.function-mapping strong{font-size:14px;font-weight:500}
.function-sources{display:grid;grid-template-columns:repeat(3,minmax(80px,1fr));gap:6px}.function-source{display:grid;text-align:left;gap:2px;border:1px solid var(--line);border-radius:6px;background:var(--surface-alt,#f4f7f8);padding:7px 9px;color:var(--ink);font-size:11px}.function-source strong{font-size:12px}.function-source.available{border-left:3px solid var(--teal)}.function-source.missing{border-left:3px solid var(--amber)}.function-source:hover{border-color:var(--blue);background:var(--surface,#fff)}
.function-dimensions{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:20px}.function-dimensions>div{display:grid;gap:4px;border:1px solid var(--line);background:var(--surface,#fff);border-radius:8px;padding:14px}.function-dimensions strong{font-size:14px;font-weight:600}.function-dimensions span{font-size:12px;color:var(--muted)}
.function-readiness-summary{display:flex;justify-content:space-between;gap:24px;padding:23px;background:var(--surface,#fff);border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:9px;margin-bottom:18px}.function-readiness-summary h2{margin-top:7px;font-size:21px}.function-readiness-summary p{max-width:650px;color:var(--muted);font-size:14px;margin:8px 0 0}.function-readiness-rule{display:grid;align-content:center;gap:5px;max-width:235px;font-size:12px;color:var(--muted);border-left:1px solid var(--line);padding-left:22px}.function-readiness-rule strong{color:var(--ink)}
.function-readiness-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.function-readiness-card{border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff);padding:20px;display:flex;flex-direction:column;min-width:0}.function-card-heading{gap:8px}.function-card-heading h3{font-size:16px;margin:5px 0 0}.function-verdict{display:inline-flex;align-items:center;border-radius:5px;padding:4px 8px;font-size:11px;font-weight:600;white-space:nowrap}.function-verdict.blocked{color:#a64245;background:#faeeee}.function-verdict.ready{color:#126b56;background:#e4f2ed}.function-verdict.pending,.function-verdict.review{color:#875c15;background:#fff4dd}.function-verdict.no_data{background:var(--surface-alt,#f1f3f5);color:var(--muted)}
.function-card-feature{border-block:1px solid var(--line);padding:15px 0;margin:17px 0}.function-card-feature small{font-size:11px;color:var(--muted)}.function-card-feature h4{font-size:16px;font-weight:550;margin:4px 0 8px}
.function-progress{height:5px;border-radius:4px;background:var(--surface-alt,#e8eef1);overflow:hidden}.function-progress>span{display:block;height:100%;background:var(--teal)}.function-progress-label{font-size:12px;color:var(--muted);margin:7px 0 14px}
.function-card-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px}.function-card-facts div{border-left:1px solid var(--line);padding-left:10px}.function-card-facts dt{font-size:11px;color:var(--muted)}.function-card-facts dd{margin:3px 0 0;font-size:20px;font-weight:550}
.function-next-action{font-size:12px;background:var(--surface-alt,#f4f7f8);padding:12px;border-radius:6px;margin:auto 0 15px;min-height:95px}.function-next-action strong{font-weight:600}.function-next-action p{margin:5px 0 0;color:var(--muted)}.function-readiness-card>.button{width:100%;font-size:12px;white-space:normal}
.function-assessment-note{color:var(--muted);font-size:12px;margin:18px 0 30px}.function-empty{padding:48px 30px;text-align:center;background:var(--surface,#fff);border:1px dashed var(--line);border-radius:10px}.function-empty p{max-width:540px;margin:12px auto 22px;color:var(--muted);font-size:15px}
.function-source-evidence{margin:18px 0;border-top:1px solid var(--line);padding-top:18px}.function-source-evidence>code{display:block;margin:8px 0;overflow-wrap:anywhere}.function-source-evidence p{font-size:14px}.function-requirement-table{min-width:720px}.function-requirement-table p{font-size:14px;max-width:420px}.function-requirement-table tbody th{background:transparent;text-align:left}
[data-theme="dark"] .function-category,[data-theme="dark"] .function-verdict.ready{background:#1c483f;color:#a4f1d3}[data-theme="dark"] .function-verdict.blocked{background:#4a2c35;color:#ffb5bd}[data-theme="dark"] .function-verdict.pending,[data-theme="dark"] .function-verdict.review{background:#4c3d22;color:#ffe0a2}
@media(max-width:1300px){.function-readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.function-dimensions{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.function-scope{padding:16px}.function-hierarchy{grid-template-columns:1fr;gap:10px}.function-hierarchy>span{display:none}.function-terminal-filters{justify-content:flex-start;width:100%}.function-terminal-filters label{max-width:none;min-width:0}.function-selection,.function-table-heading{flex-direction:column;align-items:stretch;gap:14px}.function-selection-meta{justify-content:flex-start}.function-dimensions{grid-template-columns:repeat(2,1fr)}.function-readiness-summary{flex-direction:column}.function-readiness-rule{max-width:none;border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.function-search{min-width:0}.function-scope-head{gap:10px}.function-scope-head .text-button{white-space:normal}}
@media(max-width:560px){.function-readiness-grid{grid-template-columns:1fr}.function-scope-head{flex-wrap:wrap}.function-dimensions{grid-template-columns:1fr 1fr}.function-categories button{font-size:12px;padding:7px 9px}.function-selection h2{font-size:24px}}

.function-catalog-table tbody th,.function-requirement-table tbody th{text-transform:none;letter-spacing:0;font-size:15px}

/* Shared category colors for filter pills and submodule labels. */
[data-category="Performance"],[data-function-category="Performance"]{--category-bg:#e2f3ed;--category-ink:#126b56;--category-line:#afd8ca;--category-active:#126b56}
[data-category="Safety"],[data-function-category="Safety"]{--category-bg:#fff2dc;--category-ink:#89550c;--category-line:#e8cb96;--category-active:#89550c}
[data-category="Maintenance"],[data-function-category="Maintenance"]{--category-bg:#eee9fb;--category-ink:#64429e;--category-line:#d1c2ed;--category-active:#64429e}
.function-category[data-category],.function-categories button[data-function-category]:not([data-function-category="all"]){background:var(--category-bg);color:var(--category-ink);border:1px solid var(--category-line)}
.function-categories button[data-function-category]:not([data-function-category="all"])[aria-pressed="true"]{background:var(--category-active);border-color:var(--category-active);color:#fff;box-shadow:0 0 0 2px var(--surface,#fff),0 0 0 3px var(--category-active)}
.function-categories button[data-function-category]:not([data-function-category="all"]):hover{border-color:var(--category-ink)}
[data-theme="dark"] :is([data-category="Performance"],[data-function-category="Performance"]){--category-bg:#1c4239;--category-ink:#9ce8cc;--category-line:#376d5c;--category-active:#25624f}
[data-theme="dark"] :is([data-category="Safety"],[data-function-category="Safety"]){--category-bg:#46371e;--category-ink:#f5d394;--category-line:#796035;--category-active:#79571e}
[data-theme="dark"] :is([data-category="Maintenance"],[data-function-category="Maintenance"]){--category-bg:#36294e;--category-ink:#d5bafa;--category-line:#675087;--category-active:#62418e}

/* Data Catalog: signal definitions, shown after the full functional selection. */
.function-scope select:disabled{cursor:not-allowed;opacity:.5}
.simple-signal-table{min-width:800px;table-layout:fixed}
.simple-signal-table th:first-child{width:34%}.simple-signal-table th:nth-child(2){width:34%}.simple-signal-table th:nth-child(3){width:24%}.simple-signal-table th:nth-child(4){width:8%}
.simple-signal-table td:nth-child(2){width:auto;font-size:14px;line-height:1.7}
.simple-signal-table tbody th,.simple-signal-table td{padding:17px 12px;vertical-align:top}
.catalog-signal-path{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:6px;overflow-wrap:anywhere;white-space:normal}
.catalog-example{display:inline-block;max-width:100%;border:1px solid var(--line);border-left:3px solid var(--teal);background:var(--surface-alt,#f4f7f8);border-radius:4px;padding:6px 9px;font-size:12px;overflow-wrap:anywhere;white-space:normal}
.catalog-type{display:inline-block;border:1px solid var(--line);background:var(--surface-alt,#f4f7f8);color:var(--muted);border-radius:4px;padding:4px 7px;font-family:Consolas,monospace;font-size:11px}

.simple-signal-table{min-width:560px}.simple-signal-table th:first-child{width:31%}.simple-signal-table th:nth-child(2){width:31%}.simple-signal-table th:nth-child(3){width:25%}.simple-signal-table th:nth-child(4){width:13%}.simple-signal-table td:last-child{padding-inline:8px}

/* Cross-application category results add a functional mapping per signal. */
.category-signal-table{min-width:600px}
.category-signal-table th:first-child{width:24%}.category-signal-table th:nth-child(2){width:23%}.category-signal-table th:nth-child(3){width:18%}.category-signal-table th:nth-child(4){width:11%}.category-signal-table th:nth-child(5){width:24%;white-space:normal}
.category-signal-table td:nth-child(4){padding-inline:6px}
.catalog-functional-mapping{display:grid;gap:5px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.catalog-functional-mapping>span{color:var(--muted);font-size:11px}.catalog-functional-mapping>strong{font-weight:550}.catalog-functional-mapping+.catalog-functional-mapping{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}

/* Keep each category alongside the submodule it describes. */
.function-submodule-heading,.catalog-submodule-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.function-submodule-heading .function-category{flex-shrink:0}
.catalog-submodule-heading{gap:5px 8px}.catalog-submodule-heading>strong{font-weight:550}.catalog-submodule-heading .function-category{font-size:10px;padding:2px 6px}

/* Copy a selected set of signal columns into a shareable table. */
.catalog-table-actions{display:flex;align-items:flex-end;gap:10px;flex-shrink:0}.catalog-table-actions .function-search{min-width:165px}.catalog-copy-trigger{padding:10px 13px}
.catalog-copy-feedback{font-size:14px;color:var(--teal);line-height:1.6}.catalog-copy-feedback:empty{display:none}.catalog-copy-feedback.error{color:var(--red)}
#catalog-copy-dialog{width:min(490px,calc(100vw - 32px));padding:25px;max-height:calc(100vh - 32px)}
#catalog-copy-dialog .dialog-header{gap:18px;margin-bottom:16px;padding-bottom:16px}#catalog-copy-title{font-size:25px;margin-bottom:0}
.catalog-copy-close{flex-shrink:0;border:0;background:var(--surface-alt,#edf3f5);color:var(--ink);border-radius:50%;font-size:27px;width:32px;height:32px;cursor:pointer}
#catalog-copy-help{font-size:15px;color:var(--muted);margin:0 0 18px}
.catalog-copy-columns{border:1px solid var(--line);border-radius:8px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin:0}
.catalog-copy-columns legend{padding:0 5px;color:var(--muted);font-size:12px}.catalog-copy-columns label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink);cursor:pointer}.catalog-copy-columns input{accent-color:var(--teal);margin:0;width:15px;height:15px}
.catalog-copy-hint{font-size:12px;color:var(--muted);margin:15px 0}.catalog-copy-footer{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.catalog-copy-confirm{background:var(--teal);border-color:var(--teal);color:var(--surface,#fff)}.catalog-copy-confirm:hover{background:var(--teal);filter:brightness(1.08)}.catalog-copy-confirm:disabled,.catalog-copy-trigger:disabled{opacity:.45;cursor:not-allowed;filter:none}
@media(max-width:1100px){.function-catalog .function-table-heading{flex-wrap:wrap}.catalog-table-actions{margin-left:auto}}
@media(max-width:560px){.catalog-table-actions{width:100%;margin-left:0;flex-wrap:wrap}.catalog-table-actions .function-search{flex:1;min-width:140px}.catalog-copy-columns{gap:12px 10px;padding:12px}}

/* Compact readiness help with a visual assessment walkthrough. */
.function-selection:has(.readiness-help-button){position:relative;padding-right:48px}
.readiness-help-button{position:absolute;right:0;top:10px;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:var(--surface,#fff);color:var(--teal);font-size:19px;font-weight:650;line-height:1;cursor:pointer}
.readiness-help-button:hover{border-color:var(--teal);background:var(--surface-alt,#edf3f5)}
#assessment-rule-dialog{width:min(790px,calc(100vw - 32px));max-height:calc(100vh - 40px);padding:28px;background:var(--surface,#fff)}
.assessment-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.assessment-modal-head h2{font-size:29px;margin:6px 0}.assessment-modal-head p{color:var(--muted);font-size:15px;margin:0}
.assessment-close{flex-shrink:0;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:var(--surface-alt,#edf3f5);color:var(--ink);font-size:27px;cursor:pointer}
.assessment-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.assessment-step{border:1px solid var(--line);border-top:3px solid var(--step-accent);border-radius:9px;padding:16px;background:var(--surface-alt,#f4f7f8);--step-accent:var(--teal)}.assessment-step.quality{--step-accent:#7f67b7}.assessment-step.mapping{--step-accent:#3886b5}
.assessment-step-top{display:flex;align-items:center;justify-content:space-between;color:var(--step-accent);margin-bottom:13px}.assessment-step-top>span{font-size:12px;font-weight:600;letter-spacing:1px}
.assessment-step h3{font-size:16px;margin:0 0 7px}.assessment-step p{font-size:14px;margin:0 0 10px;line-height:1.6}.assessment-step small{font-size:12px;color:var(--muted);line-height:1.6;display:block}
.assessment-ready-banner{display:flex;align-items:center;gap:12px;padding:15px 17px;margin:16px 0 24px;border:1px solid #b4d9cc;border-radius:8px;background:#eaf6f0;color:#126b56}.assessment-ready-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#126b56;color:#fff;font-size:20px;flex-shrink:0}.assessment-ready-banner strong{font-size:15px;font-weight:600}.assessment-ready-banner p{font-size:12px;margin:3px 0 0}
.assessment-outcomes-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.assessment-outcomes-heading h3{font-size:16px;margin:0}.assessment-outcomes-heading>span{font-size:11px;color:var(--muted)}
.assessment-outcomes ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.assessment-outcomes li{display:grid;grid-template-columns:128px 1fr;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.assessment-outcomes .function-verdict{justify-self:start}.assessment-outcomes p{font-size:14px;line-height:1.6;margin:0;color:var(--muted)}
.assessment-modal-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:21px}.assessment-modal-footer p{font-size:11px;line-height:1.7;color:var(--muted);max-width:520px;margin:0}.assessment-modal-footer .button{flex-shrink:0}
[data-theme="dark"] .assessment-step.quality{--step-accent:#c0a5f0}[data-theme="dark"] .assessment-step.mapping{--step-accent:#8abde9}[data-theme="dark"] .assessment-ready-banner{background:#1c4239;border-color:#376d5c;color:#a4f1d3}[data-theme="dark"] .assessment-ready-icon{background:#8edfc2;color:#17362b}
@media(max-width:600px){#assessment-rule-dialog{padding:20px;max-height:calc(100dvh - 24px)}.assessment-modal-head h2{font-size:25px}.assessment-steps{grid-template-columns:1fr}.assessment-step{padding:14px}.assessment-step-top{margin-bottom:8px}.assessment-outcomes-heading{align-items:flex-start;flex-direction:column;gap:3px}.assessment-outcomes li{grid-template-columns:112px 1fr;gap:8px}.assessment-modal-footer{gap:12px;align-items:flex-end}.assessment-modal-footer p{font-size:11px}}

.function-verdict[title]{cursor:help}

/* Three independent checks replace the combined readiness progress bar. */
.readiness-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 18px}
.readiness-check{--check-color:var(--muted);position:relative;min-width:0;border:1px solid var(--line);border-top:3px solid var(--check-color);border-radius:6px;background:var(--surface-alt,#f4f7f8);padding:10px 8px;cursor:help}
.readiness-check.pass{--check-color:#16735c}.readiness-check.fail{--check-color:#a64245}.readiness-check.review,.readiness-check.pending{--check-color:#936114}
.readiness-check-top{display:flex;align-items:center;justify-content:space-between;color:var(--check-color);gap:5px;font-size:10px;font-weight:600}
.readiness-check-icon{display:grid;place-items:center;width:17px;height:17px;border:1px solid currentColor;border-radius:50%;font-size:11px;line-height:1}
.readiness-check h5{font-size:11px;line-height:1.5;font-weight:550;margin:9px 0 7px;min-height:30px;color:var(--ink)}
.readiness-check>strong{display:block;font-size:11px;line-height:1.5;font-weight:650;color:var(--check-color);overflow-wrap:normal}
.readiness-check>p{font-size:11px;line-height:1.6;color:var(--muted);margin:5px 0 0;overflow-wrap:normal}
.readiness-check:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.readiness-check-tip{position:absolute;z-index:25;top:calc(100% + 8px);left:0;width:260px;max-width:calc(100vw - 72px);padding:12px 14px;border-radius:7px;background:var(--ink);color:var(--surface,#fff);font-size:12px;line-height:1.7;font-weight:400;box-shadow:0 6px 20px #0003;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;text-align:left}
.readiness-check:nth-child(2) .readiness-check-tip{left:50%;transform:translateX(-50%)}.readiness-check:last-child .readiness-check-tip{left:auto;right:0}
.readiness-check:hover .readiness-check-tip,.readiness-check:focus-visible .readiness-check-tip{opacity:1;visibility:visible}
[data-theme="dark"] .readiness-check.pass{--check-color:#9ce8cc}[data-theme="dark"] .readiness-check.fail{--check-color:#ffb5bd}[data-theme="dark"] .readiness-check.review,[data-theme="dark"] .readiness-check.pending{--check-color:#f5d394}
.calc-block>.readiness-checks{margin:18px 0}.calc-block>.readiness-checks .readiness-check h5{font-size:14px;min-height:0}.calc-block>.readiness-checks .readiness-check>strong{font-size:14px}.calc-block>.readiness-checks .readiness-check>p{font-size:12px}
@media(max-width:560px){.readiness-checks{gap:6px}.readiness-check{padding:10px 7px}.readiness-check-tip{width:245px}.calc-block>.readiness-checks .readiness-check h5{font-size:11px;min-height:30px}.calc-block>.readiness-checks .readiness-check>strong,.calc-block>.readiness-checks .readiness-check>p{font-size:11px}}

/* Action Plan shows only signals with outstanding issues. */
.action-plan-quality{display:inline-flex;align-items:center;justify-content:center;min-width:36px;border:1px solid transparent;border-radius:5px;padding:4px 8px;font-size:14px;font-weight:750;line-height:1.5;white-space:nowrap}
button.action-plan-quality{cursor:pointer}.action-plan-quality.ko{background:#fae5e8;border-color:#edb8bf;color:#b22336}.action-plan-quality.ok{background:#e4f2ed;border-color:#afd8ca;color:#126b56}.action-plan-unassessed{color:var(--muted);font-size:14px}
.action-plan-issue+ .action-plan-issue{border-top:1px solid var(--line);margin-top:15px;padding-top:15px}.action-plan-issue>strong{font-size:14px;font-weight:650}.action-plan-issue p{margin:6px 0;line-height:1.7}.action-plan-next>span{font-weight:650;color:var(--ink)}
.action-plan-empty{padding:22px;background:var(--surface-alt,#f4f7f8);border:1px solid var(--line);border-radius:8px}.action-plan-empty>strong{color:var(--teal)}.action-plan-empty p{font-size:14px;color:var(--muted);margin:8px 0 0}
[data-theme="dark"] .action-plan-quality.ko{background:#552c37;border-color:#9d4d60;color:#ffb8c3}[data-theme="dark"] .action-plan-quality.ok{background:#1c4239;border-color:#376d5c;color:#a4f1d3}

/* Submodules whose category and signals are still being defined */
.function-category.pending{background:transparent;color:var(--muted);border:1px dashed var(--line)}
.function-pending-note{margin:14px 2px 0}

.filters[hidden],.calendar-note[hidden]{display:none}

/* Data Availability: direct RAW signal presence, independent from quality. */
.function-availability .function-table-heading{margin-bottom:8px}.availability-legend{display:flex;flex-wrap:wrap;gap:14px;margin:14px 0 18px;color:var(--muted);font-size:14px}.availability-legend span{display:inline-flex;align-items:center;gap:6px}.availability-matrix{min-width:900px;table-layout:fixed}.availability-matrix th,.availability-matrix td{text-align:center;vertical-align:middle}.availability-matrix thead th{white-space:normal}.availability-matrix thead th:first-child,.availability-matrix tbody th,.availability-matrix tfoot th{text-align:left}.availability-matrix thead small{display:block;margin-top:3px;font-size:10px;text-transform:none;letter-spacing:0;color:var(--muted);font-weight:400}.availability-matrix tbody th{font-size:14px;font-weight:600}.availability-matrix tbody th>small{color:var(--teal);font-size:11px;margin-right:7px}.availability-matrix tfoot th,.availability-matrix tfoot td{background:var(--surface-alt,#eef3f5);border-bottom:0;color:var(--muted);font-size:12px;font-weight:550}.availability-badge{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;font-style:normal;font-size:18px;font-weight:700;line-height:1}.availability-badge.available{color:var(--teal);background:rgba(11,136,127,.12);border-color:rgba(11,136,127,.4)}.availability-badge.missing{color:var(--red);background:rgba(170,75,84,.11);border-color:rgba(170,75,84,.5)}.availability-badge.nodata{color:var(--muted);background:transparent}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-theme="dark"] .availability-badge.available{color:#9ce8cc;background:#1c4239;border-color:#376d5c}[data-theme="dark"] .availability-badge.missing{color:#ffb5bd;background:#552c37;border-color:#9d4d60}@media(max-width:600px){.function-availability{padding:15px}.availability-legend{gap:9px;font-size:12px}.availability-table-wrap{margin-inline:-2px}.availability-matrix{min-width:760px}}

/* Executive overview */
.overview-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}
.overview-card,.overview-panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:24px}
.overview-card>span{font-size:15px;color:var(--muted)}.overview-card>strong{display:block;font-size:45px;line-height:1.3;margin-top:12px;color:var(--ink)}.overview-card p{font-size:14px;color:var(--muted);min-height:36px;line-height:1.6}.overview-card small{display:block;min-height:28px;margin-top:8px;font-size:12px;color:var(--muted)}
.overview-panel{margin-bottom:22px}.overview-panel h2{font-size:20px;margin:0 0 14px}.overview-panel p{font-size:15px;line-height:1.8;color:var(--muted)}.overview-panel table{min-width:850px}.overview-panel td{font-size:14px}
@media(max-width:1050px){.overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.overview-cards{grid-template-columns:1fr;gap:12px}.overview-card,.overview-panel{padding:18px}.overview-card p{min-height:0}}

/* Make signal availability percentages prominent in the summary row. */
.availability-matrix tfoot td{padding-top:18px;padding-bottom:18px}
.availability-summary-percent{display:block;font-size:32px;font-weight:750;line-height:1.25;color:var(--teal);font-variant-numeric:tabular-nums;margin-bottom:6px}
.availability-summary-percent.unassessed{color:var(--muted)}.availability-summary-detail{display:block;font-size:12px;line-height:1.6;color:var(--muted)}

.overview-terminal-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:20px}.overview-terminal-availability{padding:18px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-alt);text-align:center}.overview-terminal-availability h3{font-size:15px;margin:0 0 14px}.overview-terminal-availability>span{font-size:12px;color:var(--muted);line-height:1.6}.overview-availability .function-table-heading{flex-wrap:wrap;gap:12px}@media(max-width:1050px){.overview-terminal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.overview-terminal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

.dq-matrix tfoot td{padding-top:18px;padding-bottom:18px}.overview-quality .function-table-heading{flex-wrap:wrap;gap:12px}

.overview-tic .function-table-heading{flex-wrap:wrap;gap:12px}#tic-compatibility{scroll-margin-top:24px}

/* Shared percentage KPI thresholds across all summary views. */
.kpi-red{color:#b22336}.kpi-orange{color:#a95100}.kpi-green{color:#126b56}
[data-theme="dark"] .kpi-red{color:#ffb5bd}[data-theme="dark"] .kpi-orange{color:#ffbc70}[data-theme="dark"] .kpi-green{color:#9ce8cc}

/* Readiness combines three equally weighted checks. */
.readiness-score{padding:18px 0;margin:0 0 18px;border-bottom:1px solid var(--line)}.readiness-score-label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.readiness-score .availability-summary-percent{font-size:36px}.readiness-score.compact{padding:0;border:0;margin:0 0 14px}.readiness-score.compact .readiness-score-label{display:none}.readiness-score.compact .availability-summary-percent{font-size:32px}.readiness-score .availability-summary-detail{line-height:1.8}.overview-readiness .function-table-heading{flex-wrap:wrap;gap:12px}
.function-readiness-card{min-width:0}.readiness-check h5{min-height:36px}.readiness-check>strong,.readiness-check>p{overflow-wrap:anywhere}.function-card-heading{flex-wrap:wrap;gap:10px}.overview-terminal-availability{min-width:0}.overview-terminal-availability .function-verdict{white-space:normal}nav button{display:flex;align-items:center}.nav-icon{flex-shrink:0}table{font-variant-numeric:tabular-nums}

/* Keep wide availability tables inside their horizontal scroll area. */
.availability-table-wrap{contain:inline-size layout paint;max-width:100%;min-width:0}

.snapshot-actions{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.snapshot-actions label{display:grid;gap:6px;color:var(--muted);font-size:13px}.snapshot-actions select{padding:9px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);max-width:100%}.terminal-snapshot .function-table-heading{flex-wrap:wrap;gap:16px}.snapshot-table{width:100%;min-width:1050px}.snapshot-table td,.snapshot-table th{text-align:center;vertical-align:middle}.snapshot-table th:first-child{text-align:left}.snapshot-table .availability-summary-percent{font-size:28px}.terminal-snapshot .table-wrap{contain:inline-size layout paint;max-width:100%;min-width:0}#snapshot-copy-status{font-size:13px;color:var(--muted)}

[data-category="Labor / Rost."],[data-function-category="Labor / Rost."]{--category-bg:#fff2dc;--category-ink:#89550c;--category-line:#e8cb96;--category-active:#89550c}
[data-category="Energy/Sust."],[data-function-category="Energy/Sust."]{--category-bg:#e4f0fb;--category-ink:#24608b;--category-line:#b2d0e8;--category-active:#24608b}
[data-theme="dark"] :is([data-category="Labor / Rost."],[data-function-category="Labor / Rost."]){--category-bg:#46371e;--category-ink:#f5d394;--category-line:#796035;--category-active:#79571e}
[data-theme="dark"] :is([data-category="Energy/Sust."],[data-function-category="Energy/Sust."]){--category-bg:#203a50;--category-ink:#acd6f5;--category-line:#496d8a;--category-active:#30658b}
.product-matrix{margin:18px 0 24px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.product-matrix summary{font-weight:600;font-size:14px}.product-matrix p{color:var(--muted);font-size:13px}.product-matrix .table-wrap{contain:inline-size layout paint;max-width:100%}.product-matrix table{min-width:1000px}.product-matrix .function-category{margin:3px}.snapshot-actions select{width:360px;max-width:100%}

/* Matrix copy remains visible at the top right, even when collapsed. */
.product-matrix-card{position:relative;margin:18px 0 24px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.product-matrix-card .product-matrix{margin:0;padding:0;border:0;background:transparent}.product-matrix-card summary{padding-right:145px;min-height:42px;align-content:center}.matrix-copy-button{position:absolute;top:16px;right:16px;z-index:1}.product-matrix-card>[data-matrix-copy-status]:empty{display:none}@media(max-width:520px){.product-matrix-card summary{padding-right:118px;min-height:48px}.matrix-copy-button{padding:9px}}

.release-scope{padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:6px;background:var(--surface-alt);color:var(--ink);font-size:14px;line-height:1.7}
