/* style.css */
@import url('/static/tokens.css');
.card,.result-stack{min-width:0}
.planning-edit-help{margin:16px 0;padding:12px 13px;border-radius:var(--radius-sm);font-size:var(--t12)}
.planning-edit-help p{margin:6px 0 0;font-size:var(--t11);line-height:1.6;color:inherit}
.planning-edit-help.locked{background:var(--panel-soft);border:1px solid var(--line);color:var(--muted)}
.planning-edit-help.editable{background:var(--panel-soft);border:1px solid var(--line);color:#34684c}
.planning-edit-help .secondary{margin-top:10px!important;font-size:var(--t11);background:var(--panel);border:1px solid var(--line)}
input:disabled{background:var(--panel-soft);color:var(--muted);border-style:dashed;cursor:not-allowed;opacity:1}
*{box-sizing:border-box}body{margin:0;background:var(--panel-soft);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:var(--t14);line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);padding:10px 11px;color:var(--ink)}textarea{resize:vertical;min-height:76px}input:focus,select:focus,textarea:focus{outline:2px solid #9db0df;outline-offset:1px}label{display:block;font-size:var(--t12);font-weight:650;color:var(--muted);margin-bottom:5px}h1,h2,h3,p{margin-top:0}h1{font-size:var(--t28);line-height:1.18;letter-spacing:-1px;margin-bottom:10px}h2{font-size:var(--t18);letter-spacing:-.3px}h3{font-size:var(--t14);margin-bottom:8px}p{color:var(--muted)}a{color:#285aaa}small{font-size:var(--t11);color:var(--muted)}.eyebrow{font-size:var(--t10);text-transform:uppercase;letter-spacing:2px;color:var(--muted);font-weight:700;margin-bottom:12px}.muted{color:var(--muted)}.flex{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1}.primary,.secondary,.danger{padding:11px 16px;border-radius:var(--radius-sm);font-weight:650;white-space:nowrap}.primary{background:var(--ink);color:white}.primary:hover{background:#283d6e}.secondary{background:var(--panel-soft);color:var(--ink)}.danger{background:var(--panel-soft);color:#a73939}.link-btn{background:none;color:#456da4;padding:5px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);padding:22px;box-shadow:0 2px 4px #15214303}.badge{display:inline-flex;border-radius:var(--radius-sm);padding:3px 7px;font-size:var(--t10);font-weight:700;letter-spacing:.25px;background:var(--panel-soft);color:var(--muted);white-space:nowrap}.green{background:#e6f3ed;color:#25714e}.amber{background:#fff1d3;color:#916315}.red{background:#fbe9e9;color:#ac3e3e}.blue{background:#e9f0fb;color:#3b66a0}.gap{margin-top:20px}.divider{border:0;border-top:1px solid var(--line);margin:20px 0}.loading{padding:15vh;text-align:center}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}.note{border-left:3px solid var(--gold);background:#fffbf0;color:#776548;padding:11px 14px;font-size:var(--t12);line-height:1.6}.error{background:#fff1f0;color:#ad3333;padding:12px;border-radius:var(--radius-sm)}
/* Shared feedback: reserve no error space until a message exists. */
.error:empty{display:none}.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.auth-brand{background:var(--ink);padding:65px;position:relative;overflow:hidden;color:white;display:flex;flex-direction:column;justify-content:center}.auth-brand h1{font-size:var(--t40);max-width:480px;margin-top:60px;letter-spacing:-2px}.auth-brand p{color:#bac5db;max-width:430px;font-size:var(--t16)}.logo{font-size:var(--t24);letter-spacing:-1px;font-weight:750}.logo i{display:inline-block;width:17px;height:17px;transform:rotate(45deg);background:var(--gold);margin-right:13px}.auth-panel{display:flex;align-items:center;justify-content:center;padding:60px}.auth-form{width:100%;max-width:380px}.auth-form .primary{width:100%;margin-top:20px}.auth-form label{margin-top:17px}.auth-art{margin-top:40px;display:grid;gap:14px;max-width:440px;border-top:1px solid var(--line);padding-top:25px}.auth-art div{height:9px;border-radius:var(--radius-xs);background:#587cb3}.auth-art div:nth-child(2){background:var(--gold);width:48%;margin-left:34%}.auth-art div:nth-child(3){background:#43a3be;width:52%;margin-left:10%}.shell{display:grid;grid-template-columns:210px 1fr;min-height:100vh}.sidebar{background:var(--ink);color:white;padding:28px 20px;position:fixed;inset:0 auto 0 0;width:210px;display:flex;flex-direction:column}.sidebar .logo{font-size:var(--t24)}.sidebar .eyebrow{color:var(--muted);font-size:var(--t9);margin-top:8px}.nav{display:flex;flex-direction:column;gap:6px;margin-top:40px}.nav button{background:none;color:#bac7e0;text-align:left;padding:12px;border-radius:var(--radius-sm);font-size:var(--t13)}.nav button.active{background:#ffffff13;color:white;border-left:3px solid var(--gold);padding-left:9px}.nav button span{display:inline-block;width:22px;color:#8da2c8}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;font-size:var(--t11);color:#94a5c7}.avatar{border-radius:50%;background:#ffffff19;width:30px;height:30px;display:grid;place-items:center;color:white;font-weight:bold}.workspace{grid-column:2;min-width:0}.topbar{height:70px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:20px}.topbar .crumb{font-size:var(--t12);color:var(--muted)}.topbar .crumb strong{color:var(--ink)}main{padding:30px 32px 50px;max-width:1650px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:20px}.heading p{margin-bottom:0;font-size:var(--t13)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.stat{padding:20px 22px;border-top:3px solid #c6cfe0}.stat.primary-stat{border-top-color:var(--gold)}.stat .value{font-size:var(--t28);letter-spacing:-1px;font-weight:730;margin:8px 0 3px}.stat label{font-weight:550}.main-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}.result-stack{display:grid;gap:18px}.client-editor{position:sticky;top:20px}.client-editor .date-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--panel-soft);padding:12px;margin:15px 0}.client-editor .date-pair b{display:block;font-size:var(--t12)}.client-editor label{margin-top:15px}.client-editor .primary{width:100%;margin-top:18px}.client-editor .secondary{width:100%;margin-top:8px}.editor-sub{font-size:var(--t11);padding-top:5px}.legend{display:flex;gap:15px;font-size:10px;color:var(--muted);flex-wrap:wrap}.legend i{display:inline-block;width:17px;height:5px;vertical-align:middle;margin-right:5px;border-radius:2px}.timeline-scroll{overflow-x:auto;margin-top:16px}.timeline{min-width:650px}.timeline-head{display:grid;grid-template-columns:145px 1fr;font-size:var(--t10);color:var(--muted);padding-bottom:8px}.axis{display:flex;justify-content:space-between}.timeline-row{display:grid;grid-template-columns:145px 1fr;min-height:52px;align-items:center;border-top:1px solid var(--line)}.timeline-label{font-size:var(--t12);font-weight:600;padding-right:10px}.timeline-label small{display:block;font-weight:400;font-size:var(--t9)}.tracks{position:relative;height:44px}.bar{position:absolute;height:7px;border-radius:3px;min-width:2px}.bar.baseline{background:#b9c8de;top:6px}.bar.scenario{background:#304d80;top:18px}.bar.runoff{background:#dfa933;top:30px;height:4px}.timeline-row.changed{background:var(--panel-soft)}.resource-row{display:grid;grid-template-columns:140px 1fr 82px;gap:15px;align-items:center;margin:16px 0;font-size:var(--t12)}.meter{height:8px;background:#eaf0f5;border-radius:var(--radius-sm);overflow:hidden}.meter span{height:100%;display:block;background:#527aa5;border-radius:var(--radius-sm)}.meter span.over{background:#c87653}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:var(--t12)}th{text-align:left;font-size:var(--t10);text-transform:uppercase;letter-spacing:.6px;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 9px}td{padding:11px 9px;border-bottom:1px solid var(--line);vertical-align:top}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td button{font-size:var(--t11)}.cost-name{font-weight:600}.cost-name small{display:block;font-weight:400}.total-row{font-weight:700;background:var(--panel-soft)}.limits{font-size:var(--t11);color:var(--muted);line-height:1.7}.limits ul{padding-left:18px}.toolbar{display:flex;gap:10px;margin:20px 0}.toolbar select{width:auto;min-width:160px}.backlog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.backlog-card{display:flex;flex-direction:column;min-height:230px}.backlog-card p{font-size:var(--t12);margin:12px 0;flex:1}.backlog-card h3{margin:14px 0 0}.backlog-card .id{font-size:var(--t10);color:var(--muted)}.backlog-card .foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:6px}.audit-event{border-bottom:1px solid var(--line);padding:13px 0}.audit-event summary{cursor:pointer;display:flex;gap:15px;align-items:center;list-style:none;font-size:var(--t12)}.audit-event summary .event-id{font-size:var(--t10);color:#93a0b7;width:35px}.audit-event pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--panel-soft);padding:15px;border-radius:var(--radius-sm);font-size:var(--t11);max-height:400px;overflow:auto}.audit-event time{font-size:var(--t10);color:var(--muted);margin-left:auto;white-space:nowrap}.settings-sections{display:grid;gap:18px}.settings-sections input{padding:7px;min-width:65px}.settings-sections table{min-width:650px}.empty{text-align:center;padding:35px;color:var(--muted)}#toast{position:fixed;right:28px;bottom:25px;padding:13px 20px;border-radius:var(--radius-control);background:#142149;color:white;box-shadow:0 8px 25px #15214330;max-width:420px;z-index:20;display:none}dialog{border:0;border-radius:var(--radius-panel);padding:28px;max-width:660px;width:90vw;box-shadow:0 30px 90px #101f4960}dialog::backdrop{background:#10204366;backdrop-filter:blur(3px)}dialog form{display:grid;gap:14px}dialog .buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.account-note{font-size:var(--t11);line-height:1.6;color:var(--muted)}.pending{background:#fff6df;color:#896519;padding:9px 12px;border-radius:var(--radius-sm);font-size:var(--t11)}.welcome-note{padding:14px 17px;background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-control);font-size:var(--t12);color:var(--muted);margin-bottom:20px}.history-select{max-width:230px;font-size:var(--t11);padding:8px}.hidden{display:none!important}@media(min-width:1550px){.main-grid{grid-template-columns:minmax(0,1fr) 340px}}@media(max-width:1100px){.main-grid{grid-template-columns:1fr}.client-editor{position:static}.backlog-grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.sidebar{width:175px}.shell{grid-template-columns:175px 1fr}main{padding:24px}.resource-row{grid-template-columns:120px 1fr 75px}}@media(max-width:700px){.sidebar{position:static;width:auto;padding:15px}.shell{display:block}.sidebar .nav{flex-direction:row;flex-wrap:wrap;margin-top:15px}.sidebar-bottom{display:none}.workspace{display:block}.auth{display:block}.auth-brand{padding:35px}.auth-brand h1{font-size:var(--t32);margin-top:25px}.auth-panel{padding:30px}.auth-art{display:none}main{padding:18px}.topbar{padding:0 18px}.heading{align-items:start;flex-direction:column}.backlog-grid{grid-template-columns:1fr}.stat .value{font-size:var(--t22)}.grid2{grid-template-columns:1fr}.audit-event time{white-space:normal}.timeline{min-width:600px}}
/* Direct manipulation and quiet, partial refreshes. */
.live-actions{display:flex;align-items:flex-end;flex-direction:column;gap:9px;min-width:205px}.live-actions [role=status]{font-size:var(--t11);font-weight:650;color:#2a7859}.live-actions .has-error{color:#a54b33}.live-actions .secondary{font-size:var(--t11);padding:8px 12px}
.chart-hint{font-size:10px;color:#74809a;margin:14px 0 0}.axis{display:block;position:relative;height:20px}.axis span{position:absolute;text-align:center;border-left:1px solid var(--line);white-space:nowrap;overflow:hidden}.timeline-scroll{overflow-y:hidden}.tracks{height:55px}.timeline-row{min-height:62px}.bar.baseline{top:7px;height:6px}.bar.scenario-handle{top:16px;height:22px;min-width:12px;padding:0;border:1px solid #213b67;border-radius:5px;cursor:grab;touch-action:none;z-index:2;color:#d9e5f7;line-height:18px}.bar.scenario-handle:hover{background:#41669e;box-shadow:0 0 0 3px #dce7f6}.bar.scenario-handle:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.bar.scenario-handle.locked{cursor:not-allowed;background:repeating-linear-gradient(135deg,#304d80,#304d80 5px,#395789 5px,#395789 8px)}.bar.scenario-handle.locked .bar-grip{font-size:9px}.bar-grip{font-size:12px;letter-spacing:-2px;pointer-events:none}.bar.runoff{top:43px;height:4px}.lock-mark{font-size:var(--t9)}.scenario-handle.dragging{cursor:grabbing!important;box-shadow:0 0 0 3px #d4ad4e88;z-index:4}.dragging-scenario{user-select:none;cursor:grabbing}.dragging-scenario .tracks{background:var(--panel);background-size:24px 100%}#drag-preview{position:fixed;pointer-events:none;z-index:50;background:#172449;color:white;border:1px solid #d4ad4e;border-radius:var(--radius-sm);padding:9px 13px;font-size:var(--t12);box-shadow:0 5px 20px #13244533;max-width:310px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#live-error{margin-bottom:15px}#historical-banner{margin-bottom:15px}@media(prefers-reduced-motion:no-preference){.meter span{transition:width .18s ease}.bar:not(.dragging){transition:background-color .15s ease}}
.locale-preferences{margin-bottom:26px}.locale-preferences h2{margin-bottom:10px}
.resize-handle{position:absolute;top:15px;transform:translateX(-50%);height:24px;width:16px;padding:0;border:1px solid white;border-radius:var(--radius-xs);background:#27406f;color:white;z-index:3;cursor:ew-resize;touch-action:none;font-size:var(--t13);line-height:22px}.resize-handle:hover,.resize-handle:focus-visible{background:#ad8124;outline:2px solid #d4ad4e}.resize-handle.locked{cursor:not-allowed;background:#465d83;color:#d6dfed}.resize-handle.dragging{cursor:ew-resize!important}
/* EDI factory: shared source, quiet surfaces, fine-grained weekly graphics. */
.factory-chain{display:flex;gap:16px;align-items:center;color:var(--muted);font-size:var(--t11);padding:14px 18px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-control);flex-wrap:wrap}.factory-chain span{display:flex;gap:9px}.factory-chain b{color:var(--ink);font-weight:600}.factory-chain i{font-style:normal;color:#bdc7d7}.factory-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px}.factory-sidebar{display:grid;gap:16px;position:sticky;top:18px}.factory-chart-card{padding:20px}.factory-chart-card select{font-size:11px;padding:7px;width:auto}.factory-chart-card h2{margin-bottom:4px}.factory-legend{margin:20px 0 12px;gap:12px}.factory-legend i{height:8px}.factory-scroll{overflow:auto;max-height:800px;border:1px solid var(--line);border-radius:var(--radius-sm);scrollbar-color:#b3c4d8 #f5f7fb}.factory-canvas{font-size:var(--t10);position:relative}.factory-header{display:flex;position:sticky;top:0;z-index:9;background:var(--ink);color:white;height:48px}.factory-header .factory-label{background:var(--ink);color:white;font-size:var(--t10);align-items:center;display:flex}.factory-label{width:188px;min-width:188px;position:sticky;left:0;z-index:4;background:var(--surface);padding:0 12px;color:var(--ink);display:flex;flex-direction:column;justify-content:center;font-size:var(--t11)}.factory-label small{font-size:var(--t9);display:block;font-weight:400}.factory-row{display:flex;height:34px;position:relative}.factory-row.package-title{height:42px;background:var(--panel-soft);border-top:1px solid var(--line)}.package-title .factory-label{background:var(--surface-soft)}.factory-row.selected .factory-label{border-left:3px solid #2c78a7;padding-left:9px}.factory-row.selected .factory-track{background-color:var(--panel-soft)}.factory-row.package-end{height:36px;border-bottom:1px solid var(--line)}.factory-row.fixed,.factory-row.fixed .factory-label{background:var(--surface-soft)}.factory-track{position:relative;flex-shrink:0;overflow:hidden}.factory-name{padding:0;text-align:left;background:none;color:var(--ink);font-size:var(--t12);line-height:1.25}.factory-name b{display:block}.factory-name:hover{color:#237bae}.stage-label{font-size:var(--t10);color:var(--muted);padding-left:10px}.factory-package-rule{position:absolute;top:20px;left:12px;right:0;border-top:1px solid var(--line)}.factory-row-status{position:absolute;top:11px;left:16px;background:var(--surface-soft);color:var(--muted);font-size:var(--t9);padding-right:10px}.factory-row-status.risk{color:#a55a26}.factory-bar{position:absolute;top:10px;height:18px;padding:0 4px;border-radius:3px;font-size:9px;font-weight:600;text-align:center;overflow:hidden;white-space:nowrap;z-index:2;cursor:grab;touch-action:none;background:#42aed4;color:#102444;border:1px solid #328db5;line-height:16px}.factory-bar span{pointer-events:none}.factory-bar i{font-style:normal;font-size:8px;margin-left:3px}.factory-bar.bsr{background:#4a9e34;border-color:#418a2c;color:white}.factory-bar.workshops{background:#d6a532;border-color:#b78926;color:#25334b}.factory-bar.validation{background:#c7e3eb;border-color:#accfd9;font-weight:500}.factory-bar.locked{cursor:not-allowed}.factory-bar.validation.locked{cursor:help}.factory-bar:focus-visible,.factory-edge:focus-visible{outline:2px solid #e5ae2f;outline-offset:2px}.factory-bar:hover{filter:brightness(1.05);box-shadow:0 0 0 2px #7898c344}.factory-edge{position:absolute;top:8px;width:12px;height:22px;z-index:5;cursor:ew-resize;touch-action:none;border-radius:var(--radius-xs);background:#234765;color:white;font-size:var(--t10);padding:0;opacity:0}.factory-row:hover .factory-edge,.factory-edge:focus{opacity:1}.factory-edge.bsr{background:#307d2c}.factory-edge.workshops{background:#9d731a}.factory-allocation{position:absolute;top:26px;height:3px;background:#176886;border-left:1px solid var(--line);z-index:3;pointer-events:none}.factory-connectors{position:absolute;left:0;top:0;pointer-events:none;overflow:visible;z-index:1}.factory-connectors path{stroke:#357bc5;stroke-width:1;fill:none;stroke-dasharray:3 3}.factory-target{position:absolute;top:12px;height:12px;background:#fff0bd;border:1px dashed #d6a532;border-radius:var(--radius-xs)}.factory-diamond{position:absolute;top:6px;transform:translateX(-5px);font-size:var(--t16);color:#267aa0;white-space:nowrap}.factory-diamond b{font-size:var(--t8);vertical-align:2px;margin-left:3px;font-weight:600}.factory-diamond.risk{color:#b56636}.factory-calendar{flex-shrink:0}.factory-months{height:28px;display:flex}.factory-months span{text-align:center;line-height:28px;font-size:var(--t10);border-left:1px solid var(--line);overflow:hidden;white-space:nowrap}.factory-weeks{height:20px;display:flex;color:#ced7ea}.factory-weeks span{text-align:center;font-size:var(--t8);line-height:20px}.factory-readiness{margin:18px 0 12px;background:var(--panel-soft);border-left:3px solid #3992b3;border-radius:var(--radius-xs);padding:12px 14px}.factory-readiness strong{display:block;font-size:var(--t22);letter-spacing:-.6px}.factory-readiness span{font-size:var(--t10);color:var(--muted)}.factory-readiness.risk{background:#fff7ed;border-color:#c07a3c}.factory-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:2px 0 13px;border-bottom:1px solid var(--line)}.factory-mini b{display:block;font-size:var(--t16)}.factory-mini small{font-size:var(--t9)}.factory-input{margin:13px 0 0}.factory-input input{font-size:var(--t12);padding:8px 9px}.factory-input label{font-size:var(--t10)}.factory-sidebar .grid2{gap:10px}.factory-risk-text{font-size:var(--t10);color:#985a25;margin:12px 0 0}.factory-settings summary,.factory-method summary{cursor:pointer;font-size:var(--t12);font-weight:650}.factory-method p{font-size:var(--t12);margin:16px 0 0}.factory-boundary{font-size:var(--t11)}.factory-boundary p{margin:12px 0 0}.factory-capacity-strip{display:flex;align-items:stretch;height:36px;margin:7px 0}.factory-capacity-week{height:36px;position:relative;flex-shrink:0;padding:0;background:var(--panel-soft);border-right:1px solid white}.factory-capacity-week i{position:absolute;bottom:0;left:0;right:0;background:#54aaca}.factory-capacity-week.over i{background:#c96853}.factory-capacity-week.chosen{outline:2px solid #182e4d;z-index:2}.factory-capacity-week span{position:absolute;top:8px;left:0;right:0;font-size:var(--t9);color:var(--muted)}.capacity-row{height:50px!important;background:var(--surface);border-top:2px solid var(--line);position:sticky;bottom:0;z-index:7}.capacity-row .factory-label{background:var(--surface-soft)}.factory-gauge{height:9px;background:#e4edf5;border-radius:var(--radius-control);overflow:hidden;margin:16px 0 9px}.factory-gauge span{display:block;height:100%;background:#4698bc}.factory-week-person{display:flex;justify-content:space-between;font-size:var(--t11);margin-top:10px}.factory-finance{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0;background:var(--panel-soft);padding:16px;border-radius:var(--radius-sm)}.factory-finance b{display:block;font-size:var(--t22)}.factory-alert{border-top-color:#ca8446}.factory-stats .value{font-size:var(--t24)}#factory-drag-tip{position:fixed;pointer-events:none;z-index:99;background:#172449;color:white;border:1px solid #d4ad4e;border-radius:var(--radius-sm);padding:8px 12px;font-size:var(--t11);max-width:330px}.bar.edi-derived{top:18px;height:18px;border:1px dashed #af612b;background:repeating-linear-gradient(135deg,#f8dfc7,#f8dfc7 4px,#edc499 4px,#edc499 8px);z-index:1}.client-editor .date-pair{grid-template-columns:1fr 1fr}.client-editor .date-pair>div:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line);padding-top:6px}.client-editor .date-pair>div:nth-child(3) b{color:#98622e}
@media(min-width:1600px){.factory-layout{grid-template-columns:minmax(0,1fr) 330px}}@media(max-width:1050px){.factory-layout{grid-template-columns:minmax(0,1fr) 270px;gap:12px}.factory-sidebar .card{padding:15px}.factory-chart-card{padding:15px}}@media(max-width:850px){.factory-layout{display:flex;flex-direction:column}.factory-layout>.result-stack,.factory-sidebar{width:100%}.factory-sidebar{position:static}.factory-chain{gap:8px}.factory-chain i{display:none}}
/* Reuse supplied brand artwork unchanged. The light treatment avoids recolouring logos. */
.topbar-brand{width:174px;height:auto;object-fit:contain}.topbar .crumb{margin-right:auto}.brand-welcome{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);margin-bottom:26px;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;min-height:150px}.brand-welcome h2{font-size:var(--t28);letter-spacing:-.8px;margin:0 0 6px}.brand-welcome p{font-size:var(--t13);margin:0}.brand-welcome .eyebrow{color:#bc2330;margin-bottom:8px}.brand-welcome>img{width:126px;height:110px;object-fit:contain;margin-right:32px}.brand-red-rule{position:absolute;right:0;top:0;bottom:0;width:6px;background:#e7232e}.brand-settings{margin-bottom:22px}.brand-settings form{display:grid;gap:16px}.brand-check{display:flex;align-items:center;gap:6px;white-space:nowrap}.brand-check input{width:16px;height:16px;accent-color:#1f3256}.brand-settings .secondary{justify-self:start}.auth-brand{background:var(--surface);color:var(--ink);justify-content:flex-start;padding:50px 64px;border-right:1px solid var(--line)}.auth-brand:before{content:'';position:absolute;left:0;top:0;bottom:0;width:7px;background:#e51d2c}.ceva-identity{width:330px;max-width:100%;height:auto;object-fit:contain;align-self:flex-start;margin-left:-12px}.auth-brand-copy{margin-top:65px}.auth-brand h1{font-size:var(--t40);margin-top:0;letter-spacing:-2px;line-height:1.06}.auth-brand .eyebrow{color:#b62030}.auth-brand p{color:var(--muted);font-size:var(--t18);max-width:390px}.auth-bird{width:290px;max-width:70%;object-fit:contain;align-self:center;margin:25px 0}.auth-brand-foot{margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;width:100%;border-top:1px solid var(--line);font-size:var(--t9);letter-spacing:1.1px;color:var(--muted)}.auth-panel{background:var(--panel-soft)}.auth-form{background:var(--panel);padding:34px 30px;border-radius:var(--radius-panel);border:1px solid var(--line);max-width:420px}.auth-form .primary{background:#142149}.auth-form h2{font-size:var(--t24);margin-bottom:12px}.auth-form .eyebrow{color:#a82230}@media(max-width:900px){.topbar .badge{display:none}.topbar-brand{width:145px}.auth-brand{padding:36px}.auth-brand-copy{margin-top:35px}.auth-brand h1{font-size:var(--t40)}.auth-panel{padding:25px}.brand-welcome{padding:20px}.brand-welcome>img{margin-right:0}}@media(max-width:700px){.auth-bird{width:150px;margin:15px}.auth-brand-copy{margin-top:15px}.auth-brand-foot{display:none}.brand-welcome h2{font-size:var(--t24)}.brand-welcome>img{width:90px;height:90px}.topbar .crumb{display:none}}
.sidebar .logo{overflow-wrap:anywhere;font-size:var(--t22);line-height:1.3}.sidebar .logo i{width:13px;height:13px;margin-right:10px}.sidebar .nav{margin-top:30px}
.factory-pause-mask{position:absolute;top:11px;height:16px;background:repeating-linear-gradient(135deg,#c9d0d9,#c9d0d9 3px,#eef1f5 3px,#eef1f5 5px);z-index:3;pointer-events:none}.factory-layout .factory-chart-card .flex.between{gap:8px}.factory-months span{font-size:var(--t8)}.factory-weeks{height:13px}.factory-header{height:41px}#factory-stats .stat{padding:13px 17px}#factory-stats .value{font-size:var(--t24);margin:6px 0 2px}.factory-chain{padding:11px 16px}.factory-chain+.stats{margin:16px 0}.factory-chart-card .chart-hint{font-size:10px}
.sidebar-bird{width:90px;height:78px;background:var(--panel);border-radius:var(--radius-control);display:flex;align-items:center;justify-content:center;margin-bottom:14px}.sidebar-bird img{width:78px;height:67px;object-fit:contain}.sidebar .logo{font-size:var(--t24)}.sidebar .eyebrow{line-height:1.6;letter-spacing:1.5px;margin-bottom:0}.sidebar .nav{margin-top:24px}.sidebar-bottom{padding-top:12px}.sidebar-bottom .gap{margin-top:12px}@media(max-height:700px) and (min-width:701px){.sidebar-bird{width:70px;height:58px;margin-bottom:9px}.sidebar-bird img{width:60px;height:50px}.sidebar .nav{margin-top:13px;gap:3px}.nav button{padding-top:9px;padding-bottom:9px}}@media(max-width:700px){.sidebar-bird{float:right;width:65px;height:55px;margin-bottom:0}.sidebar-bird img{width:55px;height:46px}}
.factory-years{height:16px;display:flex;font-size:var(--t9);font-weight:650;line-height:16px}.factory-years span{text-align:center;border-left:1px solid var(--line)}.factory-months{height:21px}.factory-months span{line-height:21px}.factory-header{height:50px}
.topbar{position:sticky;top:0;z-index:12}.factory-sidebar{top:86px}.client-editor{top:86px}@media(max-width:850px){.factory-sidebar{position:static}}@media(max-width:1100px){.client-editor{position:static}}
/* Shared capability markers and reusable chart insights. */
.scope-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.scope-badge{display:inline-block;font-size:var(--t9);line-height:16px;letter-spacing:.15px;font-weight:700;padding:0 5px;border-radius:var(--radius-xs);background:#e6eff9;color:var(--muted);white-space:nowrap}.scope-badge.br2{background:#e6e7f6;color:var(--muted)}.scope-badge.advanced{background:#e4f2ee;color:#277566}.timeline-label .scope-badges{margin-bottom:3px}.timeline-row{min-height:79px}.timeline-head,.timeline-row,.foundation-row{grid-template-columns:172px 1fr}.foundation-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:var(--t11);font-weight:700;padding:13px 0 8px;color:var(--muted)}.foundation-heading span{font-size:var(--t9);font-weight:400;max-width:60%;text-align:right}.foundation-row{display:grid;min-height:32px;align-items:center;background:var(--panel-soft);border-bottom:1px solid var(--line)}.foundation-label{background:none;border:0;text-align:left;padding:4px 8px;font-size:var(--t10);font-weight:600;color:var(--muted);cursor:pointer}.foundation-label:hover{text-decoration:underline}.foundation-track{position:relative;height:30px}.foundation-pin{position:absolute;display:flex;align-items:center;gap:6px;transform:translateX(-7px);background:none;border:0;padding:0;height:28px;color:var(--muted);cursor:pointer;font-size:var(--t10);white-space:nowrap}.foundation-pin i{font-size:var(--t16);color:var(--muted);font-style:normal}.foundation-pin.advanced i{color:#2a8c7b}.foundation-pin:focus-visible{outline:2px solid #dba72d}.foundation-missing{font-size:var(--t10);color:#ad543d}.other-foundations summary{font-size:var(--t10);padding:8px;cursor:pointer;color:var(--muted)}.customers-heading{border-top:1px solid var(--line)}.foundation-control{margin:17px 0;padding:13px;background:var(--panel-soft);border-radius:var(--radius-control);font-size:var(--t11)}.foundation-control.risk{background:#fff6e7}.foundation-control .link-btn{font-size:var(--t10)}.foundation-test-dates{display:flex;justify-content:space-between;padding:12px 0}.gate-check{display:flex;justify-content:space-between;gap:8px;font-size:var(--t10);padding:7px 0;border-top:1px solid var(--line)}.gate-check b{white-space:nowrap}.gate-check.risk{color:#a45c32}.foundation-control>small{display:block;margin-top:10px;font-size:var(--t9);line-height:1.5}.block{display:block}.foundation-warning{font-size:var(--t12);color:#9c5939}.factory-name .scope-badges{margin:4px 0}.factory-row.package-title{min-height:72px}.factory-label .scope-badges{margin:2px 0}.factory-sidebar .scope-badges{margin:12px 0}.constraint-flag{font-size:var(--t9);color:#a2613a;margin:3px 0;display:block}.bar.edi-derived{pointer-events:auto}.timeline-row:has(.foundation-conflict){background:#fff2ed}#chart-insight{position:fixed;z-index:80;width:300px;max-width:calc(100vw - 24px);pointer-events:none;background:var(--popover);border:1px solid var(--line);border-radius:var(--radius-control);padding:15px 17px;box-shadow:0 12px 35px #152b5030;color:var(--ink);font-size:var(--t12)}#chart-insight strong{font-size:var(--t14);display:block;line-height:1.4}#chart-insight .insight-kicker{font-size:var(--t9);font-weight:700;letter-spacing:.8px;color:#628482;margin-bottom:6px}#chart-insight dl{margin:12px 0 0}#chart-insight dl>div{display:flex;justify-content:space-between;gap:14px;margin-top:7px;line-height:1.4}#chart-insight dt{color:var(--muted);font-size:var(--t10);flex-shrink:0}#chart-insight dd{margin:0;text-align:right;font-weight:600;font-size:var(--t11)}#chart-insight p{font-size:var(--t10);line-height:1.5;border-top:1px solid var(--line);padding-top:10px;margin:12px 0 0;color:var(--muted)}
/* Click-to-open navigation, programme cockpit and contextual editing. */
[hidden]{display:none!important}.shell{display:block}.workspace{display:block;min-width:0}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;z-index:70;padding:30px 24px;transform:translateX(-100%);box-shadow:10px 0 45px #14214930;transition:transform .18s ease}.menu-open .sidebar{transform:translateX(0)}.nav-scrim{position:fixed;inset:0;z-index:65;background:#18294a55;backdrop-filter:blur(2px)}.drawer-close{position:absolute;right:13px;top:13px;color:#ccd7ee!important;background:#ffffff14!important}.sidebar .nav{margin-top:25px}.sidebar-bottom{display:block}.topbar{height:70px;position:sticky;top:0;z-index:30;padding:0 25px;gap:20px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:7px;border-radius:var(--radius-control);background:var(--panel-soft);color:var(--muted);flex-shrink:0}.icon-button svg{width:21px;height:21px}.icon-button:hover{background:#e0e8f3}.global-search{display:flex;align-items:center;gap:9px;max-width:360px;min-width:180px;flex:1;margin-left:auto;padding:8px 12px;background:var(--panel-soft);color:var(--muted);border:1px solid var(--line);border-radius:var(--radius-control);text-align:left;font-size:var(--t11)}.global-search svg{width:16px;height:16px}.global-search kbd{margin-left:auto;font-family:inherit;font-size:var(--t10);color:#9aa6ba}.topbar .crumb{min-width:110px}.topbar-brand{margin-right:0}.program-ribbon{position:sticky;top:70px;z-index:20;padding:17px 0 16px;margin:-7px 0 20px;background:#f5f6fafa;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.ribbon-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.ribbon-heading .eyebrow{margin-bottom:5px;font-size:var(--t9);letter-spacing:1.8px}.ribbon-heading h1{font-size:var(--t22);margin:0}.ribbon-actions{display:flex;gap:14px;align-items:center}.ribbon-actions #live-status{font-size:var(--t10)}.ribbon-actions .link-btn{font-size:var(--t10)}.ribbon-explainer{font-size:var(--t11);margin:11px 0 14px;color:var(--muted)}.ribbon-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.ribbon-kpi{display:flex;gap:10px;align-items:flex-start;min-width:0;padding:16px 12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-control);text-align:left;color:var(--ink);box-shadow:0 2px 6px #1a2b4403}.ribbon-kpi:hover{border-color:#8ca3c5;box-shadow:0 4px 12px #243b6410}.kpi-symbol{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;background:var(--panel-soft);border-radius:var(--radius-control);color:var(--muted)}.kpi-symbol svg{width:20px;height:20px}.ribbon-kpi.risk .kpi-symbol{background:#fcf0e4;color:#b7783b}.kpi-copy{display:block;min-width:0}.kpi-copy .kpi-label{display:block;color:var(--muted);font-weight:600;font-size:var(--t10);line-height:1.35;min-height:27px}.kpi-copy strong{display:block;letter-spacing:-1px;font-size:var(--t24);line-height:1.2;margin:6px 0}.kpi-copy small{display:block;font-size:var(--t9);line-height:1.4;color:var(--muted)}.program-ribbon.collapsed{padding:12px 0;margin-bottom:16px}.program-ribbon.collapsed h1{font-size:var(--t16)}.program-ribbon.collapsed .eyebrow{display:none}.program-ribbon.collapsed #ribbon-toggle svg{transform:rotate(180deg)}.main-grid{grid-template-columns:minmax(0,1fr) 325px}.client-editor{position:sticky;top:calc(86px + var(--program-ribbon-height,220px));max-height:calc(100vh - 100px - var(--program-ribbon-height,220px));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:20px}.client-editor h2{margin-bottom:8px}.client-editor .eyebrow{font-size:var(--t9);letter-spacing:1.5px}.client-editor label{margin-top:8px}.customer-select{padding:0;background:none;color:inherit;text-align:left;font-size:var(--t12);font-weight:650;line-height:1.3}.customer-select:hover{text-decoration:underline;color:#335e99}.customer-select.selected{color:#345f9e}.keyboard-inputs{border:1px solid var(--line);border-radius:var(--radius-control);padding:12px;margin-top:16px}.keyboard-inputs>summary{cursor:pointer;color:var(--muted);font-size:var(--t11);font-weight:650}.keyboard-inputs[open]>summary{margin-bottom:12px}.keyboard-inputs .planning-edit-help{margin-bottom:12px}.keyboard-inputs .primary,.keyboard-inputs .secondary{font-size:var(--t11)}#programme-movement,#resource-card,#finance-card{scroll-margin-top:calc(95px + var(--program-ribbon-height,220px))}.setup-heading h1{font-size:var(--t28)}.setup-heading p{font-size:var(--t12)}.setup-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:22px 0}.setup-tabs button{padding:10px 16px;border-radius:var(--radius-sm);font-size:var(--t12);color:var(--muted);background:#eaf0f8}.setup-tabs button.active{color:#fff;background:#243c64}.settings-sections{gap:14px}.field-help{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.field-help.expanded{position:static;clip:auto;width:auto;height:auto;display:block;font-size:var(--t10);color:var(--muted);line-height:1.55;padding:7px 0}.field-help-button{display:inline-flex;vertical-align:middle;width:18px;height:18px;padding:2px;margin:4px 0 1px 4px;color:#91a2bb;background:none}.field-help-button svg{width:14px;height:14px}.field-help-button:hover{color:#315d93}.search-dialog{max-width:740px;padding:24px}.search-modal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.search-modal-heading h2{margin:0}.search-results{max-height:55vh;overflow:auto;margin-top:12px}.search-results>button{position:relative;display:block;width:100%;padding:12px 30px 12px 12px;text-align:left;background:var(--panel);border-bottom:1px solid var(--line);color:var(--ink)}.search-results>button:hover,.search-results>button:focus{background:var(--panel-soft);outline-offset:-2px}.search-kind{display:block;font-size:var(--t9);letter-spacing:.5px;text-transform:uppercase;color:#889ab7;margin-bottom:4px}.search-results b{font-size:var(--t13);display:block}.search-results small{display:block;font-size:var(--t10);line-height:1.45;margin-top:5px}.search-arrow{position:absolute;right:10px;top:34px;color:#678ab3}.search-footnote{font-size:var(--t10);margin:14px 0 0;color:#8c98ae}.search-highlight{outline:3px solid #dba72d!important;outline-offset:4px;box-shadow:0 0 0 7px #dba72d20}.client-editor .flex.gap{flex-wrap:wrap;gap:6px}.client-editor .date-pair{margin:12px 0;gap:8px}.client-editor .date-pair div:last-child{grid-column:1/-1;padding-top:8px;border-top:1px solid var(--line)}.client-editor .foundation-control{margin:12px 0}.ribbon-kpi:focus-visible,.customer-select:focus-visible{outline:2px solid #dba72d;outline-offset:3px}
@media(max-width:1200px){.ribbon-kpis{grid-template-columns:repeat(3,1fr)}.kpi-copy .kpi-label{min-height:0}.ribbon-kpi{padding:10px}.kpi-copy strong{font-size:var(--t22);margin:2px 0}.topbar .badge{display:none}.main-grid{grid-template-columns:minmax(0,1fr) 290px}.ribbon-heading h1{font-size:var(--t20)}}@media(max-width:850px){.program-ribbon{top:60px}.topbar{height:60px;padding:0 15px}.topbar-brand{width:110px}.topbar .crumb{display:none}.global-search{min-width:0}.global-search span{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ribbon-actions #live-status{display:none}.ribbon-kpi{gap:6px}.kpi-symbol{display:none}.main-grid{display:flex;flex-direction:column}.result-stack{width:100%}.client-editor{position:relative;top:auto;max-height:none;width:100%}.sidebar{position:fixed;width:260px}.sidebar .nav{display:flex;flex-direction:column}.ribbon-heading h1{font-size:var(--t18)}.program-ribbon.collapsed h1{font-size:var(--t14)}}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
.factory-row.fixed:has(.scope-badges){height:76px}.factory-row.fixed:has(.scope-badges) .factory-bar{top:28px}.factory-label>b{max-width:100%;line-height:1.3}.factory-label{align-items:flex-start}.factory-header>.factory-label{align-items:center}.factory-row.package-title{height:72px}.factory-row.package-title .factory-track{height:72px}.factory-package-rule{top:36px}.factory-row.package-title .factory-row-status{top:27px}.timeline-row[data-selected="true"]{box-shadow:inset 3px 0 #7398c3;background:var(--panel-soft)}.timeline-row[data-selected="true"] .timeline-label{padding-left:9px}
/* The sticky calendar sits OUTSIDE the horizontal scroller: page scrolling keeps
   dates and gates visible, while the two canvases share exactly the same width. */
.programme-calendar-frame{margin-top:18px;min-width:0;--calendar-width:650px}
.programme-calendar-frame.month-detail{--calendar-width:var(--calendar-detail-width)}
.programme-calendar{position:sticky;top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,220px));z-index:12;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 5px 10px #2035580b}
.calendar-viewport{overflow:hidden}
.calendar-canvas,.programme-calendar-frame .timeline{min-width:var(--calendar-width)}
.calendar-dates,.calendar-foundations{display:grid;grid-template-columns:172px 1fr}
.calendar-caption{position:sticky;left:0;z-index:3;background:var(--surface);padding:6px 9px 6px 0;font-size:var(--t10);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.calendar-caption>strong{color:var(--muted);font-size:var(--t10)}
.calendar-caption .link-btn{padding:3px 0;font-size:var(--t9)}
.calendar-zoom{display:flex;gap:3px;margin-top:6px;background:var(--panel-soft);border-radius:var(--radius-sm);padding:2px}
.calendar-zoom button{font-size:var(--t8);font-weight:650;padding:4px 5px;border-radius:var(--radius-xs);background:none;color:var(--muted);white-space:nowrap}
.calendar-zoom button[aria-pressed=true]{background:var(--panel);color:#2e517c;box-shadow:0 1px 4px #24406718}
.calendar-axis{position:relative;min-width:0}
.calendar-years{position:relative;height:23px;background:var(--panel-soft);border-bottom:1px solid var(--line)}
.calendar-months{position:relative;height:32px;border-bottom:1px solid var(--line);overflow:hidden}
.calendar-year,.calendar-month{position:absolute;height:100%;text-align:center;border-left:1px solid var(--line);overflow:visible;font-size:var(--t9);color:var(--muted)}
.calendar-year{color:var(--muted);line-height:23px;font-size:var(--t10);letter-spacing:.5px}
.calendar-month b{position:absolute;font-size:var(--t9);font-weight:500;left:50%;bottom:7px;transform:translateX(-50%) rotate(-55deg);white-space:nowrap}
.month-detail .calendar-month b{transform:translateX(-50%);bottom:8px}
.calendar-foundations{background:var(--panel-soft)}
.calendar-foundations .calendar-caption{background:var(--surface-soft)}
.calendar-gate-track{position:relative;height:89px;min-width:0;background:var(--panel)}
.calendar-gate-anchor{position:absolute;top:0;bottom:0;--gate-lane:0;color:var(--gate-color);z-index:1}
.calendar-gate-anchor:before{content:'';position:absolute;top:0;bottom:0;border-left:1px solid currentColor;opacity:.18}
.calendar-gate{position:absolute;top:calc(5px + var(--gate-lane)*27px);transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:0;padding:3px;border:1px solid #c4d3e5;background:var(--popover);border-radius:var(--radius-sm);height:24px;min-width:26px;box-shadow:0 2px 4px #2536510c;color:inherit}
.gate-glyph{display:flex;color:var(--gate-color);padding:0 1px}
.gate-glyph svg{width:17px;height:17px}
.calendar-gate:hover,.calendar-gate:focus-visible{outline:2px solid var(--gate-color);outline-offset:2px;z-index:3}
.br1{--gate-color:#4a719f}.br2{--gate-color:#7766ad}.myceva{--gate-color:#32969d}.advanced{--gate-color:#238772}.data{--gate-color:#ba8d35}
.calendar-key{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:6px 0;background:var(--panel);font-size:var(--t8);color:var(--muted)}
.gate-key{display:flex;align-items:center;gap:4px;background:none;padding:0;color:var(--gate-color);font-size:var(--t8);font-weight:650}
.gate-key svg{width:12px;height:12px}.gate-key:hover{text-decoration:underline}.calendar-pan-hint{margin-left:auto;font-size:var(--t8)}
.programme-calendar-frame .timeline-scroll{margin-top:0}
.programme-calendar-frame .timeline{position:relative}
.programme-calendar-frame .timeline-label{position:sticky;left:0;z-index:7;background:var(--surface);padding-top:7px;padding-bottom:7px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.programme-calendar-frame .timeline-label .lock-mark{position:absolute;top:8px;right:7px}
.programme-calendar-frame .timeline-row.changed .timeline-label{background:var(--surface-soft)}
.programme-calendar-frame .timeline-row[data-selected=true] .timeline-label{background:var(--surface-soft);box-shadow:inset 3px 0 #7398c3}
.programme-calendar-frame .timeline-row:has(.foundation-conflict) .timeline-label{background:#fff2ed}
.calendar-guides{position:absolute;top:0;bottom:0;left:172px;right:0;pointer-events:none;z-index:1}
.calendar-guide{position:absolute;top:0;bottom:0;border-left:1px dashed var(--gate-color);opacity:.24;transition:opacity .12s}
.calendar-guide.emphasized{opacity:.8;border-left-style:solid}
.calendar-deliveries{display:grid;gap:5px}.calendar-deliveries>button{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px;text-align:left;background:var(--panel-soft);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--t12)}
.calendar-deliveries small{display:block;margin-top:4px;font-size:var(--t10)}.calendar-deliveries strong{font-size:var(--t11);white-space:nowrap}
.calendar-deliveries>button:hover{background:#e9f0f9}
@media(max-width:850px){.calendar-key{gap:8px}.calendar-pan-hint{width:100%;margin-left:0}}

.calendar-pan-hint{display:flex;align-items:center;gap:5px}.calendar-pan-hint button{padding:0 5px;border-radius:var(--radius-xs);background:var(--panel-soft);color:var(--muted);font-size:var(--t13);line-height:17px}
/* One programme cockpit across Scenario, Factory and Resources. */
.factory-sidebar{top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,220px) + 16px);max-height:calc(100vh - var(--topbar-height,70px) - var(--program-ribbon-height,220px) - 32px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.factory-summary-strip{display:flex;gap:12px;margin:15px 0;flex-wrap:wrap}.factory-summary-strip .stat{flex:1;min-width:140px;display:flex;flex-direction:column;gap:2px;border-top-width:2px}.factory-summary-strip .value{font-size:var(--t20)!important;margin:0!important}.factory-summary-strip label{font-size:var(--t10)}
.factory-scroll{overflow-x:auto;overflow-y:hidden;max-height:none;border-radius:0 0 var(--radius-sm) var(--radius-sm)}.factory-frozen-calendar{position:sticky;top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,220px));z-index:12;background:#142149}.factory-calendar-viewport{overflow:hidden}.factory-frozen-calendar .factory-header{position:relative;top:auto}.factory-sidebar .keyboard-inputs{margin-top:12px}.factory-chart-card{min-width:0}
.resource-pool-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;margin-top:20px}.resource-pool-card{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-control);min-height:122px;padding:13px;text-align:left;color:var(--muted);font-size:var(--t11);position:relative;overflow:hidden}.resource-pool-card.selected{border-color:#577da9;box-shadow:inset 0 0 0 1px #577da9}.resource-pool-card>span:first-child{font-weight:650}.resource-pool-card strong{display:block;font-size:var(--t22);color:var(--ink);margin-top:5px}.resource-pool-card strong small{display:block;font-size:var(--t9);font-weight:400}.resource-pool-card.risk strong{color:#ab613e}.resource-spark{height:25px;display:flex;align-items:flex-end;gap:0;margin-top:11px}.resource-spark i{background:#789cbc;flex:1;min-width:0;opacity:.75}.resource-spark i.over{background:#d68d61}
.resource-chart-key{display:flex;gap:20px;font-size:10px;color:#758ba6;margin:14px 0}.resource-chart-key i{display:inline-block;width:17px;height:4px;margin-right:5px;background:#6e9bbf}.resource-chart-key .capacity{background:#2c927f}.resource-svg-wrap{position:relative;margin:10px 30px 5px 0}.resource-svg{width:100%;height:205px;overflow:visible}.resource-svg text{fill:#8291a9;font-size:var(--t10)}.resource-grid{stroke:#e8edf4;stroke-width:1}.resource-area{fill:#dbe9f5}.resource-demand{fill:none;stroke:#527eac;stroke-width:2}.resource-cap-line{fill:none;stroke:#328e7e;stroke-width:2;stroke-dasharray:7 5}.resource-week-hit{fill:transparent;cursor:pointer}.resource-week-hit:hover,.resource-week-hit.selected{fill:#4b73a32b;stroke:#7498be;stroke-width:1}.resource-week-hit.risk{fill:#d4814824}.resource-week-hit:focus{outline:2px solid #dba72d}.resource-cap-handle{position:absolute;right:-25px;transform:translateY(-50%);padding:4px 7px;border-radius:var(--radius-sm);background:#e5f3ee;color:#227868;border:1px solid #8bbdae;font-size:var(--t10);cursor:ns-resize;touch-action:none;z-index:3}.resource-cap-handle:focus-visible{outline:2px solid #dba72d}
.resource-week-card{padding:15px;background:var(--panel-soft);border-radius:var(--radius-control);margin:15px 0;color:var(--muted);font-size:var(--t11)}.resource-week-card>strong{display:block;font-size:var(--t28);letter-spacing:-.5px;color:var(--ink);margin:5px 0}.resource-week-card>strong span{font-size:var(--t14);color:var(--muted)}.resource-week-card.risk{background:#fff3e7;color:#9b6041}.resource-week-card.risk>strong{color:#a8643f}.resource-contributors{display:grid;gap:0}.resource-contributors>div,.resource-contributors>button{display:flex;justify-content:space-between;align-items:center;text-align:left;gap:14px;font-size:var(--t10);color:var(--muted);padding:8px 0;border-bottom:1px solid var(--line);background:none}.resource-contributors b{font-variant-numeric:tabular-nums}.resource-contributors>button:hover{color:#2e5d90;text-decoration:underline}
.resource-mode{display:flex;align-items:center;gap:8px;font-size:var(--t11);max-width:230px}.resource-mode input{width:16px;height:16px}.resource-comparison{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.resource-comparison>div{padding:13px;background:var(--panel-soft);border-radius:var(--radius-control)}.resource-comparison b{display:block;font-size:var(--t24);color:var(--ink);margin:4px 0}.resource-comparison span{font-size:var(--t9);color:var(--muted)}.resource-comparison small{font-size:var(--t10)}.resource-proposals table{font-size:var(--t11)}
.resource-extra-axis{display:flex;justify-content:space-between;padding-left:175px;font-size:var(--t9);color:var(--muted);margin:20px 0 10px}.resource-extra-row{display:grid;grid-template-columns:175px 1fr;align-items:center;min-height:65px;border-top:1px solid var(--line)}.resource-extra-row>.link-btn{text-align:left;font-size:var(--t11)}.resource-extra-row small{display:block;font-size:var(--t9)}.resource-extra-track{position:relative;height:32px}.resource-extra-bar{position:absolute;top:5px;height:19px;border:1px solid #3d9584;border-radius:4px;background:#a5d5c9;cursor:grab;touch-action:none;min-width:8px}.resource-extra-edge{position:absolute;top:5px;height:19px;padding:0 3px;border-radius:var(--radius-xs);font-size:var(--t11);color:#276451;background:#cae7df;cursor:ew-resize;touch-action:none}.resource-extra-bar:focus-visible,.resource-extra-edge:focus-visible{outline:2px solid #dba72d}
.bar.resource-window{top:36px;height:4px;background:#2e907b}.tracks:has(.resource-window){height:65px}.tracks:has(.resource-window) .runoff{top:52px}.resource-inspector .date-pair{grid-template-columns:1fr 1fr}.resource-inspector .date-pair div:last-child{grid-column:auto;border:0;padding:0}
@media(max-width:850px){.factory-sidebar{top:auto;position:static;max-height:none}.resource-comparison{grid-template-columns:1fr 1fr}.resource-pool-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Page-specific KPI selections remain one responsive, sticky component. */
.ribbon-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.kpi-choice{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);padding:10px 0}.kpi-choice label{display:flex;align-items:center;gap:12px;flex:1;margin:0}.kpi-choice input{width:18px;height:18px;flex:none}.kpi-choice small{display:block;color:var(--muted);font-size:var(--t11);font-weight:400;line-height:1.4;margin-top:4px}.kpi-choice .icon-button{width:30px;height:32px;flex:none}#kpi-options{max-height:52vh;overflow:auto;padding-right:10px}body:has([data-settings-panel]) .setup-heading{display:none}.resource-mode .field-help-button{flex:none}

/* Calculated proposal has its own visible lane; even a one-week gap cannot hide below the resize grip. */
.tracks{height:73px}.bar.edi-derived{top:44px;height:8px;min-width:1px;padding:0;border:1px solid #b16834;cursor:help;z-index:2}.bar.runoff{top:63px}.constraint-marker{position:absolute;top:36px;transform:translateX(-50%);height:24px;min-width:18px;padding:0;background:transparent;border:0;color:#a75f26;z-index:4;font-size:var(--t16);cursor:pointer}.constraint-marker span{position:absolute;left:19px;top:2px;font-size:var(--t9);white-space:nowrap;background:#fff9ef;border-radius:var(--radius-xs);padding:0 3px;color:#97562b;pointer-events:none}.constraint-marker:focus-visible{outline:2px solid #dba72d;outline-offset:3px}.constraint-control{margin:15px 0;padding:14px;border:1px solid #ead3b9;background:#fff8ef;border-radius:var(--radius-control);font-size:var(--t11)}.constraint-control dl{margin:13px 0}.constraint-control dl>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #eddcc7;padding:6px 0}.constraint-control dt{color:#7b6d5f}.constraint-control dd{margin:0;text-align:right;font-weight:600}.constraint-control p{font-size:var(--t10);line-height:1.55;margin:10px 0}.constraint-control .link-btn{font-size:var(--t10)}.constraint-cost{padding-top:10px;border-top:1px solid #eddcc7}.constraint-cost b,.constraint-cost small{display:block}.constraint-cost small{font-size:var(--t9);margin:4px 0}

.constraint-date-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0;padding:14px;background:var(--panel-soft);border-radius:var(--radius-sm)}.constraint-date-pair small,.constraint-date-pair b{display:block}.tracks:has(.resource-window){height:73px}.tracks:has(.resource-window) .runoff{top:63px}

/* Annual transitions stay visible through the full planning body. */
.calendar-year{border-left:2px solid #7186a7;font-weight:750;background:linear-gradient(90deg,#dce5f180,transparent 35px)}
.year-boundary{position:absolute;top:0;bottom:0;border-left:2px solid #7b90b1!important;pointer-events:none;z-index:1;opacity:.72}
.factory-years span{border-left:2px solid #a8bbd9;font-weight:750}
.resource-year-boundary{stroke:#7b90b1;stroke-width:2;opacity:.65;pointer-events:none}

html{scroll-padding-top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,0px) + var(--operation-toolbar-height,0px) + 18px)}

/* White CEVA navigation: persistent active marker and equivalent keyboard focus. */
.sidebar{background:var(--surface);color:var(--ink);border-right:1px solid var(--line);box-shadow:12px 0 36px #17264a12}
.sidebar .logo{color:var(--ink)}.sidebar .eyebrow{color:var(--muted)}
.sidebar .nav button{color:var(--muted);border-left:3px solid transparent;padding-left:9px;transition:background-color .15s,color .15s}
.sidebar .nav button span{color:var(--muted)}.sidebar .nav button.active,.sidebar .nav button:hover,.sidebar .nav button:focus-visible{color:#d71920;background:var(--panel-soft);font-weight:750;border-left-color:#ed1c24}
.sidebar .nav button:is(.active,:hover,:focus-visible) span{color:#d71920}.sidebar .nav button:focus-visible{outline:2px solid #d71920;outline-offset:2px}
.sidebar .drawer-close{color:var(--muted)!important;background:var(--surface-soft)!important}.sidebar .drawer-close:hover{color:#d71920!important;background:var(--surface-soft)!important}
.sidebar-bottom{border-top-color:var(--line);color:var(--muted)}.sidebar-bottom .account-note{color:var(--muted)}.sidebar .avatar{background:var(--panel-soft);color:var(--ink)}.sidebar-bird{border:1px solid var(--line)}.sidebar #logout:hover{color:#d71920}

/* Shared configurable glass surface; text is never masked or blurred. */
.sidebar{isolation:isolate;background:transparent;border:0;box-shadow:none;overflow-x:hidden}
.sidebar::before,.navigation-preview-panel::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--nav-surface,rgba(255,255,255,.97));backdrop-filter:blur(var(--nav-blur,12px));-webkit-backdrop-filter:blur(var(--nav-blur,12px));mask-image:linear-gradient(to right,#000 0,#000 calc(100% - var(--nav-fade,38px)),transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - var(--nav-fade,38px)),transparent 100%)}
.sidebar .logo,.sidebar .eyebrow,.sidebar-bottom,.sidebar-bottom .account-note,.sidebar .nav button,.sidebar .nav button span{color:var(--nav-text,#405679)}
.sidebar .nav button:is(.active,:hover,:focus-visible),.navigation-preview-panel button:is(.active,:hover,:focus-visible){color:var(--nav-accent,#d71920);background:var(--nav-hover,#fff2f3);border-left-color:var(--nav-accent,#d71920);font-weight:var(--nav-hover-weight,750)}
.sidebar .nav button:is(.active,:hover,:focus-visible) span{color:var(--nav-accent,#d71920)}.sidebar .nav button:focus-visible{outline-color:var(--nav-accent,#d71920)}
.navigation-settings{margin:22px 0;padding-top:20px;border-top:1px solid var(--line)}.navigation-settings input[type=color]{width:100%;height:34px;padding:3px}.navigation-settings input[type=range]{padding:0}.navigation-settings output{font-size:var(--t11);color:var(--muted)}.navigation-preview-scene{position:relative;min-height:350px;background:linear-gradient(120deg,#d9e3ed,#f6f2ed);border-radius:var(--radius-panel);overflow:hidden}.navigation-preview-context{padding:32px 20px 0 46%;color:var(--muted);font-weight:700}.navigation-preview-context div{height:40px;border-radius:var(--radius-sm);margin-top:20px;background:#c4d2e0}.navigation-preview-context div:nth-child(2){background:#bfb6aa}.navigation-preview-panel{position:absolute;inset:0 auto 0 0;isolation:isolate;width:240px;padding:28px 24px;display:flex;flex-direction:column;gap:10px;color:var(--nav-text)}.navigation-preview-panel small{color:inherit;margin-bottom:22px}.navigation-preview-panel button{padding:10px;border-left:3px solid transparent;text-align:left;color:var(--nav-text);border-radius:var(--radius-sm);background:transparent}.navigation-preview-panel b{font-size:var(--t20)}

.sidebar .drawer-close{color:var(--nav-text,#405679)!important;background:var(--nav-hover,#fff2f3)!important}.sidebar .drawer-close:hover,.sidebar #logout:hover{color:var(--nav-accent,#d71920)!important}.sidebar .avatar{color:var(--nav-text,#405679);background:var(--nav-hover,#fff2f3)}
@media(prefers-reduced-transparency:reduce){.sidebar::before,.navigation-preview-panel::before{backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Unified Admin navigation and bird blended into the glass surface. */
.sidebar-bird{background:transparent;border:0}.sidebar-bird img{mix-blend-mode:multiply}.nav-admin{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.nav-admin summary{padding:12px 14px;font-weight:700;cursor:pointer;color:var(--nav-text,#405679);font-size:var(--t12)}.nav-admin summary:hover{color:var(--nav-accent,#d71920)}

.sidebar{overflow:hidden;height:100dvh}.sidebar>.sidebar-bird,.sidebar>.logo,.sidebar>.eyebrow,.sidebar>.sidebar-bottom{flex-shrink:0}.sidebar>.nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;overscroll-behavior:contain;padding-right:2px}.sidebar>.sidebar-bottom{margin-top:14px}.nav-admin>button{display:block;width:100%;text-align:left;margin-top:4px}.nav-admin summary:focus-visible{outline:2px solid var(--nav-accent,#d71920);outline-offset:-2px;border-radius:var(--radius-sm)}

/* Shared programme artwork, stored separately from software and business transfers. */
.programme-images{margin:24px 0;padding:20px;background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-panel)}.programme-images h3{margin-top:0}.programme-image{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-control);min-width:0}.programme-image h4{margin:0 0 12px}.programme-image-preview{height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.programme-image-preview img{max-width:100%;max-height:110px;object-fit:contain}.programme-image-drop{display:block;padding:16px;border:1px dashed #a2b6d4;border-radius:var(--radius-control);font-weight:600;margin-bottom:12px}.programme-image-drop.active{background:#edf4ff;border-color:#3664a0}.programme-image-drop input{margin:10px 0;max-width:100%}.programme-image-drop span{display:block;font-size:var(--t12);font-weight:400}.programme-image [role=status]{min-height:2em}.programme-image a{font-size:var(--t12)}.programme-images>p{max-width:900px}


.backlog-budget{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin:20px 0 8px}.backlog-budget>div{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:22px}.backlog-budget strong{display:block;font-size:var(--t32);color:var(--ink);margin:9px 0}.backlog-budget strong span{font-size:var(--t14)}.backlog-budget small{font-size:var(--t12);font-weight:700;color:var(--muted)}.backlog-budget p{font-size:var(--t12);color:var(--muted);margin:4px 0}.backlog-cost-badge{display:inline-flex;flex-wrap:wrap;align-items:center;gap:7px;background:var(--panel-soft);padding:9px 12px;border-radius:var(--radius-control);font-size:var(--t12)}.backlog-cost-badge>span{letter-spacing:2px;color:var(--muted)}.backlog-cost-badge.large>span,.backlog-cost-badge.huge>span{color:#c21b39}.backlog-cost-badge small{flex-basis:100%;color:var(--muted)}.backlog-toolbar{flex-wrap:wrap;gap:12px}.backlog-toolbar select{max-width:270px}.backlog-card>p{white-space:pre-line}.backlog-card details{font-size:var(--t12);line-height:1.5;margin-bottom:15px}.backlog-card .foot{margin-top:15px}@media(max-width:700px){.backlog-budget{grid-template-columns:1fr}.backlog-toolbar select{width:100%;max-width:none}}

/* Developing modules stay grouped under technical administration. */
.nav-progress{margin:8px 4px 0 12px;border-left:2px solid var(--line);padding-left:6px}.nav-progress>button{display:block;width:100%;text-align:left}.nav-progress>summary{padding:10px 12px;font-size:var(--t11)}

/* Consolidated diagnostics: existing Admin IT surface, desktop table. */
.diagnostic-toolbar{margin:18px 0;gap:16px}.diagnostic-toolbar label{display:flex;align-items:center;gap:12px}.diagnostic-toolbar select{min-width:230px}.diagnostic-table{overflow:auto}.diagnostic-table td{vertical-align:middle}.diagnostic-table td small{display:block;margin-top:5px}.diagnostic-status{font-weight:600;color:var(--muted)}.diagnostic-status.passed{color:#087e59}.diagnostic-status.failed,.diagnostic-status.interrupted{color:#bf2347}.diagnostic-status.warning,.diagnostic-status.running{color:#a76600}.diagnostic-progress{margin:16px 0}.diagnostic-progress progress{display:block;accent-color:#087e59;width:100%;height:12px;margin:12px 0}.diagnostic-json{white-space:pre-wrap;max-height:350px;overflow:auto;background:var(--panel-soft);padding:16px;border-radius:var(--radius-control)}.diagnostic-report{width:100%;min-height:300px;font:12px/1.5 monospace}.freshness-notice{margin:12px 0;border-left:3px solid #bc8500}.freshness-notice p{margin:8px 0}

/* Compact downstream project stages: one date scale, no Factory drag handles. */
.factory-delivery-row .factory-track{min-height:44px}
.factory-project-link{border:0;background:none;padding:0;text-align:left;color:var(--ink,#17264d);font-size:var(--t11);font-weight:600;line-height:1.35}
.factory-project-link:hover{text-decoration:underline}
.factory-delivery-segment{position:absolute;border:1px solid color-mix(in srgb,var(--stage-colour) 70%,white);border-radius:var(--radius-xs);padding:0 5px;min-width:3px;background:color-mix(in srgb,var(--stage-colour) 48%,white);color:var(--ink);cursor:pointer;overflow:hidden;white-space:nowrap;font-size:var(--t10);line-height:1.1;z-index:2;box-shadow:inset 0 1px 0 #ffffff70}
.factory-delivery-segment span{display:block;overflow:hidden;text-overflow:ellipsis}
.factory-delivery-segment:hover,.factory-delivery-segment:focus-visible{outline:2px solid #547aa8;outline-offset:1px;filter:brightness(.98);z-index:5}
.factory-delivery-details section{border-top:1px solid var(--line);padding:16px 0;margin-top:12px}
.factory-delivery-details section>.secondary{width:100%;margin-top:12px}
.factory-delivery-details details{margin-top:14px;font-size:var(--t12)}
.factory-delivery-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--panel-soft);border-radius:var(--radius-control);padding:12px}
.factory-delivery-dates small{display:block;font-size:var(--t10);margin-bottom:5px;color:var(--muted)}
.factory-delivery-dates b{font-size:var(--t13)}
.factory-delivery-task{display:block;width:100%;padding:10px 0;text-align:left;font-size:var(--t12);border-bottom:1px solid var(--line)}
.factory-delivery-task small{display:block;margin-top:4px;color:var(--muted)}

.scenario-edi-count{display:inline-flex;align-items:center;gap:3px;font-size:var(--t10);font-weight:600;color:var(--muted);margin:3px 0 2px}.scenario-edi-count svg{width:13px;height:13px}.timeline-label .scenario-edi-count+ .feasibility-badge{margin-left:5px}

/* documentation.css */
body.documentation-page{--ink:#142149;--muted:#607495;--line:#dce4ef;--gold:#dba72d}body.documentation-page *{box-sizing:border-box}body.documentation-page{margin:0;color:var(--ink);background:var(--panel-soft);font:14px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}body.documentation-page a{color:#315f92;text-decoration:none}body.documentation-page button,body.documentation-page input{font:inherit}body.documentation-page button,a.doc-primary{cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);padding:8px 15px;font-weight:600}body.documentation-page a.doc-primary{background:var(--ink);color:white}.doc-toolbar{position:sticky;top:0;height:74px;background:#fffffff5;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:25px;padding:0 32px;z-index:10}.doc-toolbar img{width:180px;height:auto}.doc-back{font-size:var(--t12)}.doc-actions{margin-left:auto;display:flex;gap:9px}.doc-layout{display:grid;grid-template-columns:250px minmax(0,1000px);gap:40px;max-width:1360px;padding:35px 30px;margin:auto}.doc-nav{position:sticky;top:109px;align-self:start;max-height:calc(100vh - 135px);overflow:auto}.doc-eyebrow{font-size:var(--t10);letter-spacing:2px;color:var(--muted);font-weight:700}.doc-nav label{display:block;font-size:var(--t12);margin-top:22px}.doc-nav input{width:100%;padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink)}.doc-nav small{display:block;min-height:24px;color:var(--muted);font-size:var(--t11)}.doc-nav nav{display:flex;flex-direction:column;gap:5px;margin-top:12px}.doc-nav nav a{padding:7px 12px;border-left:2px solid transparent;font-size:var(--t12)}.doc-nav nav a:hover{background:#e6edf7;border-color:var(--gold)}.doc-nav p{font-size:var(--t11);color:var(--muted);margin-top:30px}.doc-content{min-width:0}.doc-cover,.doc-chapter{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:36px 42px;margin-bottom:26px;scroll-margin-top:92px}.doc-cover{border-top:4px solid var(--gold)}body.documentation-page h1{font-size:var(--t32);letter-spacing:-1px;line-height:1.25;margin:15px 0}body.documentation-page h2{font-size:var(--t24);line-height:1.3;margin:12px 0 26px}body.documentation-page h3{font-size:var(--t16);line-height:1.4;margin:29px 0 12px;overflow-wrap:anywhere}.doc-lead{font-size:var(--t18);color:var(--muted)}.doc-meta{font-size:var(--t12);padding:15px 0;border-top:1px solid var(--line)}.doc-notice{font-size:var(--t12);background:var(--panel-soft);padding:14px;border-radius:var(--radius-sm)}.doc-cover small{font-size:var(--t10);color:var(--muted)}body.documentation-page p{margin:12px 0}body.documentation-page li{padding-left:3px;margin:8px 0}body.documentation-page ul,body.documentation-page ol{padding-left:22px}body.documentation-page table{width:100%;border-collapse:collapse;font-size:var(--t12);table-layout:fixed;margin:14px 0 24px}body.documentation-page th{text-align:left;color:white;background:var(--ink);font-weight:600}body.documentation-page td,body.documentation-page th{padding:11px 12px;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid var(--line)}body.documentation-page tbody tr:nth-child(even){background:var(--panel-soft)}.doc-flow{display:flex;gap:6px;flex-wrap:wrap;margin:25px 0}.doc-flow span{flex:1;min-width:110px;background:var(--panel-soft);padding:14px;font-size:var(--t11);border-top:3px solid var(--gold);border-radius:var(--radius-sm)}.doc-search-hit{background:#fff1bd;outline:2px solid #e8c65b;outline-offset:3px}.doc-search-hidden{display:none}#doc-search-status{padding:14px;background:#fff4cf;border-radius:var(--radius-sm)}.doc-picker{width:min(780px,94vw)}.doc-picker-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.doc-picker-options label{display:flex;gap:13px;background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-control);padding:16px;margin:0;cursor:pointer}.doc-picker-options label:has(input:checked){border-color:#7693be;background:#edf3fc}.doc-picker-options input{width:17px;min-width:17px;height:17px;margin:3px 0}.doc-picker-options b{display:block;font-size:var(--t13)}.doc-picker-options small{display:block;font-weight:400;line-height:1.5;margin-top:6px}.doc-picker-options label:has(input:disabled){opacity:.5;cursor:not-allowed}.doc-picker-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:14px;margin:18px 0}.doc-picker .doc-footnote{font-size:var(--t11);line-height:1.6}.doc-picker-options label span{min-width:0}.docs-topbar{display:flex;align-items:center;gap:7px}.docs-topbar svg{width:18px;height:18px}.doc-picker-error{color:#9d3939;background:#fff2f0;padding:10px;white-space:pre-wrap}.doc-picker [hidden]{display:none!important}@media(max-width:900px){.doc-layout{grid-template-columns:1fr;gap:20px}.doc-nav{position:static;max-height:none}.doc-nav nav{flex-direction:row;flex-wrap:wrap}.doc-nav p{display:none}.doc-cover,.doc-chapter{padding:24px}.doc-toolbar{padding:0 15px;gap:10px}.doc-toolbar img{width:120px}.doc-actions{gap:5px}.doc-actions>*{padding:7px;font-size:var(--t11)}.doc-picker-options{grid-template-columns:1fr}.docs-topbar span{display:none}}@media print{@page{size:A4;margin:17mm 14mm}body.documentation-page{background:white;font-size:10pt;color:#142149}.doc-toolbar,.doc-nav,#doc-search-status{display:none}.doc-layout{display:block;max-width:none;padding:0}.doc-cover,.doc-chapter{border:0;border-radius:0;padding:0;margin:0;break-before:page}.doc-cover{break-before:auto}body.documentation-page h1{font-size:26pt}body.documentation-page h2{font-size:21pt}body.documentation-page h3{font-size:12pt;break-after:avoid}body.documentation-page p,body.documentation-page li{orphans:3;widows:3}.doc-search-hidden{display:block}.doc-search-hit{background:none;outline:none}body.documentation-page table{font-size:8pt}body.documentation-page th{print-color-adjust:exact;-webkit-print-color-adjust:exact}body.documentation-page tr{break-inside:avoid}body.documentation-page thead{display:table-header-group}.doc-flow{break-inside:avoid}body.documentation-page a{color:inherit}.doc-notice{print-color-adjust:exact}.doc-meta{font-size:9pt}}

@media(max-width:560px){.doc-toolbar{height:auto;min-height:100px;flex-wrap:wrap;padding:10px 15px}.doc-actions{width:100%;justify-content:flex-end}.doc-toolbar img{margin-left:auto}.doc-layout{padding:22px 15px}.doc-cover,.doc-chapter{scroll-margin-top:120px}.doc-picker .buttons{flex-wrap:wrap}}

/* In-workspace help reads the same manual as the generated guide. */
#dialog:has(.help-article-content){max-width:800px;width:calc(100vw - 40px);color:var(--ink)}
.help-article-content h2{margin:8px 0 0}.help-article-content h3{font-size:var(--t13);margin:20px 0 9px}
.help-summary{color:var(--muted);line-height:1.6}.help-steps{padding-left:24px;line-height:1.6}.help-steps li{padding:0 0 12px 7px}
.help-boundary{background:var(--panel-soft);border-left:3px solid #839abc;border-radius:var(--radius-sm);padding:1px 16px 8px}.help-boundary p{font-size:var(--t13);line-height:1.6}
.help-fields{display:grid;gap:8px}.help-fields button{position:relative;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);text-align:left;color:var(--ink);padding:13px 38px 13px 14px}
.help-fields small{display:block;color:var(--muted);line-height:1.5;margin-top:5px}.help-fields span{position:absolute;right:15px;top:14px}.help-fields button:hover{background:var(--panel-soft)}
.doc-chapter h3[id]{scroll-margin-top:90px}

.doc-figure{margin:20px 0 28px;break-inside:avoid}.doc-diagram{display:block;width:100%;height:auto;font-family:Arial,sans-serif}.doc-figure figcaption{font-size:var(--t13);line-height:1.6;color:var(--muted);border-left:3px solid #d6ac45;padding:9px 14px;background:var(--panel-soft)}.doc-diagram-text{margin-top:8px;font-size:var(--t13)}.doc-diagram-text summary{cursor:pointer;color:#31588a}@media print{.doc-diagram-text{display:none}}

/* date-inputs.css */
input[type=date][aria-invalid=true]{border-color:#bd344a;box-shadow:0 0 0 1px #bd344a}
.date-feedback{display:block;margin:5px 0 8px;color:#b1253d;font-size:var(--t12);font-weight:500;line-height:1.4}
.date-feedback[hidden]{display:none}

/* iphone-access.css */
/* Open on iPhone (8 Nov 2026): shown on computers only; the phone already is the target. */
.iphone-open{display:inline-flex}
@media (pointer:coarse),(max-width:760px){.iphone-open{display:none}}
.iphone-qr{width:min(260px,70vw);aspect-ratio:1;margin:var(--space-field) auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);padding:var(--space-field);display:grid;place-items:center}
.iphone-qr svg{width:100%;height:100%}
.iphone-qr.error{color:var(--danger-ink);font-size:.9rem;text-align:center}
.iphone-url{text-align:center;margin:0 0 var(--space-field)}
.iphone-home{display:flex;gap:var(--space-field);align-items:center;padding:var(--space-field);border-radius:var(--radius-panel);background:var(--surface-soft)}
.iphone-home img{border-radius:var(--radius-panel);flex:none}
.iphone-home p{margin:0;font-size:.9rem}

/* translation-admin.css */
.translations-toolbar{position:sticky;top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,0px));z-index:16;background:var(--paper,#f5f6fa);padding:14px 0;display:flex;align-items:end;gap:12px;border-bottom:1px solid var(--line)}.translations-toolbar label{margin:0;min-width:130px}.translations-toolbar select,.translations-toolbar input{margin:4px 0 0}.translation-search{flex:1;min-width:220px!important}.translation-entries{display:grid;gap:0}.translation-entry{display:grid;grid-template-columns:minmax(180px,1fr) minmax(200px,1.3fr) minmax(200px,1.3fr) 24px;gap:20px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;width:100%;padding:16px 0;text-align:left;color:var(--ink,#142149);font-weight:400;line-height:1.5}.translation-entry:hover,.translation-entry:focus-visible{background:var(--panel-soft)}.translation-entry span{min-width:0;overflow-wrap:anywhere}.translation-entry small{display:block;color:var(--muted);font-size:var(--t11);margin-bottom:4px}.translation-entry code,.translation-full-key{white-space:normal;overflow-wrap:anywhere;font-size:var(--t11)}.translation-source,.translation-preview{white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;background:var(--panel-soft);border-radius:var(--radius-control)}.translation-dialog{max-width:800px;width:calc(100vw - 48px)}.translation-dialog textarea{resize:vertical;min-height:110px}.translation-dialog .buttons{flex-wrap:wrap}@media(max-width:950px){.translations-toolbar{flex-wrap:wrap}.translations-toolbar label{flex:1}.translation-entry{grid-template-columns:1fr 1fr}.translation-entry .translation-identity{grid-column:1/-1}.translation-entry>span:last-child{display:none}}

/* edi-factory-v2.css */
/* EDI Factory v2: the working surface around the real chart and controls. */
.ef{display:flex;flex-direction:column;gap:14px;min-height:0}.ef>.ef-work{flex:1}
.ef-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ef-top h1{margin:0;font-size:var(--t18);letter-spacing:-.01em}
.ef-sp{flex:1}
.ef-i{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block}
.ef-tabs{display:inline-flex;gap:2px;padding:3px;border-radius:var(--radius-control);background:var(--control-fill)}
.ef-tabs button{border:0;background:none;padding:5px 12px;border-radius:var(--radius-sm);font-weight:600;font-size:var(--t12);color:var(--muted);white-space:nowrap;cursor:pointer}
.ef-tabs button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgb(5 16 56 / .12)}
.ef-ib{padding:6px 9px}
.ef-need{display:flex;gap:14px;align-items:stretch;min-width:0;position:relative;z-index:30}
.ef-fbar{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 14px;border-radius:var(--radius-panel);background:var(--panel);border:1px solid var(--line)}
.ef-q{display:inline-flex;align-items:center;gap:6px;padding:0 10px;height:34px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);flex:0 1 285px;min-width:150px}
.ef-q input{border:0;outline:0;background:none;width:100%;min-width:0;color:var(--ink);padding:0}
.ef-fw{position:relative}
.ef-ff{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-weight:600;font-size:var(--t12);color:var(--ink);cursor:pointer}
.ef-ff i{font-style:normal;font-size:var(--t9);color:var(--muted)}
.ef-ff.on{border-color:var(--link);color:var(--link)}
.ef-ff em{font-style:normal;background:var(--link);color:#fff;border-radius:999px;min-width:17px;padding:0 5px;font-size:var(--t11);text-align:center}
.ef-pop{position:absolute;top:calc(100% + 6px);left:0;min-width:240px;max-height:340px;overflow:auto;padding:6px;background:var(--popover,var(--surface));border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:0 18px 40px -18px rgb(5 16 56 / .5);z-index:40;display:grid;gap:1px}
.ef-pop label{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--t13);margin:0}
.ef-pop label:hover{background:var(--panel-soft)}
.ef-pop input{margin:0;width:auto}
.ef-pop span{flex:1;min-width:0;white-space:nowrap}
.ef-pop small{color:var(--muted)}
.ef-pop .off{opacity:.45;cursor:default}
.ef-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 9px;border:0;border-radius:999px;background:var(--control-fill);font-size:var(--t12);font-weight:600;color:var(--ink);cursor:pointer}
.ef-chip i{font-style:normal;color:var(--muted);font-size:var(--t14)}
.ef-n{color:var(--muted);white-space:nowrap}
.ef-kpis{flex:0 0 auto;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(104px,auto);gap:10px}
.ef-kpi{display:grid;align-content:center;padding:10px 14px;border-radius:var(--radius-panel);background:var(--panel);border:1px solid var(--line)}
.ef-kpi b{font-size:var(--t20);letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}
.ef-kpi small{color:var(--muted);white-space:nowrap}
.ef-work{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-rows:minmax(0,1fr);gap:14px;min-height:0}
.ef-work.noside{grid-template-columns:minmax(0,1fr)}
.ef-work.noside>.ef-side{display:none}
.ef-plan{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);overflow:hidden}
.ef-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px}
.ef-lg{position:relative;z-index:9}
.ef-lgp{display:none;position:absolute;left:0;top:calc(100% + 6px);padding:10px 12px;background:var(--popover,var(--surface));border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:0 14px 30px -14px rgb(5 16 56 / .5);white-space:nowrap;flex-direction:column;gap:7px;font-size:var(--t12);color:var(--muted)}
.ef-lgp span{display:flex;align-items:center;gap:6px}
.ef-lgp i{display:inline-block;width:14px;height:7px;border-radius:var(--radius-xs)}
.ef-lg:hover .ef-lgp,.ef-lg:focus-within .ef-lgp{display:flex}
.ef-hz{display:inline-flex;align-items:center;gap:8px;font-size:var(--t12);font-weight:600;color:var(--muted)}
.ef-hz label{display:inline-flex;align-items:center;gap:5px;margin:0}
.ef-hz input{width:auto;padding:3px 5px;font-size:var(--t12)}
.ef-pre{display:inline-flex;gap:1px;padding:2px;border-radius:var(--radius-sm);background:var(--control-fill)}
.ef-pre button{border:0;background:none;padding:3px 7px;border-radius:var(--radius-sm);font-size:var(--t11);font-weight:700;color:var(--muted);cursor:pointer}
.ef-pre button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgb(5 16 56 / .12)}
.ef #factory-board{display:flex;flex-direction:column;flex:1;min-height:0}
.ef .factory-scroll{flex:1;min-height:0;overflow:auto}
.ef .factory-canvas{min-height:100%;display:flex;flex-direction:column}
.ef-dock{position:sticky;bottom:0;margin-top:auto;z-index:6;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -14px 22px -20px rgb(5 16 56 / .35)}
.ef-dt{position:absolute;right:6px;top:6px;width:22px;height:22px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);font-size:var(--t13);line-height:1;padding:0;z-index:30;cursor:pointer}
.ef-dt-top{left:158px;right:auto}
.ef-group{position:sticky;left:0;width:188px;padding:14px 14px 5px;font-size:var(--t10);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.ef-av{display:inline-flex;flex:none;margin-right:7px;vertical-align:middle}
.ef-av img,.ef-av>*{max-width:24px;max-height:24px}
.ef .factory-name{display:inline-flex;align-items:center}
.ef-none{padding:24px 14px;color:var(--muted)}
.ef-strip{display:flex;height:42px}
.ef-sl{box-sizing:border-box;position:sticky;left:0;z-index:3;flex:0 0 188px;width:188px;min-width:0;overflow:hidden;background:var(--surface);padding:0 6px 0 14px;display:grid;align-content:center;line-height:1.25;border-right:1px solid var(--line)}
.ef-sl b{font-size:var(--t12)}.ef-sl em{font-style:normal;font-weight:600;color:var(--muted);margin-left:4px}
.ef-sl small{font-size:var(--t10);color:var(--muted);white-space:nowrap}
.ef-sl strong{color:var(--ink)}
.ef-st{position:relative;flex:none;overflow:hidden}
.ef-h{position:absolute;height:11px;border-radius:var(--radius-xs)}
.ef-wv{position:absolute;top:2px;height:4px;border-radius:var(--radius-xs);background:#c0812f}
.ef-wv.business{background:#7f6bb0}
.ef-side{position:relative;overflow:auto;min-height:0;display:grid;gap:12px;align-content:start;padding-top:4px}
.ef-side>.card{margin:0}
.ef-x{position:absolute;right:8px;top:8px;width:24px;height:24px;border:0;border-radius:var(--radius-sm);background:none;color:var(--muted);font-size:var(--t16);line-height:1;z-index:3;cursor:pointer}
.ef-x:hover{background:var(--control-fill);color:var(--ink)}
@media(max-width:1250px){.ef-need{flex-direction:column}.ef-kpis{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}}
.ef .factory-frozen-calendar.programme-calendar{position:relative!important;top:0!important;margin:0;border-radius:0}
.ef .calendar-key{display:none}
.ef .calendar-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px}
.ef .factory-bar.bsr{background:#a3bcad;border-color:#8ca897}
.ef .factory-bar.workshops{background:#dcc995;border-color:#c9b47a}
.ef .factory-bar.ibm{background:#84b5cf;border-color:#6ea3bf}
.ef .factory-bar.validation{background:#c9d6e6;border-color:#b5c5da}
.ef .factory-allocation{background:#3f7fa3}
.ef-dock .factory-capacity-week i{background:#84b5cf}
.ef-dock .fcw-biz i{background:#a3bcad}
.ef-dock .factory-capacity-week.over i{background:var(--danger,#b4413b)}
.ef-dock .factory-row,.ef-dock .factory-label,.ef-dock .factory-track{background:var(--surface)}
.ef-tabs.is-trial{border:0;margin:0;box-shadow:none;position:static;width:auto}
body:has(#is-panel) .ef-work{grid-template-columns:minmax(0,1fr)}body:has(#is-panel) .ef-side{display:none}
.ef-modes{margin-right:2px}.ef-modes button{padding:3px 9px}
.factory-row.ef-sub{height:26px;min-height:26px}.ef-sub .factory-track{height:26px}.ef-sub .factory-label{flex-direction:row;align-items:center;justify-content:space-between;gap:6px;padding-left:26px}.ef-sn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--t12);font-weight:500}.ef-sub em{font-style:normal;font-size:var(--t11);color:var(--muted);white-space:nowrap}
.ef-sb{position:absolute;top:8px;height:10px;border-radius:var(--radius-xs);display:flex;gap:1px;overflow:hidden}.ef-sb i{display:block;height:100%}.ef-tbd{border:1px dashed #5a97b8;background:repeating-linear-gradient(135deg,#84b5cf55 0 3px,transparent 3px 7px)}
/* Third lot: trial bar, impact of the trial, block moved alone. */
.ef-trial{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 14px;border-radius:var(--radius-panel);background:var(--panel);border:1px solid var(--link);font-size:var(--t12)}
.ef-trial b{color:var(--link)}
.ef-imp{display:grid;gap:4px;margin-bottom:12px}
.ef-imp h3{margin:0 0 2px;font-size:var(--t12)}
.ef-ir{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);text-align:left;cursor:pointer}
.ef-ir small{display:block;color:var(--muted);font-size:var(--t11)}
.ef-ir em{font-style:normal;font-weight:700;font-size:var(--t12);white-space:nowrap}
.ef-ir em.bad{color:var(--danger-ink)}
.ef-ir em.good{color:var(--link)}
.ef .factory-bar.ef-part{outline:2px solid var(--link);outline-offset:1px;z-index:3}
/* Fourth lot: Finance tab. */
.ef-finmode #ef-kpis,.ef-finmode>.ef-trial,.ef-finmode>.ef-work{display:none!important}
.ef-fin{display:grid;gap:12px}
.ef-fk{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.ef-fg{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}
.ef-fmain{display:grid;gap:12px;min-width:0}
.ef-fc{padding:14px;border-radius:var(--radius-panel);background:var(--panel);border:1px solid var(--line);display:grid;gap:6px;min-width:0}
.ef-fh{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ef-fh h3,.ef-fd h3{margin:0;font-size:var(--t14)}
.ef-fd h4{margin:10px 0 2px;font-size:var(--t12);color:var(--muted)}
.ef-lgd{display:flex;gap:10px;flex-wrap:wrap;font-size:var(--t11);color:var(--muted)}
.ef-lgd i{display:inline-block;width:9px;height:9px;border-radius:var(--radius-xs);margin-right:4px;vertical-align:-1px}
.ef-fr{display:grid;grid-template-columns:200px minmax(0,1fr) 90px;align-items:center;gap:10px;width:100%;padding:6px 8px;border:1px solid transparent;border-radius:var(--radius-sm);background:none;text-align:left;cursor:pointer}
.ef-fr:hover,.ef-fr.on{background:var(--surface);border-color:var(--line)}
.ef-fn{display:flex;align-items:center;gap:8px;min-width:0}.ef-fn b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t12)}
.ef-fb{display:flex;height:12px;border-radius:var(--radius-xs);overflow:hidden;background:var(--control-fill);gap:2px}
.ef-fa{text-align:right;font-size:var(--t12)}
.ef-ft{width:100%;font-size:var(--t12)}.ef-ft tr[data-ef-fin]{cursor:pointer}.ef-ft tr.on td{background:var(--surface)}
.ef-rs{font-style:normal;font-size:var(--t10);font-weight:700;color:var(--link);margin-left:4px}
.ef-mo{display:flex;align-items:flex-end;gap:2px;overflow-x:auto}
.ef-mc{flex:1 0 12px;display:flex;flex-direction:column;align-items:center;gap:4px}
.ef-ms{display:flex;flex-direction:column-reverse;justify-content:flex-start;width:100%;gap:1px}
.ef-ms i{display:block;width:100%;border-radius:var(--radius-xs)}
.ef-mc small{font-size:var(--t9);color:var(--muted);height:12px}
.ef-fd{position:sticky;top:12px;padding:14px;border-radius:var(--radius-panel);background:var(--panel);border:1px solid var(--line);display:grid;gap:4px}
.ef-big{margin:2px 0 6px;font-size:var(--t22);font-weight:700}
.ef-fl{display:flex;justify-content:space-between;gap:10px;margin:0;padding:3px 0;font-size:var(--t12);border:0;background:none;width:100%;text-align:left}
.ef-fl.muted{color:var(--muted)}.ef-fl small{color:var(--muted)}
.ef-link{cursor:pointer;color:var(--link)}
/* Fifth lot: a broken customer commitment. */
.ef-brk{display:inline-flex;align-items:center;gap:4px;font-style:normal;font-weight:700;color:var(--danger-ink)}
.ef-trial .ef-brk{padding:3px 9px;border-radius:999px;background:var(--danger-fill);font-size:var(--t12)}
.ef-ir small.ef-brk{display:flex}

/* factory-capacity.css */
.factory-row.fc-row,.factory-row.fc-summary{min-height:66px;height:66px;background:var(--panel-soft)}.factory-row.fc-row .factory-track,.factory-row.fc-summary .factory-track{height:66px}.fc-label{text-align:left;max-width:100%;white-space:normal}.fc-label small{display:block;max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-period{position:absolute;top:8px;height:48px;border:1px solid #dba72d;border-radius:var(--radius-sm);background:#fff0c9;color:#72521a;overflow:hidden;padding:4px 8px;white-space:nowrap;text-align:center;cursor:pointer;z-index:3;min-width:0}.fc-period b,.fc-period small{display:block;overflow:hidden;text-overflow:ellipsis}.fc-period b{font-size:var(--t12)}.fc-period small{font-size:var(--t10)}.fc-period.selected,.fc-period:hover,.fc-period:focus-visible{outline:2px solid #385b8e;outline-offset:-2px}.fc-totals{position:sticky;left:195px;display:flex;gap:8px 20px;align-content:center;align-items:center;flex-wrap:wrap;width:max-content;max-width:750px;height:66px;padding:8px 14px;font-size:var(--t12)}.fc-totals small{width:100%;font-size:var(--t10);color:var(--muted)}.fc-empty,.fc-outside{display:block;padding:20px 14px;font-size:var(--t11)}.fc-detail-host:empty{display:none}.factory-sidebar:has(.fc-detail) .fc-detail-host ~ *{display:none}.fc-detail h2{font-size:var(--t22)}.fc-price{padding:16px;background:#fff4d9;border:1px solid #eed5a0;border-radius:var(--radius-control);display:grid;gap:7px}.fc-price strong{font-size:var(--t24)}.fc-year{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;padding:12px 0;border-bottom:1px solid var(--line);font-size:var(--t11)}.fc-actions{display:grid;gap:8px;margin-top:22px}.fc-week{background:#fff7e4;padding:12px;margin:12px 0;display:grid;gap:7px}.fc-week .link-btn{text-align:left}.fc-week small{font-size:var(--t10)}.fc-dialog{width:min(820px,94vw);max-height:90vh;overflow:auto}.fc-dialog label{display:grid;gap:7px;margin:12px 0}.fc-dialog .sp-confirm{display:flex}.fc-dialog table{width:100%}.fc-dialog td,.fc-dialog th{text-align:left;padding:12px 6px;border-bottom:1px solid var(--line)}.fc-footer{position:sticky;bottom:-24px;background:var(--surface);padding:16px 0;margin-top:20px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;align-items:center;z-index:5}.fc-footer>span{margin-right:auto;font-size:var(--t11);color:var(--muted)}

.fc-finance-group th{background:var(--panel-soft);color:var(--ink);text-align:left;padding:12px 10px;border-top:1px solid var(--line);font-size:var(--t12)}

/* factory-waves.css */
/* EDI Factory · Additional capacity waves */
.fcw-row .factory-track{height:66px}
.fcw-bar{position:absolute;bottom:6px;border:1px solid #dba72d;border-radius:6px 6px 4px 4px;background:#fff0c9;color:#72521a;overflow:visible;padding:2px 8px;white-space:nowrap;z-index:3;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;min-width:6px;touch-action:none}
.fcw-bar b,.fcw-bar small{display:block;overflow:hidden;text-overflow:ellipsis}
.fcw-bar b{font-size:12px;line-height:1.1}
.fcw-bar small{font-size:10px;line-height:1.2}
.fcw-bar.editable{cursor:grab}
.fcw-bar.dragging{cursor:grabbing;box-shadow:0 4px 14px rgba(40,60,100,.25);z-index:6}
.fcw-bar.selected,.fcw-bar:focus-visible{outline:2px solid #385b8e;outline-offset:1px}
.fcw-bar.new{background:#e7f4ea;border-color:#3f8a55;color:#1f5a32}
.fcw-bar.changed{background:#fde7c4;border-color:#c07a12;border-style:dashed}
/* Same handles as the Factory bars (↔ edges) and Assignment & workload (top level line). */
.fcw-bar i{position:absolute;display:block;font-style:normal}
.fcw-left,.fcw-right{top:50%;transform:translateY(-50%);width:12px;height:22px;border-radius:var(--radius-xs);background:#9d731a;color:white;font-size:var(--t10);line-height:22px;text-align:center;cursor:ew-resize;opacity:0;z-index:5}
.fcw-left{left:-6px}.fcw-right{right:-6px}
.fcw-top{left:20%;width:60%;top:-4px;height:8px;cursor:ns-resize;z-index:5}
.fcw-top:after{content:'';display:block;border-top:2px solid #7d9ab5;width:18px;margin:3px auto 0}
.fcw-bar.editable:hover .fcw-left,.fcw-bar.editable:hover .fcw-right,.fcw-bar.selected .fcw-left,.fcw-bar.selected .fcw-right,.fcw-bar:focus-visible .fcw-left,.fcw-bar:focus-visible .fcw-right{opacity:1}
.fcw-bar.editable:hover .fcw-top{background:#557da129;border-radius:4px}
#fcw-tip{position:fixed;z-index:1000;background:#192551;color:white;padding:6px 10px;border-radius:var(--radius-sm);font-size:var(--t12);pointer-events:none;white-space:nowrap}
.fcw-list{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.fcw-wave{display:grid;grid-template-columns:1fr auto;gap:2px 10px;text-align:left;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);cursor:pointer}
.fcw-wave.selected{border-color:#385b8e;box-shadow:inset 3px 0 0 #385b8e}
.fcw-wave span{grid-column:1/-1;font-size:var(--t12);color:var(--muted)}
.fcw-wave small{font-size:var(--t11);color:#6b5320}
.fcw-wave em{grid-column:2;grid-row:1;font-style:normal;font-size:var(--t10);text-transform:uppercase;color:#c07a12}
.fcw-add-wide{width:100%;margin-bottom:10px}
.fcw-unpriced{color:#a3322a!important;font-weight:600}
.fcw-form{border-top:1px solid var(--line);padding-top:10px}
.fcw-form h3{margin:0 0 8px}
.fcw-actions{display:flex;gap:8px;margin-top:8px}
.fcw-actions .danger{color:#a3322a}
.fcw-footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.fcw-footer span{flex:1 1 100%;font-size:var(--t12);color:#6b5320}
.fcw-total{margin:10px 0 0}
.fcw-lanes .factory-label{display:flex;flex-direction:column;gap:6px;justify-content:center}
.fcw-chips{display:flex;flex-wrap:wrap;gap:4px}
.fcw-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:var(--radius-control);background:#f3ecd9;color:#5d4716;font-size:var(--t11);font-weight:600}
.fcw-chip i{font-style:normal;font-size:var(--t10);opacity:.8}
.fcw-chip.warn{background:#f8dedb;color:#a3322a}
.fcw-lanes .fcw-banner{position:absolute;top:0;left:0;right:auto;height:28px;z-index:4;border-radius:0 0 var(--radius-sm) 0}
.fcw-outside{position:absolute;left:8px}
.fcw-bar.unpriced{border-color:#a3322a}
.fcw-lanes .fcw-banner{gap:10px;padding:0 10px;font-size:var(--t11);background:#fff1cf;border-left:3px solid #c07a12}
.fcw-lanes .fcw-banner span{flex:0 1 auto}
.fcw-lanes .fcw-banner button{min-height:22px;padding:2px 10px;font-size:var(--t11)}
.fcw-derived{display:block;margin-top:3px;font-size:var(--t11);color:#6b5320;font-weight:400}
.fcw-year{display:flex;justify-content:space-between;gap:8px;margin:4px 0;font-size:var(--t12)}

.fcw-biz{position:relative}.fcw-biz u{position:absolute;left:1px;right:1px;bottom:0;background:var(--control-line);text-decoration:none}.fcw-biz.extra u{background:#efd98f}.fcw-biz i{position:absolute;left:1px;right:1px;bottom:0;z-index:1}
.fcw-breaks{border-color:var(--danger-ink);color:var(--danger-ink)}.fcw-breaks p{margin:2px 0 0}
.fc-dialog label.checkbox{display:flex;align-items:center;justify-content:flex-start;gap:8px;text-align:left}.fc-dialog label.checkbox input{width:auto;flex:0 0 auto;margin:0}

/* edi-factory-v3.css */
/* EDI Factory: the validated mockup (work/edi-factory-mockup-20261110), scoped under #efx. */
#efx{--ink:#18234e;--muted:#61759a;--faint:#8c9bb8;--line:#18234e17;--line2:#18234e2b;--bg:#eef1fa;--surface:#ffffffd9;--solid:#fbfcff;--soft:#f3f6fc;--link:#315e97;--gold:#d5a51e;--bsr:#a3bcad;--ws:#dcc995;--ibm:#84b5cf;--done:#4f8aa8;--bad:#b4413b;--badfill:#fdeeec;--good:#3f8560;--goodfill:#e8f4ed;--warn:#946f10;--warnfill:#fbf3dc;--r:14px;--rc:9px;--rs:6px;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--row:44px;--wk:15px;--lab:248px}
#efx *{box-sizing:border-box}
#efx{margin:0;font:13px/1.4 var(--sans);color:var(--ink);background:radial-gradient(1000px 620px at 8% -14%,#e2e9fb 0,transparent 68%),radial-gradient(900px 640px at 104% -6%,#efeaf7 0,transparent 62%),radial-gradient(900px 560px at 62% 116%,#f7f1e2 0,transparent 68%),var(--bg);background-attachment:fixed}
#efx button,#efx input,#efx select{font:inherit;color:inherit}
#efx button{cursor:pointer}
#efx :focus-visible{outline:2px solid var(--link);outline-offset:1px}
#efx svg{display:block}
#efx .i{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
#efx .app{zoom:.9;display:grid;grid-template-rows:auto auto 1fr;height:100%;padding-block:22px;padding-left:max(28px,env(safe-area-inset-left,0px));padding-right:max(28px,env(safe-area-inset-right,0px));gap:18px;min-height:0}
#efx .top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
#efx .top h1{margin:0;font-size:var(--t20);font-weight:700;letter-spacing:-.01em}
#efx .crumb{font-size:var(--t12);color:var(--muted)}
#efx .seg{display:inline-flex;gap:2px;padding:3px;border-radius:var(--rc);background:#18234e0d}
#efx .seg button{border:0;background:none;padding:5px 12px;border-radius:var(--rs);font-weight:600;font-size:var(--t13);color:var(--muted);white-space:nowrap}
#efx .seg button.on{background:var(--solid);color:var(--ink);box-shadow:0 1px 2px #18234e22}
#efx .sp{flex:1}
#efx .btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);background:#ffffffb0;border-radius:var(--rc);padding:6px 11px;font-weight:600;font-size:var(--t13);white-space:nowrap}
#efx .btn:hover{background:var(--solid)}
#efx .btn.pri{background:var(--ink);border-color:var(--ink);color:#fff}
#efx .btn.pri:hover{background:#26336a}
#efx .btn:disabled{opacity:.45;cursor:default}
#efx .link{border:0;background:none;padding:0;color:var(--link);font-weight:600}
#efx .need{display:flex;gap:14px;align-items:stretch;min-width:0}
#efx .need .alerts{align-items:stretch}
#efx .alerts{display:flex;gap:12px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
#efx .alert{flex:0 0 auto;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid #ffffffb8;border-radius:var(--r);padding:13px 16px 13px 13px;background:var(--surface);backdrop-filter:blur(14px);max-width:320px;box-shadow:0 10px 26px -18px #18234e4d}
#efx .alert .badge{flex:none;min-width:40px;height:40px;padding:0 7px;border-radius:var(--radius-control);display:grid;place-items:center;font-weight:800;font-size:var(--t13);letter-spacing:-.02em}
#efx .alert.bad .badge{background:var(--badfill);color:var(--bad)}
#efx .alert.warn .badge{background:var(--warnfill);color:var(--warn)}
#efx .alert.good .badge{background:var(--goodfill);color:var(--good)}
#efx .alert b{display:block;font-size:var(--t13)}
#efx .alert small{display:block;font-size:var(--t12);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}
#efx .alert .dot{width:9px;height:9px;border-radius:50%;flex:none}
#efx .alert.bad .dot{background:var(--bad)}
#efx .alert.warn .dot{background:var(--gold)}
#efx .alert.good .dot{background:var(--good)}
#efx .alert:hover{background:var(--solid)}
#efx .kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;flex:0 0 680px}
#efx .kpi{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:var(--r);background:var(--surface);backdrop-filter:blur(14px);border:1px solid #ffffffb8;box-shadow:0 10px 26px -18px #18234e4d;min-width:0}
#efx .kpi b{display:block;font-size:var(--t20);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.05}
#efx .kpi small{display:block;font-size:var(--t12);color:var(--muted);white-space:nowrap}
#efx .nums{display:flex;gap:18px;padding:8px 14px;border-radius:var(--r);background:var(--surface)}
#efx .nums div{display:grid}
#efx .nums b{font-size:var(--t16);font-variant-numeric:tabular-nums}
#efx .nums small{font-size:var(--t12);color:var(--muted);white-space:nowrap}
#efx .work{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-rows:minmax(0,1fr);gap:18px;min-height:0}
#efx .panel{background:var(--surface);backdrop-filter:blur(14px) saturate(1.2);border-radius:var(--r);min-height:0;min-width:0;box-shadow:0 1px 1px #18234e0a,0 14px 34px -18px #18234e3d;border:1px solid #ffffffb8}
#efx .plan{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
#efx .bar{display:flex;align-items:center;gap:14px;padding:16px 18px;flex-wrap:wrap}
#efx .legend{display:flex;gap:12px;color:var(--muted);font-size:var(--t12)}
#efx .legend i{display:inline-block;width:14px;height:7px;border-radius:var(--radius-xs);margin-right:4px}
#efx .zoom{display:inline-flex;gap:2px}
#efx .zoom button{width:27px;height:27px;border:1px solid var(--line2);background:#ffffffb0;border-radius:var(--rs);font-weight:700}
#efx .scroll{overflow:auto;min-height:0;position:relative}
#efx .grid{position:relative;min-width:max-content}
#efx .axis{display:flex;position:sticky;top:0;z-index:5;background:var(--solid);border-block:1px solid var(--line);height:32px}
#efx .axis .corner{position:sticky;left:0;z-index:6;flex:0 0 var(--lab);background:var(--solid);display:flex;align-items:center;padding:0 18px;font-size:var(--t12);color:var(--muted);font-weight:600}
#efx .months{position:relative}
#efx .months span{position:absolute;top:8px;font-size:var(--t12);color:var(--muted);padding-left:4px;border-left:1px solid var(--line2);height:24px}
#efx .group{position:sticky;left:0;width:var(--lab);padding:18px 18px 7px;font-size:var(--t12);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
#efx .row{display:flex;height:var(--row);align-items:stretch}
#efx .row:hover .lab,#efx .row.sel .lab{background:var(--soft)}
#efx .row.sel .track{background:#315e970b}
#efx .lab{position:sticky;left:0;z-index:3;flex:0 0 var(--lab);background:var(--solid);display:flex;align-items:center;gap:10px;padding:0 8px 0 18px;border:0;text-align:left;min-width:0;border-bottom:1px solid var(--line)}
#efx .lab .t{min-width:0;flex:1}
#efx .lab b{display:block;font-size:var(--t13);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#efx .lab small{display:flex;gap:7px;font-size:var(--t12);color:var(--muted);align-items:center}
#efx .lab small span{display:inline-flex;align-items:center;gap:3px}
#efx .lab small .i{width:11px;height:11px}
#efx .move{display:grid;gap:1px;flex:none;opacity:0}
#efx .row:hover .move,#efx .row.sel .move{opacity:1}
#efx .move button{border:0;background:none;padding:0;width:16px;height:13px;color:var(--muted);font-size:var(--t9);line-height:1}
#efx .move button:hover{color:var(--ink)}
#efx .track{position:relative;border-bottom:1px solid var(--line);flex:none}
#efx .gl{position:absolute;top:0;bottom:0;width:1px;background:var(--line)}
#efx .gl.y{background:var(--line2)}
#efx .today{position:absolute;top:0;bottom:0;width:2px;background:var(--bad);opacity:.55;z-index:2}
#efx .pause{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,#18234e0c 0 3px,transparent 3px 7px)}
#efx .win{position:absolute;top:8px;bottom:8px;background:#f4d98a33;border-radius:var(--radius-xs);border:1px dashed #d5a51e66}
#efx .pk{position:absolute;top:15px;height:14px;display:flex;border-radius:var(--radius-xs);overflow:visible;cursor:grab;touch-action:none}
#efx .pk.locked{cursor:default}
#efx .pk s.on{outline:2px solid var(--ink);z-index:2;cursor:move}
#efx .row.sel .pk.haspart{box-shadow:none}
#efx .pk s:not(.wait):not(.on):hover{filter:brightness(.95)}
#efx .pk s .e{position:absolute;right:-5px;top:-4px;bottom:-4px;width:10px;cursor:ew-resize}
#efx .pk s .e::after{content:"";position:absolute;left:4px;top:3px;bottom:3px;width:2px;border-radius:1px;background:var(--ink)}
#efx .pk:active{cursor:grabbing}
#efx .pk s{display:block;height:100%;text-decoration:none;position:relative;background-image:repeating-linear-gradient(90deg,transparent 0 calc(var(--wk) - 1px),#ffffff8c calc(var(--wk) - 1px) var(--wk))}
#efx .pk s:first-child{border-radius:var(--radius-xs) 0 0 var(--radius-xs)}
#efx .pk s:last-of-type{border-radius:0 var(--radius-xs) var(--radius-xs) 0}
#efx .pk .b{background-color:#a3bcad;background-image:repeating-linear-gradient(90deg,transparent 0 calc(var(--wk) - 1px),#ffffff8c calc(var(--wk) - 1px) var(--wk)),linear-gradient(180deg,#b3cabc,#9cb8a7)}
#efx .pk .w{background-color:#dcc995;background-image:repeating-linear-gradient(90deg,transparent 0 calc(var(--wk) - 1px),#ffffff8c calc(var(--wk) - 1px) var(--wk)),linear-gradient(180deg,#e7d9ae,#d9c690)}
#efx .pk .d{background-color:#84b5cf;background-image:repeating-linear-gradient(90deg,transparent 0 calc(var(--wk) - 1px),#ffffff8c calc(var(--wk) - 1px) var(--wk)),linear-gradient(180deg,#9ac5da,#7cafc9)}
#efx .pk .d i{position:absolute;left:0;top:0;bottom:0;background:var(--done);border-radius:0}
#efx .pk .h{position:absolute;right:-4px;top:-2px;bottom:-2px;width:9px;cursor:ew-resize}
#efx .pk .h::after{content:"";position:absolute;right:3px;top:4px;bottom:4px;width:2px;border-radius:1px;background:#18234e88}
#efx .pk.locked s{opacity:.72}
#efx .row.sel .pk{box-shadow:0 0 0 2px var(--ink)}
#efx .lock{position:absolute;left:3px;top:0;color:#fff}
#efx .lock .i{width:11px;height:11px}
#efx .link-l{position:absolute;top:22px;height:1px;background:var(--line2)}
#efx .dia{position:absolute;top:14px;width:10px;height:10px;transform:rotate(45deg);background:var(--ink);border-radius:var(--radius-xs);z-index:1}
#efx .dia.late{background:var(--bad)}
#efx .target{position:absolute;top:9px;bottom:9px;width:0;border-left:2px dashed var(--gold)}
#efx .lbl{position:absolute;top:11px;font-size:var(--t12);color:var(--muted);white-space:nowrap}
#efx .lbl.late{color:var(--bad);font-weight:700}
#efx .dock{border-top:1px solid var(--line2);background:var(--solid);overflow:hidden;box-shadow:0 -14px 22px -20px #18234e55}
#efx .docksep{height:7px;background:linear-gradient(180deg,#18234e0a,#18234e03);border-block:1px solid var(--line)}
#efx .dock .month,#efx .dock .gl,#efx .dock .today,#efx .dock .pause{pointer-events:none}
#efx .dock .today{opacity:.45}
#efx .dock .lab{position:sticky;padding-left:22px}
#efx .rail{position:absolute;left:8px;top:12px;bottom:12px;width:3px;border-radius:var(--radius-xs)}
#efx .rail.i1{background:#5a97b8}
#efx .rail.i2{background:#a9cbde}
#efx .rail.b1{background:#7fa58f}
#efx .rail.b2{background:#bdd3c5}
#efx .dock .lab small{white-space:nowrap}
#efx .dock small.lg{gap:5px;margin-top:3px;font-size:var(--t11);color:var(--faint)}
#efx .lg .ln{width:12px;height:0;border-top:2px solid #2b5f86}
#efx .lg .fr{width:10px;height:9px;border-radius:var(--radius-xs);background:#84b5cf40;margin-left:6px}
#efx .stack{left:2px;right:2px;border-radius:var(--radius-xs) var(--radius-xs) 0 0}
#efx .stack b{background-image:linear-gradient(180deg,#ffffff38,#ffffff00)}
#efx .base span{background:#ffffff99;border-radius:0 0 var(--radius-sm) 0;padding:2px 9px}
#efx .cap{display:flex;height:88px;align-items:stretch}
#efx .cap.small{height:60px}
#efx .cap .lab{cursor:default;border-bottom:1px solid var(--line)}
#efx .cells{position:relative;flex:none;border-bottom:1px solid var(--line)}
#efx .cell{position:absolute;bottom:0;top:0;border:0;background:none;padding:0}
#efx .cell:hover{background:#18234e0a}
#efx .cell.sel{background:#315e971f}
#efx .cell u{position:absolute;bottom:0;left:1px;right:1px;background:#18234e12;border-radius:var(--radius-xs) var(--radius-xs) 0 0}
#efx .cell i{position:absolute;bottom:0;left:1px;right:1px;background:var(--ibm);border-radius:var(--radius-xs) var(--radius-xs) 0 0}
#efx .cell.biz i{background:var(--bsr)}
#efx .cell.over i{background:var(--bad)}
#efx .lanebg{cursor:crosshair;background:repeating-linear-gradient(90deg,transparent 0 calc(var(--wk) - 1px),#18234e06 calc(var(--wk) - 1px) var(--wk))}
#efx .wv{position:absolute;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:linear-gradient(180deg,#bcd7e7,#d2e4ee);border:1px solid #8fb7cf;border-bottom:0;color:#234f70;box-shadow:inset 0 1px 0 #ffffff8c,0 -4px 10px -6px #2b5f8666;display:flex;align-items:center;justify-content:center;font-size:var(--t12);font-weight:700;cursor:grab;touch-action:none;overflow:visible;white-space:nowrap}
#efx .wv.biz{background:linear-gradient(180deg,#c5dacd,#dbe9e0);border-color:#a3bcad;box-shadow:inset 0 1px 0 #ffffff8c,0 -4px 10px -6px #3f7a5c66;color:#2f5b40;box-shadow:none}
#efx .wv:hover{filter:brightness(.97)}
#efx .wv.sel{box-shadow:0 0 0 2px var(--ink)}
#efx .wv em{position:absolute;display:block}
#efx .wv .t{left:6px;right:6px;top:-4px;height:9px;cursor:ns-resize}
#efx .wv .t::after{content:'';position:absolute;left:50%;top:3px;width:26px;height:3px;margin-left:-13px;border-radius:var(--radius-xs);background:#2b5f8699}
#efx .wv.biz .t::after{background:#2f5b4099}
#efx .wv .l,#efx .wv .r{top:0;bottom:0;width:9px;cursor:ew-resize}
#efx .wv .l{left:-4px}
#efx .wv .r{right:-4px}
#efx .side{overflow:auto;padding:22px;display:grid;gap:18px;align-content:start}
#efx .side h2{margin:0;font-size:var(--t18);letter-spacing:-.01em;line-height:1.2}
#efx .side h3{margin:0;font-size:var(--t12);color:var(--faint);letter-spacing:.05em;text-transform:uppercase}
#efx .sub{color:var(--muted);font-size:var(--t12);margin:2px 0 0}
#efx .chips{display:flex;gap:5px;flex-wrap:wrap}
#efx .chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 9px;font-size:var(--t12);font-weight:600;background:#18234e0d}
#efx .chip.good{background:var(--goodfill);color:var(--good)}
#efx .chip.bad{background:var(--badfill);color:var(--bad)}
#efx .chip.warn{background:var(--warnfill);color:var(--warn)}
#efx .steps{display:flex;gap:3px}
#efx .steps div{flex:1;min-width:0}
#efx .steps i{display:block;height:5px;border-radius:var(--radius-xs);background:#18234e14}
#efx .steps .d i{background:var(--good)}
#efx .steps .n i{background:var(--ibm)}
#efx .steps small{display:block;font-size:var(--t11);color:var(--faint);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#efx .steps .n small{color:var(--ink);font-weight:700}
#efx .facts{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px}
#efx .facts div{min-width:0}
#efx .facts b{display:block;font-size:var(--t14);font-variant-numeric:tabular-nums}
#efx .facts small{font-size:var(--t12);color:var(--muted)}
#efx .facts .late{color:var(--bad)}
#efx .q{display:flex;align-items:center;gap:8px;justify-content:space-between}
#efx .q label{font-size:var(--t13);display:flex;align-items:center;gap:6px}
#efx .step{display:inline-flex;align-items:center;gap:2px}
#efx .step button{width:25px;height:25px;border:1px solid var(--line2);background:var(--solid);border-radius:var(--rs);font-weight:700}
#efx .step output{width:32px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
#efx .q input[type=date],#efx .q input[type=number],#efx .q select{border:1px solid var(--line2);border-radius:var(--rs);padding:3px 6px;background:var(--solid);width:132px}
#efx .ifs{display:grid}
#efx .if{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:var(--t13)}
#efx .if:last-child{border:0}
#efx .if .n{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#efx .if small{color:var(--muted);font-size:var(--t12);white-space:nowrap}
#efx .kd{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:var(--rs);background:#315e971a;color:var(--link);flex:none}
#efx .kd.w{background:#18234e14;color:var(--ink)}
#efx .kd .i{width:13px;height:13px}
#efx .imp{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid var(--line);font-size:var(--t13)}
#efx .imp:last-child{border:0}
#efx .imp .bad{color:var(--bad);font-weight:700}
#efx .imp .good{color:var(--good);font-weight:700}
#efx .trial{display:flex;align-items:center;gap:12px;padding:9px 14px;border-top:1px solid var(--line2);background:#fff8e4;font-size:var(--t13)}
#efx .trial b{white-space:nowrap}
#efx .trial span{color:#6e5208;min-width:0}
#efx .full{padding:16px;overflow:auto;display:grid;gap:14px;align-content:start}
#efx .full h2{margin:0;font-size:var(--t18)}
#efx table{border-collapse:collapse;width:100%;font-size:var(--t13)}
#efx th{font-size:var(--t12);text-align:left;color:var(--faint);padding:5px 8px;border-bottom:1px solid var(--line2);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
#efx td{padding:7px 8px;border-bottom:1px solid var(--line)}
#efx tr.pkh td{background:#18234e08;font-weight:700}
#efx td .kd{vertical-align:-5px;margin-right:6px}
#efx .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
#efx .card{background:#ffffff99;border-radius:var(--r);padding:14px;display:grid;gap:8px;align-content:start}
#efx .card h3{margin:0;font-size:var(--t14)}
#efx .big{font-size:var(--t28);font-weight:700;line-height:1}
#efx .row.child{height:32px}
#efx .row.child.phase{height:38px}
#efx .row.child.phase .lab b{font-weight:700}
#efx .sb.ph{top:12px;height:14px}
#efx .sb.ph i{background-image:none;box-shadow:inset -1px 0 0 #ffffffb0}
#efx .row.child .st{padding:1px 7px}
#efx .row.child .lab{padding-left:38px;gap:6px}
#efx .row.child .lab b{font-size:var(--t12);font-weight:500}
#efx .row.child .lab em{font-style:normal;font-size:var(--t12);color:var(--faint);flex:none}
#efx .row.child .kd{width:16px;height:16px}
#efx .row.child .kd .i{width:11px;height:11px}
#efx .sb{position:absolute;top:12px;height:8px;border-radius:var(--radius-xs);display:flex;overflow:hidden}
#efx .sb i{display:block;height:100%;background-image:repeating-linear-gradient(90deg,transparent 0 calc(var(--wk) - 1px),#ffffff8c calc(var(--wk) - 1px) var(--wk))}
#efx .ms{position:absolute;top:11px;width:9px;height:9px;transform:rotate(45deg);background:var(--ink);border-radius:var(--radius-xs)}
#efx .chev{border:0;background:none;padding:0;width:15px;color:var(--muted);flex:none;font-size:var(--t11)}
#efx .lib{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}
#efx .libbar{display:flex;gap:10px;align-items:center;padding:12px 14px;flex-wrap:wrap}
#efx .libbar h2{margin:0;font-size:var(--t18)}
#efx .libbar input[type=search]{border:1px solid var(--line2);border-radius:var(--rc);padding:6px 10px;background:var(--solid);min-width:200px}
#efx .librow{display:grid;grid-template-columns:24px minmax(0,1fr) 92px 64px 210px;gap:10px;align-items:center;width:100%;border:0;border-bottom:1px solid var(--line);background:none;padding:8px 14px;text-align:left}
#efx .librow:hover{background:var(--soft)}
#efx .librow.on{background:#315e9714}
#efx .librow small{color:var(--muted);font-size:var(--t12)}
#efx .libh{font-size:var(--t12);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--faint)}
#efx .f{display:grid;gap:4px;font-size:var(--t12);color:var(--muted);font-weight:600}
#efx .f input,#efx .f textarea,#efx .f select{border:1px solid var(--line2);border-radius:var(--rs);padding:6px 8px;background:var(--solid);color:var(--ink);font-weight:400;width:100%}
#efx .kinds{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#efx .kinds button{display:flex;align-items:center;gap:7px;border:1px solid var(--line2);background:var(--solid);border-radius:var(--rc);padding:7px 10px;font-weight:600;font-size:var(--t13)}
#efx .kinds button.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
#efx .spec{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:var(--t13)}
#efx .spec span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#efx .spec small{color:var(--muted)}
#efx .spec button{border:0;background:none;color:var(--muted);font-size:var(--t14);padding:0 3px}
#efx .fileup{display:inline-flex;align-items:center;gap:6px;border:1px dashed var(--line2);border-radius:var(--rc);padding:8px 11px;font-weight:600;font-size:var(--t13);cursor:pointer;justify-content:center;color:var(--link)}
#efx .fileup input{display:none}
#efx .fileup.mini{border:0;padding:0;font-size:var(--t12)}
#efx .tile{flex:none;width:26px;height:26px;border-radius:var(--radius-control);display:grid;place-items:center;color:#fff;font-size:var(--t12);font-weight:800;letter-spacing:-.02em;box-shadow:inset 0 0 0 1px #18234e0f}
#efx .prog{height:3px;border-radius:var(--radius-xs);background:#18234e12;overflow:hidden;width:100%;margin-top:3px}
#efx .prog i{display:block;height:100%;background:var(--h);border-radius:var(--radius-xs)}
#efx .month{position:absolute;top:0;bottom:0;background:#18234e05}
#efx .pk s.wait{background:repeating-linear-gradient(135deg,#18234e2e 0 2px,transparent 2px 5px);background-color:#18234e0d;border-radius:0}
#efx .flag{position:absolute;top:13px;height:18px;padding:0 7px;line-height:18px;border-radius:var(--radius-control);background:linear-gradient(135deg,#26336a,#18234e);color:#fff;font-size:var(--t12);font-weight:700;white-space:nowrap;box-shadow:0 3px 8px -3px #18234e99;z-index:2}
#efx .flag.late{background:#b4413b;box-shadow:none}
#efx .flag::before{content:"";position:absolute;left:-3px;top:6px;width:6px;height:6px;background:inherit;transform:rotate(45deg)}
#efx .tgt{position:absolute;top:8px;bottom:9px;width:0;border-left:2px solid var(--muted);border-radius:1px}
#efx .tgt::before{content:"";position:absolute;left:0;top:-1px;border-left:12px solid var(--muted);border-top:6px solid transparent;border-bottom:6px solid transparent}
#efx .nowpill{position:absolute;top:7px;transform:translateX(-50%);background:#b4413b;color:#fff;font-size:var(--t11);font-weight:800;padding:1px 7px;border-radius:var(--radius-sm);z-index:7}
#efx .stack{position:absolute;left:1px;right:1px;bottom:0;display:flex;flex-direction:column-reverse;overflow:hidden;border-radius:var(--radius-xs) var(--radius-xs) 0 0}
#efx .stack b{display:block;width:100%;box-shadow:inset 0 -1px 0 #ffffff99}
#efx .capline{position:absolute;left:0;top:0;pointer-events:none;z-index:2;overflow:visible}
#efx .base{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#d9e9f2,#ecf4f8);border-top:1.5px solid #8fb7cf}
#efx .base.biz{background:linear-gradient(180deg,#dde9e2,#eff5f1);border-top-color:#a3bcad}
#efx .lanehint{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:var(--t12);color:var(--faint);pointer-events:none}
#efx .cp{align-items:center;gap:9px;margin-top:3px}
#efx .cp span{gap:3px;font-weight:600;color:var(--ink)}
#efx .cp em{font-style:normal;color:var(--faint);margin-left:-5px}
#efx .cp .i{width:12px;height:12px;color:var(--muted)}
#efx .base span{position:sticky;left:266px;display:inline-block;font-size:var(--t12);font-weight:700;color:#1d5a73;padding:1px 8px}
#efx .base.biz span{color:#2f5b40}
#efx .tile.logo{background:var(--solid);border:1px solid var(--line);overflow:hidden;box-shadow:none}
#efx .tile.logo img{width:100%;height:100%;object-fit:contain}
#efx .logoup{cursor:pointer;position:relative;flex:none}
#efx .logoup input{display:none}
#efx .logoup::after{content:"+";position:absolute;right:-3px;bottom:-3px;width:15px;height:15px;border-radius:50%;background:var(--ink);color:#fff;font-size:var(--t12);line-height:14px;text-align:center;font-weight:700}
#efx .ifwrap{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
#efx .ifpk{display:flex;align-items:center;gap:10px;padding:9px 14px;background:#18234e08;position:sticky;top:0;z-index:2;backdrop-filter:blur(8px)}
#efx .ifpk b{font-size:var(--t14)}
#efx .ifpk small{color:var(--muted);font-size:var(--t12)}
#efx .ifrow{display:grid;grid-template-columns:22px minmax(0,1.5fr) 96px 86px 110px 108px 56px;gap:10px;align-items:center;width:100%;border:0;border-bottom:1px solid var(--line);background:none;padding:7px 14px 7px 24px;text-align:left;font-size:var(--t13)}
#efx .ifrow:hover{background:var(--soft)}
#efx .ifrow.on{background:#315e9714}
#efx .cx{display:inline-flex;align-items:center;gap:5px;font-size:var(--t12)}
#efx .cx i{width:8px;height:8px;border-radius:50%}
#efx .who{display:inline-flex;align-items:center;gap:5px;font-size:var(--t12);min-width:0;white-space:nowrap;overflow:hidden}
#efx .av{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:var(--t9);font-weight:800;background:linear-gradient(145deg,#5b6fd6,#3c4fb4)}
#efx .av.big{width:34px;height:34px;font-size:var(--t12)}
#efx .av.b{background:linear-gradient(145deg,#79a98a,#4f8066)}
#efx .st{display:inline-block;padding:2px 8px;border-radius:999px;font-size:var(--t12);font-weight:700;white-space:nowrap}
#efx .st.Done,#efx .st.Delivered{background:var(--goodfill);color:var(--good)}
#efx .st.Blocked{background:var(--badfill);color:var(--bad)}
#efx .st.Progress{background:#e1f1f7;color:#22718f}
#efx .st.Wait{background:#18234e0f;color:var(--muted)}
#efx .alerts>.alert{flex:0 0 calc((100% - 24px)/3);min-width:200px;max-width:none}
#efx .alert>span:last-child{min-width:0}
#efx .alert b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#efx .alerts .alert small{max-width:none}
#efx .tc.rules::before{display:none}
#efx .ifrow .st{justify-self:start}
#efx .tc{min-width:0}
#efx .team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start;overflow:auto;padding:14px}
#efx .tc{border-radius:var(--r);padding:16px;display:grid;gap:12px;background:#ffffffa6;border:1px solid #ffffffc0;box-shadow:0 12px 28px -20px #18234e66;position:relative;overflow:hidden}
#efx .tc::before{content:"";position:absolute;inset:0 0 auto;height:82px;background:linear-gradient(120deg,var(--a),var(--a2));opacity:.16}
#efx .tc>*{position:relative}
#efx .tch{display:flex;align-items:center;gap:12px}
#efx .tch h3{margin:0;font-size:var(--t16)}
#efx .tch select{border:1px solid var(--line2);border-radius:var(--rs);background:var(--solid);padding:3px 6px;font-size:var(--t12);margin-top:3px}
#efx .ppl{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
#efx .pp{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:var(--rc);background:#ffffffb0;font-size:var(--t13);min-width:0}
#efx .pp span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#efx .pp button{border:0;background:none;color:var(--faint);padding:0;font-size:var(--t14)}
#efx .wrow{display:flex;align-items:center;gap:9px;width:100%;border:0;background:#ffffffb0;border-radius:var(--rc);padding:7px 9px;text-align:left;font-size:var(--t13)}
#efx .wrow:hover{background:var(--solid)}
#efx .wrow b{flex:none;font-size:var(--t13)}
#efx .wrow>.tile{flex:none}
#efx .wrow>span:not(.tile){flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#efx .wrow small{color:var(--muted);white-space:nowrap}
#efx .addp{display:flex;gap:6px}
#efx .addp input{flex:1;min-width:0;border:1px solid var(--line2);border-radius:var(--rs);padding:5px 8px;background:var(--solid)}
#efx .wv .own{width:16px;height:16px;border-radius:var(--radius-sm);margin-right:4px;display:grid;place-items:center;color:#fff;font-size:var(--t8);font-weight:800}
@media(max-width:1100px){#efx .team{grid-template-columns:minmax(0,1fr)}}
#efx .phone .tc{padding:13px}
#efx .phone .ppl{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#efx .phone .tabs button{padding-inline:2px;font-size:var(--t13)}
#efx .ptask{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:9px 0;border-bottom:1px solid var(--line)}
#efx .ptask small{color:var(--muted)}
#efx .ghost{position:absolute;top:33px;height:3px;border-radius:var(--radius-xs);background:#18234e33}
#efx .oldgo{position:absolute;top:31px;width:7px;height:7px;margin-left:-3px;transform:rotate(45deg);border:1.5px solid #18234e80;background:var(--solid)}
#efx .mvd{font-weight:700}
#efx .impact{display:grid;gap:4px;padding:12px;border-radius:var(--rc);background:#18234e08}
#efx .impact h3{margin:0 0 2px}
#efx .ir{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:4px 0;cursor:pointer}
#efx .ir b{display:block;font-size:var(--t13);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#efx .ir small{display:block;color:var(--muted);font-size:var(--t12)}
#efx .ir>span:last-child{font-weight:700;white-space:nowrap}
#efx .dtip{position:fixed;z-index:50;transform:translate(-50%,calc(-100% - 16px));background:var(--ink);color:#fff;border-radius:var(--rc);padding:8px 11px;font-size:var(--t12);display:grid;gap:3px;min-width:170px;pointer-events:none;box-shadow:0 10px 24px -10px #18234e99}
#efx .dtip div{display:flex;justify-content:space-between;gap:14px}
#efx .dtip .bad{color:#ffb4ad}
#efx .dtip .good{color:#a9e3c2}
#efx #root:has(.app){height:100%}
#efx .ifwrap{--ifc:18px 20px minmax(100px,1fr) 74px 50px 58px 100px repeat(4,100px) 34px}
#efx .ifbar{min-height:58px;display:flex;align-items:center;gap:14px;padding:12px 16px;flex-wrap:wrap}
#efx .ifbar .bk{position:relative;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--line2);border-radius:var(--rc);background:var(--solid);font-size:var(--t13);font-weight:600;cursor:pointer}
#efx .ifbar .bk select{position:absolute;inset:0;opacity:0;cursor:pointer}
#efx .ifhead,#efx .ifrow,#efx .ifpk{display:grid;grid-template-columns:var(--ifc);gap:8px;align-items:center;padding-inline:16px}
#efx .ifhead{position:sticky;top:0;z-index:3;height:36px;background:var(--solid);border-bottom:1px solid var(--line2);font-size:var(--t12);font-weight:700;color:var(--muted)}
#efx .ifhead .ph{display:inline-flex;align-items:center;gap:5px;color:var(--ink);white-space:nowrap}
#efx .ifhead .ph .i{width:14px;height:14px;color:var(--link)}
#efx .ifpk{position:sticky;top:36px;z-index:2;background:var(--soft);backdrop-filter:none;border-bottom:1px solid var(--line);padding-block:8px}
#efx .ifpkn{grid-column:2/8;display:flex;align-items:center;gap:10px;min-width:0}
#efx .ifpkn b{font-size:var(--t14);white-space:nowrap}
#efx .ifpkn small{color:var(--muted);font-size:var(--t12);white-space:nowrap}
#efx .ifpkn .chip{margin-left:auto}
#efx .addif{border:1px solid var(--line2);border-radius:var(--rs);background:var(--solid);padding:3px 6px;font-size:var(--t12);max-width:140px}
#efx .ifrow{padding-block:7px;cursor:pointer}
#efx .ifrow .nm{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#efx .ifrow.pick{background:#315e970f}
#efx .ifwrap input[type=checkbox]{margin:0;width:15px;height:15px;accent-color:var(--ink);cursor:pointer}
#efx .cnt{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;padding-right:6px}
#efx .cnt i{display:block;height:4px;border-radius:var(--radius-xs);background:#18234e12;overflow:hidden}
#efx .cnt u{display:block;height:100%;background:var(--good)}
#efx .cnt b{font-size:var(--t12);color:var(--muted);font-weight:600}
#efx .stc{position:relative;display:inline-flex;align-items:center;gap:4px;cursor:pointer;justify-self:start;white-space:nowrap}
#efx .stc:hover{filter:brightness(.95)}
#efx .stc .i{width:12px;height:12px}
#efx .stc select{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}
#efx .usedby{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:0}
#efx .ublist{display:flex;flex-wrap:wrap;gap:6px}
#efx .ublist button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#ffffffb0;border-radius:999px;padding:2px 10px 2px 3px;font-size:var(--t12);font-weight:600}
#efx .ublist button:hover{background:var(--solid)}
#efx .ublist .tile{border-radius:50%!important}
#efx .rulegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}
#efx .rg{display:grid;gap:9px;align-content:start;padding:14px;border-radius:var(--rc);background:#18234e06}
#efx .rgh{display:flex;align-items:center;gap:8px;font-size:var(--t14)}
#efx .rgi{display:grid;place-items:center;width:26px;height:26px;border-radius:var(--radius-control);background:#315e971a;color:var(--link)}
#efx .rl{display:flex;align-items:center;justify-content:space-between;gap:12px}
#efx .rl label{min-width:0;font-size:var(--t13)}
#efx .pst{flex:none;display:inline-grid;grid-template-columns:28px 66px 28px;align-items:center;height:30px;border:1px solid var(--line2);border-radius:999px;background:var(--solid);overflow:hidden}
#efx .pst button{border:0;background:none;height:100%;font-weight:700;color:var(--link)}
#efx .pst button:hover{background:#315e9712}
#efx .pst output{text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
#efx .pst small{margin-left:3px;font-size:var(--t11);font-weight:500;color:var(--muted)}
#efx .rgn{margin:2px 0 0;font-size:var(--t12);color:var(--muted)}
#efx .ifrow.tbd{cursor:default;background:repeating-linear-gradient(135deg,#18234e08 0 3px,transparent 3px 8px)}
#efx .ifrow.tbd .nm{font-style:italic}
#efx .tbm{grid-column:8/12;font-size:var(--t12);color:var(--muted);line-height:1.3}
#efx .kd.tbk{background:#18234e12;color:var(--muted);font-size:var(--t11);font-weight:800}
#efx .sb.tbdb{border:1px dashed #5a97b8;background:repeating-linear-gradient(135deg,#84b5cf55 0 3px,transparent 3px 7px)}
#efx .pc.tbdc{border:1px dashed var(--line2)}
#efx .need{position:relative;z-index:30}
#efx .fbar{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 14px;border-radius:var(--r);background:var(--surface);border:1px solid #ffffffb8;box-shadow:0 10px 26px -18px #18234e4d}
#efx .fq{display:inline-flex;align-items:center;gap:6px;padding:0 10px;height:34px;border:1px solid var(--line2);border-radius:999px;background:var(--solid);color:var(--muted);flex:0 1 240px;min-width:150px}
#efx .fq input{border:0;outline:0;background:none;width:100%;min-width:0;color:var(--ink)}
#efx .fw{position:relative}
#efx .ff{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--line2);border-radius:999px;background:#ffffffb0;font-weight:600;font-size:var(--t13)}
#efx .ff i{font-style:normal;font-size:var(--t9);color:var(--faint)}
#efx .ff:hover,#efx .ff.open{background:var(--solid)}
#efx .ff.on{border-color:var(--link);color:var(--link)}
#efx .ff em{font-style:normal;background:var(--link);color:#fff;border-radius:999px;min-width:17px;padding:0 5px;font-size:var(--t11);text-align:center}
#efx .fpop{position:absolute;top:calc(100% + 6px);left:0;min-width:240px;max-height:340px;overflow:auto;padding:6px;background:var(--solid);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:0 18px 40px -18px #18234e80;z-index:40;display:grid;gap:1px}
#efx .fo{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--t13)}
#efx .fo:hover{background:var(--soft)}
#efx .fo input{margin:0;accent-color:var(--ink)}
#efx .fo span{flex:1;min-width:0;white-space:nowrap}
#efx .fo small{color:var(--faint);font-variant-numeric:tabular-nums}
#efx .fo.off{opacity:.45;cursor:default}
#efx .fc{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 9px 0 5px;border:0;border-radius:999px;background:#315e9714;font-size:var(--t12);font-weight:600}
#efx .fc i{font-style:normal;color:var(--muted);font-size:var(--t14)}
#efx .fn{color:var(--muted);font-size:var(--t12);white-space:nowrap}
#efx .costl{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-radius:var(--rc);background:#315e970d;font-size:var(--t13);color:var(--muted)}
#efx .costl b{color:var(--ink);font-size:var(--t14)}
#efx .finw{overflow:auto;min-height:0;padding:16px;display:grid;gap:14px;align-content:start;background:var(--surface)}
#efx .fkgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#efx .fk{display:grid;gap:5px;text-align:left;border:1px solid var(--line);background:#ffffffb8;border-radius:var(--r);padding:14px 16px}
#efx .fk:hover,#efx .fk.on{background:var(--solid);border-color:var(--line2)}
#efx .fk small{font-size:var(--t12);color:var(--muted);font-weight:600}
#efx .fk b{font-size:var(--t28);font-weight:700;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}
#efx .fk span{font-size:var(--t12);color:var(--muted)}
#efx .fkb{display:flex;gap:2px;height:6px}
#efx .fkb i{border-radius:var(--radius-xs);min-width:2px}
#efx .fg2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:14px}
#efx .fcard{border:1px solid var(--line);border-radius:var(--r);background:#ffffffb8;padding:14px 16px;min-width:0}
#efx .fh{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
#efx .fh h3{margin:0;font-size:var(--t14)}
#efx .fh .sub{margin:0}
#efx .flg{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:var(--t12);color:var(--muted)}
#efx .flg i{width:9px;height:9px;border-radius:var(--radius-xs);margin-left:8px}
#efx .flg i.hx,#efx .hxb,#efx .bt u{background:repeating-linear-gradient(135deg,#ffffffcc 0 2px,transparent 2px 5px)}
#efx .flg i.hx{background-color:#8c9bb8}
#efx .bridge{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;height:210px}
#efx .bc{display:grid;grid-template-rows:minmax(0,1fr) auto;border:0;background:none;padding:0;gap:6px;border-radius:var(--radius-control)}
#efx .bc:hover .bt i{filter:brightness(.95)}
#efx .bc small{font-size:var(--t12);color:var(--muted);font-weight:600}
#efx .bt{position:relative;display:block;margin-top:24px;border-bottom:1px solid var(--line2)}
#efx .bt i{position:absolute;left:14%;right:14%;border-radius:var(--radius-xs) var(--radius-xs) 0 0;display:block;overflow:hidden}
#efx .bt u{position:absolute;left:0;right:0;top:0;display:block}
#efx .bt b{position:absolute;left:0;right:0;text-align:center;font-size:var(--t13);font-variant-numeric:tabular-nums}
#efx .phase{display:flex;gap:2px;height:210px;align-items:stretch}
#efx .pcol{flex:1;min-width:0;display:grid;grid-template-rows:minmax(0,1fr) 18px;border:0;background:none;padding:0 1px;gap:4px;border-radius:var(--radius-sm)}
#efx .pcol:hover{background:#18234e08}
#efx .pcol.on{background:#315e9716}
#efx .pst2{display:flex;flex-direction:column-reverse;gap:2px;justify-content:flex-start;border-bottom:1px solid var(--line2);min-height:0}
#efx .pst2 i{display:block;border-radius:1px}
#efx .pst2 i:last-child{border-radius:var(--radius-xs) var(--radius-xs) 0 0}
#efx .hxb{background-color:#b9c5da}
#efx .pcol small{font-size:var(--t11);color:var(--muted);white-space:nowrap;text-align:left;overflow:visible}
#efx .pcol.now small{color:var(--bad);font-weight:700}
#efx .fr,#efx .fw2{display:grid;gap:10px;align-items:center;width:100%;border:0;border-top:1px solid var(--line);background:none;padding:8px 6px;text-align:left;font-size:var(--t13);border-radius:0}
#efx .fr{grid-template-columns:minmax(150px,1.3fr) 118px 112px 70px 80px 76px 72px minmax(80px,1fr)}
#efx .fw2{grid-template-columns:minmax(150px,1.1fr) 76px 66px 72px minmax(110px,1fr) 92px minmax(120px,1.1fr)}
#efx button.fr:hover,#efx button.fw2:hover{background:var(--soft)}
#efx .fr.on,#efx .fw2.on{background:#315e9714}
#efx .fhd{border-top:0;font-size:var(--t12);font-weight:700;color:var(--muted);padding-block:4px}
#efx .fr .n,#efx .fw2 .n{text-align:right;font-variant-numeric:tabular-nums}
#efx .fn1{display:inline-flex;align-items:center;gap:8px;min-width:0}
#efx .fn1 b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#efx .fn1 span{display:grid;min-width:0}
#efx .fn1 small{color:var(--muted);font-size:var(--t12);white-space:nowrap}
#efx .fr em,#efx .fw2 em{font-style:normal;font-size:var(--t12);font-weight:700}
#efx .fr em.tb{color:var(--muted);font-weight:500;white-space:nowrap}
#efx .mix{display:flex;gap:2px;height:10px;min-width:2px}
#efx .mix i{display:block;border-radius:var(--radius-xs);min-width:2px}
#efx .wd{flex:none;width:10px;height:10px;border-radius:var(--radius-xs)}
#efx .ftl{display:flex;align-items:center;gap:3px;flex-wrap:wrap}
#efx .ftl em.rs{color:var(--link);margin-right:3px}
#efx .um{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}
#efx .um i{display:block;height:5px;border-radius:var(--radius-xs);background:#18234e12;overflow:hidden}
#efx .um u{display:block;height:100%;background:#5a6f94}
#efx .um small{font-size:var(--t12);color:var(--muted)}
#efx .gn{font-size:var(--t12)}
#efx .gn small{color:var(--faint)}
#efx .big2{font-size:var(--t32);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
#efx .sg{display:grid;gap:2px}
#efx .sg h3{margin-bottom:4px}
#efx .sl{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;font-size:var(--t13)}
#efx .sl b{font-variant-numeric:tabular-nums;white-space:nowrap}
#efx .sl.warnl b{color:var(--warn)}
#efx .cxd{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}
#efx .sr{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:5px 4px;border-radius:var(--radius-sm);text-align:left;font-size:var(--t13)}
#efx .sr:hover{background:var(--soft)}
#efx .sr>span:not(.tile){flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#efx .sr b{font-variant-numeric:tabular-nums}
#efx .ins{display:grid;gap:10px}
#efx .ins p{margin:0;font-size:var(--t14);line-height:1.45;padding-left:12px;border-left:2px solid var(--line2)}
@media(max-width:1250px){#efx .fkgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
#efx .fg2{grid-template-columns:minmax(0,1fr)}}
#efx .phone .fkgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
#efx .phone .fk{padding:11px 12px}
#efx .phone .fk b{font-size:var(--t20)}
#efx .phone .bridge{height:170px;gap:5px}
#efx .phone .bc small{font-size:var(--t11);line-height:1.15}
#efx .phone .bt b{font-size:var(--t11)}
#efx .work.noside{grid-template-columns:minmax(0,1fr)}
#efx .work.noside>.side{display:none}
#efx .side{position:relative}
#efx .sidex{position:absolute;right:10px;top:10px;width:24px;height:24px;border:0;border-radius:var(--radius-sm);background:none;color:var(--faint);font-size:var(--t18);line-height:1;z-index:3}
#efx .sidex:hover{background:#18234e0d;color:var(--ink)}
#efx .track,#efx .cells,#efx .months{overflow:hidden}
#efx .lgw{position:relative;z-index:9}
#efx .lgw .legend{display:none;position:absolute;left:0;top:calc(100% + 6px);flex-direction:column;gap:7px;padding:10px 12px;background:var(--solid);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:0 14px 30px -14px #18234e80;white-space:nowrap}
#efx .lgw:hover .legend,#efx .lgw:focus-within .legend{display:flex}
#efx .hz{display:inline-flex;align-items:center;gap:8px;font-size:var(--t12);color:var(--muted);font-weight:600}
#efx .hz label{display:inline-flex;align-items:center;gap:5px}
#efx .hz input{border:1px solid var(--line2);border-radius:var(--rs);background:var(--solid);padding:3px 5px;font-size:var(--t12);color:var(--ink)}
#efx .hzp{display:inline-flex;gap:1px;padding:2px;border-radius:var(--rs);background:#18234e0d}
#efx .hzp button{border:0;background:none;padding:3px 7px;border-radius:var(--radius-xs);font-size:var(--t12);font-weight:700;color:var(--muted)}
#efx .hzp button.on{background:var(--solid);color:var(--ink);box-shadow:0 1px 2px #18234e22}
#efx .dockt{position:absolute;right:6px;top:6px;width:22px;height:22px;border:1px solid var(--line2);border-radius:var(--radius-sm);background:var(--solid);color:var(--muted);font-size:var(--t10);line-height:1;padding:0;z-index:4}
#efx .cap.strip{height:42px}
#efx .cap.strip .lab .t b{font-size:var(--t13)}
#efx .cp2{gap:8px!important;font-size:var(--t11)!important}
#efx .cp2 span{gap:3px}
#efx .cp2 strong{color:var(--ink)}
#efx .hc{position:absolute;height:11px;border-radius:var(--radius-xs)}
#efx .ht{position:absolute;top:2px;height:4px;border-radius:var(--radius-xs)}
#efx .steps.slim small{display:none}
#efx .stepn{margin:-6px 0 0;font-size:var(--t13)}
#efx .stepn span{display:block;color:var(--muted);font-size:var(--t12)}
#efx .wf{display:grid;gap:8px;padding:12px;border-radius:var(--rc);background:#315e970d}
#efx .wf .sub{margin:0}
#efx .step button:disabled{opacity:.35;cursor:not-allowed}
#efx .finw{gap:16px;padding:18px}
#efx .fk,#efx .fcard{background:var(--solid);border:0;box-shadow:0 1px 2px #18234e0d,0 16px 32px -24px #18234e4d;border-radius:var(--radius-panel)}
#efx .fk{padding:16px 18px;transition:transform .15s,box-shadow .15s}
#efx .fk:hover,#efx .fk.on{background:var(--solid);transform:translateY(-1px);box-shadow:0 2px 4px #18234e14,0 20px 36px -22px #18234e73}
#efx .fk:first-child{background:linear-gradient(130deg,#18234e,#27457f 70%,#2f6a9a);color:#fff}
#efx .fk:first-child:hover,#efx .fk:first-child.on{background:linear-gradient(130deg,#1c2a5c,#2b4c8b 70%,#3574a6)}
#efx .fk:first-child small,#efx .fk:first-child span{color:#ffffffb8}
#efx .fk:first-child .fkb i{opacity:.95}
#efx .fk b{font-size:var(--t28)}
#efx .fkb{height:5px}
#efx .fkb i{border-radius:999px}
#efx .fk:nth-child(3) b{color:#a4681f}
#efx .fcard{padding:18px 20px}
#efx .fh h3{font-size:var(--t14);letter-spacing:-.01em}
#efx .flg i{border-radius:50%;width:8px;height:8px}
#efx .flg i.nu{background:#ccd6e6}
#efx .bridge{height:224px;gap:0}
#efx .bt{margin-top:30px;border-bottom:1px solid var(--line)}
#efx .bt i{left:27%;right:27%;border-radius:var(--radius-control);box-shadow:0 8px 16px -10px #18234e66}
#efx .bt u{background:#ffffff9e;border-bottom:1px dashed #ffffffd9}
#efx .bt .cn{position:absolute;left:73%;width:54%;border-top:1px dashed var(--line2);text-decoration:none}
#efx .bt.tot .cn{display:none}
#efx .bc:last-child .cn{display:none}
#efx .bt b{font-weight:700;letter-spacing:-.01em}
#efx .bt b em{font-style:normal;display:inline-block;margin-left:5px;padding:0 6px;border-radius:999px;background:#c0812f1f;color:#8f5c17;font-size:var(--t11);font-weight:700}
#efx .bc{transition:none}
#efx .bc:hover .bt i{filter:brightness(1.05)}
#efx .area{padding:6px 0 22px 46px}
#efx .plot{position:relative;height:192px}
#efx .plot svg{position:absolute;inset:0;width:100%;height:100%;display:block}
#efx .gl2{position:absolute;left:0;right:0;border-top:1px solid #18234e0f}
#efx .gl2 small{position:absolute;right:calc(100% + 8px);top:-8px;font-size:var(--t11);color:var(--faint);white-space:nowrap;font-variant-numeric:tabular-nums}
#efx .pcols{position:absolute;inset:0;display:flex}
#efx .pc2{position:relative;flex:1;min-width:0;border:0;background:none;padding:0}
#efx .pc2:hover,#efx .pc2.on{background:linear-gradient(180deg,#18234e00,#18234e12)}
#efx .pc2:hover::before,#efx .pc2.on::before,#efx .pc2.now::after{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px solid #18234e40}
#efx .pc2.now::after{border-left:1px dashed #b4413b99}
#efx .pc2>small{position:absolute;left:50%;top:calc(100% + 6px);transform:translateX(-50%);font-size:var(--t11);color:var(--muted);white-space:nowrap}
#efx .pc2.now>small{color:var(--bad);font-weight:700}
#efx .tip{display:none;position:absolute;left:50%;top:6px;transform:translateX(-50%);z-index:5;background:var(--ink);color:#fff;border-radius:var(--radius-control);padding:9px 11px;min-width:170px;gap:4px;box-shadow:0 12px 24px -10px #18234e99;font-size:var(--t12);text-align:left}
#efx .tip.r{left:auto;right:50%;transform:none}
#efx .tip.l{left:50%;transform:none}
#efx .pc2:hover .tip{display:grid}
#efx .tip strong{font-weight:700;margin-bottom:2px;white-space:nowrap}
#efx .tip span{display:flex;align-items:center;gap:6px;white-space:nowrap}
#efx .tip span i{width:7px;height:7px;border-radius:50%}
#efx .tip span b{margin-left:auto;padding-left:12px;font-variant-numeric:tabular-nums}
#efx .fr,#efx .fw2{padding:10px 8px}
#efx button.fr:hover,#efx button.fw2:hover{background:var(--soft);border-radius:var(--radius-control)}
#efx .fr em.bad{background:var(--badfill);color:var(--bad);padding:1px 7px;border-radius:999px;margin-left:3px}
#efx .fr em.tb{background:#18234e0a;color:var(--muted);padding:1px 7px;border-radius:999px;margin-left:3px}
#efx .mix{height:7px}
#efx .mix i{border-radius:999px}
#efx .um i{height:6px;border-radius:999px}
#efx .um u{background:linear-gradient(90deg,#3f86b6,#74b4db);border-radius:999px}
#efx .ins p{border-left:0;padding:10px 12px;border-radius:var(--radius-control);background:#18234e06}
#efx .phone .bridge{height:190px}
#efx .phone .bt i{left:20%;right:20%}
#efx .phone .bt b em{display:none}
#efx .cpc{font-style:normal;font-weight:600;color:var(--muted);margin-left:5px}
#efx .dockt{font-size:var(--t13)}
#efx .fr{grid-template-columns:minmax(150px,1.3fr) 140px 112px 70px 80px 76px 72px minmax(80px,1fr)}
#efx .fr>span:nth-child(2){white-space:nowrap}
#efx .fq{flex-basis:285px}
#efx .fh h3 small{font-weight:500;color:var(--muted);font-size:var(--t12);margin-left:8px}
#efx .fsw{display:inline-flex;align-items:center;gap:1px;padding:2px;border-radius:var(--radius-control);background:#18234e0b}
#efx .fsw button{border:0;background:none;padding:4px 9px;border-radius:var(--radius-sm);font-size:var(--t12);font-weight:600;color:var(--muted);white-space:nowrap}
#efx .fsw button.on{background:var(--solid);color:var(--ink);box-shadow:0 1px 2px #18234e22}
#efx .fsw .frp{font-size:var(--t13);padding:3px 7px}
#efx .flg.fl2{display:flex;margin:-4px 0 4px}
#efx .flg.fl2 i:first-child{margin-left:0}
#efx .pbars{position:absolute;inset:0;display:flex}
#efx .pbars span{flex:1;display:flex;flex-direction:column-reverse;gap:2px;padding:0 3px}
#efx .pbars i{display:block;border-radius:var(--radius-xs)}
#efx .pbars i:last-child{border-radius:var(--radius-sm) var(--radius-sm) var(--radius-xs) var(--radius-xs)}
#efx .dnw{display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px;align-items:center;height:220px}
#efx .dn{position:relative;width:200px;height:200px}
#efx .dn svg{width:100%;height:100%;display:block}
#efx .ds{cursor:pointer;transition:stroke-width .15s}
#efx .ds:hover{stroke-width:6.6}
#efx .dnc{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}
#efx .dnc small{font-size:var(--t12);color:var(--muted)}
#efx .dnc b{font-size:var(--t24);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
#efx .dl{display:grid;gap:1px;min-width:0}
#efx .dl button{display:grid;grid-template-columns:10px minmax(0,1fr) auto 62px;gap:8px;align-items:center;border:0;background:none;border-radius:var(--radius-sm);padding:6px;font-size:var(--t13);text-align:left}
#efx .dl button:hover{background:var(--soft)}
#efx .dl i{width:10px;height:10px;border-radius:50%}
#efx .dl span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#efx .dl small{color:var(--muted);font-variant-numeric:tabular-nums}
#efx .dl b{text-align:right;font-variant-numeric:tabular-nums}
@keyframes efx-fgrow{from{transform:scaleY(0)}}
@keyframes efx-fgrowx{from{transform:scaleX(0)}}
@keyframes efx-frev{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes efx-fup{from{opacity:0;transform:translateY(10px)}}
@keyframes efx-fdash{from{stroke-dasharray:0 100}}
#efx .anim .bt i{transform-origin:bottom;animation:efx-fgrow .75s cubic-bezier(.2,.85,.25,1) backwards}
#efx .anim .bc:nth-child(2) .bt i{animation-delay:.18s}
#efx .anim .bc:nth-child(3) .bt i{animation-delay:.36s}
#efx .anim .bc:nth-child(4) .bt i{animation-delay:.54s}
#efx .anim .bc:nth-child(4) .bt i:nth-child(2){animation-delay:.68s}
#efx .anim .bc:nth-child(4) .bt i:nth-child(3){animation-delay:.82s}
#efx .anim .bt b,#efx .anim .bt .cn{animation:efx-fup .45s ease-out backwards .55s}
#efx .anim .ds{animation:efx-fdash .75s ease-out backwards;animation-delay:calc(var(--i)*.2s)}
#efx .anim .dl button{animation:efx-fup .4s ease-out backwards;animation-delay:calc(var(--i)*.1s + .15s)}
#efx .anim .rv{animation:efx-frev 1.25s cubic-bezier(.3,.7,.3,1) backwards}
#efx .anim .pbars i{transform-origin:bottom;animation:efx-fgrow .55s cubic-bezier(.2,.85,.25,1) backwards;animation-delay:calc(var(--i)*38ms)}
#efx .anim .pbars span{--d:0}
#efx .anim .mix{transform-origin:left;animation:efx-fgrowx .7s cubic-bezier(.2,.85,.25,1) backwards;animation-delay:calc(var(--i)*70ms + .2s)}
#efx .anim .fk{animation:efx-fup .45s ease-out backwards}
#efx .anim .fk:nth-child(2){animation-delay:.07s}
#efx .anim .fk:nth-child(3){animation-delay:.14s}
#efx .anim .fk:nth-child(4){animation-delay:.21s}
@media(prefers-reduced-motion:reduce){#efx .anim *,#efx .anim{animation:none!important}}
#efx .phone .dnw{grid-template-columns:minmax(0,1fr);height:auto}
#efx .phone .dn{margin:auto}
#efx #plan-scroll>.grid{min-height:100%;display:flex;flex-direction:column}
#efx #plan-scroll>.grid>.dock{margin-top:auto}
#efx .db{display:grid;gap:5px}
#efx .dbt{display:flex;gap:4px;font-size:var(--t13)}
#efx .dbt span{margin-left:auto;color:var(--muted)}
#efx .dbb{height:6px;border-radius:999px;background:repeating-linear-gradient(135deg,#18234e1f 0 3px,#18234e0a 3px 6px);overflow:hidden}
#efx .dbb i{display:block;height:100%;background:var(--link);border-radius:999px}
#efx .dq{display:grid;line-height:1.2}
#efx .dq small{font-size:var(--t11);color:var(--muted)}
#efx .qm{margin:0;padding:7px 10px;border-radius:var(--radius-control);background:#315e9712;color:var(--link);font-size:var(--t12)}
#efx .brk{display:inline-flex;align-items:center;gap:4px;color:var(--bad);font-style:normal;font-weight:700;font-size:var(--t12)}
#efx .brk .i{width:12px;height:12px}
#efx .trial .brk{white-space:nowrap}
#efx .ir small.brk{font-size:var(--t12)}
#efx .cmk{color:var(--link)}
#efx .ovr{margin:-4px 0 0;padding:7px 10px;border-radius:var(--radius-control);background:#b4413b12;color:var(--bad)}
#efx .rvb{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px;background:#18234e59;backdrop-filter:blur(3px)}
#efx .rv1{width:min(480px,100%);display:grid;gap:14px;padding:22px;background:var(--solid);border-radius:var(--radius-panel);box-shadow:0 30px 60px -20px #18234e99}
#efx .rv1 h2{margin:0;font-size:var(--t18)}
#efx .rv1 .sub{margin:-6px 0 0}
#efx .rvl{display:grid;gap:6px}
#efx .rv1 textarea{width:100%;border:1px solid var(--line2);border-radius:var(--rs);padding:8px;font:inherit;resize:vertical}
#efx .rvf{display:flex;justify-content:flex-end;gap:8px}
#efx select.st{appearance:none;-webkit-appearance:none;border:0;cursor:pointer;text-align:center;font:inherit;font-size:var(--t12);font-weight:700;padding:2px 9px}
#efx select.st:hover{filter:brightness(.95)}
#efx .devst{display:grid;gap:7px;padding:12px;border-radius:var(--rc);background:#315e970d}
#efx .devst h3{margin:0}
#efx .blk{display:grid;gap:8px;padding:12px;border-radius:var(--rc);background:#315e970d}
#efx .ifd{padding:18px;overflow:auto;display:grid;gap:16px;align-content:start}
#efx .ifdh{display:flex;gap:14px;align-items:center}
#efx .ifdh h2{margin:0;font-size:var(--t22);letter-spacing:-.01em}
#efx .tl{display:grid;gap:6px}
#efx .tlr{display:grid;grid-template-columns:150px 1fr 104px 118px 78px;gap:12px;align-items:center;font-size:var(--t13)}
#efx .tlt{position:relative;height:18px;background:#18234e08;border-radius:var(--radius-xs);overflow:hidden}
#efx .tlt i{position:absolute;top:3px;bottom:3px;border-radius:var(--radius-xs)}
#efx .stbtn{border:0;background:none;padding:0}
#efx .phone{max-width:430px;margin:0 auto;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding-block:10px 0;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
#efx .phone .head{display:flex;align-items:center;gap:8px;padding-bottom:8px}
#efx .phone h1{margin:0;font-size:var(--t18)}
#efx .pscroll{overflow:auto;display:grid;gap:10px;align-content:start;padding-bottom:12px}
#efx .pc{background:var(--surface);border:0;border-radius:var(--r);padding:12px 14px;text-align:left;display:grid;gap:8px;width:100%}
#efx .pc .h{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
#efx .pc b{font-size:var(--t14)}
#efx .pc small{color:var(--muted);font-size:var(--t12)}
#efx .mini{display:flex;height:9px;border-radius:var(--radius-sm);overflow:hidden;background:#18234e12}
#efx .mini i{display:block;height:100%}
#efx .tabs{display:flex;gap:2px;padding-block:8px;background:transparent}
#efx .tabs button{flex:1;border:0;background:none;padding:8px 0;font-weight:600;font-size:var(--t13);color:var(--muted);border-radius:var(--rc)}
#efx .tabs button.on{background:var(--solid);color:var(--ink)}
#efx .sheet{position:fixed;left:0;right:0;bottom:0;max-height:86%;background:var(--solid);border-radius:var(--radius-dialog) var(--radius-dialog) 0 0;box-shadow:0 -10px 40px #18234e33;padding:16px max(16px,env(safe-area-inset-right,0px)) 22px max(16px,env(safe-area-inset-left,0px));overflow:auto;display:grid;gap:14px;z-index:30}
#efx .scrim{position:fixed;inset:0;background:#18234e45;z-index:29}
#efx .spark{display:flex;align-items:flex-end;gap:1px;height:70px}
#efx .spark i{flex:1;background:var(--ibm);border-radius:1px 1px 0 0;min-height:1px}
#efx .spark i.over{background:var(--bad)}
#efx .spark.biz i{background:var(--bsr)}
@media (prefers-reduced-motion:reduce){#efx *{transition:none!important}}


/* Host inside Kestrel: the mockup's app fills the view under the Kestrel bar. */
#efx{display:block;height:var(--efx-h,calc(100vh - 90px));background:none;overflow:hidden}
#efx .app{height:100%;padding-top:4px}
#efx .efx-wait{padding:40px;color:var(--muted)}
/* Kestrel classes with the same names (.bar, .grid…) must not move the mockup's blocks. */
#efx .plan>.bar{position:relative;top:auto;left:auto;right:auto;height:auto}
#efx .efx-note{padding:10px 14px;border-radius:var(--rc);background:var(--warnfill);color:var(--warn);font-size:var(--t13);margin-bottom:12px;border-left:3px solid var(--gold)}

/* edi-factory-budget.css */
/* EDI Factory · budget allocation (Denis, 11 Nov 2026), scoped to the EDI Factory screen. */
#efx .ga11{display:grid;gap:6px}
#efx .ga11b{position:relative;display:flex;height:24px;border-radius:var(--radius-sm);background:#18234e0a;overflow:visible}
#efx .ga11b i{display:flex;align-items:center;justify-content:center;height:100%;font-style:normal;font-size:var(--t10);font-weight:700;white-space:nowrap;overflow:hidden;min-width:0}
#efx .ga11b i span{overflow:hidden;text-overflow:ellipsis;padding:0 4px}
#efx .ga11b i:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}
#efx .ga11b i:last-of-type{border-radius:0 var(--radius-sm) var(--radius-sm) 0}
#efx .ga11b i.a{background:#18234e;color:#fff}
#efx .ga11b i.p{background:#c9a34a;color:#3d2c05}
#efx .ga11b i.r{background:repeating-linear-gradient(135deg,#2f7b5514 0 6px,#2f7b5526 6px 12px);color:#2f7b55;border:1px dashed #2f7b5566}
#efx .ga11b i.o{background:repeating-linear-gradient(135deg,#a9473f33 0 6px,#a9473f55 6px 12px);color:#7d2c26}
#efx .ga11b s{position:absolute;top:-6px;bottom:-6px;border-left:2px solid var(--ink)}
#efx .ga11b s b{position:absolute;top:-14px;left:-20px;font-size:var(--t10)}
#efx .ga11e{display:flex;flex-wrap:wrap;gap:3px 7px;align-items:baseline;font-size:var(--t12);color:var(--muted)}
#efx .ga11e b{color:var(--ink);font-variant-numeric:tabular-nums}
#efx .ga11e i{font-style:normal;color:var(--faint,#8a93ad)}
#efx .ga11e .a b{color:#18234e}
#efx .ga11e .p b{color:#8f6a10}
#efx .ga11e .r b{color:#2f7b55}
#efx .ga11e .o b{color:#a9473f}
#efx .yr11g{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-bottom:12px}
#efx .yr11{border:1px solid var(--line);border-radius:var(--radius-control);padding:12px;display:grid;gap:8px;min-width:0}
#efx .yr11h{display:flex;align-items:baseline;gap:8px}
#efx .yr11h b{font-size:var(--t16)}
#efx .yr11h small{color:var(--muted);font-size:var(--t11)}
#efx .bd11{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px;align-items:start}
#efx .bd11l,#efx .bd11r{display:grid;gap:8px;min-width:0}
#efx .bd11f{display:flex;flex-wrap:wrap;gap:4px}
#efx .bd11s{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
#efx .sel11{font-size:var(--t12);font-weight:700;background:#7260a61a;color:#5a4a8c;border-radius:999px;padding:3px 10px}
#efx .it11w{display:grid;gap:4px;max-height:560px;overflow:auto;padding-right:4px}
#efx .it11{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto minmax(0,170px);gap:8px;align-items:center;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius-control);font-size:var(--t12);background:var(--solid,#fff);cursor:grab}
#efx .it11.on{border-color:#7260a6;background:#7260a60d}
#efx .it11n{display:grid;min-width:0}
#efx .it11n small{color:var(--muted);font-size:var(--t11)}
#efx .it11 .n{font-variant-numeric:tabular-nums}
#efx .it11 select{font-size:var(--t11);min-width:0;max-width:100%}
#efx .bk11{border:1.5px solid var(--line);border-radius:var(--radius-control);padding:10px 12px;display:grid;gap:8px;background:var(--solid,#fff)}
#efx .bk11.ov11{border-color:#7260a6;border-style:dashed;background:#7260a60d}
#efx .bk11h{display:flex;justify-content:space-between;gap:8px}
#efx .bk11h span{display:grid}
#efx .bk11h small{color:var(--muted);font-size:var(--t11)}
#efx .bk11h strong{font-variant-numeric:tabular-nums}
#efx .bk11 .ic10{display:inline-flex;align-items:center;gap:2px}
#efx .bk11 .ic10 button{border:0;background:none;color:inherit;cursor:pointer;font-size:var(--t13);padding:0 0 0 3px;line-height:1}
#efx .bk11 .btn{justify-self:start;white-space:normal;text-align:left}
#efx .cs12{border:1px solid var(--line);border-radius:var(--radius-control);margin-bottom:8px;background:var(--solid,#fff);min-width:0}
#efx .cs12.free{border-color:#c0812f66;background:#c0812f0a}
#efx .cs12h{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;gap:14px;align-items:center;padding:10px 12px;cursor:pointer}
#efx .cs12.free .cs12h{grid-template-columns:minmax(0,1fr) auto;cursor:default}
#efx .cs12n{display:grid;gap:2px;min-width:0}
#efx .cs12n small{color:var(--muted);font-size:var(--t11)}
#efx .cs12g{min-width:0}
#efx .cv12{font-style:normal;color:var(--muted)}
#efx .cs12 .warn10{margin:0 12px 8px}
#efx .cs12i{display:grid;gap:4px;padding:0 12px 12px}
#efx .cs12it{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:70px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius-control);font-size:var(--t12)}
#efx .cs12it:hover{border-color:#7260a6}
#efx .cs12it span:not(.n){display:grid;min-width:0}
#efx .cs12it small{color:var(--muted);font-size:var(--t11)}
#efx .cs12it .n{font-variant-numeric:tabular-nums}
#efx .ok12{color:#2f7b55;font-weight:600;font-size:var(--t12)}
#efx .cs12s{margin-top:-4px}
#efx .ed12{display:inline-flex;gap:10px;align-items:center;margin-left:auto;background:#7260a61a;color:#5a4a8c;border-radius:999px;padding:3px 4px 3px 12px;font-size:var(--t12)}
#efx .mv13{font-size:var(--t11);color:var(--muted);margin:0}
#efx .ch5{font-style:normal;font-size:var(--t11);font-weight:700;padding:1px 8px;border-radius:999px;background:#18234e0d;color:var(--ink);white-space:nowrap;display:inline-block}
#efx .ch5.pd{background:#18234e;color:#fff}
#efx .ch5.pl{background:#a4b0d433;color:#47598f}
#efx .ic10{display:inline-flex;align-items:center;gap:2px;border:1px solid #c9a34a;background:#c9a34a1f;color:#7a5a12;border-radius:999px;padding:2px 8px;font-size:var(--t11);font-weight:700}
#efx .ic10.act{background:#18234e;border-color:#18234e;color:#fff}
#efx .ic10.sel13{outline:2px solid #7260a6;outline-offset:1px}
#efx .ic10[draggable]{cursor:grab}
#efx .ic10 .pk13{all:unset;cursor:pointer;font:inherit}
#efx .ic10 button:not(.pk13){border:0;background:none;color:inherit;cursor:pointer;font-size:var(--t13);padding:0 0 0 3px;line-height:1}
#efx .uc10{display:flex;flex-wrap:wrap;gap:4px}
#efx .mutc{color:var(--muted)}
#efx .warn10{font-size:var(--t12);color:#8f5c17;background:#c0812f14;border-radius:var(--radius-sm);padding:6px 9px;margin:0}
#efx .h10{margin:12px 0 6px;font-size:var(--t11);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
#efx .cb9{display:flex!important;gap:8px;align-items:flex-start;font-size:var(--t12);padding:4px 0}
#efx .ff.on{background:var(--ink);border-color:var(--ink);color:#fff}
#efx .big2{font-size:var(--t28);font-weight:700;font-variant-numeric:tabular-nums}
#efx .bud{padding:14px 16px;display:grid;gap:10px;align-content:start}
#efx .bh{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
#efx .bh h2{margin:0;font-size:var(--t14)}
#efx .seg.ifm{margin-right:10px}
#efx .fcard.bv{border:1px solid var(--line);border-radius:var(--radius-panel);padding:14px;display:grid;gap:10px;margin-bottom:14px;background:var(--solid,#fff)}
#efx .bvr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:14px;align-items:center;padding:6px 0;border-top:1px solid var(--line)}
#efx .bvr span{display:grid}
#efx .bvr small{color:var(--muted);font-size:var(--t11)}
#efx .cs12it.ph{grid-template-columns:minmax(0,1fr) auto;cursor:default}
#efx .cs12it.ph select{grid-column:1/-1;font-size:var(--t12)}
#efx .cs12it.ph b{font-size:var(--t11);color:var(--muted)}
#efx .budp{display:grid;gap:8px}
#efx .budp .yr11g{grid-template-columns:minmax(0,1fr)}
#efx .it11 select,#efx .cs12it select{max-width:100%;min-width:0}
@media (max-width:760px){#efx .bd11,#efx .bvr{grid-template-columns:minmax(0,1fr)}#efx .cs12h{grid-template-columns:minmax(0,1fr) auto}#efx .cs12g{grid-column:1/-1;grid-row:2}}
#efx .yc{display:flex;gap:6px;flex-wrap:wrap}
#efx .yr11.tot{background:#18234e06;border-color:#18234e33}
#efx .xyb{color:#8f5c17;font-weight:700}
#efx .warn10.xy{background:#7260a614;color:#5a4a8c}
#efx .ebadd{display:grid;gap:4px;font-size:var(--t12);font-weight:600;color:var(--muted)}

/* interface-studio.css */
:is(#is-root,#is-layer,#is-panel){--danger:var(--danger-ink);--ok:#2d7a57;--ok-fill:#e6f4ec;--warn:#8a6512;--warn-fill:#fcf3dc;--control:var(--control-fill);--edge:var(--glass-edge);--shadow:var(--glass-shadow);--float:var(--dialog-shadow);--r-panel:var(--radius-panel);--r-control:var(--radius-control);--r-dialog:var(--radius-dialog);--stage1:#4a9e34;--stage2:#7a6fc0;--stage3:#3a9cc4;--stage4:#d6a532;--stage5:#527eac}
:is(#is-root,#is-layer,#is-panel) button{font:inherit;cursor:pointer}
#is-layer{position:relative;z-index:80}
:is(#is-root,#is-layer,#is-panel) .wrap{max-width:1360px;margin:0 auto;padding-block:16px 96px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
:is(#is-root,#is-layer,#is-panel) .top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 16px;background:var(--glass-strong);border:1px solid var(--edge);border-radius:var(--r-panel);box-shadow:var(--shadow);backdrop-filter:saturate(170%) blur(22px);-webkit-backdrop-filter:saturate(170%) blur(22px);position:sticky;top:max(8px,env(safe-area-inset-top,0px));z-index:10}
:is(#is-root,#is-layer,#is-panel) .crumb{font-size:var(--t12);color:var(--muted)}
:is(#is-root,#is-layer,#is-panel) .crumb b{color:var(--ink)}
:is(#is-root,#is-layer,#is-panel) .tabs{display:flex;gap:2px;margin-left:auto;background:var(--control);padding:3px;border-radius:999px;flex-wrap:wrap}
:is(#is-root,#is-layer,#is-panel) .tabs button{border:0;background:none;padding:6px 14px;border-radius:999px;font-weight:600;font-size:var(--t13);color:var(--muted)}
:is(#is-root,#is-layer,#is-panel) .tabs button.on{background:var(--panel);color:var(--ink);box-shadow:0 1px 3px #14223b22}
:is(#is-root,#is-layer,#is-panel) .note{font-size:var(--t12);color:var(--muted);margin:10px 4px 0}
:is(#is-root,#is-layer,#is-panel) h1{font-size:var(--t24);line-height:1.2;letter-spacing:-.5px;margin:20px 4px 2px;text-wrap:balance}
:is(#is-root,#is-layer,#is-panel) .sub{margin:0 4px 14px;color:var(--muted);max-width:75ch}
:is(#is-root,#is-layer,#is-panel) .kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
:is(#is-root,#is-layer,#is-panel) .kpi{background:var(--glass);border:1px solid var(--edge);border-radius:var(--r-panel);box-shadow:var(--shadow);padding:12px 14px}
:is(#is-root,#is-layer,#is-panel) .kpi small{display:block;color:var(--muted);font-size:var(--t12)}
:is(#is-root,#is-layer,#is-panel) .kpi b{font-size:var(--t22);font-variant-numeric:tabular-nums}
:is(#is-root,#is-layer,#is-panel) .kpi span{display:block;font-size:var(--t12);color:var(--muted)}
:is(#is-root,#is-layer,#is-panel) .bar{position:static;height:auto;min-width:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;color:inherit;overflow:visible;cursor:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
:is(#is-root,#is-layer,#is-panel) .bar input[type=search]{flex:1 1 220px;min-width:0;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-control);background:rgba(255,255,255,.75)}
:is(#is-root,#is-layer,#is-panel) .bar select{height:36px;padding:0 8px;border:1px solid var(--line);border-radius:var(--r-control);background:rgba(255,255,255,.75);max-width:100%}
:is(#is-root,#is-layer,#is-panel) .btn{border:0;border-radius:var(--r-control);padding:8px 14px;font-weight:650;font-size:var(--t13);background:var(--control);color:var(--ink)}
:is(#is-root,#is-layer,#is-panel) .btn:hover{background:var(--control-hover)}
:is(#is-root,#is-layer,#is-panel) .btn.pri{background:linear-gradient(180deg,#25336a,var(--ink));color:#fff;box-shadow:0 1px 2px #14223b33,inset 0 1px 0 #ffffff24}
:is(#is-root,#is-layer,#is-panel) .btn:disabled{opacity:.45;cursor:not-allowed}
:is(#is-root,#is-layer,#is-panel) .link{border:0;background:none;color:var(--link);padding:2px;font-size:var(--t12);text-decoration:underline}
:is(#is-root,#is-layer,#is-panel) .panel{background:var(--glass);border:1px solid var(--edge);border-radius:var(--r-panel);box-shadow:var(--shadow);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px)}
:is(#is-root,#is-layer,#is-panel) .scroll{overflow-x:auto}
:is(#is-root,#is-layer,#is-panel) table{border-collapse:collapse;width:100%;min-width:900px}
:is(#is-root,#is-layer,#is-panel) th{font-size:var(--t11);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-align:left;padding:10px 10px;font-weight:700;white-space:nowrap}
:is(#is-root,#is-layer,#is-panel) td{padding:9px 10px;border-top:1px solid var(--line);vertical-align:middle}
:is(#is-root,#is-layer,#is-panel) tbody tr{cursor:pointer}
:is(#is-root,#is-layer,#is-panel) tbody tr:hover{background:rgba(255,255,255,.55)}
:is(#is-root,#is-layer,#is-panel) .code{font-size:var(--t11);color:var(--muted);font-variant-numeric:tabular-nums}
:is(#is-root,#is-layer,#is-panel) .name{font-weight:600;display:block}
:is(#is-root,#is-layer,#is-panel) .pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:var(--t11);font-weight:650;background:var(--control);color:var(--muted);white-space:nowrap}
:is(#is-root,#is-layer,#is-panel) .pill.c{background:#e4ecfa;color:#315e97}
:is(#is-root,#is-layer,#is-panel) .pill.s{background:#efe8fb;color:var(--muted)}
:is(#is-root,#is-layer,#is-panel) .pill.ok{background:var(--ok-fill);color:var(--ok)}
:is(#is-root,#is-layer,#is-panel) .pill.warn{background:var(--warn-fill);color:var(--warn)}
:is(#is-root,#is-layer,#is-panel) .pill.bad{background:var(--danger-fill);color:var(--danger)}
:is(#is-root,#is-layer,#is-panel) .stages{display:flex;gap:2px;width:150px}
:is(#is-root,#is-layer,#is-panel) .stages i{flex:1;height:8px;border-radius:var(--radius-xs);background:var(--control)}
:is(#is-root,#is-layer,#is-panel) .stages i.done{background:var(--ok)}
:is(#is-root,#is-layer,#is-panel) .stages i.now{background:var(--gold)}
:is(#is-root,#is-layer,#is-panel) .stages i.block{background:var(--danger)}
:is(#is-root,#is-layer,#is-panel) .num{font-variant-numeric:tabular-nums;text-align:right}
:is(#is-root,#is-layer,#is-panel) .sel{width:32px}
:is(#is-root,#is-layer,#is-panel) .float{position:fixed;left:50%;transform:translateX(-50%);bottom:max(18px,env(safe-area-inset-bottom,0px));z-index:30;display:flex;gap:14px;align-items:center;background:var(--ink);color:#fff;padding:9px 10px 9px 18px;border-radius:999px;box-shadow:var(--float);font-size:var(--t13);white-space:nowrap}
:is(#is-root,#is-layer,#is-panel) .float .btn{background:var(--panel);color:var(--ink);border-radius:999px}
:is(#is-root,#is-layer,#is-panel) .drawer{position:fixed;top:0;right:0;bottom:0;width:min(480px,100%);z-index:40;background:var(--popover);backdrop-filter:saturate(170%) blur(28px);-webkit-backdrop-filter:saturate(170%) blur(28px);border-left:1px solid var(--edge);border-radius:var(--r-dialog) 0 0 var(--r-dialog);box-shadow:var(--float);display:grid;grid-template-rows:auto 1fr auto;animation:in .16s ease-out}
@keyframes in{from{transform:translateX(24px);opacity:.5}}
@media(prefers-reduced-motion:reduce){:is(#is-root,#is-layer,#is-panel) .drawer{animation:none}}
:is(#is-root,#is-layer,#is-panel) .dh,:is(#is-root,#is-layer,#is-panel) .df{padding:14px 18px;display:flex;align-items:center;gap:10px}
:is(#is-root,#is-layer,#is-panel) .dh{border-bottom:1px solid var(--line)}
:is(#is-root,#is-layer,#is-panel) .df{border-top:1px solid var(--line);justify-content:flex-end}
:is(#is-root,#is-layer,#is-panel) .dh h2{margin:0;font-size:var(--t16);flex:1;min-width:0}
:is(#is-root,#is-layer,#is-panel) .db{overflow:auto;padding:16px 18px;display:grid;gap:14px;align-content:start}
:is(#is-root,#is-layer,#is-panel) .f{display:grid;gap:4px;font-size:var(--t12);font-weight:600;color:var(--muted);min-width:0}
:is(#is-root,#is-layer,#is-panel) .f input,:is(#is-root,#is-layer,#is-panel) .f select,:is(#is-root,#is-layer,#is-panel) .f textarea{font-size:var(--t13);font-weight:400;color:var(--ink);padding:7px 10px;border:1px solid var(--line);border-radius:var(--r-control);background:rgba(255,255,255,.75);width:100%}
:is(#is-root,#is-layer,#is-panel) .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
:is(#is-root,#is-layer,#is-panel) .seg{display:flex;gap:2px;background:var(--control);padding:3px;border-radius:999px}
:is(#is-root,#is-layer,#is-panel) .seg button{flex:1;border:0;background:none;border-radius:999px;padding:6px 8px;font-size:var(--t12);font-weight:600;color:var(--muted)}
:is(#is-root,#is-layer,#is-panel) .seg button.on{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px #14223b22}
:is(#is-root,#is-layer,#is-panel) .sect{font-size:var(--t11);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:2px 0 -6px}
:is(#is-root,#is-layer,#is-panel) .track{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}
:is(#is-root,#is-layer,#is-panel) .track button{border:0;border-radius:8px;padding:7px 2px;font-size:11.5px;font-weight:650;background:var(--control);color:var(--muted)}
:is(#is-root,#is-layer,#is-panel) .track button.done{background:var(--ok-fill);color:var(--ok)}
:is(#is-root,#is-layer,#is-panel) .track button.now{background:var(--warn-fill);color:var(--warn)}
:is(#is-root,#is-layer,#is-panel) .check{display:flex;gap:8px;align-items:center;font-size:var(--t13)}
:is(#is-root,#is-layer,#is-panel) .check i{width:16px;height:16px;border-radius:50%;background:var(--control);display:grid;place-items:center;font-style:normal;font-size:var(--t11);color:var(--muted);flex:none}
:is(#is-root,#is-layer,#is-panel) .check.ok i{background:var(--ok);color:#fff}
:is(#is-root,#is-layer,#is-panel) .files{display:grid;gap:5px}
:is(#is-root,#is-layer,#is-panel) .file{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:var(--t13);padding:6px 10px;background:rgba(255,255,255,.65);border-radius:var(--radius-control)}
:is(#is-root,#is-layer,#is-panel) .file span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(#is-root,#is-layer,#is-panel) .drop{display:block;border:1.5px dashed var(--line);border-radius:var(--r-control);padding:10px;text-align:center;font-size:var(--t12);color:var(--muted);cursor:pointer}
:is(#is-root,#is-layer,#is-panel) .drop input{display:none}
:is(#is-root,#is-layer,#is-panel) .split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:12px;align-items:start}
:is(#is-root,#is-layer,#is-panel) .list{display:grid;gap:8px}
:is(#is-root,#is-layer,#is-panel) .card{text-align:left;padding:12px 14px;background:var(--glass);border:1px solid var(--edge);border-radius:var(--r-panel);box-shadow:var(--shadow);display:grid;gap:3px;width:100%}
:is(#is-root,#is-layer,#is-panel) .card.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
:is(#is-root,#is-layer,#is-panel) .card b{font-size:var(--t13)}
:is(#is-root,#is-layer,#is-panel) .card small{color:var(--muted);font-size:var(--t12)}
:is(#is-root,#is-layer,#is-panel) .pad{padding:16px 18px;display:grid;gap:14px}
:is(#is-root,#is-layer,#is-panel) .pad h2{font-size:var(--t18);margin:0}
:is(#is-root,#is-layer,#is-panel) .pad h3{font-size:var(--t14);margin:0}
:is(#is-root,#is-layer,#is-panel) .muted{color:var(--muted);font-size:var(--t12)}
:is(#is-root,#is-layer,#is-panel) .gantt{display:grid;gap:3px;min-width:640px}
:is(#is-root,#is-layer,#is-panel) .g-row{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:8px;font-size:var(--t12)}
:is(#is-root,#is-layer,#is-panel) .g-lane{position:relative;height:22px;background:rgba(255,255,255,.5);border-radius:var(--radius-sm)}
:is(#is-root,#is-layer,#is-panel) .g-bar{position:absolute;top:3px;bottom:3px;border-radius:4px;color:#fff;font-size:10.5px;font-weight:700;display:flex;align-items:center;padding:0 6px;overflow:hidden;white-space:nowrap}
:is(#is-root,#is-layer,#is-panel) .g-head{font-size:var(--t11);color:var(--muted);font-weight:700}
:is(#is-root,#is-layer,#is-panel) .g-head.g-lane{background:none;height:16px}
:is(#is-root,#is-layer,#is-panel) .g-head span{position:absolute;transform:translateX(-1px)}
:is(#is-root,#is-layer,#is-panel) .flow{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch}
:is(#is-root,#is-layer,#is-panel) .flow>div{background:rgba(255,255,255,.6);border-radius:var(--radius-panel);padding:12px}
:is(#is-root,#is-layer,#is-panel) .flow>span{align-self:center;color:var(--muted);font-size:var(--t18)}
:is(#is-root,#is-layer,#is-panel) .flow small{color:var(--muted);display:block;font-size:var(--t12)}
:is(#is-root,#is-layer,#is-panel) .flow b{display:block}
:is(#is-root,#is-layer,#is-panel) .one{height:12px;border-radius:var(--radius-xs);background:var(--stage3);margin:6px 0}
:is(#is-root,#is-layer,#is-panel) .q{display:grid;grid-template-columns:34px minmax(150px,240px) 1fr 138px;gap:10px;align-items:center;padding:8px 14px;border-top:1px solid var(--line);min-width:760px}
:is(#is-root,#is-layer,#is-panel) .q:first-child{border-top:0}
:is(#is-root,#is-layer,#is-panel) .arrows{display:grid;gap:1px}
:is(#is-root,#is-layer,#is-panel) .arrows button{border:0;background:var(--control);border-radius:var(--radius-xs);height:15px;font-size:var(--t9);padding:0;color:var(--muted)}
:is(#is-root,#is-layer,#is-panel) .arrows button:disabled{opacity:.3}
:is(#is-root,#is-layer,#is-panel) .q .res{text-align:right;font-size:var(--t12);font-variant-numeric:tabular-nums}
:is(#is-root,#is-layer,#is-panel) .q .res b{display:block}
:is(#is-root,#is-layer,#is-panel) .pop{position:fixed;inset:0;z-index:50;background:#18264226;backdrop-filter:blur(10px) saturate(130%);-webkit-backdrop-filter:blur(10px) saturate(130%);display:grid;place-items:center;padding:16px}
:is(#is-root,#is-layer,#is-panel) .pop>div{background:var(--glass-strong);border:1px solid var(--edge);border-radius:var(--r-dialog);box-shadow:var(--float);padding:20px 22px;width:min(520px,100%);display:grid;gap:12px;max-height:90vh;overflow:auto}
:is(#is-root,#is-layer,#is-panel) .pop h2{margin:0;font-size:var(--t18)}
:is(#is-root,#is-layer,#is-panel) .pop ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
:is(#is-root,#is-layer,#is-panel) .pop li{display:flex;justify-content:space-between;gap:12px;font-size:var(--t13)}
:is(#is-root,#is-layer,#is-panel) .pop li span{color:var(--muted)}
:is(#is-root,#is-layer,#is-panel) .acts{display:flex;justify-content:flex-end;gap:8px}
:is(#is-root,#is-layer,#is-panel) .toast{position:fixed;top:72px;left:50%;transform:translateX(-50%);z-index:60;background:var(--ink);color:#fff;padding:8px 16px;border-radius:999px;font-size:var(--t13);box-shadow:var(--float);max-width:calc(100% - 32px)}
:is(#is-root,#is-layer,#is-panel) .phone{display:none}
@media(max-width:899px){:is(#is-root,#is-layer,#is-panel) .wrap>:not(.phone){display:none}
:is(#is-root,#is-layer,#is-panel) .phone{display:grid;gap:6px;text-align:center;padding:28px 20px;margin-top:24px;background:var(--glass);border:1px solid var(--edge);border-radius:var(--r-panel);box-shadow:var(--shadow)}
:is(#is-root,#is-layer,#is-panel) .phone h2{margin:0;font-size:var(--t18)}
:is(#is-root,#is-layer,#is-panel) .phone p{margin:0;color:var(--muted)}}
@media(max-width:820px){:is(#is-root,#is-layer,#is-panel) .kpis{grid-template-columns:1fr 1fr}
:is(#is-root,#is-layer,#is-panel) .split{grid-template-columns:1fr}
:is(#is-root,#is-layer,#is-panel) .tabs{margin-left:0}
:is(#is-root,#is-layer,#is-panel) .flow{grid-template-columns:1fr}
:is(#is-root,#is-layer,#is-panel) .flow>span{display:none}}
:is(#is-root,#is-layer,#is-panel) .nm{border:0;background:none;padding:0;font-weight:600;color:var(--link);text-align:left}
:is(#is-root,#is-layer,#is-panel) .nm:hover{text-decoration:underline}
:is(#is-root,#is-layer,#is-panel) td select{border:1px solid transparent;background:transparent;border-radius:var(--radius-control);padding:3px 4px;font-size:var(--t13);max-width:130px}
:is(#is-root,#is-layer,#is-panel) td select:hover{border-color:var(--line);background:var(--panel)}
:is(#is-root,#is-layer,#is-panel) .segs{display:flex;gap:2px;width:150px}
:is(#is-root,#is-layer,#is-panel) .segs button{flex:1;height:10px;border:0;padding:0;border-radius:var(--radius-xs);background:var(--control)}
:is(#is-root,#is-layer,#is-panel) .segs button:hover{outline:1px solid var(--focus)}
:is(#is-root,#is-layer,#is-panel) .segs button.done{background:var(--ok)}
:is(#is-root,#is-layer,#is-panel) .segs button.now{background:var(--gold)}
:is(#is-root,#is-layer,#is-panel) .segs button.block{background:var(--danger)}
:is(#is-root,#is-layer,#is-panel) .seglab{font-size:var(--t11);color:var(--muted);display:block;margin-top:2px}
:is(#is-root,#is-layer,#is-panel) .pk-head td{background:rgba(24,35,78,.045);font-weight:650;border-top:1px solid var(--line)}
:is(#is-root,#is-layer,#is-panel) .pk-head input{font-weight:650;border:1px solid transparent;background:transparent;border-radius:var(--radius-control);padding:3px 6px;width:100%;min-width:140px}
:is(#is-root,#is-layer,#is-panel) .pk-head input:hover{border-color:var(--line);background:var(--panel)}
:is(#is-root,#is-layer,#is-panel) .chev{border:0;background:none;color:var(--muted);width:20px;padding:0}
:is(#is-root,#is-layer,#is-panel) .pk-head .wrapcell{display:flex;align-items:center;gap:4px}
:is(#is-root,#is-layer,#is-panel) .ind td:nth-child(1){padding-left:30px}
:is(#is-root,#is-layer,#is-panel) .add td{border-top:0;padding-top:4px;padding-bottom:10px;padding-left:30px}
:is(#is-root,#is-layer,#is-panel) .choose{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
:is(#is-root,#is-layer,#is-panel) .opt{text-align:left;padding:14px;background:rgba(255,255,255,.65);border:1px solid var(--edge);border-radius:var(--radius-panel);display:grid;gap:4px;box-shadow:var(--shadow)}
:is(#is-root,#is-layer,#is-panel) .opt:hover{background:var(--panel)}
:is(#is-root,#is-layer,#is-panel) .opt b{font-size:var(--t14)}
:is(#is-root,#is-layer,#is-panel) .opt small{color:var(--muted);font-size:var(--t12);line-height:1.4}
:is(#is-root,#is-layer,#is-panel) .opt.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
:is(#is-root,#is-layer,#is-panel) .opt:disabled{opacity:.5;cursor:not-allowed}
:is(#is-root,#is-layer,#is-panel) .plan{position:relative;display:grid;gap:4px;min-width:980px;padding:12px 16px}
:is(#is-root,#is-layer,#is-panel) .pl{display:grid;grid-template-columns:230px 1fr 118px;gap:10px;align-items:center;font-size:var(--t12)}
:is(#is-root,#is-layer,#is-panel) .pl .lane{position:relative;height:30px;background:rgba(255,255,255,.34);border-radius:var(--radius-sm)}
:is(#is-root,#is-layer,#is-panel) .pl .lane.axis{height:18px;background:none;font-size:var(--t11);font-weight:700;color:var(--muted)}
:is(#is-root,#is-layer,#is-panel) .pl .lane.axis span{position:absolute;white-space:nowrap}
:is(#is-root,#is-layer,#is-panel) .seg-bar{position:absolute;top:5px;bottom:5px;font-size:10px;font-weight:700;color:#fff;display:flex;align-items:center;padding:0 5px;overflow:hidden;white-space:nowrap;border-radius:3px}
:is(#is-root,#is-layer,#is-panel) .mv{position:absolute;top:0;bottom:0;cursor:ew-resize;touch-action:none}
:is(#is-root,#is-layer,#is-panel) .mv:hover .seg-bar{filter:brightness(1.08)}
:is(#is-root,#is-layer,#is-panel) .dia{position:absolute;top:9px;width:12px;height:12px;background:var(--ink);transform:rotate(45deg);margin-left:-6px}
:is(#is-root,#is-layer,#is-panel) .tgt{position:absolute;top:2px;bottom:2px;width:2px;background:var(--gold)}
:is(#is-root,#is-layer,#is-panel) .today{position:absolute;top:0;bottom:0;width:1px;background:var(--danger);opacity:.5}
:is(#is-root,#is-layer,#is-panel) .wv{position:absolute;top:4px;bottom:4px;border-radius:var(--radius-sm);color:#fff;font-size:var(--t11);font-weight:700;display:flex;align-items:center;padding:0 12px 0 8px;overflow:hidden;white-space:nowrap;cursor:grab;touch-action:none}
:is(#is-root,#is-layer,#is-panel) .wv.ibm{background:var(--stage3)}
:is(#is-root,#is-layer,#is-panel) .wv.biz{background:var(--stage1)}
:is(#is-root,#is-layer,#is-panel) .wv u{position:absolute;right:0;top:0;bottom:0;width:8px;cursor:ew-resize;background:#ffffff40}
:is(#is-root,#is-layer,#is-panel) .heat{display:flex;align-items:flex-end;height:30px;gap:1px}
:is(#is-root,#is-layer,#is-panel) .heat i{flex:1;background:var(--stage3);border-radius:1px 1px 0 0;min-height:1px;opacity:.85}
:is(#is-root,#is-layer,#is-panel) .heat.biz i{background:var(--stage1)}
:is(#is-root,#is-layer,#is-panel) .heat i.idle{background:var(--control);opacity:1}
:is(#is-root,#is-layer,#is-panel) .heat i.pause{background:repeating-linear-gradient(45deg,var(--control),var(--control) 2px,transparent 2px,transparent 4px);height:100%!important}
:is(#is-root,#is-layer,#is-panel) .people{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
:is(#is-root,#is-layer,#is-panel) .ppl{display:grid;gap:6px;padding:14px 16px;align-content:start}
:is(#is-root,#is-layer,#is-panel) .ppl h3{margin:0;font-size:var(--t14)}
:is(#is-root,#is-layer,#is-panel) .prow{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;width:100%;border:0;background:none;text-align:left;padding:5px 6px;border-radius:var(--radius-control)}
:is(#is-root,#is-layer,#is-panel) .prow:hover{background:rgba(255,255,255,.7)}
:is(#is-root,#is-layer,#is-panel) .av{width:32px;height:32px;border-radius:50%;background:#e4ecfa;color:#315e97;display:grid;place-items:center;font-weight:700;font-size:var(--t12)}
:is(#is-root,#is-layer,#is-panel) .av.biz{background:#e6f4ec;color:var(--ok)}
:is(#is-root,#is-layer,#is-panel) .av.new{background:var(--warn-fill);color:var(--warn)}
:is(#is-root,#is-layer,#is-panel) .prow b{display:block;font-size:var(--t13)}
:is(#is-root,#is-layer,#is-panel) .prow small{color:var(--muted);font-size:var(--t12)}
:is(#is-root,#is-layer,#is-panel) .load{width:90px;height:7px;background:var(--control);border-radius:var(--radius-xs);overflow:hidden}
:is(#is-root,#is-layer,#is-panel) .load i{display:block;height:100%;background:var(--stage3)}
:is(#is-root,#is-layer,#is-panel) .load i.over{background:var(--danger)}
:is(#is-root,#is-layer,#is-panel) .float.pend{background:linear-gradient(180deg,#25336a,var(--ink))}
:is(#is-root,#is-layer,#is-panel) .iconbtn{display:inline-flex;gap:6px;align-items:center}
@media(max-width:1100px){:is(#is-root,#is-layer,#is-panel) .people,:is(#is-root,#is-layer,#is-panel) .choose{grid-template-columns:1fr}}
:is(#is-root,#is-layer,#is-panel) .wrap.wide{max-width:none}
:is(#is-root,#is-layer,#is-panel) .gx{overflow:auto;border-radius:var(--r-panel)}
:is(#is-root,#is-layer,#is-panel) .gr{display:flex;width:max-content;min-width:100%;border-top:1px solid var(--line)}
:is(#is-root,#is-layer,#is-panel) .gr:first-child{border-top:0;position:sticky;top:0;z-index:7}
:is(#is-root,#is-layer,#is-panel) .gl{position:sticky;left:0;z-index:5;flex:none;width:310px;padding:8px 12px;background:rgba(243,246,254,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-right:1px solid var(--line);display:flex;gap:8px;align-items:center;min-width:0}
:is(#is-root,#is-layer,#is-panel) .gl .t{min-width:0;flex:1}
:is(#is-root,#is-layer,#is-panel) .gl b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--t13)}
:is(#is-root,#is-layer,#is-panel) .gl small{color:var(--muted);font-size:var(--t12);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:is(#is-root,#is-layer,#is-panel) .gl .r{text-align:right;flex:none;font-size:var(--t12);font-variant-numeric:tabular-nums}
:is(#is-root,#is-layer,#is-panel) .gl .r b{font-size:var(--t13)}
:is(#is-root,#is-layer,#is-panel) .gt{position:relative;flex:none}
:is(#is-root,#is-layer,#is-panel) .gt.lane{background-image:linear-gradient(to right,var(--line) 1px,transparent 1px)}
:is(#is-root,#is-layer,#is-panel) .row-p{height:64px}
:is(#is-root,#is-layer,#is-panel) .row-i{height:40px}
:is(#is-root,#is-layer,#is-panel) .row-c{height:48px}
:is(#is-root,#is-layer,#is-panel) .row-a{height:42px;background:rgba(243,246,254,.94)}
:is(#is-root,#is-layer,#is-panel) .row-a span{position:absolute;top:4px;font-size:var(--t12);font-weight:700;white-space:nowrap}
:is(#is-root,#is-layer,#is-panel) .row-a em{position:absolute;bottom:3px;font-style:normal;font-size:var(--t10);color:var(--muted)}
:is(#is-root,#is-layer,#is-panel) .bar2{position:absolute;top:17px;height:30px;border-radius:var(--radius-sm);color:#fff;font-size:var(--t12);font-weight:700;display:flex;align-items:center;padding:0 8px;overflow:hidden;white-space:nowrap;pointer-events:none}
:is(#is-root,#is-layer,#is-panel) .bar2.deliv{background:#c9d6ea;color:var(--ink)}
:is(#is-root,#is-layer,#is-panel) .row-i .bar2{top:9px;height:22px;font-size:var(--t11);border-radius:var(--radius-sm)}
:is(#is-root,#is-layer,#is-panel) .mv2{position:absolute;top:10px;height:44px;cursor:ew-resize;touch-action:none;z-index:1;border-radius:var(--radius-control)}
:is(#is-root,#is-layer,#is-panel) .mv2:hover{background:rgba(24,35,78,.07)}
:is(#is-root,#is-layer,#is-panel) .bend{position:absolute;top:17px;height:30px;width:12px;cursor:col-resize;z-index:2;background:rgba(255,255,255,.55);border-radius:0 var(--radius-sm) var(--radius-sm) 0;touch-action:none}
:is(#is-root,#is-layer,#is-panel) .dia2{position:absolute;top:24px;width:16px;height:16px;background:var(--ink);transform:rotate(45deg);margin-left:-8px;z-index:2}
:is(#is-root,#is-layer,#is-panel) .tgt2{position:absolute;top:6px;bottom:6px;width:3px;background:var(--gold);border-radius:var(--radius-xs);z-index:2}
:is(#is-root,#is-layer,#is-panel) .tdy{position:absolute;top:0;bottom:0;width:2px;background:var(--danger);opacity:.45;z-index:2}
:is(#is-root,#is-layer,#is-panel) .gt .wv{top:8px;bottom:8px;font-size:var(--t12)}
:is(#is-root,#is-layer,#is-panel) .cells{display:flex;height:100%}
:is(#is-root,#is-layer,#is-panel) .cells i{flex:none;font-style:normal;font-size:var(--t10);font-weight:700;display:grid;place-items:center;border-right:1px solid var(--line);color:var(--ink)}
:is(#is-root,#is-layer,#is-panel) .cells i.pause{background:repeating-linear-gradient(45deg,var(--control),var(--control) 3px,transparent 3px,transparent 6px)!important}
:is(#is-root,#is-layer,#is-panel) .zoom{display:inline-flex;gap:2px;align-items:center;background:var(--control);border-radius:999px;padding:3px}
:is(#is-root,#is-layer,#is-panel) .zoom button{border:0;background:none;border-radius:999px;min-width:30px;height:28px;font-weight:700;color:var(--ink);font-size:var(--t13);padding:0 8px}
:is(#is-root,#is-layer,#is-panel) .zoom button:hover{background:var(--panel)}
:is(#is-root,#is-layer,#is-panel) .chev2{border:0;background:none;width:18px;padding:0;color:var(--muted);flex:none}
:is(#is-root,#is-layer,#is-panel) .as{display:inline-flex;align-items:center;gap:6px;font-size:var(--t12);color:var(--muted);margin-left:auto}
:is(#is-root,#is-layer,#is-panel) .as .seg{min-width:130px}
:is(#is-root,#is-layer,#is-panel) .tabs{margin-left:10px}
:is(#is-root,#is-layer,#is-panel) .gate{padding:9px 12px;border-radius:var(--radius-control);background:var(--warn-fill);color:var(--warn);font-size:var(--t13);font-weight:600}
:is(#is-root,#is-layer,#is-panel) .gate.free{background:var(--ok-fill);color:var(--ok)}
:is(#is-root,#is-layer,#is-panel) .bulk{position:fixed;left:50%;transform:translateX(-50%);bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:30;width:min(1040px,calc(100% - 32px));background:var(--popover);border:1px solid var(--edge);border-radius:var(--radius-dialog);box-shadow:var(--float);backdrop-filter:saturate(170%) blur(26px);-webkit-backdrop-filter:saturate(170%) blur(26px);padding:12px 16px;display:grid;gap:10px;animation:bulkin .16s ease-out}
@keyframes bulkin{from{transform:translate(-50%,14px);opacity:.4}}
@media(prefers-reduced-motion:reduce){:is(#is-root,#is-layer,#is-panel) .bulk{animation:none}}
:is(#is-root,#is-layer,#is-panel) .bulk-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:var(--t13)}
:is(#is-root,#is-layer,#is-panel) .bulk-top b{font-size:var(--t14)}
:is(#is-root,#is-layer,#is-panel) .bulk-top select{border:1px solid var(--line);background:rgba(255,255,255,.75);border-radius:var(--radius-control);padding:5px 8px;font-size:var(--t12);max-width:150px}
:is(#is-root,#is-layer,#is-panel) .bulk-top .sp{flex:1}
:is(#is-root,#is-layer,#is-panel) .flowsteps{display:flex;gap:4px;align-items:stretch;overflow-x:auto}
:is(#is-root,#is-layer,#is-panel) .flowsteps .lbl{align-self:center;font-size:var(--t11);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-right:6px;white-space:nowrap}
:is(#is-root,#is-layer,#is-panel) .fs{position:relative;flex:1 0 auto;min-width:92px;border:1px solid var(--line);background:rgba(255,255,255,.6);border-radius:var(--radius-panel);padding:8px 10px 7px;text-align:left;display:grid;gap:1px;transition:background .12s,transform .12s}
:is(#is-root,#is-layer,#is-panel) .fs:hover{background:var(--panel);transform:translateY(-1px)}
:is(#is-root,#is-layer,#is-panel) .fs b{font-size:var(--t13);white-space:nowrap}
:is(#is-root,#is-layer,#is-panel) .fs small{font-size:var(--t11);color:var(--muted);white-space:nowrap}
:is(#is-root,#is-layer,#is-panel) .fs.next{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:#fff9e8}
:is(#is-root,#is-layer,#is-panel) .fs.done b{color:var(--ok)}
:is(#is-root,#is-layer,#is-panel) .fs.warn{border-color:var(--danger);background:var(--danger-fill)}
:is(#is-root,#is-layer,#is-panel) .fs.warn b{color:var(--danger)}
:is(#is-root,#is-layer,#is-panel) .cbs{display:flex;flex-wrap:wrap;gap:4px;min-height:32px;padding:3px;border-radius:var(--radius-control);transition:background .12s}
:is(#is-root,#is-layer,#is-panel) .cbs.over{background:rgba(56,109,167,.14);outline:1.5px dashed var(--focus)}
:is(#is-root,#is-layer,#is-panel) .cb{width:30px;height:30px;border-radius:50%;border:2px solid var(--line);color:#fff;font-size:var(--t10);font-weight:800;display:grid;place-items:center;padding:0;cursor:grab;box-shadow:0 1px 3px #14223b33;letter-spacing:.02em}
:is(#is-root,#is-layer,#is-panel) .cb:hover{transform:translateY(-1px) scale(1.06)}
:is(#is-root,#is-layer,#is-panel) .pkt{display:grid;grid-template-columns:32px minmax(0,1.6fr) repeat(5,minmax(70px,1fr));gap:10px;align-items:center;padding:8px 2px;border-top:1px solid var(--line);font-size:var(--t13)}
:is(#is-root,#is-layer,#is-panel) .pkt.h{border-top:0;font-size:var(--t11);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
:is(#is-root,#is-layer,#is-panel) .pkt .cb{cursor:default}
#is-root .wrap{max-width:1500px;margin:0 auto;padding:12px 0 110px}#is-root .top{position:static}
.is-strip{display:flex;align-items:center;gap:14px;margin:10px 0}.is-strip .crumb{font-size:var(--t12);color:var(--muted)}.is-strip .tabs{display:flex;gap:2px;background:var(--control-fill);padding:3px;border-radius:999px}.is-strip .tabs button{border:0;background:none;padding:6px 14px;border-radius:999px;font-weight:600;font-size:var(--t13);color:var(--muted);cursor:pointer}.is-strip .tabs button.on{background:var(--panel);color:var(--ink);box-shadow:0 1px 3px #14223b22}
:is(#is-root,#is-layer,#is-panel) .cb .client-avatar{width:100%;height:100%;border-radius:50%;overflow:hidden;display:grid;place-items:center;font-size:inherit;background:transparent;color:inherit;border:0;box-shadow:none}:is(#is-root,#is-layer,#is-panel) .cb .client-avatar img{width:100%;height:100%;object-fit:cover}
:is(#is-root,#is-layer,#is-panel) input.eff{width:72px;height:30px;padding:0 6px;border:1px solid var(--line);border-radius:var(--r-control);background:rgba(255,255,255,.75);text-align:right}
.is-pub{display:inline-block;margin-left:6px;font-size:var(--t11);font-weight:600;color:var(--muted)}
.is-pub.on{color:var(--ok)}


/* See and edit at once: the package opens beside the plan, as in the Adjustment centre. */
#is-panel{position:fixed;top:70px;right:0;bottom:0;width:min(720px,46vw);z-index:60;display:flex;flex-direction:column;background:var(--glass-popup);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-left:1px solid var(--glass-edge);border-radius:var(--radius-dialog) 0 0 var(--radius-dialog);box-shadow:var(--dialog-shadow);color:var(--ink)}
#is-panel .ip-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}
#is-panel .ip-head small{display:block;color:var(--muted);font-size:var(--t12)}
#is-panel .ip-head b{font-size:var(--t16)}
#is-panel .ip-head .sp{flex:1}
#is-panel .ip-body{flex:1;overflow:auto;padding:14px 18px}
#is-panel .ip-body .panel{background:none;border:0;box-shadow:none;padding:0}
#is-panel .ip-body h2{display:none}
.is-panel-open main{padding-right:calc(min(720px,46vw) + 12px)}
.is-panel-open .factory-layout.cockpit-dock{grid-template-columns:minmax(0,1fr)!important}
.is-panel-open .factory-sidebar,.is-panel-open main .program-ribbon,.is-panel-open main .factory-chain{display:none}
:is(#is-root,#is-layer,#is-panel) .kind{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:6px;vertical-align:-5px;border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--link)}:is(#is-root,#is-layer,#is-panel) .kind.wms{color:var(--ink);background:var(--control-fill)}:is(#is-root,#is-layer,#is-panel) .kind svg{width:14px;height:14px}
:is(#is-root,#is-layer,#is-panel) .kinds-filter{display:inline-flex;gap:2px;padding:2px;background:var(--control-fill);border-radius:var(--radius-control)}:is(#is-root,#is-layer,#is-panel) .kinds-filter button{display:inline-flex;align-items:center;gap:2px;border:0;background:none;padding:4px 10px;font-size:var(--t12);font-weight:600;color:var(--muted);border-radius:var(--radius-sm);cursor:pointer}:is(#is-root,#is-layer,#is-panel) .kinds-filter button.on{background:var(--surface);color:var(--ink)}:is(#is-root,#is-layer,#is-panel) .kinds-filter small{font-weight:500;color:var(--muted);margin-left:3px}:is(#is-root,#is-layer,#is-panel) .kinds-filter .kind{margin-right:3px;background:none}
:is(#is-root,#is-layer,#is-panel) .kinds{display:flex;gap:16px}:is(#is-root,#is-layer,#is-panel) .kinds label{display:inline-flex;align-items:center;gap:6px;font-size:var(--t13);cursor:pointer}:is(#is-root,#is-layer,#is-panel) .kinds .kind{margin-right:0}
:is(#is-root,#is-layer,#is-panel) .treebar{display:flex;align-items:center;gap:10px;margin:0 0 6px}
:is(#is-root,#is-layer,#is-panel) .treebar h2{margin:0}
:is(#is-root,#is-layer,#is-panel) .treebar .sp{flex:1}
:is(#is-root,#is-layer,#is-panel) table.tree tr.ind td:first-child{position:relative;padding-left:34px}
:is(#is-root,#is-layer,#is-panel) table.tree tr.ind td:first-child::before{content:"";position:absolute;left:16px;top:0;bottom:0;border-left:1px solid var(--line)}
:is(#is-root,#is-layer,#is-panel) table.tree tr.ind td:first-child::after{content:"";position:absolute;left:16px;top:50%;width:10px;border-top:1px solid var(--line)}
:is(#is-root,#is-layer,#is-panel) table.tree tr.ind[draggable]{cursor:grab}
:is(#is-root,#is-layer,#is-panel) .pk-head.over{outline:2px solid var(--link);outline-offset:-2px}
:is(#is-root,#is-layer,#is-panel) .pk-name{font-weight:650;min-width:0}
:is(#is-root,#is-layer,#is-panel) .team{display:grid;gap:3px;min-width:150px}
:is(#is-root,#is-layer,#is-panel) .team select{width:100%}
:is(#is-root,#is-layer,#is-panel) .realised{display:grid;gap:3px;font-size:var(--t12);color:var(--muted)}
:is(#is-root,#is-layer,#is-panel) .prog{display:block;height:6px;width:130px;border-radius:999px;background:var(--control);overflow:hidden}
:is(#is-root,#is-layer,#is-panel) .prog i{display:block;height:100%;background:var(--ok)}
:is(#is-root,#is-layer,#is-panel) .bad-text{color:var(--danger)}
:is(#is-root,#is-layer,#is-panel) .dates{display:grid;font-size:var(--t12);color:var(--muted);white-space:nowrap}
:is(#is-root,#is-layer,#is-panel) .dates b{color:var(--ink)}
:is(#is-root,#is-layer,#is-panel) .teams{align-items:start;margin-bottom:6px}
:is(#is-root,#is-layer,#is-panel) .stat{display:flex;align-items:baseline;gap:8px;margin:2px 0 6px}
:is(#is-root,#is-layer,#is-panel) .stat b{font-size:var(--t24);font-variant-numeric:tabular-nums}
:is(#is-root,#is-layer,#is-panel) .stat span{color:var(--muted);font-size:var(--t13)}
:is(#is-root,#is-layer,#is-panel) .names{display:flex;flex-wrap:wrap;gap:4px}
:is(#is-root,#is-layer,#is-panel) .h2gap{margin:18px 4px 8px}
:is(#is-root,#is-layer,#is-panel) .tosets{margin-bottom:12px}
:is(#is-root,#is-layer,#is-panel) .tosets ul{margin:6px 0 10px;padding-left:18px;font-size:var(--t13)}
:is(#is-root,#is-layer,#is-panel) table.tree{min-width:980px}
:is(#is-root,#is-layer,#is-panel) table.tree th{white-space:normal}
:is(#is-root,#is-layer,#is-panel) .tosets .btn{justify-self:start;width:auto}
:is(#is-root,#is-layer,#is-panel) .spin{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:is-spin .8s linear infinite;flex:none}
@keyframes is-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){:is(#is-root,#is-layer,#is-panel) .spin{animation:none}}
:is(#is-root,#is-layer,#is-panel) .float.pend .btn,:is(#is-root,#is-layer,#is-panel) .float.pend .btn:hover{background:var(--surface);color:var(--ink);border-color:transparent}
.is-proposal{margin:8px 0}
.factory-row.fl-row{height:calc(var(--fl-h,58px));border-bottom:1px solid var(--line)}
.factory-row.fl-row .factory-track{height:calc(var(--fl-h,58px))}
.factory-row.fl-g1{--fl-h:68px}.factory-row.fl-g2{--fl-h:76px}.factory-row.fl-g3{--fl-h:94px}.factory-row.fl-g4{--fl-h:112px}.factory-row.fl-g5{--fl-h:130px}.factory-row.fl-g6{--fl-h:148px}
.fl-row .factory-label{gap:2px}
.fl-meta{display:flex;gap:6px;align-items:center;white-space:nowrap;margin-top:2px}
.fl-meta .badge{font-size:var(--t9);padding:1px 6px;white-space:nowrap;width:auto}
.fl-open{font-size:var(--t9);padding:0}
.fl-done{position:absolute;top:10px;height:18px;background:rgba(20,34,59,.32);border-radius:var(--radius-xs) 0 0 var(--radius-xs);z-index:3;pointer-events:none}
.fl-slip{position:absolute;top:10px;height:18px;z-index:3;pointer-events:none;background:repeating-linear-gradient(135deg,#b56636,#b56636 3px,#f4dcc8 3px,#f4dcc8 6px)}
.fl-links{position:absolute;left:0;top:0;z-index:1;pointer-events:none}
.factory-diamond.fl-golive{border:0;background:none;padding:0;font-size:var(--t12);cursor:pointer;z-index:4;line-height:18px}
.factory-diamond.fl-golive b{font-size:var(--t10);font-weight:600;margin-left:3px;color:var(--ink);background:var(--sticky);padding:0 3px;border-radius:var(--radius-xs)}
#is-panel table.tree{min-width:0}
#is-panel table.tree.compact td,#is-panel table.tree.compact th{padding:7px 6px}
#is-panel table.tree.compact select{max-width:104px}
#is-panel table.tree.compact .pk-head .wrapcell{flex-wrap:wrap}
#is-panel .ip-proj{display:grid;gap:2px;min-width:0}
#is-panel .ip-proj select{font-weight:650;font-size:var(--t16);border:0;background:none;color:var(--ink);max-width:340px;padding:0}
.factory-row.is-focus{background:rgba(229,174,47,.08)}
.factory-row.is-focus .factory-label{box-shadow:inset 3px 0 0 var(--gold,#e5ae2f)}
.is-trial{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0}
.is-trial-fields{display:flex;flex-wrap:wrap;gap:10px}
.is-trial-fields label{display:flex;align-items:center;gap:4px;font-size:var(--t12)}
.is-trial-fields input.eff{width:66px;height:28px;padding:0 6px;border:1px solid var(--line);border-radius:var(--radius-control);text-align:right}
.is-try{margin-left:8px}
@media(max-width:899px){.is-try{display:none}}
.stc{position:relative;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:var(--t11);font-weight:700;white-space:nowrap;cursor:pointer;margin:0}.stc select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;padding:0}.stc-i{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block}.stc.todo{background:var(--control-fill);color:var(--muted)}.stc.doing{background:#e1f1f7;color:#22718f}.stc.blocked{background:#fdeeec;color:#b4413b}.stc.done{background:#e8f4ed;color:#3f8560}.stc:hover{filter:brightness(.96)}.stx{display:flex;gap:3px}.stx .stc{padding:2px 4px}
.all-pk td{background:var(--panel-soft);font-size:var(--t13)}.all-tbd td{background:repeating-linear-gradient(135deg,rgb(5 16 56 / .03) 0 3px,transparent 3px 8px);font-size:var(--t12)}.cnt{display:grid;grid-template-columns:minmax(40px,1fr) auto;gap:6px;align-items:center}.cnt i{display:block;height:4px;border-radius:999px;background:var(--control-fill);overflow:hidden}.cnt u{display:block;height:100%;background:#3f8560}.cnt b{font-size:var(--t11);color:var(--muted);font-weight:600}.fs.bk{position:relative}.fs.bk select{width:100%;margin-top:3px}
@media(max-width:760px){.is-strip{flex-wrap:wrap}.is-strip .tabs{flex-wrap:wrap}}

/* adjust-centre.css */
/* Adjustment centre · Kestrel charter tokens only (tokens.css). Mac: plan on the left, levers on the right. iPhone: one column, Gantt scrolls inside its own box. */
html.ac-open,html.ac-open body{overflow:hidden}
#ac-root{position:fixed;inset:0;z-index:50;background:var(--bg);color:var(--ink);display:flex;flex-direction:column;font-size:var(--t13)}
.ac-note{background:var(--ink);color:#fff;font-size:var(--t12);text-align:center;padding:4px 16px}
.ac-top{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;background:var(--surface);border-bottom:1px solid var(--line);padding:10px 20px}
.ac-title{display:grid;margin-right:8px}.ac-title small{font-size:var(--t11);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:600}.ac-title b{font-size:var(--t20);letter-spacing:-.01em}
.ac-f{display:grid;gap:2px;font-size:var(--t11);color:var(--muted);font-weight:600}.ac-f select,.ac-f input{min-height:34px;border:1px solid var(--control-line);border-radius:var(--radius-control);background:var(--surface);padding:4px 8px;color:var(--ink);font-size:var(--t13);max-width:230px}
.ac-status{margin-left:auto;font-size:var(--t12);color:var(--muted);align-self:center}.ac-status.busy{color:var(--link);font-weight:600}
.ac-btn{min-height:34px;border-radius:var(--radius-control);border:1px solid var(--control-line);background:var(--control-fill);padding:5px 11px;font-weight:600;color:var(--ink);cursor:pointer;display:inline-flex;gap:6px;align-items:center;font-size:var(--t13)}
.ac-btn:hover{background:var(--control-hover)}.ac-btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}.ac-btn.danger{color:var(--danger-ink);background:var(--danger-fill);border-color:var(--danger-fill)}.ac-btn:disabled{opacity:.5;cursor:not-allowed}
.ac-btn svg,.ac-card h3 svg{width:15px;height:15px}
.ac-scroll{flex:1;overflow:auto;padding:14px 20px 40px}
.ac-empty{padding:60px;text-align:center;color:var(--muted)}.ac-err{background:var(--danger-fill);color:var(--danger-ink);padding:9px 12px;border-radius:var(--radius-control);margin:0 0 12px}
.ac-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.ac-kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);padding:9px 13px;display:grid;gap:1px}.ac-kpi small{color:var(--muted);font-size:var(--t12)}.ac-kpi b{font-size:var(--t20);font-variant-numeric:tabular-nums}.ac-kpi span{font-size:var(--t12);color:var(--muted)}
.bad{color:var(--danger-ink)!important}.good{color:#2f6b45!important}
.ac-main{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;align-items:start}.ac-left,.ac-side{display:grid;gap:12px;min-width:0}
.ac-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);padding:12px 14px;min-width:0}.ac-card>header{display:flex;gap:8px;align-items:baseline;justify-content:space-between;flex-wrap:wrap;margin-bottom:8px}.ac-card h3{font-size:var(--t14);margin:0;display:flex;gap:6px;align-items:center}.ac-card header small{color:var(--muted);font-size:var(--t12)}
.ac-want{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:6px 14px}
.ac-want-row{display:flex;align-items:center;gap:8px;padding:5px 7px;border-radius:var(--radius-control);border:1px solid transparent}.ac-want-row.on{background:var(--surface-soft);border-color:var(--line)}.ac-want-row .n{flex:1;min-width:0;display:grid}.ac-want-row .n b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--t13)}.ac-want-row .n small{color:var(--muted);font-size:var(--t11)}.ac-want-row input{border:1px solid var(--control-line);border-radius:var(--radius-control);padding:3px 5px;font-size:var(--t12);width:124px;color:var(--ink);background:var(--surface)}
.ac-pin{width:30px;height:30px;flex:none;border-radius:var(--radius-control);border:1px solid var(--control-line);background:var(--control-fill);display:grid;place-items:center;cursor:pointer;color:var(--muted)}.ac-pin svg{width:15px;height:15px}.ac-pin[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.chip{display:inline-flex;align-items:center;font-size:var(--t11);font-weight:600;border-radius:999px;padding:1px 8px;background:var(--control-fill);white-space:nowrap}.chip.good{background:#e6f3ea}.chip.bad{background:var(--danger-fill)}
.ac-legend{display:flex;gap:6px;align-items:center;font-size:11.5px;color:var(--muted)}.ac-legend i{display:inline-block;width:18px;height:6px;border-radius:2px;margin-left:8px}.ac-legend .g{background:var(--control-line)}.ac-legend .n{background:var(--link)}.ac-legend .c{background:var(--danger-ink)}.ac-legend .d{background:#7fa98e}.ac-slide{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;background:var(--surface-soft);border-radius:var(--radius-control);padding:7px 10px;margin-bottom:8px}.ac-slide>span{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ac-slide svg{width:14px;height:14px}.ac-slide small{color:var(--muted)}.ac-today{position:absolute;top:0;bottom:0;width:0;border-left:1.5px dashed var(--danger-ink);z-index:2;pointer-events:none}.ac-g-track{cursor:ew-resize}.sliding .ac-g-track>.ac-bar{translate:var(--shift,0px) 0;opacity:.75}.ac-bar.done{background:#7fa98e}.ac-donelist{display:grid;gap:3px;max-height:220px;overflow:auto}.ac-donelist label{display:flex;gap:7px;align-items:center;font-size:var(--t12)}.ac-donelist span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ac-donelist small{color:var(--muted);white-space:nowrap}
.ac-gantt{overflow:auto;max-height:58vh;border:1px solid var(--line);border-radius:var(--radius-control);touch-action:pan-x pan-y}
.ac-g-inner{position:relative}.ac-g-head{display:flex;position:sticky;top:0;background:var(--surface);z-index:4;border-bottom:1px solid var(--line);height:24px}.ac-g-head>span{flex:0 0 var(--lw);position:sticky;left:0;background:var(--surface);z-index:5}.ac-g-scale{position:relative}.ac-g-scale em{position:absolute;top:5px;font-size:var(--t10);font-style:normal;color:var(--muted);border-left:1px solid var(--line);padding-left:3px;white-space:nowrap}.ac-g-scale u{position:absolute;top:3px;text-decoration:none;background:var(--danger-ink);color:#fff;font-size:var(--t10);padding:0 4px;border-radius:var(--radius-xs);z-index:2}
.ac-g-group{position:sticky;left:0;font-size:var(--t10);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:7px 8px 2px;width:var(--lw)}
.ac-g-row{display:flex;height:27px}.ac-g-row:hover{background:var(--surface-soft)}.ac-g-row .l{flex:0 0 var(--lw);position:sticky;left:0;background:inherit;z-index:3;display:flex;gap:5px;align-items:center;padding:0 8px;background-color:var(--surface);min-width:0}.ac-g-row .l b{font-weight:500;font-size:var(--t12);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.ac-g-row .l em{font-style:normal;font-size:var(--t10);font-weight:600;color:var(--muted);white-space:nowrap}
.ac-g-track{position:relative}
.ac-ghost{position:absolute;top:18px;height:5px;background:var(--control-line);border-radius:var(--radius-xs)}.ac-ghost.solo{top:11px;height:7px}.ac-ghost.solo.m{top:10px}.ac-opt{display:grid;gap:7px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}.ac-ghost.m{width:7px!important;height:7px;transform:rotate(45deg) translate(-3px,0);top:17px;border-radius:1px}
.ac-bar{position:absolute;top:4px;height:12px;border:0;border-radius:3px;background:var(--link);padding:0;cursor:pointer}.ac-bar[data-ac-drag]{cursor:grab}.ac-bar.crit{background:var(--ink)}.ac-bar.conflict{background:var(--danger-ink)}.ac-bar.pin{outline:2px solid var(--gold);outline-offset:1px}.ac-bar.dragging{opacity:.75;cursor:grabbing}.ac-bar.m{width:12px!important;height:12px;transform:rotate(45deg);top:3px;border-radius:2px;margin-left:-6px;background:var(--ink)}.ac-bar.m.conflict{background:var(--danger-ink)}.ac-bar .h{position:absolute;right:0;top:0;bottom:0;width:7px;cursor:ew-resize;border-radius:0 3px 3px 0;background:#ffffff55}
.ac-gone{margin-top:8px;font-size:var(--t12)}.ac-gone summary{cursor:pointer;display:inline-flex;gap:6px;align-items:center;color:var(--link);font-weight:600}.ac-gone svg{width:14px;height:14px}.ac-gone ul{columns:2;margin:6px 0 0;padding-left:18px}.ac-gone small{color:var(--muted)}
.ac-list{list-style:none;margin:0;padding:0;display:grid;gap:3px}.ac-list li{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:4px 0;border-top:1px solid var(--line);font-size:var(--t12)}.ac-list li:first-child{border-top:0}.ac-list em{font-style:normal;font-weight:700}.ac-list li.kept{color:var(--muted)}
.ac-x{border:0;background:var(--control-fill);border-radius:var(--radius-control);min-width:26px;height:26px;cursor:pointer;color:var(--ink);font-weight:600;font-size:var(--t12);padding:0 7px}.ac-x:hover{background:var(--control-hover)}
.ac-hint{color:var(--muted);margin:0;font-size:var(--t12)}
.ac-conflicts{display:grid;gap:5px;margin-bottom:8px}.ac-conflicts div{background:var(--danger-fill);border-radius:var(--radius-control);padding:6px 9px;display:grid}.ac-conflicts b{font-size:var(--t12)}.ac-conflicts span{font-size:var(--t12);color:var(--danger-ink)}
.ac-block{padding:6px 0;border-top:1px solid var(--line)}.ac-block b{font-size:var(--t12);font-weight:600}.ac-block small{color:var(--muted);margin-left:6px;font-size:var(--t11)}.ac-acts{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}
.ac-chip{border:1px solid var(--control-line);background:var(--control-fill);border-radius:var(--radius-control);padding:3px 8px;font-size:var(--t12);font-weight:600;color:var(--ink);cursor:pointer;min-height:28px}.ac-chip:hover{background:var(--control-hover)}
.ac-cap{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}
.ac-seg{display:flex;gap:4px;margin-bottom:8px}.ac-seg button{border:0;background:none;padding:4px 8px;border-radius:var(--radius-control);cursor:pointer;color:var(--muted);font-weight:600;font-size:var(--t12)}.ac-seg button[aria-pressed=true]{background:var(--control-fill);color:var(--ink)}
.ac-t{width:100%;border-collapse:collapse;font-size:var(--t12);font-variant-numeric:tabular-nums}.ac-t th{text-align:left;color:var(--muted);font-weight:600;padding:3px 5px 3px 0}.ac-t td{border-top:1px solid var(--line);padding:4px 5px 4px 0}.ac-t tr.me td{font-weight:700}
.ac-after{max-width:980px;margin:0 auto}.ac-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.ac-facts div{background:var(--surface-soft);border-radius:var(--radius-control);padding:8px 10px;display:grid}.ac-facts b{font-size:var(--t18)}.ac-facts span{font-size:var(--t12);color:var(--muted)}
.ac-capchart{display:flex;align-items:flex-end;gap:1px;height:110px;margin:6px 0 2px}.ac-capchart i{position:relative;flex:1;height:100%;display:block}.ac-capchart s{position:absolute;left:0;right:0;bottom:0;background:var(--control-line)}.ac-capchart b{position:absolute;left:1px;right:1px;bottom:0;background:var(--link)}.ac-capchart i.full b{background:var(--danger-ink)}.ac-capaxis{display:flex;justify-content:space-between;font-size:var(--t11);color:var(--muted);margin-bottom:8px}
:focus-visible{outline-offset:2px}
@media (max-width:899px){#ac-root{display:block;overflow:auto}.ac-scroll{overflow:visible}.ac-top{padding:8px 16px}.ac-scroll{padding:10px 16px 40px}.ac-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-main{grid-template-columns:minmax(0,1fr)}.ac-want{grid-template-columns:minmax(0,1fr)}.ac-f{flex:1 1 44%}.ac-f select,.ac-f input{max-width:none;width:100%}.ac-status{width:100%;margin:0}.ac-gone ul{columns:1}.ac-facts{grid-template-columns:repeat(2,1fr)}.ac-g-row{height:30px}.ac-bar{height:14px}.ac-ghost{top:21px}}

.ac-howto{margin:0 0 6px}.ac-held{display:block;color:var(--danger-ink);font-size:var(--t11)}.ac-bar .h{width:9px;background:repeating-linear-gradient(90deg,#fff9 0 1px,transparent 1px 3px)}.ac-bar:hover{filter:brightness(1.15)}.ac-donelist input{width:auto;flex:none;min-height:0;margin:0}.ac-donelist label{grid-template-columns:none;margin:0}
.ac-donelist{grid-template-columns:minmax(0,1fr)}.ac-donelist label{display:flex!important;width:100%;min-width:0}.ac-donelist span{display:block;max-width:100%}

.ac-layers{display:flex;gap:8px 16px;flex-wrap:wrap;align-items:center;margin-bottom:6px}.ac-layer{display:flex;gap:6px;align-items:center;font-size:var(--t12);font-weight:600}.ac-layer i{width:16px;height:9px;border-radius:var(--radius-xs);background:var(--link)}.ac-layer.before i{background:var(--gold)}.ac-layer input{width:96px;padding:0;min-height:0;accent-color:var(--ink)}
.ac-eye{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--control-line);border-radius:var(--radius-control);background:var(--control-fill);color:var(--muted);cursor:pointer}.ac-eye[aria-pressed=true]{color:var(--ink);background:var(--surface)}.ac-eye[aria-pressed=false]{opacity:.55}.ac-chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.ac-ghost,.ac-ghost.solo{top:4px;height:12px;background:var(--gold);border-radius:var(--radius-xs);opacity:var(--lb,.6)}.ac-ghost.m,.ac-ghost.solo.m{top:3px;width:12px!important;height:12px;transform:rotate(45deg);margin-left:-6px;border-radius:var(--radius-xs)}
.ac-bar{opacity:var(--la,.8);z-index:1}
@media (max-width:899px){.ac-ghost,.ac-ghost.solo{height:14px}.ac-layer input{width:72px}}

.ac-ghost,.ac-ghost.solo{top:1px;height:18px;border-radius:var(--radius-xs)}.ac-ghost.m,.ac-ghost.solo.m{top:2px;width:15px!important;height:15px;margin-left:-7px}
.ac-bar{box-shadow:0 0 0 1px #ffffff99}
@media (max-width:899px){.ac-ghost,.ac-ghost.solo{height:20px}}

.ac-pane-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.ac-pane-head h3{margin:0 0 2px;font-size:var(--t16)}
.ac-edi{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;align-items:start}.ac-edi-chart{min-width:0;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);padding:8px}.ac-edi-side{min-width:0}.ac-edi .fcw-banner,.ac-edi .fcw-footer{display:none!important}
.ac-pools{display:grid;grid-template-columns:320px minmax(0,1fr);gap:12px;align-items:start}.ac-pool-grid{display:grid;gap:6px;max-height:72vh;overflow:auto}.ac-pool{display:grid;gap:1px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);padding:8px 10px;cursor:pointer;color:var(--ink)}.ac-pool b{font-size:var(--t13)}.ac-pool span{font-size:var(--t12)}.ac-pool small{font-size:var(--t11);color:var(--muted)}.ac-pool.risk small{color:var(--danger-ink);font-weight:600}.ac-pool.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.ac-pool-acts{align-items:flex-end;margin:10px 0}.ac-alloc input{width:150px}.ac-members{margin-top:10px;font-size:var(--t12)}.ac-members summary{cursor:pointer;color:var(--link);font-weight:600}
@media (max-width:899px){.ac-edi,.ac-pools{grid-template-columns:minmax(0,1fr)}.ac-pool-grid{max-height:240px}}

.ac-static{font-size:var(--t13);color:var(--ink);line-height:34px;font-weight:600}.ac-edi-side{position:sticky;top:0}.ps-centre-btn{margin:8px 0}

.ac-top{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;padding:8px 18px;min-height:60px}
.ac-back{width:36px;height:36px;flex:none;border:1px solid var(--control-line);background:var(--control-fill);border-radius:var(--radius-control);font-size:var(--t18);cursor:pointer;color:var(--ink)}.ac-back:hover{background:var(--control-hover)}
.ac-title{min-width:0;margin:0;flex:none;max-width:200px}.ac-title b{font-size:var(--t18);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-pills{display:flex;gap:8px;flex:1;min-width:0;overflow:auto;scrollbar-width:none}.ac-pills::-webkit-scrollbar{display:none}
.ac-pill{display:flex;align-items:center;gap:8px;flex:0 1 auto;min-width:0;border:1px solid var(--line);background:var(--surface-soft);border-radius:var(--radius-panel);padding:5px 12px;cursor:pointer;color:var(--ink);text-align:left}.ac-pill:hover:not(:disabled){background:var(--control-hover);border-color:var(--control-line)}.ac-pill:disabled{cursor:default;color:var(--ink)}.ac-pill svg{width:16px;height:16px;color:var(--muted);flex:none}.ac-pill span{display:grid;min-width:0}.ac-pill small{font-size:var(--t11);color:var(--muted);font-weight:600}.ac-pill b{font-size:var(--t13);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}
.ac-right{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}.ac-right .ac-status{margin:0}
.ac-err{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ac-err span{flex:1 1 280px;font-weight:600}.ac-err small{width:100%;color:var(--muted)}
.ac-choices{display:grid;gap:8px;margin:10px 0}.ac-choice{display:grid;gap:2px;text-align:left;border:1px solid var(--line);border-radius:var(--radius-control);padding:10px 12px;background:var(--surface);cursor:pointer;color:var(--ink);font-weight:400}.ac-choice input{justify-self:start;width:auto;min-height:0}.ac-choice span{color:var(--muted);font-size:var(--t12)}.ac-choice small{font-size:var(--t12)}.ac-choice.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.ac-choice:disabled{cursor:not-allowed;background:var(--surface-soft)}
.ac-holds .ac-hint{margin-bottom:6px}.ac-further{font-size:var(--t12);margin-top:6px}.ac-further summary{cursor:pointer;color:var(--link);font-weight:600}
#ac-trialbar{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:60;display:flex;gap:14px;align-items:center;background:var(--ink);color:#fff;padding:9px 12px 9px 18px;border-radius:999px;box-shadow:var(--dialog-shadow);font-size:var(--t13);max-width:calc(100vw - 32px)}#ac-trialbar button{background:var(--panel);color:var(--ink);border:0;border-radius:999px;padding:7px 14px;font-weight:700;cursor:pointer;white-space:nowrap}
@media (max-width:899px){.ac-top{flex-wrap:wrap;gap:8px;padding:8px 16px;min-height:0}.ac-pills{order:3;flex:1 0 100%}.ac-right{margin-left:auto}.ac-title b{font-size:var(--t16)}.ac-right .ac-status{display:none}#ac-trialbar{bottom:12px;left:16px;right:16px;transform:none;flex-wrap:wrap;border-radius:var(--radius-panel)}}

.ac-bar .h.left{right:auto;left:0;border-radius:3px 0 0 3px;background:repeating-linear-gradient(90deg,#fff9 0 1px,transparent 1px 3px)}
.ac-zoom{display:inline-flex;gap:3px}.ac-zoom .ac-chip{width:30px;padding:0;font-size:var(--t14)}
.ac-links{position:absolute;left:0;top:0;pointer-events:none;z-index:2}.ac-link{fill:none;stroke:var(--link);stroke-width:1.1;opacity:.65}

.ac-phone{margin:auto;padding:32px max(24px,env(safe-area-inset-right,0px));text-align:center;max-width:340px;display:grid;gap:10px;justify-items:center}.ac-phone svg{width:28px;height:28px;color:var(--muted)}.ac-phone h3{margin:0;font-size:var(--t18)}.ac-phone p{margin:0;color:var(--muted)}

#ac-frame-scrim,.ac-window-scrim{position:fixed;inset:0;background:#18234e40;z-index:55}
#ac-frame,.ac-window{position:fixed;inset:34px 48px;z-index:56;background:var(--bg);border-radius:var(--radius-dialog);box-shadow:var(--dialog-shadow);border:1px solid var(--line)}
#ac-frame{display:flex;flex-direction:column;overflow:hidden;transform:translateZ(0)}
.ac-frame-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;background:var(--surface);border-bottom:1px solid var(--line);flex:none}.ac-frame-head div{display:grid}.ac-frame-head b{font-size:var(--t16)}.ac-frame-head small{color:var(--muted);font-size:var(--t12)}
.ac-frame-body{flex:1;min-height:0;overflow:auto;position:relative}
#ac-frame .sidebar,#ac-frame .nav-scrim,#ac-frame .topbar{display:none!important}#ac-frame .shell{display:block;min-height:0}#ac-frame .workspace{margin:0!important;width:auto!important;max-width:none!important;min-height:0}
.ac-window{overflow:auto;padding:16px 18px}

#ac-frame,.ac-window{--topbar-height:0px;--program-ribbon-height:0px}
#ac-frame main.workspace-wide{padding-top:12px}
.ac-window .ac-edi-chart{overflow:visible}.ac-window .factory-frozen,.ac-window .factory-frozen-calendar{top:0!important}.ac-window .ac-edi-side{top:0}
#ac-frame .program-ribbon{top:0!important}

.ac-window .ac-pane-head{position:sticky;top:-16px;z-index:30;background:var(--bg);margin:-16px -18px 10px;padding:14px 18px 10px;border-bottom:1px solid var(--line)}

#ac-frame .fcw-banner,#ac-frame .fcw-footer{display:none!important}#ac-frame .factory-frozen,#ac-frame .factory-frozen-calendar{top:0!important}

#ac-frame .program-ribbon{position:static!important}
#ac-frame [class*="tabs"],#ac-frame .factory-frozen,#ac-frame .factory-frozen-calendar{top:0!important}

#ac-frame .factory-operation,#ac-frame .workspace-operation,#ac-frame .factory-sidebar{position:static!important;top:auto!important}

.ac-stretch small{display:block;color:var(--muted);font-size:var(--t11)}.pm-flexible{display:flex;gap:8px;align-items:center;grid-column:1/-1}.pm-flexible input{width:auto;min-height:0}

#chart-insight{z-index:70}

.ac-over{display:grid;gap:1px;width:100%;text-align:left;background:var(--danger-fill);border:0;border-radius:var(--radius-control);padding:6px 9px;cursor:pointer;color:var(--ink)}.ac-over b{font-size:var(--t12)}.ac-over span{font-size:var(--t12);color:var(--danger-ink)}.ac-over:hover{box-shadow:inset 0 0 0 1px var(--danger-ink)}
#ac-hover{position:fixed;z-index:70;width:380px;background:var(--popover);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:var(--dialog-shadow);padding:12px 14px;display:grid;gap:6px}#ac-hover>small{color:var(--danger-ink);font-size:var(--t12)}#ac-hover svg{width:100%;height:auto;display:block}#ac-hover rect{fill:var(--link)}#ac-hover rect.o{fill:var(--danger-ink)}#ac-hover path{fill:none;stroke:#168277;stroke-width:2}#ac-hover text{font-size:var(--t13);fill:var(--muted)}#ac-hover ul{list-style:none;margin:0;padding:0;display:grid;gap:2px;font-size:var(--t12)}#ac-hover li{display:flex;justify-content:space-between;gap:10px}#ac-hover em{font-style:normal;font-size:var(--t12);color:var(--link);font-weight:600}

/* Right panel: model, placement, go-lives, quantities */
.mjs{position:fixed;right:0;bottom:0;width:440px;z-index:55;background:var(--popover);border-left:1px solid var(--line);box-shadow:var(--dialog-shadow);display:grid;grid-template-rows:auto 1fr auto;color:var(--ink);animation:mjs-in .16s ease-out}.mjs.wide{width:760px}@keyframes mjs-in{from{transform:translateX(24px);opacity:.4}}
.mjs-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line)}.mjs-head nav{display:flex;gap:2px;flex:1;min-width:0}.mjs-head nav button{display:inline-flex;align-items:center;gap:5px;border:0;background:none;color:var(--muted);font-size:var(--t12);font-weight:600;padding:6px 9px;border-radius:var(--radius-control);cursor:pointer;white-space:nowrap}.mjs-head nav button svg{width:14px;height:14px}.mjs-head nav button:hover{background:var(--control-hover)}.mjs-head nav button.on{background:var(--ink);color:#fff}
.mjs-body{overflow:auto;padding:16px;display:grid;gap:16px;align-content:start}.mjs-foot{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line)}.mjs-foot small{flex:1;color:var(--muted);font-size:var(--t12)}.mjs small.bad,.mjs-foot small.bad{color:var(--danger-ink)}
.mjs-group{display:grid;gap:8px}.mjs-group h4{margin:0;font-size:var(--t11);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.mjs-hint{color:var(--muted);font-size:var(--t12);line-height:1.4}
.mjs-q{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface)}.mjs-q.bad{border-color:var(--danger-ink);background:var(--danger-fill)}.mjs-q-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.mjs-q-l{display:grid;gap:1px;min-width:0}.mjs-q-l b{font-size:var(--t13);font-weight:600}.mjs-q-l small{color:var(--muted);font-size:var(--t11)}.mjs-q-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.mjs-q-foot small{color:var(--muted);font-size:var(--t11)}
.mjs-step{display:inline-flex;align-items:center;border:1px solid var(--control-line);border-radius:var(--radius-control);overflow:hidden;background:var(--surface)}.mjs-step button{width:30px;height:30px;border:0;background:var(--control-fill);color:var(--ink);font-size:var(--t14);cursor:pointer;padding:0}.mjs-step button:hover{background:var(--control-hover)}.mjs-step input{width:64px;height:30px;min-height:0;border:0;border-radius:0;text-align:center;font-weight:700;padding:0;-moz-appearance:textfield}.mjs-step input::-webkit-inner-spin-button{display:none}.mjs-step output{min-width:34px;text-align:center;font-weight:700;font-size:var(--t13)}.mjs-step.sm button{width:26px;height:26px}
.mjs-range{position:relative;height:6px;border-radius:var(--radius-xs);background:var(--control-fill)}.mjs-range i{position:absolute;top:0;bottom:0;background:var(--control-line);border-radius:var(--radius-xs)}.mjs-range u{position:absolute;top:-3px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--ink);border:2px solid var(--surface);box-sizing:border-box}.mjs-q.bad .mjs-range u{background:var(--danger-ink)}
.mjs-fix{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mjs-fix span{flex:1 1 100%;display:flex;gap:5px;align-items:center;color:var(--danger-ink);font-size:var(--t12);font-weight:600}.mjs-fix svg{width:14px;height:14px}.mjs-fix .secondary,.mjs-use .primary{min-height:30px;padding:4px 10px;font-size:var(--t12)}.mjs-link{border:0;background:none;color:var(--link);font-size:var(--t12);cursor:pointer;padding:2px;text-decoration:underline}
.mjs-toggle{grid-template-columns:1fr auto;align-items:center}.mjs-toggle b{font-size:var(--t13);font-weight:600}.mjs-seg{display:inline-flex;gap:2px;background:var(--control-fill);border-radius:var(--radius-control);padding:2px}.mjs-seg button{border:0;background:none;color:var(--muted);font-size:var(--t12);font-weight:600;padding:5px 12px;border-radius:var(--radius-sm);cursor:pointer}.mjs-seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #14223b22}.mjs-seg.wide{display:flex}.mjs-seg.wide button{flex:1;padding:6px 0}
.mjs-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mjs-cards.two{grid-template-columns:1fr 1fr}.mjs-card{display:grid;gap:4px;align-content:start;text-align:left;border:1px solid var(--line);border-radius:var(--radius-panel);padding:10px;background:var(--surface);cursor:pointer;color:var(--ink)}.mjs-card:hover{background:var(--surface-soft)}.mjs-card svg{width:70px;height:28px;color:var(--muted)}.mjs-card b{font-size:var(--t13);font-weight:600}.mjs-card small{color:var(--muted);font-size:var(--t11);line-height:1.35}.mjs-card.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.mjs-card.on svg{color:var(--ink)}.mjs-card:disabled{opacity:.55;cursor:not-allowed}
.mjs-date{display:flex;gap:6px}.mjs-date input{flex:1;min-height:34px}.mjs-date .secondary{min-height:34px;width:36px;padding:0}.mjs-span{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--surface-soft);border-radius:var(--radius-panel)}.mjs-span span{display:grid;gap:1px;white-space:nowrap}.mjs-span small{color:var(--muted);font-size:var(--t11)}.mjs-span b{font-size:var(--t13)}.mjs-span i{flex:1;height:2px;background:var(--control-line)}
.mjs-track{position:relative;height:54px;margin:6px 26px 2px}.mjs-track>b{position:absolute;left:0;right:0;top:9px;height:2px;background:var(--control-line)}.mjs-pin{position:absolute;top:0;width:0;display:grid;justify-items:center}.mjs-pin i{width:18px;height:18px;border-radius:50%;background:var(--ink);border:3px solid var(--surface);box-sizing:border-box;display:block}.mjs-pin.drag i{cursor:ew-resize;background:var(--focus)}.mjs-pin small{white-space:nowrap;font-size:var(--t11);font-weight:600;margin-top:4px;max-width:90px;overflow:hidden;text-overflow:ellipsis}
.mjs-wave{display:flex;align-items:center;gap:8px;min-height:34px}.mjs-wave input{flex:1;min-width:0;min-height:30px;height:30px;padding:2px 8px}.mjs-wave small{color:var(--muted);font-size:var(--t11);white-space:nowrap}.mjs-wd{font-size:var(--t12);font-weight:600;white-space:nowrap;min-width:64px}.mjs-wn{flex:1;font-size:var(--t13);font-weight:600}.mjs-first{min-width:112px;text-align:right}
.mjs-split{display:flex;gap:2px;height:22px;border-radius:var(--radius-sm);overflow:hidden}.mjs-split i{background:var(--ink);color:#fff;font-style:normal;font-size:var(--t11);font-weight:700;display:grid;place-items:center;min-width:0}.mjs-split i:nth-child(2){background:var(--focus)}.mjs-split i:nth-child(3){background:var(--muted)}.mjs-split i:nth-child(n+4){background:var(--gold);color:var(--ink)}
.mjs-block{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:var(--t12);color:var(--muted);padding:8px 10px;background:var(--surface-soft);border-radius:var(--radius-control)}.mjs-block svg{width:14px;height:14px}.mjs-block span{flex:1}
.mjs-two{display:grid;grid-template-columns:250px 1fr;gap:16px;align-items:start}.mjs-list{display:grid;gap:6px;position:sticky;top:0}.mjs-model{display:grid;grid-template-columns:1fr auto;gap:2px 8px;text-align:left;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface);cursor:pointer;color:var(--ink)}.mjs-model:hover{background:var(--surface-soft)}.mjs-model.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.mjs-model b{font-size:var(--t13);font-weight:600;grid-column:1}.mjs-model small{color:var(--muted);font-size:var(--t11);grid-column:1}.mjs-model em{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;font-size:var(--t11);font-weight:700;padding:2px 7px;border-radius:999px;background:var(--control-fill);color:var(--muted);white-space:nowrap}.mjs-model em.use{background:var(--ink);color:#fff}.mjs-model em.bad{background:var(--danger-fill);color:var(--danger-ink)}
.mjs-detail{display:grid;gap:12px;min-width:0}.mjs-detail h3{margin:0;font-size:var(--t14)}.mjs-sub{margin:-8px 0 0;color:var(--muted);font-size:var(--t12)}.mjs-cmp{display:flex;gap:24px;padding:10px 12px;background:var(--surface-soft);border-radius:var(--radius-panel);min-height:22px;align-items:center}.mjs-cmp span{display:grid;gap:1px}.mjs-cmp small{color:var(--muted);font-size:var(--t11)}.mjs-cmp b{font-size:var(--t14)}.mjs-use{display:flex;align-items:center;justify-content:flex-end;gap:10px}.mjs-use small{color:var(--muted);font-size:var(--t12)}
.mjs{width:480px;grid-template-columns:minmax(0,1fr)}.mjs-body{grid-template-columns:minmax(0,1fr)}.mjs-head nav{overflow-x:auto;scrollbar-width:none}.mjs-head nav button{padding:6px 8px;font-size:var(--t12)}.mjs-head .ac-eye{flex:none}.mjs-date input{min-width:0}.mjs-span{min-width:0}

/* Pool list inside the working window: it stays under the window's header, scrolls on its own and never overruns the content. */
#ac-frame .rdv-pool-layout,.ac-window .rdv-pool-layout{align-items:start}
#ac-frame .rdv-pool-list,.ac-window .rdv-pool-list{position:sticky;top:12px;max-height:calc(100vh - 68px - 100px);overflow:auto;min-width:0;box-sizing:border-box}
#ac-frame .rdv-pool-list button,.ac-window .rdv-pool-list button{width:100%;min-width:0;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}

.mjs-ifs{display:grid;gap:6px;margin-top:8px}.mjs-ifs summary{font-weight:600;cursor:pointer}
.mjs-if{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:8px;align-items:center}.mjs-if span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.ac-project{border:0;background:none;font-weight:700;font-size:var(--t16);padding:0;max-width:220px}
/* What's next: the end of the journey */
.ac-after{display:flex;flex-direction:column;gap:12px}.ac-next header{display:flex;align-items:center;gap:10px}.ac-next-count{margin-left:auto;font-size:var(--t12);color:var(--muted)}.ac-next-count.good{color:var(--green,#15803d)}
.ac-next-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column}.ac-next-list li{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 2px;border-top:1px solid var(--line)}.ac-next-list li:first-child{border-top:0}
.ac-next-mark{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--panel-soft);color:var(--muted)}.ac-next-mark svg{width:14px;height:14px}.ac-next-list li.todo .ac-next-mark{color:var(--brand,#2438a6)}.ac-next-list li.done .ac-next-mark{color:var(--green,#15803d)}.ac-next-list li.done b{font-weight:500;color:var(--muted)}
.ac-next-text{display:flex;flex-direction:column;gap:1px;min-width:0}.ac-next-text small{color:var(--muted);font-size:var(--t12)}.ac-next-who{font-size:var(--t12);color:var(--muted);white-space:nowrap}
.ac-moved summary{cursor:pointer;display:flex;gap:8px;align-items:center}.ac-moved summary span{color:var(--muted)}.ac-moved .ac-t{margin-top:8px}
#ac-frame #is-panel{top:64px;width:min(640px,44%)}
.sw-centre{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.sw-centre small{color:var(--muted);font-size:var(--t12)}
.mjs-date{flex-wrap:wrap}
.mjs-date .date-feedback{order:3;flex-basis:100%}

/* One setup for New customer and Modify project */
.cs-field{display:grid;gap:4px;min-width:0}.cs-field>span{font-size:var(--t12);font-weight:600;color:var(--muted)}.cs-field :is(input:not([type=checkbox]):not([type=file]),select,textarea){width:100%;min-height:34px;box-sizing:border-box}.cs-field textarea{min-height:60px;resize:vertical}
.cs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mjs-seg.two{display:grid;grid-template-columns:1fr 1fr}
.cs-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cs-logo{display:flex;align-items:center;gap:12px}.cs-logo>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.cs-logo small{flex-basis:100%}
.cs-logo-mark{flex:none;width:44px;height:44px;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-control);background:var(--surface-soft);border:1px solid var(--line);color:var(--muted)}.cs-logo-mark img{width:100%;height:100%;object-fit:contain}.cs-logo-mark svg{width:20px;height:20px}
.cs-file{position:relative;overflow:hidden;cursor:pointer}.cs-file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.cs-identity{display:flex;align-items:center;gap:12px}.cs-identity>div{display:grid;gap:1px;min-width:0}.cs-identity small{color:var(--muted);font-size:var(--t12)}
.cs-more{border-top:1px solid var(--line);padding-top:10px}.cs-more summary{cursor:pointer;font-size:var(--t13);font-weight:600}.cs-more summary small{color:var(--muted);font-weight:500;margin-left:4px}.cs-more-body{display:grid;gap:10px;margin-top:10px}
.cs-pools{display:grid}.cs-pool{display:grid;grid-template-columns:minmax(0,1fr) 76px auto;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}.cs-pool:last-child{border-bottom:0}.cs-pool b{font-size:var(--t13);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-pool input[type=number]{min-height:30px;width:100%;box-sizing:border-box}.cs-pool label{display:inline-flex;align-items:center;gap:5px;font-size:var(--t12);color:var(--muted)}
#mjs .pm-dependencies{border:0;padding:0;margin:0;display:grid;gap:6px}#mjs .pm-dependencies legend,#mjs .pm-dependencies>p{display:none}#mjs .pm-dependencies>div{display:grid;grid-template-columns:minmax(0,1fr) 182px;align-items:center;gap:10px;padding:3px 0;margin:0;border:0;min-height:0}#mjs .pm-dependencies label{display:flex;align-items:center;gap:7px;font-size:var(--t13)}#mjs .pm-dependencies select{min-height:30px;width:100%}#mjs .pm-dependencies select:disabled{opacity:.45}
.cs-model-foot{border-top:1px solid var(--line);padding-top:12px;grid-template-columns:auto auto 1fr;align-items:center}.cs-model-foot small{grid-column:1/-1}
#model-intake-dialog:has(form[data-brief]){width:min(520px,calc(100vw - 24px));height:fit-content!important;max-height:calc(100dvh - 24px)}#model-intake-dialog:has(form[data-brief]) [data-mi-expand]{display:none}#model-intake-dialog .mi-modal-header{border-bottom:0;background:transparent}#mi-modal-title:focus{outline:none}
.cs-brief{display:grid;gap:14px;padding-bottom:4px}.cs-brief h3{margin:0;font-size:var(--t16)}.cs-brief>p.mjs-hint{margin:-10px 0 0}.cs-brief-foot{display:flex;justify-content:flex-end}.cs-brief .error:empty{display:none}
.cs-progress{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center}.cs-progress b{font-size:var(--t13);font-weight:600}.cs-progress small{color:var(--muted);font-size:var(--t12)}.cs-bar{grid-column:1/-1;height:4px;border-radius:2px;background:var(--control-fill);overflow:hidden}.cs-bar i{display:block;width:35%;height:100%;border-radius:2px;background:var(--ink);animation:cs-slide 1.3s ease-in-out infinite}@keyframes cs-slide{0%{transform:translateX(-100%)}100%{transform:translateX(290%)}}@media (prefers-reduced-motion:reduce){.cs-bar i{animation:none;width:100%}}
#mjs .mjs-head nav button svg{display:none!important}#mjs .mjs-head nav{gap:0}
.cs-brief .field-help-button,.cs-brief .field-help{display:none}
@media (max-width:1700px){#ac-root .ac-pill svg{display:none!important}#ac-root .ac-pill{padding:5px 10px}#ac-root .ac-pills{gap:6px}}
.ac-gantt-card>header{gap:12px;flex-wrap:wrap}.cs-views{display:inline-flex;gap:2px;background:var(--control-fill);border-radius:var(--radius-control);padding:2px;min-width:0;overflow-x:auto;scrollbar-width:none}.cs-views button{border:0;background:none;color:var(--muted);font-size:var(--t12);font-weight:600;padding:5px 11px;border-radius:var(--radius-sm);white-space:nowrap;cursor:pointer}.cs-views button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgb(5 16 56 / .12)}.cs-deck{display:inline-flex;gap:6px;margin-left:auto}.cs-plan{margin-top:8px;overflow:auto}
/* New customer is a form to fill in: readable surface whatever the glass level, the screen behind stays behind. */
#model-intake-dialog{--surface:var(--popover);--surface-soft:var(--sticky);background:var(--popover)!important}#model-intake-dialog::backdrop{backdrop-filter:blur(6px)}
.un-title-fixed{font-size:var(--t24,24px);font-weight:700;color:var(--ink);padding:2px 0}.ac-trial-screen #ac-frame [data-ps-open]{display:none}
.cs-slider{display:flex;align-items:center;gap:8px;flex:1 1 420px;min-width:320px;max-width:620px;margin-left:auto}.cs-slider>span{font-size:var(--t12);color:var(--muted);white-space:nowrap}.cs-track{position:relative;flex:1;min-width:120px;display:flex;align-items:center}.cs-track input{width:100%;margin:0;position:relative;accent-color:var(--ink)}.cs-zero{position:absolute;left:50%;top:50%;width:2px;height:16px;margin:-8px 0 0 -1px;background:var(--control-line);border-radius:1px}.cs-slider output{min-width:50px;text-align:right;font-size:var(--t13);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.cs-range{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.cs-range label{display:inline-flex;align-items:center;gap:5px;font-size:var(--t12);color:var(--muted)}.cs-range input{width:128px;min-height:28px;font-size:var(--t12)}.cs-range-row{flex-basis:100%;display:flex}.cs-ranged .ac-g-track,.cs-ranged .pmd-track{overflow:clip}
.cs-track input{-webkit-appearance:none;appearance:none;background:transparent;height:18px}.cs-track input::-webkit-slider-runnable-track{height:4px;background:var(--control-line);border-radius:var(--radius-sm)}.cs-track input::-moz-range-track{height:4px;background:var(--control-line);border-radius:var(--radius-sm)}.cs-track input::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-6px;border-radius:50%;background:var(--ink);cursor:grab}.cs-track input::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background:var(--ink);cursor:grab}
.cs-xd-note{margin:0;font-size:var(--t12)}
/* New customer, last review: one reading, no bands */
#model-intake-dialog .mi-final-intro{display:none}#model-intake-dialog .card{background:var(--surface-soft);border:1px solid var(--line);box-shadow:none}#model-intake-dialog .mi-sticky-footer{background:transparent;border-top:1px solid var(--line)}#model-intake-dialog .note{background:var(--surface-soft);border-left:0}
.cs-brief-text{margin:0;font-size:var(--t13);line-height:1.45;color:var(--ink);white-space:pre-wrap}

/* cross-dock-fields.css */
.xd-block{display:grid;gap:10px;grid-column:1/-1}
.xd-toggle{display:flex!important;align-items:center;justify-content:flex-start;gap:8px;font-weight:600}
.xd-body{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-panel)}
.xd-whs{display:flex;align-items:center;justify-content:space-between;gap:12px}.xd-whs input{width:96px}
.xd-list{display:grid;gap:6px}
.xd-head,.xd-row{display:grid;grid-template-columns:minmax(0,1fr) 84px 28px;gap:8px;align-items:center}
.xd-head{font-size:var(--t12);color:var(--muted)}
.xd-row input{width:100%;min-width:0}
.xd-del{border:0;background:none;font-size:var(--t16);cursor:pointer;color:var(--muted)}.xd-del:disabled{opacity:.3;cursor:default}
.xd-add{justify-self:start}
.xd-total{margin:0;display:grid;gap:2px;font-size:var(--t13)}.xd-sum.bad{color:var(--danger-ink)}.xd-need{color:var(--muted)}
.xd-toggle input{width:auto;flex:none;margin:0}.xd-toggle span{flex:1}
.mi-allow{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:6px 0 10px;font-size:var(--t13);color:var(--muted)}

/* resource-profiles.css */
.profile-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0;color:var(--muted);font-size:var(--t12)}.profile-summary strong{color:var(--ink)}.profile-empty{padding:20px;background:var(--panel-soft);border:1px dashed var(--line);border-radius:var(--radius-control);color:var(--muted);font-size:var(--t13)}.programme-profile-chart{width:100%;padding-bottom:8px}.profile-date-axis{background:var(--panel-soft);color:var(--muted);font-size:var(--t10)}.profile-years{height:24px;position:relative;border-bottom:1px solid var(--line)}.profile-years b{position:absolute;border-left:2px solid #8da2c3;height:24px;padding:5px 8px}.profile-months{position:relative;height:24px;border-bottom:1px solid var(--line)}.profile-months span{position:absolute;overflow:hidden;text-overflow:clip;padding:5px 2px;border-left:1px solid var(--line);text-align:center;white-space:nowrap;font-size:var(--t9)}.profile-track{position:relative;height:124px;background:var(--panel);background-size:100% 31px;border-bottom:1px solid #cfdbed}.profile-track>i{position:absolute;border-left:2px solid #b1bfd5;height:100%;pointer-events:none}.profile-segment{position:absolute;bottom:0;height:100%;min-width:2px}.profile-phase{position:absolute;bottom:0;width:100%;height:var(--profile-height);min-height:28px;border:1px solid #298e83;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:#d7f0e9;color:#185b56;padding:4px 14px;overflow:hidden;cursor:grab;font-size:var(--t11);touch-action:none;user-select:none}.profile-phase span,.profile-phase b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-segment.selected .profile-phase{background:#ace1d5;border:2px solid #236e65}.profile-segment.invalid .profile-phase{background:#f9d9d3;border-color:#b23325;color:#972b22}.profile-edge{position:absolute;bottom:0;height:var(--profile-height);min-height:28px;width:13px;padding:0;background:transparent;border:0;color:#357a73;cursor:ew-resize;touch-action:none;font-size:var(--t11)}.profile-edge.start{left:0}.profile-edge.end{right:0}.profile-selection{padding:16px 0;border-bottom:1px solid var(--line)}.profile-selection h3{margin:7px 0 12px}.profile-selection input[type=range]{padding:0;accent-color:#268475;width:100%}.profile-selection output{float:right;font-weight:700}.profile-dialog{max-width:770px;width:90vw}.profile-dialog fieldset{border:1px solid var(--line);border-radius:var(--radius-control);margin:14px 0;padding:12px 16px;background:var(--panel-soft)}.profile-dialog legend{color:#4f6689;font-weight:700;font-size:12px}.profile-phase-fields{display:grid;grid-template-columns:1.3fr 1.3fr 1fr auto;gap:10px;align-items:end}.profile-phase-fields label{min-width:0}.profile-phase-fields input{min-width:0}.profile-add{display:flex;align-items:end;gap:16px}.profile-add label{flex:1}.profile-add button{margin-bottom:8px}.profile-dialog .field-help-button{margin:0}.profile-dialog .resource-mode{display:flex;gap:10px;align-items:center}.profile-dialog .resource-mode input{width:auto}@media(max-width:650px){.profile-phase-fields{grid-template-columns:1fr 1fr}.profile-add{display:block}}
/* Labels sit above the measured area, so small reservations remain readable. */
.profile-track{height:164px}.profile-segment{height:124px}.profile-phase{min-height:6px;padding:0;overflow:visible}.profile-phase span,.profile-phase b{position:absolute;left:7px;right:7px;top:-35px;text-align:left;line-height:14px;color:#225e59}.profile-phase b{top:-20px}.profile-edge{min-height:12px}
.resource-overview .all-pools{background:var(--panel-soft)}.all-pools-summary{display:block;margin-top:13px;font-size:var(--t10);color:#496e99}#resource-overview-board{margin-top:14px;--resource-overview-width:100%}.resource-overview-scroll{overflow-x:auto;scrollbar-width:thin}.resource-overview-canvas,#resource-overview-board .calendar-canvas{width:var(--resource-overview-width);min-width:100%}.resource-matrix-row{display:grid;grid-template-columns:172px 1fr;min-height:52px;border-bottom:1px solid var(--line)}.resource-matrix-name{position:sticky;left:0;z-index:3;background:var(--surface);border:0;padding:9px 8px;text-align:left;font-size:var(--t11);color:var(--ink)}.resource-matrix-name small{display:block;font-size:var(--t9);color:var(--muted);font-weight:400;margin-top:4px}.resource-matrix-track{position:relative;min-height:52px;background:var(--panel-soft)}.resource-matrix-cell{position:absolute;top:10px;height:32px;border:0;border-right:1px solid var(--line);border-radius:0;padding:0;min-width:1px;cursor:pointer}.resource-cell-clear{background:#aad9cf;color:#216f61}.resource-cell-risk{background:#f0c176;color:#825517}.resource-cell-blocked{background:#d87977;color:#852d30}.resource-cell-unknown{background:repeating-linear-gradient(135deg,#b8c1cc 0px,#b8c1cc 3px,#e3e7ee 3px,#e3e7ee 6px);color:var(--muted)}.resource-cell-idle{background:#e9edf3;color:var(--muted)}.resource-matrix-cell:hover,.resource-matrix-cell:focus-visible{outline:2px solid #152b50;outline-offset:-1px;z-index:2}.resource-matrix-year{position:absolute;top:0;bottom:0;border-left:2px solid #8da2bd;pointer-events:none}.resource-cell-legend{display:inline-flex;align-items:center;gap:4px}.resource-cell-legend i{width:9px;height:9px;display:inline-block;border-radius:2px}.resource-all-detail{display:grid;grid-template-columns:1fr auto;gap:5px;width:100%;border:0;background:var(--panel-soft);padding:10px;text-align:left;margin:5px 0;border-radius:var(--radius-sm);color:var(--ink);font-size:var(--t11)}.resource-all-detail small{grid-column:1/-1;color:var(--muted);font-size:var(--t10)}
#resource-controls .resource-controls-actions{display:flex;gap:7px;align-items:center}#resource-controls #resource-controls-toggle{font-size:var(--t10);padding:7px;background:var(--panel-soft);color:var(--muted)}.capacity-collapsed #resource-heatmap{display:none}.resource-selection-caption{display:none;font-size:var(--t10);color:var(--muted)}.capacity-collapsed .resource-selection-caption{display:block}.capacity-collapsed .eyebrow{display:none}#resource-controls.capacity-collapsed{padding:8px 15px}
/* One dedication editor; the inspector shows the same dated plan. */
dialog:has(#profile-form){max-width:770px;width:90vw}
.profile-mode-box{padding:14px 16px;background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-control);margin:16px 0}
.profile-mode-box .resource-mode{margin-top:0;font-weight:700}
#profile-constant-fields{margin-top:12px}#profile-constant-fields small{display:block;margin-top:6px;color:var(--muted);line-height:1.5}
#profile-dated-fields[hidden]{display:none}
.profile-selection .badge{margin:8px 0 12px}.profile-selection select{font-size:var(--t12)}
.profile-constant-value{display:block;font-size:var(--t22);color:var(--ink);margin-top:8px}
.profile-selection #profile-fte-value{margin-bottom:8px}

/* Scoped deletion review; keep current draft and ordinary mode switching intact. */
#profile-form .profile-actions{position:sticky;bottom:0;background:var(--surface,#fff);padding:14px 0 4px;border-top:1px solid var(--line);z-index:3;align-items:center}
#profile-form .profile-remove-all{margin-right:auto;color:#a13636;border-color:#e6bebe}
#profile-form [hidden]{display:none!important}
#profile-removal-review{margin:20px 0;padding:18px;line-height:1.6}
#profile-removal-review h3{margin:0 0 12px}
.rdv-dedication-row>.profile-empty{margin:10px 0 16px;padding:14px 16px}

/* finance.css */
.finance-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px;flex-wrap:wrap}.finance-years{display:flex;border:1px solid var(--line);border-radius:var(--radius-control);padding:4px;background:var(--panel);gap:4px;flex-wrap:wrap}.finance-years button,.finance-tabs button{background:transparent;color:var(--muted);border:0;padding:10px 17px;border-radius:var(--radius-sm);font-weight:650}.finance-years button.active{background:#142149;color:white}.finance-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-top:12px;margin-bottom:8px;flex-wrap:wrap}.finance-tabs button.active{background:var(--panel-soft);color:var(--ink)}.finance-layout{grid-template-columns:minmax(0,1fr) 320px}.finance-layout .card{min-width:0}.finance-waterfall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:26px 0 18px}.finance-step{padding:15px 12px 10px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel-soft);color:var(--ink);text-align:left;min-width:0}.finance-step span{display:block;font-size:var(--t11);min-height:32px;line-height:1.4}.finance-step strong{font-size:clamp(15px,1.6vw,25px);display:block;letter-spacing:-.5px;margin:7px 0 15px;white-space:nowrap}.finance-step i{display:block;height:7px;background:linear-gradient(to right,#648d95 var(--fill),#e7ecf3 var(--fill));border-radius:var(--radius-xs)}.finance-step.negative i{background:linear-gradient(to right,#c9806a var(--fill),#e7ecf3 var(--fill))}.finance-step.net{background:#142149;color:white;border:0}.finance-step.net.negative{color:#ffd6c8}.finance-split{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:var(--t12)}.finance-split b{margin-left:8px}.finance-split small{flex-basis:100%}.negative{color:#ac493b}.finance-boundary{margin:17px 0 0;padding:12px 15px;background:#fff7e8;border-left:3px solid #d7a62c;border-radius:var(--radius-xs);color:#725726;font-size:var(--t12)}.finance-perspectives{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:25px;margin-top:20px;align-items:center}.finance-annual-bars button{width:100%;border:0;background:transparent;display:flex;gap:12px;align-items:center;text-align:left;padding:9px 6px;color:#536987;border-radius:6px;font-size:11px}.finance-annual-bars button.selected{background:var(--panel-soft)}.finance-annual-bars button>strong{min-width:65px;text-align:right}.annual-track{flex:1;height:16px;display:flex;min-width:30px}.annual-track i{height:100%;display:block}.annual-track .capex{background:#304d80;border-radius:3px 0 0 3px}.annual-track .opex{background:#64a7b6;border-radius:0 3px 3px 0}.finance-annual-bars .legend{margin:12px 0 0}.finance-nature{display:flex;gap:15px;align-items:center;justify-content:center}.finance-ring{width:124px;height:124px;flex-shrink:0;border-radius:50%;background:conic-gradient(#b57d57 var(--share),#86aeb8 var(--share));display:grid;place-items:center}.finance-ring>span{border-radius:50%;background:var(--panel);width:94px;height:94px;display:flex;flex-direction:column;align-items:center;justify-content:center}.finance-ring b{font-size:var(--t24)}.finance-ring small{font-size:var(--t9)}.finance-nature p{font-size:var(--t11);margin:10px 0}.finance-nature p b{display:block;font-size:var(--t16);padding-top:4px}.finance-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.finance-dot.external{background:#b57d57}.finance-dot.internal{background:#86aeb8}.finance-reconciliation{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;display:flex;gap:20px;flex-wrap:wrap;font-size:var(--t11)}.finance-reconciliation b{display:block;font-size:var(--t18);margin-top:5px}.finance-reconciliation>small{flex-basis:100%}.finance-table th{font-size:var(--t10);white-space:nowrap}.finance-table td{font-size:var(--t11);padding:10px 8px}.finance-table td:not(:first-child){white-space:nowrap}.finance-table small{display:block;font-size:var(--t9);color:var(--muted);white-space:normal;margin-top:4px}.finance-table td:first-child{min-width:170px}.finance-table td:nth-child(2){min-width:105px}.finance-table tr.selected td{background:var(--panel-soft)}.finance-table tr.excluded td{color:var(--muted)}.finance-row-select{background:none;border:0;color:inherit;text-align:left;display:block;width:100%;padding:0;line-height:1.4}.finance-amount{font-size:var(--t32);font-weight:750;letter-spacing:-.6px;margin:18px 0}.finance-amount small{display:block;font-size:var(--t11);font-weight:500;letter-spacing:0;margin-top:6px}.finance-inspector .note p{margin:7px 0}.finance-inspector .note small{display:block;line-height:1.5}.finance-allocation{margin-top:14px;font-size:var(--t11)}.finance-allocation summary{font-weight:700;cursor:pointer;margin-bottom:10px}.finance-allocation p{display:flex;justify-content:space-between;gap:12px}.finance-inspector .grid2{gap:10px}.finance-inspector label{font-size:var(--t11)}.finance-assumptions summary{font-weight:650;cursor:pointer}.finance-assumptions p,.finance-assumptions li{font-size:var(--t12);line-height:1.7;color:var(--muted)}.finance-mapping{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:15px 0}.finance-import-dialog{max-width:950px;width:90vw}.finance-import-scroll{max-height:320px;overflow:auto;margin:15px 0}.finance-import-scroll td{font-size:var(--t11)}.finance-import-scroll small{display:block}.ribbon-kpi.restricted{filter:grayscale(1);background:var(--panel-soft);opacity:.65;cursor:default}.access-groups{display:grid;grid-template-columns:1fr 1fr;gap:14px}.access-checks label{display:flex;gap:8px;align-items:center}.access-checks input{width:auto}.access-groups article{border:1px solid var(--line);border-radius:var(--radius-control);padding:16px}.finance-toolbar svg{height:16px;width:16px;vertical-align:middle;margin-right:6px}.finance-step:hover,.finance-row-select:hover{filter:brightness(.96)}.finance-ledger{scroll-margin-top:calc(var(--program-ribbon-height) + 95px)}
@media(max-width:1250px){.finance-layout{grid-template-columns:minmax(0,1fr) 290px}.finance-perspectives{grid-template-columns:1fr}.finance-nature{justify-content:flex-start}.finance-waterfall{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-step strong{font-size:var(--t22)}}
@media(max-width:850px){.finance-layout{grid-template-columns:1fr}.finance-inspector{position:static}.finance-mapping{grid-template-columns:repeat(2,minmax(0,1fr))}.access-groups{grid-template-columns:1fr}}

.finance-scope-totals{display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:16px;padding-top:14px;font-size:var(--t11)}.finance-scope-totals b{display:block;margin-top:6px;font-size:var(--t14)}

/* identity-directory.css */
.identity-directory-dialog{max-width:850px}.identity-mapping{border:1px solid var(--line);border-radius:var(--radius-control);padding:14px;margin:12px 0}.identity-mapping legend{padding:0 6px;font-weight:700;color:#3e597e}.identity-mapping .access-checks{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0}.identity-directory-dialog .note p{margin:6px 0}.identity-directory-entry{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel-soft);padding:16px;margin:14px 0 24px}.identity-directory-entry p{margin:5px 0 12px}

/* invitations.css */
#access-invitations{margin:18px 0 30px;padding:22px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--panel)}.invitation-heading,.invitation-list-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.invitation-heading h3{margin:8px 0}.invitation-heading p{margin:0;max-width:660px}.invitation-heading>button{flex-shrink:0}.invitation-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.invitation-summary>div{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-control);padding:14px}.invitation-summary strong{font-size:var(--t24);color:var(--ink)}.invitation-summary span{font-size:var(--t12);color:var(--muted)}.invitation-boundary{font-size:var(--t12);color:var(--muted);padding:12px;border-left:3px solid #86a3c5;background:var(--panel-soft)}.invitation-list-heading label{display:flex;align-items:center;gap:8px;font-size:var(--t12)}.invitation-list-heading select{width:auto;min-width:140px}.invitation-row,.invitation-member{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:14px 0}.invitation-row small,.invitation-member small,.invitation-share-identity small{display:block;font-size:var(--t12);color:var(--muted);margin-top:4px}.invitation-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.invitation-status{display:inline-block;padding:4px 8px;font-size:var(--t11);font-weight:700;white-space:nowrap;border-radius:var(--radius-sm);background:#e8edf5;color:var(--muted)}.invitation-status.status-pending{background:#fff1d8;color:#8f5900}.invitation-status.status-active,.invitation-status.status-accepted{background:#e1f2ea;color:#24694b}.invitation-status.status-suspended,.invitation-status.status-revoked{background:#fdebee;color:#ad3448}.invitation-empty{padding:24px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius-control);color:var(--muted)}.invitation-dialog{max-width:860px}.invitation-dialog .grid2 label{min-width:0}.invitation-group-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px}.invitation-group-options>label{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);border-radius:var(--radius-control);padding:12px;margin:0}.invitation-group-options input{margin-top:3px;flex:0 0 auto}.invitation-group-options small{display:block;font-size:var(--t11);font-weight:400;margin-top:5px}.invitation-preview{padding:16px;margin:18px 0;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--panel-soft)}.invitation-preview h3{margin:0 0 12px}.invitation-preview p{margin:4px 0 12px;font-size:var(--t12);line-height:1.6}.invitation-preview small{color:var(--muted)}.invitation-share-identity{padding:15px;background:var(--panel-soft);border-radius:var(--radius-control);margin:15px 0}.invitation-share-identity .invitation-status{margin-top:8px}.invitation-dialog .button{display:inline-flex;align-items:center;text-decoration:none;font-size:var(--t13);font-weight:700;padding:12px 16px;border-radius:var(--radius-control)}.invitation-dialog textarea[readonly]{font-size:var(--t13);line-height:1.7}.invitation-dialog [name=login_url]{font-size:var(--t12)}@media(max-width:760px){.invitation-heading,.invitation-row,.invitation-member{align-items:flex-start;flex-direction:column}.invitation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.invitation-row-actions{justify-content:flex-start}.invitation-group-options{grid-template-columns:1fr}#access-invitations{padding:16px}.invitation-dialog .buttons{flex-wrap:wrap}}
.invitation-group-options input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;padding:0}.invitation-group-options>label>span{min-width:0;overflow-wrap:anywhere}.invitation-dialog .grid2{gap:14px}.invitation-dialog .invitation-preview{margin:12px 0;padding:12px 16px}.invitation-dialog .invitation-preview p{margin-bottom:8px}

/* tasks.css */
.execution-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:22px 0 15px}.execution-toolbar label{font-size:var(--t10);text-transform:uppercase;letter-spacing:1px;margin:0 0 5px}.execution-toolbar select{width:auto;max-width:340px;height:40px;margin:0}.execution-switch{display:flex;gap:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-control);padding:3px}.execution-switch button{display:flex;align-items:center;gap:7px;background:transparent;border:0;border-radius:var(--radius-sm);padding:9px 12px;color:var(--muted)}.execution-switch svg{width:17px;height:17px}.execution-switch [aria-pressed=true]{color:white;background:var(--ink)}.execution-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:22px;align-items:start}.execution-inspector{position:sticky;top:calc((var(--topbar-height,70px) + var(--program-ribbon-height,220px)) + 12px);max-height:calc(100vh - (var(--topbar-height,70px) + var(--program-ribbon-height,220px)) - 25px);overflow:auto;padding:23px}.execution-inspector h2{font-size:var(--t18)}.execution-inspector .date-pair{grid-template-columns:1fr 1fr;margin:18px 0}.execution-inspector .date-pair b{font-size:var(--t12)}.execution-inspector h3{font-size:var(--t13)}.execution-inspector input,.execution-inspector select,.execution-inspector textarea{font-size:var(--t12)}.execution-inspector input[type=number]{width:100%}.execution-inspector .buttons{flex-wrap:wrap}.execution-inspector .buttons button{font-size:var(--t11);padding:8px 10px}.execution-legend{display:flex;gap:15px;flex-wrap:wrap;margin:0 0 14px;color:#6b7e9d;font-size:10px}.execution-legend span{display:flex;align-items:center;gap:5px}.execution-legend-critical{display:inline-block;width:17px;height:8px;border:2px solid #15254c;border-radius:2px}.execution-chart{background:var(--panel);border:1px solid #dce3ef;border-radius:12px}.execution-calendar{position:sticky;top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,220px));z-index:16;border-radius:var(--radius-panel) var(--radius-panel) 0 0;background:#17264e;box-shadow:0 3px 6px #12204715}.execution-calendar-viewport{overflow:hidden;border-radius:var(--radius-panel) var(--radius-panel) 0 0}.execution-scroll{overflow-x:auto;scrollbar-width:thin}.execution-canvas{min-width:100%}.execution-chart.zoomed .execution-canvas{min-width:var(--execution-width)}.execution-date-row,.execution-gates-row,.execution-row{display:grid;grid-template-columns:260px minmax(0,1fr)}.execution-date-row{height:63px;color:#fff}.execution-caption{padding:10px 14px;font-size:var(--t12);position:sticky;left:0;z-index:8;background:#17264e}.execution-caption small{display:block;color:#aec0dd;font-size:var(--t10);margin-top:4px}.execution-axis{position:relative;min-width:0}.execution-years,.execution-months,.execution-weeks{position:absolute;left:0;right:0;height:21px;overflow:hidden}.execution-years{top:0;background:#122144}.execution-months{top:21px}.execution-weeks{top:42px;background:#eaf0f8;color:var(--muted)}.execution-axis span{position:absolute;text-align:center;font-size:var(--t10);white-space:nowrap;overflow:hidden;border-left:1px solid var(--line);height:100%;line-height:21px}.execution-years span{font-weight:700}.execution-weeks span{font-size:var(--t8)}.execution-gates-row{height:35px;color:#d7e2f3;border-top:1px solid var(--line)}.execution-gates-row .execution-caption{font-size:var(--t10);letter-spacing:.3px}.execution-gate-track{position:relative}.execution-gate{position:absolute;transform:translateX(-50%);color:#e9b849;background:transparent;border:0;font-size:var(--t12);padding:2px;display:grid;line-height:13px;top:2px}.execution-gate span{font-size:var(--t8);color:#d9e7fc}.execution-row{height:43px;border-bottom:1px solid var(--line)}.execution-row:nth-child(even){background:var(--panel-soft)}.execution-row.selected{background:#edf3fd}.execution-label{position:sticky;left:0;z-index:7;display:flex;align-items:center;text-align:left;background:inherit;border:0;border-right:1px solid var(--line);padding:5px 12px;color:var(--ink);min-width:0;gap:6px}.execution-label strong{font-size:var(--t10);font-weight:600;display:block;line-height:13px;max-height:27px;overflow:hidden}.execution-label small{font-size:var(--t9);color:var(--muted);display:block;white-space:nowrap;overflow:hidden;line-height:12px}.execution-row[data-stream-row] .execution-label{display:block;padding:13px}.execution-row[data-stream-row] .execution-label strong{font-size:var(--t12);line-height:16px;max-height:none}.execution-label.selected{box-shadow:inset 3px 0 #dda932}.execution-track{position:relative;min-width:0}.execution-track>i{position:absolute;top:0;height:100%;border-left:1px solid #e3e9f3;pointer-events:none}.task-dot{width:5px;height:5px;border:1px solid #9caac0;flex-shrink:0;border-radius:50%}.task-dot.blocked{background:#bd4f4a;border-color:#bd4f4a}.task-dot.done{background:#43856b;border-color:#43856b}.task-bar{position:absolute;height:19px;border:0;border-radius:4px;background:var(--task-colour,#4d85a4);color:#fff;min-width:5px;padding:0 4px;text-align:center;cursor:grab;touch-action:none;z-index:3;font-size:8px;white-space:nowrap;overflow:hidden;box-shadow:0 1px 2px #14264a0a}.task-bar.critical{outline:1.5px solid #17264e;outline-offset:-.5px}.task-bar.selected{outline:2px solid #e4ad2e;z-index:6}.task-bar.conflict{background:repeating-linear-gradient(45deg,#b75448,#b75448 4px,#c87560 4px,#c87560 8px)}.task-bar.accepted{background:#43856b}.task-bar.milestone{color:#b57c13;background:transparent;font-size:15px;line-height:18px;border-radius:0;outline:none;transform:translateX(-50%);padding:0;overflow:visible;box-shadow:none}.task-bar.milestone.selected{color:#006bc7}.task-bar-label{position:relative;pointer-events:none;padding-right:5px;color:#102746;font-weight:700}.task-bar:hover{filter:brightness(1.07)}.task-bar.dragging{z-index:20;cursor:grabbing;box-shadow:0 4px 9px #17264e35}.task-resize{position:absolute;right:0;width:10px;height:100%;line-height:18px;top:0;background:#fff5;color:var(--ink);cursor:ew-resize;font-size:var(--t9)}.task-progress{position:absolute;left:0;top:0;height:100%;background:#15295138;pointer-events:none}.execution-body{position:relative}#execution-arrows{position:absolute;left:0;top:0;pointer-events:none;z-index:5}.task-arrow{fill:none;stroke:#326ae6;stroke-width:1.2;stroke-dasharray:4 3}.task-dependencies{margin-top:20px;padding-top:12px;border-top:1px solid var(--line)}.task-dependency{display:flex;justify-content:space-between;align-items:center;gap:5px;width:100%;padding:11px 0;border:0;border-bottom:1px solid var(--line);text-align:left;color:var(--muted);background:transparent;font-size:var(--t11);line-height:16px}.task-dependency small{display:block;color:#8a99b1;font-size:var(--t9)}.task-dependency b{white-space:nowrap;font-size:var(--t10)}.task-meter{height:6px;border-radius:var(--radius-sm);background:#e9eff5;margin-top:25px;overflow:hidden}.task-meter span{display:block;height:100%;background:#4a94a0}@media(max-width:1100px){.execution-layout{grid-template-columns:minmax(0,1fr) 280px;gap:14px}.execution-date-row,.execution-gates-row,.execution-row{grid-template-columns:210px minmax(0,1fr)}.execution-inspector{padding:16px}}@media(max-width:850px){.execution-layout{display:flex;flex-direction:column}.execution-layout>section{width:100%}.execution-inspector{position:static;width:100%;max-height:none}.execution-date-row,.execution-gates-row,.execution-row{grid-template-columns:190px minmax(0,1fr)}}

.execution-years span{border-left:2px solid #a8bbd9;font-weight:750}.execution-toolbar #task-review-date{width:140px;margin:0;height:40px}.execution-inspector .foundation-warning{font-size:var(--t11)}.execution-label{background:var(--surface)}.execution-row:nth-child(even)>.execution-label{background:var(--surface-soft)}.execution-row.selected>.execution-label{background:#edf3fd}

.execution-inspector .date-pair{display:grid;gap:10px;background:var(--panel-soft);border-radius:var(--radius-control);padding:13px}.execution-inspector .date-pair small,.execution-inspector .date-pair b{display:block}.execution-inspector .date-pair small{font-size:var(--t10);margin-bottom:5px}.execution-toolbar{gap:8px}.execution-toolbar #task-scope{max-width:270px}.execution-toolbar .primary{font-size:var(--t11)}.execution-switch button{font-size:var(--t11);padding:9px 10px}.execution-toolbar #task-filter{max-width:160px;font-size:var(--t11)}.execution-gate span{white-space:nowrap}.task-bar:focus-visible{outline:3px solid #e8ac29}.execution-inspector .date-pair b{line-height:1.5}

.chart-save-pending{outline:2px dashed #a97c25;outline-offset:2px;cursor:progress!important;opacity:1!important}.chart-save-pending:after{content:"…";position:absolute;right:5px;top:0;font-weight:bold}

/* task-viewport.css */
/* A docked inspector gives its width back to the chart; it never overlays bars. */
.cockpit-dock{display:grid!important;grid-template-columns:minmax(0,1fr) 310px!important;align-items:start;transition:grid-template-columns .24s ease,gap .24s ease}
.cockpit-dock.dock-closed{grid-template-columns:minmax(0,1fr) 46px!important;gap:10px}
.cockpit-dock>section{min-width:0;width:auto}.cockpit-dock>aside{min-width:0;width:auto;position:sticky!important;top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,220px) + var(--operation-toolbar-height,0px) + 12px)!important;max-height:calc(100vh - var(--topbar-height,70px) - var(--program-ribbon-height,220px) - var(--operation-toolbar-height,0px) - 26px)!important;overflow:auto}
.cockpit-dock>aside.card{padding:0}.cockpit-dock>aside.card>[data-dock-content]{padding:14px 20px 22px}.cockpit-dock>aside.factory-sidebar>[data-dock-content]{padding:0}
.shared-dock-rail{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-control) var(--radius-control) 0 0;border-top:3px solid #bdcadf}.shared-dock-rail>button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:transparent;color:var(--muted);text-align:left;font-size:var(--t11)}.shared-dock-arrow{font-size:var(--t22);line-height:24px}.shared-dock-name{font-size:var(--t10);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shared-dock-status{font-size:var(--t10);font-weight:700}
.cockpit-dock>aside[data-attention=warning]>.shared-dock-rail{background:#fff7e8;border-top-color:#cf8d21}.cockpit-dock>aside[data-attention=danger]>.shared-dock-rail{background:#fff0f0;border-top-color:#bb494b}.cockpit-dock>aside[data-attention=warning] .shared-dock-status{color:#996516}.cockpit-dock>aside[data-attention=danger] .shared-dock-status{color:#ad3f44}
.dock-closed [data-dock-content]{display:none}.dock-closed .shared-dock-rail{border-radius:var(--radius-control)}.dock-closed .shared-dock-rail>button{flex-direction:column;gap:10px;padding:10px 5px}.dock-closed .shared-dock-name{writing-mode:vertical-rl;max-height:190px;white-space:nowrap;margin-bottom:8px}.dock-closed .shared-dock-status{writing-mode:vertical-rl;max-height:80px}
@media(max-width:900px){.cockpit-dock:not(.dock-closed){grid-template-columns:minmax(0,1fr) 260px!important}}
@media(max-width:620px){.cockpit-dock:not(.dock-closed){grid-template-columns:minmax(0,1fr)!important}.cockpit-dock:not(.dock-closed)>aside{position:static!important;max-height:none!important}}
@media(prefers-reduced-motion:reduce){.cockpit-dock{transition:none}}
.task-owner-picker{position:relative}.task-owner-results{position:absolute;top:42px;left:0;right:0;max-height:200px;overflow:auto;background:var(--popover);box-shadow:0 8px 28px #162b4930;border:1px solid #c6d6e8;border-radius:var(--radius-control);z-index:35;padding:4px}.task-owner-results[hidden]{display:none}.task-owner-results button{display:block;width:100%;text-align:left;background:var(--panel);border:0;padding:9px 10px;border-radius:var(--radius-sm);color:var(--ink)}.task-owner-results button:hover,.task-owner-results [aria-selected=true]{background:#edf4fc}.task-owner-results b{font-size:var(--t12)}.task-owner-results small{font-size:var(--t10);margin-top:3px}.task-owner-empty{display:block;font-size:var(--t11);padding:10px;color:var(--muted)}
[data-operation-toolbar]{position:sticky;top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,220px));z-index:19;background:var(--surface-soft);padding:10px 0 12px;margin-top:0;box-shadow:0 3px 0 #f5f6fa}
.execution-calendar,.factory-frozen-calendar{top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,220px) + var(--operation-toolbar-height,0px) + 3px)}
.execution-inspector{top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,220px) + var(--operation-toolbar-height,0px) + 12px)!important;max-height:calc(100vh - var(--topbar-height,70px) - var(--program-ribbon-height,220px) - var(--operation-toolbar-height,0px) - 25px)!important}
.factory-operation{background:var(--panel)}.factory-operation .factory-legend{margin-bottom:0}.factory-operation #factory-zoom,.factory-operation label[for=factory-zoom]{display:none}
.finance-tabs{position:sticky;top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,220px) + var(--operation-toolbar-height,0px) + 3px);z-index:11;background:var(--surface);padding-top:6px}
.shared-chart-tools{border-radius:7px 7px 0 0;padding:6px 8px;min-height:43px}.shared-chart-tools small{font-size:9px;color:#8a9bb2}.shared-chart-tools button[data-chart-fit]{background:var(--panel-soft);border-color:#cfdaeb;font-weight:650}.shared-chart-tools output{font-size:10px;min-width:36px;text-align:center;color:#687d9c}.shared-chart-tools button[data-chart-minus],.shared-chart-tools button[data-chart-plus]{font-size:18px;width:29px;padding:0}
.calendar-zoom{display:none}.programme-calendar-frame{--calendar-width:100%}.calendar-canvas,.programme-calendar-frame .timeline{width:var(--calendar-width);min-width:100%}
.shared-chart-scroll{overflow-x:auto;min-width:0;scrollbar-width:thin}.shared-chart-canvas{min-width:100%;padding:1px 0}.shared-chart-canvas>.resource-svg-wrap{margin-right:38px}.shared-chart-canvas .finance-waterfall,.shared-chart-canvas .finance-perspectives{margin:15px 0}.resource-extra-canvas{min-width:0}
.card:has(>.shared-chart-tools){overflow:visible}.card>.shared-chart-tools{position:sticky;top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,220px) + var(--operation-toolbar-height,0px) + 3px);z-index:10}
.execution-layout{grid-template-columns:minmax(0,1fr) 304px;gap:16px;transition:grid-template-columns .24s ease,gap .24s ease}
.execution-layout.inspector-collapsed{grid-template-columns:minmax(0,1fr) 46px;gap:10px}
.execution-layout>section{min-width:0}
.execution-inspector{padding:0;min-width:0;overflow:auto;transition:border-color .2s,background-color .2s;border-top:3px solid #bdcadf}
.execution-inspector-top{padding:8px 12px 0}
.task-panel-close{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--muted);padding:5px 0;font-size:var(--t12);width:100%;text-align:left}
.task-panel-close>span:first-child{font-size:var(--t24);line-height:22px}
#task-inspector-content{padding:16px 20px 22px}
.execution-inspector[data-attention=warning]{border-top-color:#cf8d21}
.execution-inspector[data-attention=danger]{border-top-color:#bb494b}
.task-attention{display:flex;align-items:center;gap:9px;margin:6px 12px 0;padding:9px 10px;border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);border-radius:var(--radius-control);text-align:left;width:calc(100% - 24px);font-size:var(--t11)}
.task-attention.warning{background:#fff7e8;color:#97610e;border-color:#efd3a0}
.task-attention.danger{background:#fff0f0;color:#ac393d;border-color:#e5b4b5}
.task-attention-symbol{width:20px;height:20px;flex-shrink:0;border:1.5px solid currentColor;border-radius:50%;display:grid;place-items:center;font-weight:750;font-size:var(--t12)}
.task-attention-copy{flex:1;font-weight:650}.task-attention-copy small{display:block;font-weight:400;margin-top:3px;font-size:var(--t9)}
.task-attention-count{display:none}.task-rail-name{display:none}
.inspector-collapsed .execution-inspector{overflow:hidden;max-height:calc(100vh - var(--topbar-height,70px) - var(--program-ribbon-height,220px) - 25px);min-height:160px}
.inspector-collapsed .execution-inspector-top{padding:8px 0 0}.inspector-collapsed .task-panel-close{justify-content:center;padding:5px 0}
.inspector-collapsed #task-inspector-content,.inspector-collapsed .task-panel-heading,.inspector-collapsed .task-attention-copy{display:none}
.inspector-collapsed .task-attention{margin:5px 4px;padding:7px 0;width:calc(100% - 8px);flex-direction:column;gap:3px;border-color:transparent}
.inspector-collapsed .task-attention-count{display:block;font-size:var(--t10);font-weight:700}
.inspector-collapsed .task-rail-name{display:block;writing-mode:vertical-rl;font-size:var(--t10);color:var(--muted);margin:12px auto 18px;max-height:200px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.inspector-collapsed .execution-inspector[data-attention=warning]{background:#fffaf0;border-color:#efd3a0;border-top-color:#cf8d21}
.inspector-collapsed .execution-inspector[data-attention=danger]{background:var(--surface-soft);border-color:#e5b4b5;border-top-color:#bb494b}
.execution-view-controls{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:var(--radius-panel) var(--radius-panel) 0 0;background:var(--panel);border-bottom:1px solid var(--line);color:var(--ink);min-height:48px}
.execution-view-zoom,.execution-view-actions{display:flex;align-items:center;gap:3px}
.execution-view-controls button{border:1px solid transparent;color:var(--muted);background:transparent;font-size:var(--t11);border-radius:var(--radius-sm);padding:6px 8px;min-height:30px;white-space:nowrap}
.execution-view-controls button:hover{background:var(--panel-soft)}.execution-view-controls button:focus-visible,.task-panel-close:focus-visible,.task-attention:focus-visible{outline:2px solid #397fbc;outline-offset:1px}
.execution-view-controls button:disabled{opacity:.35;cursor:default}.execution-view-controls button[aria-pressed=true]{background:#eaf1fa;border-color:var(--line);color:#173e6f}
#task-fit{border-color:var(--line);font-weight:650;background:var(--panel-soft)}
#task-zoom-value{font-size:var(--t10);min-width:36px;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums}
#task-zoom-in,#task-zoom-out{font-size:var(--t18);width:29px;padding:0}
#task-week-detail{border-left:1px solid var(--line);margin-left:5px;border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.execution-calendar-viewport{border-radius:0}.execution-canvas{width:var(--execution-canvas,100%);min-width:100%;max-width:none}
.execution-date-row,.execution-gates-row,.execution-row{grid-template-columns:var(--execution-label,220px) minmax(0,1fr)}
.execution-label strong{font-size:var(--t11);line-height:14px;max-height:29px}.execution-label small{font-size:var(--t9)}
.task-bar{font-size:10px;height:20px;line-height:20px}.task-bar-label{font-weight:600}.task-resize{line-height:20px}
.execution-weeks .tick-muted{color:transparent;border-left:0}
.execution-chart.compact .execution-label{padding:3px 9px}.execution-chart.compact .execution-label strong{font-size:10px;line-height:12px;max-height:24px}
.execution-chart.compact .execution-label small{font-size:8px;line-height:10px}
.execution-chart.compact .execution-row[data-stream-row] .execution-label{padding:7px 10px}
.execution-chart.compact .execution-row[data-stream-row] .execution-label strong{font-size:11px;line-height:14px;max-height:none}
.task-attention-list{max-height:55vh;overflow:auto}.task-attention-item{display:block;text-align:left;width:100%;padding:12px 4px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink)}
.task-attention-item strong,.task-attention-item span,.task-attention-item small{display:block}.task-attention-item strong{font-size:var(--t12)}.task-attention-item span{font-size:var(--t11);margin:5px 0}.task-attention-item small{font-size:var(--t10);color:var(--muted)}
@media(max-width:1100px){.execution-layout{grid-template-columns:minmax(0,1fr) 266px;gap:12px}#task-inspector-content{padding:13px 15px 18px}.execution-view-controls{padding:6px;gap:3px}.execution-view-controls button{font-size:var(--t10);padding:5px 6px}}
@media(max-width:850px){.execution-layout{display:grid;grid-template-columns:minmax(0,1fr) 246px}.execution-layout>section{width:auto}.execution-inspector{position:sticky;top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,220px) + 12px);max-height:calc(100vh - var(--topbar-height,70px) - var(--program-ribbon-height,220px) - 25px);width:auto}.execution-view-controls{justify-content:flex-start}}
@media(max-width:620px){.execution-layout:not(.inspector-collapsed){grid-template-columns:minmax(0,1fr)}.execution-layout:not(.inspector-collapsed) .execution-inspector{position:static;max-height:none}.execution-view-controls{gap:2px}.execution-view-controls button{font-size:var(--t10)}.execution-caption{padding:8px}.execution-view-actions{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.execution-layout,.execution-inspector{transition:none}}
.task-create-dialog{width:min(840px,94vw);max-width:840px}.task-create-heading{display:flex;justify-content:space-between;align-items:start}.task-create-heading h2{margin:6px 0}.task-create-dialog fieldset{border:1px solid var(--line);border-radius:var(--radius-control);padding:15px 18px 18px;margin:22px 0}.task-create-dialog legend{font-size:12px;font-weight:700;color:#2c4c72;padding:0 6px}.task-create-dialog label{font-size:var(--t11)}.task-create-dialog input,.task-create-dialog select,.task-create-dialog textarea{font-size:var(--t12)}.task-create-dialog .grid3{display:grid;grid-template-columns:1fr 1.2fr .9fr;gap:12px}.task-new-person{margin:12px 0;padding:10px 12px;background:var(--panel-soft);border-radius:var(--radius-sm);font-size:var(--t11)}.task-new-person>summary{cursor:pointer;font-weight:600}.task-new-person button{margin-top:8px}.task-new-link{display:grid;grid-template-columns:minmax(0,1fr) 105px 92px auto;gap:10px;align-items:end}.task-new-link input,.task-new-link select{margin:0}.task-new-link button{height:39px;font-size:var(--t11)}.task-link-chip{padding:8px 10px;background:var(--panel-soft);border-radius:var(--radius-sm);display:flex;justify-content:space-between;align-items:center;margin:8px 0;font-size:var(--t11)}.task-link-chip small{display:block;margin-top:3px}.task-create-footer{display:flex;gap:25px;align-items:center;position:sticky;bottom:-26px;background:var(--surface);padding:16px 0;border-top:1px solid var(--line)}.task-create-footer small{font-size:var(--t10);color:var(--muted);flex:1}.task-create-footer button{font-size:var(--t12);flex-shrink:0}.task-owner-picker small{display:block;font-size:var(--t10);color:var(--muted);line-height:1.5}.task-owner-picker input{margin-bottom:5px}.task-field-inactive input:disabled{background:var(--panel-soft);color:var(--muted)}@media(max-width:650px){.task-new-link{grid-template-columns:minmax(0,1fr) 80px}.task-create-dialog .grid3{grid-template-columns:1fr}.task-create-footer{flex-direction:column;gap:10px;align-items:stretch}}

/* Compact Scenario chronology: dates + one grouped release lane, details on demand. */
.compact-calendar .shared-chart-tools{min-height:28px;padding:2px 8px;gap:5px}.compact-calendar .shared-chart-tools button{min-height:23px;height:23px;padding:1px 7px;font-size:10px}.compact-calendar .shared-chart-tools small{display:none}.compact-calendar .calendar-years{height:16px}.compact-calendar .calendar-year{height:16px;font-size:var(--t9);line-height:16px}.compact-calendar .calendar-months{height:21px}.compact-calendar .calendar-month{height:21px;font-size:var(--t8)}.compact-calendar .calendar-month b{transform:none;writing-mode:horizontal-tb}.compact-calendar .calendar-caption{padding:2px 8px;font-size:var(--t9)}.compact-calendar .calendar-dates{min-height:0}.compact-calendar .calendar-foundations{min-height:24px}.compact-calendar .calendar-foundations>.calendar-caption{display:flex;align-items:center;gap:6px}.compact-calendar .calendar-foundations .calendar-caption strong{display:none}.compact-calendar .calendar-foundations .link-btn{font-size:var(--t9);padding:0;margin:0}.compact-calendar .calendar-gate-track{height:24px!important}.compact-calendar .calendar-gate-anchor{top:1px!important}.compact-calendar .calendar-gate{height:21px;min-height:0;padding:2px 4px;gap:3px}.compact-calendar .calendar-gate svg{width:13px;height:13px}.compact-calendar .calendar-gate b{font-size:var(--t9);color:var(--muted)}.compact-calendar .calendar-key{display:flex;padding:4px 8px;gap:10px}

/* Shared compact chronology: same component, optional weeks/releases/key. */
.calendar-tools{display:flex;align-items:center;background:var(--panel);border-bottom:1px solid var(--line);min-height:28px}.calendar-tools .shared-chart-tools{flex:1;border:0;border-radius:0;margin:0}.calendar-display-button{margin:2px 8px;padding:3px 8px;font-size:var(--t10);color:var(--muted);background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);height:23px;white-space:nowrap}
.compact-calendar .calendar-dates,.compact-calendar .calendar-foundations{grid-template-columns:var(--calendar-label-width,172px) minmax(0,1fr)}
.compact-calendar .calendar-weeks{position:relative;height:18px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.calendar-week{position:absolute;font-size:var(--t8);line-height:18px;height:18px;text-align:center;color:var(--muted);overflow:hidden;white-space:nowrap}
.factory-frozen-calendar.programme-calendar{background:var(--surface);top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,220px) + var(--operation-toolbar-height,0px) + 3px)}
.calendar-options{display:grid;gap:14px;padding:12px 0}.calendar-options label{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:var(--t13)}.calendar-options input{width:16px;height:16px;margin:0}

.factory-shared-guides{position:absolute;inset:0;pointer-events:none;z-index:1}.factory-shared-guides .calendar-guides{left:188px}.factory-row .factory-label{z-index:4}
.factory-calendar-viewport{border-left:1px solid var(--line);border-right:1px solid var(--line)}
.compact-calendar .calendar-month b{left:0;right:0;bottom:4px;text-align:center;transform:none}

.compact-calendar .calendar-key>span{display:inline-flex;gap:5px;align-items:center}.compact-calendar .calendar-key>span>i{display:inline-block;width:13px;height:7px;border-radius:1px}.compact-calendar .calendar-key{color:var(--muted);font-size:var(--t8);min-height:22px}

/* Delivery is an adapter of the shared calendar, in both task and stream views. */
.execution-calendar.programme-calendar{background:var(--surface);top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,220px) + var(--operation-toolbar-height,0px) + 3px);z-index:16}
.execution-calendar .calendar-tools{border-radius:var(--radius-panel) var(--radius-panel) 0 0;flex-wrap:wrap}
.execution-calendar .calendar-canvas{width:var(--execution-canvas,100%);min-width:100%}
.execution-calendar .calendar-caption small{font-size:var(--t8);color:var(--muted);margin-top:2px}
.execution-calendar .calendar-key .execution-legend-critical{background:transparent;height:7px;border:1.5px solid #15254c}
.execution-calendar .calendar-tools .shared-chart-tools{flex:1;flex-wrap:wrap}
.execution-shared-guides{position:absolute;inset:0;pointer-events:none;z-index:1}
.execution-shared-guides .calendar-guides{left:var(--execution-label,220px)}
.other-gate{--gate-color:#607a9b}

/* The capacity selector operates the entire resource view and stays available. */
.resource-overview[data-operation-toolbar]{padding:15px 20px 12px;background:var(--panel);z-index:19;box-shadow:0 5px 10px #2035580c;overflow:visible}
.resource-overview .eyebrow{font-size:var(--t9)}.resource-overview h2{font-size:var(--t18);margin:6px 0}.resource-overview .resource-pool-list{display:flex;gap:10px;overflow-x:auto;scrollbar-width:thin;margin-top:12px;padding-bottom:3px}.resource-overview .resource-pool-card{flex:1 0 132px;min-width:132px;min-height:112px;padding:10px}.resource-overview .resource-spark{height:22px;margin-top:9px}
.resource-layout .programme-calendar{top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,220px) + var(--operation-toolbar-height,0px) + 3px)}
.resource-layout.cockpit-dock>aside{top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,220px) + 12px)!important;max-height:calc(100vh - var(--topbar-height,70px) - var(--program-ribbon-height,220px) - 26px)!important}
@media(max-width:650px){.resource-overview[data-operation-toolbar]{padding:10px}.resource-overview .resource-pool-card{flex-basis:120px;min-width:120px;min-height:100px}.resource-overview .resource-pool-list{margin-top:8px}.resource-overview .resource-spark{height:16px}.resource-overview .eyebrow{display:none}}

/* feasibility.css */
.feasibility-clear{--signal:#287c60;--signal-bg:#e8f4ee}.feasibility-risk{--signal:#a46719;--signal-bg:#fff3dc}.feasibility-blocked{--signal:#b24d4f;--signal-bg:#fbecec}.feasibility-unknown{--signal:#708199;--signal-bg:#edf1f6}
.bar.scenario[data-feasibility-status],.resize-handle[data-feasibility-status]{background:var(--signal);border-color:var(--signal)}
.feasibility-badge{display:inline-flex;align-items:center;align-self:flex-start;gap:4px;padding:2px 5px;border-radius:var(--radius-xs);color:var(--signal);background:var(--signal-bg);font-size:var(--t8);font-weight:650;margin-top:3px;text-align:left;line-height:13px}.feasibility-badge:hover{outline:1px solid var(--signal)}.feasibility-badge small{font-size:var(--t8);color:inherit}
.feasibility-legend{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:9px 0 3px;color:#677d9a;font-size:9px}.feasibility-legend>span{display:flex;align-items:center;gap:4px}.feasibility-legend i{display:inline-flex;justify-content:center;align-items:center;width:12px;height:12px;border-radius:3px;background:var(--signal);color:#fff;font-style:normal;font-size:10px}.feasibility-legend .link-btn{font-size:9px;padding:0}
.feasibility-control{display:flex;align-items:start;gap:6px;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px;margin:12px 0}.feasibility-control>small{font-size:var(--t10)}.feasibility-control .feasibility-badge{font-size:var(--t10);padding:4px 7px}
.feasibility-dialog{max-width:760px}.feasibility-checks{display:grid;gap:8px;max-height:48vh;overflow:auto;margin-bottom:14px}.feasibility-check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;background:var(--signal-bg);padding:12px;border-radius:var(--radius-sm);border-left:3px solid var(--signal)}.feasibility-icon{font-weight:700;color:var(--signal)}.feasibility-check small,.feasibility-check b{display:block}.feasibility-check small{font-size:var(--t9);color:var(--signal);margin-bottom:4px}.feasibility-check b{font-size:var(--t12)}.feasibility-check dl{font-size:var(--t10);margin:5px 0 0}.feasibility-check dl>div{display:flex;justify-content:space-between;gap:18px}.feasibility-check dd{margin:0;text-align:right;overflow-wrap:anywhere;max-width:70%}.feasibility-check dt{color:var(--muted)}.feasibility-rules{font-size:var(--t10)}.feasibility-rules p{display:flex;gap:12px;margin:7px 0}.feasibility-rules b{color:var(--signal);min-width:110px}.feasibility-rules span{color:var(--muted)}.timeline-row:has(.feasibility-badge){min-height:106px}

#chart-insight:has(.insight-causes){width:380px}#chart-insight .insight-causes{border-top:1px solid var(--line);margin-top:10px;padding-top:5px}#chart-insight .insight-cause{border-left:3px solid currentColor;margin-top:7px;padding-left:8px}#chart-insight .insight-cause b{display:block;font-size:var(--t11);line-height:1.4}#chart-insight .insight-cause small{display:block;font-size:var(--t10);line-height:1.4;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}#chart-insight .insight-more{display:block;margin-top:8px;font-size:var(--t10);color:var(--muted)}#chart-insight:has(.insight-causes) p{margin-top:8px;padding-top:8px}
#chart-insight .insight-cause{border-left-color:var(--signal);color:var(--signal)}

/* staffing.css */
.staffing-tabs{display:flex;gap:8px;margin:12px 0 18px}.staffing-tabs button{padding:9px 18px}.staffing-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0}.staffing-metrics>div{display:flex;gap:12px;align-items:center;padding:12px 16px;background:var(--panel-soft);border-radius:var(--radius-control)}.staffing-metrics b{font-size:var(--t24)}.staffing-metrics span{font-size:var(--t12);color:var(--muted)}.staffing-layout #resource-controls{position:sticky;top:calc(var(--header-height,70px) + var(--program-ribbon-height,0px));z-index:12}.staffing-layout #staffing-select{max-width:320px;margin:0 10px 0 0}.staffing-replaced{text-decoration:line-through;color:var(--muted)}.staffing-task-list{max-height:450px;overflow:auto}.staffing-task{display:block;text-align:left;width:100%;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);margin:7px 0}.staffing-task span,.staffing-task small{display:block;font-size:var(--t11);color:var(--muted);margin-top:5px}.staffing-role-list{max-height:220px;overflow:auto;border:1px solid var(--line);padding:10px;border-radius:var(--radius-control)}.staffing-role-list label{display:flex;gap:8px;align-items:center;margin:6px 0}.staffing-role-list input{width:auto}.staffing-dialog{width:min(790px,95vw)!important;max-width:95vw}.staffing-dialog .grid2{align-items:start;gap:25px}#staffing-board .calendar-viewport,#staffing-board .resource-overview-scroll{overflow-x:auto}#staffing-board .calendar-canvas,#staffing-board .resource-overview-canvas{width:var(--resource-overview-width,100%)}.staffing-layout table small{display:block;margin-top:4px}.staffing-layout .card h3{font-size:var(--t14);margin-top:24px}.intake-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:15px 0}.intake-checks>div{background:var(--panel-soft);padding:12px;border-radius:var(--radius-control);font-size:var(--t12)}.intake-checks .has-error{background:#fff2ee}.intake-dialog{width:min(860px,95vw)!important;max-width:95vw}.intake-dialog .grid2{align-items:start;gap:25px}.intake-light{border-left:3px solid #8865ad;padding:12px;background:var(--panel-soft)}.staffing-task[hidden],[data-staffing-relative][hidden],[data-staffing-dated][hidden]{display:none}@media(max-width:800px){.staffing-metrics{grid-template-columns:1fr}.staffing-dialog .grid2,.intake-dialog .grid2{grid-template-columns:1fr}}

.intake-steps,.intake-journey{display:flex;gap:4px;margin:15px 0;overflow:auto}.intake-steps button,.intake-journey button{flex:1;min-width:90px;display:flex;gap:8px;align-items:center;background:var(--panel-soft);color:var(--muted);border:1px solid transparent;padding:12px 10px;border-radius:var(--radius-control);text-align:left;font-size:var(--t11)}.intake-steps span,.intake-journey span{border:1px solid var(--line);border-radius:50%;width:22px;height:22px;display:grid;place-items:center;flex-shrink:0}.intake-steps .current{background:#e9f0fb;border-color:#7194c1;color:#1c3e6c}.intake-journey .complete{color:#217c62;background:var(--panel-soft)}.intake-journey{flex-wrap:wrap}.intake-journey button{font-size:var(--t10);min-width:75px}.intake-dialog fieldset{border:0;margin:0;padding:0}.intake-dialog [data-intake-pane][hidden]{display:none}.intake-dialog [data-intake-pane]{animation:intake-enter .15s ease}@keyframes intake-enter{from{opacity:.4;transform:translateX(6px)}to{opacity:1;transform:none}}
.intake-light-badge{background:#eee4f8;color:var(--muted)}.intake-light-bar{top:35px!important;height:5px!important;background:#9560b6;z-index:3;pointer-events:auto}.staffing-layout #resource-controls{top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,0px))}

.access-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}.access-action-grid label{font-size:var(--t12)}.access-action-grid input{width:auto;margin-right:8px}.access-action-grid select{margin-top:4px}

.org-chart{overflow:auto;padding:20px 0}.org-chart ul{list-style:none;padding-left:32px;border-left:1px solid #cbd7e7;margin:12px}.org-chart>ul{display:flex;align-items:flex-start;gap:16px;padding:0;border:0}.org-chart li{margin:12px 0;min-width:240px}.org-person{border:1px solid var(--line);border-top:3px solid #7390b6;border-radius:var(--radius-control);background:var(--panel-soft);padding:16px;max-width:340px;box-shadow:0 2px 6px #15213b06}.org-person b{font-size:var(--t16)}.org-person small{display:block;margin-top:6px;font-size:var(--t11);color:var(--muted)}.org-person .badge{margin:8px 4px 8px 0}
.person-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;overflow:hidden;background:#eaf0fb;color:#254572;font-weight:700}.person-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}.person-avatar img.loaded{opacity:1}.profile-heading{display:flex;gap:18px;align-items:center;margin:20px 0}.profile-heading .person-avatar{width:80px;height:80px;font-size:var(--t28)}.profile-heading h3,.profile-heading p{margin:3px 0}.profile-details{display:grid;grid-template-columns:140px 1fr;gap:12px}.profile-details dt{color:var(--muted)}.profile-details dd{margin:0}.profile-drop{border:1px dashed #99afd0;border-radius:var(--radius-panel);padding:16px;margin:18px 0;background:var(--panel-soft)}.profile-drop.active{background:#e9f1ff}.org-person .person-avatar{margin:0 auto 8px}.profile-topbar{padding:5px 10px;white-space:nowrap}
.org-chart>ul{flex-wrap:wrap}.org-chart>ul>li{flex:1 1 260px;max-width:430px}.staffing-layout #resource-controls{padding:14px 18px}.staffing-metrics{margin:8px 0;gap:8px}.staffing-metrics>div{padding:6px 8px}.staffing-metrics b{font-size:var(--t20)}.dedication-mode-tabs{display:flex;gap:10px;flex-wrap:wrap}.dedication-mode-tabs button{flex:1}

/* Keep the named-workload calendar below its operational controls. */
.staffing-layout #resource-controls{z-index:19}.staffing-layout .programme-calendar{top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,220px) + var(--operation-toolbar-height,0px) + 3px)}

/* pmo.css */
.pmo-brief{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,2.1fr);gap:24px;padding:10px 4px}.pmo-brief-intro{background:var(--panel);border-radius:var(--radius-panel);padding:23px;text-align:center}.pmo-brief-intro .eyebrow{font-size:var(--t9);color:var(--muted);letter-spacing:2px}.pmo-brief-intro h2{font-size:var(--t24);line-height:1.2;margin:12px 0}.pmo-brief-intro p{font-size:var(--t11);line-height:1.6;color:var(--muted)}.pmo-priority-ring{margin:16px auto;border-radius:50%;height:124px;width:124px;display:grid;place-items:center;background:conic-gradient(var(--chart-blocked) var(--blocker-end),var(--chart-risk) var(--blocker-end) var(--risk-end),var(--chart-unknown) var(--risk-end));box-shadow:0 4px 20px #b7c7dd30}.pmo-priority-ring>div{width:100px;height:100px;border-radius:50%;background:var(--panel);display:flex;flex-direction:column;justify-content:center}.pmo-priority-ring strong{font-size:var(--t32);line-height:1.2}.pmo-priority-ring small{font-size:var(--t9)}.pmo-brief-counts{display:flex;justify-content:center;gap:18px;font-size:var(--t10);margin:8px 0 20px}.pmo-brief-counts b{display:block;font-size:var(--t18);color:var(--signal)}.pmo-brief-intro>small{display:block;font-size:var(--t10);color:var(--muted);margin-top:12px}.pmo-next-actions{display:flex;flex-direction:column;gap:10px}.pmo-finding{border:1px solid var(--line);border-left:4px solid var(--signal);border-radius:var(--radius-control);padding:17px 20px;background:var(--panel);min-width:0}.pmo-finding header{display:flex;align-items:center;justify-content:space-between;gap:10px}.pmo-priority{font-size:var(--t10);font-weight:750;background:var(--signal-bg);color:color-mix(in srgb,var(--signal) 70%,#142149);padding:3px 7px;border-radius:var(--radius-xs)}.pmo-finding header>small{font-size:var(--t9);color:var(--muted);text-transform:uppercase;letter-spacing:.8px}.pmo-finding h3{font-size:var(--t16);margin:10px 0 4px}.pmo-finding>b{display:block;font-size:var(--t12);color:var(--ink)}.pmo-finding p{font-size:var(--t11);line-height:1.6;color:var(--muted);margin:7px 0}.pmo-finding footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}.pmo-finding footer button{font-size:var(--t10);padding:7px 10px}.pmo-facts{font-size:var(--t11);margin:12px 0;background:var(--panel-soft);padding:10px;border-radius:var(--radius-sm)}.pmo-facts>div{display:flex;justify-content:space-between;gap:15px;padding:3px 0}.pmo-facts dt{color:var(--muted)}.pmo-facts dd{margin:0;text-align:right;max-width:65%;overflow-wrap:anywhere;font-weight:600}.pmo-findings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.pmo-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;background:var(--surface-soft);position:sticky;top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,0px));z-index:10;border-bottom:1px solid var(--line)}.pmo-toolbar label{margin:0;font-size:var(--t10);min-width:130px}.pmo-toolbar>span{font-size:var(--t11);margin-left:auto;color:var(--muted)}.pmo-source{font-size:var(--t10);color:var(--muted);margin:14px 0}.pmo-items{max-height:300px;overflow:auto;font-size:var(--t11);border-top:1px solid var(--line)}.pmo-items p{padding:9px 0;border-bottom:1px solid var(--line)}.pmo-items small{display:block;margin-top:4px;color:var(--muted)}.pmo-coverage p{display:flex;justify-content:space-between;font-size:var(--t12);border-bottom:1px solid var(--line);padding:10px 0}.pmo-clear{padding:25px;text-align:center}.pmo-clear>span{font-size:var(--t40);color:#608075}.dashboard-widget:has(.pmo-brief){background:var(--panel);padding:20px}.dashboard-widget.height-compact .pmo-next-actions>.pmo-finding:nth-child(n+2){display:none}.dashboard-widget.width-small .pmo-brief{grid-template-columns:1fr}.dashboard-widget.width-wide .pmo-brief{grid-template-columns:1fr 1.3fr}.dashboard-widget.width-wide .pmo-next-actions>.pmo-finding:nth-child(n+3){display:none}@media(max-width:1100px){.pmo-findings{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:750px){.pmo-brief,.dashboard-widget.width-wide .pmo-brief,.pmo-findings{grid-template-columns:1fr}.pmo-finding footer{flex-wrap:wrap}}

.pmo-key-facts{display:flex;flex-wrap:wrap;gap:8px 20px;margin:9px 0;font-size:var(--t10)}.pmo-key-facts>div{min-width:80px}.pmo-key-facts dt{color:var(--muted);font-size:var(--t9)}.pmo-key-facts dd{margin:2px 0 0;font-weight:750;color:var(--ink);font-size:var(--t12);overflow-wrap:anywhere}.pmo-next-actions .pmo-finding{padding:12px 16px}.pmo-next-actions .pmo-finding p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.pmo-brief-intro{padding:18px}.pmo-brief-intro h2{font-size:var(--t22)}.pmo-brief-intro p{margin-bottom:8px}.pmo-brief-counts{margin:8px 0 12px}.dashboard-widget.height-standard .pmo-next-actions>.pmo-finding:nth-child(n+3){display:none}

/* dashboard.css */
.dashboard-workspace{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:18px;align-items:start;margin:18px 0}
.dashboard-workspace.settings-collapsed{grid-template-columns:minmax(0,1fr) 48px}
.dashboard-workspace>.dashboard-grid{margin:0}
#dashboard-tools{position:sticky;top:calc(var(--workspace-shell-top,var(--topbar-height,70px)) + var(--workspace-test-height,0px) + 14px);max-height:calc(100dvh - var(--workspace-shell-top,var(--topbar-height,70px)) - var(--workspace-test-height,0px) - 28px);overflow:auto;min-width:0;background:var(--surface);border:1px solid var(--line,var(--line));border-radius:var(--radius-panel);scrollbar-width:thin}
.dashboard-settings-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;border:0;border-radius:var(--radius-control);background:var(--panel-soft);color:var(--navy,#203760);padding:12px;text-align:left;font-size:var(--t12);font-weight:700}
.dashboard-settings-symbol{display:flex;flex-shrink:0;width:20px;height:20px}
.dashboard-settings-symbol svg{width:20px;height:20px}
.dashboard-settings-label{flex:1}
.dashboard-settings-chevron{font-size:var(--t22);font-weight:400;line-height:1}
.settings-collapsed .dashboard-settings-label,.settings-collapsed .dashboard-settings-chevron{display:none}
.settings-collapsed .dashboard-settings-toggle{justify-content:center;padding:12px}
#dashboard-settings-content{padding:16px}
#dashboard-settings-content[hidden]{display:none}
#dashboard-settings-content h2{font-size:var(--t14);margin:0 0 7px}
.dashboard-settings-context{font-size:var(--t10);line-height:1.6;margin:0 0 16px;color:var(--muted)}
.dashboard-settings-actions{display:grid;gap:8px}
.dashboard-settings-actions button{width:100%;font-size:var(--t12);padding:11px 9px;white-space:normal}
#dashboard-tools .dashboard-edit-hint{margin:12px 0 0;line-height:1.6}
#dashboard-tools .dashboard-edit-hint button{padding:4px 0;text-align:left}
#dashboard-tools .error{margin:12px 0 0;font-size:var(--t12);overflow-wrap:anywhere}
#dashboard-tools .error button{margin-top:8px;max-width:100%}
@media(max-width:760px){.dashboard-workspace{grid-template-columns:minmax(0,1fr) 190px;gap:10px}#dashboard-settings-content{padding:12px}}
.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin:18px 0}.dashboard-widget{margin:0;min-width:0;overflow:hidden;padding:18px;align-self:start}.dashboard-widget.width-small{grid-column:span 3}.dashboard-widget.width-wide{grid-column:span 6}.dashboard-widget.width-full{grid-column:span 12}.dashboard-widget-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;min-height:36px;flex-wrap:wrap}.dashboard-widget-header h2{font-size:var(--t16);margin:0;flex:1;min-width:130px}.dashboard-widget-header .kpi-symbol{width:30px;height:30px;padding:6px;flex-shrink:0}.dashboard-edit-tools{display:flex;gap:3px;margin-left:auto}.dashboard-edit-tools button{width:27px;height:27px;font-size:var(--t14)}.dashboard-widget-content{min-height:80px}.dashboard-widget .dashboard-list{overflow:auto;max-height:280px;scrollbar-width:thin}.dashboard-widget.height-compact .dashboard-list{max-height:145px}.dashboard-widget.height-tall .dashboard-list{max-height:480px}.dashboard-widget.height-tall .dashboard-metric{padding:45px 0}.dashboard-widget.height-compact .dashboard-metric{padding:4px 0}.dashboard-metric strong{font-size:var(--t32);letter-spacing:-1px}.dashboard-metric.risk strong{color:#a7661a}.dashboard-metric p,.dashboard-restricted p{font-size:var(--t12);color:var(--muted)}.dashboard-restricted{padding:22px 0;color:var(--muted);text-align:center}.dashboard-restricted svg{width:28px;display:block;margin:0 auto 12px}.dashboard-restricted b{display:block}.dashboard-filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 12px}.dashboard-filters label{margin:0;flex:1;min-width:115px;font-size:var(--t10)}.dashboard-filters select{font-size:var(--t11);min-height:32px;padding:5px 7px;margin-top:4px}.dashboard-health-summary{display:flex;justify-content:space-around;border-radius:var(--radius-control);background:var(--panel-soft);padding:12px 5px;margin-bottom:8px;gap:5px}.dashboard-health-summary span{background:transparent;text-align:center;font-size:var(--t10)}.dashboard-health-summary b{display:block;font-size:var(--t24);margin-bottom:3px}.dashboard-list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid var(--line);font-size:var(--t12)}.dashboard-list-row small,.dashboard-task-row small,.dashboard-pool-row small{display:block;font-size:var(--t10);color:var(--muted);margin-top:4px}.dashboard-list-row .link-btn{padding:0;text-align:left}.dashboard-pool-row{display:grid;grid-template-columns:minmax(100px,1fr) 1fr 48px;gap:12px;align-items:center;border:0;background:var(--panel);width:100%;padding:12px 2px;text-align:left;font-size:var(--t12);border-bottom:1px solid var(--line);color:var(--ink)}.dashboard-meter{height:8px;background:var(--panel-soft);border-radius:var(--radius-control);overflow:hidden}.dashboard-meter i{height:100%;display:block;background:#6d95bd}.dashboard-meter i.over{background:#bd555b}.dashboard-task-row{display:flex;align-items:center;gap:10px;text-align:left;width:100%;padding:11px 2px;border:0;border-bottom:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:var(--t12)}.dashboard-task-row>span:nth-child(2){flex:1}.dashboard-task-row>span:last-child{text-align:right}.dashboard-task-row>span:nth-child(2):last-child{text-align:left}.dashboard-task-state{color:var(--muted)}.dashboard-task-state.attention{color:#a66619;font-weight:bold}.dashboard-cost-track{display:flex;align-items:center;height:20px;background:var(--panel-soft);border-radius:4px;overflow:hidden}.dashboard-cost-track i{height:100%;display:block;min-width:0}.dashboard-finance-year{display:grid;grid-template-columns:40px minmax(80px,1fr) 70px;gap:10px;width:100%;text-align:left;border:0;background:var(--panel);padding:13px 0;color:var(--ink);font-size:var(--t12)}.dashboard-finance-year small{grid-column:2/4;color:var(--muted);font-size:var(--t10)}.dashboard-finance-year>b{text-align:right}.dashboard-cost-track .capex{background:#617fa9}.dashboard-cost-track .opex{background:#49a5a1}.dashboard-cost-legend{display:flex;gap:18px;font-size:10px;margin:10px 0}.dashboard-cost-legend span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;background:#617fa9}.dashboard-cost-legend .opex:before{background:#49a5a1}.dashboard-catalog{max-height:55vh;overflow:auto}.dashboard-catalog>button,.dashboard-catalog-group>button{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:12px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);color:var(--ink);margin:7px 0}.dashboard-catalog>button span:nth-child(2){flex:1}.dashboard-catalog small{display:block;margin-top:4px;font-size:var(--t11);color:var(--muted)}.dashboard-presets{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dashboard-presets small{display:block;margin-top:8px}.dashboard-empty{grid-column:1/-1;text-align:center;padding:40px}.dashboard-edit-hint{font-size:var(--t12);color:var(--muted);background:#edf3fc;border-radius:var(--radius-control);padding:10px}.dashboard-widget .shared-chart-tools{position:static;padding:3px 0 8px;min-height:25px;border:0;box-shadow:none}.dashboard-widget .shared-chart-tools small{display:none}.dashboard-widget .limits{font-size:var(--t10);margin-bottom:0}.dashboard-widget .feasibility-badge{flex-shrink:0}.dashboard-widget .shared-chart-scroll{max-width:100%}
@media(max-width:1000px){.dashboard-widget.width-small{grid-column:span 6}.dashboard-widget.width-wide{grid-column:span 12}}@media(max-width:600px){.dashboard-widget.width-small{grid-column:span 12}.dashboard-grid{gap:10px}}

/* Source widgets stay bounded on the dashboard; common Present expands the full view. */
.dashboard-catalog{display:block}.dashboard-catalog-group{margin:0 0 20px}.dashboard-catalog-group h3{position:sticky;top:0;background:var(--surface,#fff);padding:10px 0;border-bottom:1px solid var(--border,var(--line))}.dashboard-catalog-group h3 small{display:inline;font-weight:400;margin-left:8px}.dashboard-catalog-group>button{width:100%;margin:5px 0;display:flex;gap:12px;align-items:center;text-align:left}.dashboard-catalog-group>button>span:nth-child(2){flex:1}
.dashboard-source-tools{display:flex;align-items:center;gap:12px;margin:0 0 12px;flex-wrap:wrap}.dashboard-source-tools>small{flex:1;color:var(--muted,#536c96)}.dashboard-source-year{position:relative;padding-right:34px;white-space:nowrap}.dashboard-source-year .kpi-year-control{bottom:0;right:0}.dashboard-source-visual{overflow:auto;max-width:100%}.dashboard-source-visual .card{box-shadow:none;margin:0 0 10px}.dashboard-source-visual .programme-calendar-frame,.dashboard-source-visual .execution-chart{min-width:900px}.dashboard-source-visual .execution-scroll{max-height:none}.dashboard-source-visual .kpi-symbol svg{width:20px;height:20px}.dashboard-source-visual span.link-btn{color:inherit;cursor:default}.dashboard-network-map{min-height:360px}.dashboard-network-map svg{width:100%;height:360px}.dashboard-source-visual .org-chart-panel>.org-heading:first-child{display:none}.dashboard-source-visual .org-chart-legend{margin-bottom:12px}

.dashboard-source-visual{max-height:360px}.height-compact .dashboard-source-visual{max-height:190px}.height-tall .dashboard-source-visual{max-height:600px}
.dashboard-widget[data-home-widget="actions.mine"],.dashboard-widget[data-home-widget="delivery.mine"],.dashboard-widget[data-home-widget="actions.notifications"]{font-family:KestrelWorkspace,Arial,sans-serif}

/* Approved four-column packing; preferred anchors remain in the personal layout. */
.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:250px;align-items:stretch}
.dashboard-grid>.dashboard-widget{align-self:stretch;display:flex;flex-direction:column;min-height:0;position:relative;padding:16px}
.dashboard-widget-header{flex-wrap:nowrap;min-height:28px;margin-bottom:12px;gap:8px}.dashboard-widget-header h2{min-width:0;font-size:var(--t13);line-height:1.35}.dashboard-widget-content{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}.dashboard-widget .dashboard-metric{padding:0}.dashboard-widget .dashboard-metric strong{font-size:var(--t32)}.dashboard-widget .dashboard-list{max-height:none}.dashboard-size-tools{display:flex;justify-content:space-between;align-items:center;padding-top:10px}.dashboard-size-tools select{width:110px;font-size:var(--t11);padding:4px;min-height:26px}.dashboard-resize{border:0;background:none;color:var(--muted);padding:0;cursor:nwse-resize;touch-action:none}.dashboard-widget [data-home-handle]{cursor:grab;touch-action:none}.dashboard-widget.layout-selected{outline:2px solid #286fc1;outline-offset:-2px}.dashboard-expanded{padding:12px;background:var(--panel-soft);border-radius:var(--radius-control);font-size:var(--t12)}.dashboard-expanded>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.dashboard-expanded>div:last-child{border:0}.dashboard-widget.shape-wide .dashboard-widget-content:has(.dashboard-expanded){display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.dashboard-widget.shape-tall .dashboard-expanded{margin-top:20px}.dashboard-widget.shape-large .dashboard-expanded{margin-top:20px}.dashboard-widget .presentation-tools{margin:0 0 8px}.dashboard-widget.height-tall .dashboard-metric{padding:0}
@media(max-width:900px){.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dashboard-workspace{grid-template-columns:minmax(0,1fr) 48px}.dashboard-widget-header h2{font-size:var(--t12)}}
@media(max-width:650px){.dashboard-grid{display:flex;flex-direction:column}.dashboard-grid>.dashboard-widget{min-height:250px}.dashboard-grid .dashboard-resize{display:none}.dashboard-widget.shape-wide .dashboard-widget-content:has(.dashboard-expanded){display:block}}

.dashboard-widget.shape-wide .dashboard-responsive-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;align-items:start}.dashboard-responsive-summary .dashboard-expanded{margin:0}.dashboard-widget.shape-tall .dashboard-responsive-summary>section,.dashboard-widget.shape-tall .dashboard-responsive-summary>.dashboard-compact-years,.dashboard-widget.shape-tall .dashboard-responsive-summary>.dashboard-compact-findings{margin-top:20px}.dashboard-compact-years .dashboard-finance-year{grid-template-columns:34px minmax(0,1fr) 48px;gap:8px;font-size:var(--t10);padding:7px 0}.dashboard-compact-years>small{font-size:var(--t10);color:var(--muted)}.dashboard-compact-findings{display:grid;gap:8px}.dashboard-compact-findings>button{text-align:left;background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 10px}.dashboard-compact-findings small,.dashboard-compact-findings b,.dashboard-compact-findings span{display:block;line-height:1.4}.dashboard-compact-findings small{font-size:var(--t9);color:#a3641c}.dashboard-compact-findings b{font-size:var(--t11);margin:3px 0}.dashboard-compact-findings span{font-size:var(--t10);color:var(--muted)}.dashboard-widget.shape-wide:has(.dashboard-responsive-summary) .compact-workspace-filters{margin-bottom:6px}.dashboard-widget.shape-wide .dashboard-responsive-summary .dashboard-metric p{font-size:var(--t10);margin:7px 0}
/* Arrangement uses the same controls without spending a row on presentation actions. */
.dashboard-widget:has([data-home-handle])>.presentation-entry{display:none}
.dashboard-size-tools{padding-top:8px;min-height:30px;flex-shrink:0}.dashboard-size-tools .pwx-picker>summary{min-height:28px;padding:4px 8px;font-size:var(--t11)}.dashboard-size-tools .pwx-picker>summary .ui-icon{width:14px;height:14px}
.dashboard-widget.shape-wide .dashboard-expanded{padding:8px 10px}.dashboard-widget.shape-wide .dashboard-expanded>div{padding:5px 0;font-size:var(--t11);line-height:1.35}.dashboard-widget.shape-small .dashboard-metric p{margin:6px 0;font-size:var(--t11)}.dashboard-widget.shape-small .dashboard-metric strong{font-size:var(--t28)}

/* Roadmap: fixed calendar within the card, one body viewport, all available height. */
.dashboard-widget[data-home-widget="view:projects.roadmap"] .dashboard-widget-content{display:flex;flex-direction:column;overflow:hidden;min-height:0}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .dashboard-source-visual{flex:1;min-height:0;max-height:none;overflow:hidden;display:flex}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .project-roadmap-chart{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;width:100%;height:100%;margin:0;--execution-label:224px}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .programme-calendar{position:relative;top:auto!important;flex:none;z-index:2;margin:0;background:var(--surface,#fff)}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .execution-scroll{flex:1;min-height:0;max-height:none!important;height:auto;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .calendar-tools{display:none}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .calendar-viewport{overflow:hidden;max-width:100%}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .calendar-canvas{width:var(--execution-canvas);min-width:900px}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .calendar-foundations{min-height:0}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .calendar-gate .release-copy{display:block;min-width:0;white-space:normal;text-align:left;font-size:var(--t9);line-height:1.2}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .calendar-gate{width:66px;height:24px;top:calc(3px + var(--gate-lane,0)*28px);white-space:normal;justify-content:flex-start;gap:5px;overflow:hidden}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .calendar-key{position:static;min-height:0;padding:7px 8px}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .dashboard-source-tools{flex:none;margin-bottom:10px}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .compact-filters{flex:none}

.dashboard-widget[data-home-widget="view:projects.roadmap"] .calendar-gate-track{height:var(--roadmap-gates-height,32px)!important}

.dashboard-widget[data-home-widget="view:projects.roadmap"] .calendar-gate .release-copy b{display:none}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .calendar-gate .release-copy small{display:block;font-size:var(--t8);white-space:nowrap}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .calendar-gate:focus-visible{outline:2px solid var(--accent,#d71920);outline-offset:2px}

/* Roadmap controls use two compact rows; shared releases have a local Display menu. */
.dashboard-widget[data-home-widget="view:projects.roadmap"]>.presentation-entry{position:absolute;top:12px;right:16px;padding:0;margin:0;height:28px;align-items:center}
.dashboard-widget[data-home-widget="view:projects.roadmap"]:has(>.presentation-entry)>.dashboard-widget-header{padding-right:190px}
.dashboard-widget[data-home-widget="view:projects.roadmap"]:has([data-home-handle])>.dashboard-widget-header{padding-right:0}
.dashboard-widget[data-home-widget="view:projects.roadmap"]>.dashboard-widget-header{margin-bottom:5px;min-height:30px}
.dashboard-roadmap-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;flex:none;margin-bottom:6px}
.dashboard-roadmap-actions{display:flex;align-items:center;gap:8px;min-height:32px}
.dashboard-roadmap-actions button{font-size:var(--t11);min-height:30px;white-space:nowrap;padding:5px 8px}
.dashboard-roadmap-toolbar .compact-filter-heading{min-height:32px;gap:8px}
.dashboard-roadmap-toolbar .compact-filter-summary{font-size:var(--t11)}
.dashboard-roadmap-toolbar .compact-filter-heading button{min-height:30px;padding:5px 8px;font-size:var(--t11)}
.dashboard-roadmap-toolbar .compact-filter-fields{margin-top:6px}
.dashboard-roadmap-toolbar .dashboard-filters{margin:0 0 4px}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .calendar-key{padding:4px 8px;gap:8px}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .roadmap-grouped-releases .calendar-gate{width:auto;min-width:25px;max-width:38px;height:22px;top:3px;padding:3px 5px;gap:3px;white-space:nowrap;justify-content:center}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .roadmap-grouped-releases .calendar-gate b{font-size:var(--t10)}
.dashboard-widget[data-home-widget="view:projects.roadmap"] .calendar-foundations[hidden],.dashboard-widget[data-home-widget="view:projects.roadmap"] .calendar-key[hidden]{display:none!important}

.dashboard-widget[data-home-widget="view:projects.roadmap"] .dashboard-roadmap-toolbar .compact-filters{margin:0}

/* delivery-workspace.css */
.delivery-toolbar{display:flex!important;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0!important}.delivery-toolbar-main,.delivery-toolbar-secondary{display:contents}.delivery-create{display:flex;align-items:center;gap:8px;margin-left:auto;order:8}.delivery-toolbar .task-center-filters{width:auto;flex:1 1 160px;max-width:230px;min-width:150px;margin:0;padding:0;border:0}.delivery-toolbar .task-center-filters[open]{flex-basis:100%;max-width:none;order:20;padding-top:6px}.delivery-toolbar .task-center-filters>summary{padding:6px 0}.delivery-toolbar .delivery-scope-picker{min-width:175px;max-width:220px;flex:0 1 180px}.delivery-toolbar .delivery-scope-picker>summary{min-height:36px;padding:8px 10px}.delivery-toolbar .execution-switch{flex-shrink:0}.delivery-toolbar .execution-switch button{padding:8px;font-size:var(--t11)}.delivery-toolbar .delivery-review-date{display:grid;grid-template-columns:125px 20px;grid-template-rows:11px 32px;gap:3px;font-size:var(--t9);letter-spacing:.04em;margin:0}.delivery-toolbar .delivery-review-date>span:first-child{grid-column:1/-1}.delivery-toolbar .delivery-review-date>.field-help-button{margin:0;align-self:center}.delivery-toolbar .client-order-control select{max-width:170px;font-size:var(--t11)}.delivery-toolbar #task-review-date{width:125px;height:32px;font-size:var(--t11)}.delivery-toolbar [data-delivery-reset]{font-size:var(--t11);padding:8px 4px}.delivery-toolbar .delivery-create>button{padding:10px 11px;font-size:var(--t11)}.delivery-toolbar .task-inbox-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-control)}.delivery-toolbar .task-inbox-tools label{display:flex;flex-direction:column;align-items:stretch;gap:5px;letter-spacing:0;text-transform:none}.delivery-toolbar .task-inbox-tools select,.delivery-toolbar .task-inbox-tools input{width:100%;min-width:0}.delivery-review-date{display:flex;align-items:center;gap:10px;font-size:var(--t11)}.delivery-review-date input{width:145px}.delivery-scope-picker{position:relative;min-width:245px;max-width:390px}.delivery-scope-picker>summary{display:flex;align-items:center;gap:8px;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);cursor:pointer;list-style:none;font-weight:600}.delivery-scope-picker>summary span:first-of-type{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.delivery-scope-options{position:absolute;top:100%;left:0;width:390px;max-width:85vw;max-height:450px;overflow:auto;padding:15px;background:var(--popover);box-shadow:0 15px 45px #1b305d33;border:1px solid var(--line);border-radius:var(--radius-control);z-index:40}.delivery-scope-options .delivery-scope-option{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);text-transform:none;letter-spacing:0}.delivery-scope-options .delivery-scope-option[hidden]{display:none}.delivery-scope-option small{display:block;font-weight:400;font-size:var(--t10);color:var(--muted)}.delivery-scope-option input{width:16px;height:16px;flex-shrink:0}.milestone-intro{display:flex;justify-content:space-between;align-items:center;padding:22px 20px;background:var(--panel);border:1px solid #dce4f2;border-radius:12px 12px 0 0}.milestone-intro h2{margin:6px 0}.milestone-intro p{margin:7px 0 0;color:#627697;font-size:12px}.milestone-intro>b{font-size:28px}.milestone-intro>b small{display:block;font-size:11px;font-weight:500}.milestone-period,.milestone-completed{display:flex;align-items:center;gap:8px;font-size:11px}.milestone-period select{width:150px}.milestone-completed input{width:16px}.milestone-row .execution-label{display:block;padding:17px 12px}.milestone-row .execution-label small{display:block;margin-top:5px}.milestone-marker{position:absolute;display:flex;gap:7px;align-items:flex-start;background:transparent!important;border:0!important;padding:0!important;text-align:left;transform:translateX(-7px);border-radius:4px;color:#365a87;font-size:11px;height:44px;z-index:2}.milestone-diamond{font-size:16px;line-height:17px;color:#6486b1}.milestone-copy{display:block;background:#ffffffeb;padding:1px 3px;border-radius:4px;overflow:hidden}.milestone-copy b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:17px}.milestone-copy small{display:block;font-size:9px;white-space:nowrap;color:#667b99}.milestone-marker.warning .milestone-diamond{color:#b57523}.milestone-marker.danger .milestone-diamond{color:#c7434a}.milestone-marker.accepted .milestone-diamond{color:#258368}.milestone-marker.selected .milestone-copy{outline:2px solid #345e91}.milestone-chart .calendar-tools{flex-wrap:wrap}.milestone-chart .execution-body{overflow:hidden}.delivery-toolbar+.execution-layout{margin-top:12px}@media(max-width:900px){.delivery-create{margin-left:0}.delivery-scope-picker{max-width:100%;flex:1}.delivery-toolbar .execution-switch{flex-wrap:wrap}.delivery-review-date{margin-left:0}.delivery-toolbar .task-inbox-tools{grid-template-columns:repeat(2,minmax(130px,1fr))}}
.delivery-scope-picker>summary svg{width:20px;height:20px;flex-shrink:0}.delivery-scope-picker>summary{min-height:42px}.milestone-marker:focus-visible{outline:2px solid #345e91;outline-offset:3px}

.milestone-marker.label-left{transform:translateX(calc(-100% + 7px));flex-direction:row-reverse;text-align:right}.milestone-chart.compact .milestone-marker{height:35px}.milestone-row .execution-label{position:sticky;left:0}.delivery-scope-options h4{margin:14px 0 3px;color:var(--muted);font-size:var(--t11);text-transform:uppercase;letter-spacing:.08em}

.milestone-intro{padding:12px 16px}.milestone-intro h2{font-size:18px;margin:0}.milestone-intro p{margin-top:5px}.milestone-intro>b{font-size:24px}
/* Delivery Control is the common base; embedded views change interaction only. */
.delivery-project-heading{display:grid;grid-template-columns:var(--execution-label,244px) 1fr;min-height:64px;background:var(--panel-soft);border-top:2px solid var(--line);border-bottom:1px solid var(--line)}.delivery-project-heading>.execution-label{background:var(--surface-soft)}.delivery-identity{display:flex;gap:8px;align-items:center;min-width:0}.delivery-identity>span:last-child{min-width:0}.delivery-identity strong{font-size:var(--t12);max-height:none;white-space:normal;line-height:16px}.delivery-identity .client-avatar{width:28px;height:26px}.delivery-identity .landscape-icon{width:28px;height:26px}.delivery-capabilities{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.delivery-capabilities svg{width:13px;height:13px;vertical-align:middle;flex-shrink:0}.delivery-capabilities .scope-badge{display:inline-flex;gap:3px;align-items:center;font-size:var(--t9);padding:2px 4px}.inbox-group .delivery-identity{display:inline-flex;vertical-align:middle}.inbox-group .delivery-identity small:empty,.inbox-group .delivery-capabilities{display:none}.inbox-group .delivery-identity strong{font-size:var(--t11)}.inbox-group .delivery-identity .client-avatar{height:23px;width:25px}.milestone-row>.execution-label{display:block;padding:12px}.milestone-marker,.milestone-chart.compact .milestone-marker{height:auto;min-height:40px}.milestone-copy b,.milestone-copy small{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:16px}.milestone-copy b{font-size:12px}.execution-chart.separate-releases .calendar-gate-track{height:auto!important;min-height:var(--release-track-height,40px)}.execution-chart.separate-releases .calendar-gate-anchor{top:0!important}.project-delivery-view .execution-layout{margin-top:10px}.project-delivery-view .task-bar{cursor:pointer;touch-action:auto}.project-delivery-modes{width:max-content;max-width:100%;margin:10px 0}.project-roadmap-row{height:92px!important}.project-roadmap-row .execution-label strong{font-size:var(--t12);line-height:17px;max-height:none}.project-roadmap-row .execution-label{gap:10px}.project-span{top:37px;height:24px;overflow:visible;text-align:left;background:#548bb4}.project-span.shared{background:#8864b4}.project-span .task-bar-label{display:block;overflow:hidden;padding:3px 18px 3px 6px;color:white;font-size:11px}.project-span-dates{position:absolute;top:-23px;left:0;font-size:var(--t10);font-weight:650;color:var(--ink);white-space:nowrap}.project-span-end{position:absolute;right:-7px;top:3px;color:var(--ink)}.project-undated{display:block;padding:30px 12px;color:var(--muted);font-size:var(--t12)}.project-delivery-view .programme-calendar{z-index:14}.delivery-project-group>.execution-row .execution-label strong{font-size:var(--t11);line-height:14px}.milestone-chart .execution-body{overflow:visible}.milestone-marker .milestone-copy{background:#ffffffed}
.execution-chart.separate-releases .calendar-gate{width:190px;height:auto;min-height:36px;transform:translateX(-13px);gap:6px;padding:4px 6px;align-items:flex-start;justify-content:flex-start;text-align:left}.execution-chart.separate-releases .calendar-gate .gate-glyph{width:16px;flex-shrink:0;margin-top:2px}.execution-chart.separate-releases .release-copy{display:block;min-width:0;white-space:normal}.execution-chart.separate-releases .release-copy b{display:block;font-size:10px;color:#304c75;line-height:14px}.execution-chart.separate-releases .release-copy small{display:block;font-size:9px;color:#657e9f;line-height:13px}.execution-chart.separate-releases .calendar-gate.release-label-left{transform:translateX(calc(-100% + 13px));flex-direction:row-reverse;text-align:right}.project-toolbar .project-group-switch{flex:none}.project-toolbar .project-delivery-modes{margin:0}.project-toolbar{gap:10px}.project-toolbar:has(.project-delivery-modes){padding:10px 0}.project-toolbar label{min-width:220px}

.delivery-project-link{font-size:var(--t12)!important;font-weight:700;text-align:left;padding:0!important;white-space:normal;line-height:16px}

.project-roadmap-layout{display:block!important}.execution-view-actions[hidden]{display:none}.project-delivery-pin{top:36px!important;overflow:visible!important}.project-delivery-pin>span{font-size:var(--t10);color:var(--ink);position:absolute;top:-20px;left:0;white-space:nowrap}.project-delivery-pin+.project-undated{padding-top:65px;font-size:var(--t9)}

.execution-row,.delivery-project-heading{scroll-margin-top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,0px) + var(--operation-toolbar-height,0px) + var(--delivery-calendar-height,220px) + 12px)}

/* One desktop command line; the original Delivery and involvement states remain authoritative. */
.delivery-smartbar.delivery-toolbar{flex-wrap:nowrap;position:relative;z-index:12;margin:16px 0;padding:10px!important;border:1px solid var(--line);border-radius:var(--radius-panel,var(--radius-control));background:var(--surface,#fff);gap:8px}
.delivery-smartbar>.delivery-scope-picker{flex:0 1 220px;min-width:150px}.delivery-smartbar>details>summary{height:38px;font-size:var(--t12);white-space:nowrap}.delivery-smartbar .delivery-scope-options{max-height:70vh}.delivery-smart-spacer{flex:1;min-width:0}.delivery-smartbar .execution-switch{display:flex;flex-direction:column;align-items:stretch;gap:4px}.delivery-smartbar .execution-switch button{text-align:left;white-space:normal}.delivery-smartbar .involvement-menu>summary{max-width:260px}.delivery-smartbar .involvement-menu>summary>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delivery-smartbar .project-smart-menu>div{left:0;right:auto}.delivery-smartbar .delivery-actions-menu>div{left:auto;right:0}.delivery-smartbar .delivery-filter-menu>div{display:grid;gap:14px;width:300px}.delivery-smartbar .delivery-review-date{display:grid;grid-template-columns:1fr 20px;grid-template-rows:auto auto;gap:5px}.delivery-smartbar .delivery-review-date>span:first-child{grid-column:1/-1}.delivery-smartbar #task-review-date{width:100%;height:36px}.delivery-smartbar .client-order-control{max-width:100%;width:100%}.delivery-smartbar #task-add{flex-shrink:0;height:38px;white-space:nowrap}.delivery-smartbar .involvement-menu .iv-toolbar{padding:0;border:0;margin:0}.delivery-smartbar .involvement-menu .iv-toolbar small{display:none}

.delivery-smartbar .involvement-menu>div{width:min(620px,calc(100vw - 48px));max-width:none}.delivery-smartbar .involvement-menu .execution-switch{flex-direction:row;align-items:center}.delivery-smartbar .involvement-menu .iv-role{font-size:var(--t12);letter-spacing:normal;text-transform:none;min-width:200px}
.project-roadmap-row:has(.project-volumes):not(.pwx-multiwave-row){height:auto!important;min-height:92px}
.project-volumes{display:flex;flex-wrap:wrap;gap:3px 9px;margin-top:5px;color:var(--muted,#536f9c);font-size:var(--t11);font-weight:600;line-height:1.3}.project-volumes>span{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.project-volumes svg{width:13px;height:13px;flex:none}

/* task-center.css */
.task-center{background:var(--panel);border:1px solid var(--line,var(--line));border-radius:var(--radius-panel);overflow:hidden}.task-center-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 24px 18px;background:var(--panel)}.task-center-heading h2{margin:7px 0;font-size:var(--t24)}.task-center-heading p{margin:8px 0;color:var(--muted);font-size:var(--t13);max-width:650px}.task-center-report{min-width:130px;display:grid;gap:4px;color:var(--muted);font-size:var(--t12)}.task-center-report>b{font-size:var(--t24);color:var(--ink)}.task-center-report>div{height:6px;background:#dfe8f2;border-radius:var(--radius-control);overflow:hidden;margin:6px 0}.task-center-report i{display:block;background:#247d66;height:100%}.task-center-queues{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:0 18px 14px}.task-center-queues button{display:grid;gap:6px;padding:13px 10px;text-align:left;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);color:var(--muted)}.task-center-queues button[aria-pressed=true]{border-color:#365e8e;background:var(--panel-soft);box-shadow:inset 0 -3px #365e8e}.task-center-queues button:hover{background:var(--panel-soft)}.task-center-queues button>b{font-size:var(--t24);color:var(--ink)}.task-center-queues button>span{font-size:var(--t12);font-weight:700}.task-center-queues small{font-size:var(--t10);line-height:1.4;font-weight:400}.task-center-queues button:disabled{opacity:.5}.task-center>.limits{padding:0 20px}.task-center-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel-soft)}.task-center-toolbar>small{margin-left:auto;color:var(--muted)}.task-center .task-inbox{margin:0;width:100%}.task-center .task-inbox td{padding:15px 12px;vertical-align:top}.task-center .task-inbox td>button{font-weight:700;color:#254974;text-align:left}.task-center .task-inbox tbody tr:hover{background:var(--panel-soft)}.task-center .task-inbox .selected{background:#edf5ff}.task-center .task-inbox small{line-height:1.5}.task-center .task-inbox th{font-size:var(--t11)}.task-center-table{overflow-x:auto}.task-center-empty{padding:32px;text-align:center;color:var(--muted)}.task-center-milestones{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px;padding:18px}.task-center-milestone{border:1px solid #dce5ef;border-left:4px solid #88a3c3;border-radius:10px;padding:16px}.task-center-milestone.warning{border-left-color:#ba7a24}.task-center-milestone.danger{border-left-color:#b34b50}.task-center-milestone h3{margin:14px 0 8px}.task-center-milestone h3 button{font-size:16px;text-align:left}.task-center-milestone p{font-size:12px;color:#526a8c}.task-center-milestone-facts{display:flex;gap:16px;padding:12px 0;border-top:1px solid #e8edf4}.task-center-milestone-facts span{font-size:11px;color:#536c90}.task-center-milestone-facts b{display:block;font-size:22px;color:#213e67}.task-center-impact{margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel-soft)}.task-center-impact h3{margin:0 0 12px}.task-center-impact .secondary{padding:9px 10px;font-size:var(--t12)}.task-center-impact .flex{gap:7px}.task-center-load{display:grid;gap:5px;border-left:3px solid #7899bd;padding:12px;background:var(--panel-soft);margin:12px 0}.task-center-load.warning{border-color:#b87529;background:#fff8ed}.task-center-load>b{font-size:var(--t22)}.task-center-load small,.task-center-load span{font-size:var(--t11)}.task-center-chain{max-height:55vh;overflow:auto}.task-center .inbox-select{width:28px}.task-center .task-inbox .inbox-group th{text-align:left;background:var(--panel-soft);padding:9px 14px}.task-center>.limits{font-size:var(--t11)}@media(max-width:1050px){.task-center-queues{grid-template-columns:repeat(4,minmax(0,1fr))}.task-center-heading{padding:18px}.task-center-queues small{display:none}}@media(max-width:600px){.task-center-heading{align-items:flex-start;gap:10px}.task-center-heading h2{font-size:var(--t20)}.task-center-report{min-width:78px}.task-center-report>b{font-size:var(--t22)}.task-center-queues{grid-template-columns:repeat(3,minmax(0,1fr))}.task-center-milestones{grid-template-columns:1fr}}
.task-center-controls{gap:8px}.task-center-controls #task-scope{max-width:210px}.task-center-controls #task-filter{max-width:125px}.task-center-controls #task-review-date{width:140px}.task-center-controls .execution-switch button,.task-center-controls #task-add,.task-center-controls #task-import{padding:10px 9px;font-size:var(--t11)}.task-center-filters{flex-basis:100%;border-top:1px solid var(--line);padding:9px 0 0;font-size:var(--t12)}.task-center-filters>summary{cursor:pointer;font-weight:700;color:var(--muted)}.task-center-filters .task-inbox-tools{margin-top:12px}.task-center-heading{padding:18px 20px 12px}.task-center-heading h2{font-size:var(--t22)}.task-center-heading .eyebrow{font-size:var(--t9)}.task-center-queues button{padding:10px}.task-center-queues button>b{font-size:var(--t22)}

.task-center-heading{padding:12px 18px;gap:16px}.task-center-heading .eyebrow{display:none}.task-center-heading h2{font-size:var(--t20);margin:0 0 5px}.task-center-heading p{font-size:var(--t12);margin:4px 0}.task-center-report>b{font-size:var(--t22)}.task-center-report>div{margin:2px 0}.task-center-queues{padding:0 18px 8px}.task-center>.limits{margin:5px 0 9px}.task-center-toolbar{padding:9px 18px}.task-center .task-inbox td{padding:10px 12px}.task-center-impact>details{font-size:var(--t11);margin:10px 0}.task-center-impact>details summary{color:var(--muted);cursor:pointer}@media(max-width:1400px){.task-center-queues small{display:none}.task-center-queues button{padding:9px;gap:4px}.task-center-report>small{font-size:var(--t10)}}
.task-center-table{max-height:65vh;overflow:auto}.task-center .task-inbox thead th{top:0;background:var(--panel-soft)}.task-center .task-inbox .inbox-group th{position:static}.task-center .task-inbox{min-width:680px}
.task-center .task-inbox thead th.inbox-select{width:32px}.task-center .task-inbox td.inbox-select{width:32px}
.task-center-milestone-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.task-center-milestone-facts span{white-space:normal;overflow-wrap:anywhere;min-width:0}.task-center-milestone .limits{overflow-wrap:anywhere}

/* roadmap.css */
.roadmap-controls{display:flex;gap:12px;flex-wrap:wrap;margin-left:auto;align-items:center}.roadmap-controls label{display:flex;gap:6px;align-items:center;margin:0;font-size:var(--t10)}.roadmap-controls select{padding:5px 22px 5px 8px;height:30px;min-width:145px;max-width:205px;font-size:var(--t11)}.roadmap-group{padding:8px 12px;background:var(--panel-soft);border-top:1px solid var(--line);color:#304d80;font-size:var(--t11);font-weight:700}.roadmap-group small{font-weight:400;margin-left:12px}.timeline-row.roadmap-detail{min-height:43px;height:43px;background:var(--panel-soft)}.roadmap-detail .timeline-label{padding:5px 8px}.roadmap-detail .timeline-label button{border:0;background:none;color:#304d80;font-size:var(--t10);text-align:left;line-height:1.15;cursor:pointer}.roadmap-detail .timeline-label small{font-size:var(--t9)}.roadmap-detail-bar{position:absolute;top:10px;height:22px;border:1px solid #9eacc4;border-radius:4px;background:#d9e3f1;color:#203858;font-size:9px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-align:left;padding:2px 6px;cursor:pointer}.roadmap-detail-bar.warning{background:#fff0cf;border-color:#d8ac44}.roadmap-detail-bar.danger{background:#ffe5e5;border-color:#d78c8c}.roadmap-detail-bar.accepted{background:#d8f1e5;border-color:#6daa8f}.roadmap-detail-bar span{position:absolute;inset:0 auto 0 0;background:#557da220;pointer-events:none}.programme-calendar .calendar-tools:has(.roadmap-controls){flex-wrap:wrap}@media(max-width:1000px){.roadmap-controls{margin-left:0}}
.task-import-dialog{width:min(920px,95vw);max-height:90vh;overflow:auto}.task-import-dialog textarea{font-family:monospace;font-size:var(--t11)}.task-import-row{padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);margin:6px 0}.task-import-row summary{cursor:pointer}.task-import-row td{overflow-wrap:anywhere;max-width:300px}.task-import-row table{width:100%;font-size:var(--t11)}.task-inbox{width:100%;border-collapse:collapse}.task-inbox th{font-size:var(--t10);color:var(--muted);text-align:left;position:sticky;top:calc(var(--topbar-height,66px) + var(--program-ribbon-height,0px) + var(--operation-toolbar-height,0px));background:var(--surface-soft);z-index:3;padding:12px 8px}.task-inbox td{padding:11px 8px;font-size:var(--t11);border-bottom:1px solid var(--line)}.task-inbox tr.selected{background:#eaf2ff}.task-inbox button{text-align:left;border:0;background:none;cursor:pointer;color:#304d80;font-weight:700}.task-inbox small{display:block;color:var(--muted);margin-top:4px}.task-inbox .warning{color:#9b6a12}.task-inbox .danger{color:#b53e42}
.task-inbox-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:var(--panel);padding:12px;border:1px solid var(--line);border-radius:var(--radius-control)}.task-inbox-tools label{margin:0;font-size:var(--t11);display:flex;align-items:center;gap:7px}.task-inbox-tools select{width:190px}.task-inbox-tools input[type=checkbox]{width:auto}.task-inbox-all{white-space:nowrap}

.timeline-row.roadmap-detail .timeline-label{position:relative;display:block;align-self:stretch;overflow:hidden;padding:4px 8px;line-height:1.2}.roadmap-detail .timeline-label button{padding:0;display:block;max-height:24px;overflow:hidden}.roadmap-detail .timeline-label small{display:block;margin-top:2px}.roadmap-detail .tracks{min-height:43px;height:43px}

.auth-clear{border:1px solid var(--line);border-radius:50%;width:32px;height:32px;flex:none;background:var(--panel-soft);color:var(--muted);font-size:var(--t22);line-height:24px}.auth-form .flex h2{margin:0}.auth-form .flex{margin-bottom:14px}

.execution-toolbar .task-inbox-tools{flex-basis:100%;padding:7px 0;border:0;background:transparent}.task-inbox td.warning,.task-inbox td.danger{max-width:240px;line-height:1.4}
.task-inbox{table-layout:fixed}.task-inbox th,.task-inbox td{white-space:normal;overflow-wrap:anywhere}.task-inbox th:nth-child(1){width:28%}.task-inbox th:nth-child(2){width:16%}.task-inbox th:nth-child(3){width:16%}.task-inbox th:nth-child(4){width:13%}.task-inbox th:nth-child(5){width:27%}.task-inbox button{padding:0}
.task-inbox .inbox-select{width:32px;padding:7px}.task-inbox .inbox-select input{width:15px}.task-inbox th:nth-child(2){width:27%}.task-inbox th:nth-child(3){width:13%}.task-inbox th:nth-child(4){width:14%}.task-inbox th:nth-child(5){width:12%}.task-inbox th:nth-child(6){width:28%}.task-inbox .inbox-group th{position:static;width:auto;background:#e8eef7;color:var(--muted);padding:10px;text-align:left;border-top:10px solid var(--line)}.inbox-group small{display:inline;margin-left:10px}.bulk-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bulk-fields input[type=checkbox]{width:auto}.task-inbox-tools select{max-width:160px}.task-inbox-tools input[type=search]{max-width:200px;margin:0;font-size:var(--t12)}.bulk-fields label{display:flex;align-items:center;gap:7px}

/* palette.css */
.feasibility-clear{--signal:var(--chart-clear);--signal-bg:color-mix(in srgb,var(--chart-clear) 12%,white);--signal-ink:var(--chart-clear-ink)}.feasibility-risk{--signal:var(--chart-risk);--signal-bg:color-mix(in srgb,var(--chart-risk) 12%,white);--signal-ink:var(--chart-risk-ink)}.feasibility-blocked{--signal:var(--chart-blocked);--signal-bg:color-mix(in srgb,var(--chart-blocked) 12%,white);--signal-ink:var(--chart-blocked-ink)}.feasibility-unknown{--signal:var(--chart-unknown);--signal-bg:color-mix(in srgb,var(--chart-unknown) 12%,white);--signal-ink:var(--chart-unknown-ink)}
.feasibility-badge,.feasibility-check small,.feasibility-icon,.feasibility-rules b{color:color-mix(in srgb,var(--signal) 65%,#142149)}.bar.scenario[data-feasibility-status],.resize-handle[data-feasibility-status],.feasibility-legend i{color:var(--signal-ink)}.bar.baseline{background:var(--chart-baseline)}.bar.runoff{background:var(--chart-runoff)}.bar.edi-derived{border-color:var(--chart-proposal);background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--chart-proposal) 25%,white),color-mix(in srgb,var(--chart-proposal) 25%,white) 4px,color-mix(in srgb,var(--chart-proposal) 50%,white) 4px,color-mix(in srgb,var(--chart-proposal) 50%,white) 8px)}.constraint-marker{color:var(--chart-proposal)}
.palette-legend{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:inherit;font:inherit;padding:3px 4px;border-radius:4px}.palette-legend:hover,.palette-legend:focus-visible{background:#eaf0f9;outline:1px solid #adc1dc}.palette-legend i{display:inline-flex;width:12px;height:12px;border-radius:3px;font-style:normal;align-items:center;justify-content:center}.palette-dialog{max-width:590px}.palette-dialog p{font-size:var(--t12);line-height:1.6}.palette-preview{border:1px solid var(--line);border-radius:var(--radius-sm);padding:15px;margin:14px 0;text-align:center;font-weight:700}.palette-values{display:grid;grid-template-columns:90px 1fr;gap:16px}.palette-values input[type=color]{padding:4px;height:42px;width:100%;cursor:pointer}.palette-dialog .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.palette-dialog details{margin:12px 0}.palette-swatches{display:flex;align-items:center;gap:8px;margin:14px 0}.palette-swatches>span{font-size:var(--t11);min-width:85px}.palette-swatches button{width:28px;height:28px;border-radius:50%;border:1px solid #c5d0df;padding:0}.palette-swatches button:hover,.palette-swatches button:focus-visible{outline:2px solid #253f69;outline-offset:2px}.network-filters>.palette-legend{font-size:10px;margin:-3px 0 3px 24px}

.palette-dialog{padding:22px 28px}.palette-dialog h2{font-size:var(--t20);margin:0 0 6px}.palette-dialog>p{margin:0 0 10px}.palette-dialog label{margin:4px 0;font-size:var(--t11)}.palette-dialog input,.palette-dialog select{padding:8px 10px}.palette-dialog .palette-preview{padding:9px;margin:8px 0}.palette-dialog .palette-swatches{margin:8px 0}.palette-dialog .buttons{margin-top:12px}.palette-dialog details{margin:6px 0}.palette-dialog .palette-values input[type=color]{height:35px}.palette-dialog .palette-swatches button{margin:0}.palette-dialog form>.link-btn{margin:0;padding:5px}
.palette-dialog form{gap:4px}

/* network.css */
.network-toolbar{position:sticky;top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,0px));z-index:10;background:var(--surface-soft);padding:10px 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.network-toolbar label{margin:0}.network-toolbar select{width:auto}.network-notice{font-size:var(--t11);color:var(--muted);line-height:1.6}.network-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:12px;align-items:start}.network-layout.with-detail{grid-template-columns:220px minmax(0,1fr) 240px}.network-filters,.network-detail{padding:20px;position:sticky;top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,0px) + 80px);max-height:70vh;overflow:auto}.network-layer{display:flex;align-items:center;gap:8px;font-size:var(--t12);margin:9px 0}.network-layer input{width:16px;height:16px;padding:0;flex:none}.network-list{max-height:220px;overflow:auto;margin-top:14px}.network-list button{width:100%;text-align:left;padding:9px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font-size:var(--t11)}.network-list button:hover,.network-list button:focus-visible{background:var(--panel-soft)}.network-list small{display:block;color:var(--muted);margin-top:4px}.network-map-card{padding:8px;overflow:hidden}.network-map{height:58vh;min-height:400px;max-height:740px;background:var(--panel-soft);border-radius:var(--radius-control);touch-action:none;cursor:grab}.network-map:active{cursor:grabbing}.network-map svg{display:block;width:100%;height:100%}.network-map [data-map-point]{cursor:pointer}.network-map [data-map-point]:focus-visible circle{stroke:#d71920;stroke-width:3px;vector-effect:non-scaling-stroke}.network-map-card>small{display:block;padding:10px;font-size:var(--t10);color:var(--muted)}.network-detail h2{font-size:var(--t20);overflow-wrap:anywhere}.network-detail p{font-size:var(--t12);line-height:1.6}.network-detail .eyebrow{margin-top:18px}.network-detail>.link-btn{float:right}.network-detail .secondary{width:100%}@media(max-width:1050px){.network-layout.with-detail{grid-template-columns:200px minmax(0,1fr)}.network-detail{grid-column:2;position:static;max-height:none}}@media(max-width:700px){.network-layout,.network-layout.with-detail{grid-template-columns:1fr}.network-filters,.network-detail{position:static;grid-column:auto;max-height:none}.network-list{max-height:150px}.network-map{min-height:330px}}

/* project-commitments.css */
.commitment-card h2{display:flex;align-items:center;gap:10px}.commitment-dates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.commitment-dates>div{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-control);padding:18px}.commitment-dates small{display:block;color:var(--muted);margin-bottom:9px}.commitment-dates strong{display:block;font-size:var(--t22);color:var(--ink)}.commitment-dates .commitment-late{background:#fff6e8;border-color:#e7be7a}.commitment-late{color:#985900}.commitment-summary{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 16px}.commitment-summary>span{flex:1}.commitment-actions{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0 2px;background:var(--surface);border-top:1px solid var(--line);margin-top:22px}.commitment-actions>div:first-child{max-width:72%;color:var(--muted);font-size:var(--t13)}.commitment-actions button{white-space:nowrap}.commitment-history{padding:16px 0;border-bottom:1px solid var(--line)}.commitment-confirm{display:flex;align-items:center;gap:10px;margin:18px 0}.commitment-confirm input{width:auto}.commitment-badge{display:inline-flex;gap:5px;align-items:center;color:#714f17;background:#fff3df}.commitment-badge svg{width:14px;height:14px}

.commitment-card h2 svg{width:24px;height:24px;flex:none}.commitment-card h2{white-space:nowrap}

/* project-admin.css */
.project-breadcrumb{display:flex;align-items:center;gap:12px;margin:14px 0;color:var(--muted);font-size:var(--t12)}.project-breadcrumb .link-btn{display:inline-flex;gap:7px;align-items:center}.project-breadcrumb svg,.project-header svg,.project-administration svg,.project-information-dialog svg{width:19px;height:19px;vertical-align:middle;flex-shrink:0}.project-model-tag{display:inline-flex;align-items:center;gap:5px;margin-left:12px;color:var(--muted);font-size:var(--t11)}.project-indicators{display:flex;gap:12px;margin-top:18px}.project-indicator{display:flex;align-items:center;gap:12px;min-width:180px;flex:1;padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);text-align:left}.project-indicator>svg{width:24px;height:24px}.project-indicator small{display:block;color:var(--muted);font-size:var(--t11);margin-bottom:5px}.project-indicator strong{font-size:var(--t14)}.project-admin-domains{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;margin-top:26px}.project-admin-domains.shared{grid-template-columns:1fr}.project-admin-domain{border:1px solid var(--line);border-radius:var(--radius-panel);padding:24px;background:var(--panel-soft)}.project-admin-domain.lifecycle{background:var(--panel)}.project-domain-heading{display:flex;gap:15px;align-items:center}.project-domain-heading h3{margin:5px 0}.project-domain-heading small{font-size:var(--t11);color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.project-domain-icon{display:grid;place-items:center;width:48px;height:48px;background:#edf2fc;border-radius:var(--radius-panel);color:#456b9c}.project-domain-icon svg{width:26px;height:26px}.project-admin-domain>p{margin:20px 0;color:var(--muted)}.project-lifecycle-action{display:flex;align-items:center;gap:14px;padding:20px 0;border-top:1px solid var(--line);margin-top:20px}.project-lifecycle-action>div{flex:1}.project-lifecycle-action p{font-size:var(--t12);color:var(--muted);margin:8px 0 0}.project-lifecycle-action.archive>span{color:#a26622}.project-information-dialog{max-width:820px;width:90vw}.project-information-photo{display:flex;gap:25px;padding:18px 0 24px;border-bottom:1px solid var(--line);margin-bottom:18px;align-items:center}.project-information-photo .client-avatar{width:150px;height:95px}.project-photo-candidate{width:150px;height:95px;object-fit:contain}.project-information-actions{position:sticky;bottom:-24px;padding:16px 0;background:var(--surface);border-top:1px solid var(--line);z-index:2}.project-information-actions>span{font-size:var(--t12);color:var(--muted)}.project-information-actions .buttons{justify-content:flex-end}.project-archive-consent{padding:16px;background:#fff7e8;border:1px solid #ecd5af;border-radius:var(--radius-control);margin:12px 0}.project-archive-consent input[type=checkbox]{width:auto}.project-archive-consent label{display:flex;gap:10px}.project-archive-footer{position:sticky;bottom:0;background:var(--surface);padding:16px 0;border-top:1px solid var(--line)}.project-dependency-list{display:grid;gap:8px;padding:0;list-style:none}.project-dependency-list li{padding:10px 14px;background:#fff7e8;border-left:3px solid #b17c25}.project-dependency-list small{display:block;color:var(--muted);margin-top:5px}
.project-structure-dialog,.project-dependency-dialog{width:min(1120px,92vw);max-width:1120px}.stream-editor{display:grid;gap:8px;margin:18px 0}.stream-editor-row{display:grid;grid-template-columns:42px minmax(160px,1fr) 110px 38px 38px 38px;gap:8px;align-items:center;background:var(--panel-soft);padding:10px;border-radius:var(--radius-control)}.stream-editor-row input[type=color]{padding:3px;height:38px}.readiness-item{border-left:3px solid #91a6ce;background:var(--panel-soft);padding:16px;margin:12px 0}.readiness-item.feasibility-clear{border-color:#00865e}.readiness-item.feasibility-risk{border-color:#c98a1b}.dependency-focus{background:#eef3ff;padding:18px;border-radius:var(--radius-control);margin:18px 0}.project-dependency-dialog ul{list-style:none;padding-left:18px;border-left:1px solid var(--line)}.dependency-node{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 0}.dependency-node span{font-size:var(--t12);color:var(--muted)}.project-dependency-dialog details{padding-bottom:8px}.project-readiness textarea{min-height:80px}
.project-indicator.feasibility-clear{color:#00805c}.project-indicator.feasibility-risk{color:#a76b0d}.project-indicator.feasibility-blocked{color:#c42543}.project-indicator.feasibility-unknown{color:var(--muted)}.project-lifecycle-action>button{flex-shrink:0}

.project-readiness svg,.project-update-card svg,.project-update-preview svg,.project-update-history svg,.project-operations-dialog svg,.project-structure-dialog svg,.project-dependency-dialog svg,.project-dialog :is(.ui-dialog-heading,h2) svg,[data-staffing-archives] svg{width:19px;height:19px;vertical-align:middle;flex-shrink:0}.project-structure-dialog fieldset,.project-operations-dialog fieldset{border:0;margin:0;padding:0}.project-structure-dialog .project-information-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.project-structure-dialog .project-information-actions>span{margin-right:auto}.project-structure-dialog .project-information-actions>.error{flex-basis:100%}.project-operations-dialog{width:760px;max-width:90vw}

/* Compact project navigation: breadcrumb, identity/signals and tabs stick as one measured toolbar. */
.project-header{padding:8px 0 10px}.project-header .project-breadcrumb{margin:0 0 12px;font-size:var(--t11);min-height:23px}.project-breadcrumb>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-header-main{display:grid;grid-template-columns:minmax(250px,1fr) minmax(520px,640px);gap:24px;align-items:center}.project-header-main .project-identity{min-width:0}.project-header-main .project-identity>div{min-width:0}.project-header-main h2{overflow-wrap:anywhere}.project-header-main .project-indicators{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.project-header-main .project-indicator{min-width:0;gap:8px;padding:9px 10px;min-height:58px;border-radius:var(--radius-control)}.project-header-main .project-indicator>svg{width:18px;height:18px}.project-header-main .project-indicator small{font-size:var(--t10);margin-bottom:4px;font-weight:400}.project-header-main .project-indicator strong{font-size:var(--t12);white-space:nowrap}.project-completion{color:var(--ink)}.project-indicator:focus-visible,.project-breadcrumb button:focus-visible{outline:2px solid #d5a12d;outline-offset:2px}.project-header .project-tabs{margin-top:12px;gap:3px}.project-header .project-tabs button{padding:9px 12px;font-size:var(--t12)}.project-information-panel svg{width:19px;height:19px;vertical-align:middle}.project-information-summary{display:grid;grid-template-columns:210px minmax(0,1fr);gap:32px;margin-top:24px}.project-information-identity{border-right:1px solid var(--line);padding-right:24px}.project-information-identity>.client-avatar{width:180px;height:110px;font-size:var(--t28)}.project-information-identity h3{overflow-wrap:anywhere}.project-information-identity small{color:var(--muted)}.project-information-details{display:grid;gap:20px}.project-information-details h3{margin:0 0 8px}.project-information-details p{margin:0}.project-information-details section+section{border-top:1px solid var(--line);padding-top:20px}

.project-admin-advanced{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px}.project-admin-advanced p{margin:8px 0 0;font-size:var(--t12);color:var(--muted)}.project-admin-advanced>button{flex-shrink:0}

.stream-editor-row{grid-template-columns:42px minmax(160px,1fr) 86px 32px 32px 70px}.stream-delete{color:#a33847;background:#fff0f1;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--t11);padding:7px 8px}.stream-removal{padding:18px 20px;background:#fff8ec;border:1px solid #e4cda7;border-radius:0 0 var(--radius-control) var(--radius-control);margin-top:-5px}.stream-removal h3{margin:0 0 8px}.stream-removal .buttons{justify-content:flex-end}.stream-removal label{max-width:620px}

/* landscape.css */
.project-group-heading{margin:26px 0 14px;font-size:var(--t18)}.landscape-icon{display:inline-flex;width:42px;height:42px;border-radius:var(--radius-control);align-items:center;justify-content:center;background:var(--panel-soft);color:#5276a6}.landscape-icon svg{width:23px;height:23px}.landscape-icon.large{width:60px;height:60px}.landscape-tile{border-top:3px solid #6987ad}.landscape-customers-mini{display:flex;align-items:center;gap:4px;margin:12px 0}.landscape-customers-mini .client-avatar{width:26px;height:26px;min-width:26px}.landscape-customers-mini small{margin-left:7px}.landscape-client-row{display:flex;align-items:center;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.landscape-client-row>button{flex:1;display:flex;align-items:center;gap:10px;text-align:left;min-width:150px}.landscape-client-row>span,.landscape-client-row>b{font-size:var(--t12)}dialog:has(.landscape-form),dialog:has(.landscape-link-list){width:min(800px,94vw)!important;max-width:94vw!important}.landscape-link-list{max-height:260px;overflow:auto;border:1px solid var(--line);padding:5px 14px;border-radius:var(--radius-control)}.landscape-link-row{display:grid;grid-template-columns:1fr 150px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.landscape-link-row label{display:flex;gap:10px;align-items:center;margin:0;font-size:var(--t12)}.landscape-link-row input{width:16px;height:16px}.landscape-form textarea{min-height:65px}.landscape-overview .project-facts b{font-size:var(--t22)}.landscape-link-row select{font-size:var(--t12);padding:8px}@media(max-width:600px){.landscape-link-row{grid-template-columns:1fr}.landscape-form .grid2{grid-template-columns:1fr}}

.project-group-switch{flex-basis:100%;width:fit-content;margin-top:8px}.project-group-switch button{white-space:normal}.project-toolbar{flex-wrap:wrap}.landscape-tile p{max-height:72px;overflow:auto}

/* projects.css */
.project-toolbar,.project-header{position:sticky;top:calc(var(--topbar-height,66px) + var(--program-ribbon-height,0px));z-index:16;background:var(--bg,#f5f6fa);border-bottom:1px solid var(--line);padding:14px 0;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.project-toolbar label{max-width:360px;flex:1}.project-header{display:block}.project-header h2{margin:4px 0 8px}.project-identity{display:flex;gap:16px;align-items:center}.project-tabs{display:flex;gap:6px;overflow-x:auto;margin-top:16px}.project-tabs button{border:0;background:transparent;color:var(--muted);padding:10px 16px;border-radius:var(--radius-control);white-space:nowrap}.project-tabs button[aria-current=page]{background:#223c66;color:white}.project-registry{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:16px;margin-top:18px}.project-tile{display:flex;flex-direction:column;gap:12px}.project-tile>p{margin:0;min-height:36px;font-size:var(--t12);color:var(--muted)}.project-title{border:0;background:transparent;text-align:left;padding:0;color:var(--ink);font-weight:750;font-size:var(--t20)}.client-avatar{display:inline-flex;position:relative;width:34px;height:30px;flex:0 0 auto;align-items:center;justify-content:center;vertical-align:middle;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--muted);font-size:var(--t10);font-weight:700;overflow:hidden}.client-avatar img{display:block;max-width:90%;max-height:90%;object-fit:contain}.project-identity>.client-avatar,.project-tile>.flex>.client-avatar{width:68px;height:48px;font-size:var(--t16)}.customer-select .client-avatar{width:25px;height:21px;margin-right:5px}.project-dates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px 0}.project-dates small{display:block;margin-bottom:5px;color:var(--muted)}.project-dates b{font-size:var(--t13)}.project-tile .project-dates{grid-template-columns:1fr 1fr}.project-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:20px 0}.project-facts>div,.project-facts>button{padding:16px;background:var(--panel-soft);border-radius:var(--radius-control);border:1px solid var(--line);text-align:left}.project-facts b{display:block;font-size:var(--t20);margin-bottom:6px}.project-facts span{font-size:var(--t12);color:var(--muted)}.project-prose{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}.project-fact{display:flex;justify-content:space-between;gap:16px;padding:9px;border-bottom:1px solid var(--line)}.project-fact b{text-align:right}.project-list-item{display:flex;justify-content:space-between;gap:20px;width:100%;padding:14px;border:0;border-bottom:1px solid var(--line);background:var(--panel);text-align:left;color:var(--ink)}.project-dialog{max-width:780px}.project-logo-preview .client-avatar{width:240px;height:120px;font-size:var(--t32)}.project-logo-drop{padding:24px;border:2px dashed #a3b8d5;border-radius:var(--radius-control);margin:20px 0}.project-logo-drop.active{background:var(--panel-soft);border-color:#3570a9}#project-tab-panel{padding-top:18px}#project-tab-panel .programme-calendar-header{position:relative;top:0}#project-tab-panel table small{display:block}#project-tab-panel button:disabled{cursor:not-allowed;opacity:.55}@media(max-width:700px){.project-dates{grid-template-columns:1fr 1fr}.project-registry{grid-template-columns:1fr}.project-header .project-identity{min-width:0}}


.retirement-dialog table small{display:block;margin-top:3px;color:var(--muted)}.retirement-dialog .table-scroll{overflow:auto}.retirement-dialog .buttons{position:sticky;bottom:-28px;display:flex;flex-wrap:wrap;gap:8px;padding:14px 0;background:var(--surface);border-top:1px solid var(--line);z-index:1}.retirement-panel .constraint-date-pair{margin:12px 0}.retirement-panel .constraint-date-pair b{font-size:var(--t13)}
.retirement-dialog form,.retirement-dialog form>*{min-width:0}.retirement-dialog .buttons{flex-wrap:wrap}.retirement-dialog .buttons button{white-space:normal;max-width:100%}

/* Sorting fits the existing header/toolbar height; extra width scrolls, never wraps. */
.client-order-control{display:inline-flex;flex:0 0 auto;margin:0;vertical-align:middle;max-width:100%;font-size:var(--t11);font-weight:400}
.client-order-control select{width:180px;max-width:100%;height:26px;min-height:26px;margin:0;padding:2px 21px 2px 6px;font-size:var(--t11);line-height:18px;border-radius:var(--radius-sm)}
.client-order-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:nowrap;white-space:nowrap}
.calendar-tools:has(.client-order-control){flex-wrap:nowrap;overflow-x:auto;min-width:0}
.calendar-tools .client-order-control{margin-left:auto}
.calendar-tools:has(.client-order-control)>*{flex-shrink:0}
.dashboard-widget .client-order-control{float:right}
.delivery-scope-options .client-order-control select{width:156px}

.client-order-heading{position:relative;display:block;padding-right:190px}
.client-order-heading>.client-order-control{position:absolute;right:0;top:50%;transform:translateY(-50%)}
.shared-chart-tools:has(.client-order-control){display:flex;flex-wrap:nowrap;overflow-x:auto}
.shared-chart-tools>.client-order-control{float:none;margin-left:auto}
.delivery-toolbar-secondary:has(.client-order-control){flex-wrap:nowrap}

/* Shared capabilities are grouped dated milestones on their project's span. */
.landscape-deliverables{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.landscape-deliverables>small{color:var(--muted)}.landscape-deliverables .link-btn{text-align:left;font-size:var(--t12)}
.project-delivery-pin .project-milestone-count{position:absolute;left:13px;top:-8px;padding:1px 4px;border-radius:8px;color:#80551b;background:#fff2cf;font-size:9px;line-height:12px;font-weight:700}

.project-smartbar{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;position:relative;z-index:12;border:1px solid var(--line);border-radius:var(--radius-control);padding:10px;background:var(--panel);margin:16px 0}.project-smartbar>button,.project-smartbar summary{font-size:var(--t12);white-space:nowrap}.project-smartbar .delivery-scope-picker{flex:0 1 230px;min-width:150px}.project-smartbar .delivery-scope-picker>summary{height:38px;padding:8px 10px}.project-smartbar .delivery-scope-options{max-height:70vh;overflow:auto}.project-smart-menu{position:relative;min-width:0}.project-smart-menu>summary{list-style:none;display:flex;align-items:center;gap:6px;cursor:pointer;padding:10px 12px;background:var(--surface-soft);border-radius:var(--radius-sm);font-weight:600}.project-smart-menu>summary::-webkit-details-marker{display:none}.project-smart-menu>summary svg{width:17px;height:17px;flex-shrink:0}.project-smart-menu>div{position:absolute;top:calc(100% + 9px);left:0;width:280px;padding:14px;background:var(--popover);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:0 8px 28px #21375825;z-index:20}.project-smart-menu:nth-last-of-type(-n+2)>div{left:auto;right:0}.project-smart-menu .project-delivery-modes{display:flex;flex-direction:column;align-items:stretch;border:0;gap:4px}.project-smart-menu .project-delivery-modes button{text-align:left;white-space:normal}.project-smart-menu>div>button{display:block;width:100%;text-align:left;margin:4px 0}.project-smart-menu.involvement-menu>div{width:490px}.project-smart-menu .iv-toolbar{display:flex;flex-wrap:wrap;padding:0;border:0;margin:0}.project-smart-menu .iv-toolbar small{display:none}.project-smart-spacer{flex:1;min-width:0}.project-smartbar>button{height:38px}.project-smartbar .client-order-control{max-width:100%}
@media(max-width:1000px){.project-smartbar{gap:4px;padding:6px}.project-smart-menu>summary{padding:9px 8px;font-size:var(--t11)}.project-smartbar>button{font-size:var(--t11);padding:8px}.project-smartbar .delivery-scope-picker{flex-basis:185px}.project-smartbar .involvement-menu>summary{max-width:150px;overflow:hidden;text-overflow:ellipsis}}

/* data-transfer.css */
.data-transfer-dialog{width:min(1000px,94vw);max-width:1000px}.transfer-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.transfer-box{border:1px solid var(--line,var(--line));border-radius:var(--radius-panel);padding:22px;background:var(--panel-soft)}.transfer-number{display:inline-flex;background:#eaf0f9;color:var(--ink);border-radius:var(--radius-control);padding:6px 10px;font-weight:750}.transfer-box h3{margin:12px 0}.transfer-drop{display:block;cursor:pointer;border:2px dashed #a9bdd8;border-radius:var(--radius-control);padding:18px;text-align:center;background:var(--panel)}.transfer-drop.dragging,.transfer-drop:focus-visible{border-color:#527caf;background:#edf4ff}.transfer-drop input{display:block;width:100%;margin-top:12px}.transfer-review{padding:20px;border:1px solid #b0c5e1;border-radius:var(--radius-panel)}.transfer-confirm{display:flex;gap:12px;align-items:flex-start;margin:18px 0}.transfer-confirm input{width:auto}.transfer-backups>div{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line)}.transfer-backups span{flex:1}.data-transfer-dialog .primary,.data-transfer-dialog .secondary{display:inline-block}.data-transfer-dialog .buttons{margin-top:20px}@media(max-width:680px){.transfer-columns{grid-template-columns:1fr}.transfer-box{padding:16px}}@media print{.data-transfer-dialog button,.data-transfer-dialog input{display:none}}

.transfer-ready{border-left:3px solid #238267;background:var(--panel-soft);color:#215c4d}

.transfer-download-progress{border:1px solid #bed0e9;border-radius:var(--radius-control);padding:18px;margin:18px 0;background:var(--panel-soft);color:var(--ink)}.transfer-download-track{height:8px;background:#e2eaf5;border-radius:5px;margin:14px 0;overflow:hidden}.transfer-download-track span{display:block;height:100%;background:#087e5b}.transfer-download-progress p{font-size:var(--t13);margin:8px 0}.transfer-download-progress.error{border-color:#bd2747}.transfer-download-progress.error .transfer-download-track span{background:#bd2747}

/* publication.css */
.publication-dialog{width:min(850px,94vw);max-width:850px}.publication-dialog .publication-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:20px 0}.publication-dialog .publication-links a{font-size:var(--t13)}.publication-prepare{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-control);padding:18px;margin:20px 0}.publication-prepare input{width:100%}.publication-receipt{border:1px solid #b8d9cb;border-radius:var(--radius-control);padding:18px;margin:18px 0;background:var(--panel-soft)}.publication-receipt dl{display:flex;gap:24px;flex-wrap:wrap}.publication-receipt dt{font-size:var(--t12);color:var(--muted)}.publication-receipt dd{margin:5px 0;font-weight:600}.publication-receipt code{overflow-wrap:anywhere;font-size:var(--t12)}.publication-receipt .primary{display:inline-block}.publication-steps{list-style:none;padding:0;counter-reset:none}.publication-steps>li{margin:12px 0}.publication-steps details{padding:16px;border:1px solid var(--line);border-radius:var(--radius-control)}.publication-steps summary{font-weight:700;cursor:pointer}.publication-steps details>small{display:block;margin-top:12px;color:var(--muted)}.publication-result{background:var(--panel-soft);border-left:3px solid #7494bb;padding:12px}.publication-document{margin:0;padding:30px 20px;background:var(--panel-soft);color:var(--ink);font:16px/1.6 system-ui,sans-serif}.publication-document main{max-width:920px;margin:auto}.publication-document h1{font-size:var(--t32);line-height:1.2}.publication-document h2{font-size:var(--t22)}.publication-document section,.publication-document aside{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:24px;margin:18px 0}.publication-document nav{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.publication-document a{color:#285d9c}.publication-document button{padding:10px 15px;font:inherit;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-control);cursor:pointer}.publication-document small,.publication-document .boundary{color:var(--muted)}.publication-document li{margin:12px 0}.publication-document .result{background:var(--panel-soft);padding:12px;border-left:3px solid #7494bb}.publication-document .boundary{font-size:var(--t14)}@media(max-width:600px){.publication-document h1{font-size:var(--t24)}.publication-document section,.publication-document aside{padding:16px}.publication-dialog .publication-links{display:grid}.publication-receipt dl{gap:12px}}@media print{.publication-document{padding:0;background:white;font-size:11pt}.publication-document nav{display:none}.publication-document h1{font-size:24pt}.publication-document h2{font-size:16pt}.publication-document section{break-inside:avoid;box-shadow:none;padding:12px 0;border:0}.publication-document aside{padding:12px}.publication-document a{color:inherit;text-decoration:none}}



/* account.css */
.account-heading{display:flex;justify-content:space-between;align-items:center;margin:24px 0}.account-heading h1{margin:8px 0}.account-heading p{max-width:800px;color:var(--muted)}.account-monogram{display:grid;place-items:center;width:68px;height:68px;border-radius:var(--radius-dialog);background:#fff0f2;color:#c31831;font-size:var(--t28);font-weight:750}.account-tabs{display:flex;gap:8px;flex-wrap:wrap;position:sticky;top:var(--topbar-height,70px);z-index:12;background:var(--bg,#f5f6fb);padding:12px 0 18px;border-bottom:1px solid var(--border,var(--line));margin-bottom:24px}.account-tabs button{padding:12px 22px;background:#eaf0f8;color:var(--muted);border:0;border-radius:var(--radius-control)}.account-tabs button.active{background:#253f67;color:white}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.account-grid .card{margin:0}.account-wide{grid-column:1/-1}.account-chips{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.account-chips>span{padding:7px 12px;background:var(--panel-soft);border-radius:var(--radius-sm);font-size:var(--t12)}.account-colours{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:24px 0}.account-swatch{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--panel);display:grid;gap:8px;text-align:left;padding:14px}.account-swatch>span{display:grid;place-items:center;width:100%;height:58px;border-radius:var(--radius-control);font-size:var(--t24)}.account-swatch small{color:var(--muted)}.account-widgets{display:grid;gap:12px;margin:20px 0}.account-widgets article{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-panel)}.account-widgets article>div:nth-child(2){flex:1}.account-widgets small{display:block;margin-top:5px;color:var(--muted)}#account-content .card p{line-height:1.6}#account-content label{display:block;margin:14px 0}#account-content details{margin-top:20px}#account-content form .buttons{margin-top:20px}@media(max-width:850px){.account-grid{grid-template-columns:1fr}.account-widgets article{flex-wrap:wrap}.account-tabs button{padding:10px}.account-monogram{width:50px;height:50px}.account-wide{grid-column:auto}}


.account-portrait{width:68px;height:68px;font-size:var(--t24);background:#fff0f2;color:#c31831}.account-profile-card .profile-heading{margin-top:0}.account-profile-card .profile-heading h2{margin:0 0 6px}.account-photo-drop{margin:12px 0 22px}.account-photo-drop p{font-size:var(--t12);margin:6px 0}.account-photo-drop input{max-width:100%}.account-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.account-contact-fields label:first-child{grid-column:1/-1}.account-profile-card fieldset{border:0;padding:0;margin:0;min-width:0}.account-profile-card legend{font-size:16px;font-weight:700}.account-profile-card input{width:100%;box-sizing:border-box}.account-profile-card [role=status]{color:#217657;font-size:var(--t13)}.account-profile-card .profile-details{grid-template-columns:minmax(100px,1fr) 2fr}.account-profile-card dd{overflow-wrap:anywhere}@media(max-width:560px){.account-contact-fields{grid-template-columns:1fr}}
.account-profile-layout{align-items:start;grid-template-rows:auto 1fr}.account-profile-layout .account-profile-card{grid-column:1;grid-row:1/3}.account-profile-layout .locale-preferences{grid-column:2;grid-row:1}.account-profile-layout .account-wide{grid-column:2;grid-row:2}.account-profile-card .buttons{display:flex;gap:8px;flex-wrap:wrap}#account-content .account-photo-input{position:relative;display:inline-block;padding:9px 13px;margin:0;background:#eaf0f8;border-radius:var(--radius-sm);color:var(--ink);font-weight:600;cursor:pointer}.account-photo-input input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.account-photo-input:focus-within{outline:2px solid #1260b2;outline-offset:2px}@media(max-width:850px){.account-profile-layout{grid-template-rows:auto}.account-profile-layout .account-profile-card,.account-profile-layout .locale-preferences,.account-profile-layout .account-wide{grid-column:auto;grid-row:auto}}
.reminder-layout{align-items:start}.reminder-layout fieldset{border:0;padding:0;min-width:0}.reminder-layout input:not([type=checkbox]),.reminder-layout select{width:100%}#account-content .reminder-check{display:flex;align-items:center;gap:10px}.reminder-check input{width:auto!important}.reminder-types{display:flex;gap:12px;flex-wrap:wrap}.reminder-side{display:grid;gap:20px}.reminder-preview{max-height:620px;overflow:auto}.reminder-preview article{padding:15px 0;border-top:1px solid var(--line)}.reminder-preview h3{margin:8px 0;font-size:var(--t14)}.reminder-preview p{font-size:var(--t12)}.reminder-env{white-space:pre-wrap;background:var(--panel-soft);padding:15px;font-size:var(--t12)}.reminder-layout .buttons{display:flex;gap:10px;flex-wrap:wrap}

/* management-exports.css */
.management-exports-dialog{width:min(1160px,94vw);max-width:1160px}.exports-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:28px}.exports-tables{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:430px;overflow:auto;padding:2px}.exports-choice{display:flex!important;align-items:center;gap:9px;border:1px solid var(--line,var(--line));border-radius:var(--radius-control);padding:12px;background:var(--panel-soft);font-size:var(--t12)}.exports-choice input{width:16px!important;height:16px;flex:none;margin:0}.exports-choice span{flex:1}.exports-choice small{color:var(--muted)}.exports-actions{background:var(--panel-soft);padding:20px;border-radius:var(--radius-panel);display:flex;flex-direction:column;gap:12px;align-self:start}.exports-actions p{margin:0 0 10px}.exports-actions button{text-align:left}.exports-actions button:disabled{opacity:.45}@media(max-width:800px){.exports-grid{grid-template-columns:1fr}.exports-tables{max-height:260px}.exports-actions{gap:8px}}

/* scenario-planning.css */
.sp-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0 8px}.sp-heading h2{font-size:var(--t24);margin:8px 0}.sp-heading p{color:var(--muted);margin:5px 0 14px}.sp-heading-actions,.sp-chart-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.sp-status{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-control);margin:12px 0 20px;font-size:var(--t12);flex-wrap:wrap}.sp-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.sp-main{min-width:0;display:grid;gap:20px}.sp-panel{position:sticky;top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,0px) + 12px);max-height:calc(100vh - var(--topbar-height,70px) - var(--program-ribbon-height,0px) - 26px);overflow:auto;padding:22px}.sp-panel h2{font-size:var(--t22);margin:10px 0 20px}.sp-panel fieldset{border:0;padding:16px 0;margin:0}.sp-panel legend{font-size:12px;font-weight:700}.sp-panel input[type=number]{margin-bottom:12px}.sp-panel details{padding:14px 0;border-top:1px solid var(--line)}.sp-date-stack{margin:22px 0 4px;border-radius:var(--radius-control);background:var(--panel-soft);padding:9px 15px}.sp-date-stack>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0}.sp-date-stack span{font-size:var(--t12);color:var(--muted)}.sp-date-stack>div:last-child{border-top:1px solid var(--line)}.sp-reasons{padding-left:17px;line-height:1.7;font-size:var(--t12)}.sp-decision-footer{border-top:1px solid var(--line);padding-top:20px;margin-top:12px;display:grid;gap:12px}.sp-decision-footer label{display:flex;align-items:center;gap:8px}.sp-decision-footer small{line-height:1.5;color:var(--muted)}.sp-chart-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.sp-chart-card{padding:20px;overflow:visible;min-width:0}.sp-calendar{--calendar-label-width:220px;min-width:0}.sp-calendar .programme-calendar{position:sticky;top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,0px));z-index:3}.sp-timeline{width:var(--calendar-width,100%);min-width:100%}.sp-timeline-row{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:98px;border-bottom:1px solid var(--line)}.sp-timeline-row.selected{background:var(--panel-soft)}.sp-row-label{position:sticky;left:0;z-index:2;background:var(--surface);text-align:left;border:0;padding:16px 12px;color:var(--ink);border-right:1px solid var(--line)}.selected>.sp-row-label{background:var(--surface-soft);border-left:3px solid #6088b3}.sp-row-label b{display:block;font-size:var(--t12)}.sp-row-label small{display:block;margin-top:7px;font-size:var(--t10);color:var(--muted)}.sp-lanes{position:relative;min-height:98px;overflow:hidden}.sp-bar{position:absolute;height:14px;border:0;border-radius:3px;min-width:4px;padding:0;text-align:left;z-index:1}.sp-bar span{font-size:9px;display:none}.sp-bar.current{top:18px;background:#b9c8de}.sp-bar.requested{top:43px;background:var(--chart-unknown,#708199);cursor:grab;touch-action:none}.sp-bar.proposed{top:68px;background:#2e587f}.sp-resize{position:absolute;top:37px;transform:translateX(-50%);background:var(--surface);color:var(--signal,#708199);border:1px solid var(--signal,#708199);border-radius:var(--radius-xs);height:25px;width:22px;padding:0;z-index:2;cursor:ew-resize;touch-action:none}.sp-legend{font-size:11px}.sp-legend.current{color:#6681a8}.sp-legend.requested{color:#51658d}.sp-legend.proposed{color:#2e587f}.sp-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.sp-option{text-align:left;padding:18px 15px;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-control);color:var(--ink);display:flex;flex-direction:column;gap:11px}.sp-option.selected{border:2px solid #d01535;padding:17px 14px;background:var(--panel-soft)}.sp-option b{font-size:var(--t14)}.sp-option>span{font-size:var(--t12);color:var(--muted);line-height:1.6;min-height:56px}.sp-option strong{font-size:var(--t18)}.sp-option small{font-size:var(--t11);line-height:1.5}.sp-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.sp-facts>div{padding:16px;background:var(--panel-soft);border-radius:var(--radius-control)}.sp-facts small{display:block;color:var(--muted);font-size:var(--t11);min-height:28px}.sp-facts b{font-size:var(--t22)}.sp-filters{position:relative;font-size:var(--t12)}.sp-filters>div{position:absolute;right:0;top:32px;z-index:8;min-width:250px;max-height:350px;overflow:auto;box-shadow:0 8px 30px #14214925;background:var(--popover);border:1px solid var(--line);padding:16px;border-radius:var(--radius-control)}.sp-filters label{display:flex;align-items:center;gap:8px;margin:12px 0}.sp-reservation{border:1px solid var(--line);padding:12px;margin:10px 0;border-radius:var(--radius-control)}.sp-reservation small{display:block;margin:7px 0 12px}.sp-reservation label{font-size:var(--t10)}.sp-reservation input{max-width:100%}.sp-table-scroll{overflow:auto;max-height:450px}.sp-table-scroll table{width:100%;font-size:var(--t12);border-collapse:collapse}.sp-table-scroll td,.sp-table-scroll th{padding:12px;text-align:left;border-bottom:1px solid var(--line);min-width:175px}.sp-table-scroll th{position:sticky;top:0;background:var(--surface-soft)}.sp-table-scroll small{display:block;color:var(--muted);margin-top:4px}.sp-review-dialog{width:min(1150px,94vw)!important;max-width:1150px!important}.sp-review-dialog .sp-confirm{display:flex;align-items:flex-start;gap:10px;margin:15px 0}.sp-draft-list{max-height:65vh;overflow:auto}.sp-draft-list article{display:flex;gap:12px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.sp-draft-list article>div{flex:1}.sp-draft-list small{display:block;color:var(--muted);margin-top:6px}.sp-empty{padding:26px}.sp-impact>p{color:var(--muted);font-size:var(--t12)}.sp-panel button.primary{min-height:44px}.sp-option:focus-visible,.sp-bar:focus-visible{outline:3px solid #0074e8;outline-offset:3px}
@media(max-width:1150px){.sp-layout{grid-template-columns:minmax(0,1fr) 290px;gap:14px}.sp-options{grid-template-columns:1fr}.sp-option>span{min-height:0}.sp-heading{align-items:flex-start}.sp-heading-actions{justify-content:flex-end}.sp-facts b{font-size:var(--t18)}}
@media(max-width:800px){.sp-layout{grid-template-columns:1fr}.sp-panel{position:static;max-height:none;grid-row:1}.sp-panel .sp-date-stack{display:flex;justify-content:space-between;gap:10px}.sp-date-stack>div{display:block}.sp-date-stack b{display:block;margin-top:7px}.sp-heading{display:block}.sp-heading-actions{justify-content:flex-start}.sp-options{grid-template-columns:1fr}.sp-chart-card{padding:12px}.sp-facts{grid-template-columns:1fr}.sp-calendar .programme-calendar{top:0}.sp-table-scroll td{min-width:145px}}

.sp-lanes .calendar-guides{left:0}.sp-decision-footer input[type=checkbox],.sp-filters input[type=checkbox],.sp-confirm input[type=checkbox]{width:auto;flex:0 0 auto}

.sp-customer{display:flex;gap:7px;align-items:center}.sp-row-label .scope-badges{margin:5px 0}.sp-row-status{display:block;font-size:var(--t10);margin:5px 0}.sp-row-label{padding:12px!important}.sp-timeline-row{min-height:132px}.sp-lanes{min-height:132px}.sp-bar.legacy{top:104px;height:7px;background:#daa524;border-radius:2px}.sp-bar.legacy-before{top:91px;height:3px;background:#b99b5c;opacity:.55}.sp-legend.legacy{color:#9b700e}.sp-check{border-left:3px solid #a3b3cc;background:var(--panel-soft);padding:10px;margin:9px 0;font-size:var(--t12)}.sp-check.blocked{border-color:#d50932;background:#fff0f3;color:#a30d2d}.sp-check.risk{border-color:#d29314;background:#fff9ed;color:#825913}.sp-check small,.sp-lever small,.sp-cost small{display:block;margin-top:5px;line-height:1.5}.sp-levers,.sp-legacy{border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.sp-levers form,.sp-legacy form{display:grid;gap:10px;margin:12px 0}.sp-lever{border:1px solid var(--line);border-radius:var(--radius-control);padding:10px;background:var(--panel-soft)}.sp-toggle{display:flex!important;align-items:center;gap:8px}.sp-toggle input[type=checkbox]{width:auto;flex:none}.sp-lever input[type=date]{margin-top:8px;max-width:100%}.sp-cost{border-bottom:1px solid var(--line);font-size:var(--t11);padding-bottom:8px}.sp-cost span{display:block;font-size:var(--t13);margin:6px 0}.sp-unpriced{color:#a30d2d!important}.sp-panel label{margin-bottom:4px}.sp-panel .buttons{flex-wrap:wrap}.sp-options{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-row-label .client-avatar{flex-shrink:0}.sp-panel .sp-levers h4{margin:12px 0 0}.sp-panel summary{line-height:1.5}
@media(max-width:800px){.sp-options{grid-template-columns:1fr}}

.sp-side{position:sticky;top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,0px) + 12px);min-width:0;display:grid;gap:10px}.sp-side .sp-panel{position:static;max-height:calc(100vh - var(--topbar-height,70px) - var(--program-ribbon-height,0px) - 175px)}.sp-sim-banner{background:#eaf2ff;border:1px solid #b7cff2;border-radius:var(--radius-panel);padding:14px 16px;display:grid;gap:7px;box-shadow:0 4px 14px #1421490b}.sp-sim-banner b{color:#254c83;font-size:var(--t14)}.sp-sim-banner small{font-size:var(--t11);line-height:1.5;color:var(--muted)}.sp-sim-banner button{width:100%;min-height:38px}.sp-side:not(:has(.sp-sim-banner)) .sp-panel{max-height:calc(100vh - var(--topbar-height,70px) - var(--program-ribbon-height,0px) - 26px)}
@media(max-width:800px){.sp-side{grid-row:1;position:static}.sp-side .sp-panel{max-height:440px}.sp-sim-banner{position:sticky;top:var(--topbar-height,70px);z-index:5}}
/* Keep month captions legible in the compressed multi-year scenario. */
.sp-calendar:not(.month-detail) .calendar-months,.sp-calendar:not(.month-detail) .calendar-month{height:33px}.sp-calendar:not(.month-detail) .calendar-month b{left:50%;right:auto;bottom:6px;transform:translateX(-50%) rotate(-55deg)}
@media(max-width:800px){#sp-root{padding-bottom:110px}.sp-sim-banner{position:fixed;top:auto;bottom:14px;right:14px;width:min(290px,calc(100vw - 28px));z-index:30;padding:10px 12px;gap:6px;box-shadow:0 4px 24px #14214930}.sp-sim-banner small{display:none}.sp-sim-banner b{font-size:var(--t12)}.sp-sim-banner button{min-height:32px}}
@media(min-width:801px){.sp-side{display:flex;flex-direction:column;max-height:calc(100vh - var(--topbar-height,70px) - var(--program-ribbon-height,0px) - 75px)}.sp-side .sp-panel,.sp-side:not(:has(.sp-sim-banner)) .sp-panel{max-height:none;min-height:0;flex:1 1 auto}.sp-sim-banner{flex:0 0 auto}}
@media(max-width:800px){.sp-calendar .calendar-canvas,.sp-calendar .sp-timeline{min-width:900px}}

/* Optional comparisons stay compact; simulation entry and exit share one stable dock. */
.sp-alternatives{padding:18px 22px}.sp-alternatives>summary{cursor:pointer;font-size:var(--t13);color:var(--ink);line-height:1.5}.sp-alternatives>summary strong{margin-right:12px}.sp-alternatives>summary span{font-size:var(--t11);color:var(--muted)}.sp-alternatives[open]>summary{padding-bottom:14px;border-bottom:1px solid var(--line)}.sp-comparison-content>p{font-size:var(--t12);color:var(--muted);line-height:1.6;margin:14px 0}.sp-current-banner{background:var(--panel-soft);border-color:var(--line)}
/* Unified workshop: stable mode control, one cumulative draft and explicit decision. */
.sp-layout.sw-active{grid-template-columns:minmax(0,1fr) minmax(440px,1fr);gap:18px}.sw-active .sp-chart-card{padding:14px}.sw-active .sp-calendar{--calendar-label-width:220px}.sw-active .sp-chart-heading{align-items:start;flex-wrap:wrap}.sw-active .sp-side{max-height:calc(100vh - var(--topbar-height,70px) - var(--program-ribbon-height,0px) - 22px);gap:0;border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:0 8px 28px #14214908;background:var(--surface);overflow:hidden}.sw-active .sp-sim-banner{border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 18px}.sw-active .sp-sim-banner small{display:block;margin-top:5px}.sw-active .sp-sim-banner button{width:auto;flex-shrink:0;font-size:var(--t12)}.sw-active .sp-panel{border:0;border-radius:0;box-shadow:none;padding:16px 18px}.sw-active .sp-panel details{padding:16px 0;margin:0}.sw-active .sp-panel fieldset{min-width:0;padding:0;margin:14px 0}.sw-active .sp-panel .sp-date-stack{margin:14px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:10px}.sw-active .sp-date-stack>div{display:grid;gap:6px;padding:6px;border:0!important;font-size:var(--t12)}.sw-tabs{display:flex;border-bottom:1px solid var(--line);gap:4px;margin:16px 0;position:sticky;top:-16px;background:var(--surface);z-index:5;padding-top:6px}.sw-tabs button{flex:1;background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;padding:13px 7px;color:var(--muted);font-weight:600}.sw-tabs button.active{color:var(--ink);border-color:#d01535;background:var(--panel-soft)}.sw-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.sw-kpis>div{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-control);padding:12px;display:grid;gap:5px}.sw-kpis small,.sw-kpis span{font-size:var(--t10);line-height:1.4;color:var(--muted)}.sw-kpis b{font-size:var(--t20);color:var(--ink)}.sw-content{font-size:var(--t12)}.sw-content h3{font-size:var(--t14);margin:20px 0 12px}.sw-content summary{font-weight:700;cursor:pointer}.sw-content label{display:block;font-size:var(--t11)}.sw-content input,.sw-content select,.sw-content textarea{font-size:var(--t12);min-width:0;max-width:100%}.sw-content textarea{min-height:65px}.sw-gate,.sw-period{padding:12px;margin:10px 0;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel-soft)}.sw-gate.related{border-left:3px solid #6088b3}.sw-gate small,.sw-period small{display:block;color:var(--muted);line-height:1.6;margin:6px 0}.sw-period>.link-btn{float:right;font-size:var(--t11);margin-bottom:8px}.sw-period>.grid2,.sw-period>label{clear:both}.sw-content .grid2{gap:12px;margin:10px 0}.sw-apply,.sw-review-actions{display:flex;justify-content:space-between;gap:12px;margin:16px 0 0}.sw-footer{flex:none;background:var(--surface-soft);padding:12px 18px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.sw-footer small{font-size:var(--t10);line-height:1.5;color:var(--muted);max-width:50%}.sw-footer button{font-size:var(--t12)}.sw-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:10px 0;font-size:var(--t12)}.sw-clear{border-left:3px solid #338363;background:var(--panel-soft);color:#245e49;padding:12px;font-size:var(--t12)}.sw-linked-tasks{max-height:240px;overflow:auto}.sw-linked-tasks p{display:grid;gap:5px;border-bottom:1px solid var(--line);padding:8px}.sw-linked-tasks small{color:var(--muted)}.sw-shared-row,.sw-shared-row .sp-lanes{min-height:100px}.sw-shared-row .sp-row-label{background:var(--surface-soft)}.sw-shared-row .sp-bar{pointer-events:none}.sw-steps{display:flex;list-style:none;padding:0;gap:16px;border-bottom:1px solid var(--line)}.sw-steps li{padding:14px 8px;color:var(--muted);font-size:var(--t12)}.sw-steps .active{color:var(--ink);border-bottom:3px solid #d01535;font-weight:700}.sw-review-actions{position:sticky;bottom:-24px;background:var(--surface);padding:16px 0;border-top:1px solid var(--line);z-index:5}.sw-receipt{padding:28px 0;line-height:1.7}.sw-receipt>b{font-size:var(--t22);color:#237357}.sw-receipt code{overflow-wrap:anywhere}.sp-review-dialog .sw-kpis{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.sp-layout.sw-active{grid-template-columns:minmax(0,1fr) minmax(380px,1fr);gap:10px}.sw-active .sp-panel{padding:12px}.sw-active .sp-sim-banner{padding:12px}.sw-active .sp-sim-banner b{font-size:var(--t12)}.sw-footer{flex-wrap:wrap}.sw-footer small{max-width:none}.sw-footer button{width:100%}}
@media(max-width:800px){.sp-layout.sw-active{grid-template-columns:1fr}.sw-active .sp-side{position:static;grid-row:auto;max-height:none;overflow:visible}.sw-active .sp-sim-banner{position:sticky;top:var(--topbar-height,70px);bottom:auto;right:auto;width:auto;z-index:6}.sw-active .sp-panel{max-height:none;overflow:visible}.sw-active .sw-footer{position:sticky;bottom:0;z-index:6}.sw-active .sp-sim-banner small{display:block}.sw-tabs{position:static}.sw-active .sp-date-stack{display:grid!important}.sp-review-dialog .sw-kpis{grid-template-columns:repeat(2,1fr)}.sw-steps{gap:3px}.sw-steps li{font-size:var(--t10)}}
.sp-heading{padding:14px 0 10px;gap:14px}.sp-heading h2{font-size:var(--t20);margin:5px 0}.sp-heading p{font-size:var(--t12);margin:5px 0 12px}.sw-active .sp-side{max-height:var(--sw-available-height,calc(100vh - var(--topbar-height,70px) - var(--program-ribbon-height,0px) - 22px))}.sw-tabs button.sw-alert{color:var(--signal)}.sw-active .sw-footer button{white-space:normal}.sw-panel-status{font-size:var(--t11)}
@media(max-width:800px){.sw-active .sp-side{max-height:none}}
.sw-active .sp-panel{overscroll-behavior:contain}
@media(max-width:800px){.sp-side,.sw-active .sp-side{display:flex;flex-direction:column}.sp-side .sp-panel{grid-row:auto}.sw-active .sp-sim-banner{top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,0px));flex-shrink:0}}

/* Shared feasibility palette: a draft is not itself an error. Lane patterns convey its role. */
.sp-bar.requested[class*="feasibility-"],.sp-bar.proposed[class*="feasibility-"]{background-color:var(--signal);color:var(--signal-ink,#fff)}
.sp-bar.requested{background-image:repeating-linear-gradient(135deg,transparent,transparent 5px,#ffffff32 5px,#ffffff32 7px)}
.sp-bar.current{background:var(--chart-baseline,#b6c9e2)}
.sp-bar.legacy{background:var(--chart-runoff,#e3aa26)}
.sp-customer-select{border:0;background:transparent;padding:0;color:inherit;text-align:left;width:100%}
.sp-row-status.feasibility-badge{font-size:var(--t10);max-width:100%;width:fit-content}
.sp-lane-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sp-feasibility-legend{margin:4px 0 0;gap:10px;flex-basis:100%}
.sp-customer-select:focus-visible,.sp-row-status:focus-visible,.sp-resize:focus-visible{outline:2px solid #0074e8;outline-offset:2px}

.sp-execution{border-top:1px solid var(--line);padding:12px 0;margin-top:12px}.sp-execution small{display:block;color:var(--muted);margin-bottom:8px}.recovery-counters button{text-align:left;color:inherit;cursor:pointer;border:1px solid var(--line)}.recovery-counters button[aria-pressed="true"]{outline:2px solid #386ca5;background:#edf4ff}.recovery-finding{border:1px solid var(--line);border-left:3px solid #8aa5c8;border-radius:var(--radius-control);padding:14px 18px;margin:12px 0}.recovery-finding h4{margin:0}.recovery-finding details ul{max-height:260px;overflow:auto}.recovery-finding .red{color:#a52236;background:#fff0f2}

.sw-content input,.sw-content select{scroll-margin-top:76px}
/* Portfolio workshop: one cumulative proposal, explicit causes and contextual repair. */
.pw-overview{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 18px}.pw-overview .sw-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.pw-overview .sw-kpis b{font-size:var(--t18)}.pw-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:1px solid var(--line);border-radius:var(--radius-panel);padding:15px;background:var(--panel)}.pw-summary small{display:block;font-size:var(--t11);color:var(--muted);margin-bottom:7px}.pw-summary b{font-size:var(--t14)}.pw-summary b span{font-size:var(--t12)}.pw-summary p{margin:6px 0 0;font-size:var(--t10);color:var(--muted);line-height:1.5}.pw-summary label{grid-column:1/-1;display:flex;align-items:center;gap:12px;font-size:var(--t11)}.pw-summary select{width:auto;font-size:var(--t11);padding:5px 9px;min-height:0}.pw-ledger.card{padding:16px 18px;margin:0}.pw-ledger-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.pw-ledger-heading b{font-size:var(--t14)}.pw-ledger-items{display:flex;flex-wrap:wrap;gap:8px;max-height:190px;overflow:auto}.pw-ledger-item{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius-control);padding:5px 8px;background:var(--panel-soft);min-width:0}.pw-ledger-item .link-btn{display:grid;text-align:left;padding:4px;gap:3px;font-size:var(--t11)}.pw-ledger-item span{color:var(--muted);font-size:var(--t10)}.pw-revert{border:0;background:transparent;color:#345d8d;font-size:var(--t11);padding:5px}.pw-last{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:var(--t11);line-height:1.7}.pw-last small{display:block;color:var(--muted)}.pw-last .link-btn{font-size:var(--t11);padding:0}.pw-badge{font-size:var(--t9);line-height:1.6;border-radius:var(--radius-xs);padding:2px 5px;background:var(--panel-soft);color:var(--muted);display:inline-block;margin:4px 0}.pw-badge.edited{background:#e7f0ff;color:#29558b}.pw-badge.affected{background:#fff2da;color:#805415}.pw-quick,.pw-neutral{border-left:3px solid #7196c5;border-radius:var(--radius-sm);background:var(--panel-soft);padding:12px;margin:12px 0;line-height:1.6}.pw-quick p{margin:5px 0}.pw-quick .link-btn{padding:5px 0;font-size:var(--t12)}.pw-why>h3{margin-top:4px}.pw-pool-cause,.pw-cause{padding:13px;border:1px solid #ecd9b3;border-left:3px solid #be8526;border-radius:var(--radius-control);background:#fffaf0;margin:12px 0}.pw-pool-heading{display:flex;justify-content:space-between;gap:8px;font-size:var(--t14)}.pw-pool-heading span{font-size:var(--t11);color:#765a2e}.pw-load{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.pw-load>div{background:#ffffffb0;border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px;display:grid;gap:5px}.pw-load small{color:var(--muted);font-size:var(--t10)}.pw-load b{font-size:var(--t14)}.pw-pool-cause>small{color:#806637}.pw-contributors{list-style:none;padding:0;margin:12px 0}.pw-contributors li{border-top:1px solid #ecdfc7;padding:9px 0}.pw-contributors .link-btn{padding:0;font-size:var(--t12)}.pw-contributors small{display:block;line-height:1.6;color:#675c46;font-size:var(--t10);margin-top:3px}.pw-contributors .pw-stable-cause{color:#885914}.pw-contributors b{white-space:nowrap}.pw-cause-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pw-cause-actions button{font-size:var(--t11)}.pw-priority{padding:0;list-style:none;counter-reset:priority}.pw-priority li{counter-increment:priority;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);padding:7px 0}.pw-priority li:before{content:counter(priority);background:#edf3fc;color:#466b98;border-radius:var(--radius-sm);min-width:24px;text-align:center;padding:5px}.pw-priority b{flex:1;font-size:var(--t12)}.pw-priority button{padding:5px 9px}.pw-chain{padding-left:24px}.pw-chain li{padding:8px 0;border-bottom:1px solid var(--line);line-height:1.5}.pw-chain small{display:block;font-size:var(--t10);color:var(--muted);margin-top:4px}.pw-pending{background:#fff5de;color:#795622;padding:10px;border-radius:var(--radius-sm)}.pw-impact-table td,.pw-impact-table th{min-width:100px!important;font-size:var(--t11)}.pw-impact-table td:first-child{min-width:160px!important}.pw-impact-table .link-btn{padding:0;text-align:left;font-size:var(--t12);display:block}.sw-tabs button.active{border-color:#466d9f}.sw-steps .active{border-color:#466d9f}.sp-layout.sw-active{grid-template-columns:minmax(0,1fr) minmax(380px,var(--pw-panel,46%))}.sw-active .sp-panel{padding-top:0}.sw-active .sw-tabs{margin-top:0;top:0;padding-top:0}.sw-active .sp-main{gap:12px}.sw-content details[data-sw-section]>summary{scroll-margin-top:60px}.pw-why{scroll-margin-top:60px}
@media(max-width:1200px){.pw-overview{grid-template-columns:1fr}.pw-summary{grid-template-columns:1fr 1fr auto;align-items:center}.pw-summary label{grid-column:auto;display:block}.pw-summary select{display:block;margin-top:6px}.pw-overview .sw-kpis b{font-size:var(--t18)}}
@media(max-width:900px){.sp-layout.sw-active{grid-template-columns:1fr}.sw-active .sp-side{position:static;max-height:none;overflow:visible}.sw-active .sp-panel{max-height:720px}.pw-summary label{display:none}.pw-summary{grid-template-columns:1fr 1fr}.pw-overview .sw-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sw-active .sp-calendar .calendar-canvas,.sw-active .sp-calendar .sp-timeline{min-width:900px}}
@media(max-width:480px){.pw-load{gap:4px}.pw-load>div{padding:7px}.pw-load b{font-size:var(--t12)}.pw-summary{grid-template-columns:1fr}.pw-ledger-items{max-height:160px}.pw-summary b span{display:block;margin-top:5px}.pw-ledger-item{width:100%;justify-content:space-between}}
/* A draft has its own calculated indicators. Restore the execution ribbon on exit. */
body:has(#sp-root .sw-active) #ribbon-content,body:has(#sp-root .sw-active) #program-ribbon #live-status,body:has(#sp-root .sw-active) #program-ribbon #undo-live,body:has(#sp-root .sw-active) #program-ribbon #kpi-customize,body:has(#sp-root .sw-active) #program-ribbon #ribbon-toggle{display:none}
body:has(#sp-root .sw-active) #program-ribbon{padding-bottom:12px}


.chart-save-pending{outline:2px dashed #a97c25;outline-offset:2px;cursor:progress!important;opacity:1!important}.chart-save-pending:after{content:"…";position:absolute;right:5px;top:0;font-weight:bold}

/* project-workspace.css */
.pwx-picker{position:relative;min-width:0;font-size:var(--t13)}.pwx-picker>summary{display:flex;align-items:center;gap:9px;list-style:none;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;cursor:pointer;min-height:40px}.pwx-picker>summary::-webkit-details-marker{display:none}.pwx-picker summary span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pwx-picker svg,.pwx-people-badge svg{width:16px;height:16px;flex-shrink:0}.pwx-picker-panel{position:absolute;z-index:35;left:0;right:0;min-width:230px;padding:12px;background:var(--popover);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:0 12px 30px #18234e22}.pwx-picker-panel>input{width:100%;margin-bottom:8px}.pwx-picker-options{max-height:240px;overflow:auto}.pwx-picker-options label{display:flex;align-items:center;gap:9px;padding:9px 6px;cursor:pointer}.pwx-picker-options label[hidden]{display:none}.pwx-picker-options input{width:auto}.pwx-picker-options small,.pwx-person small{display:block}.pwx-picker-panel>small{display:block;margin-top:8px;color:var(--muted)}.pwx-person-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:16px 0}.pwx-person{display:flex;gap:12px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel)}.pwx-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e8eff8;color:#426ba4;font-weight:700;flex-shrink:0}.pwx-people-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px}.pwx-form{display:grid;gap:16px}.pwx-form .grid2,.pwx-form .grid3{gap:16px}.pwx-form label{display:block}.pwx-form input:not([type=checkbox]),.pwx-form textarea{width:100%}.pwx-form label>input,.pwx-form label>textarea,.pwx-form label>.pwx-picker{margin-top:6px}.pwx-form-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:16px 0;background:var(--surface);border-top:1px solid var(--line)}.pwx-dialog{width:min(1040px,94vw)}.pwx-error:empty{display:none}.pwx-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin:16px 0}.pwx-kpi{display:flex;gap:12px;align-items:center;text-align:left;padding:16px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);color:var(--ink)}.pwx-kpi svg{width:24px;height:24px}.pwx-kpi strong{display:block;font-size:var(--t24)}.pwx-kpi small{display:block;color:var(--muted)}.pwx-kpi.danger svg,.pwx-danger{color:#b43c4d}.pwx-kpi.warning svg,.pwx-warning{color:#b57a18}.pwx-kpi.success svg,.pwx-success{color:#17836a}.pwx-kpi[aria-pressed=true]{outline:2px solid #546f99}.pwx-progress{height:7px;display:flex;overflow:hidden;border-radius:var(--radius-control);background:var(--panel-soft);margin:8px 0}.pwx-progress span{min-width:0}.pwx-progress .danger{background:#c24b59}.pwx-progress .warning{background:#d39b26}.pwx-progress .success{background:#25947b}.pwx-progress .neutral{background:#829abb}.pwx-empty{padding:24px;color:var(--muted)}.pwx-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0}.pwx-toolbar input[type=search]{min-width:220px;flex:1}.pwx-risk-grid{display:grid;grid-template-columns:36px repeat(5,1fr);gap:5px;max-width:720px;margin:20px auto}.pwx-risk-cell{min-height:62px;border:0;border-radius:var(--radius-sm);color:var(--ink)}.pwx-risk-cell.low{background:#e0f3e8}.pwx-risk-cell.medium{background:#fff0c9}.pwx-risk-cell.high{background:#f8dce1}.pwx-risk-cell strong{display:block;font-size:var(--t22)}.pwx-risk-cell[aria-pressed=true]{outline:3px solid #18234e}.pwx-register-table td{vertical-align:top}.pwx-register-table small{display:block;margin-top:5px}.pwx-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:var(--radius-sm);background:var(--panel-soft);font-size:var(--t11)}.pwx-chip.danger{background:#fde9ed;color:#a62d43}.pwx-chip.success{background:#e1f4eb;color:#197e62}.pwx-chip.warning{background:#fff1d3;color:#99610c}.pwx-total{display:flex;gap:16px;align-items:center}.pwx-total strong{font-size:var(--t32)}.pwx-full-span{grid-column:1/-1}.pdf-export-result{display:flex;align-items:center;gap:10px;font-size:var(--t12)}.pdf-export-result small{display:block}
@media(max-width:850px){.pwx-form .grid3{grid-template-columns:1fr}.pwx-picker-panel{max-width:90vw}.pwx-kpis{grid-template-columns:repeat(2,1fr)}}

.pwe-wave{padding:20px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel-soft);margin:16px 0}.pwe-wave h3{display:flex;align-items:center;gap:12px;margin:0}.pwe-number{display:grid;place-items:center;border-radius:50%;background:#18234e;color:#fff;font-size:var(--t13);width:30px;height:30px}.pwe-wave .project-facts{margin-top:16px}.pwe-wave .project-facts>div{min-width:130px}.pwe-wave .project-facts small{display:block}

.pwe-timeline{position:relative;height:190px;margin:20px 20px 0}.pwe-phase{position:absolute;top:58px;height:12px;border:0;border-radius:var(--radius-xs);padding:0;cursor:pointer}.pwe-phase.delivery,.pwe-legend .delivery{background:#548cb2}.pwe-phase.light,.pwe-legend .light{background:repeating-linear-gradient(135deg,#a2d3ca 0 4px,#e3f3ef 4px 8px)}.pwe-phase.hypercare,.pwe-legend .hypercare{background:repeating-linear-gradient(45deg,#dce2ec 0 4px,#f8f9fc 4px 8px)}.pwe-wave-pin{position:absolute;top:48px;transform:translateX(-50%);background:transparent;border:0;padding:0;color:#ae8118;font-size:var(--t20)}.pwe-wave-pin b,.pwe-wave-pin small{position:absolute;left:50%;transform:translateX(-50%);width:100px;color:var(--ink);font-size:var(--t11);white-space:normal}.pwe-wave-pin b{top:calc(-16px - var(--lane)*18px)}.pwe-wave-pin small{top:calc(28px + var(--lane)*20px)}.pwe-kickoff{position:absolute;top:88px;font-size:var(--t11)}.pwe-kickoff b{display:block}.pwe-legend{display:flex;gap:20px;flex-wrap:wrap;color:#526c9b;font-size:12px}.pwe-legend i{display:inline-block;width:24px;height:8px;margin-right:6px}.project-roadmap-row .pwe-phase{top:38px;height:24px;z-index:2}.project-roadmap-row .project-delivery-pin{z-index:3}.pwe-scope-phases .pwe-phase{top:20px;height:9px}.pwe-scope-phases{min-height:48px}.pwe-timeline-card h3{margin:6px 0}.pwe-timeline-card .eyebrow{font-size:var(--t10)}.pdf-preview img{display:block;margin-top:14px}.pdf-preview .buttons{margin:10px 0}

.pwx-project-people{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),300px));gap:10px;max-height:420px;overflow:auto;align-content:start;padding:2px 5px 6px 2px;scrollbar-gutter:stable}.pwx-project-people.dense{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),270px));gap:8px}.pwx-person-compact{display:grid;grid-template-columns:1fr 18px;gap:5px 8px;padding:11px 13px;min-height:90px;max-height:128px;align-content:center;position:relative}.pwx-person-identity{display:flex;align-items:center;gap:9px;text-align:left;min-width:0;padding:0}.pwx-person-identity>span:last-child{min-width:0}.pwx-person-identity b{display:block;font-size:var(--t12);line-height:1.3}.pwx-person-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:var(--t10);line-height:1.5}.pwx-person-identity img,.pwx-person-identity .person-avatar,.pwx-person-identity .profile-avatar{width:30px!important;height:30px!important;min-width:30px;font-size:var(--t10)}.pwx-capacity-signal svg{width:16px;height:16px}.pwx-person-load{grid-column:1/-1;display:flex;gap:20px;align-items:center;margin-top:3px}.pwx-person-load b{font-size:var(--t14)}.pwx-person-load small{display:inline;font-size:var(--t10);font-weight:400;color:var(--muted)}.pwx-person-compact .pwx-progress{grid-column:1/-1;height:5px;margin:2px 0 0}.pwx-person-compact .pwx-progress .neutral{background:#5588ad}.pwx-person-compact .pwx-progress .success{background:#c4cfdf}

.ribbon-kpi-wrap{position:relative;min-width:0;display:flex}.ribbon-kpi-wrap>.ribbon-kpi{width:100%;height:100%}.ribbon-kpi-wrap.annual .kpi-copy small{padding-right:28px}.kpi-year-control{display:flex;align-items:center;gap:2px;font-size:var(--t11);color:var(--muted,#536b94);justify-content:flex-end}.ribbon-kpi-wrap>.kpi-year-control{position:absolute;bottom:18px;right:10px}.kpi-year-control button{width:13px;height:18px;padding:0;border:1px solid var(--line);background:var(--panel-soft);color:var(--ink);border-radius:var(--radius-sm)}.kpi-year-control button:disabled{opacity:.35}.kpi-choice-group h3{margin:16px 0 5px;font-size:var(--t13);border-bottom:1px solid var(--line);padding-bottom:7px}#kpi-options{max-height:55vh;overflow:auto}

.dashboard-metric .kpi-year-control{display:inline-flex;margin-left:5px;vertical-align:middle}.kpi-year-control{line-height:1}

.pwx-register-title{display:flex;align-items:center;gap:8px}.pwx-register-title svg,.pwx-dialog h2 svg{width:20px;height:20px;flex:none}[data-register-host="dashboard"] .pwx-register-title{display:none}[data-register-host="dashboard"] .pwx-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}[data-register-host="dashboard"] .pwx-kpi{padding:10px;min-height:80px}[data-register-host="dashboard"] .pwx-kpi strong{font-size:var(--t24)}

/* Intrinsic icon sizing is shared; charts never use this class. */
svg.ui-icon{display:inline-block;vertical-align:middle;flex-shrink:0}
.pwx-toolbar>button,.pwe-wave .buttons>button,.pwx-form-footer>button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.pwx-progress>span{padding:0!important;border:0!important;border-radius:0!important;min-width:0!important;flex-shrink:0;line-height:0}
.pwx-register-table small>svg.ui-icon,.pwx-chip>svg.ui-icon{width:14px;height:14px;margin-right:4px}
.pwx-form fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:16px}
.pwx-form fieldset>.grid2,.pwx-form fieldset>.grid3{margin:0}
.pwx-form .checkbox{display:flex;gap:8px;align-items:center}.pwx-form .checkbox input{width:auto;margin:0}
.pwe-wave h2,.pwe-wave h3,.pwe-timeline-card h3{line-height:1.4}
.pwe-wave .project-facts b{font-size:var(--t14)}.pwe-wave .project-facts>div{background:transparent;border:0;padding:0}
.pwe-wave .project-facts{gap:20px;margin:14px 0 0}.pwe-wave .project-facts small{font-size:var(--t11);color:var(--muted);margin:4px 0}
.pwx-dialog{max-height:90vh;overflow:auto}.pwx-dialog .pwx-form-footer{z-index:40;margin-top:4px}
.pwx-picker[open]{z-index:45}.pwx-picker-panel{max-height:330px}.pwx-picker-options label{margin:0;line-height:1.4}.pwx-picker-options label:hover{background:var(--surface-soft,#f2f5fa)}

/* Approved project card: persistent context, concise KPIs, main view + decision rail. */
.project-header-main{grid-template-columns:minmax(270px,1fr) minmax(480px,610px)}
.project-header-main .project-identity h2{font-size:var(--t24);line-height:1.2;overflow-wrap:normal}
.project-header-main .eyebrow{font-size:var(--t10);letter-spacing:.15em;overflow-wrap:anywhere}
.project-header .project-tabs{flex-wrap:wrap;overflow:visible;gap:0;margin-top:16px}
.project-header .project-tabs button{padding:10px 12px;line-height:1.4}
.pwx-project-context{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:17px}
.pwx-context-details{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted)}
.pwx-context-details small{font-size:var(--t11)}.pwx-edit-project{display:inline-flex;gap:8px;align-items:center;flex:none}
.pwx-overview-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}
.pwx-overview-metric{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;width:100%;height:100%;padding:17px 20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel,var(--radius-control));text-align:left;color:var(--ink)}
.pwx-overview-metric>span{font-size:var(--t12);color:var(--muted);display:flex;align-items:center;gap:7px}.pwx-overview-metric>strong{font-size:var(--t28);line-height:1.2}.pwx-overview-metric>small{font-size:var(--t11);color:var(--muted)}
.pwx-overview-metric.pwx-alert>strong,.pwx-overview-metric.pwx-alert svg{color:var(--danger-ink,#b43c4d)}
.pwx-overview-finance{position:relative;min-width:0}.pwx-overview-finance>.kpi-year-control{position:absolute;right:12px;bottom:15px}.pwx-overview-finance .pwx-overview-metric>small{padding-right:27px}
.pwx-overview-layout{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(285px,1fr);gap:20px;align-items:start}
.pwx-overview-main,.pwx-overview-aside{display:grid;gap:20px;min-width:0}.pwx-overview-layout .card{margin:0;min-width:0;padding:22px}.pwx-overview-layout h3{font-size:var(--t16);margin:0 0 10px}.pwx-overview-layout .flex>h3{margin:0}.pwx-overview-layout p{font-size:var(--t13);line-height:1.55}.pwx-overview-layout .limits{font-size:var(--t11)}
.pwx-overview-layout .pwe-timeline{height:155px;margin:12px 8px 0}.pwx-overview-layout .pwe-wave-pin b,.pwx-overview-layout .pwe-wave-pin small{width:82px;font-size:var(--t10)}.pwx-overview-layout .pwe-legend{gap:8px 16px;font-size:10px}
.pwx-overview-layout .pwe-timeline-card>.flex{gap:12px;align-items:start}.pwx-overview-layout .pwe-timeline-card>.flex>.link-btn{max-width:150px;font-size:var(--t11);text-align:right}
.pwx-overview-layout .project-dates{grid-template-columns:repeat(3,minmax(0,1fr))}.pwx-overview-layout .project-dates b{font-size:var(--t12)}
.pwx-listrow{display:flex;align-items:center;gap:11px;padding:14px 0;border-bottom:1px solid var(--line);min-width:0}.pwx-listrow:last-of-type{border-bottom:0}.pwx-listrow b{font-size:var(--t12)}.pwx-listrow small{display:block;margin-top:4px;color:var(--muted);font-size:var(--t11)}.pwx-listrow .link-btn{text-align:left;padding:0}.pwx-grow{flex:1;min-width:0}.pwx-status-symbol{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:var(--radius-control);background:var(--surface-soft,#f2f5fa)}.pwx-listrow .pwx-chip{flex-shrink:0}
.pwx-listrow .person-avatar{width:32px;height:32px;min-width:32px;font-size:var(--t10)}.pwx-listrow .person-avatar img{width:32px;height:32px}
.pwx-side-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.pwx-side-links .link-btn{font-size:var(--t12);text-align:left}
.pwx-mini-facts{display:grid;gap:10px;margin:15px 0;font-size:var(--t12)}.pwx-mini-facts>span{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.pwx-mini-facts b{color:var(--ink)}
.pwx-section-line,.pwx-journey{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.pwx-journey>summary{font-size:var(--t12);color:var(--muted);cursor:pointer}
.pwx-overview-aside .constraint-control{border:0;padding:0}.pwx-overview-aside .pwx-chip{font-size:var(--t10);white-space:nowrap}.pwx-overview-aside .flex{gap:8px}.pwx-overview-aside .flex h3{font-size:var(--t16)}
.pwx-project-finance .buttons{display:flex;align-items:center;gap:9px}.pwx-finance-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.pwx-finance-metrics>div{padding:18px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-soft,#f6f8fc)}.pwx-finance-metrics small{display:block;color:var(--muted)}.pwx-finance-metrics strong{display:block;font-size:var(--t28);margin-top:7px}
@media(max-width:1200px){.project-header-main{grid-template-columns:minmax(280px,1fr) 330px}.project-header-main .project-indicators{grid-template-columns:repeat(2,minmax(0,1fr))}.pwx-overview-layout{grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr)}.pwx-overview-layout .card{padding:18px}.pwx-overview-metric{padding:14px}.pwx-project-context{gap:8px}.pwx-context-details small{font-size:var(--t10)}}

/* The same three action summaries are shared by project, programme and home. */
[data-register-host="action"]>.pwx-kpis,[data-register-host="dashboard"]>.pwx-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.pwx-action-kpi{align-items:flex-start;gap:12px;padding:18px;min-height:148px}.pwx-action-kpi strong{margin:6px 0;font-size:var(--t28)}.pwx-action-kpi small{line-height:1.6;margin-top:4px;font-size:var(--t11);white-space:normal;overflow-wrap:anywhere}.pwx-kpi-icon{padding:9px;border-radius:var(--radius-control);background:var(--panel-soft);display:flex}.pwx-action-kpi.danger .pwx-kpi-icon{background:#fdecef}.pwx-action-kpi.warning .pwx-kpi-icon{background:#fff3da}.pwx-register-surface{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-control);overflow:hidden;margin-top:20px}.pwx-register-surface>.pwx-toolbar{margin:0;padding:18px;border-bottom:1px solid var(--line)}.pwx-register-surface>.table-scroll{padding:16px}.pwx-register-table .link-btn{text-align:left}.pwx-register-surface .pwx-toolbar>button{white-space:nowrap}.pwx-register-surface .pwx-toolbar input{order:-1}.pwx-register-surface .pwx-register-table{width:100%}.project-tab-panel>.card+.card{margin-top:20px}.pwx-risk-grid{background:var(--panel);padding:20px;border-radius:var(--radius-control);border:1px solid var(--line);max-width:760px}
@media(max-width:680px){[data-register-host="action"]>.pwx-kpis,[data-register-host="dashboard"]>.pwx-kpis{grid-template-columns:1fr}.pwx-action-kpi{min-height:110px}}

.presentation-entry{gap:6px}.presentation-entry .presentation-open{white-space:nowrap}.pwx-multiwave-row{height:142px!important}.pwx-roadmap-wave-label{position:absolute;top:calc(26px + var(--wave-lane)*24px);left:50%;transform:translateX(-50%);width:95px;text-align:center;color:var(--ink);font-size:var(--t10);line-height:13px;white-space:normal}.pwx-roadmap-wave-label b,.pwx-roadmap-wave-label small{display:block}.project-roadmap-row .pwe-phase{top:37px}.project-roadmap-row .project-span{z-index:1}.project-roadmap-row .project-span .task-bar-label{position:relative;z-index:4}.project-roadmap-chart .calendar-legend .pwe-legend{font-size:inherit;gap:12px}.pwx-risk-grid>.pwx-full-span{font-size:var(--t12);line-height:18px}

.project-roadmap-row .project-delivery-pin>.pwx-roadmap-wave-label{top:calc(26px + var(--wave-lane)*24px);left:50%;white-space:normal}.project-roadmap-row .project-delivery-pin .pwx-roadmap-wave-label small{font-size:var(--t10);line-height:13px}.project-roadmap-row.pwx-multiwave-row{height:152px!important}

dialog#dialog.pwx-dialog,dialog.pwx-dialog{width:min(960px,94vw);max-width:960px}.pwx-form .grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.pwx-form .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pwx-form .grid3>label,.pwx-form .grid2>label{min-width:0}.pwx-dialog .pwx-form-footer{bottom:-24px;padding:16px 0 24px}.pwx-dialog .pwx-form label{font-size:var(--t12)}.pwx-dialog h2{font-size:var(--t20)}.pwx-dialog .pwx-form textarea{min-height:84px}
@media(max-width:650px){.pwx-form .grid3,.pwx-form .grid2{grid-template-columns:1fr}.pwx-dialog .pwx-form-footer{bottom:-16px;padding-bottom:16px}}

/* Spacing and toolbar containment for integrated sections. */
#project-tab-panel>.card+.card,.unified-intake>.card+.card{margin-top:20px}
.pwx-risk-grid>.presentation-entry{grid-column:1/-1}
.delivery-toolbar-main>.pwx-choice-adapter{min-width:168px;max-width:210px}

.pwx-task-dependencies h3{margin:0}.pwx-task-dependencies .pwx-register-title{font-size:var(--t14)}.pwx-task-dependencies .pwx-total{margin:20px 0}.pwx-task-dependencies .pwx-total>div{flex:1}.pwx-dependent-list{display:grid;gap:12px;margin:16px 0}.pwx-dependent-list>button{display:flex;align-items:flex-start;gap:8px;text-align:left}.pwx-task-dependencies .note{font-size:var(--t12);line-height:1.6}
.task-card-workspace .tcw-tabs{flex-wrap:wrap}

/* One-line project summary; the same live indicators/actions remain in place. */
.project-header-summary{position:relative}
.project-header-toggle{position:absolute;right:0;top:0;width:32px;height:32px;padding:6px;display:inline-flex;align-items:center;justify-content:center;flex:none}
.project-header-toggle[aria-expanded="false"] svg{transform:rotate(180deg)}
.project-header:not(.project-header-collapsed) .project-breadcrumb{padding-right:42px}
.project-header-collapsed .project-header-summary{display:flex;align-items:center;gap:10px;min-height:36px;flex-wrap:nowrap}
.project-header-collapsed .project-header-main,.project-header-collapsed .pwx-project-context,.project-header-collapsed .pwx-context-details{display:contents}
.project-header-collapsed .project-breadcrumb{margin:0;flex:none;min-height:0;padding:0}
.project-header-collapsed .project-breadcrumb>span,.project-header-collapsed .project-breadcrumb button>span,.project-header-collapsed .project-identity .eyebrow,.project-header-collapsed .project-identity>div>:not(h2),.project-header-collapsed .pwx-context-details>small{display:none}
.project-header-collapsed .project-breadcrumb button{padding:6px;display:inline-flex}
.project-header-collapsed .project-identity{gap:8px;flex:1;min-width:80px}
.project-header-collapsed .project-identity>div{min-width:0}
.project-header-collapsed .project-identity>.client-avatar{width:36px;height:30px;font-size:var(--t11)}
.project-header-collapsed .project-identity h2{font-size:var(--t16);line-height:1.2;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-header-collapsed .project-indicators{display:flex;flex:none;gap:6px;margin:0}
.project-header-collapsed .project-indicator{flex:none;min-width:0;min-height:32px;height:32px;padding:5px 8px;gap:5px;white-space:nowrap}
.project-header-collapsed .project-indicator small{display:none}
.project-header-collapsed .project-indicator strong{font-size:var(--t11);line-height:1.2}
.project-header-collapsed .project-indicator>svg{width:15px;height:15px}
.project-header-collapsed .pwx-people-badge,.project-header-collapsed .pwx-edit-project{height:32px;min-height:32px;padding:5px 8px;font-size:var(--t11);white-space:nowrap;flex:none;gap:5px}
.project-header-collapsed .pwx-people-badge svg,.project-header-collapsed .pwx-edit-project svg{width:15px;height:15px}
.project-header-collapsed .project-header-toggle{position:static}
.project-header-collapsed .project-tabs{margin-top:8px}

/* The same approved risk composition serves project and programme registers. */
.pwx-risk-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:20px;margin-top:20px;align-items:stretch}.pwx-risk-layout>.card{margin:0;padding:24px}.pwx-risk-chart h3,.pwx-risk-scale h3{margin:0 0 16px;font-size:18px;font-weight:500}.pwx-risk-chart .segmented{margin-bottom:14px}.pwx-risk-chart>small,.pwx-risk-axis{color:#526c9b;font-size:12px}.pwx-risk-matrix{display:grid;grid-template-columns:30px repeat(5,minmax(0,1fr));gap:6px;margin:10px 0 6px}.pwx-risk-axis{display:grid;place-items:center}.pwx-risk-matrix .pwx-risk-cell{height:54px;min-height:54px;min-width:0;overflow:auto;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:4px;padding:6px;border-radius:var(--radius-sm)}.pwx-risk-dot{background:#ffffffc9;border:1px solid var(--line);border-radius:var(--radius-xs);padding:4px 6px;font-size:var(--t11);color:var(--ink)}.pwx-risk-scale p{font-size:var(--t13);line-height:1.6}.pwx-risk-scale-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:var(--t13)}.pwx-risk-scale-row>.pwx-chip{min-width:54px;justify-content:center}.pwx-risk-scale .note{padding:12px 14px;margin-top:18px;font-size:var(--t12);line-height:1.6}.pwx-risk-table th:nth-child(1){width:30%}.pwx-risk-table th:nth-child(2){width:20%}.pwx-risk-table th:nth-child(3),.pwx-risk-table th:nth-child(4){width:13%}.pwx-risk-table td:nth-child(3),.pwx-risk-table td:nth-child(4){white-space:nowrap}.pwx-risk-table td:last-child{min-width:160px}.pwx-risk-table small .link-btn{display:inline-flex;align-items:flex-start;gap:5px}.pwx-risk-table small svg{width:14px;height:14px;flex-shrink:0}@media(max-width:850px){.pwx-risk-layout{grid-template-columns:1fr}.pwx-risk-layout>.card{padding:18px}}

.pwx-risk-chart .segmented{display:inline-flex;border:1px solid #d5dfed;border-radius:7px;padding:3px;gap:2px;background:var(--panel)}.pwx-risk-chart .segmented>button{border:0;border-radius:5px;padding:9px 10px;background:var(--panel);color:#18234e;font-size:11px}.pwx-risk-chart .segmented>button.active{background:#18234e;color:white}.pwx-risk-chart .pwx-risk-cell.low{background:#e6f2eb}.pwx-risk-chart .pwx-risk-cell.medium{background:#f8efce}.pwx-risk-chart .pwx-risk-cell.high{background:#efd5d1}
/* Phase overlays must never cover the project name inside the roadmap bar. */
.project-roadmap-row .project-span{z-index:auto}.project-roadmap-row .project-span .task-bar-label{z-index:4;text-shadow:0 1px 2px #18234e,0 0 2px #18234e}
/* Keep names legible over the pale Light hatching, including the PDF raster. */
.project-roadmap-row:has(.pwe-phase.light) .project-span .task-bar-label{background:#375f80;border-radius:3px;padding:0 4px;max-width:calc(100% - 12px);width:max-content;text-shadow:none}

/* Existing feasibility and retirement controls, refreshed to the current card standard. */
.pwx-overview-aside .pwx-feasibility-card,.pwx-overview-aside .pwx-retirement-card{padding:20px;background:var(--panel);border:1px solid var(--line,var(--line));border-radius:var(--radius-control);box-shadow:none}.pwx-aside-card-heading{display:flex;align-items:center;gap:10px;margin-bottom:16px}.pwx-aside-card-heading h3{margin:0;font-size:var(--t14)}.pwx-aside-icon{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--panel-soft);color:#6484b0}.pwx-aside-icon svg{width:18px;height:18px}.pwx-feasibility-status{margin:0 0 14px}.pwx-feasibility-status .feasibility-badge{padding:8px 12px;font-size:var(--t12);border-radius:var(--radius-sm)}.pwx-feasibility-card .limits{margin:0;font-size:var(--t11);line-height:1.6}.pwx-overview-aside .pwx-retirement-card>.flex{padding:0;margin:0 0 18px;gap:10px;align-items:center}.pwx-retirement-card>.flex>b{font-size:var(--t14);font-weight:650}.pwx-retirement-card>.flex .badge{font-size:var(--t10);white-space:normal;text-align:right}.pwx-retirement-card .constraint-date-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-control);padding:15px;margin:0 0 16px}.pwx-retirement-card .constraint-date-pair>div{min-width:0}.pwx-retirement-card .constraint-date-pair small{display:block;font-size:var(--t10);line-height:1.5;color:var(--muted);min-height:30px}.pwx-retirement-card .constraint-date-pair b{display:block;font-size:var(--t14);font-weight:650;font-variant-numeric:tabular-nums;margin-top:8px;color:var(--ink)}.pwx-overview-aside .pwx-retirement-card>p{font-size:var(--t11);line-height:1.65;color:var(--muted);margin:0 0 16px}.pwx-retirement-card>button{font-size:var(--t12);min-height:36px;border-radius:var(--radius-sm)}.pwx-constraint-card{padding:20px}.pwx-constraint-card .constraint-control{padding:0;background:none;border:0;margin:0}.pwx-aside-note{padding:0 4px;font-size:var(--t10);line-height:1.7}

/* light-planning.css */
dialog.lp-dialog{width:min(1440px,calc(100vw - 48px));max-width:1440px;padding:24px;background:var(--panel-soft);color:var(--ink)}.lp-page-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:22px}.lp-page-heading h2{margin:8px 0}.lp-page-heading p{color:var(--muted);font-size:var(--t13);margin:0}.lp-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.lp-editor{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-control);min-width:0;overflow:clip}.lp-editor-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:23px 26px;border-bottom:1px solid var(--line)}.lp-editor-head h3{font-size:var(--t18);margin:7px 0 0}.lp-form{margin:0!important}.lp-section{padding:23px 26px;border-bottom:1px solid var(--line)}.lp-section-heading{display:flex;gap:10px;align-items:center;margin-bottom:18px}.lp-section-heading h3{margin:0;font-size:var(--t14)}.lp-section-heading>span{width:25px;height:25px;border-radius:50%;background:var(--panel-soft);color:#41618f;text-align:center;line-height:25px;font-size:var(--t12);font-weight:bold}.lp-section-heading>button{margin-left:auto}.lp-full{grid-column:1/-1}.lp-dialog label{font-size:var(--t12);color:var(--muted)}.lp-dialog label small{display:block;font-size:var(--t11);color:var(--muted);margin-top:6px}.lp-picker{width:100%;display:flex;justify-content:space-between;margin-top:6px!important;background:var(--panel)!important;color:var(--ink)!important;text-align:left;min-height:40px}.lp-segments{display:flex;gap:4px;background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:4px;width:max-content;max-width:100%;margin-bottom:20px}.lp-segments button{background:transparent;border:0;color:var(--muted)}.lp-segments [aria-pressed=true]{background:#192550;color:white}.lp-timing input[type=range]{width:100%;margin-top:17px;accent-color:#5285b2;padding:0!important;min-height:16px}.lp-time-axis{display:flex;justify-content:space-between;font-size:var(--t11);color:var(--muted);margin-top:22px}.lp-range{height:19px;background:var(--panel-soft);border-radius:var(--radius-sm);position:relative;margin:10px 0}.lp-range i{position:absolute;height:19px;background:repeating-linear-gradient(135deg,#ccd8e9,#ccd8e9 4px,#edf1f8 4px,#edf1f8 8px);border-radius:var(--radius-xs)}.lp-range b{position:absolute;top:5px;height:9px;background:#5688ad;border-radius:var(--radius-xs);max-width:100%}.lp-range b.milestone{height:12px!important;width:12px!important;transform:rotate(45deg);background:#c29122;top:3px}.lp-range-legend{display:flex;gap:13px;font-size:11px;align-items:center;flex-wrap:wrap;color:#58739b}.lp-range-legend b{margin-left:auto}.lp-base{display:flex;justify-content:space-between;align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 16px;margin-bottom:18px;font-size:var(--t12)}.lp-base small{display:block;margin-top:5px;color:var(--muted)}.lp-base b{font-size:var(--t20)}.lp-fte{border-left:2px solid var(--line);padding-left:20px}.lp-fte small{display:block;color:var(--muted);font-size:var(--t11);margin:5px 0}.lp-fte strong{font-size:var(--t24)}.lp-dependency{display:grid;grid-template-columns:minmax(120px,1fr) 105px 130px 30px;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:var(--t12)}.lp-dependency label{margin:0}.lp-successors{padding-top:18px}.lp-successors p{font-size:var(--t12);display:flex;justify-content:space-between;gap:10px}.lp-summary{padding:22px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);margin-bottom:16px}.lp-summary h3{font-size:var(--t16);margin:10px 0 18px}.lp-summary dl>div{display:flex;justify-content:space-between;gap:12px;font-size:var(--t12);margin:13px 0}.lp-summary dt{color:var(--muted)}.lp-summary dd{margin:0;text-align:right}.lp-summary hr{border:0;border-top:1px solid var(--line);margin:20px 0}.lp-quiet{background:var(--panel-soft);font-size:var(--t12);color:var(--muted);line-height:1.7}.lp-journey-row{display:flex;gap:11px;padding:12px 8px;border-bottom:1px solid var(--line);font-size:var(--t12)}.lp-journey-row>span{color:#5285b2}.lp-journey-row small{display:block;font-size:var(--t10);color:var(--muted);margin-top:5px}.lp-journey-row.selected{border-left:3px solid #cfaa35;background:var(--panel-soft)}.lp-footer{position:sticky!important;bottom:-24px!important;background:var(--surface)!important;padding:17px 24px!important;z-index:5;margin:0!important}.lp-error:not(:empty){padding:14px 26px;background:var(--panel-soft)}.lp-dialog [hidden]{display:none!important}.lp-dialog .limits{font-size:var(--t11);line-height:1.6}.lp-dialog .grid2{gap:18px}.lp-dialog input,.lp-dialog textarea,.lp-dialog select{font-size:var(--t13)}.lp-dialog table small{display:block;margin-top:5px;color:var(--muted)}.lp-dialog .pwx-form-footer>span{font-size:var(--t12);color:var(--muted);margin-right:auto}@media(max-width:1100px){.lp-editor-layout{grid-template-columns:minmax(0,1fr) 260px}.lp-section{padding:20px}.lp-dependency{grid-template-columns:minmax(100px,1fr) 75px 95px 30px}}@media(max-width:850px){.lp-editor-layout{grid-template-columns:1fr}.lp-editor-layout aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}}

/* presentation-mode.css */
/* Shared window-sized presentation surface: no browser Fullscreen API required. */
.presentation-region{min-width:0}
.presentation-entry{display:flex;justify-content:flex-end;padding:5px 0 8px;clear:both}
.presentation-open{display:inline-flex;align-items:center;gap:6px;background:var(--panel-soft);color:#385b8a;border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 10px;font-size:var(--t11);white-space:nowrap}
.presentation-open:hover,.presentation-open:focus-visible{background:#e8f0fb;border-color:#385b8a}
body.presenting{overflow:hidden!important}
body.presenting .presentation-path{transform:none!important;filter:none!important;backdrop-filter:none!important;perspective:none!important;contain:none!important;isolation:auto!important;z-index:auto!important;overflow:visible!important}
body.presenting .presentation-path.sw-active{height:auto!important;max-height:none!important}
body.presenting .presentation-active{position:fixed!important;inset:var(--presentation-toolbar-height,72px) 0 0!important;z-index:1000!important;width:100vw!important;height:calc(100dvh - var(--presentation-toolbar-height,72px))!important;max-width:none!important;max-height:none!important;min-height:0!important;margin:0!important;padding:16px 22px 40px!important;border:0!important;border-radius:0!important;background:var(--popover)!important;box-sizing:border-box!important;overflow:auto!important;overscroll-behavior:contain;box-shadow:0 0 0 100vmax #fff;--topbar-height:0px;--program-ribbon-height:0px;--operation-toolbar-height:0px}
.presentation-toolbar{position:fixed;inset:0 0 auto;z-index:1001;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 22px;background:var(--surface-soft);border-bottom:1px solid var(--line);box-sizing:border-box;color:var(--ink)}
.presentation-toolbar>div:first-child{min-width:0;display:grid;gap:3px}
.presentation-toolbar small{text-transform:uppercase;letter-spacing:.13em;font-size:var(--t9);color:var(--muted)}
.presentation-toolbar strong{font-size:var(--t16);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.presentation-actions{display:flex;gap:9px;align-items:center;flex-shrink:0}
.presentation-actions button{min-height:38px;padding:8px 14px;border-radius:var(--radius-sm)}
.presentation-actions kbd{margin-left:8px;font-size:var(--t10);opacity:.7}
.presentation-active>.presentation-entry{display:none}
.presentation-active:is(.programme-calendar-frame,.execution-chart,#resource-overview-board,#staffing-board){padding:0!important}
.presentation-active .programme-calendar,.presentation-active .factory-frozen-calendar,.presentation-active .shared-chart-tools,.presentation-active [data-operation-toolbar]{top:0!important}
.presentation-active .dashboard-widget-content{max-height:none!important;height:auto!important;overflow:visible}
.presentation-active .timeline-scroll,.presentation-active .execution-scroll,.presentation-active .shared-chart-scroll,.presentation-active .factory-scroll,.presentation-active .resource-overview-scroll{max-height:none!important}
.presentation-active table{width:100%;min-width:0}
.presentation-active th{position:sticky;top:0;background:var(--surface-soft);z-index:9}
.presentation-active .network-map{height:calc(100dvh - var(--presentation-toolbar-height,72px) - 80px)!important;min-height:280px}
.presentation-active.org-chart>ul{zoom:var(--presentation-org-fit,1);width:max-content;min-width:100%}
body.presenting #chart-insight,body.presenting #drag-preview,body.presenting #factory-drag-tip,body.presenting #toast{z-index:1100}
dialog.presentation-path{max-width:none!important;max-height:none!important;width:100vw!important;height:100dvh!important;margin:0!important;padding:0!important}
@media(max-width:600px){.presentation-toolbar{padding:9px 12px;gap:8px}.presentation-toolbar strong{font-size:var(--t12)}.presentation-actions{gap:5px}.presentation-actions button{padding:7px 9px;font-size:var(--t11)}.presentation-actions kbd{display:none}body.presenting .presentation-active{padding:10px 10px 28px!important}}

/* Presentation has its own scroll surface: omit the normal workspace offsets. */
body.presenting.unified-preview .presentation-active .programme-calendar,
body.presenting.unified-preview .presentation-active .execution-calendar.programme-calendar{top:0!important}

/* menu-organizer.css */
.menu-settings{max-width:1400px}.menu-settings>h2{margin:8px 0}
#menu-savebar{position:sticky;bottom:12px;z-index:6}.menu-savebar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:var(--sticky);border:1px solid var(--line);border-radius:var(--radius-control);padding:9px 12px;margin:12px 0}.menu-savebar>span{font-size:var(--t12);color:var(--muted);display:flex;align-items:center;gap:7px}.menu-savebar>span i{width:8px;height:8px;border-radius:50%;background:#1f7a55}.menu-savebar.dirty>span{color:#8a6100;font-weight:650}.menu-savebar.dirty>span i{background:var(--gold)}.menu-savebar>div{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.menu-security-note{display:flex;align-items:flex-start;gap:9px;background:#edf4fc;padding:10px 12px;border-radius:var(--radius-control);color:var(--ink);font-size:var(--t12);margin:0}.menu-security-note svg{width:16px;height:16px;flex:none;margin-top:1px}.menu-security-note.good{background:#e7f6ef;color:#145b3e}.menu-security-note.warn{background:#fff7e2;color:#5d4300}
.menu-workbench{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start;margin-top:14px}
.menu-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.menu-search{flex:1 1 180px;min-width:0;position:relative}.menu-search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--muted)}.menu-search input{width:100%;box-sizing:border-box;padding-left:31px;margin:0}
.menu-block{background:var(--glass-strong);border:1px solid var(--line);border-radius:var(--radius-panel);margin-bottom:10px;overflow:hidden}.menu-head{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--control-fill)}.menu-body{padding:2px 10px 10px}.menu-drop{min-height:6px}
.menu-grip{color:var(--muted);cursor:grab;flex:none;font-size:var(--t12);letter-spacing:-2px;opacity:.6}.menu-toggle{background:none;border:0;padding:4px;display:flex;color:var(--muted);flex:none;min-height:0}.menu-toggle svg{width:15px;height:15px;transition:transform .12s;transform:rotate(90deg)}.menu-block.open>.menu-head .menu-toggle svg{transform:rotate(180deg)}
.menu-name{background:none;border:0;padding:3px 4px;text-align:left;font-weight:700;min-width:0;display:flex;flex-direction:column;border-radius:var(--radius-sm);flex:0 1 auto;color:var(--ink);font-size:var(--t14);min-height:0}.menu-name:hover{background:var(--control-fill)}.menu-name small{font-weight:400;font-size:var(--t11);color:var(--muted)}
.menu-spacer{flex:1 1 auto}.menu-pill{display:inline-flex;align-items:center;gap:4px;font-size:var(--t11);font-weight:650;padding:2px 7px;border-radius:999px;background:var(--control-fill);color:#405679;white-space:nowrap;border:0;min-height:0}button.menu-pill:hover{background:var(--control-hover)}.menu-pill.strong{background:#18234e12;color:var(--ink)}.menu-pill.gold{background:#d5a51e26;color:#6d5200}.menu-pill svg{width:12px;height:12px}
.menu-row{display:flex;align-items:center;gap:7px;padding:5px 2px;border-bottom:1px solid var(--line);min-height:40px}.menu-row:last-child{border-bottom:0}.menu-row .menu-name{font-weight:650;font-size:var(--t13)}.menu-symbol{width:18px;text-align:center;color:var(--muted);flex:none}.menu-row select{width:186px;max-width:100%;font-size:var(--t12);margin:0;padding-top:4px;padding-bottom:4px}
.menu-moves{display:inline-flex;gap:3px;flex:none}.menu-moves button{padding:0;width:30px;height:30px;min-width:30px;min-height:30px}
.menu-section{margin:8px 0 4px;border-left:2px solid var(--line);padding-left:10px}.menu-section-head{display:flex;align-items:center;gap:6px;min-height:34px}.menu-section-head .menu-name{font-size:var(--t12);color:#405679}.menu-add{margin-top:8px}.menu-empty{font-size:var(--t12);color:var(--muted);padding:8px 2px;margin:0}
.menu-drop-before{box-shadow:inset 0 2px 0 var(--gold)}.menu-drop-after{box-shadow:inset 0 -2px 0 var(--gold)}.menu-drop-in{outline:2px dashed var(--gold);outline-offset:-2px;border-radius:var(--radius-sm)}.menu-dragging{opacity:.4}
.menu-preview{position:sticky;top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,0px) + 60px);border:1px solid var(--line);border-radius:var(--radius-panel);padding:14px;background:var(--panel-soft)}.menu-preview h3{margin:0 0 10px}.menu-preview label{font-size:var(--t12)}.menu-preview select{font-size:var(--t12);width:100%}.menu-preview .nav{pointer-events:none;background:var(--panel);border-radius:var(--radius-control);padding:8px;max-height:max(180px,calc(100vh - var(--topbar-height,70px) - var(--program-ribbon-height,0px) - 330px));overflow:auto;margin-top:10px}.menu-preview .nav button{font-size:var(--t12);padding:10px;width:100%;text-align:left}.menu-preview .nav details{margin-top:6px}.menu-preview .limits{font-size:var(--t11)}.menu-hidden{margin-top:10px;font-size:var(--t12);color:var(--muted)}.menu-hidden b{color:var(--ink)}.menu-hidden ul{margin:4px 0 0;padding-left:16px}
.menu-settings [disabled]{cursor:not-allowed}.nav-progress{padding-left:12px}.nav-progress>summary{cursor:pointer;font-size:var(--t12);padding:12px 0}.menu-settings #menu-error:empty{display:none}
dialog.menu-dialog{width:min(560px,calc(100vw - 32px))}dialog#dialog.menu-dialog .ui-dialog-actions{background:var(--popover)}.menu-dialog-body{display:grid;gap:14px}.menu-dialog-body h3{margin:0 0 6px;font-size:var(--t12);text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.menu-field label,.menu-label{display:block;font-size:var(--t12);font-weight:650;margin-bottom:4px}.menu-field input,.menu-field select,.menu-field textarea{width:100%;box-sizing:border-box;margin:0}.menu-field small{display:block;font-size:var(--t11);color:var(--muted);margin-top:4px}.menu-field>div:last-child:not(.menu-choice){margin-top:8px}.menu-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.menu-choice{display:grid;grid-template-columns:1fr 1fr;gap:6px}.menu-choice button{border:1px solid var(--control-line);background:var(--surface);border-radius:var(--radius-control);padding:8px 10px;text-align:left;color:var(--ink)}.menu-choice b{display:block;font-size:var(--t12)}.menu-choice small{font-size:var(--t11);color:var(--muted)}.menu-choice button[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.menu-who{list-style:none;padding:0;margin:0;font-size:var(--t12);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);max-height:220px;overflow:auto}.menu-who li{display:flex;justify-content:space-between;gap:10px;padding:6px 10px;border-bottom:1px solid var(--line)}.menu-who li:last-child{border:0}.menu-who .yes{color:#1f7a55;font-weight:650}.menu-who .no{color:var(--muted)}.menu-changes{margin:0;padding-left:18px;font-size:var(--t12);display:grid;gap:3px}
.menu-history-row{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-control);padding:10px 12px;display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}.menu-history-row+.menu-history-row{margin-top:8px}.menu-history-row>div{min-width:0;flex:1 1 200px}.menu-history-row p{font-size:var(--t12);margin:0}.menu-history-row small{color:var(--muted);font-size:var(--t11)}.menu-history-page{margin-top:12px}
.menu-tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(3,1fr);background:var(--popover);border-top:1px solid var(--line);padding:4px max(8px,env(safe-area-inset-right,0px)) calc(4px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))}.menu-tabs button{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px;font-size:var(--t11);font-weight:650;color:var(--muted);min-height:48px}.menu-tabs button[aria-current=page]{color:var(--ink)}.menu-tabs svg{width:19px;height:19px}
.menu-phonebar{display:none}.menu-phonebar.on{display:flex;gap:10px;align-items:center;justify-content:space-between;position:fixed;left:8px;right:8px;bottom:calc(66px + env(safe-area-inset-bottom,0px));background:var(--ink);color:#fff;border-radius:var(--radius-panel);padding:8px 8px 8px 14px;z-index:30;font-size:var(--t12);font-weight:650;box-shadow:var(--dialog-shadow)}.menu-phonebar .link-btn{color:#fff}.menu-phonebar>span:last-child{display:flex;gap:6px;align-items:center}.menu-phonebar .primary{background:var(--gold);color:var(--ink)}
@media(max-width:1050px){.menu-workbench{grid-template-columns:minmax(0,1fr) 235px;gap:14px}.menu-row select{width:140px}}
@media(max-width:760px){body:has(#menu-editor) #program-ribbon{display:none}body:has(#menu-editor) nav.setup-tabs{position:static}.menu-workbench{display:block}.menu-preview{position:static}.menu-preview .nav{max-height:none}.menu-settings{padding:16px;padding-bottom:150px}.menu-name{min-height:44px;justify-content:center}.menu-row{min-height:50px}.menu-row .menu-name{font-size:var(--t14);flex:1 1 auto}.menu-head{min-height:54px}.menu-toggle{padding:9px}.menu-moves button{width:42px;height:42px;min-width:42px;min-height:42px}.menu-tools button{min-height:42px}.menu-add button{min-height:42px}button.menu-pill{min-height:30px}dialog.menu-dialog{width:100vw;max-width:480px;margin:auto auto 0;border-radius:var(--radius-dialog) var(--radius-dialog) 0 0;max-height:88dvh;border-bottom:0}.menu-field input,.menu-field select,.menu-field textarea{min-height:44px;font-size:var(--t16)}}
/* Compact action queues: counts and meaning remain visible at every width. */
.task-center-queues{display:flex;flex-wrap:wrap;gap:7px;padding:0 18px 10px}.task-center-queues button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 12px;padding:9px 12px;flex:1 1 135px;min-height:52px}.task-center-queues button>b{font-size:var(--t20);grid-column:2;grid-row:1}.task-center-queues button>span{font-size:var(--t11);line-height:1.35}.task-center-queues button>small{display:none}.task-center .queue-explanation{margin:0;padding:0 18px 10px;font-size:var(--t11);color:var(--muted)}.task-center-queues button:focus-visible{outline:2px solid #315e96;outline-offset:2px}@media(max-width:600px){.task-center-queues button{flex-basis:110px}.task-center-heading p{max-width:250px}}

.menu-preview .nav button{color:var(--nav-text,#405679);opacity:1}.task-center-queues>.field-help-button{flex:0 0 22px;min-height:24px;width:22px;height:24px;min-width:22px;padding:0;border:0;display:inline-flex;align-self:center;justify-content:center;background:transparent}.task-center-queues>.field-help-button svg{width:14px;height:14px}

/* hr-transfer.css */
.hrt-workspace{padding:24px!important}.hrt-workspace fieldset{border:0;margin:0;padding:0;min-width:0}.hrt-workspace h2{margin:8px 0}.hrt-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.hrt-pair label{min-width:0}.hrt-workspace input:not([type=checkbox]),.hrt-workspace select,.hrt-workspace textarea{width:100%}.hrt-modes{margin:22px 0}.hrt-choice{display:flex;align-items:center;gap:16px;text-align:left;background:var(--panel);border:1px solid var(--line);padding:20px;color:var(--ink)}.hrt-choice[aria-pressed=true]{border:2px solid #365d91;background:#eef4ff}.hrt-choice svg{width:25px;height:25px;flex:none}.hrt-choice strong,.hrt-choice small{display:block}.hrt-choice small{margin-top:8px;color:var(--muted)}.hrt-box{border:1px solid var(--line);border-radius:var(--radius-control);padding:20px;margin:18px 0}.hrt-check{display:flex;align-items:center;gap:10px;margin:18px 0!important;font-size:var(--t14)}.hrt-check input{flex:none;width:17px;height:17px;margin:0}.hrt-selection{max-height:330px;overflow:auto;border-top:1px solid var(--line);margin:12px 0}.hrt-row{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:14px 4px;margin:0!important}.hrt-row>span:first-of-type{flex:1}.hrt-row small{display:block;color:var(--muted);margin-top:6px}.hrt-row input{width:17px;flex:none}.hrt-row[hidden]{display:none}.hrt-row .badge{flex:none}.hrt-new{padding:16px;background:var(--panel-soft);border-radius:var(--radius-control)}.hrt-new p{grid-column:1/-1;margin:0}.hrt-footer{display:flex;gap:20px;justify-content:space-between;align-items:center;position:sticky;bottom:0;background:rgba(255,255,255,.98);padding:16px 0;border-top:1px solid var(--line);z-index:5}.hrt-footer>div:first-child{max-width:65%;font-size:var(--t13);color:var(--muted)}.hrt-footer .buttons{flex-shrink:0}.hrt-warning{background:#fff7e6;border-left:3px solid #c68b17;padding:14px 18px;margin:20px 0;color:#78500f}.hrt-success{background:#e9f6f0;border-left:3px solid #16856b;padding:18px;margin:20px 0}.hrt-route{display:flex;gap:24px;align-items:center;justify-content:space-between;background:var(--panel-soft);padding:20px;margin:20px 0;font-size:var(--t18)}.hrt-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.hrt-counts>div{padding:18px;background:var(--panel-soft);border-radius:var(--radius-control)}.hrt-counts strong{display:block;font-size:var(--t24)}.hrt-counts small{display:block;margin-top:8px;color:var(--muted)}.hrt-details{margin:22px 0}.hrt-details summary,.hrt-history summary,.hrt-legacy summary{cursor:pointer;font-weight:600}.hrt-legacy{padding:20px}.hrt-legacy>summary{margin-bottom:16px}.hrt-capacity{padding:4px 12px;background:var(--panel-soft)}.hrt-search{max-width:440px}.hrt-workspace .icon{vertical-align:middle}
/* Shared icon() returns an SVG without dimensions; size every new placement. */
.hrt-workspace svg,.hrt-history svg{width:19px;height:19px;vertical-align:middle;flex:none}.hrt-workspace .hrt-choice svg{width:25px;height:25px}.hrt-route>span{display:flex;align-items:center;gap:12px}.hrt-route svg{width:23px;height:23px}.hrt-workspace{scroll-margin-top:calc(var(--ribbon-height,280px) + 80px)}
.hrt-workspace .hrt-row>.person-avatar{flex:0 0 36px;width:36px;height:36px;min-width:36px}.hrt-row>.person-avatar+span{flex:1}

/* hr-workspace.css */
.hr-workspace{max-width:1600px;margin:auto;color:var(--navy,#172650)}.hr-tabs{display:flex;gap:12px;border-bottom:1px solid var(--line);margin:20px 0}.hr-tabs button{background:none;border:0;border-bottom:3px solid transparent;border-radius:0;color:var(--muted);padding:16px}.hr-tabs button.selected{color:var(--ink);border-color:#dba719;font-weight:700}.hr-context{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0 22px;background:var(--panel-soft);padding:12px;border:1px solid var(--line);border-radius:var(--radius-control)}.hr-context label{flex:1;min-width:125px;margin:0}.hr-context label:last-child{flex:1.7}.hr-context input,.hr-context select{width:100%;min-width:0}.hr-workspace .card{margin-bottom:18px;padding:22px}.hr-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.hr-kpis>div{border:1px solid var(--line);border-top:3px solid #608ab5;padding:18px;border-radius:var(--radius-control)}.hr-kpis small{display:block;color:var(--muted)}.hr-kpis strong{display:block;font-size:var(--t28);margin-top:12px}.hr-signals{background:var(--panel-soft);padding:12px;border-radius:var(--radius-sm)}.hr-chart{margin:20px 0 12px}.hr-legend{display:flex;gap:20px;align-items:center;font-size:12px;margin-bottom:18px}.hr-green{color:#178666}.hr-chart-scroll{overflow-x:auto;padding:10px 4px 32px}.hr-bars{height:220px;display:flex;align-items:end;gap:7px;min-width:calc(var(--hr-count)*36px);border-bottom:1px solid #bccce5;background:repeating-linear-gradient(to top,transparent 0,transparent 54px,#edf1f8 54px,#edf1f8 55px)}.hr-bar{position:relative;height:100%;min-width:28px;flex:1;border:0;background:transparent;padding:0;border-radius:0}.hr-bar-cap{position:absolute;bottom:0;left:0;right:0;background:#e5f2ef;border-top:2px solid #208369;pointer-events:none}.hr-bar i{position:absolute;bottom:0;left:24%;right:24%;background:#6086b1;border-radius:3px 3px 0 0;pointer-events:none}.hr-bar.over i{background:#b63d50}.hr-bar>b{position:absolute;top:-17px;left:0;right:0;font-size:10px;font-weight:500}.hr-bar>small{position:absolute;bottom:-25px;left:0;right:0;white-space:nowrap;font-size:10px;color:#536e9c}.hr-pool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:20px 0}.hr-pool-card{text-align:left;padding:16px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);color:var(--ink);display:flex;flex-direction:column;gap:12px}.hr-pool-card.risk{border-left:4px solid #b63d50}.hr-pool-card b{font-size:var(--t18)}.hr-pool-card small{color:var(--muted)}.hr-meter{height:5px;background:var(--panel-soft);border-radius:var(--radius-xs)}.hr-meter i{display:block;height:100%;background:#6288b2}.hr-pool-card.risk .hr-meter i{background:#b63d50}.hr-action,.hr-transfer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.hr-transfer{align-items:start}.hr-sources{margin:20px 0;padding:14px;background:var(--panel-soft);border-radius:var(--radius-control)}.hr-sources summary{font-weight:650;cursor:pointer}.hr-workspace table{width:100%;border-collapse:collapse}.hr-workspace th{background:var(--panel-soft);text-align:left;padding:12px;font-size:var(--t11);letter-spacing:.04em}.hr-workspace td{padding:15px 10px;vertical-align:middle;border-bottom:1px solid var(--line)}.hr-workspace td small,.hr-selection small{display:block;color:var(--muted);margin:5px 0;font-size:var(--t11)}.hr-workspace td .link-btn{text-align:left}.hr-workspace .table-scroll{overflow:auto}.hr-workspace .buttons{flex-wrap:wrap}.hr-workspace .hr-people{min-width:730px}.hr-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.hr-selection{display:flex;align-items:start;gap:10px;padding:12px;border-bottom:1px solid var(--line)}.hr-selection input{width:auto;margin:4px 0}.hr-dialog{max-width:900px;width:95vw}.hr-review-impact{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.hr-review-impact>div{background:var(--panel-soft);padding:14px}.hr-review-impact b,.hr-review-impact small{display:block}.hr-review-impact b{font-size:var(--t22);margin-top:8px}.hr-boundary{padding:10px}.hr-people input{max-width:180px}@media(max-width:700px){.hr-tabs{overflow:auto;gap:0}.hr-tabs button{white-space:nowrap;padding:12px}.hr-kpis{grid-template-columns:repeat(2,1fr)}.hr-workspace .card{padding:15px}.hr-action,.hr-transfer{flex-direction:column;align-items:stretch}.hr-context{gap:8px}.hr-context label{min-width:42%}.hr-review-impact{grid-template-columns:1fr}.hr-kpis strong{font-size:var(--t22)}.hr-reinforcements table{min-width:700px}}

.hr-bar>b{top:1px}.hr-workspace,.hr-workspace .card,.hr-context{min-width:0;max-width:100%}.hr-financial-summary{display:flex;gap:25px;flex-wrap:wrap;padding:12px 0}.hr-financial-summary strong{font-size:var(--t18)}
@media(max-width:600px){body:has(.hr-workspace) .topbar{gap:8px}body:has(.hr-workspace) .profile-topbar{font-size:0;width:30px;min-width:30px;padding:5px}body:has(.hr-workspace) .profile-topbar:before{content:'◉';font-size:var(--t20)}body:has(.hr-workspace) .global-search{width:32px;min-width:32px;padding:6px}body:has(.hr-workspace) .global-search kbd{display:none}.hr-context label:last-child{min-width:100%}}

/* Organisation and profiles share the current directory and portrait source. */
.hr-org-focus{display:block;max-width:420px;margin:18px 0}.hr-org-focus select{width:100%}.hr-org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:18px;margin:16px 0 24px}.hr-org-person{min-width:0;padding:18px;border:1px solid var(--line,var(--line));border-top:3px solid #6b8fbc;border-radius:var(--radius-control);background:var(--panel)}.hr-org-person.focused{border-color:#3468a2;background:var(--panel-soft)}.hr-org-person small{display:block;color:var(--muted);margin-top:4px}.hr-org-person .flex{flex-wrap:nowrap;align-items:center}.hr-org-person .flex>div{min-width:0;overflow-wrap:anywhere}.hr-org-person .buttons{flex-wrap:wrap;justify-content:space-between}.hr-org-chain>.hr-org-person{max-width:380px;margin:auto}.hr-org-chain>.limits{text-align:center}.hr-org-line{width:1px;height:22px;background:#cbd8ed;margin:auto}.hr-org-grid .hr-org-person{height:100%}.hr-people .flex{flex-wrap:nowrap}.hr-people .person-avatar{width:38px;height:38px}
.profile-dialog{width:min(1060px,94vw)!important;max-width:94vw}.profile-dialog .profile-heading{flex-wrap:wrap}.profile-heading-main{flex:1;min-width:160px}.profile-dialog .profile-heading h3{font-size:var(--t22)}.profile-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:28px}.profile-columns section{min-width:0}.profile-tabs{display:flex;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--line);margin:12px 0 22px}.profile-tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;padding:12px 15px}.profile-tabs button.selected{border-color:#d8a015;font-weight:700}.profile-dialog .profile-details{grid-template-columns:minmax(95px,.8fr) minmax(0,1.3fr);gap:14px}.profile-details dd{overflow-wrap:anywhere}.profile-report{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.profile-report>div{flex:1;min-width:0}.profile-report small,.profile-task-list small{display:block;color:var(--muted);margin-top:5px}.profile-report .person-avatar{width:42px;height:42px}.profile-task-list{margin-top:18px}.profile-dialog [data-profile-status]{color:#217657}.profile-dialog .buttons{flex-wrap:wrap}.profile-dialog [data-profile-account]{width:100%;margin-bottom:16px}@media(max-width:700px){.profile-columns{grid-template-columns:1fr}.profile-dialog{padding:18px!important}.profile-tabs{gap:4px}.profile-tabs button{padding:10px}.profile-report{flex-wrap:wrap}.hr-organisation .buttons{flex-wrap:wrap}.hr-person-detail>.flex{align-items:start}.hr-org-person{padding:14px}}



/* Pools keep membership and capacity distinct; one shared person directory. */
.hr-pool-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:18px;align-items:start}.hr-pool-detail{min-width:0;display:grid;gap:18px}.hr-pool-selector h2{margin:0}.hr-pool-options{display:grid;gap:8px;margin:18px 0}.hr-pool-options button{text-align:left;white-space:normal;width:100%;padding:12px}.hr-pool-options small{display:block;margin-top:6px;font-weight:400;color:var(--muted)}.hr-pool-options .selected{background:#eef4ff;border-color:#3266a4;box-shadow:inset 3px 0 #3266a4}.hr-pool-members{min-width:650px}.hr-pool-members td{vertical-align:top}.hr-pool-members .buttons{flex-wrap:wrap}.hr-member-choice{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid var(--line)}.hr-member-choice input{width:auto}.hr-pool-detail .card{margin:0}.hr-pool-detail .hr-reinforcements{min-width:0}@media(max-width:950px){.hr-pool-layout{grid-template-columns:1fr}.hr-pool-options{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.hr-pool-selector{position:static}.hr-pool-members{min-width:600px}}

.hr-tabs{position:sticky;top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,0px));z-index:21;background:var(--bg,#f5f6fa)}.hr-filter-panel{margin:12px 0 20px}.hr-filter-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:var(--t12)}.hr-filter-summary button{display:flex;gap:7px;align-items:center;width:auto;padding:6px 10px}.hr-filter-summary svg{width:16px;height:16px}.hr-filter-panel .hr-context{margin:6px 0 0}

.hr-tabs [data-people-open]{margin-left:auto;font-size:var(--t12)}

.rdv-why{margin-top:12px;border-top:1px solid var(--line);padding-top:12px;display:grid;gap:8px}.rdv-why h3{margin:0;font-size:var(--t14)}.rdv-why-weeks{display:flex;gap:6px;flex-wrap:wrap}.rdv-why-weeks div{display:grid;border:1px solid var(--line);border-radius:var(--radius-sm);padding:5px 9px;min-width:92px;background:var(--surface,#fff)}.rdv-why-weeks small{color:var(--muted);font-size:var(--t11)}.rdv-why-weeks b{font-size:var(--t13)}.rdv-why-weeks span{font-size:var(--t11);color:var(--muted)}.rdv-why-weeks .bad{border-color:#b73850;background:var(--panel-soft)}.rdv-why-weeks .bad span,.rdv-why-weeks .bad b{color:#b73850}.rdv-why td small{display:block;color:var(--muted)}

.rdv-diagnosis{margin:2px 0;font-size:var(--t14)}.rdv-why h4{margin:4px 0 0;font-size:var(--t14)}.rdv-ways{display:grid;gap:6px}.rdv-way{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--line);border-radius:var(--radius-control);padding:9px 12px;background:var(--surface,#fff)}.rdv-way span{display:grid;gap:2px;min-width:0}.rdv-way small{color:var(--muted)}.rdv-way button{flex:none}.rdv-all summary{cursor:pointer;color:var(--link);font-weight:600;font-size:var(--t13)}
.rdv-who-note{margin:2px 0 4px;font-size:var(--t13)}.rdv-who{display:grid;gap:2px}.rdv-who-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(120px,1fr) 100px;align-items:center;gap:14px;padding:6px 10px;border-radius:var(--radius-control)}.rdv-who-row:hover{background:var(--control-fill)}.rdv-who-row.over{background:var(--danger-fill)}.rdv-who-name{display:flex;align-items:center;gap:8px;min-width:0}.rdv-who-name>span{display:grid;min-width:0}.rdv-who-name b{font-size:var(--t13)}.rdv-who-name small{color:var(--muted);font-size:var(--t11);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rdv-who-bar{height:7px;border-radius:4px;background:var(--control-fill);overflow:hidden}.rdv-who-bar i{display:block;height:100%;background:#527eac;border-radius:4px}.rdv-who-row.over .rdv-who-bar i{background:var(--danger-ink)}.rdv-who-row.open{grid-template-columns:minmax(220px,1.4fr) minmax(120px,1fr) 100px;background:var(--surface-soft)}.rdv-who-row.open .rdv-who-name{display:grid}.rdv-who-val{font-size:var(--t12);text-align:right;white-space:nowrap}.rdv-who-row.over .rdv-who-val{color:var(--danger-ink)}

/* ai-analysis.css */
.aa-workspace{max-width:1200px}.aa-workspace textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;color:var(--ink);resize:vertical}.aa-label{display:block;color:var(--muted);font-size:var(--t13)}.aa-label textarea{display:block;margin-top:8px}.aa-workspace h1{font-size:var(--t28)}.aa-steps{margin:28px 0 4px}.aa-workspace summary{cursor:pointer}.aa-options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.aa-options .aa-option{margin-top:0;display:flex;flex-direction:column;gap:10px;min-height:265px}.aa-option h3,.aa-option p{margin:0}.aa-option.selected{border:2px solid #3566a5;padding:23px}.aa-option button{width:100%;margin-top:auto}.aa-price{font-size:var(--t28)}.aa-success{background:#e8f6ef;color:#087b58}.aa-picker{display:flex;justify-content:flex-end;margin:18px 0 0}.aa-picker label{color:var(--muted);font-size:var(--t12);display:flex;align-items:center;gap:12px}.aa-picker select{max-width:520px;padding:9px}.aa-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:20px 0 24px}.aa-tabs button{background:transparent;border:none;border-radius:0;padding:12px;color:var(--muted);font-weight:600}.aa-tabs button.selected{color:var(--ink);border-bottom:2px solid #3566a5}.aa-table{overflow:auto;margin:22px 0}.aa-table table{width:100%;border-collapse:collapse;text-align:left}.aa-table th{color:var(--muted);font-weight:500;font-size:var(--t12)}.aa-table td,.aa-table th{border-bottom:1px solid var(--line);padding:12px 10px;vertical-align:top}.aa-calendar{display:flex;justify-content:space-between;margin:20px 145px 10px 170px;color:var(--muted);font-size:var(--t12)}.aa-timeline-row{display:grid;grid-template-columns:150px 1fr 130px;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);font-size:var(--t13)}.aa-track{position:relative;height:32px;background:repeating-linear-gradient(to right,transparent,transparent calc(25% - 1px),#e0e7f4 calc(25% - 1px),#e0e7f4 25%)}.aa-track span{position:absolute;height:8px;border-radius:2px;max-width:100%}.aa-before{top:3px;background:#bfd0e8}.aa-after{top:21px;background:#3566a5}.aa-timeline-row small{display:block;color:var(--muted);margin-top:4px}.aa-key{display:inline-block;width:16px;height:5px;margin:0 5px 2px 10px}.aa-key.before{background:#bfd0e8}.aa-key.after{background:#3566a5}.aa-saved{color:#087b58}.aa-results>.flex .buttons{margin:0}.aa-workspace .card h2{margin-top:0}.aa-workspace .ai-stats strong{overflow-wrap:anywhere}.aa-results{padding-top:14px}.aa-workspace .badge{white-space:nowrap}.aa-workspace .ai-split{align-items:start}

.aa-options .aa-option.selected{border:2px solid #3566a5;padding:23px}.aa-workspace .buttons{display:flex;gap:8px;flex-wrap:wrap}.aa-workspace .aa-picker label{white-space:nowrap}

.aa-suggestions{margin:12px 0}.aa-suggestions button{font-size:var(--t12);padding:7px 10px}.aa-name{margin:16px 0;color:var(--muted);font-size:var(--t12)}.aa-name input{display:block;width:100%;margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm)}.aa-project-rule{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;align-items:center;border-top:1px solid var(--line);padding:14px 0;font-size:var(--t13)}.aa-project-rule small{display:block;color:var(--muted);font-size:var(--t11);margin:5px 0}.aa-project-rule select{width:100%;padding:9px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink)}.aa-project-rule label{font-size:var(--t11);color:var(--muted)}.aa-workspace .ai-split>.card{min-width:0}

.aa-workspace .ai-formgrid{gap:12px;margin:14px 0}.aa-workspace .ai-formgrid label{position:relative;margin-top:0;padding-right:0}.aa-workspace .ai-formgrid .field-help-button{position:absolute;top:-2px;right:-2px;margin:0}.aa-workspace .ai-formgrid input,.aa-workspace .ai-formgrid select{font-size:var(--t13)}.aa-workspace .ai-check{margin:15px 0}.aa-workspace .aa-refresh button{padding:0;background:transparent;color:var(--muted);font-size:var(--t12);margin:14px 0 0}.aa-workspace .ai-rule{margin-top:16px;padding-top:14px}

.aa-option-cause{border-left:3px solid #c99124;background:#fff8e9;padding:10px 12px;font-size:var(--t12);display:grid;gap:5px}.aa-option-cause.blocked{border-color:#c84b55;background:var(--panel-soft)}.aa-option-cause small{line-height:1.5}.aa-diagnosis .aa-table{margin:12px 0 0}.aa-diagnosis th:nth-child(1){width:16%}.aa-diagnosis th:nth-child(2){width:25%}.aa-diagnosis th:nth-child(3){width:26%}.aa-diagnosis td{font-size:var(--t13);line-height:1.5;overflow-wrap:anywhere}.aa-diagnosis td,.aa-diagnosis th{border-color:var(--line)}.aa-diagnosis p{margin-bottom:10px}
/* Tag brief (7 Nov 2026): what Kestrel understood, removable and adjustable. */
.aat-tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.aat-tag{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:4px 6px 4px 12px;border:1px solid var(--control-line);border-radius:999px;background:var(--control-fill);color:var(--ink)}
.aat-tag.open{background:var(--surface);border-color:var(--focus)}
.aat-tag.warn{background:#fff1d0;border-color:transparent;color:#95620e;padding-right:12px}
.aat-k{font-size:var(--t11);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.aat-tag.warn .aat-k{color:#95620e}
.aat-v{font-weight:600;font-variant-numeric:tabular-nums;background:none;border:0;padding:0;color:inherit;font-size:var(--t13)}
button.aat-v{cursor:pointer;border-bottom:1px dashed var(--muted);border-radius:0}
.aat-x{width:22px;height:22px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:var(--t14);line-height:20px;cursor:pointer}.aat-x:hover{background:var(--control-hover);color:var(--ink)}.aat-x:disabled{visibility:hidden}
.aat-panel{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;margin:0 0 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-soft)}
.aat-panel input[type=range]{flex:1;min-width:180px;accent-color:var(--ink)}.aat-panel b{min-width:110px;font-variant-numeric:tabular-nums}
.aat-choose{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:12px}
.aat-lever{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-soft);min-width:0}
.aat-lever .badge{align-self:flex-start}.aat-lever small{color:var(--muted)}

/* previews.css */
/* Previews (7 Nov 2026): Kestrel charter tokens only. */
.pv-workspace{max-width:1200px;display:grid;gap:18px}
.pv-import{cursor:pointer;display:inline-flex;align-items:center;padding:9px 16px;border:1px solid var(--control-line);border-radius:var(--radius-control);background:var(--control-fill);font-weight:600}
.pv-area h2{font-size:var(--t14);margin:6px 0 10px}
.pv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.pv-card{display:flex;flex-direction:column;gap:6px;text-align:left;padding:16px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--panel);color:var(--ink);cursor:pointer;min-width:0;font:inherit}
.pv-card:hover{border-color:var(--focus)}.pv-card-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.pv-meta{font-size:var(--t12);color:var(--muted);font-variant-numeric:tabular-nums}
.pv-versions{display:flex;gap:8px;overflow-x:auto;padding:10px 0;margin:8px 0}
.pv-versions button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:150px;padding:8px 12px;border:1px solid var(--control-line);border-radius:var(--radius-control);background:var(--control-fill);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.pv-versions button.active{background:var(--surface);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.pv-versions small{color:var(--muted)}
.pv-frame-wrap{border:1px solid var(--line);border-radius:var(--radius-panel);overflow:hidden;background:var(--surface-soft)}
.pv-frame{display:block;width:100%;height:78vh;border:0;background:var(--panel)}
.pv-feedback{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:10px}.pv-feedback li{border-left:3px solid var(--gold);padding:4px 12px}.pv-feedback p{margin:4px 0 0}
#pv-note{width:100%;margin-top:6px}
.pv-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}
.pv-nav{display:flex;flex-direction:column;gap:4px;position:sticky;top:12px}
.pv-nav button{display:flex;justify-content:space-between;gap:8px;padding:8px 12px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.pv-nav button:hover{background:var(--control-hover)}.pv-nav button.active{background:var(--control-fill);font-weight:600;box-shadow:inset 3px 0 0 var(--gold)}
.pv-nav button:disabled{opacity:.45;cursor:default}.pv-nav b{font-variant-numeric:tabular-nums;color:var(--muted)}
.pv-main{display:grid;gap:16px;min-width:0}
.pv-tools{display:grid;gap:10px}.pv-tools input{width:100%;padding:10px 12px;border:1px solid var(--control-line);border-radius:var(--radius-control);font:inherit;color:var(--ink);background:var(--surface)}
.pv-chips{display:flex;flex-wrap:wrap;gap:6px}.pv-chips button{padding:5px 12px;border:1px solid var(--control-line);border-radius:999px;background:var(--control-fill);color:var(--ink);font:inherit;font-size:var(--t12);cursor:pointer}
.pv-chips button.active{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.pv-approach{font-size:var(--t11);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pv-keys{display:flex;flex-wrap:wrap;gap:4px}.pv-keys span{font-size:var(--t11);padding:1px 8px;border-radius:999px;background:var(--control-fill);color:var(--ink)}
@media (max-width:760px){.pv-layout{grid-template-columns:1fr}.pv-nav{position:static;flex-direction:row;overflow-x:auto}.pv-nav button{white-space:nowrap}}

/* budget-reconciliation.css */
/* Budget reconciliation: charter surfaces and sizes; chart colours scoped to this screen. */
.br{display:grid;gap:var(--space-section,16px);min-width:0}
.br,#br-tip{--br-proj:#3f86b6;--br-run:#c0812f;--br-run-2:#e0a862;--br-act:#18234e;--br-fc:#7d8bb5;--br-ref:#a9b9d6;--br-good:#2f7b55;--br-bad:#a9473f;--br-warn:#946f10;
 --br-c1:#3f86b6;--br-c2:#74b4db;--br-c3:#18234e;--br-c4:#7d8bb5;--br-c5:#2f7b55;--br-c6:#5fae84;--br-c7:#c0812f;--br-c8:#7260a6}
.br-toolbar .buttons{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}
.br-file{cursor:pointer}
.br-sources{margin:0;color:var(--muted);font-size:var(--t12)}
.br-sub{margin:0 0 12px;color:var(--muted);font-size:var(--t12)}
.br-note{margin:8px 0 0;color:var(--muted);font-size:var(--t12)}
.br-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.br-kpi{background:var(--panel-kpi,var(--panel));border:1px solid var(--line);border-radius:var(--radius-panel);padding:14px 16px;display:grid;gap:3px;min-width:0}
.br-kpi.lead{background:linear-gradient(130deg,#18234e,#27457f 70%,#2f6a9a);color:#fff;border-color:transparent}
.br-kpi.lead small,.br-kpi.lead span{color:#ffffffc8}
.br-kpi small{font-size:var(--t12);color:var(--muted);font-weight:600}
.br-kpi b{font-size:var(--t24);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.br-kpi span{font-size:var(--t12);color:var(--muted)}
.is-lower{color:var(--br-good)}.is-higher{color:var(--br-bad)}
.br-bars{display:grid;gap:12px}
.br-row{display:grid;grid-template-columns:170px minmax(0,1fr) 96px;gap:12px;align-items:center}
.br-row>span{font-size:var(--t12);font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.br-row>b{text-align:right;font-variant-numeric:tabular-nums}
.br-stack{display:flex;height:24px;border-radius:var(--radius-sm);overflow:hidden;gap:2px;transition:width .35s ease}
.br-stack i,.br-pair i{display:block;height:100%;cursor:pointer;transition:filter .15s}
.br-stack i:hover,.br-pair i:hover{filter:brightness(1.15)}
.br-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:var(--t12);color:var(--muted);margin-top:10px}
.br-legend span{display:inline-flex;gap:6px;align-items:center}
.br-legend i{width:10px;height:10px;border-radius:var(--radius-xs);display:inline-block}
.br-table{display:grid;gap:2px}
.br-fam{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,2fr) repeat(var(--br-cols,2),92px) 100px;gap:12px;align-items:center;padding:9px 8px;border-top:1px solid var(--line);font-size:var(--t12);border-radius:var(--radius-control);cursor:pointer}
.br-fam:hover,.br-fam.on{background:var(--control-hover)}
.br-fam.hd{cursor:default;font-weight:700;color:var(--muted);border-top:0}
.br-fam.hd:hover{background:none}
.br-fam.total{color:var(--ink);border-top:1px solid var(--line)}
.br-fam .n{text-align:right;font-variant-numeric:tabular-nums}
.br-pair{display:grid;gap:3px;min-width:0}
.br-pair div{display:flex;height:9px;border-radius:var(--radius-xs);overflow:hidden;gap:1px}
.br-tag{font-size:var(--t10);font-weight:700;padding:1px 7px;border-radius:999px;margin-left:6px;white-space:nowrap;background:var(--surface-soft)}
.br-tag.same{color:var(--br-good)}.br-tag.timing{color:var(--link)}.br-tag.lower{color:var(--br-good)}.br-tag.higher{color:var(--br-bad)}.br-tag.to-confirm{color:var(--br-warn)}
.br-detail{padding:6px 8px 14px;display:grid;gap:8px;font-size:var(--t12);animation:br-in .2s ease}
@keyframes br-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.br-reading{margin:0}
.br-linked{margin:0;color:var(--muted)}
.br-scroll{overflow-x:auto}
.br table{width:100%;border-collapse:collapse;font-size:var(--t12)}
.br td,.br th{padding:6px;border-top:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums;vertical-align:top}
.br th{color:var(--muted);font-weight:600}
.br td:first-child,.br th:first-child{text-align:left}
.br td small{display:block;color:var(--muted);font-size:var(--t11)}
.br td select{max-width:220px}
.br-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-section,16px)}
.br-qs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:12px;margin-bottom:12px;align-items:start}
.br-after{display:inline-flex;gap:6px;align-items:center;font-size:var(--t12);color:var(--muted);white-space:nowrap}
.br-q{border:1px solid var(--line);border-radius:var(--radius-control);padding:12px 14px;background:var(--panel-soft);display:grid;gap:6px}
.br-q header{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.br-q p{margin:0;font-size:var(--t12)}
.br-q textarea{width:100%}
.br-qfam{color:var(--muted)}
.br-qact{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}
.br-status{font-size:var(--t10);font-weight:700;padding:1px 8px;border-radius:999px;background:var(--surface-soft);white-space:nowrap}
.br-status.open{color:var(--br-warn)}.br-status.answered{color:var(--link)}.br-status.closed{color:var(--br-good)}
.br-q.closed{opacity:.85}
.br-hist{margin:4px 0 0;padding-left:18px;font-size:var(--t11);color:var(--muted);display:grid;gap:4px}
.br-hist p{color:var(--ink)}
.br-newq,.br-year,.br-sheets{display:grid;gap:10px}
.br-newq label,.br-year label,.br-sheets label{display:grid;gap:4px;font-size:var(--t12)}
.br-sheet-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.br-families summary{display:flex;gap:10px;align-items:center;cursor:pointer;list-style:none}
.br-families summary h2{margin:0}
.br-fedit{display:grid;gap:8px;margin-top:12px}
.br-fedit form{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:8px}
#br-tip{position:fixed;z-index:60;pointer-events:none;background:var(--ink);color:var(--surface);border-radius:var(--radius-control);padding:12px 14px;box-shadow:var(--dialog-shadow);min-width:240px;max-width:min(400px,calc(100vw - 16px));font-size:var(--t12);opacity:0;transform:translateY(4px);transition:opacity .14s,transform .14s}
#br-tip.on{opacity:1;transform:none}
#br-tip{--br-c3:#a595d2;--br-act:#9fb0cf} /* readable on the dark popup */
#br-tip h4{margin:0 0 6px;font-size:var(--t13)}
.br-tr{display:flex;justify-content:space-between;gap:10px;padding:2px 0}
.br-tr b{font-variant-numeric:tabular-nums;white-space:nowrap}
.br-tr i{display:inline-block;width:8px;height:8px;border-radius:var(--radius-xs);margin-right:5px}
.br-donut{display:flex;gap:10px;align-items:center;margin-top:6px}
.br-donut svg{width:64px;height:64px;flex:none}
.br-donut>div{flex:1;min-width:0}
.br-donut .br-tr span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.br-donut path{fill:none;stroke-width:7;stroke-dasharray:100;stroke-dashoffset:100;animation:br-draw .5s ease forwards}
@keyframes br-draw{to{stroke-dashoffset:0}}
@media (max-width:860px){
 .br-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .br-two,.br-sheet-grid{grid-template-columns:minmax(0,1fr)}
 .br-row{grid-template-columns:96px minmax(0,1fr) 72px}
 .br-fam{grid-template-columns:minmax(0,1fr) 92px}
 .br-fam>:nth-child(n+2):not(:last-child){display:none}
 .br-fedit form{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.br-donut path{animation:none;stroke-dashoffset:0}.br-detail{animation:none}}

/* ai-workspace.css */
.ai-workspace{max-width:1200px;margin:auto;color:var(--ink)}.ai-workspace h1{font-size:var(--t28);letter-spacing:-.7px}.ai-workspace h2{font-size:var(--t20)}.ai-workspace .card{padding:24px;border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:none;margin-top:18px}.ai-tabs,.ai-file-tabs{display:flex;gap:8px;margin:18px 0;flex-wrap:wrap}.ai-tabs .primary,.ai-workspace .primary{background:#17254f;color:white;border-color:#17254f}.ai-split{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}.ai-formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.ai-formgrid label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:var(--t13)}.ai-formgrid input,.ai-formgrid select{width:100%;min-height:40px}.ai-wide{grid-column:1/-1}.ai-check{display:flex;align-items:flex-start;gap:10px;margin:22px 0;line-height:1.6}.ai-check input{width:auto;flex-shrink:0;margin-top:5px}.ai-notice{background:var(--panel-soft);border-radius:var(--radius-sm);padding:14px 16px;margin:18px 0;line-height:1.6}.ai-notice.error{background:#fff0f2;color:#b52c44}.ai-notice p{margin:5px 0}.ai-rule{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.ai-rule p,.ai-usage p{margin:5px 0;color:var(--muted)}.ai-usage{background:var(--panel-soft);border-radius:var(--radius-control);padding:16px;margin:18px 0}.ai-workspace .buttons{margin-top:20px}.ai-workspace .badge.green{background:#e8f6ef;color:#087b58}.ai-steps{display:flex;gap:16px;margin:24px 0}.ai-steps span{flex:1;border-bottom:2px solid var(--line);padding-bottom:12px;color:var(--muted)}.ai-steps .active{border-color:#c89518;color:var(--ink);font-weight:600}.ai-steps .done{border-color:#087b58;color:#087b58}.ai-flow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px;background:var(--panel-soft);border-radius:var(--radius-control);margin:20px 0}.ai-flow small,.ai-history-row small,.ai-stats span{display:block;color:var(--muted);margin-top:5px}.ai-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ai-stats>div{background:var(--panel-soft);border-radius:var(--radius-sm);padding:16px}.ai-stats strong{display:block;font-size:var(--t24);margin:6px 0}.ai-stats small{color:var(--muted)}.ai-history-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:16px 0;gap:16px}.ai-file{max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.5 ui-monospace,monospace;background:var(--panel-soft);padding:16px;border-radius:var(--radius-sm)}.ai-review li{margin:10px 0}.ai-review code{display:block;font-size:var(--t11);overflow-wrap:anywhere}.ai-review .limits code{display:inline}.ai-workspace [hidden]{display:none!important}

.ai-review,.ai-workspace [role=alert]{scroll-margin-top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,0px) + 20px)}
.ai-review:focus-visible{outline:2px solid #c89518;outline-offset:3px}

.ai-job{scroll-margin-top:140px}.ai-job:focus-visible{outline:2px solid #c89518;outline-offset:3px}.ai-receipt{display:grid;grid-template-columns:200px 1fr;gap:12px}.ai-receipt dd{margin:0;overflow-wrap:anywhere}.ai-job .ai-steps{font-size:var(--t13)}.ai-job .ai-rule{margin-top:24px}.ai-formgrid input[readonly]{background:var(--panel-soft);color:var(--muted)}

.ai-workspace .badge.red{background:#fff0f2;color:#b52c44}.ai-steps .failed{border-color:#b52c44;color:#b52c44;font-weight:600}

.ac-wording{white-space:pre-wrap;overflow-wrap:anywhere}#ac-request textarea{width:100%;min-height:180px}.ai-workspace .pm-footer{position:sticky;bottom:0;background:var(--surface);padding:16px;border-top:1px solid var(--line);z-index:3}

/* project-models.css */
.pm-top,.pm-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0}.pm-tabs{display:flex;gap:12px;border-bottom:1px solid var(--line);margin:18px 0}.pm-tabs button{background:transparent;border:0;border-radius:0;color:var(--muted);padding:14px 10px}.pm-tabs [aria-current=page]{color:var(--ink);border-bottom:3px solid #3b6eb2;font-weight:700}.pm-editor,.pm-dependencies{border:0;padding:0;margin:0;min-width:0}.pm-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}.pm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pm-field{display:block}.pm-stream{padding:12px;border-bottom:1px solid var(--line)}.pm-stream.selected{background:var(--panel-soft)}.pm-stream>button{background:transparent;border:0;text-align:left;width:100%;font-weight:700;color:var(--ink);padding:6px 0}.pm-stream .buttons button{padding:5px 9px;font-size:var(--t12)}.pm-table{overflow:auto}.pm-table td{vertical-align:top}.pm-table small{display:block;color:var(--muted);margin-top:5px}.pm-table .buttons{flex-wrap:wrap}.pm-table .buttons button{padding:7px 10px}.pm-dependencies{margin:20px 0}.pm-dependencies legend{font-weight:700;font-size:15px}.pm-dependencies>div{padding:12px 0;border-bottom:1px solid var(--line)}.pm-dependencies label{display:flex;gap:8px;align-items:center}.pm-dependencies input[type=checkbox],.pm-grid input[type=checkbox],.pm-predecessors input{width:auto}.pm-dependencies select{width:100%;margin-top:8px}.pm-dialog{width:min(900px,90vw)!important;max-width:90vw}.pm-predecessors{max-height:240px;overflow:auto;border:1px solid var(--line);margin:18px 0}.pm-predecessors label{display:flex;gap:8px;padding:6px}.pm-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.pm-stats>div{background:var(--panel-soft);border-radius:var(--radius-control);padding:16px;min-width:0}.pm-stats strong{display:block;font-size:var(--t24);color:var(--ink);margin:8px 0;overflow-wrap:anywhere}.pm-stats small{font-size:var(--t12);line-height:1.5}.pm-generated-stream{padding:16px 0;border-bottom:1px solid var(--line)}.pm-generated-stream summary{cursor:pointer}.pm-generated-stream summary small{float:right;color:var(--muted)}.pm-gantt{overflow:auto;border:1px solid #dce4f0;border-radius:8px}.pm-gantt details{min-width:680px}.pm-gantt summary{padding:9px 12px;background:var(--panel-soft);font-weight:700}.pm-gantt-row,.pm-gantt-axis{display:grid;grid-template-columns:235px minmax(440px,1fr)}.pm-gantt-row{min-height:35px;border-bottom:1px solid #eef2f8}.pm-gantt-row>button{border:0;background:var(--panel);text-align:left;font-size:12px;color:#24375b;padding:7px 12px;white-space:normal}.pm-gantt-track{position:relative;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 1px),#e6ecf6 calc(10% - 1px),#e6ecf6 10%)}.pm-gantt-track button{position:absolute;top:9px;height:17px;min-width:6px;border:0;border-radius:4px;padding:0;color:white;box-shadow:0 1px 3px #17264a26;cursor:pointer}.pm-gantt-axis{padding:12px 0 18px;position:sticky;top:0;background:var(--surface);z-index:2;min-width:680px;font-size:11px}.pm-gantt-axis>span{padding-left:12px}.pm-gantt-axis>div{position:relative;margin-right:25px}.pm-gantt-axis>div span{position:absolute;white-space:nowrap}.pm-help{display:inline-block;position:relative;margin-left:6px}.pm-help summary{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);color:var(--muted);cursor:pointer;list-style:none}.pm-help[open] p{position:absolute;z-index:20;right:0;width:270px;background:var(--popover);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:0 8px 30px #17264a25;padding:14px;font-size:var(--t12);font-weight:400}.pm-footer{border-top:1px solid var(--line);margin-top:20px}.pm-intake{max-width:1240px;margin:auto}.pm-intake .pm-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr)}.pm-intake .pm-steps{display:flex;gap:16px;margin:22px 0}.pm-intake .pm-steps span{flex:1;border-bottom:2px solid var(--line);padding:12px 0}.pm-intake .pm-steps .active{border-color:#c79428;font-weight:700}.pm-intake input[type=checkbox]{width:auto}.pm-ack{display:flex;gap:10px;margin:20px 0;align-items:start}.pm-intake .pm-dependencies>div{display:grid;grid-template-columns:1fr 210px;gap:14px}.pm-intake .pm-dependencies select{margin:0}@media(min-width:1000px) and (max-width:1200px){.pm-layout{grid-template-columns:250px minmax(0,1fr)}.pm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-intake .pm-layout{grid-template-columns:minmax(0,1fr) 320px}}
.mi-legend{display:flex;gap:24px;font-size:12px;padding:12px 0 22px}.mi-legend span{display:flex;gap:7px;align-items:center}.mi-legend i{width:12px;height:12px;display:inline-block;border-radius:3px}.mi-before{background:#aab8d1}.mi-after{background:#3f7db1}.mi-impact-row{display:grid;grid-template-columns:180px minmax(440px,1fr);min-height:86px;border-bottom:1px solid var(--line);padding:10px 0}.mi-impact-row small{display:block;color:var(--muted);margin-top:7px}.mi-impact-track{position:relative;margin-right:85px}.mi-impact-track>span{position:absolute;width:10px;height:13px;border-radius:3px}.mi-impact-track .mi-before{top:9px}.mi-impact-track .mi-after{top:43px}.mi-impact-track b{position:absolute;left:16px;font-size:11px;font-weight:500;white-space:nowrap;color:#21365a}.mi-connector{position:absolute;top:31px;border-top:2px dashed #c99431;min-width:2px}.mi-portfolio{overflow:auto;margin:20px 0}.mi-factory-chain{display:flex;align-items:center;gap:12px;margin:20px 0}.mi-factory-chain>div{flex:1;border-top:4px solid #5775b0;border-radius:var(--radius-sm);background:var(--panel-soft);padding:16px}.mi-factory-chain>div:nth-of-type(2){border-color:#8460aa;background:var(--panel-soft)}.mi-factory-chain>div:nth-of-type(3){border-color:#d08b2f;background:#fbf3e7}.mi-factory-chain small{font-size:var(--t11);color:var(--muted)}

.pm-client-mark{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border:1px solid currentColor;border-radius:var(--radius-xs);font-size:var(--t11);font-weight:700;margin-right:3px}.pm-client-legend{padding:10px 0}

.pm-gantt-track button.pm-milestone{width:16px!important;min-width:16px;padding:0;transform:translateX(-6px);font-size:12px}

.pm-savebar{position:sticky;top:70px;z-index:8;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);padding:12px 18px}

.pm-deck-dialog{width:min(1440px,96vw)!important;max-width:96vw;padding:20px}.pd-controls{display:flex;justify-content:space-between;gap:16px;margin-bottom:14px}.pd-controls [aria-pressed=true]{background:#192950;color:#fff}.pd-sheet{background:var(--panel);color:var(--ink);padding:28px 30px;min-width:890px}.pd-header{display:flex;justify-content:space-between;gap:24px;align-items:start;margin-bottom:24px}.pd-header h1{font-size:var(--t28);margin:4px 0}.pd-header p{margin:6px 0;color:var(--muted);font-size:var(--t13)}.pd-identity{display:flex;gap:14px;align-items:center;margin-top:10px}.pd-client-logo{width:54px;height:54px;object-fit:contain}.pd-ceva{width:175px;height:68px;object-fit:contain;object-position:right top}.pd-body{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:26px;min-height:500px}.pd-axis,.pd-row{display:grid;grid-template-columns:205px minmax(0,1fr);gap:10px}.pd-axis{height:38px;border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--t11)}.pd-axis>div{position:relative;margin-right:5px}.pd-axis>div span{position:absolute;white-space:nowrap;transform:translateX(-50%)}.pd-axis>div span:first-child{transform:none}.pd-axis>div span:last-child{transform:translateX(-100%)}.pd-row{min-height:35px;border-bottom:1px solid var(--line)}.pd-label{display:flex;align-items:center;gap:3px;font-size:var(--t12);line-height:1.3;padding:7px 0}.pd-label .pm-client-mark{flex-shrink:0}.pd-track{position:relative;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),#e8edf5 calc(20% - 1px),#e8edf5 20%)}.pd-bar{position:absolute;top:10px;height:16px;background:var(--bar);border-radius:4px;box-shadow:0 1px 3px #19295020}.pd-milestone{background:none;color:var(--bar);font-size:20px;line-height:16px;width:16px!important;transform:translateX(-7px);box-shadow:none}.pd-card{background:var(--panel-soft);border-radius:var(--radius-control);padding:16px;margin-bottom:12px}.pd-card>span{display:flex;gap:7px;align-items:center;font-size:var(--t12);color:var(--muted)}.pd-card svg{width:17px;height:17px;flex-shrink:0}.pd-card strong{display:block;font-size:var(--t24);line-height:1.35;margin:10px 0;color:var(--ink)}.pd-card strong span{font-size:var(--t13);font-weight:500}.pd-card small{display:block;font-size:var(--t12);color:var(--muted);line-height:1.5}.pd-footer{border-top:1px solid var(--line);margin-top:24px;padding-top:15px;font-size:var(--t12)}.pd-footer>div{display:flex;gap:20px;align-items:center}.pd-footer p{color:var(--muted);font-size:var(--t11);line-height:1.5;margin-bottom:0}.pd-empty{padding:24px 0;color:var(--muted);font-size:var(--t13)}.pd-sample{background:#fff5dd;color:#916624;padding:9px 12px;font-size:var(--t12);border-radius:var(--radius-sm)}.pd-sheet .eyebrow{font-size:var(--t10);letter-spacing:2px}.pm-deck-dialog .presentation-active .pd-sheet{min-height:calc(100vh - 100px)}

.pd-card strong .pd-value-label{display:block;font-size:var(--t12);font-weight:400;color:var(--muted);margin:7px 0 3px}.pd-card small:empty{display:none}

.mi-blockers{margin:20px 0;padding:20px;border:1px solid #e8b5b5;border-left:4px solid #b54545;border-radius:var(--radius-control);background:var(--panel-soft)}.mi-blockers>h3{margin-top:0}.mi-blocker{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px;margin:12px 0}.mi-blocker h4{margin:0;color:#8e2929;font-size:var(--t14)}.mi-blocker p{margin:10px 0}.mi-blocker details{margin-top:12px}.mi-blocker summary{color:var(--muted);cursor:pointer}.mi-causes>div,.mi-task-link{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:8px 0}.mi-causes span,.mi-task-link span{color:var(--muted);font-size:var(--t12)}.mi-return{display:flex;align-items:center;justify-content:space-between;gap:20px}.mi-return span{display:block;margin-top:4px}.mi-return button{flex-shrink:0}.mi-blockers .buttons{display:flex;gap:8px;flex-wrap:wrap}

.pme-dialog{width:calc(100vw - 48px)!important;max-width:none;padding:0!important;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-panel);max-height:calc(100vh - 48px)}
.pme-dialog .task-card-workspace{padding:0;margin:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:none;height:calc(100vh - 50px)}
.pme-head{padding:20px 26px 0;background:var(--panel-soft);border-bottom:1px solid var(--line)}
.pme-head .tcw-breadcrumb{margin-bottom:7px}.pme-head .tcw-identity h1{font-size:var(--t24);margin:5px 0 9px}
.pme-head .tcw-tabs{margin:0;padding:9px 0;border:0}.pme-head .badge{flex:none;margin-top:7px}
.pme-content{overflow:auto;padding:22px 26px;min-height:0;scrollbar-gutter:stable;background:var(--panel-soft)}
.pme-content [hidden]{display:none}.pme-content .card{margin:0}.pme-content h2{margin-top:0}
.pme-content .tcw-source-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:25px 20px;margin:30px 0}
.pme-content .tcw-source-grid strong{font-size:var(--t14);overflow-wrap:anywhere}
.pme-content .pme-check{display:flex;align-items:center;gap:10px;font-size:var(--t13);align-self:center}
.pme-check input{width:16px!important;height:16px;min-height:0;margin:0}
.pme-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 18px;padding:15px 26px;background:var(--panel);border-top:1px solid var(--line)}
.pme-actions strong{font-size:var(--t12);color:var(--muted)}.pme-actions .error{font-size:var(--t12);margin:5px 0 0}.pme-actions .buttons{flex-wrap:nowrap}.pme-actions .pme-remove-reason{grid-column:1/-1;font-size:var(--t11);color:var(--muted);text-align:right}.pme-actions [hidden]{display:none}
#pme-discard{font-size:var(--t12);margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pme-dependency,.pme-option{display:flex;justify-content:space-between;align-items:center;gap:14px}.pme-dependency{padding:10px 14px;margin:8px 0}
.pme-dependency b,.pme-option b{font-size:var(--t13)}.pme-dependency small,.pme-option small{display:block;font-size:var(--t11);color:var(--muted);margin-top:5px}
.pme-options{border:1px solid var(--line);border-radius:var(--radius-sm);max-height:225px;overflow:auto}.pme-options:empty{display:none}
.pme-option{width:100%;text-align:left;border:0;border-radius:0;border-bottom:1px solid var(--line);background:var(--panel);color:var(--ink);padding:12px 14px}.pme-option:last-child{border:0}.pme-option:hover,.pme-option:focus-visible{background:#edf3fc}

.pme-content .tcw-field{margin:6px 0}.pme-content #pme-panel-dates>.pm-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pme-content #pme-panel-workload>.pm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.pme-links{padding-top:0;margin:18px 0 0}.pme-links>summary{list-style:none;cursor:pointer;padding:14px 0}.pme-links>summary::-webkit-details-marker{display:none}.pme-links>summary:focus-visible{outline:2px solid #4679b7;outline-offset:3px;border-radius:var(--radius-sm)}
.pme-links .tcwd-heading{margin:0}.pme-links .tcwd-heading>span:not(:first-child){background:none;padding:0;border-radius:0;display:block}.pme-links .tcwd-heading>span:nth-child(2){flex:1;min-width:0}.pme-links strong{font-size:var(--t14);color:var(--ink)}.pme-links summary small{display:block;font-size:var(--t11);font-weight:400;color:var(--muted);margin-top:5px}.pme-links .pme-link-count{font-size:var(--t12);font-weight:700;min-width:27px;text-align:center}.pme-links .pme-chevron{font-size:var(--t20);transition:transform .12s}.pme-links[open] .pme-chevron{transform:rotate(180deg)}.pme-links-body{padding-bottom:8px}

.pme-structural{display:inline-flex;align-items:center;gap:5px;vertical-align:middle;cursor:help}.pme-structural svg{flex:none}

/* Static structural hint: immediate pointer/keyboard display in the browser top layer. */
.pme-structural:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.pme-structural-hint{position:fixed;inset:auto;margin:0;box-sizing:border-box;width:300px;max-width:calc(100vw - 16px);padding:12px 14px;background:var(--surface,#fff);color:var(--ink,#17254e);border:1px solid var(--line,var(--line));border-left:3px solid var(--gold,#d3a32e);border-radius:var(--radius-control,var(--radius-sm));box-shadow:0 8px 28px #14223b28;font-size:var(--t12);font-weight:400;line-height:1.6;letter-spacing:normal;text-transform:none;white-space:normal;text-align:left;cursor:default}
@media print{.pme-structural-hint{display:none!important}}

/* Model checks: saved draft remains editable; choices are reviewed at publication. */
.pm-checks{border-left:3px solid #c99421;margin:16px 0}.pm-checks h2{margin:0 0 8px}.pm-check{padding:16px 0;border-top:1px solid var(--line,var(--line))}.pm-check p{margin:8px 0;line-height:1.55}.pm-check .buttons{flex-wrap:wrap;gap:8px}.pm-check-error{border-left:3px solid #bd4840;padding-left:12px}.pm-check-ack{display:flex;gap:10px;align-items:flex-start;padding:14px;background:var(--panel-soft);border-radius:var(--radius-control)}.pm-check-ack input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;min-height:16px;margin:2px 0;padding:0}.pm-check .badge{white-space:nowrap}.pm-check .flex{gap:12px;flex-wrap:wrap}

dialog.pm-model-review{width:min(960px,calc(100vw - 32px));max-width:960px}

.heading.pm-catalogue-heading{align-items:center;gap:20px}.pm-catalogue-heading>div:first-child{min-width:0;flex:1}.pm-catalogue-heading .pm-catalogue-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px;flex-wrap:nowrap}.pm-catalogue-actions>button,.pm-catalogue-filter>summary{white-space:nowrap}@media(max-width:850px){.heading.pm-catalogue-heading{align-items:flex-start;flex-wrap:wrap}.pm-catalogue-heading .pm-catalogue-actions{flex-wrap:wrap}}.pm-catalogue-filter{position:relative}.pm-catalogue-filter>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;min-height:40px;padding:8px 12px;border:1px solid var(--line,var(--line));border-radius:var(--radius-control)}.pm-catalogue-filter>summary::-webkit-details-marker{display:none}.pm-catalogue-filter>summary svg{width:16px;height:16px}.pm-catalogue-filter-panel{position:absolute;z-index:30;right:0;top:calc(100% + 8px);width:340px;max-width:calc(100vw - 32px);padding:16px;background:var(--surface,#fff);border:1px solid var(--line,var(--line));border-radius:var(--radius-control);box-shadow:0 12px 32px #17264b22}.pm-catalogue-filter-panel>label{display:block;margin:8px 0 6px}.pm-catalogue-filter-panel .pwx-picker{width:100%}.pm-catalogue-filter-panel .pwx-picker-panel{left:0;right:0}.pm-catalogue-filter-panel p{margin:12px 0}


/* model-plan-views.css */
/* Test generation · plan views and client deck. Bars follow Delivery (tinted box, thin outline, text kept inside). */
.pmd-inputs{border:0;margin:12px 0;padding:10px;background:var(--panel-soft);border-radius:var(--radius-panel);display:grid;gap:9px;min-width:0}
.pmd-inputs legend{font-weight:700;font-size:12px;padding:0}
.pmd-seg{display:grid;grid-template-columns:repeat(3,auto);gap:2px;background:var(--control-fill);border-radius:var(--radius-control);padding:2px}
.pmd-seg.two{grid-template-columns:1fr 1fr}
.pmd-seg button{border:0;background:none;border-radius:var(--radius-sm);padding:6px 4px;font-size:var(--t11);font-weight:600;color:var(--muted);min-height:32px}
.pmd-seg button[aria-checked=true]{background:var(--ink);color:#fff}
.pmd-logo-line{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.pmd-file{cursor:pointer;display:inline-block;padding:6px 11px;border-radius:var(--radius-control);font-size:var(--t12);font-weight:600}
.pmd-records{display:grid;gap:5px}
.pmd-records button{display:flex;gap:8px;align-items:center;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-control);padding:6px 8px;text-align:left;font-size:var(--t12);font-weight:600;color:var(--ink)}
.pmd-records button[aria-checked=true]{border-color:var(--ink);background:var(--surface-soft)}
.pmd-records small{display:block;font-weight:400;color:var(--muted);font-size:var(--t10)}
.pmd-mark{width:26px;height:26px;border-radius:var(--radius-sm);object-fit:contain;flex:none;background:var(--panel);display:inline-block}
.pmd-mark.sm{width:18px;height:18px;border-radius:var(--radius-xs)}
.pmd-mark.text{display:inline-grid;place-items:center;color:#fff;font-size:var(--t10);font-weight:800;background:var(--link)}
.pmd-mark.text.sm{font-size:var(--t8)}
.pmd-mark.partner.sm{width:30px}
.pmd-ident{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0 10px}
.pmd-ident small{color:var(--muted)}.pmd-ident .badge{margin-left:auto}
.pmd-client{display:inline-flex;gap:7px;align-items:center;font-weight:700;font-size:var(--t13)}.pmd-client.muted{color:var(--muted);font-weight:600}
.pmd-tools,.pmd-stage-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.pmd-views{display:flex;gap:3px;background:var(--control-fill);padding:3px;border-radius:var(--radius-control);margin-right:auto;overflow-x:auto;max-width:100%}
.pmd-views button{border:0;background:none;padding:6px 10px;border-radius:var(--radius-sm);font-size:var(--t12);font-weight:600;color:var(--muted);white-space:nowrap;display:inline-flex;gap:6px;align-items:center;min-height:32px}
.pmd-views button[aria-selected=true]{background:var(--ink);color:#fff}
.pmd-views svg{width:14px;height:14px}
.pmd-sheet{background:var(--surface);display:grid;gap:16px;min-width:0;padding:30px;border:1px solid var(--line);border-radius:var(--radius-dialog)}
.pmd-sheet.inline{padding:0;border:0;border-radius:0}.pmd-sheet.inline .pmd-head,.pmd-sheet.inline .pmd-foot{display:none}
.pmd-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.pmd-head h1{margin:4px 0 2px;font-size:var(--t24);line-height:1.15;text-wrap:balance}.pmd-head p,.pmd-cover p{margin:0;color:var(--muted);font-size:var(--t13)}
.pmd-logos{display:flex;gap:12px;align-items:center;flex:none}.pmd-logos.end{justify-content:flex-end}
.pmd-bird{height:34px;width:auto}.pmd-bird.large{height:96px;display:block;margin-bottom:18px}
.pmd-company{height:30px;width:auto;max-width:190px;object-fit:contain}
.pmd-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.pmd-tile{background:var(--control-fill);border-radius:var(--radius-control);padding:11px 13px;min-width:0}.pmd-tiles.soft .pmd-tile{background:var(--surface-soft)}
.pmd-tile small{display:block;color:var(--muted);font-size:var(--t12)}.pmd-tile strong{display:block;font-size:var(--t20);line-height:1.25}.pmd-tiles.soft strong{font-size:var(--t16)}.pmd-tile span{font-size:var(--t12);color:var(--muted)}
.pmd-scroll{overflow-x:auto;min-width:0;-webkit-overflow-scrolling:touch}
.pmd-chart{position:relative;width:max-content;min-width:100%}
.pmd-gantt{display:grid;grid-template-columns:270px minmax(560px,1fr);min-width:0;width:100%}
.pmd-axis-label{font-size:var(--t11);color:var(--muted);font-weight:600}
.pmd-label,.pmd-axis-label{display:flex;align-items:center;gap:7px;padding-right:10px;font-size:var(--t12);min-width:0;min-height:30px;border-bottom:1px solid var(--line);position:sticky;left:0;background:var(--surface);z-index:4}
.pmd-label.top{align-items:flex-start;padding-top:8px}.pmd-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pmd-axis{position:relative;height:30px;font-size:var(--t11);color:var(--muted);font-weight:600;border-bottom:1px solid var(--line);overflow:hidden}
.pmd-axis span{position:absolute;top:7px;padding-left:5px;border-left:1px solid var(--line);height:23px;white-space:nowrap}
.pmd-track{position:relative;height:30px;border-bottom:1px solid #edf2fa}.pmd-track.tall{height:38px}
.pmd-line{position:absolute;top:0;bottom:0;width:1px;background:var(--surface-soft)}
.pmd-bar{position:absolute;top:5px;height:20px;box-sizing:border-box;border:1px solid var(--c);border-radius:4px;padding:0 5px;background:color-mix(in srgb,var(--c) 20%,#fff);color:#14284d;font-size:10px;line-height:18px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:clip;text-align:left;min-width:5px;z-index:3}
.pmd-track.tall .pmd-bar{top:9px}
.pmd-bar .pmd-mark{vertical-align:-4px;margin-right:4px;width:14px;height:14px;border-radius:3px}.pmd-bar .pmd-mark.partner{width:24px}
.pmd-bar.hatch{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--c) 20%,#fff) 0 5px,#fff 5px 10px)}
.pmd-bar.critical{background:var(--ink);border-color:var(--ink);color:#fff}
.pmd-diamond{position:absolute;top:9px;width:12px;height:12px;transform:translateX(-6px) rotate(45deg);border-radius:var(--radius-xs);background:var(--ink);z-index:3}
.pmd-diamond.key{background:var(--gold)}.pmd-diamond.critical{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--gold)}
.pmd-dot{width:10px;height:10px;border-radius:var(--radius-xs);background:var(--c);flex:none;display:inline-block}
.pmd-group{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-weight:700;font-size:var(--t13);padding:7px 10px;height:34px;box-sizing:border-box;background:var(--surface-soft);border-left:3px solid var(--c);position:sticky;left:0}
.pmd-group small{font-weight:500;color:var(--muted)}
.pmd-arrows{position:absolute;top:0;height:100%;pointer-events:none;z-index:2}
.pmd-arrows path{fill:none;stroke:#a9b8d2;stroke-width:1;opacity:.75}.pmd-arrows path.chain{stroke:var(--ink);stroke-width:2.2;opacity:1}
.fade{opacity:.22;filter:saturate(.3)}
.pmd-toggle{display:flex;gap:6px}
.pmd-toggle button{border:1px solid var(--line);background:var(--control-fill);border-radius:var(--radius-control);padding:6px 11px;font-size:var(--t12);font-weight:600;color:var(--ink);min-height:32px}
.pmd-toggle button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.pmd-split{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px}.pmd-split>div{min-width:0}
.pmd-side{display:grid;gap:10px;align-content:start}
.pmd-side section{border:1px solid var(--line);border-radius:var(--radius-control);padding:11px 13px}.pmd-side h3{margin:0 0 6px;font-size:var(--t13)}
.pmd-side ol,.pmd-side ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:var(--t12)}
.pmd-side li{display:flex;justify-content:space-between;gap:8px}.pmd-side li span:last-child{color:var(--muted);white-space:nowrap}
.pmd-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.pmd-swatch{display:inline-block;width:18px;height:10px;border-radius:var(--radius-xs);margin-right:5px;vertical-align:-1px;background:#d9dff0;border:1px solid var(--muted)}
.pmd-swatch.hatch{background:repeating-linear-gradient(135deg,#d9dff0 0 4px,#fff 4px 8px)}
.pmd-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:var(--t11);color:var(--muted);border-top:1px solid var(--line);padding-top:9px}
.pmd-cover{min-height:620px;display:flex;flex-direction:column;justify-content:space-between}.pmd-cover h1{font-size:var(--t40);line-height:1.1;margin:8px 0}
/* What leaves for the client: the company presentation style (colours and type of the official SteerCo deck). */
.pmd-sheet.official{--ink:#051038;--muted:#666;--line:#e3e3e3;--gold:#f00;--control-fill:#eef3fa;--surface-soft:#f4f7fb;font-family:Arial,Helvetica,sans-serif;color:var(--ink);border-radius:0;border-color:var(--line)}
.pmd-sheet.official .eyebrow{color:#f00;letter-spacing:.06em}.pmd-sheet.official h1{font-family:Arial,Helvetica,sans-serif;color:var(--ink)}.pmd-sheet.official .pmd-tile{border-radius:var(--radius-xs)}
.pmd-stage{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:12px 16px;background:var(--bg);overflow:auto}
.pmd-stage-in{max-width:1320px;margin:0 auto;display:grid;gap:10px}
.pmd-frames{display:grid;gap:18px;justify-items:center}
.pmd-frame{width:min(100%,1100px);aspect-ratio:16/9;background:var(--surface);border:1px solid var(--line);overflow:hidden;position:relative}
.pmd-frame>.pmd-sheet{width:1280px;position:absolute;top:0;left:0;transform-origin:0 0;border:0;box-sizing:border-box}
.pmd-frame .pmd-scroll{overflow:visible}
.pmd-frame.fixed{width:1280px;height:720px;aspect-ratio:auto;border:0}
.pmd-capture{position:fixed;left:-20000px;top:0;width:1280px}
.pmd-picker{position:fixed;inset:0;background:#14223b66;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:16px;z-index:5}
.pmd-picker>div{box-sizing:border-box;background:var(--surface);border-radius:var(--radius-dialog);box-shadow:var(--dialog-shadow);padding:22px;width:min(470px,100%);display:grid;gap:11px;max-height:90vh;overflow:auto}
.pmd-picker h3{margin:0;font-size:var(--t16)}
.pmd-formats{grid-template-columns:repeat(3,1fr)}.pmd-formats button{display:flex;align-items:center;justify-content:center;gap:5px;font-size:var(--t12)}.pmd-formats svg{width:13px;height:13px}
.pmd-picks-title{font-size:var(--t11);font-weight:700;color:var(--muted);margin-top:4px}
.pmd-progress{display:grid;gap:5px;font-size:var(--t12);color:var(--muted)}.pmd-progress div{height:6px;border-radius:var(--radius-xs);background:var(--control-fill);overflow:hidden}.pmd-progress i{display:block;height:100%;width:0;background:var(--ink);transition:width .3s}
.pmd-screen{width:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--t12)}.pmd-screen th{background:var(--ink);color:#fff;text-align:left;padding:7px 8px;font-weight:600}.pmd-screen td{padding:7px 8px;border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pmd-screen tbody tr:nth-child(even) td{background:var(--panel-soft)}
.pmd-picks{display:grid;gap:6px}
.pmd-picks button{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:var(--radius-control);padding:8px 11px;background:var(--surface);text-align:left;color:var(--ink);width:100%}
.pmd-picks button[aria-checked=true]{border-color:var(--ink);background:var(--surface-soft)}
.pmd-picks i{width:18px;height:18px;border-radius:var(--radius-sm);border:1.5px solid var(--control-line);display:grid;place-items:center;color:#fff;flex:none}
.pmd-picks button[aria-checked=true] i{background:var(--ink);border-color:var(--ink)}
.pmd-picks i svg{width:12px;height:12px}.pmd-picks b{display:block;font-size:var(--t13)}.pmd-picks small{color:var(--muted);font-size:var(--t11)}
.pmd-picks em{margin-left:auto;font-style:normal;font-size:var(--t11);color:var(--muted);white-space:nowrap}
.pmd-picker-foot{position:sticky;bottom:-22px;margin:0 -22px -22px;padding:12px 22px;background:var(--surface);border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pmd-picker-foot span{flex:1}
@media(max-width:760px){
.pm-layout{grid-template-columns:minmax(0,1fr)}.pm-layout>*{min-width:0}
.pm-tabs,.pmd-tab .pmd-views{max-width:100%;overflow-x:auto;scrollbar-width:none}.pm-tabs button,.pmd-tab .pmd-views button{flex:none}.pmd-tools,.pmd-tab{min-width:0}
 .pmd-gantt{grid-template-columns:128px minmax(560px,1fr)}.pmd-label{font-size:var(--t11)}
 .pmd-split{grid-template-columns:minmax(0,1fr)}.pmd-head{flex-direction:column-reverse}.pmd-sheet{padding:16px}.pmd-sheet.inline{padding:0}
 .pmd-tiles{grid-template-columns:1fr 1fr}.pmd-tools .buttons,.pmd-stage-bar .buttons{width:100%}.pmd-tools .buttons button{flex:1}
 .pmd-stage .pmd-views{position:fixed;left:0;right:0;bottom:0;margin:0;max-width:none;border-radius:0;background:var(--surface);border-top:1px solid var(--line);justify-content:space-between;padding:6px max(6px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-left,0px));z-index:4}
 .pmd-stage .pmd-views button{flex-direction:column;gap:2px;font-size:var(--t10);padding:6px 4px;min-height:48px;flex:1}
 .pmd-stage-in{padding-bottom:84px}.pmd-picker{place-items:end stretch;padding:0}.pmd-picker>div{width:100%;border-radius:var(--radius-panel) var(--radius-panel) 0 0;padding-bottom:calc(22px + env(safe-area-inset-bottom,0px))}
 .pmd-picks button,.pmd-seg button,.pmd-toggle button,.pmd-views button{min-height:44px}
}

/* Key dates: numbered marks, the same number on the date tile below (Denis 12 Nov 2026: say what each red point is). */
.pmd-key-mark{position:absolute;top:8px;width:22px;height:22px;transform:translateX(-11px);display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#fff;font-weight:700;font-size:var(--t12);line-height:1;font-style:normal;box-shadow:0 0 0 2px #fff;z-index:3}
.pmd-key-mark.inline{position:static;display:inline-grid;transform:none;width:18px;height:18px;font-size:var(--t11);margin-right:6px;vertical-align:-3px;box-shadow:none}
.pmd-key-mark.wide{width:auto;min-width:22px;padding:0 6px;border-radius:999px;transform:translateX(-50%)}

/* task-card.css */
.task-card-workspace{max-width:1600px;margin:0 auto;padding:10px 0 95px}.tcw-breadcrumb{display:flex;gap:10px;align-items:center;margin-bottom:22px;font-size:var(--t12);color:var(--muted)}.tcw-identity{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.tcw-identity h1{font-size:var(--t28);letter-spacing:-.6px;margin:8px 0 14px}.tcw-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:24px 0}.tcw-metric{padding:18px 20px;background:var(--panel);border:1px solid var(--line,var(--line));border-radius:var(--radius-control)}.tcw-metric strong{display:block;font-size:var(--t24);margin-top:8px}.tcw-metric small{color:var(--muted)}.tcw-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding:12px 0;margin:12px 0 22px;scroll-margin-top:80px}.tcw-tabs button{padding:11px 16px;border:0;border-radius:var(--radius-sm);background:transparent;color:#446590}.tcw-tabs button.selected{background:#223d68;color:white}.tcw-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.task-card-workspace .card{padding:24px;margin-bottom:20px}.task-card-workspace h2{font-size:var(--t18);scroll-margin-top:100px}.task-card-workspace h3{font-size:var(--t14);margin:22px 0 12px}.task-card-workspace fieldset{border:0;margin:0;padding:0;min-width:0}.task-card-workspace fieldset:disabled{opacity:.8}.tcw-field{display:block;font-size:var(--t12);font-weight:650;color:var(--muted);margin:14px 0}.tcw-field input,.tcw-field select,.tcw-field textarea{display:block;width:100%;margin-top:7px;min-height:41px;font-weight:500;font-size:var(--t14)}.tcw-field textarea{resize:vertical;min-height:88px}.tcw-field input:read-only{background:var(--panel-soft)}.tcw-progress{display:flex;align-items:center;gap:14px}.tcw-progress input[type=range]{flex:1;accent-color:#416f9f}.tcw-progress input[type=number]{width:85px}.tcw-date-comparison{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel-soft);padding:18px;margin:20px 0}.tcw-date-comparison h3{margin:0 0 12px}.tcw-date-comparison table{width:100%;table-layout:fixed}.tcw-date-comparison th{font-size:var(--t12);text-transform:none;letter-spacing:0;background:none}.tcw-date-comparison th:first-child{width:65px}.tcw-date-comparison td,.tcw-date-comparison th{padding:10px 7px;border:0;text-align:left}.tcw-date-comparison strong{font-size:var(--t16);display:block}.tcw-date-comparison input{font-size:var(--t16);font-weight:700;min-width:0;width:100%;height:44px}.tcw-date-comparison small{display:block;font-size:var(--t11);color:var(--muted);margin-top:5px}.tcw-date-comparison svg{width:13px;height:13px}.tcw-person{display:flex;gap:12px;align-items:center;margin:15px 0}.tcw-person small{display:block;margin-top:4px;color:var(--muted)}.tcw-avatar{display:grid;place-items:center;background:#e7eef8;border-radius:50%;width:40px;height:40px;flex:none;font-weight:700;font-size:var(--t12)}.tcw-dependent{border-bottom:1px solid var(--line);padding:14px 0}.tcw-dependent small{display:block;font-size:var(--t12);color:var(--muted)}.tcw-actions{position:fixed;bottom:0;left:0;right:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 32px;background:rgba(255,255,255,.98);border-top:1px solid var(--line);box-shadow:0 -3px 16px #1e335b08}.tcw-actions strong{font-size:var(--t13)}.tcw-actions .error{margin:5px 0 0;max-width:850px;max-height:110px;overflow:auto}.tcw-actions .buttons{flex:none}.tcw-rule-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-control);padding:16px;gap:20px;margin-top:16px}.tcw-rule-result small{display:block;color:var(--muted);font-size:var(--t12)}.tcw-rule-result strong{font-size:var(--t24);display:block;margin-top:8px}.tcw-rule-result strong small{display:inline;font-size:var(--t13)}.tcw-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0;color:var(--muted);font-size:var(--t12)}.tcw-source-grid strong{display:block;color:var(--ink);font-size:var(--t16);margin-top:5px}.tcw-link{display:grid;grid-template-columns:minmax(250px,1fr) 150px 95px 90px 30px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.tcw-link label{font-size:var(--t11)}.tcw-link input,.tcw-link select{display:block;min-height:38px;width:100%;margin-top:5px}.tcw-link .tcw-check{display:flex;align-items:center;gap:6px}.tcw-link .tcw-check input{width:15px;min-height:15px}.tcw-dependency-table{width:100%}.tcw-dependency-table td{padding:14px 10px}.tcw-history{list-style:none;padding:0;margin:20px 0}.tcw-history li{border-left:2px solid var(--line);margin-left:9px;padding:0 0 25px 24px;position:relative}.tcw-history li:before{content:'';width:9px;height:9px;border:3px solid white;border-radius:50%;background:#507bad;position:absolute;left:-7px;top:4px}.tcw-history strong,.tcw-history small{display:block}.tcw-history small{color:var(--muted);margin:4px 0}.tcw-history details{font-size:var(--t12)}.tcw-history details p{overflow-wrap:anywhere}.tcw-prose{white-space:pre-wrap}.task-card-workspace .task-workflow{margin:12px 0;background:var(--panel)}.task-card-workspace .task-workflow .buttons{display:none}

.tcw-inline-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.tcw-grid aside .tcw-inline-actions{flex-direction:column;align-items:stretch}.tcw-command-state:empty{display:none}

.tcwd-group{border-top:1px solid var(--line);padding-top:18px;margin:22px 0}.tcwd-heading{display:flex;gap:13px;align-items:center;margin-bottom:15px}.tcwd-heading>span{background:#edf3fc;color:#4f73a9;padding:9px;border-radius:var(--radius-sm);display:flex}.tcwd-heading h3{margin:0;font-size:var(--t16)}.tcwd-heading p{margin:5px 0 0}.tcwd-heading>small{margin-left:auto;color:var(--muted)}.tcwd-row{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-control);padding:15px;margin:12px 0}.tcwd-fields{display:grid;grid-template-columns:minmax(190px,1fr) minmax(230px,1.5fr) 115px 85px 90px 30px;gap:12px;align-items:end}.tcwd-fields label{font-size:var(--t12);color:var(--muted)}.tcwd-fields input,.tcwd-fields select{display:block;width:100%;min-width:0;height:42px;margin:7px 0 0}.tcwd-fields .tcwd-enabled{display:flex;align-items:center;gap:6px;height:42px;white-space:nowrap;margin:0}.tcwd-enabled input{width:15px;height:15px;margin:0}.tcwd-remove{height:42px;background:none;border:0;padding:6px;color:var(--muted)}.tcwd-relation{display:flex;align-items:center;gap:9px;margin-top:12px;font-size:var(--t12);color:var(--muted)}.tcwd-relation b{color:var(--ink)}.tcwd-row svg,.tcwd-heading svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.tcwd-combo{position:relative}.tcwd-combo input{padding-right:28px}.tcwd-search{position:absolute;right:12px;top:33px;color:var(--muted);pointer-events:none}.tcwd-choices{position:absolute;top:calc(100% + 5px);left:0;right:0;min-width:260px;background:var(--popover);border:1px solid #aebfda;box-shadow:0 8px 25px #263b6325;border-radius:var(--radius-sm);z-index:20;max-height:260px;overflow:auto;padding:5px}.tcwd-choices[hidden]{display:none}.tcwd-choice{display:flex;gap:10px;align-items:center;padding:10px 9px;border-radius:var(--radius-xs);cursor:pointer}.tcwd-choice:hover,.tcwd-choice.active{background:#eaf1fd}.tcwd-choice b{display:block;font-size:var(--t13)}.tcwd-choice small{display:block;font-size:var(--t11);color:var(--muted);margin-top:4px}.tcwd-mini{font-size:var(--t14);color:var(--muted)}.tcwd-empty{padding:12px;color:var(--muted);font-size:var(--t12)}.tcwd-help{border-top:1px solid var(--line);margin-top:22px;padding-top:16px;font-size:var(--t12);color:var(--muted)}.tcwd-help summary{cursor:pointer;font-weight:600}

#tcw-command fieldset{border:0;margin:0;padding:0;min-width:0}#tcw-command .tcw-confirm{display:flex;align-items:flex-start;gap:10px;line-height:1.5;margin:16px 0}#tcw-command .tcw-confirm input{width:16px;height:16px;min-height:0;flex:none;margin:2px 0 0;accent-color:#223d68}
#tcw-command .tcw-archive-links{max-height:180px;overflow:auto;padding-left:24px;line-height:1.6}

/* Validated Task mockup: one compact context ribbon on every tab. */
.task-card-workspace{max-width:none;padding-top:10px}.task-card-workspace .tcw-breadcrumb{margin:0 0 10px;font-size:var(--t11)}.tcw-identity{gap:18px;margin-bottom:10px}.tcw-identity .eyebrow{font-size:var(--t9)}.tcw-identity h1{font-size:var(--t24);line-height:1.2;margin:5px 0 9px}.tcw-identity .buttons{gap:5px;align-items:center}.tcw-period{font-size:var(--t11);color:var(--muted);margin-left:8px}.tcw-header-actions{display:flex;align-items:center;gap:12px;flex-direction:column;flex:none}.tcw-header-actions .ceva-identity{width:145px;height:40px;object-fit:contain;margin:0}.tcw-header-actions button{font-size:var(--t11);padding:3px 8px}.task-card-workspace .allocation-task-context{margin:12px 0 16px}.allocation-task-context .tcw-context-body{padding:0 12px 12px}.allocation-task-context .tcw-summary{margin:0 0 12px;padding:0;gap:12px}.allocation-task-context .tcw-metric{padding:14px 16px;min-width:0}.tcw-metric strong{font-size:var(--t24);margin:10px 0 8px;line-height:1.2}.tcw-metric-label{display:flex;align-items:center;gap:9px;font-size:var(--t12)}.tcw-metric-label svg{width:16px;height:16px;flex:none}.tcw-metric-help{display:block;font-size:var(--t11);line-height:1.5}.tcw-metric.variance{border-top:3px solid #d2a13b;padding-top:12px}.tcw-progress-track{height:4px;background:#e5ecf7;border-radius:4px;margin-top:13px}.tcw-progress-track>span{display:block;height:100%;background:#5484b8;border-radius:4px}.task-card-workspace .allocation-task-context>summary{padding:11px 16px}.allocation-task-context .context-toggle svg{width:18px;height:18px;flex:none}.tcw-lifecycle{display:flex;align-items:center;gap:0;background:var(--panel-soft);border-radius:var(--radius-control);list-style:none;margin:0;padding:13px 15px}.tcw-lifecycle li{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:var(--t12);flex:1;position:relative}.tcw-lifecycle li+li{margin-left:38px}.tcw-lifecycle li+li:before{content:'';position:absolute;right:calc(100% + 10px);width:25px;border-top:1px solid var(--line)}.tcw-step-number{width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--panel-soft);flex:none;font-weight:700}.tcw-lifecycle .current{color:var(--ink);font-weight:650}.tcw-lifecycle .current .tcw-step-number{background:#18234e;color:white}.tcw-lifecycle .complete{color:#168275}.tcw-lifecycle .complete .tcw-step-number{background:#e5f4ee;color:#168275}.tcw-workflow-note{font-size:var(--t11);margin:10px 0 0;color:#876524}.task-card-workspace .tcw-tabs,.task-card-workspace .workspace-operation.tcw-tabs{gap:4px;padding:0;margin:0 0 12px;min-height:42px}.tcw-tabs button{font-size:var(--t12);padding:12px 15px;border-radius:0;border-bottom:3px solid transparent}.tcw-tabs button.selected{background:transparent;color:var(--ink);border-bottom-color:#d2a422;font-weight:650}.tcw-actions{padding:12px 24px}.tcw-actions .buttons{gap:8px}.tcw-actions button{font-size:var(--t12);padding:10px 13px}
/* Approved lightweight evidence: shares task-card fields, actions and spacing. */
.task-evidence { margin-block:var(--ui-space-4,16px); }
.task-evidence-files { list-style:none; padding:0; margin:8px 0; display:grid; gap:8px; }
.task-evidence-files li { display:flex; flex-direction:column; align-items:flex-start; gap:2px; min-width:0; }
.task-evidence-files a { display:inline-flex; align-items:center; gap:6px; overflow-wrap:anywhere; max-width:100%; }
.task-evidence-files svg { width:18px; height:18px; flex:0 0 18px; }
.task-evidence-files small { color:var(--muted); }

.task-evidence-pair { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:24px; align-items:start; }
.task-evidence-pair .task-evidence { margin-block:0; }
@media(max-width:850px){.task-evidence-pair{grid-template-columns:1fr;}}

/* profile-popup.css */

dialog#up-profile{background:var(--panel)}
#up-profile button:focus-visible{outline:2px solid #3864a0;outline-offset:3px}
#up-profile .directory-title{display:flex;align-items:center;justify-content:space-between}
#up-profile .directory-title h1{font-size:var(--t24)}
#up-profile .directory-title p{margin:0}
#up-profile .identity{display:flex;align-items:center;gap:17px}
#up-profile .avatar{width:72px;height:72px;flex:none;border-radius:50%;background:#eaf0fa;color:#2d527c;display:flex;align-items:center;justify-content:center;font-size:var(--t24);font-weight:700;overflow:hidden}
#up-profile .avatar img{width:100%;height:100%;object-fit:cover}
#up-profile .avatar.test{background:#fff1c8;color:#926718}
#up-profile .identity-copy{min-width:0;flex:1}
#up-profile .identity-copy h2{font-size:var(--t22);margin:0 0 4px;letter-spacing:-.6px}
#up-profile .identity-copy p{margin:0 0 5px;font-size:var(--t13)}
#up-profile .identity-copy small{display:block}
#up-profile .identity-copy .badge{margin-top:9px}
#up-profile .actions{display:flex;align-items:center;gap:8px}
#up-profile .primary,#up-profile .secondary,#up-profile .danger{font-size:var(--t12)}
#up-profile .head-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
#up-profile .head-top h2{font-size:var(--t18);margin:0}
#up-profile .head-top .secondary{padding:9px 14px}
#up-profile .readiness{font-size:var(--t10);min-width:130px;color:var(--muted);margin-right:8px}
#up-profile .readiness b{display:block;font-size:var(--t11);color:var(--ink)}
#up-profile .readiness progress{display:block;width:130px;height:4px;margin-top:6px;accent-color:#5384b8}
#up-profile .type-choice{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px;font-size:var(--t12)}
#up-profile .type-choice label{display:flex;align-items:center;gap:6px;margin:0 10px 0 0}
#up-profile .type-choice input{width:15px;height:15px;margin:0}
dialog#up-profile{padding:0;width:min(1080px,calc(100vw - 80px));max-width:none;max-height:calc(100dvh - 64px);border:1px solid var(--line);border-radius:var(--radius-panel);color:var(--ink);box-shadow:0 20px 70px #14223b28;overflow:hidden}
#up-profile::backdrop{background:#18264268;backdrop-filter:blur(4px)}
#up-profile #up-form{display:flex;flex-direction:column;max-height:calc(100dvh - 66px);margin:0}
#up-profile #profile-head{padding:24px 28px 18px;flex:none}
#up-profile #tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:0 28px;flex:none}
#up-profile #tabs button{background:transparent;border-radius:0;border-bottom:3px solid transparent;padding:12px 13px;font-size:var(--t12);color:var(--ink)}
#up-profile #tabs button.active{font-weight:700;border-bottom-color:var(--gold)}
#up-profile #profile-body{padding:25px 28px 28px;overflow:auto;min-height:270px}
#up-profile #profile-body h3{font-size:var(--t14);margin:0 0 20px}
#up-profile .columns{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:42px}
#up-profile .columns>section{min-width:0}
#up-profile .field-grid{display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px 14px;align-items:center;margin:0}
#up-profile .field-grid dt,#up-profile .field-grid label{font-size:var(--t12);font-weight:400;color:var(--muted);margin:0}
#up-profile .field-grid dd{margin:0;font-size:var(--t13);min-height:35px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#up-profile .field-grid input,#up-profile .field-grid select{height:35px;padding:7px 9px;font-size:var(--t12)}
#up-profile .field-grid textarea{font-size:var(--t12)}
#up-profile .section-note{font-size:var(--t11);line-height:1.65;margin:17px 0 0}
#up-profile .detail-note{font-size:var(--t12);line-height:1.7;border-left:2px solid var(--line);padding:0 0 0 13px;margin:0}
#up-profile .reports{padding:13px 0;border-bottom:1px solid var(--line);font-size:var(--t12);display:flex;align-items:center;gap:12px}
#up-profile .reports .avatar{width:38px;height:38px;font-size:var(--t12)}
#up-profile .reports small{display:block}
#up-profile .reports strong{display:block}
#up-profile .pool-list{display:flex;gap:7px;flex-wrap:wrap}
#up-profile .pool-choice{display:flex;align-items:center;gap:8px;font-size:var(--t12);font-weight:400;margin:0;padding:8px 0}
#up-profile .pool-choice input{width:15px;height:15px;margin:0}
#up-profile .subsection{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}
#up-profile .empty-team{background:var(--panel-soft);border:1px dashed var(--line);border-radius:var(--radius-control);padding:19px;font-size:var(--t12);color:var(--muted);line-height:1.7}
#up-profile .stat-strip{display:flex;gap:28px;background:var(--panel-soft);border-radius:var(--radius-control);padding:17px 20px;margin-bottom:22px}
#up-profile .stat-strip b{display:block;font-size:var(--t20)}
#up-profile .stat-strip small{display:block;margin-bottom:3px}
#up-profile .photo-area{display:flex;align-items:center;gap:20px}
#up-profile .photo-area .avatar{width:98px;height:98px;font-size:var(--t32)}
#up-profile .photo-control{display:inline-block;position:relative;overflow:hidden}
#up-profile .photo-control input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
#up-profile .photo-control:focus-within{outline:2px solid #3864a0}
#up-profile .photo-area small{display:block;margin-top:10px}
#up-profile .permissions details{margin-top:16px;border-top:1px solid var(--line);padding-top:15px}
#up-profile .permissions summary{font-size:var(--t12);color:var(--muted);cursor:pointer}
#up-profile .permission-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0;font-size:var(--t12)}
#up-profile .permission-row select{width:150px;font-size:var(--t11);padding:6px}
#up-profile .access-state{background:var(--panel-soft);border-radius:var(--radius-control);padding:14px 17px;font-size:var(--t12);margin-bottom:20px}
#up-profile .access-state p{margin:7px 0 0;font-size:var(--t12)}
#up-profile .history-row{padding:14px 0;border-bottom:1px solid var(--line);font-size:var(--t12)}
#up-profile .history-row small{display:block;margin-top:4px}
#up-profile #profile-footer{display:flex;align-items:center;gap:10px;padding:15px 28px;border-top:1px solid var(--line);background:var(--panel);flex:none}
#up-profile #profile-footer .status{flex:1;font-size:var(--t11);color:var(--muted)}
#up-profile #profile-footer .status.dirty{color:#8a671d}
#up-profile #form-error{color:#a32d2d;font-size:var(--t12);margin-bottom:16px}
#up-profile .title-edit{max-width:300px;font-size:var(--t20);font-weight:700;padding:5px 8px;height:38px}
#up-profile .editing-label{margin-right:auto;font-size:var(--t11);color:#83651f;background:#fff4d9;border-radius:var(--radius-xs);padding:4px 8px}
#up-profile [hidden]{display:none!important}
#up-profile .card-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#up-profile .identity-copy .card-badges{margin-top:9px}
#up-profile .identity-copy .card-badges .badge{margin-top:0}
#up-profile .card-company{display:flex;align-items:center;gap:10px;margin:15px 0;font-size:var(--t11);color:var(--muted);min-height:32px}
#up-profile .company-mark{width:64px;height:30px;border:1px solid var(--line);border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:var(--panel);color:var(--muted);font-size:var(--t12);font-weight:700;flex:none}
#up-profile .company-mark img{width:58px;height:25px;object-fit:contain}
#up-profile .portrait-company{position:relative;flex:none}
#up-profile .portrait-company-badge{position:absolute;right:-6px;bottom:-6px;background:var(--surface);padding:0;border-radius:var(--radius-sm)}
#up-profile .portrait-company-badge .company-mark{width:48px;height:24px}
#up-profile .portrait-company-badge img{width:44px;height:21px}
#up-profile .company-inline{margin-top:12px;display:flex;gap:13px;align-items:center;background:var(--panel-soft);border:1px solid var(--line);padding:10px 13px;border-radius:var(--radius-control);text-align:left;color:var(--ink);font-size:var(--t12)}
#up-profile .company-inline small{display:block;margin-top:3px}
#up-profile .card-readiness{border-top:1px solid var(--line);padding-top:13px;margin-top:13px}
#up-profile .card-readiness>span{display:flex;justify-content:space-between;font-size:var(--t11);gap:10px}
#up-profile .card-readiness small{display:block;margin-top:7px}
#up-profile .card-readiness progress{width:100%;height:5px;display:block;margin-top:9px}
#up-profile .readiness-button{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-control);padding:10px 12px;text-align:left;width:220px;color:var(--ink)}
#up-profile .readiness-button>span{display:flex;align-items:center;justify-content:space-between;font-size:var(--t11);font-weight:600}
#up-profile .readiness-button b{font-size:var(--t14)}
#up-profile .readiness-button progress{display:block;width:100%;height:5px;margin:7px 0}
#up-profile .readiness-button small{font-size:var(--t10);color:var(--muted)}
#up-profile #profile-head{padding-bottom:13px}
#up-profile .head-top{margin-bottom:14px}
dialog#up-profile.permissions-mode{width:min(1320px,calc(100vw - 56px));max-height:calc(100dvh - 40px)}
#up-profile.permissions-mode #up-form{max-height:calc(100dvh - 42px)}
dialog#up-profile.expanded{width:calc(100vw - 40px);height:calc(100dvh - 40px);max-height:none}
#up-profile.expanded #up-form{height:100%;max-height:none}
#up-profile.expanded #profile-body{flex:1}
#up-profile .section-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:18px}
#up-profile .section-heading h3{margin-bottom:7px!important}
#up-profile .section-heading p{font-size:var(--t12);margin:0;line-height:1.6}
#up-profile .checklist-row{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:15px 0}
#up-profile .checklist-row>div{flex:1}
#up-profile .checklist-row strong{font-size:var(--t13)}
#up-profile .checklist-row p{font-size:var(--t12);margin:6px 0 0;line-height:1.6}
#up-profile .check-symbol{width:30px;height:30px;background:#e8f4ee;color:#33785c;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}
#up-profile .check-symbol.pending{background:#fff2d4;color:#876217}
#up-profile .optional-details{margin-top:23px;padding:18px;background:var(--panel-soft);border-radius:var(--radius-control)}
#up-profile .optional-details h3{margin-bottom:6px!important}
#up-profile .optional-details p{font-size:var(--t12);margin-bottom:13px}
#up-profile .connection-nav{display:flex;gap:6px;position:sticky;top:-25px;background:var(--surface);padding:8px 0 12px;margin-top:-8px;margin-bottom:20px;z-index:3;border-bottom:1px solid var(--line)}
#up-profile .connection-nav button{padding:8px 13px;background:var(--panel-soft);color:var(--muted);border-radius:var(--radius-sm);font-size:var(--t12)}
#up-profile .connection-nav button.selected{background:#243c64;color:white;font-weight:650}
#up-profile .notice{font-size:var(--t12);line-height:1.65;background:var(--panel-soft);padding:12px 15px;border-left:3px solid #8ba7cf;margin:14px 0 18px;color:var(--muted)}
#up-profile .group-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#up-profile .permission-group{border:1px solid var(--line);border-radius:var(--radius-control);padding:15px 18px}
#up-profile .permission-group.selected{border-color:#7d9dc3;background:var(--panel-soft);box-shadow:inset 3px 0 #4778ab}
#up-profile .permission-group .pool-choice{padding:0}
#up-profile .permission-group p{font-size:var(--t11);line-height:1.7;margin:9px 0 12px}
#up-profile .permission-group summary{font-size:var(--t11);cursor:pointer;color:#496b96}
#up-profile .permission-group summary span{color:var(--muted)}
#up-profile .permission-group h4{font-size:var(--t11);margin:14px 0 7px}
#up-profile .permission-group ul{padding-left:18px;font-size:var(--t11);line-height:1.7;margin:7px 0}
#up-profile .combined-grants{margin:20px 0 0;padding:15px 0;border-top:1px solid var(--line);font-size:var(--t12)}
#up-profile .combined-grants summary{cursor:pointer;font-weight:600;color:#4b6d97}
#up-profile .combined-grants p{font-size:var(--t11);margin:12px 0 0;line-height:1.7}
#up-profile .override-tools{display:flex;align-items:end;gap:16px;flex-wrap:wrap;padding:13px 0}
#up-profile .override-tools label{margin:0;font-size:var(--t11)}
#up-profile .override-tools label:first-child{flex:1;min-width:200px}
#up-profile .override-tools input[type=search]{padding:9px 11px;font-size:var(--t12);margin-top:5px}
#up-profile .override-tools select{font-size:var(--t12);padding:9px 11px;margin-top:5px}
#up-profile .only-overrides{display:flex;align-items:center;gap:8px;padding:10px 0}
#up-profile .only-overrides input{width:15px;height:15px;margin:0}
#up-profile .override-tools .link-btn{font-size:var(--t11);padding:10px 0}
#up-profile .result-count{font-size:var(--t11);margin:5px 0 12px}
#up-profile .override-table{width:100%;border-collapse:collapse;table-layout:fixed}
#up-profile .override-table th{text-align:left;font-size:var(--t10);letter-spacing:.025em;background:var(--panel-soft);color:var(--muted);padding:11px 12px}
#up-profile .override-table th:nth-child(1){width:32%}
#up-profile .override-table th:nth-child(2){width:24%}
#up-profile .override-table th:nth-child(3){width:22%}
#up-profile .override-table th:nth-child(4){width:22%}
#up-profile .override-table td{padding:13px 12px;border-bottom:1px solid var(--line);font-size:var(--t11);vertical-align:middle;line-height:1.65}
#up-profile .override-table td strong{font-size:var(--t12);font-weight:600}
#up-profile .override-table small{display:block;margin-top:3px;font-size:var(--t10)}
#up-profile .override-table select{font-size:var(--t12);padding:9px}
#up-profile .override-table select:disabled{opacity:.75;background:var(--panel-soft);color:var(--muted)}
#up-profile .report-link{width:100%;background:var(--panel);text-align:left;color:var(--ink)}
#up-profile .report-link>span:nth-child(2){flex:1}
#up-profile .company-profile{max-width:750px;margin:20px 0}
#up-profile .company-profile .identity{margin:15px 0 30px}
#up-profile .company-profile .company-mark{width:110px;height:65px}
#up-profile .company-profile .company-mark img{width:100px;height:55px}
#up-profile .company-profile p{font-size:var(--t12);margin:15px 0}
#up-profile .company-profile .identity h3{margin:0 0 6px!important}
#up-profile .company-profile .identity p{margin:0}
#up-profile .company-profile .field-grid{margin-bottom:25px}
#up-profile .company-profile a{font-size:var(--t12)}
#up-profile.permissions-mode .head-top{margin-bottom:9px}
#up-profile.permissions-mode .head-top h2{font-size:var(--t16)}
#up-profile.permissions-mode .head-top .secondary{padding:7px 12px}
#up-profile.permissions-mode .identity .avatar{width:48px;height:48px;font-size:var(--t18)}
#up-profile.permissions-mode .identity-copy h2{font-size:var(--t20)}
#up-profile.permissions-mode .identity-copy p{display:none}
#up-profile.permissions-mode .identity-copy>small{margin-top:3px;font-size:var(--t10)}
#up-profile.permissions-mode .identity-copy .card-badges{margin-top:6px}
#up-profile.permissions-mode .title-edit{height:33px;font-size:var(--t18);padding:3px 7px}
#up-profile.permissions-mode .readiness-button{padding:7px 11px;width:210px}
#up-profile.permissions-mode #tabs button{padding-top:10px;padding-bottom:10px}
#up-profile.permissions-mode #profile-body{padding-top:15px}
#up-profile.permissions-mode .connection-nav{top:-15px}
#up-profile .override-table td{padding-top:10px;padding-bottom:10px}
#up-profile:not([open]){display:none}#up-profile button svg{width:16px;height:16px}

#up-profile input,#up-profile select,#up-profile textarea{color:var(--ink)}#up-profile .badge{padding:3px 7px;border-radius:var(--radius-xs);font-size:var(--t10);background:var(--panel-soft);display:inline-block}#up-profile .badge.green{background:#e6f3ed;color:#227854}#up-profile .badge.amber{background:#fff1d0;color:#95620e}#up-profile .badge.blue{background:#eaf1fb;color:#345e91}

/* companies.css */
.company-directory{padding:0 0 24px}.company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.company-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:22px;text-align:left;color:var(--ink)}.company-card:hover{border-color:#7392be}.company-large-mark{width:66px;height:56px;background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-control);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--t20);font-weight:bold}.company-large-mark img{width:90%;height:90%;object-fit:contain}.company-card h3{font-size:var(--t16);margin:0 0 5px}.company-card p{font-size:var(--t12);margin:20px 0}.company-counts{display:flex;gap:28px;border-top:1px solid var(--line);padding-top:14px;font-size:var(--t11)}.company-counts b{display:block;font-size:var(--t22)}.company-tools{display:flex;align-items:center;gap:18px;margin:20px 0}.company-tools input[type=search]{max-width:330px}.company-dialog{width:min(1000px,calc(100vw - 90px));max-width:none;max-height:90vh}.company-hero{display:flex;align-items:center;gap:20px;margin:20px 0}.company-hero button{margin-left:auto}.company-person{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:12px 0}.company-person>div{flex:1}.company-person small{display:block}.company-select-list{max-height:360px;overflow:auto}.company-select-list label{display:flex;align-items:center;gap:12px;padding:10px;border-bottom:1px solid var(--line);font-weight:400}.company-select-list input[type=checkbox],.company-tools input[type=checkbox]{width:16px;flex:none}.company-select-list small{display:block}.company-badge{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:22px;font-size:var(--t9);font-weight:700;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);padding:2px 4px;vertical-align:middle;margin-left:6px}.company-badge img{max-width:48px;max-height:17px;object-fit:contain}.company-form-footer{position:sticky;bottom:-28px;padding:15px 0;display:flex;align-items:center;justify-content:flex-end;gap:10px;background:var(--surface);border-top:1px solid var(--line)}.company-form-footer>span{margin-right:auto;font-size:var(--t12)}.company-dialog .notice{background:#fff8e8;padding:12px;border-left:2px solid #d7a724}.company-dialog .flex input[type=checkbox]{width:auto}

/* prefill-review.css */
/* Pre-fill review (Admin IT › Data quality), validated mockup 12 Nov 2026. Charter tokens only. */
.pf{display:flex;flex-direction:column;gap:var(--space-field);max-width:1180px}
.pf h1{margin:2px 0;font-size:var(--t24)}
.pf .ui-icon{flex:none;vertical-align:-3px;margin-right:5px}
.pf-head{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.pf-head p{margin:0;color:var(--muted);max-width:72ch}
.pf-run{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.pf-muted{color:var(--muted);font-size:var(--t12);display:inline-flex;align-items:center;gap:2px;margin:0}
p.pf-muted{display:block}
.pf-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.pf-panel h3,.pf-panel h4{margin:0;font-size:var(--t14)}
.pf-panel p{margin:0}
.pf-confirm{border-color:var(--focus)}
.pf-views{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto}
.pf-views button{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);padding:9px 14px;white-space:nowrap;box-shadow:none}
.pf-views button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--gold);font-weight:600}
.pf-views span,.pf-chip span{font-size:var(--t12);color:var(--muted);margin-left:6px;font-variant-numeric:tabular-nums}
.pf-filters{display:flex;flex-direction:column;gap:6px}
.pf-filters>div{display:flex;gap:6px;flex-wrap:wrap}
.pf-chip{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:999px;padding:5px 11px;display:inline-flex;align-items:center;font-size:var(--t13)}
.pf-chip.active{border-color:var(--ink);box-shadow:inset 0 -2px 0 var(--gold)}
.pf-tools{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.pf-group{display:flex;flex-direction:column;gap:10px}
.pf-group h2{font-size:var(--t16);margin:6px 0 0}
.pf-group h2 small{font-weight:400;color:var(--muted)}
.pf-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:14px;display:flex;flex-direction:column;gap:10px}
.pf-card.s-accepted,.pf-card.s-edited{border-color:#2f7d55}
.pf-card.s-rejected{opacity:.65}
.pf-card-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.pf-ttl{flex:1;min-width:0}.pf-ttl b{display:block}.pf-ttl span{color:var(--muted);font-size:var(--t12)}
.pf-mark{width:42px;height:42px;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;overflow:hidden;flex:none;color:var(--ink)}
.pf-mark img{max-width:36px;max-height:36px;object-fit:contain}
.pf-face{width:26px;height:26px;border-radius:50%;overflow:hidden;background:var(--surface-soft);border:1px solid var(--line);display:inline-grid;place-items:center;font-size:var(--t10);font-weight:700;color:var(--ink);flex:none}
.pf-face.big{width:42px;height:42px;font-size:var(--t13)}
.pf-face img{width:100%;height:100%;object-fit:cover;display:block}
.pf-who{display:inline-flex;gap:7px;align-items:center;min-width:0}.pf-who small{color:var(--muted)}
.pf-badges{display:flex;gap:6px;flex-wrap:wrap}
.pf-badge{font-size:var(--t12);border-radius:999px;padding:2px 9px;display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--surface-soft);white-space:nowrap}
.pf-badge .ui-icon{width:13px;height:13px}
.pf-badge.c-high,.pf-badge.s-accepted,.pf-badge.s-edited,.pf-badge.s-applied,.pf-badge.s-completed{color:#1f6b45;background:#e6f4ec;border-color:transparent}
.pf-badge.c-medium,.pf-badge.warn,.pf-badge.s-running{color:#7d5700;background:#fdf3d8;border-color:transparent}
.pf-badge.c-low,.pf-badge.s-rejected,.pf-badge.s-failed{color:var(--danger-ink);background:var(--danger-fill);border-color:transparent}
.pf-people{display:flex;gap:8px;flex-wrap:wrap}
.pf-people>span{border:1px solid var(--line);border-radius:999px;padding:3px 10px 3px 3px;background:var(--surface-soft)}
.pf-grid{display:grid;grid-template-columns:160px minmax(0,1fr) minmax(0,1fr);border:1px solid var(--line);border-radius:var(--radius-control);overflow:hidden}
.pf-grid>div{padding:7px 10px;border-top:1px solid var(--line);min-width:0;overflow-wrap:anywhere}
.pf-h{background:var(--surface-soft);font-size:var(--t12);color:var(--muted);font-weight:600;border-top:0!important}
.pf-f{color:var(--muted);font-size:var(--t13)}
.pf-cur{color:var(--muted)}
.pf-new.chg{background:#fff7dc}
.pf-grid input{width:100%}
.pf-logos{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}
.pf-logos figure{margin:0;display:flex;flex-direction:column;gap:4px;align-items:center}
.pf-logos figcaption{font-size:var(--t12);color:var(--muted)}
.pf-logo{width:150px;height:84px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);display:grid;place-items:center;padding:8px;color:var(--muted);font-size:var(--t12)}
.pf-logo img{display:block;max-width:132px;max-height:66px;object-fit:contain}
.pf-logo-src{flex:1;min-width:200px;display:flex;gap:8px;font-size:var(--t12);color:var(--muted)}.pf-logo-src b{color:var(--ink)}
.pf-foot{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;justify-content:space-between}
.pf-src{display:flex;flex-direction:column;gap:2px;font-size:var(--t12);color:var(--muted);min-width:0}
.pf-src a{overflow-wrap:anywhere}
.pf-link{background:none;border:0;box-shadow:none;color:var(--link);padding:0;font-size:var(--t12);align-self:flex-start}
.pf-actions{display:flex;gap:6px;flex-wrap:wrap}
.pf-ok[aria-pressed="true"]{background:#e6f4ec;color:#1f6b45;border-color:#2f7d55}
.pf-ed[aria-pressed="true"]{background:#fdf3d8;color:#7d5700;border-color:#b98a12}
.pf-no[aria-pressed="true"]{background:var(--danger-fill);color:var(--danger-ink);border-color:var(--danger-ink)}
.pf-hist{border-top:1px dashed var(--line);padding-top:8px;display:flex;flex-direction:column;gap:4px;font-size:var(--t12);color:var(--muted)}
.pf-split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px;align-items:start}
.pf-table{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel)}
.pf-table table{width:100%;border-collapse:collapse;font-size:var(--t13)}
.pf-table th{text-align:left;font-size:var(--t12);color:var(--muted);padding:7px 10px;background:var(--surface-soft)}
.pf-table td{padding:8px 10px;border-top:1px solid var(--line);vertical-align:top;font-variant-numeric:tabular-nums}
.pf-table tr[data-pf-run-row]{cursor:pointer}.pf-table tr.sel td{background:#fff7dc}
.pf-panel ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:2px;font-size:var(--t13)}
.pf-req-row{display:grid;grid-template-columns:minmax(0,1fr) 190px auto;gap:8px;align-items:end}
.pf-req-row label{display:flex;flex-direction:column;gap:4px;font-size:var(--t12);color:var(--muted)}
@media (max-width:900px){.pf-split{grid-template-columns:minmax(0,1fr)}}
@media (max-width:720px){.pf-cur::before,.pf-new::before{content:attr(data-l);display:block;font-size:var(--t11);color:var(--muted)}.pf-grid{grid-template-columns:minmax(0,1fr)}.pf-h{display:none}.pf-f{background:var(--surface-soft);font-weight:600}.pf-req-row{grid-template-columns:minmax(0,1fr)}}
.pf-file{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;border:1px solid var(--control-line);border-radius:var(--radius-control);padding:6px 12px;cursor:pointer;background:var(--control-fill)}
.pf-file{position:relative}.pf-file input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;overflow:hidden;clip-path:inset(50%);pointer-events:none}
.pf-file:focus-within{outline:2px solid var(--focus);outline-offset:2px}
.pf-filter-toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--line);border-radius:999px;padding:5px 12px;box-shadow:none;color:var(--ink);max-width:100%}
.pf-filter-toggle span{color:var(--muted);font-size:var(--t12);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.pf-filter-toggle[aria-expanded="false"] .ui-icon:last-child{transform:rotate(180deg)}
.pf-prov{display:block;color:var(--muted);font-size:var(--t11);margin-top:2px}
.pf-ids{display:flex;gap:6px;flex-wrap:wrap}
.pf-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:var(--t13);max-height:320px;overflow:auto}
.pf-line.skipped{color:var(--muted)}
.pf-panel label{display:flex;flex-direction:column;gap:4px;font-size:var(--t12);color:var(--muted)}
.pf-src-list{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-direction:column;gap:6px}
.pf-src-list li{display:flex;flex-direction:column;gap:1px}
.pf-src-list small{color:var(--muted);font-size:var(--t11);padding-left:26px}
.pf-panel label.pf-switch{flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;color:var(--ink);font-size:var(--t13)}
.pf-switch input{width:auto;flex:none;margin:0}
.pf-main-src a{color:var(--link)}
.pf-failures{margin:6px 0}.pf-failures summary{cursor:pointer;display:flex;align-items:center;gap:6px;color:var(--warning-ink,var(--muted))}.pf-failures ul{margin:6px 0 4px;padding-left:18px}.pf-failures li{margin:2px 0}
/* Live analysis progress (validated mockup v3, 12 Nov 2026): band + stepper, one tile per data type, detail strip, activity. */
.pf-pg{--pg-run:#386da7;--pg-ok:#1f7a5c;--pg-cache:#6b5bb5;--pg-bad:var(--danger-ink);--pg-warn:#9a6a08;display:flex;flex-direction:column;gap:10px}
.pf-pg .pf-panel{padding:12px 14px}
.pf-pg-band{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 16px;align-items:center}
.pf-pg-pct{font-size:var(--t24);font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.pf-pg-track{height:8px;background:var(--surface-soft);border-radius:999px;overflow:hidden;display:block}
.pf-pg-track i{display:block;height:100%;background:linear-gradient(90deg,var(--pg-run),var(--gold));transition:width .35s ease}
.pf-pg-meta{font-size:var(--t12);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.pf-pg-now{grid-column:2/4;font-size:var(--t12);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-pg-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.pf-pg-steps>span{min-width:0}
.pf-pg-steps i{display:block;height:4px;border-radius:var(--radius-xs);background:var(--surface-soft);overflow:hidden}
.pf-pg-steps i b{display:block;height:100%;background:var(--pg-run)}
.pf-pg-steps .done i b{background:var(--pg-ok)}.pf-pg-steps .warn i b{background:var(--pg-warn)}
.pf-pg-steps small{display:block;font-size:var(--t11);color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-pg-steps .running small{color:var(--ink);font-weight:600}
.pf-pg-main{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:10px;align-items:start}
.pf-pg-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}@media (max-width:1180px){.pf-pg-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.pf-pg-tiles{grid-template-columns:1fr}}
.pf-pg-tile{all:unset;box-sizing:border-box;display:grid;gap:7px;min-width:0;padding:9px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);cursor:pointer}
.pf-pg-tile:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.pf-pg-tile[aria-pressed="true"]{border-color:var(--pg-run);box-shadow:0 0 0 1px var(--pg-run) inset}
.pf-pg-tile.live{border-color:var(--pg-run)}
.pf-pg-th{display:flex;align-items:center;gap:8px;min-width:0}
.pf-pg-ic{width:24px;height:24px;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--surface-soft);flex:none}
.pf-pg-ic svg{width:15px;height:15px}
.pf-pg-tt{min-width:0;flex:1}
.pf-pg-tt b{display:block;font-size:var(--t13);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-pg-tt small{display:block;font-size:var(--t11);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-pg-ring{width:30px;height:30px;flex:none}
.pf-pg-ring circle{fill:none;stroke-width:4}.pf-pg-ring .b{stroke:var(--surface-soft)}.pf-pg-ring .f{stroke:var(--pg-run);stroke-linecap:round}
.pf-pg-tile.done .pf-pg-ring .f{stroke:var(--pg-ok)}.pf-pg-tile.warn .pf-pg-ring .f{stroke:var(--pg-warn)}
.pf-pg-ring text{font-size:var(--t10);fill:var(--ink);font-weight:700}
.pf-pg-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}
.pf-pg-nums>span{background:var(--surface-soft);border-radius:var(--radius-sm);padding:3px 5px;min-width:0}
.pf-pg-nums b{display:block;font-size:var(--t14);font-variant-numeric:tabular-nums;line-height:1.2}
.pf-pg-nums small{display:block;font-size:var(--t9);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-pg-nums .f b{color:var(--pg-bad)}
.pf-pg-stack{display:flex;height:6px;border-radius:var(--radius-xs);overflow:hidden;background:var(--surface-soft)}
.pf-pg-stack i{display:block;height:100%}
.pf-pg i.ok{background:var(--pg-ok)}.pf-pg i.c{background:var(--pg-cache)}.pf-pg i.x{background:var(--pg-bad)}.pf-pg i.w{background:var(--line)}
.pf-pg-srcs{display:flex;flex-wrap:wrap;gap:3px;min-width:0}
.pf-pg-src{font-size:var(--t10);border-radius:999px;padding:1px 7px 1px 6px;background:var(--surface-soft);color:var(--muted);display:inline-flex;align-items:center;gap:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf-pg-src::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--line);flex:none}
.pf-pg-src.ok,.pf-pg-src.done{color:var(--ink)}.pf-pg-src.ok::before,.pf-pg-src.done::before{background:var(--pg-ok)}
.pf-pg-src.cached::before{background:var(--pg-cache)}.pf-pg-src.failed::before{background:var(--pg-bad)}
.pf-pg-src.on{color:var(--ink)}.pf-pg-src.on::before{background:var(--pg-run);animation:pf-pg-pulse 1s infinite}
@keyframes pf-pg-pulse{50%{opacity:.3}}
@media (prefers-reduced-motion:reduce){.pf-pg-src.on::before{animation:none}.pf-pg-track i{transition:none}}
.pf-pg-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--muted);margin:6px 2px 0}
.pf-pg-legend span{display:inline-flex;align-items:center;gap:4px}.pf-pg-legend i{display:block;width:8px;height:8px;border-radius:2px}
.pf-pg-detail{margin-top:8px}
.pf-pg-detail h3,.pf-pg-feed h3{font-size:var(--t13);margin:0 0 6px;display:flex;align-items:center;gap:6px}
.pf-pg-detail h3 svg{width:14px;height:14px}
.pf-pg-detail h3 small,.pf-pg-feed h3 small{font-weight:400;color:var(--muted)}
.pf-pg-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:2px 14px;max-height:200px;overflow:auto}
.pf-pg-rows>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center;padding:3px 0;border-bottom:1px dashed var(--line);font-size:var(--t12)}
.pf-pg-rows>div>i{display:block;width:7px;height:7px;border-radius:50%;background:var(--pg-ok)}
.pf-pg-rows>.cached>i{background:var(--pg-cache)}.pf-pg-rows>.failed>i{background:var(--pg-bad)}.pf-pg-rows>.skipped>i{background:var(--line)}
.pf-pg-rows span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf-pg-rows em{font-style:normal;color:var(--muted);font-size:var(--t11);white-space:nowrap}
.pf-pg-rows small{grid-column:2/4;color:var(--pg-bad);font-size:var(--t11)}
.pf-pg-feed ol{list-style:none;margin:0;padding:0;max-height:360px;overflow:auto;display:grid;gap:2px;font-size:var(--t11)}
.pf-pg-feed li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:6px;padding:3px 4px;border-radius:var(--radius-xs)}
.pf-pg-feed li:first-child{background:var(--surface-soft)}
.pf-pg-feed time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:var(--t10)}
.pf-pg-feed .f{color:var(--pg-bad)}
.pf-pg-result{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;border-color:var(--pg-ok)!important}
.pf-pg-result>b{flex:1 1 220px}
.pf-pg-k{display:flex;gap:6px;flex-wrap:wrap}
.pf-pg-k span{background:var(--surface-soft);border-radius:var(--radius-sm);padding:3px 9px;font-size:var(--t11);color:var(--muted)}
.pf-pg-k b{font-size:var(--t14);color:var(--ink);margin-right:4px}
.pf-pg-open{margin-left:auto;font-size:var(--t12);font-weight:600;display:inline-flex;align-items:center;gap:4px}
.pf-pg-open svg{width:14px;height:14px}
@media (max-width:1000px){.pf-pg-main{grid-template-columns:1fr}.pf-pg-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.pf-pg-band{grid-template-columns:auto minmax(0,1fr)}.pf-pg-meta,.pf-pg-now{grid-column:1/-1}}

/* admin-people.css */
/* Shared colours are defined once in tokens.css. */
.admin-people-workspace .access-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:22px}.admin-people-workspace .access-tabs button{background:none;color:var(--muted);border-radius:0;padding:12px 4px;border-bottom:3px solid transparent}.admin-people-workspace .access-tabs button.active{color:var(--ink);border-bottom-color:var(--gold);font-weight:700}.admin-people-workspace .tools-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.invitation-center{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:24px}.invitation-center>.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.invitation-center h2{font-size:var(--t20);margin:0 0 7px}.invitation-center>.panel-heading p{font-size:var(--t12);margin:0;color:var(--muted)}.invitation-mode{font-size:var(--t11);color:var(--muted);white-space:nowrap}.activation-tabs{display:flex;gap:6px;margin-top:24px;border-bottom:1px solid var(--line)}.activation-tabs button{background:transparent;color:var(--muted);padding:13px 18px;border-radius:0;border-bottom:3px solid transparent;font-size:var(--t13)}.activation-tabs button.selected{border-color:var(--gold);color:var(--ink);font-weight:700}.activation-tabs span{display:inline-block;margin-left:7px;background:var(--panel-soft);border-radius:var(--radius-sm);padding:2px 6px;font-size:var(--t10)}.activation-toolbar{display:flex;align-items:center;gap:12px;margin:20px 0 12px}.activation-toolbar label{margin:0;font-size:var(--t11)}.activation-toolbar label:first-child{flex:1;max-width:460px}.activation-toolbar input,.activation-toolbar select{font-size:var(--t12);height:38px;margin:0}.activation-toolbar>span{font-size:var(--t11);color:var(--muted);margin-left:auto}.activation-toolbar select{width:170px}.activation-toolbar button{font-size:var(--t11)}.activation-list-heading{display:flex;justify-content:space-between;color:var(--muted);font-size:var(--t10);text-transform:uppercase;letter-spacing:.06em;padding:8px 4px}.activation-row,.invitation-queue-row{display:grid;grid-template-columns:minmax(190px,1.25fr) minmax(155px,1fr) minmax(145px,.9fr) minmax(175px,1fr);gap:16px;align-items:center;padding:16px 15px;border:1px solid var(--line);border-radius:var(--radius-control);margin:8px 0;min-height:83px;font-size:var(--t12)}.activation-row.preparing{border-color:#7393ba;background:var(--panel-soft)}.activation-person{display:flex;align-items:center;gap:11px;background:none;border:0;padding:0;color:var(--ink);text-align:left;min-width:0}.activation-person .avatar{width:38px;height:38px;min-width:38px;font-size:var(--t13)}.activation-person strong{font-size:var(--t13);display:block;line-height:1.4}.activation-person small,.activation-company>small,.activation-access>small,.invitation-queue-row>div>small{display:block;color:var(--muted);font-size:var(--t10);margin-top:5px;line-height:1.5;overflow-wrap:anywhere}.activation-company{font-size:var(--t11)}.activation-company .company-mark{margin-right:7px;vertical-align:middle}.activation-company img{max-width:58px;max-height:22px;object-fit:contain;vertical-align:middle;margin-right:7px}.activation-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px;flex-wrap:wrap}.activation-actions button{padding:8px 10px;font-size:var(--t11)}.activation-access .badge{font-size:var(--t10)}.activation-empty{padding:28px;background:var(--panel-soft);border:1px dashed var(--line);border-radius:var(--radius-control);font-size:var(--t12);margin:12px 0}.activation-empty p{color:var(--muted)}.activation-pages{display:flex;justify-content:flex-end;align-items:center;gap:15px;font-size:var(--t11);margin:16px 0}.activation-pages button{font-size:var(--t11)}.invitation-closed{margin-top:26px;border-top:1px solid var(--line);padding-top:18px}.invitation-closed>summary{font-size:var(--t13);font-weight:700;cursor:pointer}.invitation-closed>summary span{margin-left:8px;background:var(--panel-soft);padding:3px 7px;border-radius:var(--radius-sm);font-size:var(--t11)}.invitation-closed>summary small{font-size:var(--t11);font-weight:400;color:var(--muted);margin-left:12px}.activation-preparation{border:1px solid #97b0d2;border-radius:var(--radius-control);background:var(--panel-soft);padding:20px;margin-top:18px}.activation-preparation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.activation-preparation-head>div{display:flex;gap:13px;align-items:center}.activation-preparation-head .avatar{width:42px;height:42px;font-size:var(--t14)}.activation-preparation-head h3{margin:4px 0;font-size:var(--t16)}.activation-preparation-head p{font-size:var(--t11);margin:0;color:var(--muted)}.activation-preparation .eyebrow{font-size:var(--t9);color:var(--muted);letter-spacing:.1em}.activation-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.activation-preparation label{font-size:var(--t11);display:block}.activation-preparation input,.activation-preparation select{font-size:var(--t12);margin-top:6px;height:37px}.activation-groups{margin:14px 0;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-sm);padding:12px}.activation-groups>summary{font-size:var(--t12);cursor:pointer;font-weight:600}.activation-groups .muted{font-size:var(--t11);font-weight:400;color:var(--muted)}.activation-group-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:16px}.activation-group-options label{display:flex;gap:8px;align-items:flex-start;padding:9px;border:1px solid var(--line);border-radius:var(--radius-sm)}.activation-group-options input{height:auto;width:auto;margin:2px 0 0}.activation-group-options strong{font-size:var(--t11)}.activation-group-options small{display:block;color:var(--muted);font-size:var(--t10);line-height:1.5;margin-top:5px}.activation-review-line{display:flex;justify-content:space-between;align-items:center;font-size:var(--t10);color:var(--muted)}.activation-review-line button{font-size:var(--t11)}.activation-preparation-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:16px;padding-top:15px}.activation-preparation-footer span{font-size:var(--t11);color:var(--muted)}.activation-preparation-footer button{font-size:var(--t12)}.activation-success{display:flex;align-items:center;gap:13px;border:1px solid #b8d8c7;background:var(--panel-soft);padding:15px;border-radius:var(--radius-control);margin-top:18px}.activation-success>span{flex:1;font-size:var(--t12)}.activation-success small{display:block;color:#5d7a6b;font-size:var(--t11);margin-top:5px}.activation-success button{font-size:var(--t11)}.activation-preparation .error{font-size:var(--t12);color:#a33838}
@media(max-width:1100px){.activation-row,.invitation-queue-row{grid-template-columns:minmax(150px,1.2fr) minmax(135px,1fr) minmax(145px,1fr);gap:12px}.activation-company{grid-column:1;grid-row:2;padding-left:49px}.activation-access{grid-column:2;grid-row:1/span 2}.activation-actions{grid-column:3;grid-row:1/span 2}.activation-row{padding:13px;gap:3px 12px}.invitation-queue-access{display:none}.invitation-queue-row>.activation-actions{grid-row:auto}.activation-toolbar{flex-wrap:wrap}.activation-toolbar label:first-child{min-width:240px}.activation-fields{grid-template-columns:1.6fr 1fr 1fr}}
.activation-preparation-footer{position:sticky;bottom:0;background:var(--surface-soft);z-index:2;padding-bottom:8px}.activation-preparation .section-note{margin:9px 0}.activation-preparation label>input{width:100%}

.admin-people-workspace .activation-fields label{display:block}.admin-people-workspace .activation-person .person-avatar{width:38px;height:38px;flex-shrink:0}.admin-people-workspace .activation-person .person-avatar img{width:100%;height:100%}.admin-people-workspace .activation-group-options details{font-weight:400}.admin-people-workspace .activation-preparation-footer{position:sticky;bottom:0;background:var(--surface-soft)}.admin-people-workspace svg{width:16px;height:16px}.admin-people-workspace .people-heading h1{font-size:var(--t24)}.admin-people-workspace .revoke-link{color:#a44545}
/* Reconnect members (0.6.85): one line per member, checkbox before the name; header actions grouped. */
.invitation-reconnect-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 16px;max-height:40vh;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;margin:0 0 14px}.invitation-reconnect-list legend{font-size:var(--t11);color:var(--muted);padding:0 4px}.invitation-reconnect-list label.check{display:flex;align-items:center;gap:8px;font-weight:400;margin:0}.invitation-reconnect-list label.check input{width:auto;flex:none;margin:0}.invitation-center .panel-heading .buttons{display:flex;align-items:center;gap:12px}

/* administration.css */
.ad-heading,.ad-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.ad-heading h1{margin:4px 0}.ad-heading p,.ad-section-head p{color:var(--muted)}.ad-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.ad-metrics article{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-control);padding:16px 20px}.ad-metrics strong{font-size:var(--t24);display:block}.ad-metrics small{display:block;color:var(--muted)}.ad-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:20px}.ad-tabs button{background:none;border:0;border-bottom:3px solid transparent;border-radius:0;padding:12px 2px;color:var(--muted)}.ad-tabs [aria-selected=true]{color:var(--ink);border-bottom-color:var(--gold)}.ad-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-control);padding:22px;margin-bottom:18px}.ad-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ad-person{border:1px solid var(--line);border-radius:var(--radius-control);padding:19px}.ad-person.ad-owner{border-left:4px solid var(--gold)}.ad-identity{display:flex;align-items:center;gap:13px}.ad-identity h3{margin:0 0 4px}.ad-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#e9eff7;color:#355d91;font-weight:750;flex-shrink:0}.ad-identity small,.ad-row small,.ad-check small,.ad-cap small{display:block;color:var(--muted)}.ad-note{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-control);padding:15px 18px;margin:18px 0}.ad-note p{color:var(--muted)}.ad-boundary,.ad-warning{padding:15px 20px;border-left:3px solid var(--gold);background:#fff7df}.ad-delegate{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px}.ad-delegate aside{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-control);padding:20px;height:fit-content;position:sticky;top:90px}.ad-cap,.ad-check{display:flex!important;align-items:flex-start;gap:11px;margin:14px 0}.ad-cap{padding:10px 0;border-bottom:1px solid var(--line)}.ad-cap input,.ad-check input{width:17px;flex-shrink:0;margin:4px 0 0}.ad-cap b,.ad-cap small{display:block}.administration textarea,.administration-dialog textarea{min-height:76px}.ad-savebar{position:sticky;bottom:0;z-index:2;background:var(--surface);box-shadow:0 -6px 16px #1b295414;border-top:1px solid var(--line);padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:15px}.ad-savebar>div{display:flex;gap:8px}.ad-row{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:16px 0}.ad-row:last-child{border:0}.administration-dialog{width:740px;max-width:94vw;padding:0!important;max-height:90vh;overflow:hidden}.ad-dialog-head{display:flex;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--line)}.ad-dialog-head h2{margin:6px 0}.ad-dialog-body{padding:22px 24px;overflow:auto;max-height:calc(90vh - 180px)}.ad-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;border-top:1px solid var(--line);background:var(--panel)}.ad-dialog-foot>div{display:flex;gap:10px}.ad-change{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin:16px 0}.ad-change>div{background:var(--panel-soft);border-radius:var(--radius-control);padding:14px}.ad-report{white-space:pre-wrap;font-size:var(--t12);max-width:100%;overflow-wrap:anywhere}.administration input,.administration select,.administration textarea{max-width:100%}.administration [hidden]{display:none!important}
.ad-person button,.ad-row button,.ad-note button,.ad-savebar button,.administration-dialog button:not(.icon-button){font:inherit;border:1px solid var(--control-line,var(--line));border-radius:var(--radius-sm);padding:9px 14px;background:var(--control-fill,#edf2fa);color:var(--ink);cursor:pointer}.administration-dialog .primary,.ad-savebar .primary,.ad-row .primary{background:var(--ink)!important;color:white!important;border-color:var(--ink)!important}.administration-dialog button:disabled{opacity:.55;cursor:default}.ad-person button:hover,.ad-row button:hover,.ad-note button:hover{filter:brightness(.97)}.administration-dialog button:focus-visible,.administration button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

/* notifications.css */
.notification-bell{position:relative;flex-shrink:0}.notification-bell>span{position:absolute;right:-5px;top:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:var(--radius-control);display:grid;place-items:center;background:#e32636;color:white;font-size:var(--t10);font-weight:750;border:2px solid white}.notification-dialog{width:780px;max-width:calc(100vw - 30px);max-height:88vh;padding:26px}.notification-dialog h2{margin:0}.notification-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0 17px;border-bottom:1px solid var(--line)}.notification-toolbar [role=group]{display:flex;gap:6px}.notification-toolbar [role=group] button{padding:8px 12px;border-radius:var(--radius-sm);color:var(--muted);background:var(--panel-soft);font-size:var(--t12)}.notification-toolbar [aria-pressed=true]{background:#192950!important;color:white!important}.notification-groups{margin-top:16px}.notification-group{border:1px solid var(--line);border-radius:var(--radius-control);margin:10px 0;overflow:hidden}.notification-group>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:13px 15px;background:var(--panel-soft);color:var(--ink);font-size:var(--t13);font-weight:650;list-style:none}.notification-group>summary:before{content:'›';font-size:var(--t20);margin-right:10px}.notification-group[open]>summary:before{transform:rotate(90deg)}.notification-group>summary>span{flex:1}.notification-group>summary>b{background:#dfe9f7;border-radius:var(--radius-panel);padding:2px 8px;font-size:var(--t11)}.notification-item{display:flex;gap:12px;padding:17px;border-top:1px solid var(--line)}.notification-item h3{font-size:var(--t14);margin:3px 0 6px}.notification-item small{font-size:var(--t10);color:var(--muted)}.notification-item p{font-size:var(--t12);line-height:1.6;margin-bottom:10px}.notification-dot{width:8px;height:8px;flex-shrink:0;margin-top:5px;background:#347cc3;border-radius:50%}.notification-item.read .notification-dot{background:#c5d1e0}.notification-item.read{background:var(--panel-soft)}.notification-actions{display:flex;gap:18px;flex-wrap:wrap;font-size:var(--t11)}.notification-actions button{font-size:var(--t11)}.notification-empty{text-align:center;padding:28px;color:var(--muted)}.notification-empty svg{width:32px;height:32px}.notification-boundary{font-size:var(--t10);line-height:1.6;padding-top:12px;border-top:1px solid var(--line);color:var(--muted)}@media(max-width:600px){.notification-dialog{padding:16px}.notification-toolbar{align-items:flex-start;flex-wrap:wrap}}

/* task-workflow.css */
.task-workflow{margin:18px 0;padding:13px;border:1px solid var(--line,var(--line));border-radius:var(--radius-control);background:var(--panel-soft)}.task-workflow>.flex{gap:8px;flex-wrap:wrap}.task-workflow-steps{display:flex;list-style:none;padding:0;margin:14px 0;gap:5px;font-size:var(--t10);counter-reset:handoff}.task-workflow-steps li{flex:1;color:var(--muted);padding-top:9px;border-top:3px solid var(--line);counter-increment:handoff}.task-workflow-steps li:before{content:counter(handoff) ' · '}.task-workflow-steps .current{color:#234879;border-color:#4979b2;font-weight:700}.task-workflow blockquote{margin:10px 0;padding:10px;border-left:3px solid #c8801d;background:#fff8ec;font-size:var(--t12);white-space:pre-wrap;overflow-wrap:anywhere}.task-workflow .buttons{justify-content:flex-start;flex-wrap:wrap}.task-workflow .buttons:empty{display:none}.task-workflow .limits{margin:8px 0}.task-inbox .workflow-state{display:block;margin-top:5px;font-size:var(--t10);color:var(--muted)}.notification-item .notification-reason{border-left:3px solid #c8801d;padding-left:8px;white-space:pre-wrap}

/* task-actions.css */
.task-center .task-direct-table{min-width:880px;table-layout:fixed}.task-center .task-direct-table th:nth-child(2){width:32%}.task-center .task-direct-table th:nth-child(3){width:23%}.task-center .task-direct-table th:nth-child(4){width:22%}.task-center .task-direct-table th:nth-child(5){width:calc(23% - 32px)}.task-center .task-direct-table td{padding:15px 12px;vertical-align:middle}.task-direct-table td,.task-direct-table small{overflow-wrap:anywhere}.task-direct-table .direct-task>button{padding:0;border:0;background:transparent;font-size:var(--t13);line-height:1.5}.task-direct-table .direct-task strong{color:#365a88}.task-direct-table small{display:block;margin:5px 0 0;color:var(--muted);font-size:var(--t11)}.task-direct-table .assignment-pending{color:#936006}.task-direct-table .direct-owner>.link-btn{font-size:var(--t11);padding:5px 0;min-height:28px}.task-direct-table select{width:100%;padding:7px 8px;font-size:var(--t12);margin:0}.task-direct-table select:disabled{background:transparent;border-color:transparent;color:var(--muted);opacity:1}.direct-progress{display:flex;align-items:center;gap:8px;margin-top:6px;color:var(--muted);font-size:var(--t11)}.direct-progress input{width:48px;padding:3px 2px;text-align:right;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;font-size:var(--t12);margin:0}.direct-progress input:disabled{color:var(--muted);opacity:1;border-color:transparent}.direct-track{display:block;flex:1;height:4px;background:#edf3fc;border-radius:5px;overflow:hidden}.direct-track i{display:block;height:100%;background:#365e8e}.task-center .task-direct-table .direct-next>button{width:100%;font-size:var(--t12);padding:10px 8px}.direct-attention{font-size:var(--t11);margin-top:6px;color:var(--muted)}.direct-attention summary{cursor:pointer}.direct-message{color:#176c54;margin:8px 18px;font-size:var(--t12)}.task-direct-personal{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--panel-soft);padding:13px 18px;border-block:1px solid #dae4f2}.task-direct-personal small{display:block;font-size:var(--t11);color:var(--muted);margin-top:4px}.task-direct-personal button{font-size:var(--t12)}.task-direct-editor{background:var(--panel);border-left:3px solid #547dab;padding:18px 22px;margin:0}.task-center .task-direct-table .direct-editor-row>td{padding:0}.task-direct-editor>div small{color:var(--muted);font-size:var(--t11)}.task-direct-editor h3{font-size:var(--t16);margin:5px 0 14px}.task-direct-editor fieldset{border:0;padding:0;margin:0;min-width:0}.task-direct-editor .grid2{gap:24px}.task-direct-editor input,.task-direct-editor select,.task-direct-editor textarea{font-size:var(--t13);width:100%;padding:9px}.task-direct-editor textarea{min-height:70px}.task-direct-editor label{font-size:var(--t12)}.task-direct-editor p,.task-direct-editor li{font-size:var(--t12);line-height:1.6}.task-direct-editor .buttons{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}.direct-evidence{white-space:pre-wrap;overflow-wrap:anywhere}.task-direct-editor .note{align-self:start;background:#fff8e9;padding:14px;border-left:3px solid #d1a138;color:#75521a}.task-center .task-center-queues{grid-template-columns:repeat(4,minmax(0,1fr))}.task-center-queues button[aria-pressed=true]{border-color:#365e8e}
@media(min-width:1500px){.task-center .task-center-queues{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(max-width:700px){.task-center .task-center-queues{grid-template-columns:repeat(2,minmax(0,1fr))}.task-direct-editor .grid2{grid-template-columns:1fr;gap:10px}.task-direct-editor{padding:15px}.task-direct-table input,.task-direct-table select,.task-direct-editor input,.task-direct-editor select,.task-direct-editor textarea{font-size:var(--t16)}.task-center-table{max-height:none}.task-center .task-direct-table{min-width:0;table-layout:auto}.task-direct-table thead{display:none}.task-direct-table tbody,.task-direct-table tr,.task-direct-table td{display:block;width:auto!important}.task-direct-table tr[data-direct-row]{display:grid;grid-template-columns:28px 1fr 1fr;padding:12px;gap:10px;border-bottom:1px solid var(--line)}.task-center .task-direct-table td{padding:0;border:0}.task-direct-table .direct-task{grid-column:2/4}.task-direct-table .direct-owner{grid-column:2}.task-direct-table .direct-report{grid-column:3}.task-direct-table .direct-next{grid-column:2/4}.task-direct-table .inbox-group th{display:block;width:100%}.task-direct-editor .date-pair{grid-template-columns:1fr 1fr}.direct-progress input{max-width:45px}.task-center .task-direct-table .direct-next>button{width:auto}.task-direct-personal button{min-height:44px}}

.task-center .task-direct-table button.primary{background:var(--ink);color:white;padding:11px 16px;text-align:center}.task-center .task-direct-table button.secondary{background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:10px 14px;text-align:center}.task-center .task-direct-table button.primary:hover{background:#283d6e}.task-center .task-direct-table button.secondary:hover{background:var(--panel-soft)}.task-direct-editor .date-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.task-direct-editor .date-pair small,.task-direct-editor .date-pair b{display:block}

/* people-profiles.css */
.people-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:22px 0}.people-heading h1{margin:0 0 8px;font-size:var(--t24)}.people-heading p{margin:0;color:var(--muted)}.people-tools{position:sticky;top:var(--topbar-height,70px);z-index:22;background:var(--surface-soft);padding:12px 0;display:flex;justify-content:space-between;gap:18px;align-items:center}.people-tools .selected,.people-tabs .selected{background:#213b65;color:#fff}.people-search{display:flex;gap:8px;align-items:center}.people-search input{width:260px}.people-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.people-tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:20px;cursor:pointer;text-align:left;color:var(--ink);transition:border-color .15s,box-shadow .15s}.people-tile:hover,.people-tile:focus-visible{border-color:#638cc3;box-shadow:0 4px 12px #17345c13}.people-identity{display:flex;align-items:center;gap:13px}.people-identity small{display:block;color:var(--muted);margin-top:3px}.people-identity .person-avatar{width:52px;height:52px;flex-shrink:0}.people-test-avatar{background:#fff0c5;color:#8e650e}.people-markers{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:15px 0}.people-marker{display:inline-flex;align-items:center;gap:5px;font-size:var(--t11);font-weight:600;background:var(--panel-soft);border-radius:var(--radius-sm);padding:3px 6px;color:var(--muted)}.people-marker.active{background:#e8f4ed;color:#187146}.people-marker.test{background:#fff1ce;color:#876116}.people-marker svg{width:14px;height:14px}.people-desc{font-size:var(--t12);color:var(--muted);min-height:18px}.people-progress-label{display:flex;justify-content:space-between;gap:12px;font-size:var(--t12);margin:14px 0 7px}.people-progress{height:5px;background:#eaf0f9;border-radius:var(--radius-sm);overflow:hidden}.people-progress>span{display:block;height:100%;background:#5384bf}.people-grid.as-list{display:flex;flex-direction:column;gap:8px}.people-grid.as-list .people-tile{display:grid;grid-template-columns:minmax(230px,1.1fr) minmax(190px,1fr) minmax(140px,1fr) 200px;gap:16px;align-items:center;padding:13px 18px}.people-grid.as-list .people-markers,.people-grid.as-list .people-progress-label{margin:0}.people-stepbar{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.people-step{border-top:3px solid var(--line);padding-top:8px;font-size:var(--t12);color:var(--muted)}.people-step.done{border-color:#41816b}.people-profile .people-tools{padding:12px 0}.people-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:22px}.people-detail-grid>.card{margin-top:0}.people-detail-grid h3{margin-top:0}.people-profile .profile-details{margin:0}.people-readiness{min-width:225px}.people-tabs{display:flex;gap:7px}.people-saved{font-size:var(--t12);color:var(--muted)}.people-formbar{position:sticky;bottom:-28px;padding:14px 0;background:var(--surface);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.people-account-entry{padding:20px;background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-panel);margin-bottom:20px}.people-account-entry .buttons{margin-top:12px}.test-workspace body{padding-top:var(--test-banner-height,65px)}.test-workspace::after{content:'';position:fixed;inset:0;border:5px solid #d5a028;pointer-events:none;z-index:2147483000}.test-workspace .topbar{top:var(--test-banner-height,65px)}.test-workspace .program-ribbon{top:calc(var(--topbar-height,70px) + var(--test-banner-height,65px))}.test-workspace .people-tools,.test-workspace .hr-tabs{top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,0px) + var(--test-banner-height,65px))}#test-access-banner{position:fixed;inset:5px 5px auto;z-index:2147482000;background:#fff0c9;border-bottom:1px solid #ddb653;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#694b0c;font-size:var(--t13)}#test-access-banner small{display:block;margin-top:2px;font-size:var(--t11)}.test-ended{margin:100px auto;max-width:700px}.people-form fieldset{border:1px solid var(--line);border-radius:var(--radius-control);padding:14px}.people-form label input[type=checkbox]{width:auto}.people-photo{display:flex;gap:12px;align-items:center}.people-profile .card .buttons{margin-top:18px}

.topbar [data-people-open]{display:flex;align-items:center;gap:6px;white-space:nowrap}.topbar [data-people-open] svg{width:18px;height:18px}.people-tools .selected,.people-tabs .selected{padding:11px 16px;border-radius:var(--radius-sm)}.people-identity .people-test-avatar{background:#fff0c5;color:#8e650e}
.people-history-item{padding:12px 0;border-bottom:1px solid var(--line)}.people-history-item small{display:block;color:var(--muted);margin-top:5px}.people-history-item p{margin-bottom:4px}
.people-detail-grid{grid-template-columns:minmax(0,3fr) minmax(220px,1fr);align-items:start}.people-inline-form{width:100%;max-width:none}.people-inline-form form{margin-top:18px}.people-inline-form label{display:block;margin:12px 0 6px}.people-inline-form label.flex,.people-inline-form .access-checks>label,.people-inline-form .staffing-role-list label{display:flex;align-items:center;gap:10px}.people-inline-form input[type=checkbox]{width:auto}.people-inline-form .buttons:last-child{position:sticky;bottom:0;background:var(--surface);padding:14px 0;border-top:1px solid var(--line);z-index:5}.people-inline-form .grid2{gap:28px}.people-inline-form .staffing-role-list{max-height:280px;overflow:auto}.people-create-type{margin-bottom:15px}.people-create-type .selected{background:#213b65;color:white}.people-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin:22px 0}.people-photo{max-width:100%;flex-wrap:wrap}.people-photo input{max-width:280px}.people-profile .people-tools svg{width:18px;height:18px}.people-admin-advanced{margin-top:26px;padding:18px;border:1px solid var(--line);border-radius:var(--radius-control)}.people-admin-advanced>summary{font-weight:650;cursor:pointer}.people-admin-advanced .invitation-members,.people-admin-advanced .invitation-members+h4{display:none}#people-admin-directory .people-tools{position:static}#people-admin-directory .people-heading{margin-top:0}
@media(max-width:1000px){.people-detail-grid{grid-template-columns:1fr}.people-grid.as-list .people-tile{grid-template-columns:1fr 1fr}.people-tabs{flex-wrap:wrap}.people-tools{flex-wrap:wrap}.people-inline-form .grid2{grid-template-columns:1fr}}
.people-permission-overrides{margin:20px 0;border-top:1px solid var(--line);padding-top:14px}.people-permission-overrides summary{font-weight:650;cursor:pointer}.people-inline-form.invitation-dialog{width:100%;max-width:none;padding:0}.people-inline-form .people-formbar{bottom:0;gap:12px}.people-inline-form .people-formbar>.buttons{position:static;border:0;padding:0;margin:0}
.people-photo{position:relative;cursor:pointer;border-radius:var(--radius-sm);padding:11px 16px;font-size:var(--t13);font-weight:600}.people-photo input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.people-photo:focus-within{outline:2px solid #3864a0;outline-offset:2px}.people-inline-form .access-checks>label{font-size:var(--t14);font-weight:650}.people-inline-form .access-checks>p{margin:4px 0}.people-inline-form .access-checks>details{margin-bottom:16px}
/* Approved central testing workspace. */
.test-central-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);gap:22px;align-items:start}.test-central-grid>.card{margin:0}.test-central-filters{display:flex;align-items:center;gap:12px}.test-central-filters input{flex:1;min-width:0}.test-central-domains{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}.test-central-domains button{padding:8px 12px;background:var(--panel-soft);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-dialog)}.test-central-domains button[aria-pressed=true]{background:#213b65;color:#fff}.test-central-extra{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px 0}.test-central-count{display:flex;align-items:center;justify-content:space-between;font-size:var(--t12);color:var(--muted);margin-bottom:8px}.test-central-option{width:100%;display:grid;grid-template-columns:42px 1fr auto 16px;gap:14px;align-items:center;text-align:left;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-control);padding:16px;margin:8px 0}.test-central-option[aria-checked=true]{border-color:#527bb5;background:var(--panel-soft);box-shadow:inset 3px 0 #d0a928}.test-central-option small{display:block;font-weight:400;color:var(--muted);line-height:1.6}.test-central-radio{width:15px;height:15px;border:1px solid #a7bad5;border-radius:50%}.test-central-option[aria-checked=true] .test-central-radio{background:#294875;box-shadow:inset 0 0 0 3px white}.test-central-selection{position:sticky;top:calc(var(--topbar-height,70px) + var(--test-banner-height,0px) + 12px)}.test-central-selection .people-identity{margin:20px 0}.test-central-selection h3{margin-top:24px}.test-central-selection>button.primary{width:100%;margin:12px 0}.test-central-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.test-central-modes button{background:var(--panel-soft);color:var(--ink)}.test-central-modes button[aria-pressed=true]{background:#213b65;color:#fff}.test-central [data-tc-error]:empty{display:none}

/* compact-workspace.css */
/* Common measured navigation stack; no business-state or permission changes. */
:root{--workspace-shell-top:calc(var(--topbar-height,70px) + var(--program-ribbon-height,0px));--workspace-test-height:0px}
.test-workspace{--workspace-test-height:var(--test-banner-height,65px)}
[data-operation-toolbar].workspace-operation{position:sticky;top:calc(var(--workspace-shell-top) + var(--workspace-test-height) + var(--operation-before,0px))!important;z-index:19;background:var(--bg,#f5f6fa)}
.program-ribbon{top:calc(var(--topbar-height,70px) + var(--workspace-test-height))}
.compact-filters{min-width:0;margin:0;flex:1}
.compact-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:36px}
.compact-filter-summary{min-width:0;font-size:var(--t12);color:var(--muted,#61789e);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.compact-filter-heading button{display:flex;align-items:center;gap:7px;flex:none;width:auto;padding:6px 10px;font-size:var(--t12)}
.compact-filter-heading svg{width:16px;height:16px;transition:transform .12s}
.compact-filter-heading [aria-expanded=false] svg{transform:rotate(180deg)}
.compact-filter-heading [aria-expanded=true] svg{transform:rotate(0)}
.compact-filter-fields{margin-top:10px}.compact-filter-fields[hidden]{display:none!important}
.compact-inline-fields{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.compact-inline-fields label{flex:1;min-width:150px;margin:0}.compact-inline-fields input,.compact-inline-fields select{width:100%}
.compact-toolbar-main{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.compact-toolbar-main>.buttons{margin-left:auto}
.project-toolbar.compact-project-toolbar{display:flex;gap:10px 14px}.compact-project-toolbar .compact-toolbar-main,.compact-project-toolbar .compact-filters{display:contents}.compact-project-toolbar>.compact-toolbar-main>.buttons{margin-left:auto}.compact-project-toolbar .compact-filter-heading{gap:10px}.compact-project-toolbar .compact-filter-summary{max-width:180px}.compact-project-toolbar .compact-filter-fields{flex-basis:100%;margin-top:0;padding-top:10px;border-top:1px solid var(--line)}.compact-project-toolbar .compact-inline-fields{align-items:center}.compact-project-toolbar .project-group-switch{margin:0}.compact-project-toolbar .client-order-control{margin-left:auto}
.compact-pmo-toolbar{display:flex;align-items:start;gap:18px}.compact-pmo-toolbar>.compact-filters{min-width:280px}.compact-pmo-toolbar>.buttons{flex:none;align-items:center}
.compact-people-tools>.compact-filters{min-width:280px}.compact-people-tools>.buttons{flex:none}.compact-people-tools .people-search{flex:1}
.dashboard-filters{margin:0}.dashboard-widget .compact-filters{margin:10px 0}.dashboard-widget .compact-filter-summary{font-size:var(--t11)}
.network-filters .compact-filter-heading{align-items:start}.network-filters .compact-filter-summary{white-space:normal}.network-filters .compact-filter-fields{padding-top:8px}
.delivery-toolbar .task-center-filters>summary{max-width:100%;font-size:var(--t12);line-height:1.5;overflow-wrap:anywhere}
.workspace-operation.tcw-tabs,.workspace-operation.ai-tabs,.workspace-operation.account-tabs,.workspace-operation.hr-tabs{padding:10px 0;margin-top:0;box-shadow:0 3px 0 var(--bg,#f5f6fa)}
.workspace-operation.people-tools{z-index:19}
.pm-navigation>.pm-savebar{position:static;margin:0 0 8px}.pm-navigation>.pm-tabs{margin:0}.pm-navigation{padding-bottom:10px}
.programme-calendar,.factory-frozen-calendar.programme-calendar,.execution-calendar.programme-calendar,.resource-layout .programme-calendar,.finance-tabs,.card>.shared-chart-tools{top:calc(var(--workspace-shell-top) + var(--workspace-test-height) + var(--operation-toolbar-height,0px) + 3px)}
.network-filters,.network-detail{top:calc(var(--workspace-shell-top) + var(--workspace-test-height) + var(--operation-toolbar-height,0px) + 12px);max-height:calc(100vh - var(--workspace-shell-top) - var(--workspace-test-height) - var(--operation-toolbar-height,0px) - 26px)}
.cockpit-dock>aside{top:calc(var(--workspace-shell-top) + var(--workspace-test-height) + var(--operation-toolbar-height,0px) + 12px)!important;max-height:calc(100vh - var(--workspace-shell-top) - var(--workspace-test-height) - var(--operation-toolbar-height,0px) - 26px)!important}
.resource-layout.cockpit-dock>aside{top:calc(var(--workspace-shell-top) + var(--workspace-test-height) + var(--operation-toolbar-height,0px) + 12px)!important;max-height:calc(100vh - var(--workspace-shell-top) - var(--workspace-test-height) - var(--operation-toolbar-height,0px) - 26px)!important}
.pme-dialog .task-card-workspace{gap:0}.pme-actions .buttons{margin:0}

/* Context return occupies the global header instead of a second content row. */
.topbar-leading{display:flex;align-items:center;gap:8px;flex-shrink:0}
.context-return-compact{position:relative;display:flex}
.context-return-button{background:#fff5dd;color:#795c25;border:1px solid #ecd9a7}
.context-return-button svg{transform:rotate(-90deg)}
.context-return-hint,.context-return-error{position:absolute;top:calc(100% + 9px);left:0;width:280px;max-width:80vw;background:var(--popover);border:1px solid var(--line);border-radius:var(--radius-control);padding:12px;box-shadow:0 8px 28px #18284b22;color:var(--ink);font-size:var(--t12);line-height:1.5;z-index:50;pointer-events:none}
.context-return-hint{display:none}.context-return-hint b,.context-return-hint span{display:block}.context-return-hint span{font-size:var(--t11);color:var(--muted);margin-top:4px}
.context-return-compact:hover .context-return-hint,.context-return-compact:focus-within .context-return-hint{display:block}
.context-return-error:empty{display:none}.context-return-compact:has(.context-return-error:not(:empty)) .context-return-hint{display:none}
.context-return-compact.hint-dismissed .context-return-hint{display:none}

/* Planning workspaces use the available screen; forms elsewhere retain their reading width. */
main.workspace-wide{width:100%;max-width:none}

/* organisation.css */
.org-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.org-heading h2,.org-heading h3{margin:0}.org-heading p{margin:7px 0 0}.org-heading .eyebrow{margin-bottom:8px}.org-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:14px 0 22px}.org-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;padding:12px 16px}.org-tabs [aria-current=page]{border-color:#d4a71e;font-weight:700}.org-tools{display:flex;align-items:center;gap:14px;margin:12px 0 20px}.org-tools>input{flex:1;max-width:550px}.org-tools label{display:flex;align-items:center;gap:6px}.org-tools input[type=checkbox],.org-check input{width:auto;flex-shrink:0}.org-reference-table small{display:block;color:var(--muted);margin-top:4px}.org-reference-table td{vertical-align:middle;padding:14px}.org-reference-table td:last-child{text-align:right}.org-reference-table td:last-child button{margin-left:6px}.org-person-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:10px}.org-person-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);min-width:0}.org-person-card .person-avatar{width:34px;height:34px;flex-shrink:0}.org-person-card .person-avatar img{width:34px;height:34px;object-fit:cover}.org-person-card>div{min-width:0}.org-person-card small{display:block;color:var(--muted);font-size:var(--t11);line-height:1.4}.org-person-card b{font-size:var(--t13)}.org-person-block{border:1px solid var(--line);border-radius:var(--radius-control);padding:12px;background:var(--panel)}.org-person-block>.org-person-card{border:0;padding:0}.org-person-block p{font-size:var(--t12);color:var(--muted)}.org-pagination{display:flex;align-items:center;justify-content:flex-end;gap:15px;margin:16px 0}.org-pagination button{padding:6px 14px}.org-execution{display:grid;gap:18px}.org-execution>.card{margin:0}.org-leader{max-width:440px;border-left:3px solid #d5ad3d;margin:18px 0}.org-team-block{border:1px solid var(--line);border-radius:var(--radius-control);padding:14px;background:var(--panel-soft)}.org-team-block h3{font-size:var(--t14);margin:0 0 12px}.org-team-block h3 small{font-weight:400;color:var(--muted);margin-left:10px}.org-teams-grid{display:grid;gap:15px}.org-project-register{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.org-project-register>article{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px}.org-project-register small{display:block;color:var(--muted);margin-top:5px}.org-dialog{width:min(1140px,94vw)!important;max-width:94vw!important;padding:0!important;max-height:92vh;color:var(--ink);border:0;border-radius:var(--radius-panel)}.org-dialog-title{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.org-dialog-title h2{font-size:var(--t20);margin:0}.org-dialog form{display:flex;flex-direction:column;max-height:calc(92vh - 82px)}.org-dialog-body{padding:22px 24px;overflow:auto;max-height:calc(92vh - 164px)}.org-dialog-body label{margin-bottom:12px}.org-dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 24px;background:var(--surface);border-top:1px solid var(--line);position:sticky;bottom:0;z-index:2}.org-dialog-footer>span{margin-right:auto;color:var(--muted);font-size:var(--t11);max-width:60%}.org-check{display:flex;gap:10px;align-items:center}.org-check span small{display:block;color:var(--muted)}.org-memberships{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.org-membership{padding:14px;border:1px solid var(--line);border-radius:var(--radius-control)}.org-assignee-row{display:flex;align-items:center;gap:12px;background:var(--panel-soft);padding:14px;margin-bottom:10px;border-left:3px solid #d5ad3d}.org-assignee-row>div{flex:1}.org-assignee-row b,.org-assignee-row small{display:block}.org-committee-edit{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;margin-bottom:10px}.org-committee-edit label{margin:0}.org-team-choice{border:1px solid var(--line);padding:14px;border-radius:var(--radius-control);margin:10px 0}.org-team-choice>.org-check{display:inline-flex;min-width:65%}.org-team-choice>.org-person-grid{margin-top:14px}.org-picker-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;align-items:end}.org-picker-filters label{margin:0}.org-picker-filters>input{height:40px}.org-picker-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.org-picker-person{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;min-width:0}.org-picker-person:has(input:checked){background:#edf4ff;border-color:#4b77a9}.org-picker-person input{width:auto}.org-picker-person .person-avatar{width:30px;height:30px;flex-shrink:0}.org-picker-person small{display:block;font-size:var(--t11);font-weight:400;color:var(--muted)}.org-picker-person b{font-size:var(--t12)}.org-review-values{padding:15px;background:var(--panel-soft);border-radius:var(--radius-control);margin-bottom:16px}.org-chart-filters{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;gap:14px;align-items:end}.org-chart-filters label{font-size:12px;color:#55749d}.org-layout-controls{display:flex;align-items:center;gap:8px;margin:16px 0}.org-layout-controls>button{display:flex;align-items:center;gap:10px;padding:7px 13px;background:var(--panel);border:1px solid var(--line);font-size:var(--t12)}.org-layout-controls [aria-pressed=true]{background:#edf3fc;outline:1px solid #2b568e}.org-layout-icon{font-size:var(--t13);color:#477cb3;line-height:12px}.org-layout-icon.executive{color:var(--ink)}.org-layout-icon.portraits{border-radius:50%}.org-layout-icon.companies{border-left:2px dotted #7797bd;border-right:2px dotted #7797bd}.org-layout-controls>label{font-size:var(--t11);margin-left:10px}.org-chart-legend{gap:16px;font-size:10px;margin-top:6px}.org-chart-legend>span{display:flex;align-items:center;gap:6px}.org-chart-legend i{display:inline-block;width:25px;border-top:2px solid #5480b0}.org-chart-legend i.programme{border-color:#be8b19;border-top-style:dashed}.org-chart-legend i.project{border-color:#148f8b;border-top-style:dashed}.org-chart-legend>.buttons{margin-left:auto}.org-chart-legend button{padding:7px 10px;font-size:11px}.org-matrix-viewport{overflow:auto;max-height:72vh;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel)}.org-matrix-scaler{position:relative}.org-matrix{position:relative;transform-origin:top left}.org-matrix>svg{position:absolute;inset:0;pointer-events:none;overflow:visible}.org-edge{fill:none;stroke:#658bb5;stroke-width:1.2}.org-edge.programme{stroke:#bd8c27;stroke-dasharray:5 4}.org-edge.project{stroke:#188b85;stroke-dasharray:5 4}.org-matrix marker .hierarchy{fill:#658bb5}.org-matrix marker .programme{fill:#bd8c27}.org-matrix marker .project{fill:#188b85}.org-node{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:stretch;background:var(--popover);border:1px solid #c6d6ed;border-top:3px solid #638eb9;border-radius:var(--radius-sm);padding:5px 8px;text-align:left;overflow:hidden;font-size:var(--t11);line-height:1.2;box-shadow:0 2px 6px #17254e05}.org-node>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-node small{font-size:var(--t9);font-weight:400;color:var(--muted)}.org-node.context{border-style:dashed;background:var(--surface-soft)}.org-node-name{display:flex;gap:6px;align-items:center;font-size:var(--t12);margin-bottom:3px}.org-node-name b{overflow:hidden;text-overflow:ellipsis}.org-node .person-avatar,.org-initial{height:22px;width:22px;min-width:22px;border-radius:50%;background:#eaf1fb;color:#426a9c;display:inline-flex;align-items:center;justify-content:center;font-size:var(--t10)}.org-node .person-avatar img{width:22px;height:22px;object-fit:cover}.org-matrix.portraits .org-node{align-items:center;text-align:center}.org-matrix.portraits .org-node-name{flex-direction:column;gap:4px}.org-matrix.portraits .person-avatar,.org-matrix.portraits .org-initial{width:30px;height:30px}.org-matrix.executive .org-node{background:#192551;color:white;border-top:3px solid #c9a13a}.org-matrix.executive .org-node small{color:#d5e3fa}.org-level-band{position:absolute;left:10px;right:10px;border-bottom:1px solid var(--line)}.org-level-band:nth-child(odd){background:var(--surface-soft)}.org-level-band>small{font-size:var(--t9);letter-spacing:.1em;color:var(--muted);position:absolute;left:12px;top:9px;text-transform:uppercase}.org-company-lane{position:absolute;border-left:1px solid var(--line);padding:10px;text-align:center;font-size:var(--t11);color:var(--muted)}.org-chart-empty{padding:55px;text-align:center}.org-project-filter{position:relative;font-size:var(--t12);align-self:end}.org-project-filter>summary{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:10px;cursor:pointer;min-height:39px;box-sizing:border-box}.org-project-filter>div{position:absolute;left:0;top:100%;background:var(--popover);border:1px solid var(--line);box-shadow:0 8px 28px #14254e22;border-radius:var(--radius-sm);padding:14px;width:340px;max-height:420px;overflow:auto;z-index:35}.org-project-filter h4{font-size:var(--t11);color:var(--muted);margin:14px 0 8px}.org-project-filter .org-check{font-size:var(--t12);padding:5px;margin:0}.org-project-filter .buttons button{font-size:var(--t11);padding:6px}.org-presentation-dialog{padding:0!important;width:97vw!important;max-width:97vw!important;height:94vh;max-height:94vh}.org-deck-toolbar{display:flex;align-items:center;gap:14px;background:var(--panel);padding:12px 22px;border-bottom:1px solid var(--line);font-size:var(--t11);flex-wrap:wrap}.org-deck-toolbar>label{display:flex;align-items:center;gap:6px}.org-deck-toolbar select{width:auto;font-size:var(--t11)}.org-deck-toolbar .org-project-filter{min-width:220px}.org-deck-canvas{padding:20px;background:#e8eef6;overflow:auto;height:calc(94vh - 155px)}.org-board{background:var(--panel);border-left:7px solid #192551;padding:24px 26px 14px;min-width:1000px;color:var(--ink)}.org-board>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.org-board-title{display:flex;align-items:center;gap:12px}.org-board h2{font-size:var(--t24);margin:0 0 4px}.org-board header p{font-size:var(--t11);color:var(--muted);margin:0}.org-board .ceva-identity{width:165px;max-height:42px;object-fit:contain}.org-board-band{background:var(--panel-soft);padding:5px 8px;font-size:var(--t11);font-weight:700;margin:8px 0 5px}.org-board-committee{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.org-board-person{border:1px solid var(--line);border-left:3px solid #4c78ac;border-radius:var(--radius-xs);padding:5px 6px;display:flex;align-items:center;gap:6px;min-width:0;background:var(--surface)}.org-board-person>div{min-width:0}.org-board-person b{font-size:var(--t12);line-height:1.15;display:block}.org-board-person span{display:block;font-size:var(--t10);line-height:1.2}.org-board-person small{display:block;font-size:var(--t9);color:var(--muted)}.org-board-person .person-avatar{width:25px;height:25px;min-width:25px;flex-shrink:0}.org-board-person .person-avatar img{width:25px;height:25px;object-fit:cover}.org-board h4{font-size:var(--t10);color:var(--muted);margin:12px 0 7px}.org-board-leads{display:flex;justify-content:center;gap:12px;position:relative;padding-bottom:20px}.org-board-leads:after{content:'';position:absolute;bottom:0;height:20px;border-left:1px dashed #bd8c27}.org-board-person.lead{background:#192551;border-left:4px solid #c9a13a;color:white;width:210px}.org-board-person.lead small{color:#dce7f7}.org-board-projects{display:grid;gap:9px;border-top:1px dashed #bd8c27;padding-top:12px;align-items:start}.org-board-project{min-width:0}.org-board-project-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;background:#192551;color:white;padding:7px 10px;border-radius:var(--radius-xs);min-height:39px}.org-board-project-heading b{font-size:var(--t13);display:block}.org-board-project-heading span{font-size:var(--t11);display:block}.org-board-teams{display:grid;gap:12px;position:relative;padding:12px 6px 0}.org-board-teams:before{content:'';position:absolute;top:0;left:50%;height:12px;border-left:1px solid #248e8a}.org-board-team{min-width:0;border-top:1px solid #248e8a}.org-board-team h5{font-size:var(--t10);color:#087f7a;text-align:center;margin:5px 0 8px}.org-board-team>div{border-left:1px solid #248e8a;padding-left:7px;margin-left:3px;display:grid;gap:3px}.org-board-team .org-board-person{position:relative}.org-board-team .org-board-person:before{position:absolute;content:'';width:8px;border-top:1px solid #248e8a;left:-10px;top:50%}.org-board>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:22px;padding-top:9px;font-size:var(--t9);color:var(--muted)}.org-board>footer small{font-size:var(--t9);max-width:50%;text-align:right}.org-resource-workspace .card{margin-bottom:18px}.org-resource-workspace>.hr-tabs{margin-bottom:20px}.org-resource-workspace .hr-pool-grid{gap:10px}.org-resource-workspace .hr-pool-card{border-radius:var(--radius-sm)}.org-resource-workspace .hr-kpis{border:1px solid var(--line);background:var(--panel-soft);border-radius:var(--radius-control)}.org-resource-workspace .hr-kpis>div{border-right:1px solid var(--line)}.org-resource-workspace .hr-kpis>div:last-child{border:0}.org-resource-workspace .hr-kpis strong{font-size:var(--t24)}

/* Unified customer intake: existing calculations, approved compact panel hierarchy. */
.unified-intake{max-width:1440px;margin:auto}.unified-intake h1{font-size:var(--t24)}.unified-intake .heading{margin-bottom:22px}.mi-unified-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}.mi-main-panels{display:grid;gap:16px;min-width:0}.mi-main-panels>.card{margin:0;padding:20px}.mi-main-panels h2,.mi-main-panels h3{font-size:var(--t16);margin:4px 0 18px}.mi-context-panel{position:sticky;top:85px}.mi-context-panel .card{margin:0;padding:20px;background:var(--surface-soft)}.mi-context-panel h2{font-size:var(--t18)}.mi-context-panel p,.mi-context-panel table{font-size:var(--t12)}.unified-intake label{font-size:var(--t12)}.unified-intake input,.unified-intake select{min-height:38px;font-size:var(--t13)}.unified-intake .pm-grid{gap:14px}.mi-sticky-footer{position:sticky;bottom:0;z-index:3;background:var(--surface);border:1px solid var(--line);border-top:3px solid #d4a820;border-radius:var(--radius-control);padding:14px 20px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px;box-shadow:0 -5px 18px #18295508}.mi-sticky-footer small{display:block;max-width:650px;font-size:var(--t11);color:var(--muted);margin-top:4px}.mi-company-list{max-height:315px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-control)}.mi-company-choice{width:100%;display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--panel);border-bottom:1px solid var(--line);text-align:left;border-radius:0}.mi-company-choice>span:nth-child(2){flex:1}.mi-company-choice small{display:block;font-size:var(--t11);color:var(--muted);margin-top:4px}.mi-company-choice.selected{background:var(--panel-soft);box-shadow:inset 3px 0 #2a558b}.mi-company-choice .company-large-mark{width:50px;height:38px;font-size:var(--t13)}.mi-company-choice img{max-width:85px;max-height:38px;object-fit:contain}.mi-final-review .pm-footer{position:sticky;bottom:0;background:var(--surface);padding:16px 0;border-top:1px solid var(--line);z-index:2}
/* Workload views share the existing ledger and resource editing components. */
.rdv-page h2{font-size:var(--t18)}.rdv-page .card{padding:18px 20px}.rdv-filter-bar{display:grid;grid-template-columns:minmax(0,3fr) minmax(190px,1fr) minmax(170px,1fr);gap:14px;align-items:start;background:var(--panel);border:1px solid #d7e1ef;border-radius:8px;padding:14px 16px;margin:14px 0 18px}.rdv-filter-bar .hr-context{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr;gap:12px;padding:0;margin:0;border:0;background:transparent}.rdv-filter-bar label{font-size:11px;margin:0}.rdv-filter-bar input,.rdv-filter-bar select{min-width:0;font-size:12px;height:36px;padding:7px;margin:5px 0 0;width:100%}.rdv-filter-bar .org-project-filter{margin-top:21px}.rdv-filter-bar .org-check input{width:14px;height:14px;margin:0}.rdv-filter-note{grid-column:1/-1;border-top:1px solid var(--line);padding-top:8px;color:var(--muted);font-size:var(--t10)}.rdv-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.rdv-kpis>article{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-control);padding:15px 16px;display:flex;flex-direction:column;gap:6px;min-width:0}.rdv-kpis strong{font-size:var(--t24);color:var(--ink)}.rdv-kpis strong small{font-size:var(--t12);font-weight:400}.rdv-kpis>article>small{font-size:var(--t11);color:var(--muted)}.rdv-kpis>article>span{font-size:var(--t10);color:var(--muted)}.rdv-kpis .hr-financial{padding:0;background:transparent;border:0;margin:0;font-size:var(--t11)}.rdv-overview-grid{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(260px,1fr);gap:16px;align-items:stretch}.rdv-overview-grid>.card{margin:0 0 16px}.rdv-legend{display:flex;gap:14px;font-size:10px;color:#607594;flex-wrap:wrap;margin:8px 0 14px}.rdv-legend span{display:flex;align-items:center;gap:5px}.rdv-legend i{width:8px;height:8px;border-radius:1px}.rdv-chart{min-width:0}.rdv-chart-scroll{overflow:auto;scrollbar-width:thin}.rdv-chart svg{width:100%;display:block}.rdv-chart text{font-size:10px;fill:#637895}.rdv-chart g[role=button]{cursor:pointer}.rdv-chart g[role=button]:focus{outline:1px solid #2b5e91}.rdv-table{font-size:var(--t12);width:100%;border-collapse:collapse}.rdv-table th{font-size:var(--t9);padding:11px;background:var(--panel-soft);letter-spacing:.05em}.rdv-table td{padding:12px 11px;border-bottom:1px solid var(--line)}.rdv-table small{display:block;font-size:var(--t10);color:var(--muted);margin-top:5px}.rdv-heat{display:flex;align-items:flex-end;gap:2px;min-width:180px;max-width:480px;height:22px}.rdv-heat button{padding:0;min-width:2px;flex:1;border-radius:1px;background:#c7daed}.rdv-heat button.warm{background:#d8b76a}.rdv-heat button.over{background:#bb5368}
.rdv-heat button.empty{background:#e3ebf5}
.rdv-filter-clear{white-space:nowrap;font-size:var(--t12);padding:4px 10px;margin-left:auto}.rdv-person{display:flex;align-items:center;gap:10px}.rdv-person .person-avatar{width:32px;height:32px;flex:0 0 32px}.rdv-people-tools{display:flex;gap:16px;align-items:center;margin:14px 0}.rdv-people-tools>input{width:320px}.rdv-people-tools>select{width:220px}.rdv-people-tools input,.rdv-people-tools select{font-size:var(--t12)}.rdv-pool-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px}.rdv-pool-layout>div{min-width:0}.rdv-pool-list{align-self:start;position:sticky;top:80px}.rdv-pool-list h3{font-size:var(--t13)}.rdv-pool-list>button{display:block;text-align:left;width:100%;background:transparent;border:1px solid transparent;margin:3px 0;font-size:var(--t12);padding:12px 8px}.rdv-pool-list>button small{display:block;font-size:var(--t10);margin-top:5px;color:var(--muted)}.rdv-pool-list>button.selected{border-color:#b9cde4;background:var(--surface-soft);box-shadow:inset 3px 0 #345c8a}.rdv-dedication-summary{display:flex;gap:24px;align-items:center;padding:10px 0 16px;color:var(--muted);font-size:var(--t11)}.rdv-dedication-row{padding:16px 0;border-top:1px solid var(--line)}.rdv-dedication-row h3{font-size:var(--t14);margin:0 0 8px}.rdv-dedication-row small{font-size:var(--t10);color:var(--muted)}.rdv-dedication-row .profile-track{height:130px}.rdv-dedication-row .profile-phase{font-size:var(--t10)}.rdv-dedication-row .profile-phase:disabled{opacity:1;cursor:default}.rdv-dedication-row .profile-date-axis{margin-top:14px}.rdv-dedication-row .limits{font-size:var(--t10)}.org-review-comparison{display:grid;grid-template-columns:1fr 1fr;gap:18px}.org-review-comparison>section{border:1px solid var(--line);padding:16px;border-radius:var(--radius-sm)}.org-review-comparison .org-person-grid{grid-template-columns:1fr}

.org-board-person b,.org-board-person span,.org-board-project-heading b,.org-board-team h5{overflow-wrap:anywhere}.org-board-teams>.limits{font-size:var(--t10);grid-column:1/-1}.org-board .presentation-launcher{margin:0}.rdv-kpis .hr-financial-summary{font-size:var(--t11);padding:0;margin:0;line-height:1.6}.rdv-kpis .hr-financial-summary strong{display:block;font-size:var(--t24)}.rdv-kpis .hr-financial-summary small{display:block}.org-company-section{padding:15px 0}

.org-board{padding:16px 22px 12px}.org-board>header{margin-bottom:10px}.org-board h2{font-size:var(--t22);line-height:1.2}.org-board-person{padding:4px 6px}.org-board-person small{line-height:1.15}.org-board h4{margin:8px 0 5px;line-height:1.2}.org-board-leads{padding-bottom:14px}.org-board-leads:after{height:14px}.org-board-projects{padding-top:8px}.org-board-team h5{line-height:1.2;margin:4px 0 6px}.org-board>footer{margin-top:12px;padding-top:7px}.org-board-header .client-avatar{width:36px;height:36px}
/* Intake fidelity: the approved compact field groups and contextual draft. */
.unified-intake{max-width:1300px}.unified-intake>.heading{margin:0 0 8px;padding:4px 0 8px}.unified-intake>.heading h1{font-size:var(--t22);margin:4px 0 8px}.unified-intake>.heading p{font-size:var(--t12);margin:0}.unified-intake .mi-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0 20px;border-bottom:1px solid var(--line)}.mi-steps button{display:flex;align-items:center;gap:10px;text-align:left;border-radius:0;padding:14px 3px;background:none;border-bottom:3px solid transparent;font-size:var(--t12);font-weight:600;color:var(--ink)}.mi-steps .mi-step-number{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border-radius:50%;background:#e8eef7;font-size:var(--t12)}.mi-steps button.active{border-bottom-color:#d2a31b;color:var(--ink)}.mi-steps button.active .mi-step-number{background:#192653;color:white}.mi-steps small{display:block;font-size:var(--t10);font-weight:400;margin-top:4px;color:var(--muted)}.mi-steps button:disabled{opacity:.48}.mi-steps button.active:disabled{opacity:1}.unified-intake .mi-unified-layout{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.unified-intake .mi-main-panels{gap:14px}.unified-intake .mi-main-panels>.card,.unified-intake .mi-context-panel>.card{padding:18px;border-radius:var(--radius-control);margin:0;background:var(--surface)}.unified-intake .mi-main-panels h3,.unified-intake .mi-context-panel h3{font-size:var(--t16);margin:0 0 14px}.unified-intake .mi-section-title{margin-bottom:18px}.unified-intake .mi-section-title h3{margin-bottom:4px}.unified-intake .mi-section-title p{font-size:var(--t12);line-height:1.6;margin:0;color:var(--muted)}.unified-intake .mi-grid{display:grid;gap:14px}.unified-intake .mi-two{grid-template-columns:repeat(2,minmax(0,1fr))}.unified-intake .mi-three{grid-template-columns:repeat(3,minmax(0,1fr))}.unified-intake .mi-field{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;margin:0}.unified-intake .mi-field-caption{font-size:var(--t11);font-weight:600;color:var(--muted);min-height:18px;padding-right:20px;display:block}.unified-intake .mi-field input,.unified-intake .mi-field select{height:38px;margin:0;padding:8px 10px;font-size:var(--t12);width:100%;min-width:0;box-sizing:border-box}.unified-intake .mi-field .pm-help{position:absolute;right:0;top:-3px;margin:0}.unified-intake .pm-help summary{width:18px;height:18px;font-size:var(--t11)}.unified-intake .mi-field:has(.field-help-button) .pm-help{display:none}.unified-intake .mi-field>.field-help-button{position:absolute;right:0;top:-2px;margin:0}.unified-intake .mi-help-note{display:block;font-size:var(--t10);line-height:1.55;font-weight:400;color:var(--muted);margin-top:8px}.unified-intake .mi-check{display:flex;align-items:center;gap:8px;font-size:var(--t12);margin:20px 0 0}.unified-intake input[type=checkbox]{width:14px;height:14px;min-height:14px;accent-color:#263e6b}.unified-intake .mi-extra{padding:0!important}.unified-intake .mi-extra>summary{cursor:pointer;font-size:var(--t13);font-weight:600;padding:17px 18px}.unified-intake .mi-extra>summary small{float:right;font-size:var(--t11);font-weight:400;color:var(--muted)}.unified-intake .mi-extra[open]{padding:0 18px 18px!important}.unified-intake .mi-extra[open]>summary{margin:0 -18px 14px;border-bottom:1px solid var(--line)}.unified-intake .mi-extra .pm-dependencies{margin-top:0}.unified-intake .mi-extra .pm-dependencies legend{display:none}.unified-intake .mi-pool{display:grid;gap:8px;margin:0;padding:12px;background:var(--panel-soft);border-radius:var(--radius-sm);font-size:var(--t11)}.unified-intake .mi-pool input[type=number]{max-width:110px;margin:0}.unified-intake .mi-pool>span{display:flex;align-items:center;gap:8px}.unified-intake .mi-context-panel{display:grid;gap:14px;position:static;min-width:0}.unified-intake .mi-context-panel>.mi-tinted{background:var(--surface-soft)}.unified-intake .mi-context-panel .eyebrow{font-size:var(--t9);margin:6px 0 16px}.unified-intake .mi-draft-card h3{overflow-wrap:anywhere;font-size:var(--t16)}.mi-model-mark{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:var(--t12)}.mi-model-mark>span{width:34px;height:38px;background:#e9eff8;display:grid;place-items:center;font-size:var(--t22);color:#527ba8;border-radius:var(--radius-sm)}.mi-model-mark small{display:block;font-size:var(--t10);margin-top:4px;color:var(--muted)}.mi-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:13px 14px;font-size:var(--t11);line-height:1.5;margin:16px 0 0}.mi-summary dt{color:var(--muted)}.mi-summary dd{margin:0;color:var(--ink);font-weight:500;overflow-wrap:anywhere}.mi-context-details{margin-top:16px;font-size:var(--t10);line-height:1.5;color:var(--muted)}.mi-context-details summary{cursor:pointer}.mi-aside-note{border-left:3px solid #d4a820;padding:3px 13px;font-size:var(--t12)}.mi-aside-note p{font-size:var(--t11);line-height:1.6;margin-bottom:0}.unified-intake .mi-sticky-footer{border-top:1px solid var(--line);border-radius:0;padding:14px 18px;margin-top:18px;box-shadow:0 -4px 12px #18295506}.unified-intake .mi-sticky-footer b{font-size:var(--t11);font-weight:500}.unified-intake .mi-sticky-footer small{font-size:var(--t10)}.unified-intake .mi-sticky-footer .error{font-size:var(--t12)}.unified-intake .mi-sticky-footer button{white-space:nowrap}.unified-intake .mi-field .field-help.expanded{position:static;width:auto;height:auto;font-size:var(--t10)}.unified-intake .mi-field .date-feedback{font-size:var(--t11)}.unified-intake .mi-tinted>p{font-size:var(--t11);margin:-6px 0 16px}
/* Fidelity follow-up: one inline participant editor, compact chart and deck navigation. */
.org-participant-workspace{display:grid;grid-template-columns:235px minmax(0,1fr);gap:20px;margin:16px 0}.org-participant-workspace>aside{border-right:1px solid var(--line);padding-right:16px}.org-participant-team{padding:12px 8px;border:1px solid transparent;border-radius:var(--radius-sm);margin-bottom:8px}.org-participant-team.selected{background:var(--panel-soft);border-color:var(--line)}.org-participant-team .org-check{align-items:flex-start;margin:0;font-size:var(--t12)}.org-participant-team small{font-size:var(--t10);margin-top:5px;font-weight:400}.org-participant-search{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:8px;align-items:end}.org-participant-search label{font-size:var(--t10);margin:0}.org-participant-search input,.org-participant-search select{height:36px;font-size:var(--t11);margin:0;padding:7px}.org-participant-section{border-top:1px solid var(--line);padding:12px 0}.org-participant-section h4{margin:0;font-size:var(--t13)}.org-participant-section .org-heading{gap:12px;margin-bottom:10px}.org-participant-section .buttons button{font-size:var(--t10);padding:4px}.org-participant-section .org-picker-list{grid-template-columns:repeat(2,minmax(0,1fr))}.org-participant-section .org-picker-person{margin:0}.org-participant-section .org-picker-person>span{min-width:0}.org-participant-section .person-avatar{flex:0 0 30px}
.org-project-filter fieldset{border:0;padding:8px 0 4px;margin:10px 0 0;border-top:1px solid var(--line)}.org-project-filter legend{font-weight:600;font-size:12px}.org-project-filter fieldset>[data-project-option]{padding-left:16px}.org-layout-icon{fill:#d7e7fa;stroke:#547da9;stroke-width:1}.org-layout-icon.executive rect{fill:#254872}.org-layout-icon.companies{border:0}.org-display-options{font-size:var(--t11);margin-bottom:12px}.org-display-options summary{cursor:pointer}.org-display-options>div{display:flex;gap:20px;flex-wrap:wrap;padding:12px;background:var(--panel-soft)}.org-matrix-viewport{cursor:grab}.org-matrix-viewport.panning{cursor:grabbing;user-select:none}.org-node{overflow:visible;padding-right:20px}.org-node .org-node-name{background:transparent;border:0;color:inherit;padding:0;text-align:inherit;width:100%;font-size:var(--t12);line-height:1.2;min-height:22px;cursor:pointer;border-radius:0}.org-node .org-node-name:hover{text-decoration:underline}.org-node.focused{outline:2px solid #c9a338}.org-node.dimmed,.org-edge.dimmed{opacity:.18}.org-node .org-node-profile,.org-node .org-node-branch{position:absolute;padding:0;width:17px;height:17px;display:grid;place-items:center;border:0;background:var(--surface-soft);color:#345d88;font-size:var(--t11);border-radius:var(--radius-xs);right:1px}.org-node .org-node-profile{top:2px}.org-node .org-node-branch{bottom:1px}.org-node>span,.org-node>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-chart-panel>.org-heading p{max-width:670px;font-size:11px}
.org-deck-workspace{display:grid;grid-template-columns:148px minmax(0,1fr);height:calc(94vh - 155px);background:#e8eef6}.org-deck-thumbnails{overflow:auto;border-right:1px solid var(--line);padding:10px}.org-deck-thumbnails>button{display:block;background:none;padding:6px;margin-bottom:12px;width:100%;text-align:left;border:1px solid transparent;border-radius:var(--radius-xs);font-size:var(--t10);color:var(--ink)}.org-deck-thumbnails>button[aria-current=page]{background:var(--panel);border-color:#355f91;box-shadow:0 1px 5px #21375e15}.org-deck-miniature{width:118px;height:75px;overflow:hidden;background:var(--panel);pointer-events:none;margin-bottom:6px}.org-deck-miniature>.org-board{width:1150px;min-width:1150px;transform:scale(.1026);transform-origin:top left}.org-deck-stage{min-width:0;overflow:auto;position:relative}.org-deck-stage>.presentation-entry{position:absolute;right:16px;top:0;z-index:1}.org-deck-pages{display:flex;justify-content:center;align-items:center;gap:14px;height:40px;font-size:var(--t11)}.org-deck-pages button{padding:3px 12px;min-height:27px}.org-deck-canvas{height:auto;padding:4px 18px 20px;overflow:auto}.org-deck-canvas .org-board{min-width:860px}.org-presentation-dialog .org-dialog-title{padding:12px 20px}.org-presentation-dialog .org-dialog-title h2{font-size:var(--t16)}.org-deck-toolbar{gap:10px;padding:9px 18px}.org-deck-stage.presentation-active{padding:0 12px 10px!important}.org-deck-stage.presentation-active .org-deck-canvas{padding:0}.org-deck-stage.presentation-active .org-board{min-width:0}.org-deck-stage.presentation-active .org-board>header{margin-bottom:8px}.org-board-title{display:flex;align-items:center;gap:12px}.org-board-title .client-avatar{width:36px;height:36px}.org-board-project-heading .company-badge{max-width:100px}.org-board .org-board-person{min-width:0}
/* Work area first; the common programme ribbon already supplies the module title. */
.org-resource-heading{margin:0}.org-resource-heading>div{display:none}.org-resource-workspace>.hr-tabs{margin-top:0;margin-bottom:10px}.org-resource-workspace>.hr-filter-panel{margin-bottom:14px}.rdv-filter-bar{border:0;border-top:1px solid #e0e7f2;border-radius:0;padding:10px 0 0;margin:8px 0 0;gap:10px}.rdv-filter-note{padding:0;border:0}.rdv-filter-bar .hr-context{position:static!important;box-shadow:none!important;gap:8px}.rdv-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:12px}.rdv-kpis>article{padding:12px 14px;gap:5px}.rdv-kpis strong{font-size:var(--t22)}.rdv-overview-grid{gap:14px;grid-template-columns:minmax(0,2.5fr) minmax(265px,1fr)}.rdv-overview-grid .org-heading{margin-bottom:10px}.rdv-overview-grid>.card{padding:16px;max-height:430px;overflow:auto}.rdv-attention-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:5px}.rdv-attention-counts>div{background:var(--panel-soft);padding:9px 7px;border-radius:var(--radius-sm)}.rdv-attention-counts .attention{background:#fff5e5}.rdv-attention-counts b{display:block;font-size:var(--t20)}.rdv-attention-counts small{display:block;font-size:var(--t10);line-height:1.4;margin-top:5px}.rdv-pool-alerts .hr-action{font-size:var(--t11);gap:12px}.rdv-overview-grid .hr-action{padding:9px 0}.rdv-page .table-scroll table{font-size:var(--t12)}.rdv-page .table-scroll th{font-size:var(--t10);background:var(--panel-soft)}.rdv-page .table-scroll td{padding:11px 10px}.rdv-page .table-scroll td small{font-size:var(--t10)}.rdv-person .link-btn{font-weight:600}.rdv-pool-list>button small.error{color:#a33946}.rdv-reservation-inputs{border-top:1px solid var(--line);padding-top:15px;margin-top:18px}.rdv-reservation-inputs>summary{font-size:var(--t12);cursor:pointer;font-weight:600}
.rdv-dedication-summary{padding:12px 15px;background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:18px}.rdv-consolidated{border:1px solid var(--line);border-radius:var(--radius-control);overflow:hidden}.rdv-dedication-row{padding:14px 16px 0;border-top:0;border-bottom:1px solid var(--line)}.rdv-dedication-row:last-child{border-bottom:0}.rdv-dedication-row>.org-heading{margin-bottom:10px}.rdv-dedication-row>.org-heading>div{display:flex;gap:12px;align-items:center}.rdv-dedication-row h3{font-size:var(--t13);margin:0}.rdv-dedication-row>.org-heading button{font-size:var(--t11);padding:7px 10px}.rdv-consolidated .rdv-dedication-row:not(:first-child) .profile-date-axis{display:none}.rdv-consolidated .limits{display:none}.rdv-consolidated .profile-track{height:108px;background-size:100% 25px}.rdv-consolidated .profile-segment{height:72px}.rdv-consolidated .profile-years,.rdv-consolidated .profile-months{height:20px}.rdv-consolidated .profile-years b{height:20px;padding:3px 8px}.rdv-consolidated .profile-months span{padding:3px 2px}.rdv-consolidated .profile-phase{border-radius:var(--radius-xs) var(--radius-xs) 0 0}.rdv-phase-inspector{display:grid;grid-template-columns:1.4fr 1fr 1fr .9fr;gap:16px;padding:18px;margin-top:14px;background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-control);align-items:start}.rdv-phase-inspector h3{font-size:var(--t14);margin:0 0 5px}.rdv-phase-inspector .eyebrow{font-size:var(--t9);margin:0 0 7px}.rdv-phase-inspector label{font-size:var(--t11);color:var(--muted)}.rdv-phase-inspector input{width:100%;font-size:var(--t12)}.rdv-phase-inspector small{font-size:var(--t10)}.rdv-phase-inspector .error{grid-column:1/-1}.rdv-select-hint{font-size:var(--t11);background:var(--panel-soft);border:1px dashed var(--line);padding:15px;border-radius:var(--radius-sm)}.presenting .rdv-phase-inspector,.presenting .rdv-select-hint,.presenting .rdv-dedication-row>.org-heading button,.presenting .rdv-dedication .profile-edge{display:none!important}.presenting .rdv-dedication .profile-phase{pointer-events:none}.presenting .rdv-dedication-row{padding:8px 16px 0}.presenting .rdv-dedication-row>.org-heading{margin-bottom:6px}.presenting .rdv-dedication .profile-track{height:70px}.presenting .rdv-dedication .profile-segment{height:34px}
.rdv-kpis .hr-financial-summary p{margin:2px 0}.rdv-kpis .hr-financial-summary strong{font-size:var(--t22);margin:4px 0}.rdv-kpis>article{min-height:95px}.org-resource-workspace .hr-tabs{padding-top:0}.org-resource-workspace .hr-tabs button{padding:12px 16px}.rdv-filter-bar .org-project-filter{margin-top:0;align-self:center}.org-deck-canvas{display:flex;justify-content:center;align-items:flex-start}.org-deck-canvas>.org-board{flex-shrink:0;box-sizing:border-box}.org-board .presentation-entry{display:none}

.mi-final-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;align-items:start}.mi-final-grid>.card{margin:0;padding:22px}.mi-final-grid h2{font-size:var(--t18)}.mi-final-grid .mi-company-list{max-height:360px;overflow:auto}.mi-final-review>.mi-extra{margin:16px 0}.mi-final-review>.mi-extra>summary{padding:12px;background:var(--panel-soft);border-radius:var(--radius-sm);cursor:pointer}.mi-final-review>.mi-extra>.pm-portfolio{min-width:0}

/* Approved New customer modal: fixed header/actions, one scrollable body. */
dialog.mi-modal{width:min(1280px,calc(100vw - 48px));max-width:none;height:min(920px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);padding:0;margin:auto;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--panel-soft);color:var(--ink);overflow:hidden;box-sizing:border-box}
dialog.mi-modal[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}dialog.mi-modal::backdrop{background:#17254370;backdrop-filter:blur(2px)}
dialog.mi-modal.mi-expanded{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}
.mi-modal-header{background:var(--panel);padding:18px 24px 0;border-bottom:1px solid var(--line)}.mi-modal-header h2{font-size:var(--t18);margin:0}.mi-modal-header .mi-steps{margin:16px 0 0;gap:14px;border:0}.mi-modal-header .mi-steps button{padding:16px 12px}.mi-modal-header:has(+.mi-modal-body .pm-intake:not(.unified-intake)){padding-bottom:18px}
.mi-modal-body{overflow:auto;overscroll-behavior:contain;min-height:0;padding:20px 24px;scroll-padding-block:18px}.mi-modal-body>.pm-intake{margin:0;max-width:none}.mi-modal-body .card{margin-top:0}.mi-modal>.mi-sticky-footer{position:static;margin:0;border:0;border-top:1px solid var(--line);padding:14px 24px;background:var(--surface)}.mi-modal .mi-sticky-footer>div:first-child{min-width:0}.mi-modal .mi-sticky-footer .error{max-height:90px;overflow:auto}.mi-modal .mi-sticky-footer .buttons{flex-shrink:0}
@media(max-width:900px){dialog.mi-modal{width:calc(100vw - 20px)}.mi-modal .mi-unified-layout{grid-template-columns:minmax(0,1fr) 240px}.mi-modal-header,.mi-modal-body{padding-inline:16px}.mi-modal-header .mi-steps button{padding-inline:2px}.mi-modal-header .mi-steps small{display:none}.mi-modal>.mi-sticky-footer{padding:12px 16px}}
.badge.amber{background:#fff1d0;color:#95620e;display:inline-block;width:fit-content;max-width:100%;white-space:normal;line-height:1.35}

/* client-situation.css */
/* Where a client starts, and its legacy TMS (Denis, 11 Nov 2026) — Kestrel charter tokens. */
.csit-sw{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:6px 0}.csit-sw.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.csit-s,.csit-c{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1.5px solid var(--line,#d9e0ef);border-radius:var(--radius-control);font-size:var(--t12);min-width:0;background:var(--surface,#fff)}
.csit-s.on,.csit-c.on{border-color:var(--ink,#18234e);background:color-mix(in srgb,var(--ink,#18234e) 4%,transparent)}.csit-c:disabled{opacity:.45;cursor:not-allowed}
.csit-s>i,.csit-c>i{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line,#c9cfe0);display:grid;place-items:center;font-style:normal;font-size:var(--t11);font-weight:800;color:#fff;flex:none}.csit-c>i{border-radius:var(--radius-sm)}
.csit-s.on>i,.csit-c.on>i{background:var(--ink,#18234e);border-color:var(--ink,#18234e)}.csit-s span,.csit-c span{display:grid;gap:3px;min-width:0}.csit-s small,.csit-c small{color:var(--muted,#61759a);font-size:var(--t11);line-height:1.4}
.csit-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px}.csit-rule{border-radius:var(--radius-control);background:color-mix(in srgb,var(--ink,#18234e) 4%,transparent);padding:9px 12px;font-size:var(--t12);line-height:1.5;margin:6px 0}
.csit-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.csit-p{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.csit-p label{display:grid;gap:4px;font-size:var(--t12)}.csit-p input{min-width:0;width:100%}
.csit-logo{display:flex;gap:10px;align-items:center}.csit-logo img,.csit-logo b{width:40px;height:40px;border-radius:var(--radius-control);object-fit:contain;display:grid;place-items:center;background:var(--ink,#18234e);color:#fff;font-size:var(--t11)}
.csit-l{list-style:none;padding:0;margin:4px 0;display:grid;gap:4px}.csit-l li{display:flex;gap:8px;align-items:center}.csit-l li b{width:24px;height:24px;border-radius:var(--radius-sm);background:var(--ink,#18234e);color:#fff;font-size:var(--t9);display:grid;place-items:center}.csit-l li small{color:var(--muted,#61759a);margin-left:auto}
.csit-dlg{display:grid;gap:10px}
@media (max-width:760px){.csit-sw,.csit-two{grid-template-columns:minmax(0,1fr)}}

/* task-allocation.css */
:where(.ta-workspace,.allocation-dialog,.ta-people-layout,.allocation-task-context){--navy:#18234e;--blue:#4673a8;--teal:#14847e;--gold:#c49b34;--soft:#f4f6fa;--muted:#61789d;--line:#d7e1f0;--red:#b44842}.allocation-identity{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 18px}.allocation-identity h1{font-size:var(--t24);line-height:1.2;margin:6px 0}.allocation-identity .eyebrow{font-size:var(--t8);letter-spacing:1.5px}.allocation-identity p{font-size:var(--t12);margin:6px 0 0;color:var(--muted)}.allocation-identity .brand-logo{width:140px;object-fit:contain}.allocation-crumb{display:flex;align-items:center;gap:9px;font-size:var(--t11);color:var(--muted);margin-bottom:15px}.allocation-crumb button{font-size:var(--t11);padding:0}.allocation-workspace .panel{padding:18px 20px;border-radius:var(--radius-control);margin-bottom:15px}.allocation-workspace h2{font-size:var(--t16);margin:0}.allocation-workspace h3{font-size:var(--t13);margin:0}.allocation-workspace p{line-height:1.5}.allocation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.allocation-toolbar p{font-size:var(--t11);color:var(--muted);margin:5px 0 0}.allocation-workspace button,.allocation-dialog button{padding:9px 12px;font-size:var(--t12);border-radius:var(--radius-sm)}.allocation-workspace .primary,.allocation-dialog .primary{background:var(--navy);color:white}.allocation-workspace .secondary,.allocation-dialog .secondary{background:#eaf0f8;color:var(--navy)}.allocation-workspace .link,.allocation-dialog .link{color:#346297;background:none}.allocation-workspace button.icon-button{width:32px;height:32px;padding:4px}.allocation-kpis{display:flex;align-items:stretch;gap:0;margin:16px 0 0;border-top:1px solid var(--line);padding-top:13px}.allocation-kpis>div{flex:1;border-right:1px solid var(--line);padding:0 20px}.allocation-kpis>div:first-child{padding-left:0}.allocation-kpis>div:last-child{border:0}.allocation-kpis small{display:block;font-size:var(--t10);color:var(--muted);margin-bottom:4px}.allocation-kpis strong{font-size:var(--t20);letter-spacing:-.4px}.allocation-kpis span{font-size:var(--t11);color:var(--muted);margin-left:6px}.allocation-kpis .warn{color:var(--red)}.allocation-kpis button{font-size:var(--t11);padding:0;color:var(--red);background:none;display:block;margin-top:5px}.allocation-context{font-size:var(--t11);color:var(--muted);margin:12px 0 0}.allocation-timeline{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-control);overflow:hidden;position:relative}.allocation-chart-head{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;gap:15px;border-bottom:1px solid var(--line)}.allocation-chart-head h2{font-size:15px}.allocation-chart-head small{font-size:10px;color:var(--muted)}.allocation-chart-head label{font-size:11px;display:flex;gap:8px;align-items:center}.allocation-chart-head select{padding:6px 9px;width:auto;background:var(--panel);border:1px solid var(--line);border-radius:5px}.allocation-cal,.allocation-row,.allocation-total{display:grid;grid-template-columns:250px minmax(0,1fr) 112px}.allocation-cal{background:var(--panel-soft);min-height:46px;font-size:var(--t10);border-bottom:1px solid var(--line)}.allocation-cal>div:first-child{padding:9px 15px;font-size:var(--t11);align-self:center}.allocation-weeks{display:grid;grid-template-columns:repeat(8,1fr)}.allocation-weeks>span{padding:9px 4px;border-left:1px solid var(--line);text-align:center;color:var(--muted)}.allocation-weeks small{display:block;font-size:var(--t9);margin-top:4px}.allocation-cal>div:last-child{padding:9px;font-size:var(--t10);align-self:center;text-align:center}.allocation-row{min-height:98px;border-bottom:1px solid var(--line)}.allocation-row.owner{background:var(--panel-soft)}.allocation-person{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 16px;position:relative}.allocation-person.owner{border-left:3px solid var(--gold);padding-left:13px}.allocation-person>div{min-width:0;flex:1}.allocation-person .name{padding:0;background:none;color:var(--navy);font-weight:650;font-size:var(--t12);text-align:left;display:block}.allocation-person small{display:block;color:var(--muted);font-size:var(--t9);line-height:1.5}.allocation-person .responsibility{font-size:var(--t10);margin:4px 0 3px;font-weight:600;color:var(--teal)}.allocation-person .owner-label{color:#8f691b}.allocation-person .more{position:absolute;right:7px;top:5px;padding:2px 5px;font-size:var(--t14);background:none}.allocation-avatar{display:inline-flex;border-radius:50%;width:35px;height:35px;align-items:center;justify-content:center;flex:none;background:#e7eff9;color:#436691;font-size:var(--t11);font-weight:650;overflow:hidden}.allocation-avatar img{width:100%;height:100%;object-fit:cover}.allocation-avatar.large{width:67px;height:67px;font-size:var(--t18)}.allocation-track{position:relative;background:repeating-linear-gradient(to right,transparent 0,transparent calc(12.5% - 1px),#e6ebf4 calc(12.5% - 1px),#e6ebf4 12.5%);min-height:97px;touch-action:none}.allocation-phase{position:absolute;bottom:29px;border:1px solid #78a8c3;border-left:3px solid #4b7fa2;border-radius:var(--radius-xs);background:#e5f0f7;color:var(--ink);min-height:25px;user-select:none;touch-action:none;cursor:grab;display:flex;align-items:center;justify-content:center;padding:2px 8px;font-size:var(--t11);line-height:1.15;overflow:hidden}.allocation-phase.owner{background:var(--surface-soft);border-color:#a1a8ca;border-left-color:var(--navy);color:var(--navy)}.allocation-phase.business{background:#e4f3ed;border-color:#82bfb3;border-left-color:#218b76;color:#15594e}.allocation-phase strong{font-size:var(--t12)}.allocation-phase small{display:block;font-size:var(--t9);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%}.allocation-phase .phase-copy{min-width:0;pointer-events:none;text-align:center}.allocation-phase.selected{outline:2px solid #4e78ab;outline-offset:2px;z-index:3}.allocation-phase.dragging{z-index:4;box-shadow:0 4px 13px #15284b30;opacity:.88;cursor:grabbing}.ta-workspace .phase-handle{position:absolute;top:0;bottom:0;width:7px;cursor:ew-resize;background:transparent}.ta-workspace .phase-handle:hover{background:#557da129}.ta-workspace .phase-handle.start{left:0}.ta-workspace .phase-handle.end{right:0}.ta-workspace .phase-handle.level{top:0;bottom:auto;left:20%;width:60%;height:6px;cursor:ns-resize}.ta-workspace .phase-handle.level:after{content:'';display:block;border-top:2px solid #7d9ab5;width:18px;margin:2px auto}.capacity-cells{position:absolute;left:0;right:0;bottom:4px;height:19px;display:grid;grid-template-columns:repeat(8,1fr);gap:3px;padding:0 2px}.capacity-cell{border:0!important;border-radius:var(--radius-xs)!important;font-size:var(--t9)!important;padding:2px!important;background:var(--panel-soft);color:var(--muted)}.capacity-cell.over{background:#fae6e1;color:#a84132;font-weight:700}.capacity-cell.near{background:#fcf0d7;color:#91620d}.allocation-row-total{padding:13px 9px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:1px solid var(--line)}.allocation-row-total b{font-size:var(--t13)}.allocation-row-total small{font-size:var(--t10);color:var(--muted);margin-top:4px}.allocation-row-total button{font-size:var(--t10);padding:4px 6px;background:none;color:#3d6895;margin-top:7px}.allocation-total{font-size:var(--t11);background:var(--panel-soft);min-height:44px;align-items:center}.allocation-total>strong{padding-left:16px}.allocation-total .allocation-weeks span{padding:10px 4px;font-weight:650}.allocation-total>b{text-align:center}.allocation-chart-foot{display:flex;justify-content:space-between;gap:12px;padding:11px 16px;font-size:10px;color:var(--muted);border-top:1px solid var(--line)}.allocation-chart-foot .keys{display:flex;gap:16px}.allocation-chart-foot i{display:inline-block;width:7px;height:7px;background:var(--blue);margin-right:5px;border-radius:2px}.allocation-chart-foot .warning{background:#c4654c}.allocation-chart-foot .green{background:#238c75}.allocation-bottom{display:grid;grid-template-columns:1.2fr 1fr;gap:15px;margin-top:15px}.allocation-bottom .panel{margin:0}.allocation-bottom p{font-size:var(--t11);color:var(--muted);margin:7px 0}.allocation-bottom details{font-size:var(--t11)}.allocation-bottom summary{cursor:pointer;color:#315b88}.allocation-notice{padding:10px 12px;border-left:3px solid var(--gold);background:#fff8e7;font-size:var(--t11);margin:12px 0 0}.allocation-sticky{position:fixed;bottom:0;left:0;right:0;background:var(--popover);border-top:1px solid var(--line);height:66px;padding:12px 28px;display:flex;align-items:center;justify-content:space-between;z-index:25;box-shadow:0 -4px 18px #172a4b05}.allocation-sticky strong{font-size:var(--t12)}.allocation-sticky small{font-size:var(--t10);color:var(--muted);display:block;margin-top:4px}.allocation-sticky button{font-size:var(--t12);padding:10px 16px}.allocation-sticky .dirty-dot{width:7px;height:7px;background:var(--gold);display:inline-block;border-radius:50%;margin-right:8px}.allocation-sticky .saved-dot{background:var(--teal)}.allocation-dialog{padding:0;border:1px solid var(--line);border-radius:var(--radius-panel);color:var(--navy);width:min(1120px,94vw);max-width:1120px;max-height:92vh;box-shadow:0 20px 90px #18234e40}.allocation-dialog::backdrop{background:#14214966}.allocation-dialog.small{width:590px}.allocation-dialog.profile{width:780px}.allocation-dialog .dialog-head{display:flex;align-items:center;justify-content:space-between;padding:19px 23px;border-bottom:1px solid var(--line)}.allocation-dialog .dialog-head h2{font-size:var(--t18);margin:0}.allocation-dialog .dialog-body{padding:20px 23px;max-height:65vh;overflow:auto}.allocation-dialog .dialog-foot{padding:14px 23px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;position:sticky;bottom:0;background:var(--surface)}.allocation-dialog .dialog-foot small{font-size:var(--t10);color:var(--muted)}.allocation-dialog label{font-size:var(--t11);display:block;color:var(--muted);font-weight:550}.allocation-dialog input:not([type=checkbox]):not([type=range]):not([type=file]),.allocation-dialog select,.allocation-dialog textarea{width:100%;padding:10px 11px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);margin-top:5px;color:var(--navy);font-size:var(--t12)}.allocation-dialog .grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.allocation-dialog .field{margin-bottom:15px}.allocation-dialog p{font-size:var(--t12);line-height:1.55}.allocation-dialog .quiet{color:var(--muted)}.allocation-dialog .error{font-size:var(--t11);color:#b23932;line-height:1.4;margin:9px 0}.allocation-dialog .phase-live{padding:12px;background:var(--panel-soft);border-radius:var(--radius-sm);font-size:var(--t12);margin:12px 0}.allocation-dialog .percent-control{display:grid;grid-template-columns:1fr 90px;gap:20px;align-items:center}.allocation-dialog input[type=range]{accent-color:#426e9d;width:100%}.allocation-dialog .split-controls{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px}.allocation-dialog .split-controls button{height:36px;margin-bottom:1px}.allocation-dialog .destructive{color:#ae4a42!important}.people-filters{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:10px;margin-bottom:12px}.people-extra{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:12px 0}.people-toolbar{display:flex;align-items:center;justify-content:space-between;font-size:var(--t11);margin:12px 0}.people-toolbar label{display:flex;align-items:center;gap:6px}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.allocation-dialog .choice-person{border:1px solid var(--line);border-radius:var(--radius-control);padding:13px;background:var(--panel);display:block;text-align:left!important;position:relative;color:var(--navy)}.allocation-dialog .choice-person.selected{border:2px solid #346397;padding:12px;background:var(--panel-soft)}.allocation-dialog .choice-person:disabled{opacity:1;color:var(--muted)}.allocation-dialog .choice-person .identity{display:flex;gap:10px;align-items:center;margin:0}.allocation-dialog .choice-person strong{font-size:var(--t12)}.allocation-dialog .choice-person small{display:block;font-size:var(--t10);line-height:1.5;color:var(--muted)}.allocation-dialog .choice-person .tick{position:absolute;right:10px;top:10px;font-weight:700}.allocation-dialog .choice-person .availability{font-size:var(--t10);border-top:1px solid var(--line);margin-top:10px;padding-top:8px;display:flex;justify-content:space-between}.allocation-dialog .choice-person .meta{margin-top:9px;font-size:var(--t10);line-height:1.6}.allocation-dialog .choice-person .load-track{height:4px;background:var(--panel-soft);border-radius:3px;margin-top:7px;overflow:hidden}.allocation-dialog .choice-person .load-track span{height:100%;display:block;background:#80a5c6}.allocation-dialog .selection-summary{display:flex;align-items:center;justify-content:space-between;margin:12px 0;font-size:var(--t11)}.allocation-dialog .empty-selection{text-align:center;padding:35px;color:var(--muted);font-size:var(--t12)}.allocation-person-form{display:flex;align-items:center;gap:14px;margin-bottom:20px}.allocation-profile-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:18px}.allocation-profile-tabs button{padding:10px 0;background:none;border-radius:0;color:var(--muted)}.allocation-profile-tabs button.active{border-bottom:3px solid var(--gold);color:var(--navy)}.allocation-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.allocation-profile-grid dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:var(--t11)}.allocation-profile-grid dt{color:var(--muted)}.allocation-profile-grid dd{margin:0}.allocation-profile-grid .photo-control{padding:10px 12px;background:#eaf0f8;border-radius:var(--radius-sm);cursor:pointer;display:inline-block}.allocation-profile-grid input[type=file]{display:block;font-size:var(--t11);max-width:100%;margin-top:10px}.allocation-review-table{width:100%;border-collapse:collapse;font-size:var(--t11)}.allocation-review-table th,.allocation-review-table td{padding:12px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.allocation-review-table th{font-size:var(--t9);letter-spacing:.6px;color:var(--muted)}.allocation-review-table small{display:block;color:var(--muted);line-height:1.5}.allocation-load-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin:15px 0}.allocation-load-column{font-size:var(--t10);text-align:center}.allocation-load-column .stack{height:105px;position:relative;background:var(--panel-soft);margin:8px 0;border-bottom:1px solid #9cb0c9}.allocation-load-column .stack .capacity-line{position:absolute;left:0;right:0;bottom:71.4%;border-top:1px dashed #b65d4c;z-index:2}.allocation-load-column .bar{position:absolute;bottom:0;width:70%;left:15%;display:flex;flex-direction:column-reverse;max-height:100%}.allocation-load-column .bar span{display:block;min-height:1px}.allocation-load-column.over strong{color:var(--red)}.allocation-load-column small{display:block;color:var(--muted)}.allocation-role{font-size:var(--t10);padding:3px 6px;border-radius:var(--radius-xs);background:var(--panel-soft);color:var(--muted)}.allocation-empty-phase{position:absolute;left:10px;top:23px;font-size:var(--t10);color:var(--muted)}.allocation-dialog .checkbox{display:flex;gap:8px;align-items:flex-start;line-height:1.5;margin:12px 0;font-weight:400}.allocation-dialog .checkbox input{margin-top:2px}.presenting .allocation-timeline{border:0;border-radius:0;padding:20px}.presenting .allocation-chart-head{padding:5px 0 20px}.presenting .allocation-chart-head h2{font-size:22px}.presenting .allocation-row{min-height:122px}.presenting .allocation-track{min-height:121px}.presenting .allocation-phase{pointer-events:none}.presenting .allocation-person .more,.presenting [data-a=phase-add],.presenting .allocation-chart-head .actions,.presenting .phase-handle{display:none}.presenting .allocation-cal{min-height:55px}.presenting .allocation-chart-foot{font-size:11px}.presentation-open[data-a]{display:none}/* Keep the allocation canvas ahead of supporting context. */
.allocation-workspace.frame{padding-top:12px}.allocation-workspace .allocation-crumb{display:none}.allocation-identity{margin:0 0 8px;min-height:70px}.allocation-identity h1{font-size:var(--t22)}.allocation-identity .eyebrow{font-size:var(--t8)}.allocation-identity p{margin:3px 0 0;font-size:var(--t11)}.allocation-workspace .tabs{padding:0;min-height:38px;margin-bottom:10px}.allocation-workspace .tabs button{padding:10px 14px;font-size:var(--t11);border-radius:0;background:transparent}.allocation-workspace .tabs button.active{border-bottom:3px solid var(--gold);color:var(--navy)}.allocation-workspace .panel{padding:13px 17px;margin-bottom:12px}.allocation-toolbar p{font-size:var(--t10)}.allocation-toolbar h2{font-size:var(--t14)}.allocation-kpis[hidden]{display:none}.allocation-summaryline{display:flex;align-items:center;gap:25px;font-size:var(--t11);color:var(--muted);margin-top:12px;padding-top:9px;border-top:1px solid var(--line)}.allocation-summaryline b{color:var(--navy)}.allocation-summaryline button{font-size:var(--t10);padding:0;color:var(--red)!important;background:none}.allocation-timeline>.presentation-entry{display:none}.allocation-chart-head{padding:10px 15px;min-height:52px}.allocation-chart-head h2{font-size:13px}.allocation-chart-head small{font-size:9px}.allocation-cal{min-height:37px}.allocation-weeks>span{padding:6px 4px}.allocation-row,.allocation-track{min-height:86px}.allocation-person{padding-top:8px;padding-bottom:8px}.allocation-phase{bottom:25px}.capacity-cells{height:17px;bottom:4px}.allocation-total{min-height:34px}.allocation-chart-foot{font-size:9px;padding:9px 14px}.allocation-bottom{margin-top:12px}.allocation-workspace .presentation-entry{display:none}.allocation-dialog h3{font-size:var(--t14)}.allocation-dialog .dialog-body{max-height:63vh}.allocation-dialog .allocation-kpis{margin-bottom:15px}.allocation-dialog [hidden]{display:none}.presenting .allocation-chart-head small{font-size:11px}.presenting .allocation-chart-head .actions{display:none}.allocation-dialog input[type=checkbox]{width:14px;height:14px;flex:none;margin:0 7px 0 0}.people-toolbar label{white-space:nowrap;font-weight:400;font-size:var(--t10)}.allocation-dialog .choice-person .identity{justify-content:flex-start;gap:9px}.allocation-dialog .choice-person .identity>div{padding-right:13px;min-width:0}.allocation-dialog .choice-person .tick{font-size:var(--t12);color:#3a6e91}.allocation-dialog .choice-person .identity strong{white-space:normal}.allocation-dialog .dialog-body{max-height:calc(92vh - 126px)}.people-filters{margin-bottom:9px}.people-toolbar{margin:9px 0}.allocation-dialog .choice-person{padding:11px}.allocation-dialog .choice-person.selected{padding:10px}.allocation-dialog .choice-person .meta{margin-top:6px}.allocation-dialog .choice-person .availability{margin-top:7px;padding-top:6px}.allocation-dialog .checkbox{white-space:normal}.allocation-dialog .checkbox input{margin-top:2px}.allocation-dialog .selection-summary .actions{gap:16px}.allocation-dialog .selection-summary label{display:flex;align-items:center;gap:7px;font-size:var(--t10)}.allocation-dialog .selection-summary select{width:auto!important;padding:6px!important;margin-top:0!important;font-size:var(--t10)!important}.allocation-dialog .allocation-kpis>div{padding-top:0;padding-bottom:0}.allocation-dialog .allocation-kpis strong{font-size:var(--t20)}.allocation-person .allocation-photo-button{background:none;padding:0;position:relative;border:0;border-radius:50%}.allocation-photo-button:after{content:'+';position:absolute;bottom:-2px;right:-1px;width:13px;height:13px;border-radius:50%;border:1px solid white;background:#5078a3;color:white;font-size:var(--t10);line-height:11px}.presenting .allocation-photo-button:after{display:none}.allocation-load-grid>button{color:var(--ink);background:none;border:1px solid transparent;border-radius:var(--radius-sm);padding:3px;cursor:pointer;text-align:center}.allocation-load-grid>button.selected{border-color:#315f8c;background:var(--panel-soft)}.allocation-load-grid>button:hover,.allocation-load-grid>button:focus-visible{outline:1px solid #6389b4}.allocation-load-column small{display:block}.capacity-hover{padding:10px 13px;background:var(--panel-soft);border-left:3px solid #668cb7;font-size:var(--t11);line-height:1.55;min-height:46px;margin-bottom:16px}.capacity-hover>span{display:block;margin-top:4px;color:var(--muted)}.capacity-source-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.capacity-source-heading h3{font-size:var(--t14);margin:0}.capacity-source-heading label{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:var(--t11)}.capacity-source-heading select{font-size:var(--t11);width:170px;margin:0}.capacity-source-table a{color:#315f8c;text-decoration:none;font-weight:600}.capacity-source-table a:hover{text-decoration:underline}.capacity-source-table td{font-size:var(--t11);vertical-align:top;line-height:1.6}.capacity-source-table td:first-child{width:30%}.capacity-group th{background:var(--panel-soft);color:#244a73;text-align:left;font-size:var(--t11);text-transform:none;letter-spacing:0}.capacity-total th{background:#eaf2fa;font-size:var(--t12);text-align:left}.capacity-week-summary{margin-top:20px;font-size:var(--t12)}.capacity-week-summary summary{cursor:pointer}.allocation-task-context{margin:12px 0 16px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel)}.allocation-task-context>summary{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;font-size:var(--t12);color:var(--ink);gap:20px}.allocation-task-context summary small{font-size:var(--t11);color:var(--muted);display:inline-block;margin-left:18px;font-weight:400}.allocation-task-context .context-toggle{font-size:var(--t11);color:#376391}.allocation-task-context>div{padding:0 12px 12px}.allocation-task-context .summary{margin:0 0 12px;gap:12px}.allocation-task-context .metric{padding:13px 16px}.allocation-task-context .metric strong{font-size:var(--t22)}.allocation-task-context .flow{margin:0;padding:12px 14px;background:var(--panel-soft);border:0}.allocation-task-context:not([open])>summary{padding:10px 16px}.allocation-task-context>summary::-webkit-details-marker{display:none}.allocation-task-context .context-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px}.allocation-task-context[open] .context-toggle svg{transform:rotate(180deg)}/* Inline colour key replaces the former help row; source dots use the same palette. */
.capacity-legend{display:flex;align-items:center;gap:15px;min-height:19px;margin:10px 0 12px;font-size:10px;color:var(--muted);white-space:nowrap}.capacity-legend>span{display:inline-flex;align-items:center;gap:5px}.capacity-legend i,.capacity-swatch{display:inline-block;width:8px;height:8px;flex:none;border-radius:1px}.capacity-legend .capacity-key{width:15px;height:0;border-top:1px dashed #b65d4c}.capacity-help{margin-left:auto;cursor:help;font-size:var(--t13)}.capacity-swatch{margin-right:5px}.capacity-hover-item{display:inline}.capacity-source-heading select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);padding:8px 10px;color:var(--navy)}.people-workload-page.frame{max-width:none;padding:22px 28px 35px}.people-workload-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.people-workload-heading h1{font-size:var(--t24);margin:4px 0 8px}.people-workload-heading p{font-size:var(--t12);margin:0}.people-workload-scope{display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line);margin:19px 0 16px;font-size:var(--t11);color:var(--muted)}.people-workload-scope strong{padding:10px 0 12px;color:var(--navy);border-bottom:3px solid var(--gold)}.people-workload-scope small{margin-left:auto}.people-workload-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start}.people-workload-directory,.people-workload-detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);padding:17px}.people-workload-directory{position:sticky;top:68px;padding:14px 12px}.people-workload-directory label{font-size:var(--t11);color:var(--muted);display:block}.people-workload-directory input:not([type=checkbox]),.people-workload-directory select{display:block;width:100%;margin:6px 0 12px;padding:9px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--navy);font-size:var(--t11)}.people-workload-filters summary{cursor:pointer;font-size:var(--t11);color:var(--muted);padding:2px 0 10px}.people-workload-filters .checkbox{display:flex;align-items:center;gap:6px;margin-bottom:12px}.people-workload-count{font-size:var(--t10);color:var(--muted);border-top:1px solid var(--line);padding:12px 0 8px}.people-workload-list{max-height:58vh;overflow:auto;margin:0 -5px}.people-workload-person{display:flex;align-items:center;gap:9px;border:1px solid transparent;background:transparent;width:100%;text-align:left;padding:10px 6px;color:var(--navy);border-radius:var(--radius-sm)}.people-workload-person.selected{border-color:#a9c2df;background:var(--panel-soft)}.people-workload-person .allocation-avatar{width:28px;height:28px;min-width:28px;font-size:var(--t9)}.people-workload-person span:nth-child(2){flex:1;min-width:0}.people-workload-person b{display:block;font-size:var(--t11)}.people-workload-person small{display:block;font-size:var(--t9);color:var(--muted);line-height:1.6;margin-top:2px}.people-workload-person strong{font-size:var(--t11)}.people-workload-person .over{color:var(--red)}.people-workload-detail .allocation-person-form{margin-bottom:16px}.people-workload-detail .allocation-person-form>div{flex:1}.people-workload-detail .allocation-person-form b{font-size:var(--t14)}.people-workload-detail .quiet{font-size:var(--t11);color:var(--muted);margin:5px 0 0}.people-workload-detail .capacity-hover{font-size:var(--t10)}.people-workload-detail .capacity-source-heading h3{font-size:var(--t13)}.people-workload-detail .capacity-source-table td{font-size:var(--t10);padding:10px 7px}.people-workload-detail .capacity-source-table th{padding:10px 7px}.people-workload-detail .capacity-source-heading select{width:148px}.people-workload-detail .capacity-legend{gap:11px;font-size:9px}.people-workload-detail>.presentation-entry{margin:0 0 8px}.people-workload-detail.presenting{padding:25px}.people-workload-detail.presenting .capacity-legend{font-size:12px;gap:20px}.people-workload-detail.presenting .capacity-source-table td{font-size:var(--t12)}.people-workload-detail{position:relative}.people-workload-detail>.presentation-entry{position:absolute;right:17px;top:17px;margin:0!important}.people-workload-detail .allocation-person-form>button{margin-right:86px}.people-workload-detail.presenting .allocation-person-form>button{display:none}.source-over-capacity{color:#b23932}.source-horizon{display:block;font-size:var(--t10);margin-top:6px}.ta-workspace .card{margin-bottom:16px}.ta-matrix-scroll,.wd-chart-scroll{overflow:auto}.ta-matrix-head,.ta-row{display:grid;grid-template-columns:240px minmax(0,1fr) 90px}.ta-matrix-head{font-size:var(--t10);color:var(--muted);padding-bottom:12px;border-bottom:1px solid var(--line)}.ta-matrix-head>div{display:flex}.ta-matrix-head>div>span{flex:1;text-align:center}.ta-row{border-bottom:1px solid var(--line)}.ta-row .allocation-track{min-height:110px}.ta-matrix .org-heading{margin-bottom:16px}.ta-people-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:16px}.ta-people-list{padding:16px!important;align-self:start;position:sticky;top:150px}.ta-people-list input[type=search],.ta-people-list select{width:100%;margin:6px 0 12px}.ta-people-list>small{display:block;margin:12px 0;color:var(--muted);font-size:var(--t10)}.ta-person-options{max-height:68vh;overflow:auto}.ta-person-options>button{display:flex;align-items:center;text-align:left;gap:8px;width:100%;padding:10px 6px;border-bottom:1px solid var(--line);background:var(--panel)}.ta-person-options>button.selected{background:var(--panel-soft);box-shadow:inset 3px 0 #254d7d}.ta-person-options>button>span{flex:1;min-width:0}.ta-person-options small{display:block;font-size:var(--t10);font-weight:400}.ta-person-options b{font-size:var(--t12)}.ta-person-options strong{font-size:var(--t11)}.ta-person-options .person-avatar{width:30px;height:30px}.wd-detail h3{margin:0}.wd-detail .allocation-person-form{margin-bottom:0}.wd-detail .allocation-load-grid{margin-top:20px}.wd-detail .capacity-legend{flex-wrap:nowrap;overflow:auto;white-space:nowrap}.wd-detail .org-heading{padding-right:200px}
@media(max-width:760px){.wd-detail .org-heading{padding-right:0}.wd-detail>.presentation-entry{position:static}}.wd-detail{position:relative}.wd-detail>.presentation-entry{position:absolute;top:18px;right:16px}.ta-people-detail{min-width:0}.allocation-dialog .dialog-body{max-height:66vh}.allocation-dialog .dialog-head{position:sticky;top:0;background:var(--surface);z-index:3}.allocation-dialog form{margin:0}.allocation-dialog .dialog-foot button{white-space:nowrap}.ta-workspace .allocation-person .person-avatar{width:35px;height:35px}.allocation-task-context .tcw-summary{padding:0 18px}.allocation-task-context>summary{list-style:none}.allocation-task-context>summary::-webkit-details-marker{display:none}.allocation-dialog .phase-live{min-height:68px}.wd-detail .capacity-source-table td:first-child{min-width:180px}.wd-detail .capacity-source-table td{font-size:var(--t11)}.wd-detail .capacity-hover{min-height:65px}.ta-people-list details label{display:block}@media(max-width:900px){.ta-people-layout{grid-template-columns:200px minmax(0,1fr)}}

.ta-person-options>button>.person-avatar{flex:0 0 30px;width:30px;height:30px;min-width:30px}.ta-person-options>button>span:not(.person-avatar){flex:1}.allocation-dialog .dialog-body,.ta-people-list{font-size:var(--t12)}

/* Runtime parity with the accepted 8810 allocation canvas. */
.task-card-workspace .ta-workspace .card{padding:13px 17px;margin-bottom:12px}.ta-workspace .allocation-toolbar h2{font-size:var(--t16);margin:0}.ta-workspace .allocation-toolbar p{font-size:var(--t11);margin:5px 0 0}.ta-workspace button{font-size:var(--t12);padding:9px 12px;border-radius:var(--radius-sm)}.ta-workspace .allocation-summaryline{gap:24px;margin-top:12px;padding-top:10px}.ta-workspace [hidden]{display:none!important}.ta-workspace .allocation-summaryline .warn{color:#b44842}.task-card-workspace .ta-workspace .ta-matrix{padding:0;overflow:hidden;position:relative}.ta-matrix>.presentation-entry{position:absolute;right:14px;top:12px;margin:0;z-index:2}.ta-matrix .allocation-chart-head{padding:11px 15px;min-height:62px}.ta-matrix .allocation-chart-head h2{font-size:13px;margin:0 0 4px}.ta-matrix .allocation-chart-head small{font-size:10px}.ta-matrix .allocation-chart-head label{margin:0 88px 0 auto;white-space:nowrap;gap:9px}.ta-matrix .allocation-chart-head select{width:auto;margin:0;min-height:36px}.ta-matrix-head,.ta-row,.ta-matrix-total{display:grid;grid-template-columns:250px minmax(0,1fr) 100px}.ta-matrix-head{padding:0;min-height:46px;background:var(--panel-soft);border-bottom:1px solid var(--line);color:var(--navy)}.ta-matrix-head>span{padding:9px 15px;align-self:center;font-size:var(--t11)}.ta-matrix-head>span:last-child{text-align:center;padding:9px 5px;font-size:var(--t10)}.ta-matrix-head>div,.ta-matrix-total>div{display:grid;grid-template-columns:repeat(var(--week-count),minmax(0,1fr))}.ta-matrix-head>div>span{padding:7px 4px;border-left:1px solid var(--line);text-align:center;font-size:var(--t10);color:var(--muted)}.ta-matrix-head small{display:block;font-size:var(--t9);margin-top:4px}.ta-row,.ta-row .allocation-track{min-height:94px}.ta-row.owner{background:var(--panel-soft)}.ta-row .allocation-track{background-image:var(--panel);background-size:var(--week-size) 100%;background-repeat:repeat}.ta-row .allocation-person{padding-top:8px;padding-bottom:8px}.ta-workspace .allocation-person .name{font-size:var(--t12);padding:0}.ta-workspace .allocation-person .more{top:5px;right:6px;padding:2px 5px;background:transparent;font-size:var(--t16)}.ta-workspace .allocation-photo-button{padding:0;border:0;background:transparent;position:relative;border-radius:50%;flex:none}.ta-workspace .allocation-photo-button:after{content:'+';position:absolute;bottom:-1px;right:-1px;width:12px;height:12px;line-height:10px;border:1px solid white;border-radius:50%;background:#537eaa;color:white;font-size:var(--t10)}.ta-workspace .allocation-phase{bottom:25px}.ta-row .capacity-cells{bottom:4px;height:17px;gap:2px}.ta-workspace .allocation-row-total{padding:10px 5px}.ta-workspace .allocation-row-total button{font-size:var(--t10);padding:4px 3px;white-space:nowrap}.ta-matrix-total{min-height:38px;background:var(--panel-soft);font-size:var(--t10);align-items:center}.ta-matrix-total>strong{padding:9px 15px}.ta-matrix-total>div>span{padding:10px 4px;text-align:center;color:var(--muted)}.ta-matrix-total>b{text-align:center}.ta-colour-key{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap}.ta-colour-key i{width:7px;height:7px;display:inline-block;margin-left:8px;flex:none}.ta-colour-key i:first-child{margin-left:0}.ta-key-owner{background:#1a2857}.ta-key-task{background:#4c83aa}.ta-key-business{background:#218b76}.ta-key-over{background:#b44842}.ta-guidance{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ta-guidance h3{margin:0;font-size:var(--t12)}.ta-guidance p{font-size:var(--t11);line-height:1.6;color:var(--muted);margin:7px 0 0}.ta-matrix.presentation-active .allocation-chart-head label,.ta-matrix.presentation-active .more,.ta-matrix.presentation-active [data-ta=phase-add],.ta-matrix.presentation-active .phase-handle{display:none}.ta-matrix.presentation-active .allocation-photo-button:after{display:none}.ta-matrix.presentation-active .allocation-phase{pointer-events:none}.ta-matrix.presentation-active .allocation-chart-head{padding-right:15px}

/* Preserve the colour key against the shared chart footer defaults. */
.allocation-chart-foot .ta-key-owner{background:#1a2857}.allocation-chart-foot .ta-key-task{background:#4c83aa}.allocation-chart-foot .ta-key-business{background:#218b76}.allocation-chart-foot .ta-key-over{background:#b44842}.allocation-task-context .tcw-summary{padding:0}.ta-workspace .allocation-toolbar .buttons{display:flex;gap:6px}
/* Temporary person capacity is shown in weekly columns, never daily task lanes. */
.allocation-load-column .capacity-band{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,#c9972340,#c9972340 3px,transparent 3px,transparent 7px);border-block:1px solid #b48e34;z-index:2;pointer-events:none}
.allocation-load-column.capacity-review{box-shadow:inset 0 -3px #bd922f}
.capacity-legend .capacity-range-key{background:repeating-linear-gradient(135deg,#c9972360,#c9972360 2px,transparent 2px,transparent 4px);border:1px solid #b48e34}
.wa-capacity-detail{padding:10px 0;display:flex;gap:6px 16px;flex-wrap:wrap;font-size:var(--t12);align-items:baseline}
.wa-capacity-detail .warning{width:100%;color:#775400}
.wa-dialog .dialog-body{max-height:70vh;overflow:auto}.wa-dialog .dialog-foot{justify-content:space-between}.wa-dialog fieldset{border:0;padding:0;margin:0}.wa-preview-scroll{max-height:230px;overflow:auto}.wa-preview-scroll small{display:block}.wa-dialog .allocation-slider{display:flex;align-items:center;gap:20px}.wa-dialog .allocation-slider input[type=range]{flex:1}.wa-dialog .allocation-slider input[type=number]{width:100px}

body.presenting [data-wa-edit]{display:none!important}

/* navigation-push.css */
/* Navigation menu that pushes the screens aside (Denis, 12 Nov 2026).
   Wide screens: a floating glass panel slides in from the left and the workspace moves right to make room; it stays open
   while you navigate. Narrow screens keep the overlay. Colours and glass come from the charter tokens. */
:root{--nav-w:284px;--nav-gap:10px;--nav-ease:cubic-bezier(.2,.75,.2,1)}
.shell.menu-push .workspace{transition:margin-left .34s var(--nav-ease)}
.shell.menu-push.menu-open .workspace{margin-left:calc(var(--nav-w) + 2*var(--nav-gap))}
.shell.menu-push .nav-scrim{display:none!important}
.shell.menu-push .sidebar{top:var(--nav-gap);bottom:var(--nav-gap);left:var(--nav-gap);height:auto;width:var(--nav-w);border-radius:var(--radius-dialog);
  border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);transform:translateX(calc(-100% - 2*var(--nav-gap)));opacity:0;
  transition:transform .34s var(--nav-ease),opacity .22s ease;overflow:hidden}
.shell.menu-push.menu-open .sidebar{transform:none;opacity:1}
.shell.menu-push .sidebar::before{border-radius:inherit}
/* The menu content arrives in a short cascade when the panel opens. */
.shell.menu-push.menu-open .sidebar>.sidebar-bird,.shell.menu-push.menu-open .sidebar>.logo,.shell.menu-push.menu-open .sidebar>.eyebrow,.shell.menu-push.menu-open .sidebar .nav>*,.shell.menu-push.menu-open .sidebar>.sidebar-bottom{animation:nav-in .38s var(--nav-ease) both}
.shell.menu-push.menu-open .sidebar .nav>*:nth-child(1){animation-delay:.04s}.shell.menu-push.menu-open .sidebar .nav>*:nth-child(2){animation-delay:.07s}
.shell.menu-push.menu-open .sidebar .nav>*:nth-child(3){animation-delay:.1s}.shell.menu-push.menu-open .sidebar .nav>*:nth-child(4){animation-delay:.13s}
.shell.menu-push.menu-open .sidebar .nav>*:nth-child(5){animation-delay:.16s}.shell.menu-push.menu-open .sidebar .nav>*:nth-child(n+6){animation-delay:.19s}
.shell.menu-push.menu-open .sidebar>.sidebar-bottom{animation-delay:.22s}
@keyframes nav-in{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
/* A new screen slides in from the side; redrawing the same screen does not move. */
.workspace main.view-enter{animation:view-in .3s var(--nav-ease) both}
@keyframes view-in{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.shell.menu-push .drawer-close{display:inline-flex;z-index:3}
@media(prefers-reduced-motion:reduce){.shell.menu-push .workspace,.shell.menu-push .sidebar{transition:none}.shell.menu-push.menu-open .sidebar *,.workspace main.view-enter{animation:none!important}}

/* ui-charter.css */
/* Shared visual contract, loaded after module styles. No chart scales or data rules. */
body{background:var(--bg);color:var(--ink)}
button,input,select,textarea{font-family:inherit}
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:3px}
:where(input,select,textarea){border-color:var(--control-line);border-radius:var(--radius-control);color:var(--ink)}
input:disabled,select:disabled,textarea:disabled{background:#f0f3f8;color:#657796;cursor:not-allowed;opacity:1}
input[type=checkbox],input[type=radio],input[type=range],progress{accent-color:var(--focus)}
.primary,.secondary,.danger{font-size:12px;line-height:1.5;padding:10px 14px;border-radius:var(--radius-control);font-weight:650}
.primary{background:var(--ink);color:white}
.primary:hover:not(:disabled){background:#293e68}
.secondary{background:var(--control-fill);color:var(--ink);border:1px solid var(--line)}
.secondary:hover:not(:disabled){background:var(--control-hover)}
.danger{background:var(--danger-fill);color:var(--danger-ink)}
.link-btn{color:var(--link)}
.link-btn:hover:not(:disabled){text-decoration:underline}
.buttons{gap:var(--space-action)}
.card{border-color:var(--line);border-radius:var(--radius-panel);padding:20px;box-shadow:none}
.heading h1{font-size:27px;line-height:1.2;letter-spacing:-.6px}
main h1,.aa-workspace h1,.ai-workspace h1,.setup-heading h1{font-size:27px;line-height:1.2;letter-spacing:-.6px}
/* Compact ribbon and entity titles retain their approved smaller hierarchy. */
.ribbon-heading h1{font-size:23px}
.program-ribbon.collapsed h1{font-size:17px}
input[readonly],textarea[readonly]{background:var(--surface-soft);color:var(--muted)}
.card>h2,.card>.flex>h2{font-size:18px}
.card>h3{font-size:15px}
.card p,.card .limits{line-height:1.6}
.eyebrow{color:var(--muted)}

/* One navigation grammar. Selection controls/filters/years are not page tabs. */
:is(.hr-tabs,.project-tabs,.tcw-tabs,.pm-tabs,.org-tabs,.account-tabs,.finance-tabs,.profile-tabs,.ai-tabs,.ai-file-tabs,.aa-tabs,.staffing-tabs,.people-tabs,.setup-tabs,.sw-tabs,.access-tabs){gap:4px;border-bottom:1px solid var(--line)}
:is(.hr-tabs,.project-tabs,.tcw-tabs,.pm-tabs,.org-tabs,.account-tabs,.finance-tabs,.profile-tabs,.ai-tabs,.ai-file-tabs,.aa-tabs,.staffing-tabs,.people-tabs,.setup-tabs,.sw-tabs,.access-tabs)>button,
.project-header .project-tabs>button,.org-resource-workspace .hr-tabs>button{
 background:transparent;color:var(--muted);border:0;border-bottom:3px solid transparent;border-radius:0;
 padding:12px 14px;font-size:12px;line-height:1.5;white-space:nowrap;box-shadow:none
}
:is(.hr-tabs,.project-tabs,.tcw-tabs,.pm-tabs,.org-tabs,.account-tabs,.finance-tabs,.profile-tabs,.ai-tabs,.ai-file-tabs,.aa-tabs,.staffing-tabs,.people-tabs,.setup-tabs,.sw-tabs,.access-tabs)>button:is(.active,.selected,.primary,[aria-current=page],[aria-selected=true]),
.project-header .project-tabs>button[aria-current=page],.org-resource-workspace .hr-tabs>button.selected{
 background:transparent;color:var(--ink);border-bottom-color:var(--gold);font-weight:700
}
:is(.hr-tabs,.project-tabs,.tcw-tabs,.pm-tabs,.org-tabs,.account-tabs,.finance-tabs,.profile-tabs,.ai-tabs,.ai-file-tabs,.aa-tabs,.staffing-tabs,.people-tabs,.setup-tabs,.sw-tabs,.access-tabs)>button:hover:not(:disabled){background:var(--control-fill);color:var(--ink)}
.workspace-operation:is(.account-tabs,.ai-tabs,.hr-tabs){padding-block:0;margin-bottom:16px}

/* Legacy shared modal: keep its existing form structure and event targets. */
dialog#dialog.ui-dialog{border:1px solid var(--line);border-radius:var(--radius-dialog);background:var(--surface);color:var(--ink);box-shadow:var(--dialog-shadow);padding:var(--dialog-gutter);max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;scroll-padding-block:70px}
dialog#dialog.ui-dialog .ui-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px;padding:0 0 16px;border-bottom:1px solid var(--line)}
dialog#dialog.ui-dialog .ui-dialog-heading h2{font-size:18px;margin:0;line-height:1.35}
dialog#dialog.ui-dialog .ui-dialog-heading>:is([data-close],[data-ui-close]){flex:none;font-size:12px;padding:9px 14px;border-radius:var(--radius-control);background:var(--control-fill);color:var(--ink)}
dialog#dialog.ui-dialog .ui-dialog-actions{position:sticky;bottom:calc(-1 * var(--dialog-gutter));z-index:3;display:flex;align-items:center;justify-content:flex-end;gap:8px;background:var(--surface);border-top:1px solid var(--line);padding:14px 0 0;margin-top:20px;padding-bottom:var(--dialog-gutter)}
dialog#dialog.ui-dialog .ui-dialog-actions>[data-close]{font-size:12px;padding:10px 14px;background:var(--control-fill);border-radius:var(--radius-control);color:var(--ink)}
dialog#dialog.ui-dialog form{gap:var(--space-field)}
/* Specialised approved modal grids keep their scrolling and size mechanisms. */
dialog#dialog.ui-dialog:is(.org-dialog,.org-presentation-dialog,.allocation-dialog,.pme-dialog){padding:0;overflow:hidden}
dialog#dialog.ui-dialog.org-dialog>.org-dialog-title,
dialog#dialog.ui-dialog.org-presentation-dialog>.org-dialog-title,
dialog#dialog.ui-dialog.allocation-dialog>.dialog-head{padding:18px var(--dialog-gutter);background:white;border-color:var(--line)}
.org-dialog-title h2,.allocation-dialog .dialog-head h2{font-size:18px;line-height:1.35}
.org-dialog-body,.allocation-dialog .dialog-body{padding:20px var(--dialog-gutter)}
.org-dialog-footer,.allocation-dialog .dialog-foot,.pme-actions,.company-form-footer{padding:14px var(--dialog-gutter);border-color:var(--line);gap:8px;background:white}
dialog::backdrop{background:#18264268;backdrop-filter:blur(3px)}

/* Feedback and communications retain their meaning, not just their colour. */
.error{font-size:12px;line-height:1.6;background:var(--danger-fill);color:var(--danger-ink);border-radius:var(--radius-control);padding:12px 14px;overflow-wrap:anywhere}
.note{border-left:3px solid var(--gold);font-size:12px;line-height:1.6;padding:12px 14px;border-radius:0 7px 7px 0}
.pending{font-size:12px;line-height:1.6;border-radius:var(--radius-control)}
.empty,.notification-empty{font-size:13px;line-height:1.6;padding:28px 20px;color:var(--muted)}
.notification-group{border-color:var(--line);border-radius:var(--radius-panel)}
.notification-group>summary{background:var(--surface-soft);color:var(--ink);padding:13px 16px}
.notification-item{padding:16px;border-color:var(--line)}
.notification-item h3{font-size:14px;color:var(--ink)}
.notification-item p{font-size:12px;color:var(--muted);line-height:1.6}
.notification-toolbar{padding-bottom:14px;border-color:var(--line)}
.notification-boundary{color:var(--muted);line-height:1.6;border-color:var(--line)}
#toast{font-size:13px;line-height:1.5;max-width:440px;border-radius:var(--radius-control);box-shadow:0 8px 28px #14223b28;z-index:1100}
#toast[data-error=true]{background:var(--danger-ink)}
#toast[data-error=false]{background:var(--ink)}

/* Existing sticky action bars retain their positioning and save-state content. */
.tcw-actions,.pm-savebar,.menu-savebar,.sw-footer{border-color:var(--line);background:var(--surface);gap:16px}
.tcw-actions .buttons,.pm-savebar .buttons,.sw-footer .buttons{gap:8px}
.presentation-toolbar{border-color:var(--line);background:var(--surface-soft)}
.presentation-actions button,.presentation-open{border-radius:var(--radius-control);border-color:var(--line)}
/* Existing fullscreen rules own geometry; shared decoration does not move charts. */
dialog.presentation-path#dialog.ui-dialog{max-height:none;overflow:visible}

/* Header stays reachable when a conventional modal scrolls; native grid dialogs opt out. */
dialog#dialog.ui-dialog:not(.org-dialog,.org-presentation-dialog,.allocation-dialog,.pme-dialog)>:is(.ui-dialog-heading,.flex.between):first-child:has(h2){position:sticky;top:calc(-1 * var(--dialog-gutter));z-index:4;background:white;padding-block:14px;border-bottom:1px solid var(--line)}

input[type=color]{height:40px;min-width:60px;padding:4px;border-radius:var(--radius-control)}

/* Present uses the whole screen instead of retaining the small dashboard list cap. */
.presentation-active.dashboard-widget .dashboard-list{max-height:none;overflow:visible}

.presentation-actions button:not(.primary){background:var(--control-fill);color:var(--ink);border:1px solid var(--line)}

/* Shared searchable choices own their geometry, even inside full-width form fields. */
.pwx-picker .pwx-picker-panel>.pwx-picker-options>label{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:100%;min-width:0;min-height:36px;height:auto;box-sizing:border-box;margin:0;padding:8px 10px;font-size:13px;font-weight:400;line-height:1.4;text-align:left;white-space:normal}
.pwx-picker .pwx-picker-panel>.pwx-picker-options>label[hidden]{display:none}
.pwx-picker .pwx-picker-panel>.pwx-picker-options>label>input[type=checkbox]{display:inline-block;flex:0 0 16px;width:16px;min-width:16px;max-width:16px;height:16px;min-height:16px;max-height:16px;margin:0;padding:0;box-sizing:border-box;position:static;appearance:auto;accent-color:var(--focus);box-shadow:none}
.pwx-picker .pwx-picker-panel>.pwx-picker-options>label>span{display:block;flex:1 1 auto;min-width:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
.pwx-picker .pwx-picker-panel>.pwx-picker-options>label>span>small{display:block;margin-top:2px;font-size:11px;line-height:1.4;color:var(--muted)}
.pwx-picker .pwx-picker-panel>input[type=search]{display:block;width:100%;min-width:0;box-sizing:border-box;height:40px;min-height:40px;margin:0 0 8px;padding:9px 11px;font-size:13px}

/* Programme-wide search: category tabs and grouped object results. */
.search-dialog{width:min(980px,96vw);max-width:980px;max-height:90vh}.search-dialog .gs-tabs{display:flex;gap:6px;overflow-x:auto;padding:12px 0;margin:0;border-bottom:1px solid var(--line);flex:none}.gs-tabs button{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--panel,#fff);color:var(--muted);font-size:12px}.gs-tabs button[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.gs-tabs small{font-size:10px;opacity:.8}.search-dialog .gs-status{margin:7px 0}.search-dialog .search-results{max-height:55vh;overflow:auto}.gs-result-group{margin:0 0 18px}.gs-result-group>header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 4px}.gs-result-group h3{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);margin:0}.gs-result-group h3 small{font-weight:400}.search-results .gs-result{display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 12px;min-height:58px;border:1px solid var(--line);border-radius:9px;margin:0 0 5px;background:var(--panel,#fff);color:var(--ink)}.gs-result>span:nth-child(2){min-width:0}.gs-result b{display:block;font-size:13px;overflow-wrap:anywhere}.gs-result small{display:block;font-size:11px;line-height:1.4;margin-top:4px;color:var(--muted)}.gs-result-icon{display:grid;place-items:center;width:30px;height:30px;background:var(--soft,#f1f5fb);color:var(--muted);border-radius:8px}.gs-result:hover,.gs-result:focus-visible{background:var(--soft,#f1f5fb)}.search-dialog .search-footnote{font-size:11px}.search-dialog .search-arrow{position:static}.gs-result-group .link-btn{font-size:11px;white-space:nowrap}

.gs-tabs button[aria-selected=true] small{color:inherit;opacity:1}

/* Glass light: one layer of the charter. Blur stays on floating layers (bars, panels, dialogs); plain cards only use translucency, for speed. */
html,body{background:var(--backdrop) fixed}
.sidebar{background:var(--glass-menu);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-right:1px solid var(--glass-edge);box-shadow:var(--glass-shadow)}
.sidebar-bird{background:transparent}
.topbar{background:var(--glass-topbar);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--line)}
.program-ribbon{background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-color:var(--glass-edge)}
.card,.ac-card,.ac-kpi,.mjs-q,.mjs-card,.mjs-model{background:var(--glass);border-color:var(--glass-edge);box-shadow:var(--glass-shadow)}
.primary{background:linear-gradient(180deg,#25336a,var(--ink));box-shadow:0 1px 2px #14223b33,inset 0 1px 0 #ffffff24;border-radius:var(--radius-control)}
.secondary{background:var(--control-fill);border-color:var(--control-line)}
:where(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){background:rgba(255,255,255,.7)}
dialog#dialog.ui-dialog,#ac-hover,.mjs{background:var(--glass-popup);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge)}
dialog#dialog.ui-dialog .ui-dialog-actions{background:transparent}
dialog::backdrop{background:#1826421f;backdrop-filter:var(--glass-veil,blur(10px) saturate(130%))}
.ac-top{background:var(--glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--line)}
.ac-pill{background:rgba(255,255,255,.55);border:1px solid var(--glass-edge);border-radius:14px;box-shadow:var(--glass-shadow)}
.mjs{border-width:0 0 0 1px;border-radius:var(--radius-dialog) 0 0 var(--radius-dialog)}
.mjs-head,.mjs-foot{border-color:var(--line)}
.mjs-head nav button.on{background:rgba(24,35,78,.92);border-radius:999px}.mjs-head nav button{border-radius:999px}
.mjs-seg{border-radius:999px}.mjs-seg button{border-radius:999px}
.program-ribbon{border:1px solid var(--glass-edge);border-radius:var(--radius-dialog);box-shadow:var(--glass-shadow);padding-inline:20px}
.ribbon-kpi,.factory-chain,.un-table-wrap,.hub-context,.hub-footer-review,.dashboard-finance-year{background:var(--glass)!important;border-color:var(--glass-edge)}
/* Sticky rows stay nearly opaque: content scrolls under them and must not show through. */
.program-ribbon{background:var(--banner)!important;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}
.factory-operation,.execution-view-controls,.calendar-caption{background:var(--sticky)!important;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}
.topbar-brand{background:transparent}
.glass-settings{display:grid;gap:8px;margin:18px 0}.glass-settings h3,.glass-settings p{margin:0}.glass-slider{display:flex;align-items:center;gap:10px;max-width:520px}.glass-slider input{flex:1}.glass-slider small{color:var(--muted)}.glass-slider output{min-width:40px;text-align:right;font-weight:700}.glass-settings .link-btn{justify-self:start}
/* Large working windows are not glass: one calm surface, white cards on it, whatever the glass level. Glass stays for small floating layers. */
#ac-frame,.ac-window{background:var(--surface-soft);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid var(--line);--glass:#fff;--glass-strong:#fff;--glass-edge:var(--line);--panel:#fff;--panel-soft:var(--surface-soft)}
/* Module rows painted white would show as patches over the backdrop. */
.card article,.pmo-finding,.dashboard-pool-row,.dashboard-task-row,.execution-switch{background:transparent}
/* Each kind of element takes its own level: the kind only re-points the surface tokens, so no screen has its own colour. */
:where([class*="kpi"],.prw-dashboard-stat){--panel:var(--panel-kpi);--panel-soft:var(--panel-soft-kpi);--glass:var(--panel-kpi)}
:where(table,[class*="table"],[class*="factory-chart"],[class*="gantt"],[class*="timeline"],.programme-calendar){--panel:var(--panel-table);--panel-soft:var(--panel-soft-table);--glass:var(--panel-table)}
/* The label column of a plan is one clean column: bars scroll under it, so it never takes the band of its row. */
.factory-row:not(.factory-header) .factory-label,.sp-row-label{background:var(--sticky)!important}
.factory-row.fixed{background:transparent}
#ac-frame,.ac-window{--banner:#fff;--panel-kpi:#fff;--panel-soft-kpi:var(--surface-soft);--panel-table:#fff;--panel-soft-table:var(--surface-soft)}
.glass-kinds{display:grid;gap:6px;max-width:640px;margin-top:6px}.glass-kind{display:grid;grid-template-columns:150px minmax(0,1fr) 46px 170px;gap:10px;align-items:center}.glass-note{color:var(--muted)}
@media(max-width:640px){.glass-kind{grid-template-columns:minmax(0,1fr) 46px}.glass-kind input{grid-row:2;grid-column:1/-1}}
/* Dense plans and calendars keep their size whatever the text setting: their columns are counted in weeks. */
:where(.factory-chart-card,.programme-calendar,[class*="gantt"],[class*="timeline"],.factory-row,.factory-header){--t8:8px;--t9:9px;--t10:10px;--t11:11px;--t12:12px;--t13:13px;--t14:14px;--t16:16px;--t18:18px;--t20:20px;--t22:22px;--t24:24px;--t28:28px;--t32:32px;--t40:40px;}
/* Every button belongs to the charter, including those of popups and menus: a button no module has classed takes this default. Zero specificity, so a parent's rule still wins. */
button:where(:not([class])){background:var(--control-fill);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);padding:6px 12px;font-size:var(--t13)}
/* Three kinds of action everywhere: main, standard, link. Modules that had their own version now use these. */
button:is(.presentation-open,.calendar-display-button,.dashboard-settings-toggle,.finance-step,.ac-btn:not(.primary)),.execution-view-zoom button,.kpi-year-control button,.ad-note button,.ad-person button,:is(#is-root,#is-layer,#is-panel) .btn:not(.primary){background:var(--control-fill);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink)}
button:is(.presentation-open,.calendar-display-button,.dashboard-settings-toggle,.finance-step,.ac-btn:not(.primary)):hover:not(:disabled),.execution-view-zoom button:hover:not(:disabled),.kpi-year-control button:hover:not(:disabled){background:var(--control-hover)}
button:is(.ac-btn.primary,.fi-primary,.doc-primary),:is(#is-root,#is-layer,#is-panel) .btn.primary{background:linear-gradient(180deg,#25336a,var(--ink));color:#fff;border:0;border-radius:var(--radius-control);box-shadow:0 1px 2px #14223b33,inset 0 1px 0 #ffffff24}
button:is(.mjs-link,.ghost,.link){background:none;border:0;color:var(--link)}

/* One version of each component. Tabs: one pill bar. Menus and filters: one floating layer. Toolbars: one bar. Ribbons follow the main banner. */
:is(.aa-tabs,.access-tabs,.account-tabs,.activation-tabs,.ad-tabs,.ai-file-tabs,.ai-tabs,.allocation-profile-tabs,.dedication-mode-tabs,.finance-tabs,.hr-tabs,.hub-tabs,.ms-preview-tabs,.org-tabs,.people-tabs,.pm-tabs,.profile-tabs,.project-tabs,.pu-tabs,.setup-tabs,.staffing-tabs,.sw-tabs,.tcw-tabs,.un-tabs){display:inline-flex;flex-wrap:wrap;gap:2px;width:fit-content;max-width:100%;background:var(--control-fill);border:0;border-radius:var(--radius-panel);padding:3px;box-shadow:none}
:is(.aa-tabs,.access-tabs,.account-tabs,.activation-tabs,.ad-tabs,.ai-file-tabs,.ai-tabs,.allocation-profile-tabs,.dedication-mode-tabs,.finance-tabs,.hr-tabs,.hub-tabs,.ms-preview-tabs,.org-tabs,.people-tabs,.pm-tabs,.profile-tabs,.project-tabs,.pu-tabs,.setup-tabs,.staffing-tabs,.sw-tabs,.tcw-tabs,.un-tabs)>:is(button,a){background:none!important;border:0!important;border-radius:var(--radius-control);padding:6px 14px;font-size:var(--t13);font-weight:600;color:var(--muted);box-shadow:none;text-decoration:none}
:is(.aa-tabs,.access-tabs,.account-tabs,.activation-tabs,.ad-tabs,.ai-file-tabs,.ai-tabs,.allocation-profile-tabs,.dedication-mode-tabs,.finance-tabs,.hr-tabs,.hub-tabs,.ms-preview-tabs,.org-tabs,.people-tabs,.pm-tabs,.profile-tabs,.project-tabs,.pu-tabs,.setup-tabs,.staffing-tabs,.sw-tabs,.tcw-tabs,.un-tabs)>:is(button,a)::after{display:none}
:is(.aa-tabs,.access-tabs,.account-tabs,.activation-tabs,.ad-tabs,.ai-file-tabs,.ai-tabs,.allocation-profile-tabs,.dedication-mode-tabs,.finance-tabs,.hr-tabs,.hub-tabs,.ms-preview-tabs,.org-tabs,.people-tabs,.pm-tabs,.profile-tabs,.project-tabs,.pu-tabs,.setup-tabs,.staffing-tabs,.sw-tabs,.tcw-tabs,.un-tabs)>:is(button,a):is(.active,.on,.selected,[aria-selected=true]){background:var(--panel)!important;color:var(--ink);box-shadow:0 1px 3px #14223b22}
:is(.dr-display-panel,.org-project-filter,.pm-catalogue-filter-panel,.pmb-filter-menu,.project-smart-menu,.pwx-picker-panel,.sp-filters,.un-project-filters,.un-scope-menu){background:var(--popover);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:var(--dialog-shadow)}
:is(.delivery-toolbar,.doc-toolbar,.dx-toolbar,.iv-toolbar,.network-toolbar,.notification-toolbar,.org-deck-toolbar,.pmo-toolbar,.project-toolbar,.pwx-toolbar,.rdv-filter-bar,.task-center-toolbar,.translations-toolbar,.delivery-smartbar,.project-smartbar,.un-context-bar,.workspace-operation,.compact-backlog-toolbar,.execution-toolbar){background:var(--sticky);border:1px solid var(--line);border-radius:var(--radius-panel)}
.dr-ribbon{background:var(--banner);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);border-radius:var(--radius-dialog);box-shadow:var(--glass-shadow)}
.execution-view-zoom button,.kpi-year-control button{background:var(--control-fill)!important;border:1px solid var(--line)}
/* Layers over a page: dialogs, side panels, menus. Their headers and sticky rows take the layer's own surface, so no white band appears. */
dialog.ui-dialog{--surface:var(--glass-popup);--surface-soft:var(--glass-popup)}
dialog.ui-dialog .dashboard-catalog-group>h3{position:static;background:transparent!important}
.dashboard-workspace>aside,.sw-active .sp-side{background:var(--glass-popup);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-color:var(--glass-edge)}
.dashboard-workspace>aside,.sw-active .sp-side{--surface:var(--glass-popup);--surface-soft:var(--glass-popup)}
/* A menu opened inside a glass bar cannot blur what is behind it: menus stay nearly opaque at every level. */
.un-scope-menu,.execution-switch,.project-smart-menu>div,.un-project-filters>div,.sp-filters>div,.dr-display-panel{background:var(--popover)!important;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:var(--line);--surface:var(--popover);--surface-soft:var(--popover)}
.un-context,.execution-toolbar,.delivery-toolbar,.un-context-bar{background:var(--sticky)!important}
.project-smart-menu>summary,.un-new-menu>summary,.un-sort>summary{background:var(--control-fill)!important;border:1px solid var(--line)!important;box-shadow:none!important;border-radius:var(--radius-control)}
/* No band at rest; once the content scrolls under them, they turn readable. */
dialog#dialog.ui-dialog :is(.ui-dialog-heading,.ui-dialog-actions,.dialog-head,.dialog-foot,.buttons,.org-dialog-footer,.pme-actions,.company-form-footer),dialog#dialog.ui-dialog>:is(.flex.between):first-child:has(h2){background:transparent!important;backdrop-filter:none;-webkit-backdrop-filter:none}
dialog#dialog.ui-dialog.is-scrolled :is(.ui-dialog-heading,.ui-dialog-actions,.dialog-head,.dialog-foot,.buttons,.org-dialog-footer,.pme-actions,.company-form-footer),dialog#dialog.ui-dialog.is-scrolled>:is(.flex.between):first-child:has(h2){background:var(--sticky)!important}
.programme-calendar{background:var(--sticky)}
.dashboard-widget .execution-view-controls{background:transparent!important;backdrop-filter:none;-webkit-backdrop-filter:none}
/* Projects floats like every other module: same banner, same bars, same cards. */
.un-context{top:var(--topbar-height,70px);margin:12px 0 14px;padding:12px 18px;background:var(--banner)!important;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);border-radius:var(--radius-dialog);box-shadow:var(--glass-shadow)}
.un-context-bar{background:transparent!important;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding-inline:0}
.un-portfolio .execution-toolbar.delivery-toolbar{background:var(--banner)!important;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);border-radius:var(--radius-panel);box-shadow:var(--glass-shadow)}
.un-table-wrap{border:1px solid var(--glass-edge);border-radius:var(--radius-dialog);box-shadow:var(--glass-shadow);overflow:hidden}
.un-context .un-portfolio-views,.un-context .un-tabs{border-bottom:0}.un-portfolio-views{border-bottom:0}.un-context-bar{margin-bottom:0}
dialog#dialog.ui-dialog :is(.notification-toolbar,.doc-toolbar,.org-deck-toolbar,.pwx-toolbar){background:transparent;border-color:var(--line)}

/* One size for the two main button types, wherever they sit. */
button:is(.secondary,.primary){font-size:var(--t12)}
/* The last opaque bands: sticky toolbars follow the sticky token, plan rows the table token. */
.workspace-operation{background:var(--sticky)}.factory-row.capacity-row{background:var(--panel-table)}.factory-row-status{background:transparent}

/* project-card-detail.css */
/* The approved project-card composition; data still comes from shared projections. */
.pcd-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}.pcd-heading h2,.pcd-heading p{margin:0}.pcd-heading p{margin-top:8px}.pcd-heading .buttons{flex-shrink:0}
.pcd-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:20px;align-items:start}.pcd-stack{display:grid;gap:20px}.pcd-columns>.card{margin:0;min-width:0}.pcd-section{margin-top:20px}.pcd-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;margin:22px 0}.pcd-facts small,.pcd-facts b{display:block}.pcd-facts b{margin-top:6px}.pcd-drivers b{font-size:var(--t24)}.pcd-facts small{color:var(--muted)}.card.pcd-table-card{padding:0;overflow:hidden}.pcd-table-card>.pcd-heading{padding:20px 24px 0}.pcd-table-card .table-scroll{margin:0}.pcd-table-card td{vertical-align:middle;padding:16px 12px}.pcd-table-card th{background:var(--surface-alt,#f7f9fd)}.pcd-table-card td small{display:block;margin-top:5px;color:var(--muted)}.pcd-tasks td:first-child{width:29%}.pcd-owner{display:flex;align-items:center;justify-content:space-between;gap:10px}.pcd-tasks td:nth-child(2){width:24%}.pcd-tasks td:last-child{white-space:nowrap}.pcd-readiness-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:18px;border-bottom:1px solid var(--line)}.pcd-readiness-row small{display:block;margin-top:6px}.pcd-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0 20px}.pcd-metrics.three{grid-template-columns:repeat(3,minmax(0,1fr))}.pcd-metric{padding:18px 20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-control)}.pcd-metric small{display:block;color:var(--muted)}.pcd-metric strong{display:block;font-size:var(--t28);margin-top:12px;line-height:1.2}.pcd-metric.success strong{color:var(--green,#248666)}.pcd-metric.danger strong{color:var(--red,#b84049)}.pcd-metric.warning strong{color:#a66910}.pcd-finance-toolbar{display:flex;align-items:end;gap:18px}.pcd-finance-toolbar label{display:grid;gap:7px}.pcd-finance-toolbar .grow{flex:1}.pcd-finance-toolbar .buttons{min-height:40px}.pcd-financial-bar{height:10px;margin:20px 0 10px;background:#e8edf5;border-radius:8px;overflow:hidden}.pcd-financial-bar i{height:100%;display:block;background:#568aaf}.pcd-decision-row{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.pcd-decision-row p{margin:8px 0}.pcd-decision-row small{display:block;color:var(--muted);margin-top:5px}.pcd-decision-date{min-width:90px;color:var(--muted)}.pcd-decision-row .grow{min-width:0}.pcd-review-dates{display:flex;gap:18px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line)}.pcd-review-dates b{margin-left:6px}.pcd-readonly{margin:12px 0}.present-content .pcd-table-card{overflow:visible}
.pcd-heading>.buttons{display:flex;gap:8px;margin:0}.pcd-finance-toolbar label>.buttons{display:flex;align-items:center;gap:7px;margin:0;min-height:40px}.pcd-finance-toolbar label>.buttons .kpi-year-control{display:inline-flex}
.prw-health>.flex>svg{width:18px;height:18px}.prw-health-graphic{display:flex;align-items:center;gap:28px;margin:24px 0}.prw-ring{border:0;border-radius:50%;padding:9px;background:var(--ring);width:114px;height:114px;flex:none;color:var(--ink)}.prw-ring>span{display:flex;flex-direction:column;align-items:center;justify-content:center;height:96px;width:96px;border-radius:50%;background:var(--panel);gap:5px}.prw-ring strong{font-size:var(--t28)}.prw-ring small{font-size:var(--t10);color:var(--muted)}.prw-health-key{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:12px;min-width:0}.prw-health-stat{display:flex;align-items:center;gap:9px;border:0;background:transparent;padding:8px;text-align:left;color:var(--ink);border-radius:var(--radius-sm)}.prw-health-stat svg{width:17px;height:17px;flex:none}.prw-health-stat b{font-size:var(--t16);font-weight:500}.prw-health-stat span{font-size:var(--t11);color:var(--ink)}.prw-health-stat.danger{color:#bd4f54;background:transparent}.prw-health-stat.warning{color:#aa7419}.prw-health-stat.neutral{color:#668cb5}.prw-health-stat.success{color:#43866a}.prw-health-stat[aria-pressed=true]{background:#e6edf8}.pwx-task-dependencies .prw-health-key{grid-template-columns:1fr;gap:4px}.pwx-task-dependencies .prw-health-graphic{gap:14px}.prw-task-list{border-top:1px solid var(--line);margin-top:26px;padding-top:16px}.prw-dashboard-summary{display:flex;align-items:center;gap:20px;margin:24px 0 18px}.prw-dashboard-total{display:grid;gap:6px;min-width:110px}.prw-dashboard-total strong{font-size:var(--t40);line-height:1.1}.prw-dashboard-total small{color:var(--muted);font-size:var(--t11)}.prw-dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(85px,1fr));gap:10px;flex:1}.prw-dashboard-stat{display:flex;flex-direction:column;align-items:start;text-align:left;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-control);color:#668cb5;background:var(--panel-soft)}.prw-dashboard-stat.danger{color:#bd4f54;background:var(--panel-soft)}.prw-dashboard-stat.warning{color:#aa7419;background:#fffaef}.prw-dashboard-stat.purple{color:var(--muted);background:var(--panel-soft)}.prw-dashboard-stat svg{width:17px;height:17px}.prw-dashboard-stat strong{font-size:var(--t24)}.prw-dashboard-stat small{font-size:var(--t10)}.prw-dashboard-stat[aria-pressed=true]{outline:2px solid currentColor}.prw-status-strip{margin:18px 0;height:6px}.prw-action-row{display:flex;align-items:center;gap:14px;padding:18px 0;border-top:1px solid var(--line)}.prw-action-row small{display:block;margin-top:4px;font-size:var(--t11);color:var(--muted)}.prw-action-row .grow{flex:1}.prw-next-actions{max-height:450px;overflow:auto;margin-top:14px}.prw-scope{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0}.prw-scope>label{display:flex;align-items:center;gap:14px}.prw-scope .pwx-picker{min-width:260px}.prw-programme-register{margin:20px 0}.prw-task-closure{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}

.prw-delivery-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.prw-delivery-counts b,.prw-delivery-counts small{display:block}.prw-delivery-counts b{font-size:var(--t28);margin-bottom:8px}.prw-delivery-counts small{color:var(--muted)}

.pcd-reservations{max-height:360px;overflow:auto;margin-bottom:16px}.prw-programme-register .buttons,[data-register-host]>.flex>.buttons{display:flex;gap:8px;flex-wrap:wrap}

/* Match the approved project workspace, including its hierarchy and reading rhythm.
   Scoped to this workspace: the application shell and other workspaces keep their charter. */
@font-face{font-family:KestrelWorkspace;src:local('Arial')}
.project-card-workspace{font-family:KestrelWorkspace,Arial,sans-serif;font-size:var(--t14);line-height:1.5;margin-inline:8px}
.project-card-workspace :is(button,input,select,textarea){font-family:inherit}
.project-card-workspace #project-tab-panel{border-top:0;padding-top:24px}
.project-card-workspace .project-tabs{gap:0;margin-bottom:0}
.project-card-workspace .project-tabs>button{padding:11px 12px;border-bottom-width:2px}
.project-card-workspace .project-tabs>button[aria-current=page]{background:transparent}
.project-card-workspace .project-header{border-bottom:0;padding-bottom:0}
.project-card-workspace :is(button.secondary,button.primary){font-weight:600}
.project-card-workspace #project-tab-panel .card{padding:24px;margin-bottom:0;border-radius:var(--radius-control)}
.project-card-workspace #project-tab-panel .pcd-table-card{padding:0}
.project-card-workspace #project-tab-panel :is(h2,.pcd-stack>.card>h3,.pcd-admin-domain>h3){font-size:var(--t18);line-height:1.5;letter-spacing:-.4px;font-weight:700;margin:0 0 12px}
.project-card-workspace #project-tab-panel h3{font-weight:500}
.project-card-workspace .pcd-heading h2{margin:0!important}
.project-card-workspace .pcd-heading p{margin-top:8px}
.project-card-workspace #project-tab-panel .pcd-heading svg{width:19px;height:19px;vertical-align:-3px;margin-right:5px}
.pcd-information>.card>.pcd-facts{padding:15px 0;margin:0;gap:18px}
.pcd-information .pcd-facts b{font-weight:500}
.pcd-information>.card>.pcd-section{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}
.pcd-information .pcd-section h3{margin:0 0 10px}
.pcd-information .pcd-section p{margin:8px 0 14px}
.pcd-columns{grid-template-columns:minmax(0,2.1fr) minmax(290px,1fr)}
.pcd-information .pcd-drivers>div{display:flex;flex-direction:column-reverse;align-items:start;gap:5px}
.pcd-information .pcd-drivers b{font-size:var(--t24);font-weight:600;margin:0}
.pcd-information .pcd-drivers small{font-size:var(--t12)}
.pcd-information .pwx-mini-facts{margin:15px 0;gap:12px}
.pcd-information .pwx-mini-facts>div{display:flex;justify-content:space-between;gap:16px;font-size:var(--t12)}
.pcd-information .pwx-mini-facts>div small{color:var(--ink);font-size:var(--t12)}
.pcd-information .pwx-mini-facts>div b{font-weight:400;white-space:nowrap}
.pcd-information .buttons{display:flex;gap:8px;flex-wrap:wrap;margin:0}
.project-card-workspace .pcd-tasks td{padding:13px 12px}
.project-card-workspace .pcd-tasks td small{margin-top:3px}
.pcd-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.pcd-admin-grid.shared{grid-template-columns:repeat(2,minmax(0,1fr))}
.project-card-workspace #project-tab-panel .pcd-admin-grid>.pcd-admin-domain{display:flex;flex-direction:column;min-width:0;margin:0;padding:18px 20px}
.project-card-workspace #project-tab-panel .pcd-admin-domain h3{display:flex;align-items:center;gap:9px;font-size:var(--t14);line-height:1.4;margin:0 0 12px}
.project-card-workspace #project-tab-panel .pcd-admin-domain h3>svg{width:18px;height:18px;margin:0;flex-shrink:0}
.pcd-admin-domain p{font-size:var(--t12);line-height:1.6;color:var(--muted);margin:0 0 12px}
.pcd-admin-domain p b{color:var(--ink);font-weight:500}
.pcd-admin-domain button{font-size:var(--t12)}
.pcd-admin-copy{flex:1}
.pcd-admin-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:2px}
.pcd-admin-more{font-size:var(--t11);color:var(--muted);max-width:100%}
.pcd-admin-more summary{cursor:pointer;padding:8px 0}
.pcd-admin-more[open]{flex-basis:100%}
.pcd-admin-more>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
@media(max-width:1200px){.pcd-columns{grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr)}}
@media(max-width:1000px){.pcd-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.pcd-columns{grid-template-columns:1fr}}
@media(max-width:620px){.pcd-admin-grid,.pcd-admin-grid.shared{grid-template-columns:1fr}}

.project-card-workspace #project-tab-panel h3>svg{width:19px;height:19px;vertical-align:-3px;margin-right:5px}

/* Compact model administration: one area, one draft, one reviewed application. */
.project-card-workspace #project-tab-panel .pu-workspace{padding:0;margin-top:16px;overflow:clip}
.pu-heading{display:flex;align-items:start;justify-content:space-between;gap:24px;padding:20px 24px 16px}
.pu-heading h2{margin:0!important}.pu-heading p{font-size:var(--t12);color:var(--muted);margin:6px 0 0}.pu-heading .badge{white-space:nowrap}
.pu-fields{border:0;padding:0;margin:0;min-width:0}.pu-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);padding:0 24px;overflow-x:auto}
.pu-tabs button{display:flex;align-items:center;gap:8px;padding:12px 13px;white-space:nowrap;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;font-size:var(--t12);color:var(--muted)}
.pu-tabs button[aria-selected=true]{border-bottom-color:var(--gold,#e4ac21);font-weight:600;color:var(--ink)}.pu-tabs small{padding:1px 6px;border-radius:var(--radius-xs);background:var(--control-fill)}
.pu-body{padding:22px 24px;max-height:clamp(300px,48vh,620px);overflow:auto;scrollbar-gutter:stable}
.pu-body [hidden]{display:none!important}.pu-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 20px}.pu-inputs label,.pu-model-row label{min-width:0}
.pu-model-row{display:grid;grid-template-columns:minmax(230px,1fr) 1fr;gap:28px;align-items:center}.pu-model-row p{margin:0}.pu-section-heading{margin:22px 0 14px}.pu-section-heading h3{margin:0 0 6px;font-size:var(--t14)}.pu-section-heading p{margin:0;color:var(--muted);font-size:var(--t12)}
.pu-mapping,.pu-body .project-update-history{border-top:1px solid var(--line);margin-top:24px;padding-top:14px}.pu-mapping summary,.project-update-history summary{cursor:pointer;font-size:var(--t12)}
.pu-body [data-extension-context].card{padding:0!important;border:0;margin:0!important;background:transparent;box-shadow:none}.pu-body [data-extension-context]>.flex h2{font-size:var(--t16)!important}.pu-body [data-extension-context] .eyebrow{display:none}
.pu-body .pwe-wave{padding:16px;margin:14px 0 0}.pu-body .pwe-wave h3{margin:0;font-size:var(--t14);display:flex;align-items:center;gap:10px}.pu-body .pwe-wave>p{margin:6px 0 12px;font-size:var(--t12);color:var(--muted)}
.pu-body .project-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:14px 0 0}.pu-body .project-facts>div{min-width:0}.pu-body .project-facts :is(small,b){display:block}.pu-body .project-facts small{font-size:var(--t11);color:var(--muted)}.pu-body .project-facts b{font-size:var(--t13);margin-top:4px;font-weight:500}
.pu-body .grid3{display:grid;grid-template-columns:minmax(180px,1.5fr) 1fr 1fr;gap:20px}.pu-body .buttons{display:flex;gap:8px;margin:0}.pu-body textarea{min-height:65px}.pu-body .project-update-preview{margin-top:20px}.pu-body .project-update-preview>h3{display:none}
.pu-footer{background:var(--panel);border-top:1px solid var(--line);padding:14px 24px}.pu-footer-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.pu-footer [data-pu-state]{font-size:var(--t12);color:var(--muted)}.pu-footer .buttons{display:flex;gap:8px;flex-shrink:0;margin:0}.pu-footer .error:empty{display:none}.pu-footer .error{margin:0 0 10px}.pu-body summary:focus-visible,.pu-tabs button:focus-visible{outline:2px solid #1b65bc;outline-offset:-2px}
@media(max-width:1050px){.pu-tabs button{padding-inline:9px}.pu-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.pu-heading .badge{max-width:180px;white-space:normal}.pu-model-row{grid-template-columns:1fr 1fr}}

.pu-fields label{position:relative}.pu-fields label>.field-help-button{position:absolute;right:0;top:-2px;margin:0;padding:0 2px;height:20px;min-height:0}.pu-fields label:has(>.field-help-button){padding-top:0}.pu-fields label>.field-help.expanded{display:block;position:static;margin:8px 0;font-weight:400}.pu-body .note.neutral,.pu-body .project-update-history .note{background:var(--panel-soft);border-left-color:#91afd1}.pu-body [data-pu-panel=review]>.pu-section-heading{margin-top:0}

/* New customer: the reviewed wave/rule/action journey, with a persistent summary. */
#model-intake-dialog .mi-review-layout{display:grid;grid-template-columns:minmax(0,2.7fr) minmax(250px,1fr);gap:20px;align-items:start}#model-intake-dialog .mi-review-main,#model-intake-dialog .mi-review-sidebar{display:grid;gap:20px;min-width:0}#model-intake-dialog .mi-review-layout .card{margin:0;padding:20px;border-radius:var(--radius-control)}#model-intake-dialog .mi-review-layout h2{font-size:var(--t18);line-height:1.5;margin:0 0 12px}#model-intake-dialog .mi-review-layout h3{font-size:var(--t16)}#model-intake-dialog .mi-review-sidebar{position:sticky;top:0}#model-intake-dialog .mi-summary-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}#model-intake-dialog .mi-summary-counts>div{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-control);padding:14px}#model-intake-dialog .mi-summary-counts svg{width:18px;height:18px;margin-right:10px}#model-intake-dialog .mi-summary-counts strong{font-size:var(--t24)}#model-intake-dialog .mi-summary-counts small{display:block;margin-top:8px;color:var(--muted);font-size:var(--t11)}#model-intake-dialog .mi-review-facts{display:grid;gap:16px;margin:20px 0;font-size:var(--t12)}#model-intake-dialog .mi-review-facts>div{display:flex;justify-content:space-between;gap:16px}#model-intake-dialog .mi-review-facts dd{margin:0;text-align:right;color:var(--muted)}#model-intake-dialog .mi-wave-table{width:100%;font-size:var(--t12)}#model-intake-dialog .mi-wave-table th{font-size:var(--t10)}#model-intake-dialog .mi-wave-table td{vertical-align:top;padding:14px 10px}#model-intake-dialog .mi-wave-table small{display:block;margin-top:8px;color:var(--muted);font-size:var(--t10)}#model-intake-dialog .mi-wave-table .buttons{flex-wrap:nowrap;gap:8px}#model-intake-dialog .mi-wave-table .link-btn{font-size:var(--t11);white-space:nowrap}#model-intake-dialog .mi-wave-marker{color:#bc8615;margin-right:5px}#model-intake-dialog .mi-final-intro{border-left:3px solid #dca70e;margin-bottom:20px;padding:20px}#model-intake-dialog .mi-company-facts{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:18px;align-items:start;margin:20px 0}#model-intake-dialog .mi-company-facts small,#model-intake-dialog .mi-company-facts b{display:block;font-size:var(--t12);margin-bottom:12px}#model-intake-dialog .mi-company-facts label{margin-bottom:8px;font-size:var(--t12)}#model-intake-dialog .mi-company-modes{margin:16px 0 0}#model-intake-dialog .mi-review-layout .pwe-template{background:var(--panel);padding:0;overflow:hidden;border-color:var(--line)}#model-intake-dialog .pwe-template>.flex{background:var(--panel-soft);padding:16px}#model-intake-dialog .pwe-template .project-facts{padding:16px;gap:16px}#model-intake-dialog .pwe-template>.limits{padding:10px 16px;margin:0;border-top:1px solid var(--line);font-size:var(--t11)}#model-intake-dialog .mi-review-layout .pwx-register-table{min-width:480px}#model-intake-dialog .mi-review-sidebar .note{font-size:var(--t12);line-height:1.6}@media(max-width:1000px){#model-intake-dialog .mi-review-layout{grid-template-columns:minmax(0,1fr) 240px;gap:16px}#model-intake-dialog .mi-company-facts{grid-template-columns:1fr 1fr}#model-intake-dialog .mi-company-facts>div:first-child{grid-column:1/-1}}@media(max-width:800px){#model-intake-dialog .mi-review-layout{grid-template-columns:1fr}#model-intake-dialog .mi-review-sidebar{position:static}}

#model-intake-dialog .mi-starter-table{font-size:var(--t12)}#model-intake-dialog .mi-starter-table th{font-size:var(--t10)}#model-intake-dialog .mi-starter-table td{padding:16px 8px}#model-intake-dialog .mi-starter-table td:first-child{width:42px}#model-intake-dialog .mi-starter-table td:nth-child(2){width:42%}#model-intake-dialog .mi-starter-table td:nth-child(3){width:23%}#model-intake-dialog .mi-starter-table small{font-size:var(--t10);line-height:1.6}#model-intake-dialog .mi-starter-table small svg{width:12px;height:12px;vertical-align:middle}#model-intake-dialog .mi-starter-owner{display:flex;align-items:center;gap:7px}#model-intake-dialog .mi-starter-owner .pwx-avatar{width:26px;height:26px;font-size:var(--t10)}

#model-intake-dialog{font-family:KestrelWorkspace,Arial,sans-serif;font-size:var(--t14);line-height:1.5}#model-intake-dialog :is(button,input,select,textarea){font-family:inherit}

.pcd-governance{gap:20px;margin-bottom:24px}.pcd-execution-root{display:flex;align-items:center;justify-content:center;gap:16px;margin:20px auto;max-width:460px;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-control);padding:16px}.pcd-execution-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-top:1px solid #a8b8d0;padding-top:18px}.pcd-execution-branches>.card{position:relative}.pcd-execution-branches>.card:before{content:'';position:absolute;top:-19px;left:50%;height:18px;border-left:1px solid #a8b8d0}.pcd-execution .org-heading{gap:12px}.pcd-execution .org-person-card{min-width:0}.pcd-execution summary{cursor:pointer}.pcd-execution details.card{padding:16px 24px!important}@media(max-width:760px){.pcd-execution-branches,.pcd-governance{grid-template-columns:1fr}}

.task-card-workspace{font-family:KestrelWorkspace,Arial,sans-serif}.task-card-workspace :is(button,input,select,textarea){font-family:inherit}.prw-task-actions-card{margin-top:20px}.prw-task-actions-card .prw-health h3{font-size:var(--t18)}.prw-task-actions-card .pcd-heading h2{margin-top:0}

/* Shared wave and rules authoring follows the approved reference. */
.pm-editor,.pwx-dialog{font-family:KestrelWorkspace,Arial,sans-serif;font-size:var(--t14);line-height:1.5}.pm-editor :is(button,input,select,textarea),.pwx-dialog :is(button,input,select,textarea){font-family:inherit}.pm-editor .buttons,.pwx-dialog .buttons{display:flex;gap:12px;margin:0}.pm-editor h2{font-size:var(--t18);font-weight:500}.pm-editor .pwe-wave h3{font-size:var(--t14);font-weight:400}.pm-editor .pwe-wave .project-facts b{font-weight:400}.pm-editor .pwe-wave{border-color:var(--line);border-radius:var(--radius-control);background:var(--panel-soft);padding:20px;margin-top:14px}.pwe-model-basis{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:16px 0}.pwe-model-basis label{font-size:var(--t12);font-weight:400}.pwe-model-basis input{margin-top:8px}.pm-editor .pwe-template{padding:0;background:var(--panel);overflow:hidden}.pm-editor .pwe-template>.flex{background:var(--panel-soft);padding:16px}.pm-editor .pwe-template .project-facts{padding:16px}.pm-editor .pwe-template>.limits{padding:10px 16px;margin:0;border-top:1px solid var(--line)}
/* Model application: planning anchor and live plan (mockup model-anchor, 5 Nov 2026). */
.pu-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,40%);gap:20px;align-items:start;min-width:0}.pu-layout>.pu-body{min-width:0}.pu-live .note{white-space:normal}
.pu-live{position:sticky;top:12px;border:1px solid var(--line,var(--line));border-radius:var(--radius-panel);background:var(--surface-soft);padding:14px 16px;display:grid;gap:10px;max-height:calc(100vh - 140px);overflow:auto;min-width:0}
.pu-live-head{display:flex;justify-content:space-between;align-items:center}.pu-live-head h3{margin:0;font-size:var(--t14)}
.pu-live-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pu-live-dates>div{background:var(--panel);border:1px solid var(--line,var(--line));border-radius:var(--radius-control);padding:8px 10px}
.pu-live-dates small{display:block;color:var(--muted,#637796);font-size:var(--t11)}.pu-live-dates b{font-size:var(--t16)}.pu-live-dates b.late{color:#b4232c}.pu-live-dates b.early{color:#1f7a4d}
.pu-live-history{margin:0;font-size:var(--t12);font-weight:600}
.pu-gantt{position:relative;display:grid;gap:2px;font-size:11px}
.pu-g-row{display:grid;grid-template-columns:minmax(90px,38%) 1fr;gap:8px;align-items:center;min-height:18px}
.pu-g-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pu-g-track{position:relative;height:14px;background:linear-gradient(90deg,transparent calc(var(--today) - 1px),#e5484d calc(var(--today) - 1px),#e5484d calc(var(--today) + 1px),transparent calc(var(--today) + 1px))}
.pu-g-stream{font-weight:700;color:var(--muted,#637796);margin-top:6px;font-size:var(--t11);text-transform:uppercase;letter-spacing:.04em}
.pu-g-bar{position:absolute;top:2px;height:10px;border-radius:3px;background:#7f9cc9;display:inline-block}
.pu-g-bar.critical{background:#3d5f97}.pu-g-bar.done{background:#3c9a6b}.pu-g-bar.overdue{background:var(--surface);border:2px solid #e5484d;box-sizing:border-box}
.pu-g-bar.milestone{width:10px!important;height:10px;transform:rotate(45deg) translateX(-4px);border-radius:1px;background:#16234d}
.pu-g-bar.milestone.done{background:#3c9a6b}
.pu-g-axis{min-height:16px}.pu-g-axis .pu-g-track{background:none;border-bottom:1px solid var(--line,#dfe7f1)}
.pu-g-axis em{position:absolute;font-style:normal;color:var(--muted,#637796);font-size:var(--t10);transform:translateX(-2px)}
.pu-g-today{position:absolute;top:-2px;transform:translateX(-50%);background:#e5484d;color:#fff;border-radius:var(--radius-xs);padding:0 4px;font-size:var(--t10)}
.pu-g-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11px;color:var(--muted,#637796)}.pu-g-legend span{display:flex;align-items:center;gap:6px}.pu-g-legend .pu-g-bar{position:static;width:18px}
.pu-g-legend .pu-g-bar.milestone{width:10px!important;transform:rotate(45deg)}
.pu-anchor{border:1px solid var(--line,var(--line));border-radius:var(--radius-control);padding:14px 16px;margin:16px 0;display:grid;gap:12px}
.pu-anchor legend{font-weight:700;padding:0 6px}
.pu-anchor-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.pu-anchor .pu-anchor-card{display:flex;flex-direction:row;gap:10px;align-items:flex-start;border:1px solid var(--line,var(--line));border-radius:var(--radius-control);padding:10px 12px;cursor:pointer;background:var(--panel)}
.pu-anchor .pu-anchor-card.selected{border-color:#16234d;box-shadow:0 0 0 2px rgba(22,35,77,.12)}
.pu-anchor .pu-anchor-card input{width:auto;margin:3px 0 0;flex:0 0 auto}.pu-anchor-card span{display:grid;gap:3px}.pu-anchor-card small{color:var(--muted,#637796);font-weight:400}
.pu-anchor-dates{display:grid;gap:8px}.pu-anchor-chips{display:flex;flex-wrap:wrap;gap:8px}
.pu-chip{display:grid;gap:2px;text-align:left;border:1px solid var(--line,var(--line));border-radius:var(--radius-control);padding:8px 12px;background:var(--panel);font-size:var(--t12)}
.pu-chip span{color:var(--muted,#637796)}.pu-chip.selected{border-color:#16234d;background:var(--panel-soft)}
.pu-anchor-date{max-width:240px}
.pu-past{border:1px solid var(--line,var(--line));border-radius:var(--radius-control);padding:12px 14px;margin:12px 0;display:grid;gap:8px}
.pu-past h4{margin:0}.pu-past-list{display:grid;gap:4px;max-height:320px;overflow:auto}
.pu-past-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:4px 2px;border-bottom:1px solid var(--line,var(--line))}
.pu-past .pu-past-row input{width:auto;margin:0}.pu-past-row small{color:var(--muted,#637796);white-space:nowrap}
@media (max-width:1250px){.pu-layout{grid-template-columns:1fr}.pu-live{position:static;max-height:none}}
.pu-live-missing{margin:0;padding-left:18px;font-size:var(--t12);display:grid;gap:2px}
.pu-edi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;align-items:end}

/* Reach the target (7 Nov 2026) */
.pu-reach{border:1px solid var(--line,var(--line));border-radius:var(--radius-panel);padding:12px 14px;margin:12px 0;background:var(--surface,#fff)}
.pu-reach h4{margin:0 0 4px}
.pu-reach-chain{margin:8px 0;padding-left:20px;display:grid;gap:6px}
.pu-reach-chain li small{color:var(--muted,#5b6478)}
.pu-reach-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.pu-reach-actions button{padding:2px 8px;font-size:var(--t12)}
.pu-reach-used ul{margin:6px 0;padding-left:18px}
.pu-reach-used input{width:90px;margin-left:6px}
.pu-reach-run{margin:8px 0}
.pu-reach-progress{height:8px;border-radius:var(--radius-sm);background:var(--line,#e5e8ef);overflow:hidden;margin-bottom:4px}
.pu-reach-progress i{display:block;height:100%;background:var(--gold,#e0a100);transition:width .3s}

/* Reach the target locks (7 Nov 2026) */
.pu-lock{font-size:var(--t11);margin-left:6px;color:var(--muted)}
.pu-lock.active{color:var(--ink);font-weight:600}
.pu-locked>div:first-child{border-left:3px solid var(--ink);padding-left:6px}

.pu-reach-picks{list-style:none;padding-left:0;margin:6px 0}.pu-reach-picks li{margin:4px 0}.pu-reach-picks label{display:flex;gap:8px;align-items:baseline}

/* company-involvement.css */
.iv-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);min-height:48px}
.iv-toolbar .iv-selector{max-width:min(430px,45vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.iv-toolbar button,.iv-toolbar select{min-height:32px!important;height:32px;padding:4px 9px!important;font-size:var(--t12)!important}
.iv-toolbar .iv-role{margin:0;max-width:200px}.iv-toolbar small{font-size:var(--t11);color:var(--muted);margin-left:auto}.iv-toolbar svg{width:15px;height:15px;vertical-align:middle}.iv-caption{font-size:var(--t11);color:var(--muted);margin:6px 0 10px;line-height:1.4}.iv-caption svg{width:14px;height:14px;vertical-align:middle}
.execution-row.iv-match>.execution-label,.iv-match>td{background:#fffaf0}.task-bar.iv-match{outline:2px solid #d8a42a;outline-offset:2px}.execution-row.iv-context>.execution-label,.iv-context>td{background:var(--surface-soft);color:var(--muted)}.task-bar.iv-context{opacity:.3}.milestone-marker.iv-context{opacity:.4}.milestone-marker.iv-match .milestone-diamond{outline:2px solid #d8a42a;outline-offset:3px}.iv-match>td:first-child{box-shadow:inset 3px 0 #d8a42a}.iv-linked>td{background:var(--panel-soft)}.iv-linked>td:first-child{box-shadow:inset 3px 0 #88a2cc}
.iv-detail{margin:12px 0;border-top:1px solid var(--line);padding-top:12px}.iv-detail h3{font-size:var(--t14);margin:0}.iv-people-list{max-height:280px;overflow:auto;margin-top:8px}.iv-person{padding:9px 8px;border-bottom:1px solid var(--line);display:flex;gap:10px;justify-content:space-between}.iv-person.iv-match{background:#fffaf0;border-left:3px solid #d8a42a}.iv-person b{font-size:var(--t12)}.iv-person small{display:block;font-size:var(--t11);line-height:1.5;color:var(--muted)}.iv-person>div:last-child{text-align:right}.iv-detail .limits{font-size:var(--t11)}.iv-action-reason{font-weight:600}.iv-roadmap-band{position:absolute;bottom:7px;left:0;right:0;height:7px}.iv-period{position:absolute;height:7px!important;min-height:7px!important;padding:0!important;min-width:4px;border:1px solid #8d6815!important;border-radius:var(--radius-xs);background:#d6a32a!important}.iv-period:focus-visible{outline:3px solid #17244f;outline-offset:3px}.iv-roadmap-count{position:absolute;bottom:16px;right:5px;font-size:var(--t10);color:#745414;background:#fffaf0;padding:1px 4px}.iv-dialog{max-width:740px!important}.iv-dialog .grid2{gap:14px}.iv-dialog h2 svg{width:20px;height:20px}
@media(max-width:720px){.iv-toolbar .iv-selector{max-width:100%;flex-basis:100%}.iv-toolbar small{margin-left:0}.iv-person{flex-direction:column;gap:4px}.iv-person>div:last-child{text-align:left}}

.task-bar.iv-contribution-task{outline:none;background:#d8dee8;color:#25385d}.task-bar .iv-contribution-mark{position:absolute;top:0;bottom:0;min-width:3px;border:2px dashed #b98516;border-radius:3px;background:#5795b5;pointer-events:none;z-index:1;box-sizing:border-box}.task-bar.iv-contribution-task .task-bar-label{position:relative;z-index:2}.iv-period.iv-period-contributor{border-style:dashed!important}

/* light-touch.css */
.light-workspace{width:min(1440px,calc(100vw - 48px));max-width:1440px}.light-workspace-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.light-workspace-heading h2{font-size:var(--t24);margin:6px 0}.light-workspace-heading p{color:var(--muted);font-size:var(--t13);max-width:820px}.light-workspace-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(250px,1fr);gap:20px}.light-workspace-layout section.card,.light-workspace-layout details.card{padding:22px;margin:0 0 18px;box-shadow:none}.light-workspace-layout h3{margin:0 0 14px}.light-workspace-layout aside button{margin-top:12px;max-width:100%}.light-activities-table{font-size:var(--t12)}.light-activities-table th{font-size:var(--t10);letter-spacing:.06em;background:var(--panel-soft)}.light-activities-table th,.light-activities-table td{padding:15px 12px;vertical-align:top}.light-activities-table small,.light-workspace-layout aside small{display:block;color:var(--muted);margin-top:7px}.light-owner-combo{display:flex;align-items:center;gap:8px;min-width:150px;max-width:210px;font-size:var(--t12);background:var(--panel);text-align:left}.light-owner-combo span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.light-owner-combo svg{width:17px;height:17px}.light-history{border-bottom:1px solid var(--line);padding:14px 0}.light-pdf-link{display:inline-flex;gap:7px;align-items:center;margin:10px 0}.light-pdf-link svg{width:18px;height:18px}.light-workspace-form>.pwx-form-footer{position:sticky;bottom:-24px;background:var(--surface);border-top:1px solid var(--line);z-index:4}.light-workspace-form .pwe-light-section{padding:0;border:0;background:none}.light-approval-dialog{max-width:780px;width:calc(100vw - 48px)}.light-approval-heading{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.light-approval-heading h2{font-size:var(--t22);margin:7px 0}.light-approval-heading p{font-size:var(--t13);color:var(--muted)}.light-decision-icon{width:44px;height:44px;display:grid;place-items:center;background:var(--panel-soft);border-radius:var(--radius-control);flex-shrink:0}.light-decision-icon svg{width:23px;height:23px}.light-decision-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:16px 20px;background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-control);margin-bottom:22px}.light-decision-summary small,.light-decision-summary b{display:block}.light-decision-summary small{color:var(--muted);font-size:var(--t11);margin-bottom:7px}.light-readiness{border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:18px}.light-readiness small{display:block;margin-top:6px}.light-pdf-upload{border:1px dashed #aabedc;background:var(--panel-soft);border-radius:var(--radius-control);padding:18px;display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:20px 0}.light-pdf-upload>div:first-child{flex:1}.light-pdf-upload small{display:block;color:var(--muted);font-size:var(--t11);margin-top:6px}.light-upload-label{cursor:pointer;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 14px;margin:0!important;font-size:var(--t12);position:relative;overflow:hidden}.light-upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;margin:0}.light-upload-label:focus-within{outline:2px solid #286fc1}.light-pdf-upload [data-light-pdf-state]{flex-basis:100%}.light-file-card{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;background:var(--panel)}.light-file-card>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.light-file-card svg{width:23px;height:23px}.light-decision-boundary{background:#fff9ed;border-left:3px solid #d3a523;padding:12px 16px;font-size:var(--t12)}.light-approval-form>.pwx-form-footer{position:sticky;bottom:-24px;background:var(--surface);z-index:4}.light-people-picker{width:min(920px,calc(100vw - 48px));max-width:920px}.light-owner-results{max-height:400px;overflow:auto;margin:16px 0}.light-person-choice{display:flex;gap:12px;align-items:center;cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-control);padding:12px;margin:8px 0}.light-person-choice input{width:17px;height:17px;margin:0}.light-person-choice>span:nth-last-child(2){flex:1}.light-person-choice small{display:block;color:var(--muted)}.light-receipt{text-align:center;padding:28px}.light-receipt .buttons{justify-content:center;margin-top:24px}.light-receipt-check{display:grid;place-items:center;width:54px;height:54px;background:#e4f5ee;color:#16785f;border-radius:50%;margin:0 auto 20px;font-size:var(--t24)}.light-standard-dialog{width:min(1000px,calc(100vw - 48px));max-width:1000px}
@media(max-width:950px){.light-workspace-layout{grid-template-columns:1fr}.light-workspace-layout aside{display:grid;grid-template-columns:1fr 1fr;gap:12px}}@media(max-width:600px){.light-workspace-layout aside{display:block}.light-decision-summary{gap:8px;padding:12px}.light-workspace,.light-approval-dialog{width:calc(100vw - 20px)}}
dialog.light-workspace.pwx-dialog{width:min(1440px,calc(100vw - 48px));max-width:1440px}.light-workspace .pwe-wave{border:0;background:none;padding:0;margin-top:14px}.light-workspace .pwe-wave>h3,.light-workspace .pwe-wave>p{display:none}.light-workspace .pwe-wave>.grid2{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.light-workspace .pwe-wave label{font-size:var(--t11)}.light-workspace .light-workspace-layout section.card{padding:20px}.light-workspace .light-workspace-heading{margin-bottom:16px}.light-workspace .light-workspace-layout aside .card{padding:18px}.light-workspace .light-workspace-layout aside p{font-size:var(--t12);line-height:1.65}dialog.light-approval-dialog.pwx-dialog{max-width:780px}dialog.light-people-picker.pwx-dialog{max-width:920px}dialog.light-standard-dialog.pwx-dialog{max-width:1000px}@media(max-width:950px){.light-workspace .pwe-wave>.grid2{grid-template-columns:1fr 1fr}}

.light-approver-settings{padding:20px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--wash);margin-bottom:20px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.light-approver-settings h3{margin:0 0 6px}.light-approver-settings p{margin:0;max-width:70ch}.light-approver-settings [data-standard-authorities]{flex-basis:100%;display:flex;gap:8px;flex-wrap:wrap}.light-user-trigger{width:100%;justify-content:flex-start;min-height:42px}.light-user-trigger span{flex:1;text-align:left}

/* Shared modal ID rules must not collapse this workspace to the generic width. */
dialog#dialog.light-workspace:not(.light-approval-dialog):not(.light-standard-dialog){width:min(1440px,calc(100vw - 48px));max-width:1440px}
dialog#dialog.light-approval-dialog{width:min(780px,94vw);max-width:780px}
dialog#dialog.light-standard-dialog{width:min(1100px,94vw);max-width:1100px}

.light-person-choice.light-approver-choice{display:grid;grid-template-columns:20px 38px minmax(0,1fr);gap:12px;align-items:center;padding:12px 14px}.light-person-choice.light-approver-choice>span:last-child{text-align:left;justify-self:start;min-width:0}.light-approver-choice b{display:block;font-size:var(--t13)}.light-approver-choice small{display:block;color:var(--muted,#61759a);font-size:var(--t11);margin-top:3px}.light-authority-avatar.person-avatar{width:36px;height:36px;min-width:36px;flex:none}.light-authority-avatar img{object-fit:cover;width:100%;height:100%;border-radius:50%}.light-authority-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px;background:var(--panel-soft);color:var(--ink);font-size:var(--t12);max-width:100%}.light-authority-chip>span:last-child{overflow-wrap:anywhere}.light-authority-chip .person-avatar{width:30px;height:30px;min-width:30px}.light-user-trigger .light-authority-chip{background:transparent;padding:0}.light-user-trigger .light-authority-chip>span:last-child{flex:none}

.light-readiness .intake-checks .light-follow-up,.intake-dialog .intake-checks .light-follow-up{background:#fff9ed;border:1px solid #ead8ab;border-radius:var(--radius-control);color:var(--ink)}.light-follow-up-label{color:#8b641c!important;font-weight:600}.light-readiness .limits{margin:12px 0;line-height:1.6}

/* pmo-workbench.css */
.pmb-workbench{padding:0 0 var(--space-4,20px)}
.pmb-heading,.pmb-summary,.pmb-results-heading,.pmb-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.pmb-heading{justify-content:space-between;margin:18px 0 12px}.pmb-heading h2{margin:0;font-size:var(--t20)}
.pmb-controls{padding:14px;background:var(--card,#fff);border:1px solid var(--line,var(--line));border-radius:var(--radius-control)}
.pmb-controls label{display:grid;gap:5px;min-width:170px;color:var(--muted,#596e94);font-size:var(--t12)}
.pmb-controls select{min-height:38px;max-width:340px}.pmb-reference{flex:1}.pmb-reference select{max-width:none}
.pmb-summary{font-size:var(--t12);margin:12px 0;color:var(--muted,#596e94)}.pmb-summary strong{font-size:var(--t16);color:var(--ink,#18234e)}
.pmb-comparison-summary{margin-left:auto}.pmb-change{font-size:var(--t10);background:#eaf0fa;color:#274a7b}
.pmb-workbench .pmo-toolbar{margin:0}.pmb-results-heading{justify-content:space-between;font-size:var(--t12);margin:14px 0}
.pmb-results-heading span{color:var(--muted,#596e94)}.pmb-workbench .pmo-finding{padding:16px}
.pmb-workbench .pmo-finding h3{font-size:var(--t16);margin:10px 0}.pmb-workbench .pmo-finding p{font-size:var(--t12)}
.pmb-absent{margin-top:20px;padding:16px;background:var(--panel);border:1px solid var(--line,var(--line));border-radius:var(--radius-control)}
.pmb-project-review{margin-bottom:20px}.pmb-project-review p{margin:6px 0 0;color:var(--muted,#596e94)}
.pmb-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}
.pmb-queue{padding:0;overflow:hidden}.pmb-queue table{width:100%;border-collapse:collapse;text-align:left}
.pmb-queue th{font-size:var(--t10);text-transform:uppercase;letter-spacing:.6px;color:var(--muted);padding:14px;background:var(--surface-soft)}
.pmb-queue td{padding:13px 14px;border-top:1px solid var(--line);font-size:var(--t12);vertical-align:middle;overflow-wrap:anywhere}
.pmb-queue th:first-child{width:55%}.pmb-queue tr.selected{background:var(--panel-soft)}.pmb-queue tr.selected td:first-child{box-shadow:inset 3px 0 var(--gold)}
.pmb-observation{display:block;text-align:left;padding:0;border:0;background:none;cursor:pointer;width:100%;color:var(--ink)}
.pmb-observation b{display:block;margin:7px 0 3px;font-size:var(--t13)}.pmb-observation small{font-size:var(--t11);color:var(--muted)}
.pmb-inspector{position:sticky;top:110px;padding:20px}.pmb-inspector h3{font-size:var(--t18);margin:10px 0 16px}.pmb-inspector h4{font-size:var(--t12);margin:18px 0 8px}
.pmb-inspector p{font-size:var(--t12);line-height:1.6;color:var(--muted)}.pmb-inspector .eyebrow{font-size:var(--t9);letter-spacing:1.5px;color:var(--muted)}
.pmb-inspector-actions{display:grid;gap:8px;margin-top:20px}.pmb-inspector .limits{font-size:var(--t10)}.pmb-controls{position:relative;z-index:11}
.pmb-secondary{display:flex;align-items:center;gap:14px}.pmb-filter-menu{position:relative;font-size:var(--t12);color:var(--link)}
.pmb-filter-menu summary{cursor:pointer}.pmb-filter-menu>div{position:absolute;right:0;top:28px;width:300px;z-index:20;padding:18px;background:var(--popover);box-shadow:var(--dialog-shadow);border:1px solid var(--line);border-radius:var(--radius-control);display:grid;gap:14px}
.pmb-filter-menu label{display:grid;gap:5px;font-size:var(--t11);color:var(--muted)}
@media(max-width:1150px){.pmb-workspace{grid-template-columns:minmax(0,1fr) 290px;gap:14px}.pmb-inspector{padding:16px}.pmb-queue td{padding:12px}.pmb-queue th:first-child{width:58%}}

.pmb-diff{border-left:2px solid var(--gold);padding-left:10px;margin-top:14px}.pmb-diff h4{margin:0 0 7px}.pmb-diff .pmo-facts{padding:6px!important;font-size:var(--t10)}.pmb-diff p{font-size:var(--t11);margin:4px 0}.pmb-diff .pmo-facts dd{max-width:65%}

/* pmo-centre.css */
:is(.pmo-centre,.hub-dialog){--hub-soft:var(--soft,#f5f7fb);--hub-text:var(--muted);--hub-red:#aa4147;--hub-amber:#956812;--hub-green:#247769}
.hub-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0 22px}.hub-heading h1{margin:5px 0 9px}.hub-heading p{color:var(--muted);font-size:var(--t12);margin:0}.hub-count{background:#ffffff25;border-radius:var(--radius-xs);padding:2px 6px;margin:0 6px}.hub-context{display:flex;gap:25px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-control);padding:12px 16px}.hub-scope{display:flex;align-items:center;gap:14px;background:var(--panel-soft);min-width:245px;text-align:left}.hub-scope span:nth-child(2){flex:1}.hub-context small,.hub-context label{display:block;font-size:var(--t10);color:var(--muted);font-weight:400;margin-bottom:5px}.hub-context strong{font-size:var(--t12)}.hub-context-icon{font-size:var(--t22);color:var(--link)}.hub-reference{min-width:250px}.hub-reference select{padding:7px 9px}.hub-current{font-size:var(--t12);flex:1}.hub-current span{display:block;font-size:var(--t10);color:var(--muted);margin-top:4px}.hub-tabs{display:flex;gap:22px;align-items:center;border-bottom:1px solid var(--line);margin:16px 0 20px}.hub-tabs button{background:transparent;border:0;border-radius:0;padding:13px 0;font-weight:500;font-size:var(--t12);color:var(--link);border-bottom:3px solid transparent}.hub-tabs button[aria-current=page]{border-bottom-color:var(--gold);color:var(--ink);font-weight:700}.hub-tabs small{font-size:var(--t10);margin-left:6px;color:var(--muted)}.hub-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:18px 0}.hub-kpi{text-align:left;padding:19px 20px 16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px;min-height:132px;position:relative;font-weight:400;overflow:hidden}.hub-kpi:hover{background:var(--panel-soft);border-color:#91a9cf}.hub-kpi small{font-size:var(--t11);color:var(--muted)}.hub-kpi>strong{font-size:var(--t28);letter-spacing:-.7px;line-height:1.2}.hub-kpi>span{font-size:var(--t10);line-height:1.5;color:var(--muted);width:100%}.hub-kpi i{float:right;font-style:normal;color:var(--link)}.hub-kpi.attention>strong{color:var(--hub-amber)}.hub-badge{display:inline-flex;font-size:var(--t10);font-weight:500;line-height:1.5;padding:4px 8px;border-radius:var(--radius-sm);white-space:nowrap;background:var(--panel-soft);color:var(--muted)}.hub-badge.amber{background:#fff3df;color:var(--hub-amber)}.hub-badge.red{background:var(--panel-soft);color:var(--hub-red)}.hub-badge.green{background:#e9f6ef;color:var(--hub-green)}.hub-panel{padding:20px}.hub-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.hub-panel-head h2,.hub-panel-head h3{margin:3px 0 0}.hub-panel-head>.link-btn{font-size:var(--t11);white-space:nowrap}.hub-section-head{margin-top:25px}.hub-overview-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:18px;margin:18px 0}.hub-priority{display:flex;align-items:center;gap:13px;padding:17px 0;border-top:1px solid var(--line)}.hub-priority>div{flex:1}.hub-priority p{font-size:var(--t11);color:var(--muted);line-height:1.6;margin:6px 0 0}.hub-title-link{text-align:left;font-size:var(--t12);font-weight:700;padding:0}.hub-priority>.secondary{font-size:var(--t10);padding:7px 9px;white-space:nowrap}.hub-dot{width:8px;height:8px;border-radius:50%;background:#7889a8;flex-shrink:0}.hub-dot.blocker{background:#be4b51}.hub-dot.risk{background:#b38328}.hub-footnote{font-size:var(--t10);color:var(--muted);line-height:1.7;padding-top:12px;margin:0}.hub-meeting-card{padding:23px;display:flex;flex-direction:column;align-items:flex-start;background:var(--panel)}.hub-meeting-card h2{margin:8px 0 15px}.hub-meeting-card ol{padding-left:18px;font-size:var(--t12);line-height:2.3;color:var(--muted);margin:0 0 18px}.hub-meeting-card .primary{margin-top:auto}.hub-meeting-date{display:flex;align-items:center;gap:12px;margin:0 0 14px}.hub-meeting-date>b{font-size:var(--t32)}.hub-meeting-date small{display:block;font-size:var(--t10);margin-top:5px;color:var(--muted)}.hub-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hub-project-card{padding:21px}.hub-project-card header{display:flex;gap:12px;align-items:center}.hub-project-card header>div{flex:1}.hub-project-card h3{margin:0 0 4px}.hub-project-card small{font-size:var(--t10);color:var(--muted)}.hub-monogram,.hub-avatar{display:inline-flex;align-items:center;justify-content:center;background:var(--panel-soft);color:#5274a9;width:36px;height:36px;border-radius:var(--radius-control);font-size:var(--t12);flex-shrink:0;font-weight:700}.hub-avatar{border-radius:50%;width:30px;height:30px;font-size:var(--t10)}.hub-project-dates{display:flex;align-items:center;gap:25px;margin:21px 0;padding:15px 0;border-block:1px solid var(--line);font-size:var(--t10);color:var(--muted)}.hub-project-dates b{display:block;color:var(--ink);font-size:var(--t12);margin-top:6px}.hub-project-dates>strong{font-size:var(--t16);color:var(--hub-amber);margin-left:auto;white-space:nowrap}.hub-project-card footer{display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:var(--t10);color:var(--muted)}.hub-project-card footer button{font-size:var(--t10)}.hub-finance-notes{display:flex;justify-content:space-between;gap:15px;font-size:var(--t10);color:var(--muted);align-items:center;margin:16px 0}.hub-finance-notes .hub-badge{margin-right:6px}.hub-bridge{padding:19px;margin:18px 0}.hub-bridge-steps{display:flex;align-items:stretch;gap:10px}.hub-bridge-steps>div,.hub-bridge-steps>button{flex:1;min-width:0;padding:15px;background:var(--hub-soft);border:0;border-radius:var(--radius-sm);text-align:left;position:relative}.hub-bridge-steps small{font-size:var(--t10);display:block;color:var(--muted);margin-bottom:8px;font-weight:400}.hub-bridge-steps b{font-size:var(--t18)}.hub-bridge-cause.up b{color:var(--hub-amber)}.hub-bridge-cause.down b{color:var(--hub-green)}.hub-bridge-cause i{display:block;height:3px;margin-top:13px;background:#c49137;max-width:100%;border-radius:var(--radius-xs)}.hub-bridge-cause.down i{background:#559d90}.hub-finance-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,1fr);gap:18px;margin-top:20px;align-items:start}.hub-ledger{padding:19px;min-width:0}.hub-ledger table{border-collapse:collapse;width:100%;font-size:var(--t11)}.hub-ledger th{color:var(--muted);font-weight:400;font-size:var(--t10);padding:11px 8px;text-align:right;background:var(--hub-soft)}.hub-ledger th:first-child{text-align:left}.hub-ledger td{padding:14px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.hub-ledger td:first-child{white-space:normal;text-align:left;width:35%}.hub-ledger tr.selected td{background:var(--panel-soft)}.hub-row-link{border:0;background:none;padding:0;text-align:left;display:grid;gap:5px;line-height:1.5}.hub-row-link small{font-weight:400;font-size:var(--t10);color:var(--muted)}.hub-negative{color:var(--hub-amber)}.hub-segment{display:flex;border:1px solid var(--line);border-radius:var(--radius-sm);padding:3px}.hub-segment button{border:0;background:transparent;font-size:var(--t10);padding:6px 9px}.hub-segment button[aria-pressed=true]{background:var(--ink);color:#fff}.hub-cost-detail{padding:22px;position:sticky;top:20px}.hub-cost-detail h3{font-size:var(--t18);line-height:1.4;margin:9px 0}.hub-cost-number{font-size:var(--t28);font-weight:700;letter-spacing:-.5px;margin:10px 0}.hub-cost-detail p{font-size:var(--t12);line-height:1.7;margin-top:16px}.hub-cost-detail dl{border-block:1px solid var(--line);padding:13px 0;font-size:var(--t11);line-height:1.6}.hub-cost-detail dt{color:var(--muted);font-size:var(--t10);margin-top:8px}.hub-cost-detail dd{margin:4px 0 8px}.hub-stack{display:grid;gap:9px;margin-top:18px}.hub-cost-detail .limits{font-size:var(--t10)}.hub-committee-meta{display:grid;grid-template-columns:1.4fr .65fr 1.1fr;gap:23px;padding:20px;margin-bottom:18px}.hub-committee-meta label,.hub-committee-meta small{display:grid;gap:8px;font-size:var(--t11);color:var(--muted)}.hub-committee-meta b{display:block;font-size:var(--t12);margin:8px 0}.hub-committee-meta span{font-size:var(--t10);color:var(--muted)}.hub-committee-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:18px;align-items:start}.hub-agenda{display:grid;gap:14px}.hub-agenda-item{display:grid;grid-template-columns:34px 1fr 30px;gap:15px;padding:21px}.hub-order{font-size:var(--t20);letter-spacing:-1px;color:var(--muted)}.hub-agenda-item small{font-size:var(--t10);color:var(--muted)}.hub-agenda-item h3{font-size:var(--t14);margin:8px 0}.hub-agenda-item p{font-size:var(--t11);line-height:1.6;color:var(--muted)}.hub-decision-request{padding:13px 15px;border-left:2px solid var(--gold);background:var(--panel-soft);margin:15px 0}.hub-decision-request small{display:block;margin-bottom:7px}.hub-decision-request b{font-size:var(--t12);font-weight:500;line-height:1.6}.hub-decision-request.empty b{color:var(--muted)}.hub-agenda-owner{display:flex;align-items:center;gap:8px;font-size:var(--t11);flex-wrap:wrap}.hub-agenda-buttons{display:flex;align-items:center;gap:15px;margin-top:18px;font-size:var(--t11)}.hub-order-actions{display:grid;align-content:start;gap:6px}.hub-order-actions button{padding:4px;min-height:27px;font-size:var(--t12)}.hub-readiness{padding:23px;position:sticky;top:18px}.hub-readiness dl>div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:var(--t11)}.hub-readiness dd{margin:0;font-weight:700}.hub-readiness p{font-size:var(--t11);line-height:1.7;color:var(--muted)}.hub-readiness button{width:100%;margin-top:10px}.hub-committee-footer{position:sticky;bottom:0;padding:14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:0 -3px 15px #17234e08;display:flex;align-items:center;justify-content:space-between;margin-top:20px;font-size:var(--t11);z-index:2}.hub-empty{padding:30px;font-size:var(--t12);line-height:1.7}.hub-dialog{width:660px}.hub-project-options{display:grid;gap:8px;margin:15px 0}.hub-project-options label,.hub-owner-picker label{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-control);font-size:var(--t12);cursor:pointer}.hub-project-options small{display:block;font-size:var(--t10);color:var(--muted);margin-top:5px}.hub-picker-tools{display:flex;justify-content:space-between;margin:14px 0}.hub-picker-tools button{font-size:var(--t11)}.hub-dialog form{display:grid;gap:18px}.hub-dialog form>label{display:grid;gap:8px;font-size:var(--t11);color:var(--muted)}.hub-dialog form>label>button{text-align:left}.hub-modal-actions{display:flex;align-items:center;justify-content:space-between;position:sticky;bottom:-26px;padding:18px 0 2px;background:var(--surface);border-top:1px solid var(--line);font-size:var(--t11)}.hub-owner-picker{padding:12px;background:var(--hub-soft);border-radius:var(--radius-control);display:grid;gap:10px}.hub-owner-picker>div{max-height:180px;overflow:auto;display:grid;gap:6px}.hub-owner-picker>small{font-size:var(--t10);color:var(--muted)}.hub-inspector-committee{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}.hub-pack{max-width:1050px;margin:25px auto;background:var(--panel);padding:40px;border:1px solid var(--line);border-radius:var(--radius-panel)}.hub-pack h1{margin:8px 0 15px}.hub-pack>p{font-size:var(--t12);color:var(--muted);line-height:1.7}.hub-pack-summary{display:flex;gap:25px;padding:20px;background:var(--hub-soft);border-radius:var(--radius-control);margin:25px 0}.hub-pack-summary>div{flex:1}.hub-pack-summary small{display:block;font-size:var(--t10);color:var(--muted);margin-bottom:7px}.hub-pack-summary b{font-size:var(--t20)}.hub-pack-topic{display:flex;gap:18px;padding:23px 0;border-bottom:1px solid var(--line);break-inside:avoid}.hub-pack-topic p{font-size:var(--t12);line-height:1.7}.hub-pack-topic h4{font-size:var(--t11);margin:15px 0 8px;color:var(--muted)}.hub-pack-topic small{font-size:var(--t10);line-height:1.7;color:var(--muted)}.hub-pack-actions{display:flex;justify-content:space-between;max-width:1050px;margin:20px auto}.pmo-centre .pmb-heading{display:none}.pmb-layout{margin-top:10px}.pmb-inspector{min-width:0}.pmb-secondary{margin-top:15px}.hub-discard{margin-top:20px}
/* Control Tower, same observations and scope as the detail views. */
.tower-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:23px 0 5px}.tower-title h2{font-size:var(--t20);margin:5px 0}.tower-title p{font-size:var(--t11);color:var(--muted);margin:7px 0}.tower-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}.tower-kpis .hub-kpi{padding:17px 15px;min-height:142px}.tower-kpis .hub-kpi>strong{font-size:var(--t24)}.tower-main{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,1fr);gap:18px;align-items:stretch;margin:18px 0}.tower-timeline{padding:21px}.tower-timeline .hub-panel-head{margin-bottom:25px}.tower-legend{display:flex;gap:15px;font-size:10px;color:var(--muted)}.tower-legend i{display:inline-block;width:8px;height:8px;border:1px solid #6b85ac;border-radius:50%;margin-right:5px}.tower-legend i.gold{background:#bf902c;border:0;transform:rotate(45deg);border-radius:0}.tower-axis{display:flex;justify-content:space-between;margin-left:162px;font-size:var(--t10);color:var(--muted);margin-bottom:12px}.tower-lane{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center;min-height:74px;border-top:1px solid var(--line)}.tower-lane>button{border:0;background:none;text-align:left;padding:0;font-size:var(--t12);color:var(--link)}.tower-lane small{display:block;font-size:var(--t10);margin-top:6px;color:var(--muted);font-weight:400}.tower-track{height:50px;position:relative;background:repeating-linear-gradient(to right,transparent,transparent calc(25% - 1px),#e6ecf5 calc(25% - 1px),#e6ecf5 25%)}.tower-range{position:absolute;top:18px;height:6px;background:#dbe4f2;border-radius:var(--radius-sm);min-width:2px}.tower-target,.tower-forecast{position:absolute;top:14px;width:14px;height:14px;transform:translateX(-50%);border:2px solid #6a83aa;border-radius:50%;background:var(--surface)}.tower-forecast{background:#bc8e30;border:2px solid white;border-radius:var(--radius-xs);transform:translateX(-50%) rotate(45deg)}.tower-track>small{position:absolute;top:34px;transform:translateX(-50%);font-size:9px;white-space:nowrap;color:var(--hub-amber)}.tower-health{padding:21px}.tower-health-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--line);font-size:var(--t11)}.tower-health-row button{border:0;background:none;padding:0;text-align:left;color:var(--link);font-size:var(--t11);font-weight:500}.tower-health-row small{display:block;font-size:var(--t10);color:var(--muted);margin-top:5px}.tower-date{font-size:var(--t22);font-weight:700;margin:13px 0}.tower-coverage{font-size:var(--t10);color:var(--muted);line-height:1.7;display:flex;align-items:center;gap:7px;margin:12px 0}.tower-coverage .hub-badge{white-space:normal}.tower-kpi-tools{display:flex;align-items:center;gap:10px}.tower-kpi-tools button{font-size:var(--t11)}

.hub-briefing{padding:23px;position:sticky;top:18px}.hub-briefing h3{margin:12px 0}.hub-briefing ul{padding-left:18px;font-size:var(--t11);line-height:2.4;color:var(--muted)}.hub-briefing .limits{margin:18px 0}.hub-briefing>button{width:100%;margin-top:10px}.hub-briefing>small{display:block;font-size:var(--t10);line-height:1.6;margin-top:8px;color:var(--hub-amber)}.hub-draftbar{position:sticky;bottom:0;padding:14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:0 -3px 15px #17234e08;display:flex;align-items:center;justify-content:space-between;margin-top:20px;font-size:var(--t11);z-index:2}.hub-pack-summary>span{flex:1;display:block;font-size:var(--t10);color:var(--muted);line-height:1.6}.hub-pack-summary>span>b{display:block;color:var(--ink);margin-top:7px}.hub-definition-list h3{margin:21px 0 6px}.hub-definition-list p{font-size:var(--t12)!important;color:var(--muted)}
.pmo-centre{padding-bottom:20px}.pmo-centre h1{font-size:var(--t24)}.pmo-centre h2{font-size:var(--t20)}.pmo-centre h3{font-size:var(--t14)}.pmo-centre .hub-context{flex-wrap:wrap}.pmo-centre .hub-reference{min-width:210px}.hub-year{min-width:125px}.hub-chart{padding:22px;margin:18px 0}.hub-chart .hub-panel-head{margin-bottom:14px}.hub-chart-controls{display:flex;gap:10px;max-width:500px;margin-bottom:15px}.hub-chart-controls select{width:auto}.hub-chart-key{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--muted);align-items:center;margin:10px 0}.hub-chart-key>span::before{content:'';display:inline-block;width:16px;height:5px;margin-right:6px;background:#627da8;vertical-align:middle}.hub-chart-key>.capacity::before{background:#9dafbd}.hub-chart-key>.actual::before,.hub-chart-key>.accepted::before{background:#277d70}.hub-chart-key>.forecast::before,.hub-chart-key>.reported::before{background:#ba933f}.hub-chart-key>.remaining::before{background:#e0e7f1}.hub-load-chart{width:100%;height:235px;overflow:visible}.hub-load-chart .grid{stroke:var(--line);stroke-width:1}.hub-load-chart text{font-size:10px;fill:var(--muted)}.hub-load-chart polyline{fill:none;stroke-width:2.5;stroke-linejoin:round}.hub-load-chart .load{stroke:#527aa5}.hub-load-chart .capacity{stroke:#92a4b5;stroke-dasharray:5 4}.hub-load-chart .point{fill:#527aa5}.hub-load-chart .over{fill:#b44949;stroke:#fff;stroke-width:1}.hub-axis{display:flex;justify-content:space-between;margin-left:40px;color:var(--muted);font-size:var(--t10)}.hub-heatmap{margin-top:20px}.hub-heatmap-head{font-size:var(--t12);font-weight:700;margin-bottom:10px}.hub-heatmap-row{display:grid;grid-template-columns:170px 1fr;gap:10px;align-items:center;margin:5px 0}.hub-heatmap-row>button{text-align:left;font-size:var(--t11);overflow:hidden;text-overflow:ellipsis}.hub-heatmap-row>div{display:grid;grid-template-columns:repeat(var(--weeks),minmax(0,1fr));gap:3px}.hub-heatmap-row>div>button{height:21px;padding:0;border:0;border-radius:var(--radius-xs);font-size:var(--t10);color:var(--ink)}.hub-heatmap-row .clear{background:#e7f2ee}.hub-heatmap-row .tight{background:#f4e7ba}.hub-heatmap-row .over{background:#efb4b5}.hub-heatmap-row .unknown{background:#e7e9ee}.hub-chart-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.hub-chart-pair>.card{margin-top:0}.hub-execution-total{font-size:var(--t12);color:var(--muted)}.hub-execution-total b{font-size:var(--t32);color:var(--ink);margin-right:10px}.hub-stacked{display:flex;height:30px;border-radius:var(--radius-sm);overflow:hidden;margin:20px 0 14px;background:var(--line)}.hub-stacked span{display:grid;place-items:center;font-size:var(--t11);min-width:1px}.hub-stacked .accepted{background:#277d70;color:white}.hub-stacked .reported{background:#ba933f;color:white}.hub-stacked .remaining{background:#e0e7f1}.hub-execution-signals{display:flex;gap:10px;margin:20px 0}.hub-execution-signals>button{flex:1;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:14px;background:var(--hub-soft);border:0}.hub-execution-signals strong{font-size:var(--t24)}.hub-execution-signals span{font-size:var(--t10);margin-top:8px}.hub-cost-bar{display:grid;grid-template-columns:60px minmax(0,1fr) 85px;align-items:center;gap:10px;width:100%;border:0;background:transparent;text-align:left;padding:22px 0;font-size:12px}.hub-cost-bar>div{display:flex;height:25px}.hub-cost-bar i.actual{background:#277d70}.hub-cost-bar i.forecast{background:#ba933f}.hub-cost-bar b{text-align:right}.hub-footer-review{display:flex;align-items:center;gap:20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-control);padding:20px}.hub-footer-review span{flex:1}.hub-dialog{width:min(740px,90vw);max-height:85vh;overflow:auto}.hub-dialog[open] .hub-dialog-close{display:flex;justify-content:flex-end;margin-bottom:10px}.hub-dialog [hidden]{display:none!important}.pmo-centre .hub-ledger{overflow:auto;max-height:720px}.pmo-centre .hub-bridge-steps{overflow-x:auto}.pmo-centre .hub-bridge-steps>*{min-width:125px}.pmo-centre .hub-kpis{margin-top:20px}.pmo-centre .tower-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.pmo-centre .hub-priority{flex-wrap:wrap}.pmo-centre .hub-priority button.secondary{margin-left:18px;font-size:var(--t11)}.pmo-centre .hub-agenda-item .hub-order-actions button{font-size:var(--t12)}.pmo-centre .hub-finance-entry{margin-top:20px}.pmo-centre .hub-cost-detail>button{margin-top:10px}.pmo-centre .hub-pack-summary b{font-size:var(--t20)}.pmo-centre .hub-committee-meta{margin-top:20px}.pmo-centre .hub-panel-head p{margin:6px 0 0}.pmo-centre .hub-section-head{margin:20px 0}.pmo-centre .tower-main{grid-template-columns:minmax(0,1.45fr) minmax(350px,1fr)}
@media (min-width:801px) and (max-width:1200px){.pmo-centre .tower-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.pmo-centre .hub-tabs{gap:15px}.pmo-centre .tower-main{grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr)}}

.hub-owner-picker label{display:flex;align-items:center;justify-content:flex-start;gap:10px}.hub-owner-picker input[type=checkbox]{width:auto;flex:0 0 auto;margin:0}.hub-owner-picker label .person-chip{margin:0}

/* model-studio.css */
/* Guided model authoring: preserve the approved split view and shared controls. */
.ms-studio{max-width:1800px;margin:auto;--ms-border:var(--line);--ms-muted:#536f9c}.ms-studio h2,.ms-task-layout h2{font-size:var(--t16)}.ms-studio h3,.ms-task-layout h3{font-size:var(--t14)}.ms-studio h2,.ms-studio h3,.ms-task-layout h2,.ms-task-layout h3{display:flex;align-items:center;gap:8px}.ms-studio svg,.ms-task-layout svg,.ms-summary-dialog svg,.ms-structure-dialog svg{width:17px;height:17px;flex-shrink:0;vertical-align:middle}.ms-heading{align-items:center}.ms-heading h1{margin:8px 0}.ms-studio .buttons{display:flex;gap:8px;flex-wrap:wrap}.ms-studio button{display:inline-flex;gap:7px;align-items:center;justify-content:center}.ms-studio .card{padding:20px;margin:0 0 14px}.ms-studio label{font-size:var(--t12)}.ms-studio label>svg{margin-right:5px}.ms-studio .note{line-height:1.65}.ms-studio .limits{font-size:var(--t12);line-height:1.6}.ms-journey{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:28px 0 8px;border-bottom:2px solid var(--line)}.ms-journey button{gap:10px;padding:15px 8px;border:0;border-radius:0;background:none;text-align:left;justify-content:start;color:var(--ms-muted);border-bottom:3px solid transparent;margin-bottom:-2px;font-size:var(--t12)}.ms-journey [aria-current=step]{border-bottom-color:#d5a723;color:var(--ink);font-weight:700}.ms-step-number{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#e7eef7;font-size:var(--t11);font-weight:700}.ms-journey [aria-current=step] .ms-step-number,.pme-head [aria-selected=true] .ms-step-number{background:#19254e;color:white}.ms-journey small{display:block;font-size:var(--t10);margin-top:4px;font-weight:400}.ms-step-note{display:flex;justify-content:space-between;font-size:var(--t11);color:var(--ms-muted);padding:6px 4px 18px;gap:12px}.ms-split{display:grid;grid-template-columns:minmax(360px,0.82fr) minmax(0,1.18fr);gap:18px;align-items:start}.ms-edit-column,.ms-live{min-width:0}.ms-live{position:sticky;top:80px;max-height:calc(100vh - 100px);overflow:auto;scrollbar-gutter:stable}.ms-step-footer{display:flex;justify-content:space-between;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--ms-border);border-radius:var(--radius-control)}.ms-detail{margin:18px 0 0;border-top:1px solid var(--ms-border);padding-top:14px}.ms-detail>summary,.ms-shared>summary{font-size:var(--t12);cursor:pointer;color:#3d5c8b;line-height:1.6}.ms-detail>summary svg{margin-right:5px}.ms-volumes{margin:16px 0}.ms-volume-row,.ms-volume-head{display:grid;grid-template-columns:minmax(100px,1.4fr) repeat(3,minmax(55px,1fr));gap:8px;align-items:center;margin:8px 0}.ms-volume-head{font-size:var(--t11);color:var(--ms-muted)}.ms-volume-row>span{font-size:var(--t12);display:flex;gap:6px;align-items:center}.ms-volume-row input{width:100%;min-width:0;padding:9px 6px}.ms-check{display:flex!important;align-items:center;gap:8px;margin:16px 0;line-height:1.5}.ms-check input[type=checkbox],.ms-choice input[type=radio]{appearance:auto;width:16px!important;height:16px!important;min-height:16px!important;max-width:16px;flex:0 0 16px;margin:0!important;padding:0!important;accent-color:#376daf}.ms-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#398d80;flex-shrink:0}.ms-test-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px;border:1px solid var(--ms-border);background:var(--panel-soft);border-radius:var(--radius-control);font-size:var(--t12)}.ms-test-strip .link-btn{margin-left:auto;font-size:var(--t11)}.ms-test-strip small{flex-basis:100%;color:var(--ms-muted);line-height:1.6}.ms-live-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.ms-metric{min-width:0;padding:8px 12px;border-left:1px solid var(--ms-border)}.ms-metric:first-child{border-left:0;padding-left:0}.ms-metric small{display:flex;align-items:center;gap:4px;font-size:var(--t11);color:var(--ms-muted);line-height:1.5}.ms-metric strong{display:block;font-size:var(--t22);line-height:1.3;margin:8px 0;overflow-wrap:anywhere}.ms-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.ms-stat-grid .ms-metric{border:0;background:var(--panel-soft);border-radius:var(--radius-control);padding:14px}.ms-stat-grid .ms-metric strong{font-size:var(--t16)}.ms-calculating{font-size:var(--t12);color:var(--muted)}.ms-stream{margin-top:20px}.ms-stream h3{padding:10px 0;border-bottom:1px solid var(--ms-border)}.ms-stream h3 span{width:8px;height:18px;border-radius:var(--radius-xs);background:var(--ms-colour)}.ms-task-row{display:flex!important;width:100%;border:0;border-bottom:1px solid var(--line);background:var(--panel);text-align:left;justify-content:start!important;padding:12px 4px;color:var(--ink)}.ms-task-row>span{flex:1;min-width:0}.ms-task-row b{font-size:var(--t12);font-weight:500}.ms-task-row small{display:block;color:var(--ms-muted);font-size:var(--t10);line-height:1.5;margin-top:4px}.ms-task-row>strong{font-size:var(--t11);white-space:nowrap}.ms-task-row:hover{background:var(--panel-soft)}.ms-action-list{margin:16px 0}.ms-action-list button{display:flex;width:100%;text-align:left;justify-content:start;padding:13px;margin-bottom:8px;background:var(--panel);border:1px solid var(--ms-border);color:var(--ink)}.ms-action-list [aria-pressed=true]{border-color:#4b83b1;background:var(--panel-soft)}.ms-action-list button>span{flex:1}.ms-action-list small{display:block;font-size:var(--t11);font-weight:400;margin-top:5px}.ms-scenario{display:flex!important;justify-content:space-between!important;width:100%;background:var(--panel);border:1px solid var(--ms-border);color:var(--ink);margin:9px 0;padding:16px;text-align:left}.ms-scenario span{display:flex;align-items:center;gap:8px}.ms-check-card{padding:16px;border:1px solid var(--ms-border);border-left:3px solid #c9a23d;border-radius:var(--radius-control);margin:14px 0}.ms-check-card p{font-size:var(--t12);line-height:1.6}.ms-check-card p>b{color:var(--ink)}.ms-check-card.ms-blocker{border-left-color:#b94841}.ms-preview-tabs{display:flex;gap:8px;margin:14px 0}.ms-shared{padding:12px;margin:12px 0;background:var(--panel-soft);border-radius:var(--radius-control)}.ms-shared>div{display:flex;align-items:center;gap:8px;font-size:var(--t11);line-height:1.6;margin:10px 0}.ms-shared>div b{flex:1;font-weight:500}.ms-shared>small{font-size:var(--t10);line-height:1.5;color:var(--ms-muted)}.ms-gantt{border:1px solid var(--ms-border);border-radius:8px;overflow:hidden;background:var(--panel);margin-top:16px}.ms-gantt-scroll{max-height:540px;overflow:auto;scrollbar-gutter:stable}.ms-gantt-head,.ms-gantt-body{display:grid;grid-template-columns:180px minmax(240px,1fr);min-width:420px}.ms-gantt-head{position:sticky;top:0;z-index:5;background:var(--surface-soft);height:36px;border-bottom:1px solid var(--ms-border);font-size:10px;color:#536d98}.ms-gantt-head>span{display:flex;gap:5px;align-items:center;padding:8px}.ms-gantt-head>div{display:flex;justify-content:space-between;padding:10px 4px}.ms-gantt-body>div:first-child{border-right:1px solid var(--ms-border);z-index:2;background:var(--panel)}.ms-gantt-label,.ms-gantt-stream{height:var(--ms-row);box-sizing:border-box;border:0;border-bottom:1px solid #e6edf7}.ms-gantt-label{width:100%;display:flex!important;gap:5px;align-items:center;justify-content:start!important;border-radius:0;background:var(--panel);text-align:left;font-size:10px;padding:4px 6px;color:#23385d;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ms-gantt-label svg{width:12px;height:12px}.ms-gantt-label.selected{background:#edf4fc;font-weight:700}.ms-gantt-stream{padding:7px 6px;font-size:10px;font-weight:700;background:var(--surface-soft);color:#516c98;white-space:nowrap;overflow:hidden}.ms-gantt-tracks{position:relative;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),#e5ecf7 calc(20% - 1px),#e5ecf7 20%)}.ms-gantt-tracks>.ms-gantt-stream{position:absolute;width:100%;height:var(--ms-row);padding:0}.ms-gantt-bar{position:absolute;height:14px;min-height:0;padding:0!important;border:0!important;border-radius:3px;background:var(--ms-colour)!important;z-index:3;box-shadow:0 1px 2px #17294a20}.ms-gantt-bar.selected{outline:2px solid #14254f;outline-offset:2px}.ms-gantt-bar.milestone{height:10px;transform:rotate(45deg);border-radius:1px}.ms-gantt-links{position:absolute;inset:0;width:100%!important;height:100%!important;pointer-events:none;z-index:2;overflow:visible}.ms-gantt-links>path{fill:none;stroke:#657c9c;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.65}.ms-gantt-links marker path{fill:#657c9c;stroke:none}.ms-link-list>div{font-size:var(--t11);padding:8px 0;border-bottom:1px solid var(--line)}.ms-gantt.compact .ms-gantt-stream{padding:4px 6px}.ms-summary-preview{max-height:400px;overflow:auto}.ms-summary-preview .ms-gantt-scroll{max-height:300px}.ms-summary-dialog{width:min(620px,94vw)!important}.ms-structure-dialog{width:min(960px,94vw)!important}.ms-stream-edit{border:1px solid var(--line);border-radius:var(--radius-control);padding:16px;margin:16px 0}.ms-structure-task{padding:12px 0;border-bottom:1px solid var(--line);gap:8px}.ms-choice{border:1px solid var(--line);border-radius:var(--radius-control);padding:16px;margin:12px 0}.ms-choice label{display:flex;align-items:start;gap:10px}.ms-choice label span{flex:1}.ms-choice small{display:block;line-height:1.5;margin-top:6px;color:var(--muted)}.ms-choice .pwx-picker{margin-top:12px}.ms-expanded{width:96vw!important;max-width:1700px!important}.ms-expanded .ms-gantt-scroll{max-height:70vh}.ms-task-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:18px;align-items:start}.ms-task-layout .ms-task-preview{position:sticky;top:0;min-width:0;max-height:calc(100vh - 260px);overflow:auto;padding:18px}.ms-task-edit{min-width:0}.ms-task-edit .pm-grid,#pme-panel-dates>.pm-grid,#pme-panel-workload>.pm-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ms-task-layout label>svg{margin-right:6px}.ms-task-layout .tcw-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.pme-head .tcw-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.pme-head .tcw-tabs button{display:flex;align-items:center;gap:7px;justify-content:start;font-size:var(--t12);padding:12px 7px}.ms-rule-card{border:1px solid var(--line);background:var(--panel-soft);color:var(--ink);padding:16px;display:flex;flex-direction:column;align-items:start;gap:8px;text-align:left}.ms-rule-card small{font-size:var(--t11)}.ms-rule-card strong{font-size:var(--t14)}.ms-rule-card span{font-size:var(--t11);color:#346998}.ms-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0}.ms-choice-grid button{display:flex;flex-direction:column;align-items:start;gap:8px;text-align:left;background:var(--panel-soft);border:1px solid var(--line);color:var(--ink);padding:13px;font-size:var(--t12)}.ms-choice-grid button small{font-size:var(--t11);line-height:1.45;font-weight:400}.ms-choice-grid [aria-pressed=true]{background:#eaf4fa;border-color:#4985b0}.ms-rules-grid section{padding:14px;border:1px solid var(--line);border-radius:var(--radius-control)}.ms-rules-grid h3{font-size:var(--t12)}.ms-rules-grid label{display:block;font-size:var(--t12);margin-top:14px!important}.ms-formula{margin-top:18px;min-height:24px}.ms-task-preview .ms-gantt-head,.ms-task-preview .ms-gantt-body{grid-template-columns:150px minmax(200px,1fr);min-width:350px}.ms-task-preview .ms-gantt-scroll{max-height:330px}.ms-task-preview .ms-metric strong{font-size:var(--t18)}.ms-task-edit .pme-check{margin:0}.ms-studio [hidden],.ms-task-layout [hidden]{display:none!important}#ms-model-search{width:200px;min-width:120px}.ms-catalogue-metrics{display:flex;flex-wrap:wrap;gap:8px 15px;min-width:220px}.ms-catalogue-metrics>span{display:flex;gap:5px;align-items:center;font-size:var(--t11);white-space:nowrap}.ms-catalogue-metrics svg{width:14px;height:14px}.ms-action-result{padding:14px 0;border-bottom:1px solid var(--line)}.ms-action-result small{display:block;margin:6px 0}.ms-action-result h3{font-size:var(--t13)}
@media(max-width:1100px){.ms-split{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:12px}.ms-studio .card{padding:16px}.ms-journey small{display:none}.ms-task-layout{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:12px}.ms-task-edit .pm-grid{grid-template-columns:1fr!important}.ms-choice-grid{grid-template-columns:1fr}.ms-choice-grid button{display:grid;grid-template-columns:20px 1fr}.ms-choice-grid small{grid-column:2}.ms-metric strong{font-size:var(--t18)}.pme-head .tcw-tabs button{font-size:var(--t11)}.ms-gantt-head,.ms-gantt-body{grid-template-columns:140px minmax(220px,1fr)}}
@media(max-width:780px){.ms-split,.ms-task-layout{grid-template-columns:1fr}.ms-live,.ms-task-layout .ms-task-preview{position:static;max-height:none}.ms-journey{overflow:auto;grid-template-columns:repeat(6,minmax(105px,1fr))}.ms-step-note>span:last-child{display:none}.ms-live-metrics{gap:4px}.ms-task-edit .pm-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pme-head{padding:12px 14px 0}.pme-content{padding:14px}.pme-actions{padding:12px 14px;grid-template-columns:1fr}.pme-actions .buttons{flex-wrap:wrap}.pme-head .tcw-tabs{overflow:auto;grid-template-columns:repeat(5,minmax(130px,1fr))}.ms-heading{flex-wrap:wrap}.ms-structure-task{flex-wrap:wrap}.ms-volume-row,.ms-volume-head{grid-template-columns:minmax(90px,1.2fr) repeat(3,minmax(48px,1fr));gap:5px}}
@media(prefers-reduced-motion:reduce){.ms-studio *,.ms-task-layout *{scroll-behavior:auto!important}}

.ms-task-right{min-width:0;position:sticky;top:0}.ms-task-layout .ms-task-preview{position:static}.ms-task-scenario{padding:16px;margin-top:12px}.ms-task-scenario summary{cursor:pointer;font-size:var(--t12)}.ms-task-scenario .pm-grid{margin-top:12px}.ms-catalogue-metrics{max-width:460px;min-width:250px}.ms-catalogue-metrics+small{margin-top:8px}
@media(max-width:780px){.ms-task-right{position:static}}

.ms-type-choice{grid-template-columns:1fr 1fr;margin-bottom:18px}.ms-type-choice button{display:grid;grid-template-columns:20px 1fr;gap:6px 10px;text-align:left}.ms-type-choice button small{grid-column:2}.ms-type-choice button[aria-pressed="true"]{border-color:var(--accent,#5385b4);background:var(--panel-soft);box-shadow:inset 0 3px #5385b4}.ms-task-edit .pwx-choice-adapter{display:block}

/* Keep the live plan in view on ordinary laptop screens. */
.ms-live>header h2{margin:0}.ms-live>.limits{margin:8px 0 12px}.ms-live .ms-live-metrics{margin:10px 0}.ms-live .ms-metric{padding-top:4px;padding-bottom:4px}.ms-live .ms-metric strong{margin:4px 0}.ms-live .ms-test-strip{padding:10px 12px}.ms-live .ms-shared{margin:8px 0;padding:9px 12px}.ms-live .ms-gantt{margin-top:10px}.ms-live .presentation-tools{margin:0}

/* Keep the calculated plan usable in a 720px-high task editor. */
.ms-task-preview{position:relative}
.ms-task-preview>.presentation-entry{position:absolute;right:12px;top:12px;margin:0;gap:4px}
.ms-task-preview>.presentation-entry button{padding:4px 6px;font-size:var(--t10);min-height:24px}
.ms-task-preview>h2{margin:0 160px 6px 0;font-size:var(--t14)}
.ms-task-preview>.limits{margin:0 0 8px;font-size:var(--t11)}
.ms-task-preview .ms-live-metrics{margin:8px 0}
.ms-task-preview .ms-metric{padding:2px 8px}
.ms-task-preview .ms-metric strong{margin:3px 0;font-size:var(--t18)}
.ms-task-preview>.note{margin:8px 0;padding:8px 10px}
.ms-task-preview .ms-gantt{margin-top:8px}
.ms-task-preview .ms-gantt-scroll{max-height:300px}
@media(max-width:700px){.ms-task-preview>.presentation-entry{position:static;justify-content:flex-end}.ms-task-preview>h2{margin-right:0}}

.ms-heading{scroll-margin-top:80px}
/* Compact programme header leaves the plan visible on laptop-height screens. */
.ms-heading{margin-bottom:0;padding-top:0;padding-bottom:0}
.ms-heading h1{font-size:var(--t24);margin:4px 0}
.ms-heading p{margin:6px 0;font-size:var(--t12)}
.ms-heading .eyebrow{margin:4px 0;font-size:var(--t9)}
.ms-journey{margin-top:12px}
.ms-journey button{padding-top:9px;padding-bottom:9px}
.ms-step-note{padding-bottom:10px}
.ms-live>.presentation-entry{position:absolute;right:20px;top:17px;margin:0;gap:4px}
.ms-live>.presentation-entry button{padding:4px 6px;font-size:var(--t10);min-height:24px}
.ms-live>header{padding-right:145px;gap:8px}
.ms-live>header button{font-size:var(--t10);padding:4px 6px;min-height:24px}
@media(max-width:700px){.ms-live>.presentation-entry{position:static}.ms-live>header{padding-right:0}}

.ms-live>header{padding-right:190px}.ms-task-preview>h2{margin-right:190px}
@media(max-width:700px){.ms-live>header{padding-right:0}.ms-task-preview>h2{margin-right:0}}

/* A volume field owns its help controls: injected help must never become a grid column. */
.ms-volume-cell{min-width:0;position:relative;align-self:start}
.ms-volume-cell>input{width:100%;box-sizing:border-box;padding-right:25px}
.ms-volume-cell>.field-help-button{position:absolute;top:10px;right:5px;margin:0;width:16px;min-width:16px;height:16px;min-height:16px;padding:0;border:0;background:transparent}
.ms-volume-cell>.field-help.expanded{display:block;grid-column:unset;margin:6px 0 0;font-size:var(--t11);line-height:1.5;overflow-wrap:anywhere}
.ms-volume-row{align-items:start;padding:8px 0;margin:0;border-bottom:1px solid var(--border,var(--line))}
.ms-volume-row>span{padding-top:9px}
.ms-volume-head{margin-bottom:4px}

/* Match the approved catalogue: model context, version, six paired metrics, actions. */
#pm-catalogue-results .ms-catalogue-caption{display:flex;gap:6px;align-items:center;margin:8px 0 12px}
#pm-catalogue-results table{table-layout:fixed;width:100%}
#pm-catalogue-results th:nth-child(1){width:27%}
#pm-catalogue-results th:nth-child(2){width:11%}
#pm-catalogue-results th:nth-child(3){width:45%}
#pm-catalogue-results th:nth-child(4){width:17%}
#pm-catalogue-results th{line-height:1.5}
#pm-catalogue-results td{vertical-align:middle;padding-top:20px;padding-bottom:20px}
#pm-catalogue-results th>svg{width:15px;height:15px;vertical-align:middle;margin-right:5px}
#pm-catalogue-results .ms-model-name{display:block;font-size:var(--t14);line-height:1.45;margin-bottom:7px}
#pm-catalogue-results td>small{line-height:1.55}
#pm-catalogue-results .ms-catalogue-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px;min-width:0;max-width:none}
#pm-catalogue-results .ms-catalogue-stat{display:flex;gap:8px;align-items:start;min-width:0;font-size:var(--t13);line-height:1.45}
#pm-catalogue-results .ms-catalogue-stat>div{min-width:0}
#pm-catalogue-results .ms-catalogue-stat b{font-weight:500}
#pm-catalogue-results .ms-catalogue-stat small{font-size:var(--t11);line-height:1.5;margin-top:4px;display:block;color:var(--muted,#536f9c)}
#pm-catalogue-results .ms-catalogue-stat>svg,#pm-catalogue-results .ms-catalogue-volumes svg{width:16px;height:16px;flex:0 0 16px;margin-top:1px;color:var(--muted,#536f9c)}
#pm-catalogue-results .ms-catalogue-volumes{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:12px;color:var(--muted,#536f9c);font-size:var(--t11)}
#pm-catalogue-results .ms-catalogue-volumes>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
#pm-catalogue-results .badge{display:inline-flex;align-items:center;gap:6px}
#pm-catalogue-results .badge>svg{width:14px;height:14px}
#pm-catalogue-results .buttons{display:flex;flex-direction:column;align-items:start;gap:7px}
#pm-catalogue-results .buttons button{margin:0}

/* Quantity help uses the existing contextual popover without widening its grid cell. */
.ms-volume-cell>.field-help.expanded{display:none}
.ms-volume-cell>.field-help-button~.field-help-button{display:none}

/* delivery-insights.css */
#dr-provenance{display:flex;align-items:center;gap:18px;padding:8px 20px;background:#fff8e5;border-bottom:1px solid #edd48a;color:#604d20;font:11px/1.4 system-ui;position:relative;z-index:65}#dr-provenance span{display:inline-flex;gap:6px;align-items:center}#dr-provenance a{color:#274c83;margin-left:auto}#dr-provenance a+a{margin-left:0}#dr-provenance svg{width:14px;height:14px}.dr-heading{display:flex;align-items:center;justify-content:space-between;margin:10px 0 22px}.dr-heading h1{font-size:var(--t22);margin:5px 0}.dr-heading .eyebrow{font-size:var(--t9)}.dr-ribbon{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-control);margin:14px 0;overflow:hidden}.dr-ribbon>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;background:var(--panel-soft);border-bottom:1px solid var(--line)}.dr-ribbon header>div:first-child{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.dr-ribbon header b{display:inline-flex;gap:7px;align-items:center;font-size:var(--t13)}.dr-ribbon header span{font-size:var(--t11);color:var(--muted)}.dr-ribbon svg{width:16px;height:16px;flex-shrink:0}.dr-ribbon .buttons{margin:0;gap:6px}.dr-fold{padding:5px 10px!important;min-height:28px!important}.dr-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0}.dr-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:17px 16px;border:0;border-right:1px solid var(--line);border-radius:0;color:var(--ink);background:var(--panel);text-align:left;min-height:135px}.dr-kpi:last-child{border:0}.dr-kpi:hover{background:var(--panel-soft)}.dr-kpi>span:first-child{display:flex;gap:6px;align-items:center;font-size:var(--t11);color:var(--muted)}.dr-kpi strong{font-size:var(--t24);line-height:1.15;letter-spacing:-.6px}.dr-kpi span{font-size:var(--t11)}.dr-kpi small{font-size:var(--t10);font-weight:400;color:var(--muted);line-height:1.5}.dr-inline-kpis{display:flex;gap:4px;padding:7px 10px;flex-wrap:wrap}.dr-inline-kpis button{background:none;border:0;display:flex;align-items:center;gap:7px;font-size:var(--t11);padding:5px 10px;color:var(--muted)}.dr-inline-kpis b{color:var(--ink)}.dr-display-panel{min-width:255px;padding:13px;position:absolute;right:0;z-index:90;background:var(--popover);border:1px solid var(--line);border-radius:var(--radius-control);box-shadow:0 12px 26px #1b2c5220}.dr-display{position:relative}.dr-display-panel label{display:flex;align-items:center;gap:8px;margin:9px 0;font-size:var(--t12)}.dr-display-panel input[type=checkbox],.dr-config-grid input[type=checkbox]{width:16px!important;height:16px!important;min-height:16px;margin:0;flex:0 0 16px}.dr-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.dr-config-grid label{display:flex;align-items:center;gap:8px}.dr-team-row{display:flex;align-items:center;gap:8px;padding:12px;flex-wrap:wrap}.dr-team{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:var(--radius-sm);padding:8px 10px;font-size:var(--t11)}.dr-team.active{background:#eaf3f8;border-color:#5790ad}.dr-people-options{padding:0 12px 12px;display:flex;align-items:center;gap:7px}.dr-people-options button{min-height:28px;padding:5px 10px;font-size:var(--t11)}.dr-people-options small{font-size:var(--t10);color:var(--muted)}.dr-stack{display:inline-flex;align-items:center;padding-left:3px}.dr-avatar{width:27px;height:27px;border-radius:50%;background:#eaf0fb;border:2px solid white;display:inline-flex;align-items:center;justify-content:center;font-size:var(--t10)!important;color:var(--muted);margin-left:-3px;flex:0 0 27px;overflow:hidden}.dr-avatar .person-avatar{width:25px!important;height:25px!important;min-width:25px!important;font-size:var(--t10)}.dr-avatar img{width:25px!important;height:25px!important;object-fit:cover}.dr-delivery .execution-row[data-task-row]{height:67px}.dr-delivery .execution-track .task-bar.dr-bar:not(.milestone){height:23px;border-radius:4px;border:1px solid color-mix(in srgb,var(--task-colour) 80%,#fff);background:color-mix(in srgb,var(--task-colour) 20%,#fff);overflow:hidden}.dr-delivery .task-bar.dr-bar .task-progress{opacity:1;background:var(--task-colour);pointer-events:none}.dr-delivery .task-bar.dr-bar .task-bar-label{font-size:10px;line-height:19px;font-weight:600;color:#14284d;text-shadow:0 1px 1px #ffffff70;padding:0 5px;display:flex;align-items:center;justify-content:space-between;gap:6px}.dr-delivery .task-bar.dr-bar.critical{outline:1px solid #162856;outline-offset:1px}.dr-bar-detail{position:absolute;display:flex;gap:8px;align-items:center;white-space:nowrap;font-size:9px;line-height:12px;color:#4d668f;max-width:240px;overflow:hidden;pointer-events:none}.dr-bar-detail>span{display:inline-flex;align-items:center;gap:3px}.dr-bar-detail svg{width:11px;height:11px}.dr-reference{position:absolute;height:2px;background:#8192ad;pointer-events:none}.dr-accepted{color:#267b6b}.dr-review{color:#9a6a11}.dr-swatch{display:inline-block;background:#558eab;width:15px;height:7px;border-radius:var(--radius-xs);margin-right:4px}.dr-exception-bar{display:flex;align-items:center;gap:8px;background:#fff6df;border:1px solid #e6ca7b;border-radius:8px;padding:9px 13px;font-size:12px}.dr-measure-head{display:flex;gap:20px;align-items:center;padding:20px 0}.dr-measure-head strong{font-size:var(--t32)}.dr-measure-head small{display:block;color:var(--muted);margin-top:5px}.dr-evidence-list{max-height:48vh;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-control)}.dr-evidence-list>button{display:flex;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--panel);color:var(--ink);text-align:left;padding:12px;flex-wrap:wrap}.dr-evidence-list>button>small{flex-basis:100%;font-weight:400;color:var(--muted)}.dr-evidence-list>button>span:last-child{margin-left:auto;color:#3c6b99;font-size:var(--t11)}.dr-evidence-list small{display:block;font-size:var(--t11);margin-top:4px}.dr-delivery .execution-label strong{font-size:var(--t11)}.dr-delivery .execution-label small{font-size:var(--t9)}.dr-delivery .execution-chart{border-radius:10px;overflow:clip}.dr-delivery .execution-scroll{max-height:70vh}.dr-delivery .delivery-smartbar{margin-bottom:8px}.dr-delivery .delivery-actions-menu,.dr-delivery #task-add{display:none}.dr-delivery .live-pill{display:none}.dr-delivery .execution-toolbar{flex-wrap:wrap}.dr-delivery main{padding-top:14px}.dr-delivery .execution-calendar{background:var(--surface)}.dr-delivery .execution-track .iv-context{opacity:.22}.dr-delivery .execution-row.iv-context{opacity:.4}.dr-delivery .delivery-toolbar details[open]>div{z-index:100}.dr-delivery .dr-people header .buttons{flex-wrap:nowrap}.dr-delivery .dr-team-row .dr-stack{pointer-events:none}
@media(max-width:1100px){#dr-provenance>span:nth-child(2){display:none}.dr-kpis{grid-template-columns:repeat(3,minmax(150px,1fr))}.dr-kpi{min-height:119px}.dr-ribbon header>div:first-child{gap:7px}.dr-ribbon header span{font-size:var(--t10)}.dr-people-options small{max-width:40%}.dr-heading h1{font-size:var(--t20)}}

/* delivery-presentation.css */
/* A single compact command line; expanded content remains optional. */
.dr-delivery .dx-toolbar{display:flex;flex-wrap:nowrap;gap:6px;padding:8px;align-items:center;min-height:54px;overflow:visible}.dx-toolbar>details,.dx-toolbar>button{flex:0 0 auto}.dx-toolbar .delivery-scope-picker{max-width:230px}.dx-toolbar>button,.dx-toolbar>details>summary{font-size:var(--t11);min-height:36px;padding:7px 10px}.dx-toolbar .dx-compact-button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.dx-toolbar .dx-compact-button.active{background:#e8f2f7;border-color:#498ba7}.dx-people-button>span:not(.dr-stack){max-width:132px;overflow:hidden;text-overflow:ellipsis}.dx-toolbar>.field-help-trigger,.dx-toolbar>.ui-help{display:none}.dx-toolbar .dr-avatar{width:23px;height:23px;flex-basis:23px}.dx-toolbar .dr-display-panel{left:auto;right:0}.dx-simulation{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:8px 0;padding:9px 13px;background:#fff8e7;border:1px solid #e7cf8d;border-radius:var(--radius-control);font-size:var(--t11)}.dx-simulation>span{display:flex;align-items:center;gap:6px}.dx-simulation small{flex-basis:100%;color:#755f32}.dx-simulation button{font-size:var(--t11);min-height:24px;padding:3px 5px}.dx-simulation svg{width:14px;height:14px}.dr-delivery .execution-chart .execution-row.iv-context{opacity:1}.dr-delivery .execution-chart .execution-track .iv-context{opacity:.32}.dr-delivery .execution-row.iv-context .dx-row-summary{opacity:.6}.execution-chart.dx-rich-chart .execution-row{grid-template-columns:var(--execution-label) minmax(0,1fr) 150px}.dx-rich-chart .calendar-canvas{box-sizing:border-box;padding-right:150px}.dx-rich-chart .delivery-project-heading{padding-right:150px}.dx-rich-chart .execution-shared-guides{right:150px}.dx-row-summary{position:sticky;right:0;z-index:6;align-self:stretch;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;background:var(--surface-soft);border-left:1px solid var(--line);padding:8px 12px;font-size:var(--t11);color:var(--ink)}.dx-row-summary svg{width:13px;height:13px}.dx-row-summary>b,.dx-row-summary>span{display:flex;align-items:center;gap:4px}.dx-row-summary>small{font-size:var(--t9);color:var(--muted);line-height:1.4}.dx-row-summary .dr-avatar{width:22px;height:22px;flex-basis:22px}.dx-status{display:inline-flex;align-items:center;gap:4px;border-radius:var(--radius-sm);font-size:var(--t10);line-height:1.3;padding:4px 6px;white-space:nowrap;background:var(--panel-soft);color:var(--muted)}.dx-status.accepted{background:#e3f3ed;color:#227563}.dx-status.review{background:#fff1cc;color:#856219}.dx-status.blocked{background:#fdece8;color:#b64032}.dx-status.progress{background:#e7f0fa;color:#326b9b}.dx-late{color:#af423b!important}.dx-late-bar:not(.milestone){box-shadow:0 3px 0 #bf4f49!important}.dx-edited:not(.milestone){outline:2px dashed #b47d08!important;outline-offset:2px}.dx-stream-flags{display:block;font-size:var(--t10);line-height:1.5;margin-top:6px;color:var(--muted)}.dx-stream-people{display:flex;align-items:center;gap:6px;margin-top:9px;font-size:var(--t10);font-weight:500}.dx-stream-people .dr-avatar{width:23px;height:23px;flex-basis:23px}.dx-stream-heading{position:sticky;left:0;display:flex;align-items:center;gap:7px;background:var(--surface-soft);color:var(--ink);padding:9px 12px;border-bottom:1px solid var(--line);font-size:var(--t12);font-weight:600;min-height:34px;z-index:4}.dx-stream-heading svg{width:15px;height:15px}.dr-delivery .dx-bar-detail{max-width:190px;width:auto;min-width:60px;overflow:visible;gap:4px;height:23px;line-height:19px;pointer-events:none;font-size:9px}.dx-bar-detail .dr-avatar{width:20px;height:20px;flex-basis:20px;border-width:1px}.dx-bar-detail .dr-avatar .person-avatar,.dx-bar-detail .dr-avatar img{width:18px!important;height:18px!important;min-width:18px!important;font-size:8px}.dx-bar-detail>span:last-child{font-size:8px}.dr-delivery .dx-bar{touch-action:none}.dr-delivery .dx-bar.dragging{z-index:20!important;box-shadow:0 5px 15px #1d304344;opacity:.9}.dr-delivery .dx-bar:has(.dx-handle){cursor:grab}.dr-delivery .dx-bar .task-bar-label{pointer-events:none;padding-left:8px;padding-right:8px}.dx-handle{position:absolute;top:0;bottom:0;width:7px;z-index:4;cursor:ew-resize;background:#ffffff66;border:1px solid #25426a66}.dx-left{left:0;border-radius:var(--radius-xs) 0 0 var(--radius-xs)}.dx-right{right:0;border-radius:0 var(--radius-xs) var(--radius-xs) 0}.dx-handle:after{content:'';position:absolute;top:6px;bottom:6px;left:2px;border-left:1px solid #213d64}.dx-milestone-people{display:flex;align-items:center;gap:5px;margin-top:5px;max-width:210px}.dx-milestone-people .dr-avatar{width:22px;height:22px;flex-basis:22px}.dx-milestone-people .dx-status{font-size:8px;padding:2px 4px}.dx-milestone-late .milestone-copy{border-bottom:2px solid #b95245}.dx-tooltip{width:340px!important;max-width:calc(100vw - 20px)!important;border:1px solid var(--line)!important;border-radius:var(--radius-panel)!important;box-shadow:0 16px 48px #20345435!important;padding:16px!important;color:var(--ink)}.dx-tip-kicker{font-size:var(--t10);color:var(--muted);margin-bottom:7px}.dx-tooltip>strong{font-size:var(--t14);line-height:1.4;display:block}.dx-tip-status{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.dx-tip-status>b{font-size:var(--t20)}.dx-tip-meter{height:6px;background:#e8eef7;border-radius:var(--radius-sm);overflow:hidden;margin:9px 0 13px}.dx-tip-meter i{display:block;height:100%;background:#508ba8}.dx-tip-people{border-top:1px solid var(--line);padding-top:10px;display:grid;gap:7px}.dx-tip-people>div{display:flex;align-items:center;gap:8px}.dx-tip-people b{font-size:var(--t11)}.dx-tip-people small{display:block;font-size:var(--t10);color:var(--muted)}.dx-tooltip p{font-size:var(--t10)!important;line-height:1.5;margin-bottom:0}.dx-tooltip dl{margin:8px 0 12px}.dr-delivery .execution-scroll{max-height:72vh}.dr-delivery .dr-heading{margin-bottom:12px}.dr-delivery .dr-ribbon:empty{display:none}
@media(max-width:1100px){.dx-toolbar .delivery-scope-picker{max-width:190px}.dx-toolbar>button,.dx-toolbar>details>summary{font-size:var(--t10);padding:6px}.dx-toolbar .dx-people-button .dr-stack{display:none}.dx-people-button>span:not(.dr-stack){max-width:80px}.dx-toolbar .delivery-smart-hint{display:none}}
@media(max-width:850px){.dr-delivery .dx-toolbar{flex-wrap:wrap}.dx-toolbar>button,.dx-toolbar>details>summary{min-height:34px}.dx-rich-chart{min-width:680px}.dr-delivery #task-chart-container{overflow-x:auto}.dx-simulation>span{flex-wrap:wrap}}

.dx-layout-choice{display:grid;gap:6px;border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.dx-layout-choice b{font-size:var(--t11)}.dx-layout-choice button{font-size:var(--t11);text-align:left}.dx-layout-choice button.active{background:#e7f1f8;border-color:#4f8da9}

/* Every overflow avatar is inspectable by pointer, keyboard and touch. */
.dr-delivery .dx-people-more{pointer-events:auto;cursor:pointer;position:relative;z-index:2;background:#e8eef9;color:#2e538a;font-weight:600}
.dx-people-more:hover,.dx-people-more:focus-visible{outline:2px solid #508ba8;outline-offset:1px}
.dx-people-popover{position:fixed;z-index:12000;width:380px;max-width:calc(100vw - 16px);max-height:70vh;overflow:auto;padding:14px;background:var(--popover);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:0 12px 38px #20345435;color:var(--ink)}
.dx-people-popover header{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:12px}
.dx-people-popover header b{display:flex;align-items:center;gap:7px;font-size:var(--t13)}.dx-people-popover header svg{width:16px;height:16px}
.dx-people-popover header button{font-size:var(--t20);min-height:24px;padding:0 5px}
.dx-people-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 10px}
.dx-people-grid article{display:flex;align-items:center;gap:8px;min-width:0}
.dx-people-grid b{display:block;font-size:var(--t11);line-height:1.4;overflow-wrap:anywhere}.dx-people-grid small{display:block;font-size:var(--t10);color:var(--muted);line-height:1.4}
.dx-people-grid .dr-avatar{width:36px;height:36px;flex:0 0 36px;margin:0;border:0}.dx-people-grid .person-avatar,.dx-people-grid .person-avatar img{width:36px!important;height:36px!important;min-width:36px!important;font-size:var(--t12)}
.dx-tip-people{max-height:300px;overflow:auto}.dx-tip-people .dr-avatar{width:30px;height:30px;flex:0 0 30px}.dx-tip-people .person-avatar,.dx-tip-people .person-avatar img{width:30px!important;height:30px!important;min-width:30px!important}
.dx-toolbar .dx-compact-button.active[data-dx="simulate"]{background:#fff1cc;border-color:#b78a21;color:#684f18}

/* Saved workstream palettes use the same six swatches as Project Studio. */
.task-bar.dr-bar.dx-bar{color:var(--dr-text,#172550);border-color:var(--dr-outline,var(--task-colour));background:var(--dr-remaining,color-mix(in srgb,var(--task-colour) 20%,white))}
.task-bar.dr-bar.dx-bar .task-progress{background:var(--dr-progress,var(--task-colour))}
.task-bar.dr-bar.dx-bar .task-bar-label{color:var(--dr-text,#172550)}
.dr-reference{border-color:var(--dr-reference,#8293ad);background:var(--dr-reference,#8293ad)}
.task-bar.dr-bar.dx-late-bar{border-bottom-color:var(--dr-late,#b74536)}

/* Keep import, creation and bulk review in the native compact Commands menu. */
body.dr-delivery .dx-toolbar .delivery-actions-menu{display:block}
body.dr-delivery .dx-toolbar .delivery-actions-menu #task-add{display:block;width:100%;margin-top:6px}
.dx-toolbar>.field-help-button,.dx-toolbar>.field-help{display:none}

/* project-studio.css */
.ps-studio{position:fixed;inset:20px;margin:auto;width:calc(100vw - 40px);max-width:1700px;height:calc(100vh - 40px);max-height:none;border:1px solid var(--line);border-radius:var(--radius-panel);padding:0;background:var(--popover);color:var(--ink);overflow:hidden;box-shadow:0 22px 90px #14234740;font-size:var(--t13)}.ps-studio[open]{display:flex;flex-direction:column}.ps-studio::backdrop{background:#15254b72}.ps-studio *{box-sizing:border-box}.ps-studio .ui-icon{width:15px;height:15px;flex-shrink:0;vertical-align:middle}.ps-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px 12px}.ps-header small{font-size:var(--t10);letter-spacing:2px;color:var(--muted)}.ps-studio h2{font-size:var(--t20);margin:5px 0}.ps-studio h3{font-size:var(--t14);margin:4px 0 12px;display:flex;gap:7px;align-items:center}.ps-studio p{font-size:var(--t12);line-height:1.5;color:var(--muted);margin:4px 0 14px}.ps-header-actions{display:flex;align-items:end;gap:10px}.ps-switch-project{max-width:245px}.ps-studio label{display:block;font-size:var(--t12);color:var(--muted);margin:0 0 12px;line-height:1.5}.ps-studio input:not([type=checkbox]):not([type=color]),.ps-studio select,.ps-studio textarea{display:block;width:100%;min-height:35px;margin-top:5px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);font:inherit;box-shadow:none;max-width:100%}.ps-studio textarea{resize:vertical}.ps-studio input[type=checkbox]{width:15px;height:15px;margin:0}.ps-studio input[type=color]{width:38px;height:31px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:2px;background:var(--panel)}.ps-studio button{font-size:var(--t12)}.ps-steps{display:flex;padding:0 20px;border-bottom:1px solid var(--line)}.ps-steps button{flex:1;display:flex;gap:7px;align-items:center;padding:13px 8px;color:var(--muted);border:0;border-bottom:3px solid transparent;background:transparent;white-space:nowrap}.ps-steps button span{background:#e5edf8;border-radius:50%;width:21px;height:21px;display:grid;place-items:center;font-size:var(--t10)}.ps-steps button.active{border-bottom-color:#d9a718;color:var(--ink);font-weight:650}.ps-steps button.active span{color:white;background:#172550}.ps-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(370px,40%) minmax(0,1fr);gap:14px;padding:14px 18px}.ps-inputs{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-control);overflow:auto;min-height:0}.ps-live{min-width:0;min-height:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-control);display:flex;flex-direction:column;overflow:hidden}.ps-live-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px}.ps-live-header h3{margin:0}.ps-live-dot{height:6px;width:6px;background:#3d917d;border-radius:50%}#ps-live-content{display:flex;flex-direction:column;min-height:0;flex:1}.ps-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px 14px 12px;gap:10px}.ps-kpis>div{font-size:var(--t11);color:var(--muted);min-width:0;border-right:1px solid var(--line)}.ps-kpis>div:last-child{border:0}.ps-kpis strong{display:block;font-size:var(--t18);margin:5px 0;color:var(--ink)}.ps-kpis small{display:block;font-size:var(--t10)}.ps-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}.ps-check{display:flex!important;gap:7px;align-items:center}.ps-note{display:flex;gap:8px;align-items:flex-start;background:var(--panel-soft);border-radius:var(--radius-sm);padding:10px;font-size:var(--t11);color:var(--muted);line-height:1.5;margin:10px 0 14px}.ps-note.warn{background:#fff8e8;color:#806123}.ps-note .ui-icon{margin-top:2px}.ps-studio details{border-top:1px solid var(--line);margin:12px 0;padding:12px 0}.ps-studio summary{font-size:var(--t12);color:var(--muted)}.ps-studio details p{margin-top:8px}.ps-section-head,.ps-colours>header,.ps-task-editor>header,.ps-wave>header{display:flex;justify-content:space-between;align-items:center;gap:8px}.ps-stream-name{display:flex;align-items:center;gap:12px}.ps-stream-name label{flex:1}.ps-colours{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 15px;padding:12px 0}.ps-colour-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.ps-colour-grid label{margin:0}.ps-colour-grid label>span{display:flex;gap:5px;align-items:center;margin-top:4px}.ps-colour-grid input[type=text]{min-height:31px;padding:5px 8px;margin:0;width:100%;font-family:monospace}.ps-colour-demo{background:var(--panel-soft);border-radius:var(--radius-sm);padding:10px;margin-top:14px}.ps-colour-demo>b{display:block;font-size:var(--t12);margin-bottom:8px}.ps-colour-demo>div{position:relative;height:30px;background:var(--ps-remaining);border:1px solid var(--ps-outline);border-radius:var(--radius-sm);overflow:hidden;color:var(--ps-text)}.ps-colour-demo i{position:absolute;inset:0 auto 0 0;width:65%;background:var(--ps-progress)}.ps-colour-demo>div>span{position:relative;display:flex;justify-content:space-between;padding:5px 8px;font-size:var(--t12)}.ps-colour-demo hr{margin:5px 0;border:0;border-top:2px solid var(--ps-reference);width:85%}.ps-colour-demo small{font-size:var(--t10);color:var(--muted)}.ps-task-list{max-height:330px;overflow:auto}.ps-task-list button{display:flex;align-items:center;text-align:left;gap:8px;width:100%;border:0;border-bottom:1px solid var(--line);background:var(--panel);padding:11px 3px;color:var(--ink)}.ps-task-list button>span:first-of-type{flex:1}.ps-task-list small{display:block;color:var(--muted);font-size:var(--t10);margin-top:4px}.ps-task-editor{border:1px solid #8cabc9;border-radius:var(--radius-control);padding:12px;background:var(--panel-soft)}.ps-task-actions{display:flex;gap:10px;justify-content:space-between;align-items:center}.ps-task-preserved{display:flex;align-items:center;gap:8px;font-size:var(--t11);margin-bottom:10px;color:var(--muted)}.ps-link-list article{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0;gap:10px;font-size:var(--t12)}.ps-link-list small,.ps-consumer small{display:block;font-size:var(--t10);color:var(--muted);margin-top:4px}.ps-consumer{padding:10px;border-bottom:1px solid var(--line);font-size:var(--t12)}.ps-wave{padding:10px;border:1px solid var(--line);border-radius:var(--radius-control);margin-bottom:12px}.ps-diff article{border-bottom:1px solid var(--line);padding:12px 0;font-size:var(--t12);overflow-wrap:anywhere}.ps-diff article>div{display:grid;grid-template-columns:1fr 20px 1fr;gap:7px;margin-top:7px;align-items:center}.ps-diff del{color:var(--muted);text-decoration:none}.ps-diff ins{color:#207561;text-decoration:none;background:var(--panel-soft);padding:5px;border-radius:var(--radius-xs)}.ps-chart-options{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 14px;border-top:1px solid #e5ebf5;font-size:10px;color:#55709b}.ps-chart-options label{margin:0}.ps-live .ps-note{margin:0 12px 10px}.ps-gantt-scroll{overflow:auto;flex:1;min-height:150px;border-top:1px solid #d0dcf0}.ps-gantt{min-width:650px;position:relative}.ps-axis{display:grid;grid-template-columns:var(--ps-label) 1fr;position:sticky;top:0;z-index:4;background:var(--surface-soft);border-bottom:1px solid var(--line);height:35px;font-size:var(--t10);align-items:center}.ps-axis>b{padding-left:10px}.ps-axis>div{position:relative;height:100%;margin-right:10px}.ps-axis span{position:absolute;top:10px;transform:translateX(-50%);white-space:nowrap}.ps-axis span:first-child{transform:none}.ps-axis span:last-child{transform:translateX(-100%)}.ps-chart-rows{position:relative}.ps-connectors{position:absolute;left:var(--ps-label);top:0;width:calc(100% - var(--ps-label));height:100%;pointer-events:none;z-index:2;overflow:visible}.ps-connectors path{stroke:#7890ad;stroke-width:1;fill:none;opacity:.45;vector-effect:non-scaling-stroke}.ps-connectors path.selected{stroke:#244f8a;opacity:1;stroke-width:1.5}.ps-chart-row,.ps-chart-stream{display:grid;grid-template-columns:var(--ps-label) 1fr;height:38px;border-bottom:1px solid #e5ebf5}.ps-chart-row>button,.ps-chart-stream>button{display:flex;gap:6px;align-items:center;text-align:left;overflow:hidden;background:var(--panel);border:0;border-right:1px solid #d5e0f0;padding:5px 10px;color:#172550;font-size:10px}.ps-chart-row>button>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ps-chart-row.selected>button{background:#e9f2fb;color:#244f8a}.ps-chart-row>button small{margin-left:auto;color:#3b947f}.ps-chart-stream{background:var(--panel-soft)}.ps-chart-stream>button{background:var(--panel-soft);font-weight:650}.ps-chart-stream i{width:8px;height:8px;border-radius:2px;flex-shrink:0}.ps-track{position:relative;min-width:0;background:repeating-linear-gradient(to right,transparent 0%,transparent calc(20% - 1px),#edf1f8 calc(20% - 1px),#edf1f8 20%)}.ps-baseline{position:absolute;bottom:4px;border-bottom:2px solid var(--ps-reference);height:2px}.ps-studio .ps-bar{position:absolute;top:5px;height:25px;border-radius:4px;border:1px solid var(--ps-outline);background:var(--ps-remaining);padding:0;overflow:visible;min-width:5px;color:var(--ps-text);z-index:3;font-size:10px}.ps-bar i{position:absolute;inset:0 auto 0 0;background:var(--ps-progress);border-radius:3px;max-width:100%}.ps-bar>span{position:absolute;inset:0;padding:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.ps-bar>b{position:absolute;right:3px;top:4px;background:#ffffffd9;font-size:9px;color:#172550;display:none}.ps-bar:hover>b{display:block}.ps-bar em{position:absolute;right:-15px;top:2px;font-style:normal;font-size:12px}.ps-bar.point{border:0;background:none;font-size:17px;line-height:23px;color:var(--ps-outline)}.ps-bar.edited{outline:2px solid #d8ab29;outline-offset:1px}.ps-boundary{padding:8px 12px;margin:0!important;font-size:var(--t10)!important;border-top:1px solid var(--line)}.ps-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-top:1px solid var(--line);background:var(--panel);gap:16px}.ps-footer>div:first-child{display:flex;flex-direction:column;gap:3px;font-size:var(--t12)}.ps-footer small{font-size:var(--t10);color:var(--muted)}.ps-buttons{display:flex;gap:8px;align-items:center}.ps-footer #ps-error{color:#ae432f;font-size:var(--t11)}.ps-studio button:disabled{opacity:.4;cursor:not-allowed}.ps-studio button:not(:disabled){cursor:pointer}@media(max-width:1100px){.ps-studio{inset:8px;width:calc(100vw - 16px);height:calc(100vh - 16px)}.ps-layout{grid-template-columns:360px minmax(0,1fr);gap:10px;padding:10px}.ps-header{padding:12px}.ps-steps{padding:0 10px}.ps-steps button{font-size:var(--t11)}.ps-inputs{padding:12px}.ps-header h2{font-size:var(--t18)}.ps-header-actions select{max-width:190px}.ps-kpis{gap:5px;padding:5px 10px}.ps-kpis strong{font-size:var(--t16)}.ps-live-header{padding:12px}.ps-live-header button{font-size:var(--t10)}.ps-footer{padding:9px 12px}}@media(max-width:760px){.ps-layout{grid-template-columns:1fr;overflow:auto}.ps-inputs{min-height:400px}.ps-live{min-height:460px}.ps-header-actions{flex-wrap:wrap;justify-content:end}.ps-header p{display:none}.ps-steps{overflow:auto}.ps-footer{flex-wrap:wrap}.ps-buttons{margin-left:auto}.ps-switch-project{display:none}.ps-kpis strong{font-size:var(--t16)}}

.ps-status-demo{display:flex;gap:8px 14px;flex-wrap:wrap;font-size:var(--t11);padding:4px 0 8px}.ps-studio .ps-gantt .ps-bar>b{display:block;max-width:100%;overflow:hidden;pointer-events:none}.ps-studio .ps-gantt .ps-bar:not(:hover)>b{background:#ffffffda}.ps-studio .ps-bar>span{padding-right:30px}

/* Project identity is always visible beside its proposed plan. */
.ps-studio .ps-identity-editor,.ps-studio .ps-project-identity{display:flex;align-items:center;gap:12px;margin:12px 0 18px;padding:12px;background:var(--panel-soft);border-radius:var(--radius-control);min-width:0}
.ps-studio .ps-photo{width:64px;height:56px;flex:0 0 64px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ps-studio .ps-photo img{max-width:100%;max-height:100%;object-fit:contain}
.ps-studio .ps-photo-placeholder{color:var(--muted)}
.ps-studio .ps-photo-actions{display:flex;align-items:center;gap:7px;margin:7px 0}
.ps-studio .ps-identity-editor small,.ps-studio .ps-project-identity small{display:block;color:var(--muted);font-size:var(--t11);line-height:1.5}
.ps-studio .ps-company-help{margin:6px 0 18px}
.ps-studio .ps-project-identity strong{font-size:var(--t14)}
/* The legacy inspector no longer consumes any Delivery width. */
body.dr-delivery .execution-layout,body.dr-delivery .execution-layout.inspector-collapsed{grid-template-columns:minmax(0,1fr)!important}
body.dr-delivery #task-inspector,body.dr-delivery #task-panel-toggle,body.dr-delivery [data-task-panel-toggle]{display:none!important}
body.project-studio-open{overflow:hidden!important}.ps-studio{max-height:calc(100dvh - 24px);overflow:hidden}.ps-layout{min-height:0;overflow:hidden}.ps-inputs,.ps-live{min-height:0;overflow:auto;overscroll-behavior:contain}.ps-footer{flex-shrink:0}.ps-studio [hidden]{display:none!important}
/* The application main element has its own reading layout; the editor is a bounded pane. */
.ps-studio .ps-inputs{height:100%;max-height:100%;align-self:stretch;margin:0;max-width:none;width:auto}
.ps-studio .ps-live{overflow:hidden}
.ps-studio .ps-project-identity{margin:4px 10px 8px;padding:8px;gap:10px}
.ps-studio .ps-project-identity .ps-photo{width:42px;height:38px;flex-basis:42px}
.ps-studio .ps-live-header{padding:10px 12px}
.ps-studio #ps-live-content>.ps-note{margin:4px 10px 8px;padding:6px 8px}
@media(min-width:761px){.ps-studio .ps-layout{grid-template-rows:minmax(0,1fr)}.ps-studio .ps-header{padding:12px 20px 6px}.ps-studio .ps-header p{margin-bottom:8px}}

/* projects-unified.css */
/* Kestrel navigation study. Product colours and controls follow the retained preview. */
.unified-preview{--un-ink:#17244e;--un-muted:#526f9e;--un-line:#d3dff2;--un-soft:#f5f7fc;--un-gold:#dba71a;background:var(--un-soft)}
.un-layout{display:grid;grid-template-columns:184px minmax(0,1fr);min-height:calc(100vh - 34px);color:var(--un-ink)}
.un-layout.un-reduced{grid-template-columns:62px minmax(0,1fr)}
.un-rail{background:var(--surface);border-right:1px solid var(--un-line);padding:22px 12px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:70}
.un-brand{display:flex;align-items:center;gap:9px;padding:0 6px 32px;font-size:var(--t13);letter-spacing:2px;font-weight:700}
.un-brand img{width:31px;height:40px;object-fit:contain}.un-brand small{display:block;font-size:var(--t8);letter-spacing:1px;line-height:1.6;margin-top:4px;color:var(--un-muted)}
.un-nav-label{font-size:var(--t9);letter-spacing:1.5px;color:var(--un-muted);padding:0 10px 10px}
.un-rail nav>button,.un-rail-bottom a,.un-rail-bottom button{display:flex;gap:10px;align-items:center;min-height:40px;padding:10px 11px;background:none;color:var(--un-muted);border:0;border-radius:var(--radius-sm);width:100%;text-align:left;font-size:var(--t12);text-decoration:none;font-weight:500}
.un-rail nav>button.is-active{background:#ebf1fa;color:var(--un-ink);border-left:3px solid var(--un-gold);padding-left:8px;font-weight:700}.un-rail nav>button:hover,.un-rail-bottom a:hover{background:var(--un-soft)}
.un-rail .ui-icon,.un-context .ui-icon,.un-portfolio .ui-icon,.un-team .ui-icon{width:16px;height:16px;flex:0 0 16px;vertical-align:middle}
.un-subnav{margin:4px 0 14px 24px;border-left:1px solid var(--un-line);padding:0 0 0 9px}.un-subnav button{display:block;border:0;background:none;color:var(--un-muted);text-align:left;font-size:var(--t11);padding:7px 9px;width:100%}.un-subnav .current{color:var(--un-ink);font-weight:700}
.un-rail-bottom{margin-top:auto;border-top:1px solid var(--un-line);padding-top:12px}.un-rail.is-small{padding:22px 7px}.un-rail.is-small .un-brand{padding:0 6px 28px}.un-rail.is-small .un-brand span,.un-rail.is-small .un-nav-label,.un-rail.is-small nav>button span,.un-rail.is-small .un-subnav,.un-rail.is-small .un-rail-bottom span{display:none}.un-rail.is-small button,.un-rail.is-small a{justify-content:center}
.un-workspace{min-width:0}.un-topbar{height:62px;background:var(--panel);border-bottom:1px solid var(--un-line);display:flex;align-items:center;gap:20px;padding:0 22px;font-size:var(--t11);color:var(--un-muted)}.un-topbar>img{width:128px;max-height:32px;object-fit:contain}.un-topbar>span:nth-of-type(1){margin-right:auto}.un-topbar .un-preview-tag{background:#fff7df;color:#856018;border-radius:var(--radius-xs);padding:5px 8px;font-size:var(--t10)}.un-topbar a{white-space:nowrap;font-size:var(--t11)}
.un-workspace>main{max-width:none!important;width:100%!important;padding:20px 22px 30px!important;margin:0!important}
.un-title-row{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-bottom:20px}.un-title-row h1{font-size:var(--t24);line-height:1.25;margin:5px 0}.un-title-row p{font-size:var(--t11);color:var(--un-muted);margin:5px 0 0}.un-title-row .eyebrow{font-size:var(--t9);letter-spacing:2px;color:var(--un-muted)}.un-title-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.un-title-actions button,.un-title-actions a{display:inline-flex;gap:7px;align-items:center;font-size:var(--t11);white-space:nowrap;text-decoration:none}.un-title-actions a{padding:9px 11px;border-radius:var(--radius-sm);border:1px solid var(--un-line);background:var(--panel-soft);color:var(--un-ink)}
.un-context-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--un-line);margin-bottom:18px;min-width:0}.un-tabs{display:flex;align-items:stretch;gap:4px;align-self:stretch}.un-tabs button{display:flex;align-items:center;gap:7px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--un-muted);font-size:var(--t12);padding:12px 13px;white-space:nowrap}.un-tabs button.active{color:var(--un-ink);font-weight:700;border-bottom-color:var(--un-gold)}
.un-scope{display:flex;align-items:center;gap:8px;font-size:var(--t11);color:var(--un-muted);margin:0 0 7px;min-width:0}.un-scope select{width:235px;max-width:100%;font-size:var(--t12);font-weight:600;min-height:35px;background:var(--panel);padding:7px 25px 7px 10px;border:1px solid var(--un-line);border-radius:var(--radius-sm);color:var(--un-ink)}
.un-portfolio-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:4px 0 15px}.un-portfolio-tools p{display:flex;align-items:center;gap:6px;color:var(--un-muted);font-size:var(--t12);margin:0}.un-portfolio-tools>div{display:flex;gap:7px}.un-portfolio-tools input,.un-portfolio-tools select{font-size:var(--t11);min-height:34px;padding:8px 10px;border:1px solid var(--un-line);border-radius:var(--radius-sm);color:var(--un-ink);background:var(--panel);width:170px}
.un-table-wrap{border:1px solid var(--un-line);border-radius:var(--radius-control);overflow:hidden;background:var(--panel)}.un-project-table{width:100%;border-collapse:collapse;table-layout:fixed}.un-project-table th{background:var(--panel-soft);color:var(--un-muted);font-size:var(--t10);font-weight:600;text-align:left;padding:14px 14px;border-bottom:1px solid var(--un-line);text-transform:none}.un-project-table th:first-child{width:29%}.un-project-table th:nth-child(2){width:25%}.un-project-table th:nth-child(3){width:19%}.un-project-table th:nth-child(4){width:13%}.un-project-table th:last-child{width:14%}.un-project-table td{padding:18px 14px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:var(--t12)}.un-project-table tr:last-child td{border-bottom:0}.un-project-table tbody tr:hover{background:var(--panel-soft)}.un-project-table td>small{display:block;font-size:var(--t10);color:var(--un-muted);margin-top:5px}.un-project-table td>.secondary{font-size:var(--t10);padding:8px;display:flex;align-items:center;gap:5px;white-space:nowrap;min-height:34px}
.un-project-title{background:none;border:0;display:flex;gap:12px;text-align:left;align-items:center;width:100%;padding:0;color:var(--un-ink)}.un-project-title b{font-size:var(--t13);line-height:1.4}.un-project-title small{font-size:var(--t10);color:var(--un-muted);display:block;margin-top:7px;font-weight:400}.un-project-title small svg{width:12px;height:12px}.un-project-title .client-avatar{width:38px;min-width:38px;height:38px;background:var(--panel-soft);border-radius:var(--radius-control)}.un-project-title .client-avatar img{object-fit:contain;width:100%;height:100%}
.un-plan{height:38px;display:flex;flex-direction:column;gap:1px;justify-content:center;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#edf1f8 calc(25% - 1px),#edf1f8 25%)}.un-plan>div{height:calc(38px / var(--un-lanes));min-height:1px}.un-plan i{display:block;height:100%;border-radius:var(--radius-xs);opacity:.82}.un-date-range{display:flex;justify-content:space-between;color:var(--un-muted);font-size:var(--t10);margin-top:7px}.un-row-facts{display:flex;flex-direction:column;gap:5px;color:var(--un-muted);font-size:var(--t10);margin-top:8px}.un-row-facts svg{width:12px;height:12px}.un-footnote{font-size:var(--t10);color:var(--un-muted);margin:12px 0}
.un-team{background:var(--panel);border:1px solid var(--un-line);border-radius:var(--radius-control);padding:18px}.un-team>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.un-team h2{font-size:var(--t16)}.un-team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.un-team-grid article{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--un-line);border-radius:var(--radius-sm)}.un-team-grid .dr-avatar{width:42px;height:42px;flex-basis:42px}.un-team-grid .dr-avatar img,.un-team-grid .person-avatar{width:38px!important;height:38px!important}.un-team-grid b{font-size:var(--t12)}.un-team-grid p,.un-team-grid small{font-size:var(--t11);color:var(--un-muted);margin:5px 0}.un-team-grid .link-btn{display:block;font-size:var(--t11);padding:10px 0 0}
.unified-preview #dr-provenance{font-size:var(--t10);padding:7px 18px}.unified-preview .dr-heading{display:none}.unified-preview .project-header .project-breadcrumb,.unified-preview .project-header .project-header-main,.unified-preview .project-header .pwx-project-context,.unified-preview .project-header-toggle{display:none}.unified-preview .project-header{padding-top:0}.unified-preview .project-header-summary{padding:0}.unified-preview .project-tabs{margin-top:0}.unified-preview .project-tabs [data-project-tab="planning"],.unified-preview .project-tabs [data-project-tab="tasks"]{display:none}.unified-preview .delivery-smartbar{position:relative;top:0}.unified-preview .dr-ribbon{margin:10px 0}.unified-preview .execution-layout{margin-top:12px}
@media(max-width:1100px){.un-layout{grid-template-columns:160px minmax(0,1fr)}.un-workspace>main{padding:18px 14px!important}.un-scope select{width:205px}.un-scope-label{display:none}.un-tabs button{padding:10px 8px;font-size:var(--t11)}.un-project-table th,.un-project-table td{padding:13px 9px}.un-project-table th:first-child{width:26%}.un-project-table th:nth-child(2){width:25%}.un-project-table th:nth-child(4){width:14%}.un-project-table th:last-child{width:16%}.un-project-title{gap:7px}.un-project-title .client-avatar{width:30px;min-width:30px;height:30px}.un-topbar{gap:12px;padding:0 14px}.un-topbar>img{width:108px}.un-title-row h1{font-size:var(--t22)}}
@media(max-width:800px){.un-layout{grid-template-columns:62px minmax(0,1fr)}.un-rail{padding:20px 7px}.un-rail .un-brand{padding:0 6px 25px}.un-rail .un-brand span,.un-rail .un-nav-label,.un-rail nav>button span,.un-rail .un-subnav,.un-rail .un-rail-bottom span{display:none}.un-rail nav>button,.un-rail-bottom a{justify-content:center}.un-context-bar{flex-wrap:wrap}.un-scope{width:100%}.un-scope select{width:100%}.un-table-wrap{overflow:auto}.un-project-table{min-width:700px}.un-title-row{align-items:flex-start;flex-direction:column;gap:10px}.un-title-actions{justify-content:flex-start}.un-topbar>span:nth-of-type(1){display:none}.un-topbar .un-preview-tag{margin-left:auto}.un-portfolio-tools{align-items:flex-start;flex-direction:column}.un-portfolio-tools>div{width:100%}.un-portfolio-tools input,.un-portfolio-tools select{width:50%}.unified-preview #dr-provenance{flex-wrap:wrap;gap:5px}.unified-preview #dr-provenance span:nth-child(2){display:none}}

.un-delivery-view .un-context .un-scope{display:none}
/* Portfolio projections share the same scope and saved planning data. */
.un-portfolio-views{display:flex;align-items:center;gap:4px;border-bottom:1px solid var(--un-line);margin:0 0 15px;flex-wrap:wrap}.un-portfolio-views button{display:flex;align-items:center;gap:6px;font-size:var(--t12);background:none;border:0;border-bottom:3px solid transparent;border-radius:0;padding:11px 12px;color:var(--un-muted)}.un-portfolio-views button[aria-selected=true]{color:var(--un-ink);font-weight:650;border-bottom-color:var(--un-gold)}.un-portfolio-views>span{margin-left:auto;font-size:var(--t11);color:var(--un-muted)}.un-readonly-layout{display:block!important}.un-portfolio-chart{min-width:0}.un-portfolio-chart .execution-inspector{display:none}.un-portfolio-chart .task-bar{cursor:pointer!important}.un-portfolio-chart .project-roadmap-row{min-height:80px}.un-portfolio-chart .limits{font-size:11px;color:var(--un-muted)}
.un-scope-picker{position:relative;min-width:210px;margin-bottom:7px;z-index:90;font-size:var(--t12)}.un-scope-picker>summary{border:1px solid var(--un-line);background:var(--panel);border-radius:var(--radius-sm);padding:10px 12px;color:var(--un-ink);list-style:none;font-weight:600}.un-scope-menu{position:absolute;right:0;top:calc(100% + 6px);width:330px;max-height:65vh;overflow:auto;overscroll-behavior:contain;background:var(--popover);border:1px solid var(--un-line);border-radius:var(--radius-control);padding:14px;box-shadow:0 10px 30px #17244e20}.un-scope-menu header{display:flex;gap:12px;align-items:center}.un-scope-menu header>b{margin-right:auto}.un-scope-menu fieldset{border:0;border-top:1px solid var(--un-line);margin:14px 0 0;padding:8px 0}.un-scope-menu legend{font-size:11px;color:var(--un-muted);padding-right:8px}.un-scope-menu label{display:flex;gap:8px;align-items:center;font-size:var(--t12);padding:7px 0;margin:0;font-weight:400}.un-scope-menu input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;margin:0}.un-delivery-view .un-context .un-scope-picker{display:none}
/* The general main rule must not give the editor's form content-sized height. */
html:has(.un-project-editor[open]),body:has(.un-project-editor[open]){overflow:hidden!important;overscroll-behavior:none}
.ps-studio.un-project-editor[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;max-height:calc(100dvh - 16px)}
.un-project-editor .ps-layout{height:100%;min-height:0;overflow:hidden;grid-template-rows:minmax(0,1fr)}
.un-project-editor main.ps-inputs{height:100%!important;max-height:100%!important;min-height:0!important;overflow:auto!important;overscroll-behavior:contain;width:100%;margin:0}
.un-project-editor .ps-live{max-height:100%;min-height:0}.un-project-editor .ps-gantt-scroll{overscroll-behavior:contain}.un-project-editor .ps-header,.un-project-editor .ps-steps,.un-project-editor .ps-footer{flex-shrink:0}.un-editor-project{font-size:var(--t12);color:#526f9e;max-width:250px}.un-exit-confirm{position:absolute;inset:auto 15px 78px;background:var(--popover);border:1px solid #b7cbe5;border-radius:var(--radius-control);padding:18px;box-shadow:0 8px 35px #17244e30;z-index:100;display:flex;gap:15px;align-items:center;justify-content:space-between}.un-exit-confirm>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.un-exit-confirm p{margin:6px 0 0}.un-exit-confirm b{font-size:var(--t14)}
@media(max-width:760px){.un-project-editor .ps-layout{overflow:auto;grid-template-rows:auto auto}.un-project-editor main.ps-inputs{height:auto!important;max-height:none!important;overflow:visible!important}.un-project-editor .ps-live{height:500px}.un-exit-confirm{flex-direction:column;align-items:stretch}.un-scope-menu{width:min(330px,80vw)}.un-portfolio-views button{font-size:var(--t11);padding:9px 7px}}
/* Keep all projections on one row, without a second Portfolio navigation tier. */
.un-workspace>main{padding-top:12px!important}.un-title-row{margin-bottom:9px;gap:12px}.un-title-row h1{font-size:var(--t22)}.un-title-row .eyebrow{margin-bottom:0}.un-title-row p{margin-top:3px}.un-topbar{height:52px}.un-context-bar{margin-bottom:9px;display:block}.un-tabs{gap:0;flex-wrap:wrap}.un-tabs button{padding:10px 10px;gap:5px;font-size:var(--t11)}.un-tabs .un-operational-tab{margin-left:5px;border-left:1px solid var(--un-line)}.un-header-toggle{padding:7px 10px!important;min-width:32px}.un-header-reduced .eyebrow,.un-header-reduced .un-title-row p,.un-header-reduced .un-reference{display:none}.un-header-reduced .un-title-row{margin-bottom:3px}.un-header-reduced .un-title-row h1{font-size:var(--t14);margin:0}.un-header-reduced .un-title-actions button{min-height:29px;padding-top:5px;padding-bottom:5px}
.un-portfolio-controls{display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding:8px!important;margin-bottom:0!important;min-height:49px}.un-portfolio-controls .un-scope-picker{min-width:185px;max-width:245px;margin:0}.un-portfolio-controls .un-scope-menu{left:0;right:auto}.un-portfolio-controls .un-scope-picker>summary{padding:9px 10px;white-space:nowrap;max-width:245px;overflow:hidden;text-overflow:ellipsis}.un-portfolio-controls .un-project-filters{position:relative}.un-portfolio-controls .un-project-filters>div{position:absolute;top:calc(100% + 6px);left:0;z-index:95;width:270px;padding:14px;background:var(--popover);border:1px solid var(--un-line);box-shadow:0 8px 24px #17244e18;border-radius:var(--radius-control)}.un-project-filters label{display:block;font-size:var(--t11);margin:0 0 10px}.un-project-filters input,.un-project-filters select{display:block;width:100%;min-height:35px;margin:5px 0 0;padding:7px 9px;border:1px solid var(--un-line);border-radius:var(--radius-sm);background:var(--panel);color:var(--un-ink)}.un-selection-note{font-size:var(--t10);color:var(--un-muted);padding:6px 2px 7px;line-height:1.5}.un-selection-note svg{width:12px;height:12px}.un-record-scope{display:flex;justify-content:flex-end;margin:0 0 8px}.un-portfolio-chart .project-delivery-view>p.limits{display:none}.unified-preview .execution-layout{margin-top:3px}.unified-preview .dr-ribbon{margin:7px 0}.un-project-table th{padding-top:10px;padding-bottom:10px}.un-project-table td{padding-top:13px;padding-bottom:13px}
@media(min-width:1000px){.un-tabs{flex-wrap:nowrap}.un-tabs button{flex-shrink:0}}
@media(max-width:1100px){.un-tabs button{font-size:var(--t11);padding:9px 7px}.un-tabs button svg{width:14px;height:14px;flex-basis:14px}.un-title-row h1{font-size:var(--t20)}.un-portfolio-controls .un-scope-picker{min-width:170px;max-width:215px}}
/* The app's sticky-toolbar offset belongs to its old shell, not this navigation study. */
.unified-preview .un-portfolio-controls[data-operation-toolbar]{position:relative!important;top:0!important;margin:0!important;padding:8px!important}

/* Unified shell has no fixed application header. Keep one calendar at the viewport edge. */

.unified-preview [data-operation-toolbar].workspace-operation{position:relative!important;top:0!important;margin-top:0!important}
.unified-preview .programme-calendar,.unified-preview .execution-calendar.programme-calendar{top:var(--workspace-shell-top,62px)!important;z-index:16}
.unified-preview .un-context .un-title-picker{display:block;margin:4px 0 0;min-width:0;width:max-content;max-width:100%}
.un-title-picker>summary,.un-title-picker>select{font-size:var(--t22);font-weight:750;line-height:1.35;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--ink);padding:3px 8px 3px 0;min-height:34px}
.un-title-picker>summary:hover,.un-title-picker>select:hover{border-color:#b8cae6;background:var(--panel)}
.un-title-picker>summary>.icon{display:none}
.un-title-picker .un-scope-menu{left:0;right:auto;font-size:var(--t12);font-weight:400;z-index:95}
.un-quick-project{padding:12px;border-bottom:1px solid var(--line)}.un-quick-project label{display:grid;gap:6px}.un-quick-project select{width:100%;height:36px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel)}
.unified-preview .un-title-picker select{max-width:min(470px,70vw)}
.unified-preview .un-dependency-toggle{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--muted);padding:4px 8px;font-size:var(--t10);display:inline-flex;gap:5px;align-items:center}
.unified-preview .un-dependency-toggle.active{background:#eaf2fa;border-color:#6b91b9}
.unified-preview .un-dependency-arrow{stroke:#557b9c;stroke-width:1.25;stroke-dasharray:none;opacity:.75}
.unified-preview .execution-row[data-stream-row] .execution-label{padding:9px 12px}
.unified-preview .execution-row[data-stream-row] .dx-row-summary{padding-top:9px;padding-bottom:9px}

.un-title-picker>.pwx-choice-adapter>.pwx-picker>summary{font-size:var(--t22);font-weight:750;color:var(--ink);background:transparent;border-color:transparent;padding:3px 8px 3px 0;min-height:34px;gap:8px}
.un-title-picker>.pwx-choice-adapter>.pwx-picker>summary:hover{border-color:#b8cae6;background:var(--panel)}
.un-title-picker>.pwx-choice-adapter>.pwx-picker>summary>.ui-icon:first-child,.un-title-picker>summary>.ui-icon:first-child{display:none}
.un-title-picker>.pwx-choice-adapter{display:block;min-width:240px}
.un-title-picker .pwx-picker-panel{min-width:310px;font-size:var(--t12);font-weight:400}

.unified-preview #execution-arrows{width:100%;height:100%;max-width:none;overflow:visible}
/* Restored PMO entry. All mutation permissions remain unchanged. */
.un-admin{padding:18px 0}.un-admin>header{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:16px}.un-admin h2{font-size:var(--t20);margin:0}.un-admin h3{display:flex;align-items:center;gap:8px;font-size:var(--t14);margin:0}.un-admin p{font-size:var(--t12);color:var(--un-muted);line-height:1.6}.un-admin>header p{margin:7px 0 0}.un-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.un-admin-card{background:var(--panel);border:1px solid var(--un-line);border-radius:var(--radius-control);padding:18px;display:flex;align-items:flex-start;flex-direction:column;gap:12px}.un-admin-card strong{font-size:var(--t12)}.un-admin-card p{margin:0;flex:1}.un-admin-card button{font-size:var(--t12)}.un-admin .ui-icon{width:17px;height:17px;flex:none;vertical-align:middle}.un-admin-boundary{padding:12px;background:var(--panel-soft);border-radius:var(--radius-sm)}.un-admin-dialog{max-width:660px}.un-admin-dialog p{line-height:1.65}.un-admin-dialog .secondary{display:inline-block;text-decoration:none}.un-admin-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:14px;background:var(--panel-soft)}.un-admin-facts dt{font-size:var(--t12);color:var(--un-muted);margin-bottom:6px}.un-admin-facts dd{margin:0;font-weight:600}.un-admin-dialog button:disabled{opacity:.6}
@media(max-width:1120px){.un-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.un-admin-grid,.un-admin-facts{grid-template-columns:1fr}.un-admin>header{align-items:flex-start;flex-direction:column}}

/* Native shell retains its header and permissions. */
.unified-preview main.workspace-wide{max-width:none}.unified-preview .un-tabs{overflow-x:auto;flex-wrap:nowrap}.unified-preview .un-scope-menu{z-index:100}.unified-preview .un-portfolio-controls .delivery-actions-menu,.unified-preview .un-portfolio-controls #task-add{display:none}

/* Native application header + collapsible project navigation + operational controls. */
body.unified-preview .un-context{position:sticky;top:var(--topbar-height,70px);z-index:39;background:var(--surface-soft);margin-bottom:8px}
body.unified-preview .un-context-bar{margin-bottom:0}
body.unified-preview .delivery-smartbar[data-operation-toolbar],body.unified-preview .un-portfolio-controls[data-operation-toolbar]{position:sticky!important;top:calc(var(--topbar-height,70px) + var(--un-context-height,72px))!important;z-index:35;background:var(--surface-soft);margin-top:0!important}
body.unified-preview .programme-calendar,body.unified-preview .execution-calendar.programme-calendar{top:calc(var(--topbar-height,70px) + var(--un-context-height,72px) + var(--un-toolbar-height,56px) + 2px)!important;z-index:16}

/* Critical path in context (7 Nov 2026): reading toggle reuses .un-dependency-toggle; non-critical work faded, the critical chain in the charter ink. */
.un-critical-reading{display:inline-flex;gap:4px;margin-right:6px}
.critical-context .task-bar.cp-fade{opacity:.28;filter:saturate(.35)}
.task-arrow.cp-link,.unified-preview .un-dependency-arrow.cp-link{stroke:var(--ink);stroke-width:2.5;opacity:1}

/* Portfolio sort (7 Nov 2026): shared smart menu at the right of the toolbar. */
.un-sort-menu{margin-left:auto}
.un-sort-menu .execution-switch small{display:block;color:var(--muted);font-size:var(--t11);padding:6px 8px 2px;max-width:220px}

/* ＋ New menu in the Projects header (7 Nov 2026): shared smart menu, opened to the left. */
.un-title-actions .un-new-menu>div{left:auto;right:0;width:220px}
