:root{--deep:#2f444f;--slate:#40535f;--ink:#243942;--muted:#6e7f88;--paper:#f5f7f8;--line:#e2e8eb;--blue:#40535f;--teal:#138774;--terracotta:#a75c4e;--red:#bf525b;--amber:#bf822e;--shadow:0 2px 5px #263c4903;--input:#f0f8fc}
body{font-family:Inter,'Segoe UI',Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-size:.875rem}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:7px}button.primary{background:var(--terracotta);border-color:var(--terracotta)}button.primary:hover{background:#914e41;border-color:#914e41}.wi{width:18px;height:18px;flex-shrink:0;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
#sidebar{width:242px;background:var(--deep);padding:34px 18px 16px}.brand{height:42px;padding:0 12px;background:none;border-radius:0;display:flex}.brand img{width:174px;max-height:46px;filter:invert(1) grayscale(1) brightness(1.4);mix-blend-mode:screen}.brand-sub{font-size:.75rem;letter-spacing:2.8px;padding:15px 13px 28px;color:#b8c8d0}.nav-label{font-size:.75rem;letter-spacing:1.4px;color:#91a6b1;margin:16px 14px 9px}.nav{font-size:.875rem;padding:12px 14px;gap:12px;min-height:46px;justify-content:flex-start;color:#c9d5db;margin:3px 0}.nav .wi{width:19px;height:19px;opacity:.9}.nav.active{background:#ffffff13;box-shadow:none;border:1px solid #ffffff13;color:#fff}.nav:not(.active){border:1px solid transparent}.nav-marker{width:5px;height:5px;border-radius:50%;background:#d4aba3;margin-left:auto}.sidebar-bottom{padding:18px 0 0;margin-top:auto;border-top:0}.sidebar-bottom>.nav{margin-bottom:23px}.workspace-identity{display:flex;align-items:center;gap:10px;border-top:1px solid #ffffff18;padding:20px 7px 4px}.workspace-identity strong{display:block;font-size:.75rem;color:#e6edef;font-weight:500}.workspace-identity small{font-size:.75rem;color:#9db1bc}.workspace-identity>.wi{width:14px;margin-left:auto;color:#a8bac2}.avatar,.profile-avatar{width:34px;height:34px;background:#536774;color:#eff3f4;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.profile-avatar{border:0;background:#edf0f1;color:#40535f;border-radius:50%;min-height:34px}
#shell{margin-left:242px}#topbar{height:76px;padding:0 38px;gap:19px;box-shadow:0 1px 5px #263c4903}.crumb{font-size:.875rem;color:var(--muted);font-weight:400;white-space:nowrap}.crumb span{margin:0 12px;color:#c8d0d4}.crumb strong{color:var(--ink);font-weight:500}.save-state{font-size:.75rem;color:#5f796e;display:flex;gap:6px;align-items:center}.save-state .wi{width:14px;height:14px}.project-picker{max-width:260px}#projectSwitch{font-size:.875rem;min-width:0;width:100%;max-width:260px;white-space:nowrap;text-overflow:ellipsis;background:#fff;padding:9px 26px 9px 11px;color:#5a6e78}.report-button{font-size:.875rem;font-weight:500;min-height:36px}.mobile-menu{display:none}main{padding:34px 38px 30px;max-width:1830px}.page-head{margin-bottom:28px;gap:20px;align-items:center}.page-head .actions button{font-size:.875rem;padding:10px 15px}.eyebrow{font-size:.75rem;letter-spacing:1.6px;color:#71828a;font-weight:600;margin-bottom:10px}h1{font-size:2rem;font-weight:620;letter-spacing:-1.05px;line-height:1.2}h2{font-size:1rem;font-weight:650;letter-spacing:-.3px}h3{font-size:.9375rem}.heading-dot{color:var(--terracotta)}.subtitle{font-size:.875rem;color:#71818b}.separator{padding:0 9px;color:#c1cbd0}.actions{gap:10px}
.portfolio-viewbar{display:flex;justify-content:space-between;gap:12px;margin:0 0 22px;align-items:center}.segmented{background:#e9eef0;border-radius:8px;padding:4px;gap:2px}.segmented button{font-size:.875rem;color:#657a85;padding:7px 12px;min-height:34px;font-weight:500;white-space:nowrap}.segmented button.active{color:#293f4a;box-shadow:0 1px 4px #253c4b15;background:white}.filter-count{font-size:.75rem;min-width:17px;padding:1px 4px;border-radius:4px;background:#dae2e6;color:#667c87}.active .filter-count{background:#eef2f3;color:#3b545f}.web-search{display:flex;align-items:center;gap:9px;background:white;border:1px solid var(--line);border-radius:7px;padding:0 12px;max-width:250px;min-height:42px;color:#8b9aa3}.web-search input{width:100%;min-width:110px;border:0;outline:0;background:none;font-size:.875rem;color:var(--ink);padding:10px 0}.web-search:focus-within{outline:2px solid #8cb8c8}.web-search .wi{width:16px}
.kpis{gap:17px;margin-bottom:25px}.kpi{border-radius:10px;padding:22px 23px;box-shadow:none;overflow:hidden}.kpi:before{display:none}.kpi .label{font-size:.75rem;letter-spacing:.9px;display:flex;justify-content:space-between;align-items:center;color:#73858e;line-height:1.5;min-height:18px}.kpi .label .wi{width:17px;height:17px;color:#90a2ad}.kpi .value{font-size:2rem;font-weight:600;letter-spacing:-1.2px;margin:17px 0 13px;line-height:1.1}.kpi .note{font-size:.75rem;line-height:1.6;color:#7b8b94}.kpi .note span{white-space:nowrap}.kpi.dark{color:white;background:var(--deep);border-color:var(--deep)}.kpi.dark .label{color:#c2d2da}.kpi.dark .note{color:#afc1cb}.kpi.dark .note span{display:block;font-size:.75rem;color:#8ba4b2}.kpi.dark .label .wi{color:#b1c4cf}.kpi.dark .value{font-size:2.25rem}.card-accent{position:absolute;width:90px;height:3px;background:var(--terracotta);bottom:0;left:23px}.metric-with-ring{display:flex;align-items:center;justify-content:space-between}.progress-ring{width:46px;height:46px;transform:rotate(-90deg);margin:8px 0}.progress-ring circle{fill:none;stroke:#ecf1f2;stroke-width:4}.progress-ring circle+circle{stroke:var(--teal);stroke-linecap:round}.attention-value{color:var(--terracotta);display:flex;align-items:baseline;gap:9px}.attention-value span{font-size:.875rem;color:#7a8b94;font-weight:400;letter-spacing:0}.view-context{display:flex;align-items:center;gap:11px;font-size:.75rem;color:#85929a;margin-bottom:13px;flex-wrap:wrap}.view-context>strong{color:#576e79;font-weight:600}.health-key{margin-left:auto;display:flex;gap:13px;font-size:.75rem}.health-key>span{display:flex;align-items:center;gap:7px}.rag{font-size:.875rem;gap:8px}.rag i{width:7px;height:7px;box-shadow:0 0 0 3px #00000003}
.panel{border-radius:10px;box-shadow:none}.panel-head{padding:21px 23px 17px}.panel-head p{font-size:.75rem;line-height:1.5}.panel-body{padding:0 23px 21px}.panel-head .text-button{font-size:.75rem;color:#70858f;font-weight:500}.section-count{font-size:.75rem;display:inline-block;padding:3px 6px;color:#71858e;background:#f0f3f4;border-radius:5px;margin-left:7px;vertical-align:middle}table{font-size:.875rem}th{font-size:.75rem;letter-spacing:.9px;line-height:1.55;background:#f8fafb;color:#82929c;font-weight:600;padding:14px 18px}td{padding:18px;border-bottom:1px solid #edf1f3;line-height:1.55}.portfolio-projects .table-wrap{max-height:none}.portfolio-projects td{padding-top:21px;padding-bottom:21px;font-size:.875rem}.portfolio-projects td.title{max-width:350px;min-width:250px}.project-cell{display:flex;align-items:center;gap:12px}.project-monogram{display:flex;width:38px;height:40px;flex-shrink:0;align-items:center;justify-content:center;background:#edf2f4;color:#607a89;border-radius:7px;font-size:.75rem;letter-spacing:.5px;font-weight:600}.project-link{font-size:.875rem;min-height:0;line-height:1.45;font-weight:600;text-align:left;display:inline}.project-code{letter-spacing:.25px;color:#84949d}.secondary{font-size:.75rem;color:var(--muted);display:block;margin-top:6px}.portfolio-projects .secondary{font-size:.75rem;font-weight:400;margin-top:6px}.demo-tag{font-size:.75rem;color:#8b795a;background:#f4f0e9;padding:2px 4px;border-radius:3px;margin-left:4px}.stage-label{font-size:.75rem;white-space:nowrap}.financial-value{font-weight:550;white-space:nowrap}.progress-cell{min-width:97px}.progress{height:4px;margin-top:9px;min-width:63px;max-width:96px;float:none;margin-left:auto}.progress span{background:var(--teal)}.open-project{height:29px;width:29px;min-height:29px;padding:5px;border:0;background:#f3f6f7;border-radius:6px}.open-project:hover{background:#e3ecef}.open-project .wi{width:16px;height:16px}.portfolio-bottom{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:20px;margin-top:23px}.web-timeline{min-width:500px;margin-top:10px}.portfolio-programme .panel-body{overflow:auto;padding-right:35px}.timeline-ticks,.timeline-row{display:grid;grid-template-columns:155px 1fr}.timeline-ticks{height:33px;font-size:.75rem;color:#8b9aa2}.timeline-ticks>div{position:relative;margin-right:10px}.timeline-ticks>div>span{position:absolute;white-space:nowrap;transform:translateX(-50%)}.timeline-ticks>div>span:first-child{transform:none}.timeline-ticks>div>span:last-child{transform:translateX(-100%)}.timeline-row{min-height:71px}.timeline-project{text-align:left;padding:8px 15px 8px 0;display:block;min-width:0;border:0;background:none}.timeline-project strong{display:block;font-size:.75rem;font-weight:600}.timeline-project span{display:block;color:#8998a0;font-size:.75rem;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px}.phase-track{position:relative;background:repeating-linear-gradient(to right,#edf1f3 0,#edf1f3 1px,transparent 1px,transparent 25%);margin-right:10px}.phase-segment{min-height:14px;position:absolute;top:27px;height:18px;padding:0;border:none;border-radius:3px;font-size:.75rem;overflow:hidden;color:#fff;white-space:nowrap;background:#9cabb3;line-height:1}.phase-segment.green{background:#369787}.phase-segment.red{background:#c5757c}.phase-segment.amber{background:#c99850}.phase-segment.complete{background:#9cabb3}.phase-segment.pending{background:#d2dade}.phase-segment:hover{filter:brightness(.88);z-index:2}.portfolio-report-line{position:absolute;top:0;bottom:0;border-left:1px dashed #526875;pointer-events:none}.timeline-legend{border-top:1px solid #eef2f3;padding:15px 23px;display:flex;gap:18px;font-size:.75rem;color:#8998a0;flex-wrap:wrap}.timeline-legend>span{display:flex;align-items:center;gap:6px}.timeline-legend i{height:5px;width:14px;border-radius:2px}.attention-count{border:1px solid #ead5d0;border-radius:5px;color:#ac675a;font-size:.75rem;padding:3px 6px}.focus-panel .panel-body{padding-top:0}.focus-item{display:flex;align-items:flex-start;width:100%;border:0;background:none;border-radius:0;padding:14px 0;text-align:left;gap:10px;border-bottom:1px solid #edf1f3;justify-content:flex-start}.focus-item:last-child{border-bottom:0}.focus-dot{width:6px;height:6px;background:var(--amber);border-radius:50%;flex-shrink:0;margin-top:5px}.focus-dot.red{background:var(--red)}.focus-item>div{flex:1;min-width:0}.focus-code{display:block;font-size:.75rem;letter-spacing:.6px;color:#99a5ac;margin-bottom:5px}.focus-item strong{font-size:.75rem;font-weight:500;display:block;line-height:1.5}.focus-item small{display:block;font-size:.75rem;font-weight:400;color:#8b989f;line-height:1.65;margin-top:5px}.focus-item>.wi{width:14px;margin-top:15px;color:#9cadb6}.focus-item:hover{background:#f8fafb}.financial-section{margin-top:34px}.financial-section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.financial-section-head h2{font-size:1.2rem}.financial-section-head p{font-size:.75rem;color:#8b999f;margin:7px 0}.financial-section .panel-head{padding-top:20px}.workspace-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:21px;margin-top:30px;color:#99a7ae;font-size:.75rem}.workspace-footer span{display:flex;align-items:center;gap:7px}.workspace-footer .wi{width:12px;height:12px}
/* Retained project controls */
.notice{font-size:.875rem;line-height:1.65;border-radius:8px}.notice.warning{background:#fcf7ed;border-color:#ecdfc6;color:#8d713e}.notice button{font-size:.875rem}.exchange-panel{background:#f1f6f8;border-color:#c8d8e0;border-style:solid;box-shadow:none}.exchange-panel p,.exchange-panel small{font-size:.875rem}.notes,.steps{font-size:1rem;line-height:1.75}.field input,.field textarea,.field select{font-size:.9375rem;padding:12px}.field .hint{font-size:.75rem}label.field{font-size:.875rem}dialog{border-radius:12px}dialog h2{font-size:1.125rem}.modal-foot{gap:10px}input[readonly],.field input[readonly]{background:#edf0f2;color:#6d7f8b}.list-row{font-size:.875rem}.list-row small{font-size:.875rem}.badge{font-size:.75rem}button.tiny{font-size:.875rem;min-height:30px}.gantt-label .name{font-size:.875rem}.gantt-label small{font-size:.75rem}.gantt-month{font-size:.75rem}.gantt-label{padding-top:13px;padding-bottom:13px}.gantt-track{min-height:48px}.gantt-bar{top:12px}.gantt-baseline{top:35px}.gantt-head,.gantt-row{grid-template-columns:360px 1fr}.gantt-stage .gantt-bar{top:20px}.gantt-stage .gantt-label{background:#eaf0f3}.gantt-stage .gantt-track{background:#f4f7f9}.toolbar input{font-size:.875rem}.chart text{font-family:Inter,'Segoe UI',Arial,sans-serif}.legend{font-size:.875rem}.form-error{font-size:.875rem}.resource-row,.resource-project,.resource-group{font-size:.875rem}.table-wrap{max-width:100%}.settings-grid .panel-body>button{display:inline-flex}.settings-grid .panel{align-self:start}.panel-head p{line-height:1.5}.programme-detail,.programme-outline-note{font-size:.875rem}.programme-detail select{font-size:.875rem}.exchange-panel summary{font-size:.875rem}.grid{gap:22px}.text-button{display:inline;min-height:0}.panel-tools .icon{min-height:30px}.panel-tools .drag-handle{font-size:22px}
@media(min-width:1600px){main{padding:40px 44px}.portfolio-projects td{padding-top:24px;padding-bottom:24px}.portfolio-head h1{font-size:2.2rem}.web-timeline{margin:20px 0}.timeline-row{min-height:79px}}
@media(max-width:1250px){#sidebar{width:218px;padding-left:12px;padding-right:12px}#shell{margin-left:218px}#topbar{padding:0 25px;gap:13px}main{padding:28px 25px}.project-picker{max-width:210px}.crumb{font-size:.75rem}.profile-avatar{display:none}.portfolio-bottom{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr)}.portfolio-viewbar{flex-wrap:wrap}.web-search{max-width:none;flex:1}.kpi{padding:20px 17px}.kpi .value{font-size:1.8rem}.portfolio-projects table{min-width:925px}.save-state{display:none}.health-key{margin-left:0}.web-kpis{gap:12px}}
@media(max-width:1000px){#sidebar{width:200px}.nav{font-size:.875rem;padding:11px 9px;gap:9px}#shell{margin-left:200px}.brand img{width:160px}.brand-sub{letter-spacing:2px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-bottom{grid-template-columns:1fr}.page-head{align-items:flex-start}.page-head .actions{flex-shrink:0}#topbar .crumb{display:none}.segmented{max-width:100%;overflow:auto}.project-picker{max-width:360px;flex:1}#projectSwitch{max-width:100%}.top-spacer{display:none}.web-search{max-width:none}.financial-section-head{align-items:flex-start}}
@media(max-width:700px){#sidebar{width:242px;transform:translateX(-100%);transition:transform .2s;box-shadow:12px 0 50px #233c481f;z-index:11}.navigation-open #sidebar{transform:translateX(0)}#shell{margin-left:0}#topbar{padding:0 14px;height:65px;gap:10px}.mobile-menu{display:inline-flex;min-width:30px;padding:5px!important}.report-button span{display:none}.report-button{padding:8px}.project-picker{max-width:none;min-width:0}.project-picker select{font-size:.75rem}.page-head{flex-direction:column;gap:17px;align-items:flex-start}main{padding:23px 17px}.page-head h1{font-size:1.8rem}.page-head .actions{width:100%;display:flex}.page-head .actions button{flex:1}.kpi{padding:18px 15px}.kpi .value,.kpi.dark .value{font-size:1.8rem}.kpi .label{font-size:.75rem}.kpi .label .wi{display:none}.kpi .note{font-size:.75rem}.progress-ring{width:36px}.kpis{gap:11px}.portfolio-viewbar{gap:12px}.segmented{width:100%;white-space:nowrap;overflow-x:auto}.segmented button{font-size:.75rem;padding:7px 9px}.web-search{width:100%;flex:auto}.view-context{font-size:.75rem;line-height:1.5}.health-key{display:flex;width:100%;gap:12px}.panel-head{padding:18px}.panel-body{padding:0 18px 20px}.panel-head h2{font-size:.9375rem}.portfolio-projects .panel-head .text-button{font-size:.75rem}.panel-head .wi{width:14px}.portfolio-bottom{gap:18px;margin-top:18px}.financial-section-head{flex-direction:column}.financial-section-head button{font-size:.875rem}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.exchange-panel{flex-direction:column;align-items:flex-start;padding:17px}.exchange-panel .actions{width:100%;flex-wrap:wrap}.exchange-panel button{flex:1}dialog{width:calc(100vw - 24px);max-height:94dvh}.modal-content{padding:18px}.modal-head,.modal-foot{padding:18px}.workspace-footer{font-size:.75rem;gap:15px}.workspace-footer span{max-width:55%}.notice{font-size:.875rem}.settings-grid{grid-template-columns:1fr}.toolbar input{min-width:150px;flex:1}.legend{font-size:.75rem;gap:9px}.gantt-inner{min-width:1000px}.profile-avatar{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.portfolio-viewbar,.workspace-footer,.mobile-menu{display:none!important}}
.annual-payment-chart{padding:16px 0 20px}.annual-payment-chart h3{font-size:.875rem;font-weight:600}.annual-payment-chart .chart-note{font-size:.75rem;color:var(--muted);line-height:1.7}.annual-payment-chart .chart{min-width:600px}.annual-payment-chart{overflow:auto}.fy-kpis .value{font-size:1.625rem}.fy-selector{font-size:.875rem}.chart-note{line-height:1.6;font-size:.875rem}.view-context .rag{font-size:.75rem}.finance-summary-note{font-size:.875rem}

.sidebar-close{display:none}@media(max-width:700px){.sidebar-close{display:flex;position:absolute;right:8px;top:5px;background:transparent;border:0;color:#dce5e9;font-size:22px;min-height:28px;padding:0 6px}}
/* Keep wide sections inside a native two-axis scroll region, including on iOS. */
#shell,main,.panel-body,.dashboard-grid,.grid>.panel{min-width:0}
.web-scroll-region{width:100%;max-width:100%;min-width:0;overflow:auto}
.web-scroll-region>table{min-width:600px}
.web-scroll-region>.summary-programme{min-width:650px}
.web-scrollable{min-width:0;max-width:100%;overflow:auto;touch-action:auto;-webkit-overflow-scrolling:touch;scrollbar-width:auto;scrollbar-color:#8da0aa #edf2f4}
.web-scrollable::-webkit-scrollbar{height:10px;width:10px}
.web-scrollable::-webkit-scrollbar-thumb{background:#8da0aa;border:2px solid #edf2f4;border-radius:8px}
.web-scrollable::-webkit-scrollbar-track{background:#edf2f4}
.web-scrollable:focus-visible{outline:2px solid #78a5b9;outline-offset:-2px}
.web-scroll-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0 10px;color:#71838c;font-size:.75rem}
.web-scroll-controls[hidden]{display:none!important}
.panel>.web-scroll-controls{padding:8px 18px 10px}
.web-scroll-buttons{display:flex;gap:7px}
.web-scroll-buttons button{min-width:40px;min-height:34px;padding:4px 10px;font-size:1.125rem;font-weight:500;background:#f3f6f8;border-color:#dce5e9}
.web-scroll-buttons button:disabled{opacity:.35;cursor:default}
.gantt-bar{touch-action:auto}
@media(hover:none),(pointer:coarse){
 .gantt-bar{cursor:default}
 .panel-tools .drag-handle{display:none}
 .web-scroll-buttons button{min-width:44px;min-height:44px}
}
@media(max-width:700px){
 .panel-tools [data-action=expand]{display:none}
 .panel-head>div:first-child{min-width:0}
 .panel-tools{flex-shrink:0}
}
@media print{
 .web-scroll-controls{display:none!important}
 .web-scrollable,.web-scroll-region{overflow:visible!important;max-height:none!important}
}
.demo-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 38px;background:#eaf1f4;border-bottom:1px solid #d6e2e8;color:#49616e;font-size:.8125rem}.demo-banner>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.demo-banner strong{font-size:.75rem;letter-spacing:.3px}.demo-banner button{font-size:.75rem;min-height:32px;padding:5px 10px;white-space:nowrap;background:#fff}.demo-banner span{color:#6b818c}@media(max-width:700px){.demo-banner{padding:10px 17px;font-size:.75rem}.demo-banner>div{gap:3px;display:grid}.demo-banner button{min-height:38px}}@media print{.demo-banner{display:none!important}}

/* V11 — more engaging management home and tablet-first Actions & Risks */
.portfolio-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:26px;align-items:end;min-height:190px;margin:-30px -32px 22px;padding:32px 34px 28px;color:#fff;overflow:hidden;background:linear-gradient(90deg,rgba(8,29,55,.96),rgba(8,29,55,.79) 58%,rgba(8,29,55,.58)),url('/login-bg.jpg') center 55%/cover no-repeat;border-bottom:1px solid #173d5c}
.portfolio-hero:after{content:'';position:absolute;left:0;right:0;bottom:17px;height:2px;opacity:.85;background:linear-gradient(90deg,transparent 0 8%,var(--teal) 8% 22%,transparent 22% 34%,var(--blue) 34% 55%,transparent 55% 68%,var(--teal) 68% 82%,transparent 82%)}
.portfolio-hero-copy,.portfolio-hero-meta,.portfolio-hero-actions{position:relative;z-index:1}.hero-kicker{font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:#a8e9df;font-weight:700;margin-bottom:8px}.portfolio-hero h1{font-size:2.35rem;letter-spacing:-1.1px;margin:0 0 5px;color:#fff}.portfolio-hero-copy>p{margin:0;color:#d5e1e7;font-size:1rem}.hero-flow{display:flex;align-items:center;gap:11px;margin-top:16px;font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase}.hero-flow b{color:#22d8c2;font-size:1.05rem}.portfolio-hero-meta{display:grid;gap:3px;padding:12px 16px;border:1px solid #ffffff26;border-radius:10px;background:#071d35aa;backdrop-filter:blur(5px);min-width:165px}.portfolio-hero-meta span,.portfolio-hero-meta small{font-size:.7rem;color:#b9cbd6}.portfolio-hero-meta strong{font-size:1rem}.portfolio-hero-actions{display:flex;gap:8px}.portfolio-hero-actions button{border-color:#ffffff3d;background:#ffffff10;color:#fff}.portfolio-hero-actions button.primary{border-color:var(--blue);background:var(--blue)}
.portfolio-kpi-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.dashboard-kpi{display:flex;align-items:center;gap:13px;padding:17px 15px;border-radius:10px}.dashboard-kpi:before{display:none}.dashboard-kpi .value{font-size:1.65rem;margin:2px 0 3px}.dashboard-kpi .label{min-height:0}.dashboard-kpi .note{font-size:.7rem}.kpi-icon{display:grid;place-items:center;width:39px;height:39px;flex:0 0 39px;border-radius:50%;background:#eaf3ff;color:#287dde}.kpi-icon.teal{background:#e8faf7;color:var(--teal)}.kpi-icon.risk{background:#fff0f0;color:var(--red)}.kpi-icon.money{background:#eef2f7;color:#486576}.kpi-icon .wi{width:20px;height:20px}
.dashboard-viewbar{margin-bottom:16px}.dashboard-view-context{display:flex;align-items:center;gap:10px;margin-left:auto;color:#7e929d;font-size:.74rem;white-space:nowrap}.dashboard-view-context strong{color:#415b68}.dashboard-view-context .rag{gap:4px}
.portfolio-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.85fr);gap:16px;align-items:start}.dashboard-project-register{grid-column:1}.dashboard-map-card{grid-column:2}.dashboard-programme-card{grid-column:1}.dashboard-pulse-card{grid-column:2}.dashboard-recent-card{grid-column:1}.dashboard-quick-card{grid-column:2}.dashboard-project-register .table-wrap{max-height:430px}.dashboard-project-register td{padding-top:14px;padding-bottom:14px}.dashboard-project-register table{font-size:.78rem}.dashboard-project-register th{padding:11px 12px}.dashboard-project-register td{padding-left:12px;padding-right:12px}.dashboard-project-register td.title{min-width:210px}
.dashboard-map-card .panel-body{padding:0}.portfolio-map-frame{position:relative;height:345px;background:#dce6eb}.portfolio-map-frame iframe{display:block;width:100%;height:100%;border:0}.map-caption{position:absolute;left:15px;right:15px;bottom:15px;padding:12px 14px;border:1px solid #ffffff66;border-radius:9px;background:#ffffffed;box-shadow:0 5px 18px #0b1f3b1f;display:grid;gap:3px}.map-caption strong{font-size:.8rem}.map-caption span{font-size:.7rem;color:#647984}.map-placeholder{height:345px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:28px;color:#708692;background:linear-gradient(135deg,#eff5f7,#f9fbfc)}.map-placeholder .wi{width:38px;height:38px;color:var(--teal)}.map-placeholder strong{color:#334d5a}.map-placeholder span{max-width:260px;font-size:.78rem;line-height:1.5}
.dashboard-programme-card .panel-body{overflow:auto}.dashboard-programme-card .web-timeline{min-width:620px}.pulse-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.pulse-metrics>div{display:grid;gap:4px;padding:13px;border:1px solid #e4eaed;border-radius:9px;background:#f8fafb}.pulse-number{font-size:1.5rem;font-weight:700;color:#233b49}.pulse-number.warn{color:var(--red)}.pulse-metrics span:last-child{font-size:.7rem;color:#778b95;line-height:1.4}.wide-action{width:100%;margin-top:8px;text-align:left;display:flex;justify-content:space-between}.recent-project-list{padding-top:0}.recent-project{width:100%;display:grid;grid-template-columns:8px minmax(0,1fr) auto 18px;align-items:center;gap:10px;text-align:left;border:0;border-bottom:1px solid #edf1f3;border-radius:0;padding:12px 0;background:transparent}.recent-project:last-child{border-bottom:0}.recent-project:hover{background:#f8fafb}.recent-project .wi{width:14px}.recent-dot{width:7px;height:7px;border-radius:50%;background:var(--teal)}.recent-project strong,.recent-project small{display:block}.recent-project strong{font-size:.75rem}.recent-project small{font-size:.72rem;color:#7d8f99;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-date{font-size:.7rem;color:#7d8f99}.quick-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-action{min-height:74px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;text-align:center}.quick-action .wi{width:19px;height:19px}.quick-action span{font-size:.72rem}.workspace-footer{margin-top:20px}

.action-risk-kpis{margin-bottom:17px}.action-risk-kpis .kpi{padding:17px 19px}.action-risk-kpis .kpi .value{font-size:1.75rem}.action-risk-shell{overflow:visible}.action-risk-toolbar{display:grid;grid-template-columns:minmax(230px,1fr) auto auto;gap:10px;align-items:center;padding:14px;border-bottom:1px solid var(--line);background:#fbfcfd;border-radius:10px 10px 0 0}.ar-search{display:flex;align-items:center;gap:9px;min-width:0;padding:0 12px;border:1px solid #dce5e9;border-radius:8px;background:#fff}.ar-search .wi{width:16px;color:#7f929c;flex:0 0 auto}.ar-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;padding:11px 0;color:var(--ink)}.action-risk-type,.action-risk-state{white-space:nowrap}.action-risk-table-wrap{max-height:none;overflow:auto;-webkit-overflow-scrolling:touch}.action-risk-table{min-width:900px;table-layout:fixed;font-size:.78rem}.action-risk-table th{padding:11px 10px}.action-risk-table td{padding:12px 10px;line-height:1.4}.action-risk-table th:nth-child(1){width:84px}.action-risk-table th:nth-child(2){width:82px}.action-risk-table th:nth-child(3){width:225px}.action-risk-table th:nth-child(4){width:118px}.action-risk-table th:nth-child(5){width:122px}.action-risk-table th:nth-child(6){width:100px}.action-risk-table th:nth-child(7){width:112px}.action-risk-table th:nth-child(9){width:50px}.action-risk-table .ar-name{font-weight:600;white-space:normal}.action-risk-table .ar-name button{white-space:normal}.action-risk-table .ar-next{white-space:normal}.type-pill,.priority-pill,.status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:99px;padding:4px 8px;font-size:.68rem;font-weight:700;white-space:nowrap}.type-pill.actions{background:#e8f5ff;color:#216fa6}.type-pill.risks{background:#fff1e7;color:#a45d1e}.priority-pill.high{background:#fdeced;color:#c33e49}.priority-pill.medium{background:#fff3d9;color:#a96e0a}.priority-pill.low{background:#e9f2fb;color:#3976a6}.status-pill.open{background:#e9f8f3;color:#15806f}.status-pill.progress{background:#eaf2ff;color:#2b6fce}.status-pill.closed{background:#edf1f3;color:#6f818a}.status-pill.neutral{background:#f3f4f5;color:#687982}.overdue-date{color:var(--red);font-weight:700}.action-risk-foot{display:flex;justify-content:space-between;gap:16px;padding:11px 14px;color:#7b8e97;font-size:.7rem;border-top:1px solid #edf1f3;background:#fafcfd}.action-risk-foot span:last-child{text-align:right}.action-risk-table .issue-link{min-height:0;padding:0;border:0;background:transparent;text-align:left;font-weight:600;color:var(--ink)}.action-risk-table .issue-link:hover{color:var(--blue)}

@media(max-width:1250px){
 .portfolio-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(290px,.75fr)}
 .action-risk-toolbar{grid-template-columns:1fr 1fr}.ar-search{grid-column:1/-1}.action-risk-table{min-width:790px}.action-risk-table .ar-next{display:none}.action-risk-table th:nth-child(8){display:none}
}
@media(min-width:701px) and (max-width:1100px){
 body[data-page="actions"] main{padding:22px 18px 34px}.action-risk-head .page-head{margin-bottom:18px}.action-risk-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.action-risk-kpis .kpi{padding:13px 12px}.action-risk-kpis .kpi .value{font-size:1.45rem}.action-risk-kpis .kpi .note{font-size:.68rem}.action-risk-shell{border-radius:10px}.action-risk-toolbar{grid-template-columns:minmax(210px,1fr) auto;gap:8px;padding:10px}.action-risk-state{grid-column:2}.action-risk-type{grid-column:1}.ar-search{grid-column:1/-1}.action-risk-table{min-width:735px}.action-risk-table th:nth-child(1){width:72px}.action-risk-table th:nth-child(2){width:75px}.action-risk-table th:nth-child(3){width:205px}.action-risk-table th:nth-child(4){width:110px}.action-risk-table th:nth-child(5){width:110px}.action-risk-table th:nth-child(6){width:94px}.action-risk-table th:nth-child(7){width:105px}.action-risk-foot span:last-child{display:none}
 .portfolio-hero{grid-template-columns:1fr auto;margin:-28px -25px 18px}.portfolio-hero-meta{display:none}.portfolio-hero-actions{align-self:center}.portfolio-dashboard-grid{grid-template-columns:1fr}.dashboard-project-register,.dashboard-map-card,.dashboard-programme-card,.dashboard-pulse-card,.dashboard-recent-card,.dashboard-quick-card{grid-column:1}.portfolio-map-frame,.map-placeholder{height:300px}
}
@media(max-width:700px){
 .portfolio-hero{grid-template-columns:1fr;margin:-23px -17px 15px;padding:25px 18px 28px;min-height:205px}.portfolio-hero h1{font-size:1.95rem}.portfolio-hero-copy>p{font-size:.88rem}.portfolio-hero-meta{display:none}.portfolio-hero-actions{width:100%;margin-top:5px}.portfolio-hero-actions button{flex:1}.portfolio-kpi-strip{grid-template-columns:1fr 1fr;gap:9px}.dashboard-kpi{padding:13px 11px;gap:9px}.dashboard-kpi .kpi-icon{display:none}.dashboard-kpi .value{font-size:1.45rem}.dashboard-kpi:last-child{grid-column:1/-1}.dashboard-viewbar{gap:9px}.dashboard-view-context{width:100%;margin-left:0;overflow:auto}.portfolio-dashboard-grid{grid-template-columns:minmax(0,1fr)}.dashboard-project-register,.dashboard-map-card,.dashboard-programme-card,.dashboard-pulse-card,.dashboard-recent-card,.dashboard-quick-card{grid-column:1}.portfolio-map-frame,.map-placeholder{height:260px}.pulse-metrics{grid-template-columns:1fr 1fr}.quick-action-grid{grid-template-columns:1fr 1fr}
 body[data-page="actions"] main{padding:18px 14px 92px}.action-risk-head .page-head{margin-bottom:14px}.action-risk-head .page-head .actions{display:grid;grid-template-columns:1fr 1fr}.action-risk-kpis{grid-template-columns:1fr 1fr;gap:9px}.action-risk-kpis .kpi{padding:13px}.action-risk-kpis .kpi .value{font-size:1.45rem}.action-risk-toolbar{grid-template-columns:1fr;padding:10px}.ar-search,.action-risk-type,.action-risk-state{grid-column:1;width:100%;overflow-x:auto}.action-risk-type,.action-risk-state{display:flex}.action-risk-table-wrap{overflow:auto;max-width:100%;border-top:1px solid #eef1f3}.action-risk-table{min-width:760px}.action-risk-table .ar-next{display:none}.action-risk-table th:nth-child(8){display:none}.action-risk-foot span:last-child{display:none}
}
@media print{.portfolio-hero-actions,.dashboard-viewbar,.dashboard-quick-card,.action-risk-toolbar,.action-risk-foot{display:none!important}.portfolio-hero{color:#111;background:#fff;margin:0;padding:0;min-height:0}.portfolio-hero h1{color:#111}.portfolio-dashboard-grid{display:block}.portfolio-dashboard-grid>.panel{margin-bottom:15px}.action-risk-table{min-width:0;width:100%}}
