/* Shared shell refinements requested by Martin, 23 October 2026. */
:root{--drawer-width:min(760px,56vw);--metric-size:28px}
.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.metrics .stat,.metrics .clock-card{display:grid;grid-template-columns:1fr auto;grid-template-rows:34px auto;align-items:center;gap:4px 8px;text-align:left;min-height:92px}
.metrics .extra{display:none}
.metrics .stat>span{margin:0;line-height:1.25}
.metrics .stat>i,.metrics .clock-card>i{justify-self:end}
.metrics strong{grid-column:1/-1;justify-self:center;align-self:center;font-size:var(--metric-size);font-weight:750;line-height:1.15;letter-spacing:-.6px}
.more-measures .metrics{grid-template-columns:repeat(8,minmax(140px,1fr))}
.more-measures .metrics .extra{display:grid}
.report-summary>div{grid-template-rows:minmax(34px,auto) auto}
.report-summary strong{display:block;text-align:center;font-size:var(--metric-size);font-weight:750;line-height:1.15}
.report-summary header{align-items:center}
.panel-rail{position:absolute;right:0;top:12px;width:112px;z-index:18;display:grid;padding:6px;background:#fffffff5;box-shadow:0 6px 24px #11182716;border-radius:12px 0 0 12px;gap:4px}
.panel-rail button{border:0;background:transparent;text-align:left;min-height:42px;padding:8px;font-size:12px}
.panel-rail button:hover{background:#e7fff4}
.drawer-open .panel-rail{visibility:hidden}
.drawer:not(.expanded){inset:0 0 0 auto;width:var(--drawer-width);height:100%;max-height:none;border-radius:0;border-width:0 0 0 1px;box-shadow:-8px 0 24px #0f172a12}
.drawer.expanded{inset:0;border-radius:0}
.workspace-tabs{padding-left:12px}
.workspace-tabs button{font-size:14px}
#world{left:var(--rail-width);right:112px}
.drawer-open #world{right:var(--drawer-width)}
.world-top,.drawer-open .world-top{top:auto;right:auto;left:calc(var(--rail-width) + 12px);bottom:18px;justify-content:flex-start;gap:6px}
.world-top>button{display:flex;align-items:center;gap:6px;white-space:nowrap}
.map-menu{top:auto;bottom:48px;right:auto;left:0;display:block;width:310px;max-width:calc(100vw - var(--rail-width) - 24px)}
.map-views{display:flex;flex-wrap:wrap;gap:4px}
.map-menu p{font-size:12px;color:#64748b;margin:8px 4px;line-height:1.6}
#map-mode .ph-icon{width:16px;height:16px}
#speed-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:260px;max-height:calc(100dvh - 260px);overflow:auto;gap:6px}
#speed-menu small{grid-column:1/-1}
#speed-menu button{justify-content:center;font-variant-numeric:tabular-nums;font-size:12px}
#speed-menu button[aria-pressed=true]{background:#dcfff0;color:#07563d}
@media(max-width:1000px) and (min-width:761px){:root{--drawer-width:60vw}.workspace-tabs button{font-size:12px}}
@media(max-width:760px){
 :root{--metric-size:24px;--drawer-width:100vw}
 .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .metrics .clock-card,.metrics .stat{min-height:76px;padding:6px 10px;grid-template-rows:26px auto}
 .metrics .stat .ph-icon{display:block;width:16px;height:16px}
 .metrics span{font-size:12px}
 .workspace-tabs button{font-size:12px}
 .drawer-open .world-top,.drawer-open .control-rail{visibility:hidden;display:flex}
 .drawer-open #world{right:112px}
 .panel-rail{width:100px}.world-top{gap:4px}.world-top>button{font-size:11px;padding:9px}
 #world{right:100px}.drawer-open #world{right:100px}
 .report-summary strong{font-size:var(--metric-size)}
}
@media(max-height:600px){.world-top,.drawer-open .world-top{left:calc(var(--rail-width) + 8px);bottom:10px}.control-rail button{min-height:30px}.control-rail #play{min-height:38px}}

.control-rail #speed-menu button{width:100%}

/* Matching icon rails; right labels expand independently of left controls. */
:root{--panel-rail-width:64px}
.panel-rail-expanded{--panel-rail-width:190px}
.panel-rail{width:var(--panel-rail-width);padding:8px;gap:4px}
.panel-rail button{display:flex;align-items:center;gap:10px;padding:5px;min-height:42px;white-space:nowrap}
.panel-label{display:none}.panel-rail-expanded .panel-label{display:block}
.panel-rail .rail-icon{width:36px}.panel-rail .ph-icon{width:21px;height:21px}
#panel-rail-toggle{min-height:30px}#panel-rail-toggle .rail-icon{height:24px}
.panel-rail-expanded .panel-rail .chevron{transform:rotate(180deg)}
#world{right:var(--panel-rail-width)}.drawer-open #world{right:var(--drawer-width)}
#zoom-in,#zoom-out{font-size:20px;line-height:18px;padding:8px 10px;min-width:34px;justify-content:center}
.workspace-tabs .flow-tag-mark{width:29px}
@media(max-width:760px){.drawer-open #world{right:var(--panel-rail-width)}.workspace-tabs button{font-size:11px;gap:4px}.workspace-tabs .ph-icon{width:14px;height:14px}.workspace-tabs .flow-tag-mark{width:23px}.world-top,.drawer-open .world-top{gap:3px;left:calc(var(--rail-width) + 8px)}#zoom-in,#zoom-out{padding:7px;min-width:28px}}

.principle-group button{width:100%}.principle-group button span>small{display:block;margin-top:6px}

/* Map menus receive their own input; never let a button click select the room below. */
.world-top .map-menu{pointer-events:auto;z-index:50;max-height:calc(100dvh - 340px);overflow:auto}
.journey-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.journey-controls h3{margin:0;font-size:16px}.journey-controls .analysis-modes{margin-left:auto}.journey-controls .colour-toggle{margin:0}.journey-legend{margin:8px 0}.journey-legend .flow-legend{margin:0;gap:8px;font-size:11px}.journey-board{max-height:none;overflow:visible}.journey-toolbar{display:block}.journey-panel .chart-caption{display:none}
#journey-detail{position:absolute;z-index:15;inset:var(--observation-top,175px) 16px 12px;background:white;border:1px solid #ccd8df;border-radius:14px;box-shadow:0 8px 28px #17203330;overflow:auto;padding:16px;overscroll-behavior:contain}
#journey-detail .patient-detail-head{position:sticky;top:-16px;background:white;z-index:2;padding:12px 0;flex-wrap:wrap;border-bottom:1px solid #e2e8f0}.patient-detail-head h3,.patient-detail-head p{margin:0}.patient-actions{flex-wrap:wrap}
#panel{padding-bottom:28px;overscroll-behavior:contain}.drawer-foot{padding:5px 20px}
#world-playback{left:calc(var(--rail-width) + 12px);right:calc(var(--panel-rail-width) + 12px);bottom:72px;transform:none;max-width:none;z-index:30;flex-wrap:wrap}.drawer-open #world-playback{right:calc(var(--drawer-width) + 12px)}#world-playback input{flex:1;min-width:90px;accent-color:#00a979}.replay-cursor{position:absolute;top:0;bottom:0;width:2px;background:#00a979;z-index:3;pointer-events:none}.gantt-track{position:relative}
.idea-themes{flex-wrap:wrap}.idea-themes button[aria-pressed=true]{background:#172033;color:white}.category-empty{grid-column:1/-1;color:#64748b;font-size:13px}
@media(max-width:760px){#journey-detail{inset:var(--observation-top,200px) 8px 8px;padding:12px}.drawer-open #world-playback{left:8px;right:8px;bottom:8px;z-index:60}.journey-controls .analysis-modes{margin-left:0}.world-top .map-menu{max-height:40dvh}}

.observation-stripe{position:relative;overflow:visible}.observation-stripe .replay-cursor{top:-4px;bottom:-4px;background:#00a979;width:3px;box-shadow:0 0 0 1px white}.replay-status{color:#047857;font-size:13px;font-weight:600}

.layout-editor-backdrop{position:fixed;inset:0;background:#17203355;z-index:100;display:grid;place-items:center;padding:16px}.layout-editor{max-width:760px;width:100%;max-height:95dvh;overflow:auto;background:white;border-radius:16px;padding:20px}.layout-editor header{display:flex;align-items:center;justify-content:space-between}.layout-editor h3{margin:0}.layout-editor p{font-size:13px;color:#475569}.layout-plan{width:100%;max-height:340px;touch-action:none;border:1px solid #cbd5df;border-radius:10px}.layout-plan g{cursor:grab}.layout-plan g:focus{outline:2px solid #00a979}.layout-position,.pair-options{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.layout-position label{display:flex;gap:4px;align-items:center}.layout-position input{width:80px}.pair-options button[aria-pressed=true]{background:#dcfff0}.layout-assumption{background:#f1f5f9;padding:10px;border-radius:8px}[data-layout-error]{color:#b91c1c!important}.layout-editor .primary{background:#00f5a0}

.split-options{display:flex;gap:8px;flex-wrap:wrap}.split-options button[aria-pressed=true]{background:#dcfff0}

.aggregate-stream .flow-card-head{margin-bottom:8px}.stream-summary{font-size:12px;color:#64748b;margin:0 0 14px}.aggregate-stream-ribbon{height:28px;margin:12px 0}.aggregate-stream-ribbon span{display:block;flex-shrink:0;min-width:0}.aggregate-stream .flow-legend{margin:10px 0 14px;gap:8px 14px}.stream-data{border-top:1px solid #e2e8f0;padding-top:12px}.stream-data summary{cursor:pointer;font-size:13px;font-weight:600}.stream-table-wrap{overflow-x:auto}.stream-data table{width:100%;font-size:12px}.stream-data th:first-child{min-width:150px;overflow-wrap:anywhere}.stream-data th:not(:first-child){min-width:85px}.stream-data th i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.stream-data .flow-chart-note{line-height:1.5}

/* Shared report cleanup: charts first, compact selection, calculations on demand. */
#panel>.flow-card:first-child{margin-top:0}
.report-context>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.report-context{min-height:42px}.report-context h2{font-weight:650}
.balancing-charts{margin-top:20px}.balancing-charts>.flow-eyebrow{display:block;margin:0 2px 10px}.balancing-charts .flow-card{width:100%;margin:12px 0}.balancing-charts .flow-empty{min-height:80px;display:grid;place-items:center;background:#f8fafb;border-radius:10px;color:#64748b}
.report-disclosure{border:1px solid #e2e8f0;border-radius:12px;background:white;margin:12px 0;overflow:hidden;font-size:13px}
.report-disclosure>summary{display:flex;align-items:center;gap:8px;padding:13px 15px;cursor:pointer;list-style:none;font-weight:600;color:#334155;line-height:1.4}
.report-disclosure>summary::-webkit-details-marker{display:none}.report-disclosure>summary::before{content:'›';font-size:20px;line-height:16px;transform:rotate(0deg);color:#64748b}.report-disclosure[open]>summary::before{transform:rotate(90deg)}.report-disclosure>summary>span{margin-left:auto;font-size:11px;color:#64748b;font-weight:400}
.report-disclosure[open]>summary{border-bottom:1px solid #edf1f4}.disclosure-body{padding:14px 15px}.disclosure-body>p{font-size:12px;line-height:1.6;color:#64748b;margin:0 0 12px}.disclosure-body>p:last-child{margin-bottom:0}.disclosure-body .table-wrap{width:100%;overflow-x:auto}.disclosure-body table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.45}.disclosure-body th,.disclosure-body td{padding:10px 8px;border-bottom:1px solid #edf1f4;vertical-align:top;text-align:right;white-space:nowrap}.disclosure-body th:first-child,.disclosure-body td:first-child{text-align:left;white-space:normal;min-width:95px}.disclosure-body thead th{font-size:11px;font-weight:500;color:#64748b}.disclosure-body tbody th{font-weight:500}.disclosure-body table small{display:block;color:#64748b;font-size:11px;font-weight:400;margin-top:4px}.disclosure-body th i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.capacity-calculation .observation-table{table-layout:auto}.capacity-calculation .observation-table th,.capacity-calculation .observation-table td{overflow-wrap:normal}
.stream-data.report-disclosure{padding:0;margin-bottom:0}.aggregate-stream .stream-summary{line-height:1.5}.stream-data .disclosure-body{padding:12px}.stream-data .stream-table-wrap{overflow:auto}
#journey-detail{inset:var(--observation-top,175px) 16px auto auto;width:min(440px,calc(100% - 32px));max-height:calc(100% - var(--observation-top,175px) - 12px);padding:16px;border-radius:16px}
#journey-detail .patient-detail-head{position:static;padding:0;border:0;flex-wrap:nowrap;gap:12px;align-items:flex-start}.patient-detail-head>div{min-width:0}.patient-detail-head h3{font-size:16px;line-height:1.4;overflow-wrap:anywhere}.patient-detail-head h3 span{font-size:13px;color:#64748b;font-weight:400;margin-left:5px}.patient-detail-head p{font-size:12px;line-height:1.5;margin-top:3px}
#journey-detail .observation-close{border:0;background:#f1f5f9;border-radius:50%;width:28px;height:28px;padding:0;flex-shrink:0;font-size:20px;color:#64748b}
#journey-detail .patient-actions{margin:14px 0;gap:6px}.patient-actions button{border:1px solid #dce4e9;border-radius:8px;background:white;padding:7px 12px;font-size:12px}.patient-actions button:hover{background:#ecfff6}
#journey-detail .observation-card{border:0;border-radius:0;background:none;padding:0;margin:0}.observation-stripe{display:flex;height:18px;border-radius:999px;overflow:hidden;margin:0}.observation-stripe i{display:block;height:100%;flex-shrink:0}.observation-range{display:flex;justify-content:space-between;color:#64748b;font-size:11px;margin-top:5px}
#journey-detail .segment-detail{display:grid;gap:4px;background:#f8fafb;border:0;border-radius:10px;padding:10px 12px;margin:12px 0;font-size:13px}.segment-detail b{font-weight:600}.segment-detail span{font-size:12px;color:#475569}.segment-detail small{display:block;font-size:11px;color:#64748b;margin-top:3px}
#journey-detail .report-disclosure{margin:12px 0 0}.observation-outcomes{margin-top:12px;font-size:12px;color:#64748b;display:grid;gap:5px}.observation-outcomes>span{display:flex;justify-content:space-between;gap:8px}.observation-outcomes b{color:#334155;font-weight:600}.activity-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 0 12px;margin:0}.activity-totals>div{padding:0;background:none;border:0}.activity-totals span{font-size:11px}.activity-totals b{font-size:13px;margin-top:3px}.replay-status{margin:8px 0;font-size:12px}
.utilisation-summary .flow-stream-ribbon{height:20px;margin:14px 0}.utilisation-value{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.utilisation-value b{font-size:30px;font-weight:700;letter-spacing:-.5px}.utilisation-value span{font-size:12px;color:#64748b}.utilisation-summary .flow-legend{font-size:11px;gap:8px 14px}.resource-card .resource-chart{border:0;border-radius:10px}.resource-card .resource-axis,.resource-card .resource-row{grid-template-columns:minmax(100px,1.1fr) minmax(100px,2fr) 58px;gap:12px;padding:13px 0}.resource-card .resource-axis{font-size:10px;background:white;border-bottom:1px solid #e2e8f0;padding-top:5px}.resource-card .resource-axis>span:last-child{text-align:right}.resource-card .resource-row:first-of-type{border:0}.resource-card .resource-row>div:first-child b{font-size:12px;line-height:1.5;font-weight:500}.resource-card .resource-row small{font-size:10px;margin-top:3px}.resource-card .resource-percent b{font-size:14px;font-weight:650}.resource-card .resource-track{height:20px;border-radius:999px;overflow:hidden}.stage-dot{width:8px;height:8px;display:inline-block;border-radius:50%;margin-right:7px}.chart-toolbar .analysis-modes{display:flex;gap:4px;flex-wrap:wrap}
@media(max-width:760px){#journey-detail{right:8px;width:calc(100% - 16px);padding:14px}.resource-card .resource-axis,.resource-card .resource-row{grid-template-columns:86px minmax(65px,1fr) 48px;gap:8px}.resource-card .resource-row>div:first-child b{font-size:11px}.resource-card .resource-percent b{font-size:12px}.report-context{padding:8px 12px}.disclosure-body{padding:12px}.report-disclosure>summary{padding:12px}.flow-unit{white-space:normal}.resource-card{padding:14px}.utilisation-value span{font-size:11px}}

/* Shared selection language and contextual controls. */
.workspace-tabs button{background:#fff;color:#111;border:1px solid transparent}.workspace-tabs button:hover{background:#f1f5f9}.workspace-tabs button[aria-pressed=true]{background:#000!important;color:#fff!important;border-color:#000}.workspace-tabs button[aria-pressed=true] .ph-icon{color:#fff}.workspace-tabs button[aria-pressed=true] .flow-tag-mark{mix-blend-mode:normal}
.chart-toolbar .analysis-modes{background:#fff;border:1px solid #e2e8f0;padding:3px;border-radius:10px}.chart-toolbar .analysis-modes button{background:#fff;color:#111;border:0}.chart-toolbar .analysis-modes button[aria-pressed=true]{background:#000;color:#fff}.chart-toolbar .analysis-modes button:hover:not([aria-pressed=true]){background:#f1f5f9}
.value-stream-settings{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}.value-stream-settings .report-stat{background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;padding:3px}.value-stream-settings button{border:0;font-size:12px;padding:7px 12px}.value-stream-settings button[aria-pressed=true]{background:#000;color:#fff}.value-stream-settings label{display:flex;align-items:center;gap:8px;font-size:12px;color:#64748b}.value-stream-settings select{max-width:190px;font-size:12px;padding:7px}.stream-numbers{gap:24px}.stream-numbers b{font-size:25px}.stream-data.report-disclosure{border:0;border-top:1px solid #e2e8f0;border-radius:0}.stream-data.report-disclosure>summary{padding:13px 0}.stream-data .disclosure-body{padding:12px 0}
.stage-card{padding:12px 14px;margin:10px 0;border-radius:12px}.stage-card .flow-card-head{margin-bottom:12px}.stage-card .flow-unit{font-size:13px;color:#334155;font-weight:600}.stage-card .flow-stream-ribbon{height:18px;margin:12px 0 15px}.stage-card .flow-legend{margin-top:12px;gap:10px 18px}
.plan-conflicts{border:1px solid #e0c586;border-radius:12px;padding:14px;margin:14px 0;background:#fffcf4}.plan-conflicts h4{font-size:14px;margin:0 0 8px}.plan-conflicts p{font-size:13px;color:#475569;line-height:1.5;margin:10px 0 7px}.plan-conflicts button{margin:0 6px 6px 0;text-align:left;font-size:12px}.change-requirement{color:#855e13!important;margin-top:7px}.carried-setup>summary{font-size:13px;font-weight:600;cursor:pointer}.carried-idea{padding:10px 0;border-bottom:1px solid #edf1f4;gap:12px}.carried-idea>span{font-size:13px;line-height:1.4}.carried-idea button{flex-shrink:0}.plan-draft-heading{gap:10px;flex-wrap:wrap}
@media(max-width:760px){.value-stream-settings{gap:8px}.value-stream-settings label{flex-wrap:wrap}.stream-numbers{gap:18px}.stream-numbers b{font-size:21px}.stage-card .flow-unit{font-size:12px}}

/* One optional information card follows the selected History measure cards. */
.additional-information{padding:0;overflow:hidden}.additional-information>summary{padding:18px 20px;font-size:14px;font-weight:650;color:#172033;cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px}.additional-information>summary::before{content:'›';font-size:20px;line-height:1;transition:transform .15s}.additional-information[open]>summary::before{transform:rotate(90deg)}.additional-information>summary::-webkit-details-marker{display:none}.information-cards{display:grid;gap:14px;padding:0 16px 16px}.information-section{min-width:0;border:1px solid #e2e8f0;border-radius:12px;padding:16px;background:#fff}.information-section h3{font-size:14px;margin:0 0 12px}.information-section p,.information-section li{font-size:12px;line-height:1.6;color:#526170}.information-section .disclosure-body{padding:0}.information-section .actions{display:flex;flex-wrap:wrap;gap:8px}.information-section .observation-table{width:100%}.drawer-foot[hidden]{display:none}

#panel .information-section h3{font-size:14px;margin:0 0 12px} .drawer-foot>details{border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:10px 12px;margin:4px 0}.drawer-foot>details>summary{font-size:12px;font-weight:600;cursor:pointer}

/* Stable rails and one selection language throughout the shared shell. */
.control-rail,.panel-rail{top:12px}
.panel-rail>button{flex-direction:row-reverse;justify-content:flex-start}
.panel-rail .panel-label{flex:1;text-align:left}
#rail-toggle,#panel-rail-toggle{height:34px;min-height:34px;max-height:34px;padding:5px;line-height:20px}
#rail-toggle .rail-icon,#panel-rail-toggle .rail-icon{width:36px;height:24px;transform-origin:center}
#rail-toggle .rail-icon svg,#panel-rail-toggle .rail-icon svg{width:20px;height:20px;display:block}
body .control-rail>button:hover,body .control-rail>.rail-group>button:hover,body .panel-rail>button:hover,body .panel-rail>button[aria-expanded=true]{background:#f0f5f6!important}
body button[aria-pressed=true],body button[aria-selected=true],body button[aria-current=page],body .analysis-modes button.active{background:#000!important;color:#fff!important;border-color:#000!important}
body button[aria-pressed=true] .ph-icon,body button[aria-current=page] .ph-icon{color:inherit}

.report-pages button{border-radius:8px;padding:8px 6px;margin:4px 0}

/* Stable annotation targets; setup and support keep detail in one place. */
.plan-marker{cursor:help;outline:none}.plan-marker line,.plan-marker text,.plan-dot{pointer-events:none}.plan-marker:focus .plan-dot{stroke:#64748b;stroke-width:3}.plan-hit{pointer-events:all}
.carried-setup{margin-top:0}.carried-setup>summary{font-size:16px;color:#111827}.setup-status{margin:12px 0;align-items:center}.setup-status small{display:block;margin-top:4px;font-size:12px;color:#64748b}
.support-brief p,.support-questions li{font-size:14px;line-height:1.6;color:#475569}.support-questions li{margin:10px 0}.support-questions ul{padding-left:20px}.support-questions .actions{display:flex;gap:8px;flex-wrap:wrap}
#support-tools[hidden]{display:none}#support-tools .report-export{display:grid;gap:12px}#support-tools .report-export label{display:grid;gap:6px;font-size:13px}#support-tools .report-export select{width:100%;min-width:0}#support-tools .report-export p,#support-tools .report-export small{font-size:12px;line-height:1.5;margin:0}

/* One measure row adapts to width without shrinking cards or covering the world. */
.metrics,.more-measures .metrics{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#b8c2cc transparent;scroll-padding-inline:24px;overscroll-behavior-x:contain}
.metrics .clock-card,.metrics .stat,.metrics .extra,.more-measures .metrics .extra{display:grid;flex:1 0 156px;min-width:156px;box-sizing:border-box}
.metrics::-webkit-scrollbar{height:5px}.metrics::-webkit-scrollbar-track{background:transparent}.metrics::-webkit-scrollbar-thumb{background:#b8c2cc;border-radius:8px}.metrics:focus-visible{outline:2px solid #64748b;outline-offset:-2px}
#more-measures[hidden]{display:none}.plan-finished{margin-bottom:12px}
@media(max-width:760px){.metrics{scroll-padding-inline:12px}.metrics .clock-card,.metrics .stat,.metrics .extra{flex-basis:144px;min-width:144px}}
