:root{
  --navy-950:#061827;--navy-900:#0b2538;--navy-800:#123a53;--navy-700:#1a4f6c;
  --teal-700:#08766c;--teal-600:#0b8f82;--teal-500:#14a897;--teal-100:#dff5f1;
  --blue-600:#2468b4;--green-600:#17845b;--amber-600:#ac6a08;--red-600:#b83a3a;
  --ink:#172434;--muted:#66758a;--line:#dce5ed;--line-strong:#c8d4df;--surface:#fff;--surface-2:#f5f8fb;--bg:#eef3f7;
  --shadow:0 12px 36px rgba(11,37,56,.09);--radius:16px;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.fatal{padding:24px;background:#fff0f0;color:#8d2020}.mobile-only{display:none!important}
.login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(380px,.82fr);background:#fff}.login-visual{position:relative;overflow:hidden;padding:clamp(34px,5vw,76px);color:#fff;background:radial-gradient(circle at 15% 15%,rgba(20,168,151,.24),transparent 26%),radial-gradient(circle at 88% 82%,rgba(56,141,194,.26),transparent 30%),linear-gradient(145deg,var(--navy-950),var(--navy-800) 62%,#0b6b63);display:flex;flex-direction:column;justify-content:space-between}.login-visual:after{content:"";position:absolute;width:650px;height:650px;border-radius:50%;border:1px solid rgba(255,255,255,.11);right:-260px;top:8%;box-shadow:0 0 0 72px rgba(255,255,255,.03),0 0 0 145px rgba(255,255,255,.02)}.login-brand,.topbar-brand{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#1fc6b2,#3b91c7);color:#fff;font-weight:900;letter-spacing:-.04em;box-shadow:0 10px 26px rgba(0,0,0,.18)}.brand-mark.small{width:38px;height:38px;border-radius:11px;font-size:12px}.login-brand strong,.topbar-brand strong{display:block;letter-spacing:.13em}.login-brand small,.topbar-brand small{display:block;margin-top:3px;color:#bed1df;font-size:11px}.login-copy{position:relative;z-index:1;max-width:760px}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:900;color:var(--teal-600)}.eyebrow.light{color:#8be0d5}.login-copy h1{max-width:800px;margin:12px 0 24px;font-size:clamp(44px,6vw,80px);line-height:1.02;letter-spacing:-.05em}.login-copy p{max-width:710px;margin:0;color:#d3e1eb;font-size:clamp(17px,1.55vw,22px);line-height:1.62}.login-highlights{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.login-highlights div{padding:17px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.07);backdrop-filter:blur(8px)}.login-highlights strong{display:block;font-size:13px}.login-highlights span{display:block;margin-top:6px;color:#c1d4e0;font-size:11px;line-height:1.5}.login-panel{display:grid;place-items:center;padding:28px;background:#f6f8fb}.login-card{width:min(440px,100%);padding:30px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.login-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--teal-100);font-size:23px}.login-card h2{margin:18px 0 8px;font-size:29px;letter-spacing:-.03em}.login-card>p{margin:0 0 23px;color:var(--muted);line-height:1.6}.login-card code{padding:2px 5px;border-radius:5px;background:#edf3f6}.demo-credentials{display:grid;gap:5px;margin-top:18px;padding:13px 14px;border:1px solid #f0d4a4;border-radius:11px;background:#fff8eb;color:#7c5115;font-size:11px;line-height:1.45}.demo-credentials strong{font-size:12px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.field>span,.field label{font-size:11px;font-weight:850;color:#405167}.field input,.field select,.field textarea,.toolbar input,.toolbar select{width:100%;padding:11px 12px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--ink);outline:none;transition:.15s}.field input:focus,.field select:focus,.field textarea:focus,.toolbar input:focus,.toolbar select:focus{border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(20,168,151,.13)}.field textarea{min-height:92px;resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.span-2{grid-column:span 2}.checkbox{display:flex;align-items:center;gap:8px}.checkbox input{width:auto}
.btn{border:0;border-radius:10px;padding:11px 15px;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.16s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--teal-700),var(--teal-600));color:#fff;box-shadow:0 7px 18px rgba(8,118,108,.19)}.btn.secondary{background:#e8eef3;color:#31465b}.btn.outline{border:1px solid var(--line-strong);background:#fff;color:#35495e}.btn.danger{background:#fff0f0;color:#a52d2d}.btn.compact{padding:8px 11px;font-size:12px}.btn.wide{width:100%}.icon-button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:10px;background:#eaf0f4;color:#30485d}.danger-text{color:var(--red-600)!important}.alert{padding:11px 12px;border-radius:10px;margin:0 0 14px;font-size:12px;line-height:1.5}.alert.danger{border:1px solid #efc2c2;background:#fff1f1;color:#9f2929}.alert.info{border:1px solid #bddced;background:#edf8ff;color:#245a79}.alert.success{border:1px solid #b9e0cc;background:#ecf9f2;color:#1f6b49}
.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:40;height:72px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(10px);display:flex;align-items:center;padding:0 24px;gap:25px}.topbar-brand{min-width:205px}.topbar-brand small{color:var(--muted)}.main-nav{display:flex;align-items:stretch;align-self:stretch;gap:2px;flex:1;overflow-x:auto}.main-nav button{white-space:nowrap;border:0;border-bottom:3px solid transparent;background:transparent;padding:0 12px;color:#53647a;font-size:12px;font-weight:800}.main-nav button:hover{color:var(--teal-700);background:#f5fbfa}.main-nav button.active{color:var(--teal-700);border-bottom-color:var(--teal-600)}.topbar-actions{display:flex;align-items:center;gap:9px}.user-chip{display:flex;align-items:center;gap:9px;padding:6px 10px 6px 7px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--navy-800),var(--teal-600));color:#fff;font-size:11px;font-weight:900}.user-chip strong,.user-chip small{display:block;text-align:left}.user-chip strong{font-size:11px}.user-chip small{margin-top:2px;color:var(--muted);font-size:9px}.dropdown{position:fixed;right:24px;top:66px;z-index:70;width:205px;padding:7px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.dropdown button{width:100%;border:0;border-radius:8px;background:transparent;padding:10px 11px;text-align:left;color:#374b61;font-size:12px;font-weight:750}.dropdown button:hover{background:#f1f5f8}.page-root{width:min(100% - 34px,1560px);margin:0 auto;padding:27px 0 42px;min-height:calc(100vh - 112px)}.footer{display:flex;justify-content:space-between;width:min(100% - 34px,1560px);margin:0 auto;padding:14px 0 24px;color:#7a8798;font-size:10px}
.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.page-title h1{margin:5px 0 6px;font-size:29px;letter-spacing:-.035em}.page-title p{margin:0;max-width:780px;color:var(--muted);font-size:13px;line-height:1.55}.header-actions,.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.toolbar{justify-content:space-between;margin-bottom:15px}.toolbar-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar input{min-width:220px}.toolbar select{width:auto;min-width:145px}.grid{display:grid;gap:15px}.kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:15px}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 6px 22px rgba(11,37,56,.045)}.kpi-card{min-height:128px;padding:17px;display:flex;flex-direction:column;justify-content:space-between}.kpi-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.kpi-label{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.045em}.kpi-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:var(--teal-100);font-size:16px}.kpi-value{font-size:25px;font-weight:900;letter-spacing:-.04em}.kpi-meta{color:var(--muted);font-size:10px;line-height:1.4}.positive{color:var(--green-600)!important}.negative{color:var(--red-600)!important}.warning{color:var(--amber-600)!important}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr)}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{padding:18px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-header h2{margin:0;font-size:15px}.panel-header p{margin:4px 0 0;color:var(--muted);font-size:10px}.budget-list,.status-list,.activity-list{display:flex;flex-direction:column;gap:11px}.budget-line{display:grid;grid-template-columns:145px 1fr 95px;align-items:center;gap:11px;font-size:11px}.bar-track{height:9px;border-radius:999px;background:#e7edf3;overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal-700),#48a5c4)}.budget-line strong{text-align:right;font-variant-numeric:tabular-nums}.status-item,.activity-item{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:12px;border:1px solid #e9eef3;border-radius:11px;min-width:0;flex-wrap:wrap}.status-item>div:first-child,.activity-item>div:first-child{flex:1 1 160px;min-width:0}.status-item strong,.activity-item strong{display:block;font-size:11px;word-break:break-word;overflow-wrap:anywhere}.status-item small,.activity-item small{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.45;word-break:break-word;overflow-wrap:anywhere;white-space:normal}.badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;flex-shrink:0}.badge.green{background:#e7f6ef;color:#14734d}.badge.amber{background:#fff4df;color:#925b0b}.badge.red{background:#fff0f0;color:#a52e2e}.badge.blue{background:#eaf2ff;color:#255b9d}.badge.gray{background:#edf1f4;color:#576678}.badge.teal{background:#e2f6f2;color:#08766c}.donut-wrap{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center}.donut{--value:70;position:relative;width:168px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--teal-600) calc(var(--value)*1%),#e7edf3 0);display:grid;place-items:center}.donut:before{content:"";width:116px;aspect-ratio:1;border-radius:50%;background:#fff}.donut-label{position:absolute;text-align:center}.donut-label strong{display:block;font-size:25px}.donut-label small{color:var(--muted);font-size:9px}.legend{display:flex;flex-direction:column;gap:9px}.legend-row{display:flex;justify-content:space-between;gap:18px;font-size:10px}.legend-row span:first-child:before{content:"";display:inline-block;width:8px;height:8px;border-radius:3px;background:var(--teal-600);margin-right:7px}.summary-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:19px 0;margin-bottom:15px;border-radius:var(--radius);background:linear-gradient(135deg,var(--navy-950),var(--navy-800));color:#fff}.summary-strip div{padding:2px 20px;border-right:1px solid rgba(255,255,255,.13)}.summary-strip div:last-child{border-right:0}.summary-strip small{display:block;color:#bfd2df;font-size:9px}.summary-strip strong{display:block;margin-top:7px;font-size:20px;word-break:break-word;overflow-wrap:anywhere}
.table-card{overflow:hidden}.table-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid var(--line)}.table-header strong{font-size:13px}.table-wrap{overflow:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;scrollbar-width:thin}table{width:100%;min-width:920px;border-collapse:collapse}th,td{padding:13px 15px;border-bottom:1px solid #eaf0f4;text-align:left;font-size:10px;vertical-align:middle}th{position:sticky;top:0;z-index:1;background:#f6f8fa;color:#56677c;text-transform:uppercase;letter-spacing:.065em;font-size:8px}td strong{font-size:10px}.amount{text-align:right!important;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.action-button{border:0;border-radius:8px;background:#ebf1f5;color:#395169;padding:7px 8px;font-size:9px;font-weight:850;white-space:nowrap}.action-button:hover{background:#dfe9ef}.progress-cell{display:flex;align-items:center;gap:8px}.progress-cell .bar-track{width:78px;height:7px}.empty-state{padding:55px 20px;text-align:center;color:var(--muted)}.empty-state strong{display:block;margin-bottom:6px;color:#405269}.tabs{display:flex;gap:5px;margin-bottom:15px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#fff;width:max-content;max-width:100%;overflow:auto}.tabs button{border:0;border-radius:8px;background:transparent;padding:8px 12px;color:#5a6a7e;font-size:10px;font-weight:850;white-space:nowrap}.tabs button.active{background:var(--navy-900);color:#fff}.timeline{overflow-x:auto;padding-bottom:8px}.timeline-grid{min-width:1100px}.timeline-head,.timeline-row{display:grid;grid-template-columns:240px repeat(12,1fr);align-items:center}.timeline-head{border-bottom:1px solid var(--line)}.timeline-head div{padding:10px 6px;color:var(--muted);font-size:8px;font-weight:850;text-align:center}.timeline-head div:first-child{text-align:left}.timeline-row{min-height:54px;border-bottom:1px solid #eaf0f4}.timeline-row>div:first-child{padding:10px 12px}.timeline-row strong{display:block;font-size:10px}.timeline-row small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.timeline-track{grid-column:2/14;position:relative;height:30px;margin:0 5px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(8.333% - 1px),#e9eef3 calc(8.333% - 1px),#e9eef3 8.333%)}.timeline-bar{position:absolute;top:7px;height:16px;border-radius:5px;background:linear-gradient(90deg,var(--teal-700),#49a8c7);min-width:10px}.timeline-bar.risk{background:linear-gradient(90deg,#c78117,#dda13f)}.timeline-bar.delayed{background:linear-gradient(90deg,#a83232,#d65a5a)}.comparison-bars{display:flex;flex-direction:column;gap:15px}.comparison-row{display:grid;grid-template-columns:130px 1fr 1fr 85px;gap:9px;align-items:center;font-size:10px}.compare-track{height:11px;border-radius:999px;background:#e7edf3;overflow:hidden}.compare-old{height:100%;background:#8fa5b7}.compare-new{height:100%;background:var(--teal-600)}.report-card{padding:19px;display:flex;flex-direction:column;min-height:185px}.report-card .report-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--teal-100);font-size:19px}.report-card h3{margin:16px 0 7px;font-size:15px}.report-card p{margin:0 0 18px;color:var(--muted);font-size:10px;line-height:1.55}.report-card .btn{margin-top:auto;align-self:flex-start}.profile-card{display:grid;grid-template-columns:220px 1fr;gap:22px;padding:22px}.profile-summary{text-align:center;padding:20px;border-radius:14px;background:linear-gradient(145deg,var(--navy-900),var(--navy-700));color:#fff}.profile-avatar{display:grid;place-items:center;width:82px;height:82px;margin:0 auto 14px;border-radius:24px;background:linear-gradient(135deg,#23c5b2,#4d9ac7);font-size:25px;font-weight:900}.profile-summary h2{margin:0;font-size:18px}.profile-summary p{margin:5px 0 15px;color:#c5d7e3;font-size:10px}.profile-details{display:grid;grid-template-columns:1fr 1fr;gap:15px}.detail-box{padding:14px;border:1px solid var(--line);border-radius:11px}.detail-box small{display:block;color:var(--muted);font-size:9px}.detail-box strong{display:block;margin-top:6px;font-size:11px}.metric-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:15px}.metric-mini div{padding:11px;border-radius:10px;background:rgba(255,255,255,.09)}.metric-mini strong{display:block;font-size:18px}.metric-mini small{color:#bdd1de;font-size:8px}
.modal-layer{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(4,19,31,.61);backdrop-filter:blur(3px)}.modal-card{width:min(760px,100%);max-height:92vh;overflow:auto;border-radius:19px;background:#fff;box-shadow:0 34px 90px rgba(0,0,0,.32)}.modal-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);background:#fff}.modal-header h2{margin:4px 0 0;font-size:18px}.modal-content{padding:20px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.toast{position:fixed;right:20px;bottom:20px;z-index:130;max-width:360px;padding:13px 16px;border-radius:11px;background:var(--navy-900);color:#fff;box-shadow:var(--shadow);font-size:11px;line-height:1.45}.toast.error{background:#9f2929}.toast.success{background:#146b4a}.loading{display:grid;place-items:center;min-height:360px;color:var(--muted)}.spinner{width:28px;height:28px;border:3px solid #dbe6ec;border-top-color:var(--teal-600);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:10px}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1250px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.main-nav button{padding:0 9px}.topbar-brand{min-width:auto}.user-chip span:last-child{display:none}}
@media(max-width:980px){.login-screen{grid-template-columns:1fr}.login-visual{min-height:46vh}.login-highlights{display:none}.dashboard-grid,.two-col,.three-col{grid-template-columns:1fr}.summary-strip{grid-template-columns:repeat(2,1fr)}.summary-strip div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.summary-strip div:last-child{grid-column:span 2}.profile-card{grid-template-columns:1fr}.topbar{gap:10px}.mobile-only{display:grid!important}.main-nav{position:fixed;left:14px;right:14px;top:78px;z-index:60;height:auto;display:none;flex-direction:column;align-items:stretch;padding:8px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav button{padding:11px;border:0;border-radius:8px;text-align:left}.main-nav button.active{background:#e9f6f3}.topbar-actions{margin-left:auto}}
@media(max-width:720px){.login-visual{padding:30px 24px}.login-copy h1{font-size:42px}.login-panel{padding:18px}.topbar{padding:0 14px}.topbar-brand small{display:none}.page-root,.footer{width:min(100% - 22px,1560px)}.page-header{flex-direction:column}.header-actions{width:100%}.kpi-grid{grid-template-columns:repeat(2,1fr)}.field-row,.form-grid,.profile-details{grid-template-columns:1fr}.span-2{grid-column:auto}.toolbar{align-items:stretch}.toolbar-group{width:100%}.toolbar input,.toolbar select{min-width:0;flex:1}.budget-line{grid-template-columns:105px 1fr 70px}.donut-wrap{grid-template-columns:1fr;justify-items:center}.summary-strip{grid-template-columns:1fr}.summary-strip div,.summary-strip div:last-child{grid-column:auto}.footer{flex-direction:column;gap:5px}.comparison-row{grid-template-columns:90px 1fr 1fr 55px}.profile-card{padding:14px}}
@media(max-width:460px){.kpi-grid{grid-template-columns:1fr}.topbar-actions>.btn{display:none}.login-copy h1{font-size:36px}.login-visual{min-height:42vh}.page-title h1{font-size:25px}}
/* Responsive data grids — fit naturally without hiding content or shrinking text. */
@media(max-width:1024px){
  .governance-register table{--gw:1;min-width:1400px}
  .dashboard-delivery-table{min-width:1400px}
  .project-delivery-table{min-width:1100px}
  .executive-delivery-register table{min-width:1100px}
  .executive-attention-table table{min-width:980px}
}
@media(max-width:768px){
  .dashboard-scope-banner{grid-template-columns:1fr 1fr}
  .command-quality-panel .quality-grid{grid-template-columns:repeat(4,1fr)}
  .governance-register table{min-width:1100px}
  .governance-continuity table{min-width:900px}
  .dashboard-delivery-table{min-width:1100px}
  .project-delivery-table{min-width:980px}
  .priority-issues-table{min-width:900px}
  .department-portfolio-table{min-width:720px}
  .initiative-table{min-width:720px}
  .admin-user-table{min-width:760px}
  .import-table{min-width:600px}
}
/* Project Detail dialog — readable at every width, no horizontal overflow. */
@media(max-width:640px){
  .modal-content{padding:16px 14px}
  .modal-header{padding:14px 16px}
  .modal-header h2{font-size:16px;line-height:1.3;word-break:break-word}
  .modal-header p{font-size:11px;line-height:1.4}
  .summary-strip{gap:0}
  .summary-strip div{padding:14px 16px}
  .summary-strip small{font-size:10px}
  .summary-strip strong{font-size:18px;word-break:break-word}
  .detail-sections{gap:12px}
  .detail-sections section{padding:14px}
  .detail-box{padding:12px}
  .detail-box small{font-size:9px}
  .detail-box strong{font-size:12px;word-break:break-word;overflow-wrap:anywhere}
  .status-item,.activity-item{flex-direction:column;align-items:flex-start;gap:10px;padding:14px}
  .status-item>div:first-child,.activity-item>div:first-child{min-width:0;width:100%}
  .status-item strong,.activity-item strong{word-break:break-word;overflow-wrap:anywhere}
  .status-item small,.activity-item small{white-space:normal;word-break:break-word}
  .status-item .badge,.activity-item .badge{white-space:normal}
  .status-item .row-actions,.activity-item .row-actions{width:100%;flex-wrap:wrap;gap:6px}
  .action-button{min-height:36px;padding:8px 12px;font-size:10px}
  .grid.two-col{gap:16px}
  .profile-details{gap:12px}
}
/* Mobile: cards instead of horizontal scroll — every field stays visible, no text shrink. */
@media(max-width:640px){
  /* All data tables become cards — except project register and matrices that stay scrollable for good reason */
  .table-wrap table{width:100%!important;min-width:0!important}
  .table-wrap table thead{display:none!important}
  .table-wrap table,.table-wrap tbody{display:block!important}
  .table-wrap tbody tr{display:block!important;margin:0 10px 10px;border:1px solid #e3ebf0;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 2px 10px rgba(11,37,56,.04)}
  .table-wrap tbody tr:last-child{margin-bottom:0}
  .table-wrap td{display:flex!important;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 14px;border:0;border-bottom:1px solid #f1f5f8;white-space:normal!important;text-align:right}
  .table-wrap td:last-child{border-bottom:0}
  .table-wrap td::before{content:attr(data-label);flex:0 0 38%;color:#6b7f94;font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;text-align:left;line-height:1.4;padding-top:1px}
  .table-wrap td[data-label=""]::before{display:none}
  .table-wrap td>*{flex:1;text-align:right;min-width:0;word-break:break-word}
  .table-wrap td .row-actions{justify-content:flex-end}
  .table-wrap td .progress-cell{justify-content:flex-end}
  .table-wrap .empty-state{border:0;box-shadow:none}
  /* Exceptions — delivery register and RBAC matrix keep horizontal scroll; it's the intended UX for those dense grids */
  .project-register table,.rbac-matrix-table{width:100%!important;min-width:760px!important}
  .project-register thead,.rbac-matrix-table thead{display:table-header-group!important}
  .project-register table,.project-register tbody,.rbac-matrix-table,.rbac-matrix-table tbody{display:table!important}
  .project-register tbody tr,.rbac-matrix-table tbody tr{display:table-row!important;margin:0;border:0;border-radius:0;box-shadow:none}
  .project-register td,.rbac-matrix-table td{display:table-cell!important;padding:14px 15px;white-space:nowrap!important}
  .project-register td::before,.rbac-matrix-table td::before{display:none!important}
  .project-register td>*,.rbac-matrix-table td>*{text-align:left}
  .project-register .table-wrap,.rbac-matrix-panel .table-wrap{overflow-x:auto}
}
@media print{.topbar,.footer,.header-actions,.toolbar,.tabs,.row-actions,.btn{display:none!important}.page-root{width:100%;padding:0}.card{box-shadow:none;break-inside:avoid}.page-header{margin-bottom:12px}body{background:#fff}}

/* HOME31 V7.9.4.9 comprehensive initiative form */
.modal-card.comprehensive-modal{width:min(1180px,96vw);max-height:95vh}.initiative-comprehensive-form{min-width:0}.initiative-draft-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;margin-bottom:14px;border:1px solid #b9ded7;border-radius:12px;background:#edf9f6}.initiative-draft-bar>div:first-child{display:flex;flex-direction:column;gap:3px}.initiative-draft-bar strong{font-size:11px}.initiative-draft-bar span{color:var(--muted);font-size:9px}.initiative-draft-bar>div:last-child{display:flex;gap:7px;flex-wrap:wrap}.initiative-stepper{display:grid;grid-template-columns:repeat(7,minmax(95px,1fr));gap:6px;margin:0 0 14px;overflow-x:auto}.initiative-stepper button{min-height:52px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#f7f9fb;color:#5b6b7e;font-size:9px;font-weight:850;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.initiative-stepper button span{display:grid;place-items:center;width:21px;height:21px;border-radius:999px;background:#e4ebf0;color:#4d6174}.initiative-stepper button.active{border-color:var(--teal-600);background:#e8f7f4;color:var(--teal-700)}.initiative-stepper button.active span{background:var(--teal-700);color:#fff}.form-completion{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:14px;margin-bottom:18px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fff}.form-completion>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:10px}.form-completion strong{color:var(--teal-700)}.initiative-form-step{display:none}.initiative-form-step.active{display:block}.form-section-heading{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.form-section-heading h3{margin:5px 0 5px;font-size:17px}.form-section-heading p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.field small{color:var(--muted);font-size:8px;line-height:1.45}.initiative-checkbox{min-height:46px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f7f9fb}.initiative-checkbox span{font-size:10px;font-weight:750;color:#405167}.budget-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}.budget-summary div{padding:13px;border:1px solid var(--line);border-radius:10px;background:#f7f9fb}.budget-summary small{display:block;color:var(--muted);font-size:8px}.budget-summary strong{display:block;margin-top:6px;font-size:13px}.evidence-summary{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:14px;padding:13px 14px;margin-bottom:14px;border-radius:11px;background:linear-gradient(135deg,var(--navy-900),var(--navy-800));color:#fff}.evidence-summary>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:10px}.evidence-summary .bar-track{background:rgba(255,255,255,.2)}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.evidence-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.evidence-item span{font-size:9px;font-weight:800;color:#405167}.evidence-item select{width:170px;max-width:45%;padding:9px;border:1px solid var(--line-strong);border-radius:8px;background:#fff}.evidence-notes{margin-top:13px}.review-summary{margin-bottom:15px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.review-grid article{padding:15px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.review-grid small,.review-grid span{display:block;color:var(--muted);font-size:8px}.review-grid strong{display:block;margin:7px 0 5px;font-size:12px}.declaration{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #b9ded7;border-radius:11px;background:#edf9f6}.declaration input{margin-top:2px}.declaration span{font-size:10px;line-height:1.5}.form-navigation{position:sticky;bottom:-20px;z-index:3;margin:18px -20px -20px;padding:13px 20px;border-top:1px solid var(--line);background:#fff;align-items:center}.initiative-current-step{font-size:9px;color:var(--muted);font-weight:800}.navigation-spacer{flex:1}.detail-sections{display:grid;gap:14px}.detail-sections section{padding:16px;border:1px solid var(--line);border-radius:13px}.detail-sections h3{margin:0 0 12px;font-size:14px}
@media(max-width:900px){.initiative-stepper{grid-template-columns:repeat(7,130px)}.review-grid{grid-template-columns:1fr 1fr}.budget-summary{grid-template-columns:1fr 1fr}.evidence-grid{grid-template-columns:1fr}.evidence-item select{max-width:50%}}
@media(max-width:620px){.modal-layer{padding:8px}.modal-card.comprehensive-modal{width:100%;max-height:98vh;border-radius:13px}.initiative-stepper{grid-template-columns:repeat(7,120px)}.form-completion,.evidence-summary{grid-template-columns:1fr}.review-grid,.budget-summary{grid-template-columns:1fr}.form-navigation{flex-wrap:wrap}.navigation-spacer{display:none}.initiative-draft-bar{align-items:flex-start;flex-direction:column}}

/* V2: initiative-to-project-management reflection */
.delivery-scope-note{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 15px;padding:12px 14px;border:1px solid #bfe2dc;border-radius:12px;background:#eefaf7;color:#31566a;font-size:10px}.delivery-scope-note strong{color:var(--teal-700);font-size:11px}.next-action-cell{display:block;min-width:160px;max-width:260px;white-space:normal;line-height:1.45;color:#4c5f73}.unscheduled-delivery{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.unscheduled-delivery strong{width:100%;font-size:11px}.unscheduled-delivery span{padding:6px 8px;border-radius:8px;background:#fff4df;color:#85580e;font-size:9px}@media(max-width:720px){.delivery-scope-note{align-items:flex-start;flex-direction:column}}

.delivery-year-help{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 15px;padding:14px 16px;border:1px solid #edcf91;border-radius:14px;background:#fff8e8;color:#7c5612}.delivery-year-help strong,.delivery-year-help span{display:block}.delivery-year-help strong{font-size:12px}.delivery-year-help span{margin-top:4px;font-size:10px}.delivery-year-actions{display:flex;gap:7px;flex-wrap:wrap}.delivery-year-actions .action-button{background:#fff;border:1px solid #ddbd79;color:#6b490d}.delivery-year-actions .action-button:hover{background:#fff3d4}
@media(max-width:720px){.delivery-year-help{align-items:flex-start;flex-direction:column}}


/* V4: year-controlled executive delivery dashboard */
.dashboard-filter-bar{display:flex;align-items:flex-end;justify-content:flex-end;gap:9px;flex-wrap:wrap}.dashboard-filter-control{display:flex;flex-direction:column;gap:5px;min-width:145px}.dashboard-filter-control.department{min-width:280px}.dashboard-filter-control>span{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.dashboard-filter-control select{width:100%;padding:9px 11px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--ink);outline:none}.dashboard-filter-control select:focus{border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(20,168,151,.13)}
.dashboard-scope-banner{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:0;margin-bottom:15px;border:1px solid #bfe2dc;border-radius:14px;background:linear-gradient(135deg,#f0fbf8,#e9f4f8);overflow:hidden}.dashboard-scope-banner>div{padding:13px 16px;border-right:1px solid #cfe5e3}.dashboard-scope-banner>div:last-child{border-right:0}.dashboard-scope-banner span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:850}.dashboard-scope-banner strong{display:block;margin-top:5px;color:var(--navy-900);font-size:16px}.dashboard-management-row{margin-bottom:15px}.dashboard-attention-list{display:flex;flex-direction:column;gap:9px}.dashboard-attention-item{display:grid;grid-template-columns:9px 1fr;gap:10px;align-items:start;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.dashboard-attention-item .attention-indicator{width:9px;height:9px;margin-top:3px;border-radius:99px;background:var(--blue-600)}.dashboard-attention-item.critical .attention-indicator{background:var(--red-600)}.dashboard-attention-item.watch .attention-indicator{background:var(--amber-600)}.dashboard-attention-item.information .attention-indicator{background:var(--blue-600)}.dashboard-attention-item strong{display:block;font-size:10px}.dashboard-attention-item small{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.45}.empty-state.compact{padding:28px 15px}.dashboard-delivery-register{margin-top:0}.dashboard-delivery-register .table-header>div:first-child{display:flex;flex-direction:column;gap:4px}.dashboard-table-note{display:block;color:var(--muted);font-size:9px;font-weight:400}.dashboard-delivery-table{min-width:1780px}.dashboard-delivery-table th,.dashboard-delivery-table td{white-space:nowrap}.dashboard-delivery-table td:nth-child(1),.dashboard-delivery-table td:nth-child(3),.dashboard-delivery-table td:nth-child(14){white-space:normal;min-width:180px}.dashboard-delivery-table .next-action-cell{min-width:180px;max-width:260px}
@media(max-width:980px){.dashboard-filter-bar{justify-content:flex-start;width:100%}.dashboard-filter-control,.dashboard-filter-control.department{min-width:0;flex:1}.dashboard-scope-banner{grid-template-columns:repeat(2,1fr)}.dashboard-scope-banner>div:nth-child(2){border-right:0}.dashboard-scope-banner>div:nth-child(-n+2){border-bottom:1px solid #cfe5e3}}
@media(max-width:620px){.dashboard-filter-bar{align-items:stretch;flex-direction:column}.dashboard-filter-control,.dashboard-filter-control.department{width:100%}.dashboard-scope-banner{grid-template-columns:1fr}.dashboard-scope-banner>div{border-right:0;border-bottom:1px solid #cfe5e3}.dashboard-scope-banner>div:last-child{border-bottom:0}}

/* V6: HOME31 Executive Command Center */
.command-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(620px,1.25fr);gap:24px;align-items:end;margin-bottom:16px;padding:24px;border-radius:20px;background:radial-gradient(circle at 15% 0,rgba(31,198,178,.18),transparent 30%),linear-gradient(135deg,var(--navy-950),var(--navy-800));color:#fff;box-shadow:0 18px 42px rgba(6,24,39,.18)}
.command-kicker{display:block;color:#82dbcf;font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.command-hero h1{margin:8px 0 9px;font-size:31px;line-height:1.08;letter-spacing:-.04em}.command-hero p{max-width:760px;margin:0;color:#d1e0ea;font-size:12px;line-height:1.6}.command-data-basis{margin-top:14px;color:#9fc2d3;font-size:9px;font-weight:750}.command-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(135px,1fr));gap:8px}.command-filter-grid label{display:flex;flex-direction:column;gap:5px}.command-filter-grid label>span{color:#9fc2d3;font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.command-filter-grid select{width:100%;padding:9px 10px;border:1px solid rgba(255,255,255,.18);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;outline:none}.command-filter-grid option{color:var(--ink);background:#fff}.command-filter-grid .btn{min-height:37px;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.09);color:#fff}
.command-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:15px}.command-kpi{min-height:126px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);text-align:left;box-shadow:0 7px 22px rgba(11,37,56,.05);transition:.18s}.command-kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.command-kpi.active{outline:3px solid rgba(20,168,151,.17);border-color:var(--teal-500)}.command-kpi.featured{background:linear-gradient(145deg,#e8f8f4,#fff)}.command-kpi.warning{border-color:#eed39e}.command-kpi.danger{border-color:#efc1c1}.command-kpi.priority{border-color:#bfd8ea}.command-kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.command-kpi-top b{color:var(--muted);font-size:9px;letter-spacing:.055em;text-transform:uppercase}.command-kpi-top i{display:grid;place-items:center;min-width:34px;height:34px;padding:0 7px;border-radius:10px;background:var(--teal-100);color:var(--teal-700);font-style:normal;font-size:11px;font-weight:900}.command-kpi>strong{display:block;margin:15px 0 4px;font-size:25px;letter-spacing:-.04em}.command-kpi>small{display:block;color:var(--muted);font-size:9px;line-height:1.45}
.executive-insight-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:15px;padding:20px 22px;border:1px solid #c7dce8;border-radius:17px;background:linear-gradient(135deg,#f4f9fc,#edf8f5)}.executive-insight-card h2{margin:6px 0 7px;font-size:17px}.executive-insight-card p{max-width:1050px;margin:0;color:#4e6072;font-size:11px;line-height:1.65}.insight-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;min-width:315px}
.command-section{margin:19px 0}.command-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:11px}.command-section-heading h2{margin:5px 0 4px;font-size:18px}.command-section-heading p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.attention-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.attention-lane{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff}.attention-lane>header{padding:14px 15px;border-bottom:1px solid var(--line);background:#f6f8fa}.attention-lane.critical>header{background:#fff1f1}.attention-lane.watch>header{background:#fff7e9}.attention-lane.stable>header{background:#edf9f4}.attention-lane header>div{display:flex;align-items:center;justify-content:space-between}.attention-lane header span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.attention-lane header strong{font-size:22px}.attention-lane header small{display:block;margin-top:4px;color:var(--muted);font-size:8px}.attention-lane>div{display:flex;flex-direction:column;padding:7px}.attention-record{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;padding:10px;border:0;border-radius:9px;background:transparent;text-align:left;color:var(--ink)}.attention-record:hover{background:#f4f7f9}.attention-record b,.attention-record small{display:block}.attention-record b{font-size:10px}.attention-record small{margin-top:4px;color:var(--muted);font-size:8px}.attention-record em{max-width:42%;color:#53677a;font-size:8px;font-style:normal;text-align:right;line-height:1.4}.command-empty{padding:22px;text-align:center;color:var(--muted);font-size:10px;line-height:1.5}.command-empty strong{display:block;margin-bottom:5px;color:#405269}.chart-empty{min-height:225px;display:grid;place-items:center;align-content:center}
.command-metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.command-metric-row article{padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff}.command-metric-row span,.command-metric-row small{display:block}.command-metric-row span{color:var(--muted);font-size:8px;font-weight:850;text-transform:uppercase}.command-metric-row strong{display:block;margin:7px 0 3px;font-size:20px}.command-metric-row small{color:var(--muted);font-size:8px}.command-two-column{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:12px}.matrix-wrap{min-height:300px}.cba-matrix{width:100%;height:auto;min-height:275px}.matrix-grid{stroke:#e8eef2;stroke-width:1}.matrix-axis{stroke:#6a7c8c;stroke-width:1.5}.matrix-threshold{stroke:#a96a0c;stroke-width:1.5;stroke-dasharray:6 5}.matrix-point circle{stroke:#fff;stroke-width:2;opacity:.88}.matrix-point.stable circle{fill:#17845b}.matrix-point.watch circle{fill:#c38218}.matrix-point.critical circle{fill:#b83a3a}.matrix-point.completed circle{fill:#2468b4}.matrix-point text{fill:#44596c;font-size:8px}.axis-label{fill:#657688;font-size:9px;text-anchor:middle}.threshold-label{fill:#96620f;font-size:8px}.matrix-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:6px;border-top:1px solid var(--line);font-size:8px}.matrix-legend span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%}.matrix-legend .stable:before{background:var(--green-600)}.matrix-legend .watch:before{background:var(--amber-600)}.matrix-legend .critical:before{background:var(--red-600)}.matrix-legend small{flex-basis:100%;color:var(--muted);line-height:1.45}
.budget-journey{display:flex;flex-direction:column;gap:10px}.budget-stage{position:relative;display:grid;grid-template-columns:125px 1fr 105px;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #edf1f4}.budget-stage:last-child{border-bottom:0}.budget-stage-label span,.budget-stage-label small{display:block}.budget-stage-label span{font-size:9px;font-weight:850}.budget-stage-label small{margin-top:3px;color:var(--muted);font-size:7px}.budget-stage-track{height:11px;border-radius:99px;background:#e9eef2;overflow:hidden}.budget-stage-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--navy-700),var(--teal-500))}.budget-stage strong{text-align:right;font-size:10px}.budget-arrow{position:absolute;right:-3px;bottom:-10px;color:#9aa9b5;font-size:13px}
.health-command-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.health-command{padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fafb}.health-command span,.health-command strong{display:block}.health-command span{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase}.health-command strong{margin-top:7px;font-size:22px}.health-command.critical{border-color:#edbcbc;background:#fff2f2}.health-command.watch{border-color:#efd39a;background:#fff8e9}.health-command.stable{border-color:#badfcc;background:#eef9f3}.health-command.completed{border-color:#bfd3e8;background:#eff5fb}.schedule-exception-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:10px}.schedule-exception-grid span{padding:9px;border-radius:9px;background:#f1f5f7;color:#5b6e7f;font-size:8px}.schedule-exception-grid b{font-size:12px;color:var(--ink)}.assurance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.assurance-grid article{padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fafb}.assurance-grid span,.assurance-grid small{display:block}.assurance-grid span{color:var(--muted);font-size:8px;font-weight:850;text-transform:uppercase}.assurance-grid strong{display:block;margin:7px 0 3px;font-size:22px}.assurance-grid small{color:var(--muted);font-size:8px;line-height:1.4}
.command-table-panel{margin:14px 0}.command-table-panel table{min-width:1050px}.decision-chip{display:inline-flex;margin:2px 4px 2px 0;padding:4px 6px;border-radius:999px;background:#fff3dc;color:#89580a;font-size:7px;font-weight:850}.strategic-bars{display:flex;flex-direction:column;gap:11px}.strategic-bars>div{display:grid;grid-template-columns:180px 1fr 105px;gap:10px;align-items:center}.strategic-bars span{font-size:9px}.strategic-bars strong{text-align:right;font-size:8px}.amp-trend-bars{display:flex;flex-direction:column;gap:10px}.amp-trend-row{display:grid;grid-template-columns:70px 1fr 75px 75px;gap:9px;align-items:center}.amp-trend-row strong{font-size:9px}.amp-trend-row span{font-size:9px;text-align:right}.amp-trend-row small{color:var(--muted);font-size:8px}.amp-trend-track{height:12px;border-radius:99px;background:#e7edf2;overflow:hidden}.amp-trend-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--teal-700),#4aa6c5)}
.command-quality-panel{margin:14px 0}.quality-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.quality-grid article{padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafb}.quality-grid span,.quality-grid strong{display:block}.quality-grid span{min-height:26px;color:var(--muted);font-size:7px;font-weight:850;text-transform:uppercase}.quality-grid strong{margin:5px 0 8px;font-size:16px}.quality-grid .bar-track{height:6px}.register-tabs{display:flex;gap:5px;overflow-x:auto;padding:8px 12px;border-bottom:1px solid var(--line);background:#f8fafb}.register-tabs button{white-space:nowrap;padding:7px 9px;border:0;border-radius:8px;background:transparent;color:#596b7d;font-size:8px;font-weight:850}.register-tabs button.active{background:var(--navy-900);color:#fff}.command-register-heading>div:first-child{display:flex;flex-direction:column;gap:4px}.dashboard-delivery-table{min-width:2400px}.dashboard-delivery-table th,.dashboard-delivery-table td{white-space:nowrap}.dashboard-delivery-table td:nth-child(2),.dashboard-delivery-table td:nth-child(4),.dashboard-delivery-table td:nth-child(7),.dashboard-delivery-table td:nth-child(8),.dashboard-delivery-table td:nth-child(17),.dashboard-delivery-table td:nth-child(18),.dashboard-delivery-table td:nth-child(20){white-space:normal;min-width:150px}.dashboard-delivery-table .progress-cell{min-width:115px}
@media(max-width:1300px){.command-hero{grid-template-columns:1fr}.command-filter-grid{grid-template-columns:repeat(4,minmax(130px,1fr))}.command-kpi-grid{grid-template-columns:repeat(3,1fr)}.quality-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:980px){.command-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attention-lanes,.command-two-column{grid-template-columns:1fr}.executive-insight-card{align-items:flex-start;flex-direction:column}.insight-actions{min-width:0;justify-content:flex-start}.command-metric-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.command-hero{padding:18px}.command-hero h1{font-size:26px}.command-kpi-grid{grid-template-columns:repeat(2,1fr)}.command-metric-row,.health-command-grid,.assurance-grid,.quality-grid{grid-template-columns:repeat(2,1fr)}.strategic-bars>div{grid-template-columns:110px 1fr 75px}.amp-trend-row{grid-template-columns:65px 1fr 65px}.amp-trend-row small{display:none}}
@media(max-width:480px){.command-filter-grid,.command-kpi-grid,.command-metric-row,.health-command-grid,.assurance-grid,.quality-grid{grid-template-columns:1fr}.command-kpi{min-height:110px}}
.risk-exposure-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.risk-exposure-grid article{padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fafb}.risk-exposure-grid span,.risk-exposure-grid small{display:block}.risk-exposure-grid span{color:var(--muted);font-size:8px;font-weight:850;text-transform:uppercase}.risk-exposure-grid strong{display:block;margin:7px 0 3px;font-size:18px}.risk-exposure-grid small{color:var(--muted);font-size:8px;line-height:1.4}.fit-bars{display:flex;flex-direction:column;gap:11px}.fit-bars>div{display:grid;grid-template-columns:180px 1fr 35px;gap:9px;align-items:center}.fit-bars span{font-size:9px}.fit-bars strong{text-align:right;font-size:9px}
@media(max-width:720px){.risk-exposure-grid{grid-template-columns:1fr}.fit-bars>div{grid-template-columns:120px 1fr 30px}}
.amp-line-chart svg{width:100%;min-height:250px}.amp-line{fill:none;stroke:var(--teal-600);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.amp-point circle{fill:#fff;stroke:var(--teal-700);stroke-width:4}.amp-point text{fill:#536779;font-size:9px;font-weight:750}.amp-trend-summary{display:flex;gap:7px;flex-wrap:wrap;padding-top:7px;border-top:1px solid var(--line)}.amp-trend-summary span{padding:6px 8px;border-radius:8px;background:#f1f5f7;color:var(--muted);font-size:8px}.amp-trend-summary b{margin-right:5px;color:var(--ink)}
/* HOME31 V7 — Phase 3 Value & Governance */
.governance-kpis{margin-bottom:15px}.governance-toolbar{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.governance-register table{min-width:1800px}.governance-continuity{margin-top:15px}.governance-continuity table{min-width:1200px}.command-phase3-warning{margin-bottom:14px}.initiative-view-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.phase3-modal{width:min(1180px,100%)}.phase3-shell{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}.phase3-context{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#f8fafb}.phase3-context span{padding:4px 7px;border-radius:999px;background:var(--navy-900);color:#fff;font-size:8px;font-weight:850}.phase3-context strong{font-size:11px}.phase3-context small{margin-left:auto;color:var(--muted);font-size:9px}.phase3-tabs{display:flex;gap:5px;overflow-x:auto;margin-bottom:14px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#f7f9fb}.phase3-tabs button{white-space:nowrap;border:0;border-radius:8px;background:transparent;padding:9px 11px;color:#596b7d;font-size:9px;font-weight:850}.phase3-tabs button.active{background:var(--navy-900);color:#fff}.phase3-panel{display:none}.phase3-panel.active{display:block}.phase3-history{position:sticky;top:76px;align-self:start;max-height:72vh;overflow:auto;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafb}.phase3-history h3{margin:0 0 12px;font-size:13px}.phase3-history section{margin-bottom:13px;padding-bottom:11px;border-bottom:1px solid var(--line)}.phase3-history section:last-child{border-bottom:0;margin-bottom:0}.phase3-history section>strong{display:block;margin-bottom:7px;color:#43576a;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.phase3-history section>div{padding:7px;border-radius:8px;background:#fff;margin-bottom:5px}.phase3-history span,.phase3-history small{display:block}.phase3-history span{font-size:8px;font-weight:800}.phase3-history small{margin-top:3px;color:var(--muted);font-size:7px;line-height:1.4}.phase3-history-empty{padding:9px!important;background:transparent!important;color:var(--muted);font-size:8px}.governance-budget-reference{display:grid;grid-template-columns:1fr auto;gap:3px;padding:13px;border:1px solid #c8dfd8;border-radius:12px;background:#eff9f5}.governance-budget-reference span,.governance-budget-reference small{font-size:8px}.governance-budget-reference span{font-weight:850;text-transform:uppercase;color:#4f6c61}.governance-budget-reference strong{font-size:17px}.governance-budget-reference small{grid-column:1/-1;color:var(--muted)}.readiness-model-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#f8fafb}.readiness-model-heading strong,.readiness-model-heading small{display:block}.readiness-model-heading strong{font-size:11px}.readiness-model-heading small{margin-top:4px;color:var(--muted);font-size:8px}.readiness-model-heading output{font-size:24px;font-weight:900;color:var(--teal-700)}.readiness-dimensions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}.readiness-dimensions label{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.readiness-dimensions span,.readiness-dimensions b,.readiness-dimensions small{display:block}.readiness-dimensions b{font-size:9px}.readiness-dimensions small{margin-top:3px;color:var(--muted);font-size:7px}.readiness-dimensions input{width:68px;padding:8px;border:1px solid var(--line-strong);border-radius:8px;text-align:right}.governance-register .badge,.governance-continuity .badge{max-width:180px;white-space:normal;text-align:center}
@media(max-width:1050px){.phase3-shell{grid-template-columns:1fr}.phase3-history{position:static;max-height:none}.readiness-dimensions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.governance-kpis{grid-template-columns:repeat(2,1fr)!important}.phase3-context{align-items:flex-start;flex-direction:column}.phase3-context small{margin-left:0}.readiness-dimensions{grid-template-columns:1fr}.phase3-tabs{flex-wrap:wrap}}
@media(max-width:460px){.governance-kpis{grid-template-columns:1fr!important}}

/* HOME31 Administration Control Centre */
.admin-user-kpis{margin-bottom:15px}.admin-user-toolbar{padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}.admin-user-toolbar .toolbar-group{flex:1}.admin-user-toolbar input{min-width:280px}.admin-identity-warning{margin-bottom:14px}.admin-modal-intro{display:flex;flex-direction:column;gap:5px;margin-bottom:16px;padding:14px 15px;border:1px solid #c8dfd8;border-radius:12px;background:#eff9f5}.admin-modal-intro strong{font-size:12px}.admin-modal-intro span{color:var(--muted);font-size:9px;line-height:1.5}.import-dropzone{position:relative;display:grid;place-items:center;gap:7px;min-height:145px;padding:22px;border:2px dashed #b8cbd6;border-radius:14px;background:#f7fafc;text-align:center}.import-dropzone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.import-dropzone strong{font-size:13px}.import-dropzone small{color:var(--muted);font-size:9px}.import-preview{margin-top:14px}.import-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #b9e0cc;border-radius:10px;background:#ecf9f2}.import-summary.has-errors{border-color:#efc2c2;background:#fff1f1}.import-summary strong{font-size:11px}.import-summary span{color:var(--muted);font-size:9px}.import-table{min-width:720px;margin-top:10px}.import-table .badge{max-width:280px;white-space:normal;text-align:left}.decision-chip{white-space:normal}
@media(max-width:900px){.admin-user-kpis{grid-template-columns:repeat(3,1fr)!important}.admin-user-toolbar{align-items:stretch}.admin-user-toolbar .toolbar-group{width:100%}.admin-user-toolbar input{min-width:0}}
@media(max-width:620px){.admin-user-kpis{grid-template-columns:repeat(2,1fr)!important}.import-summary{align-items:flex-start;flex-direction:column}}


/* HOME31 V7.3 — Project Delivery Control outlook */
.project-command-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:14px;padding:24px 26px;border-radius:20px;background:radial-gradient(circle at 85% 5%,rgba(34,190,170,.2),transparent 30%),linear-gradient(135deg,var(--navy-950),#123d56 70%,#0b6c64);color:#fff;box-shadow:0 16px 38px rgba(6,24,39,.17)}
.project-hero-copy{max-width:900px}.project-hero-copy h1{margin:7px 0 8px;font-size:31px;letter-spacing:-.04em}.project-hero-copy p{max-width:760px;margin:0;color:#d2e1ea;font-size:12px;line-height:1.6}.project-scope-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.project-scope-row span{padding:6px 9px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.08);color:#d7e7ee;font-size:8px;font-weight:800}.project-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.project-hero-actions .project-export{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);color:#fff}
.project-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.project-kpi{display:flex;align-items:center;gap:12px;min-height:105px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);text-align:left;box-shadow:0 5px 18px rgba(11,37,56,.045);transition:.17s}.project-kpi:not(.static):hover{transform:translateY(-2px);box-shadow:var(--shadow)}.project-kpi.active{border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(20,168,151,.12)}.project-kpi.total{background:linear-gradient(145deg,#edf8f6,#fff)}.project-kpi.warning{border-color:#edd5a5}.project-kpi.danger{border-color:#efc3c3}.project-kpi.static{cursor:default}.project-kpi-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:#edf3f6;color:var(--navy-700);font-size:15px;font-weight:900}.project-kpi.positive .project-kpi-icon{background:#e8f7ef;color:var(--green-600)}.project-kpi.warning .project-kpi-icon{background:#fff4df;color:var(--amber-600)}.project-kpi.danger .project-kpi-icon{background:#fff0f0;color:var(--red-600)}.project-kpi small,.project-kpi strong,.project-kpi em{display:block}.project-kpi small{color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.project-kpi strong{margin:4px 0 2px;font-size:22px;letter-spacing:-.03em}.project-kpi em{color:var(--muted);font-size:7px;font-style:normal;line-height:1.35}
.project-control-bar{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:12px;padding:14px}.project-filter-grid{display:grid;grid-template-columns:minmax(240px,1.4fr) 150px minmax(220px,1fr) 160px;gap:9px;flex:1}.project-filter-grid label{display:flex;flex-direction:column;gap:5px}.project-filter-grid label>span{color:var(--muted);font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.project-filter-grid input,.project-filter-grid select{width:100%;min-height:38px;padding:9px 10px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--ink);outline:none}.project-filter-grid input:focus,.project-filter-grid select:focus{border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(20,168,151,.12)}.project-control-actions{display:flex;align-items:center;gap:8px}.project-view-switch{display:flex;gap:3px;padding:4px;border:1px solid var(--line);border-radius:10px;background:#f3f6f8}.project-view-switch button{border:0;border-radius:7px;background:transparent;padding:8px 10px;color:#5a6c7d;font-size:9px;font-weight:850}.project-view-switch button.active{background:var(--navy-900);color:#fff;box-shadow:0 3px 8px rgba(11,37,56,.15)}
.project-insight-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:12px 15px;border:1px solid #c8dfd8;border-radius:13px;background:#eff9f5}.project-insight-bar>div{display:flex;align-items:center;gap:10px}.project-insight-dot{flex:0 0 9px;width:9px;height:9px;border-radius:50%;background:var(--green-600);box-shadow:0 0 0 5px rgba(23,132,91,.1)}.project-insight-bar.watch{border-color:#ead29e;background:#fff8e8}.project-insight-bar.watch .project-insight-dot{background:var(--amber-600);box-shadow:0 0 0 5px rgba(172,106,8,.1)}.project-insight-bar.critical{border-color:#edbebe;background:#fff2f2}.project-insight-bar.critical .project-insight-dot{background:var(--red-600);box-shadow:0 0 0 5px rgba(184,58,58,.1)}.project-insight-bar strong,.project-insight-bar small{display:block}.project-insight-bar strong{font-size:10px}.project-insight-bar small{margin-top:3px;color:var(--muted);font-size:8px}.project-data-note{max-width:390px;color:var(--muted);font-size:8px;text-align:right;line-height:1.45}
.project-register{overflow:hidden}.project-register-header>div{display:flex;flex-direction:column;gap:4px}.project-record-count{padding:6px 9px;border-radius:999px;background:#edf3f6;color:#4f6376;font-size:8px;font-weight:850}
.colorful-table thead th{background:linear-gradient(180deg,#f8fafb,#eef3f6);color:var(--navy-900);border-bottom:2px solid #dbe6ec}
.project-delivery-table{min-width:1380px}.project-delivery-table th{padding-top:11px;padding-bottom:11px}.project-delivery-table td{padding-top:14px;padding-bottom:14px}.project-row{position:relative}.project-row td:first-child{border-left:3px solid transparent}.project-row.watch td:first-child{border-left-color:var(--amber-600)}.project-row.critical td:first-child{border-left-color:var(--red-600)}.project-row.completed td:first-child{border-left-color:var(--blue-600)}.project-row:hover{background:#fbfcfd}.delivery-identity{display:flex;align-items:flex-start;gap:10px;min-width:235px}.delivery-symbol{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:9px;background:#e6f5f2;color:var(--teal-700);font-size:10px;font-weight:900}.delivery-symbol.project{background:#eaf2ff;color:var(--blue-600)}.delivery-identity strong,.delivery-identity small,.delivery-identity em{display:block}.delivery-identity strong{font-size:11px}.delivery-identity small{margin-top:4px;color:var(--muted);font-size:8px}.delivery-identity em{margin-top:5px;color:#536779;font-size:7px;font-style:normal}.owner-stack{min-width:165px}.owner-stack strong,.owner-stack span{display:block}.owner-stack strong{font-size:10px}.owner-stack span{max-width:190px;margin-top:4px;color:var(--muted);font-size:8px;line-height:1.4}.schedule-stack{min-width:180px}.schedule-stack>strong{display:block;font-size:9px;font-weight:800}.schedule-stack>strong span{color:#95a3af;margin:0 4px}.schedule-pill{display:inline-flex;margin-top:7px;padding:4px 7px;border-radius:999px;background:#edf3f6;color:#526578;font-size:7px;font-weight:850}.schedule-pill.planned{background:#e8f7ef;color:#14734d}.schedule-pill.due{background:#fff4df;color:#925b0b}.schedule-pill.overdue{background:#fff0f0;color:#a52e2e}.schedule-pill.completed{background:#eaf2ff;color:#255b9d}.schedule-pill.missing{background:#edf1f4;color:#576678}.delivery-meter{min-width:115px}.delivery-meter>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.delivery-meter span{color:var(--muted);font-size:7px}.delivery-meter strong{font-size:10px}.delivery-meter-track{height:7px;margin-top:7px;border-radius:999px;background:#e7edf3;overflow:hidden}.delivery-meter-track i{display:block;height:100%;border-radius:999px;background:var(--red-600)}.delivery-meter-track i.medium{background:var(--amber-600)}.delivery-meter-track i.strong{background:var(--green-600)}.delivery-meter.readiness .delivery-meter-track i.strong{background:var(--teal-600)}.health-stack{min-width:105px}.health-stack .badge{margin-bottom:5px}.health-stack small{display:block;color:var(--muted);font-size:7px}.next-action-box{min-width:210px;max-width:280px;padding:9px 10px;border-radius:9px;background:#f5f8fa}.next-action-box strong,.next-action-box small{display:block}.next-action-box strong{font-size:9px;line-height:1.4}.next-action-box small{margin-top:5px;color:var(--muted);font-size:7px}.project-row-actions{display:flex;gap:5px}.project-row-actions .primary-action{background:#e6f5f2;color:var(--teal-700)}
.timeline-card-modern{overflow:hidden}.project-timeline-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:10px}.project-timeline-heading h2{margin:5px 0 4px;font-size:18px}.project-timeline-heading p{margin:0;color:var(--muted);font-size:9px}.timeline-summary{display:flex;gap:7px;flex-wrap:wrap}.timeline-summary span{padding:8px 10px;border-radius:9px;background:#edf8f4;color:#25644e;font-size:8px}.timeline-summary span.danger{background:#fff0f0;color:#9f2929}.timeline-summary span.warning{background:#fff4df;color:#8a590b}.timeline-summary b{font-size:12px;margin-right:4px}.timeline-legend{display:flex;gap:12px;align-items:center;margin-bottom:10px;padding:8px 10px;border-radius:9px;background:#f6f8fa}.timeline-legend span{color:var(--muted);font-size:7px}.timeline-legend span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:3px;vertical-align:-1px}.timeline-legend .on-track:before{background:var(--teal-600)}.timeline-legend .watch:before{background:var(--amber-600)}.timeline-legend .critical:before{background:var(--red-600)}.timeline-legend .completed:before{background:var(--blue-600)}.project-modern-timeline .timeline-row:hover{background:#fbfcfd}.project-modern-timeline .timeline-bar{display:flex;align-items:center;justify-content:flex-end;padding-right:5px}.project-modern-timeline .timeline-bar.on_track{background:linear-gradient(90deg,var(--teal-700),#49a8c7)}.project-modern-timeline .timeline-bar.watch{background:linear-gradient(90deg,#b77813,#dda13f)}.project-modern-timeline .timeline-bar.critical{background:linear-gradient(90deg,#a83232,#d65a5a)}.project-modern-timeline .timeline-bar.completed{background:linear-gradient(90deg,#255b9d,#4c8bd1)}.project-modern-timeline .timeline-bar i{color:#fff;font-size:7px;font-style:normal;font-weight:850}.unscheduled-delivery.modern{padding:12px;border:1px solid #ecd39e;border-radius:10px;background:#fff8e8}
@media(max-width:1320px){.project-kpi-grid{grid-template-columns:repeat(3,1fr)}.project-control-bar{align-items:stretch;flex-direction:column}.project-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.project-control-actions{justify-content:space-between}}
@media(max-width:900px){.project-command-hero{align-items:flex-start;flex-direction:column}.project-hero-actions{justify-content:flex-start}.project-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-insight-bar{align-items:flex-start;flex-direction:column}.project-data-note{text-align:left}.project-timeline-heading{flex-direction:column}}
@media(max-width:620px){.project-kpi-grid{grid-template-columns:repeat(2,1fr)}.project-filter-grid{grid-template-columns:1fr}.project-control-actions{align-items:stretch;flex-direction:column}.project-view-switch{width:100%}.project-view-switch button{flex:1}.project-command-hero{padding:19px}.project-hero-copy h1{font-size:26px}}
@media(max-width:430px){.project-kpi-grid{grid-template-columns:1fr}.project-hero-actions{width:100%}.project-hero-actions .btn{flex:1}}

/* HOME31 Project Timeline — Week / Month / Year views — Big Sunset (colorful, larger) */
.timeline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#f7f9fb}.timeline-scale-switch,.timeline-period-nav{display:flex;align-items:center;gap:4px}.timeline-scale-switch{padding:5px;border:1px solid var(--line);border-radius:10px;background:#fff}.timeline-scale-switch button,.timeline-period-nav button{border:0;border-radius:8px;background:transparent;padding:8px 14px;color:#56697b;font-size:10px;font-weight:850}.timeline-scale-switch button.active{background:var(--navy-900);color:#fff}.timeline-period-nav button{background:#e9eff3}.timeline-period-nav strong{min-width:150px;text-align:center;font-size:11px}.timeline-flex-scroll{overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.timeline-flex-grid{min-width:max(980px,calc(var(--timeline-columns) * 52px + 300px));border:1px solid var(--line);border-radius:14px;overflow:hidden}.timeline-flex-head,.timeline-flex-row{display:grid;grid-template-columns:300px minmax(760px,1fr)}.timeline-flex-head{background:linear-gradient(180deg,#f8fafb,#eef3f6);border-bottom:1px solid var(--line)}.timeline-flex-head>div:first-child{display:flex;align-items:center;padding:12px 16px;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.timeline-flex-cells{display:grid;grid-template-columns:repeat(var(--timeline-columns),minmax(44px,1fr))}.timeline-flex-cells span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:48px;border-left:1px solid #e4ebef;color:#506477;font-size:9px;font-weight:600}.timeline-flex-cells span.today{background:linear-gradient(180deg,#fff1f1,#ffe4e6);color:var(--red-600);font-weight:900;position:relative}.timeline-flex-cells span.today::after{content:"♥";position:absolute;top:2px;font-size:6px;color:var(--red-600)}.timeline-flex-cells b{font-size:10px}.timeline-flex-cells small{margin-top:2px;color:var(--muted);font-size:7px}.timeline-flex-row{min-height:72px;border-bottom:1px solid #e8eef2}.timeline-flex-row:last-child{border-bottom:0}.timeline-record-label{padding:14px 16px;display:flex;gap:12px;align-items:center}.timeline-record-label .tl-avatar{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:16px;color:#fff;flex:0 0 40px;box-shadow:0 4px 12px rgba(0,0,0,.12)}.timeline-record-label strong{font-size:12px;display:block}.timeline-record-label small{font-size:9px;color:var(--muted)}.timeline-record-label em{font-size:7px;color:#536779;font-style:normal}.timeline-flex-track{position:relative;display:grid;grid-template-columns:repeat(var(--timeline-columns),minmax(44px,1fr));align-items:center;min-height:72px}.timeline-flex-track>i{align-self:stretch;border-left:1px solid #e8eef2;background:linear-gradient(180deg,rgba(248,250,251,.35),rgba(255,255,255,.1))}.timeline-flex-bar{position:absolute;top:18px;height:34px;min-width:8px;border-radius:10px;display:flex;align-items:center;padding:0 12px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.14);color:#fff;font-size:11px;font-weight:800;white-space:nowrap}.timeline-flex-bar.on_track{background:linear-gradient(90deg,#14a897,#0f766e)}.timeline-flex-bar.watch{background:linear-gradient(90deg,#fbbf24,#d97706);color:#78350f}.timeline-flex-bar.critical{background:linear-gradient(90deg,#f87171,#dc2626)}.timeline-flex-bar.completed{background:linear-gradient(90deg,#60a5fa,#2563eb)}.timeline-flex-bar.planned{background:linear-gradient(90deg,#94a3b8,#64748b)}cord-label small{margin-top:4px;color:var(--muted);font-size:7px}.timeline-record-label em{margin-top:4px;color:#64778a;font-size:6px;font-style:normal}.timeline-flex-track{position:relative;display:grid;grid-template-columns:repeat(var(--timeline-columns),minmax(34px,1fr));align-items:center;min-height:62px}.timeline-flex-track>i{align-self:stretch;border-left:1px solid #e8eef2;background:linear-gradient(180deg,rgba(248,250,251,.35),rgba(255,255,255,.1))}.timeline-flex-bar{position:absolute;top:20px;height:22px;min-width:8px;border-radius:6px;display:flex;align-items:center;justify-content:flex-end;padding-right:6px;overflow:hidden;box-shadow:0 4px 10px rgba(11,37,56,.13)}.timeline-flex-bar b{color:#fff;font-size:7px}.timeline-flex-bar.on_track{background:linear-gradient(90deg,var(--teal-700),#49a8c7)}.timeline-flex-bar.watch{background:linear-gradient(90deg,#b77813,#dda13f)}.timeline-flex-bar.critical{background:linear-gradient(90deg,#a83232,#d65a5a)}.timeline-flex-bar.completed{background:linear-gradient(90deg,#255b9d,#4c8bd1)}
@media(max-width:720px){.timeline-toolbar{align-items:stretch;flex-direction:column}.timeline-scale-switch,.timeline-period-nav{justify-content:center}.timeline-period-nav strong{min-width:120px}.timeline-flex-head,.timeline-flex-row{grid-template-columns:210px minmax(720px,1fr)}}

/* HOME31 login author credit */
.login-author-credit{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#f7fafc;text-align:center}.login-author-credit span,.login-author-credit strong,.login-author-credit small{display:block}.login-author-credit span{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.login-author-credit strong{margin-top:5px;color:var(--navy-900);font-size:12px}.login-author-credit small{margin-top:3px;color:#53677a;font-size:9px;line-height:1.4}


/* HOME31 Command Center hover information */
.has-tooltip{position:relative}
.has-tooltip:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 10px);z-index:90;width:max-content;max-width:300px;padding:9px 11px;border-radius:9px;background:#061827;color:#fff;font-size:9px;font-weight:650;line-height:1.45;letter-spacing:0;text-align:left;white-space:normal;box-shadow:0 10px 28px rgba(6,24,39,.24);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,6px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease}
.has-tooltip:before{content:"";position:absolute;left:50%;bottom:calc(100% + 4px);z-index:91;border:6px solid transparent;border-top-color:#061827;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%);transition:opacity .15s ease,visibility .15s ease}
.has-tooltip:hover:after,.has-tooltip:focus-visible:after,.has-tooltip:hover:before,.has-tooltip:focus-visible:before{opacity:1;visibility:visible;transform:translate(-50%,0)}
.has-tooltip:hover:before,.has-tooltip:focus-visible:before{transform:translateX(-50%)}
.command-kpi.has-tooltip:after{bottom:auto;top:calc(100% + 10px)}
.command-kpi.has-tooltip:before{bottom:auto;top:calc(100% + 4px);border-top-color:transparent;border-bottom-color:#061827}
.command-metric-row .has-tooltip,.quality-grid .has-tooltip,.strategic-bars .has-tooltip,.fit-bars .has-tooltip{cursor:help}
@media(max-width:720px){.has-tooltip:after{max-width:230px}.command-kpi.has-tooltip:after{left:8px;transform:none}.command-kpi.has-tooltip:hover:after,.command-kpi.has-tooltip:focus-visible:after{transform:none}.command-kpi.has-tooltip:before{left:28px}}

/* HOME31 V8 — Executive Command Center graphical redesign */
.executive-command-hero{grid-template-columns:minmax(0,1fr) minmax(560px,1.05fr)}
.executive-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}
.executive-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.executive-donut-layout{display:grid;grid-template-columns:210px 1fr;gap:24px;align-items:center;min-height:250px}
.executive-donut{width:200px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--donut));display:grid;place-items:center;position:relative;margin:auto;box-shadow:inset 0 0 0 1px rgba(11,37,56,.05)}
.executive-donut:after{content:"";position:absolute;width:126px;aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--line)}
.executive-donut>div{position:relative;z-index:1;text-align:center}.executive-donut strong{display:block;font-size:31px;letter-spacing:-.05em}.executive-donut span{display:block;margin-top:3px;color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.executive-chart-legend{display:flex;flex-direction:column;gap:7px}.executive-chart-legend button{display:grid;grid-template-columns:12px 1fr auto;gap:9px;align-items:center;width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#f8fafb;color:var(--ink);text-align:left}.executive-chart-legend button:hover{border-color:var(--teal-500);background:#f1faf8}.executive-chart-legend span{font-size:9px;font-weight:800}.executive-chart-legend strong{font-size:13px}.legend-dot{width:9px;height:9px;border-radius:50%}.legend-dot.stable{background:var(--green-600)}.legend-dot.watch{background:var(--amber-600)}.legend-dot.critical{background:var(--red-600)}.legend-dot.completed{background:var(--blue-600)}
.investment-position-chart{display:flex;flex-direction:column;gap:13px;padding:7px 0}.investment-row{display:grid;grid-template-columns:95px 1fr 85px;gap:11px;align-items:center}.investment-row>span{font-size:9px;font-weight:850;color:#44596d}.investment-track{height:14px;border-radius:999px;background:#e8eef2;overflow:hidden}.investment-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--navy-700),var(--teal-500));transition:width .25s ease}.investment-row>strong{text-align:right;font-size:10px;font-variant-numeric:tabular-nums}
.executive-attention-table{margin:15px 0}.executive-attention-table table{min-width:1200px}.executive-attention-table tbody tr:hover,.executive-delivery-register tbody tr:hover{background:#f7fbfa}
.governance-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.governance-summary-grid article{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff}.governance-summary-grid article>div:last-child{min-width:0}.governance-summary-grid strong,.governance-summary-grid small{display:block}.governance-summary-grid strong{font-size:10px}.governance-summary-grid small{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.4}.mini-ring{--pct:0;flex:0 0 54px;width:54px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--teal-600) calc(var(--pct)*1%),#e7edf2 0);display:grid;place-items:center;position:relative}.mini-ring:after{content:"";position:absolute;width:40px;aspect-ratio:1;border-radius:50%;background:#fff}.mini-ring span{position:relative;z-index:1;font-size:9px;font-weight:900;color:var(--navy-900)}
.executive-delivery-register{margin-top:15px}.executive-delivery-register table{min-width:1450px}.executive-delivery-register td:nth-child(2),.executive-delivery-register td:nth-child(4),.executive-delivery-register td:nth-child(9){white-space:normal;min-width:170px}
.has-tooltip{position:relative}.has-tooltip:before,.has-tooltip:after{pointer-events:none;position:absolute;z-index:120;opacity:0;visibility:hidden;transition:.14s}.has-tooltip:after{content:attr(data-tooltip);left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(4px);width:max-content;max-width:280px;padding:9px 11px;border-radius:9px;background:#10293b;color:#fff;font-size:9px;font-weight:600;line-height:1.45;text-align:left;white-space:normal;box-shadow:0 12px 28px rgba(6,24,39,.22)}.has-tooltip:before{content:"";left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);border:6px solid transparent;border-top-color:#10293b}.has-tooltip:hover:after,.has-tooltip:hover:before,.has-tooltip:focus-visible:after,.has-tooltip:focus-visible:before{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
@media(max-width:1300px){.executive-kpis{grid-template-columns:repeat(3,1fr)}.governance-summary-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.executive-command-hero,.executive-chart-grid{grid-template-columns:1fr}.executive-donut-layout{grid-template-columns:1fr}.governance-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.executive-kpis,.governance-summary-grid{grid-template-columns:1fr}.investment-row{grid-template-columns:78px 1fr 70px}.executive-donut{width:176px}.has-tooltip:after{max-width:220px}}

/* HOME31 chart explanations and prioritisation visuals */
.chart-summary{margin-top:14px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#f7f9fb}.chart-summary span{display:block;margin-bottom:4px;color:var(--teal-700);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.chart-summary p{margin:0;color:#516477;font-size:9px;line-height:1.5}.chart-summary.positive{border-color:#b9e0cc;background:#eef9f4}.chart-summary.warning{border-color:#ecd39e;background:#fff8e8}.quadrant-label{fill:#526679;font-size:9px;font-weight:850}.quarterly-load-chart{min-height:285px;display:flex;flex-direction:column;justify-content:flex-end}.quarter-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:end;min-height:225px;padding:12px 16px 0;border-bottom:1px solid var(--line)}.quarter-column{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0;cursor:help}.quarter-stack{display:flex;flex-direction:column-reverse;width:min(58px,70%);min-height:10px;border-radius:8px 8px 3px 3px;overflow:hidden;background:#edf1f4;box-shadow:0 4px 12px rgba(11,37,56,.08)}.quarter-stack i{display:block;min-height:0}.quarter-active{background:var(--teal-600)}.quarter-complete{background:var(--blue-600)}.quarter-overdue{background:var(--red-600)}.quarter-column strong{margin-top:8px;font-size:10px}.quarter-column small{margin-top:3px;color:var(--muted);font-size:7px}.quarter-legend{display:flex;gap:14px;flex-wrap:wrap;padding-top:10px;color:var(--muted);font-size:8px}.quarter-legend span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:2px}.quarter-legend .active:before{background:var(--teal-600)}.quarter-legend .complete:before{background:var(--blue-600)}.quarter-legend .overdue:before{background:var(--red-600)}
@media(max-width:620px){.quarter-columns{gap:8px;padding-left:4px;padding-right:4px}.quarter-stack{width:42px}.chart-summary{padding:10px}}

/* HOME31 CSV validation and safe import */
.initiative-import-table{min-width:920px}.initiative-import-table td:last-child{min-width:280px;white-space:normal}.import-row-message{display:block;margin-top:6px;color:var(--red-600);font-size:8px;line-height:1.45}.import-row-message.warning-text{color:var(--amber-600)}.import-block-note{margin:12px 0 0}.import-summary strong{font-size:11px}.import-summary span{line-height:1.4}

/* V7.6 permanent initiative deletion */
.action-button.delete-action{background:#fff0f0;color:#a52e2e;border:1px solid #efc3c3}.action-button.delete-action:hover{background:#ffe2e2;color:#8f2020}

/* HOME31 V8 — connected interactive Command Center */
.dashboard-active-filter{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0;padding:14px 16px;border:1px solid #b9ded7;border-radius:14px;background:#edf9f6}.dashboard-active-filter span,.dashboard-active-filter strong,.dashboard-active-filter small{display:block}.dashboard-active-filter span{color:var(--teal-700);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.dashboard-active-filter strong{margin-top:4px;font-size:12px}.dashboard-active-filter small{margin-top:3px;color:var(--muted);font-size:8px}
.matrix-quadrant-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:10px}.matrix-quadrant-controls button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#f8fafb;color:var(--ink);font-size:8px;font-weight:850}.matrix-quadrant-controls button strong{font-size:14px}.matrix-quadrant-controls button:hover,.matrix-quadrant-controls button.active{border-color:var(--teal-500);background:#e8f7f4;color:var(--teal-700);box-shadow:0 0 0 2px rgba(20,168,151,.1)}
.matrix-point.interactive{cursor:pointer}.matrix-point.interactive circle{transition:.16s}.matrix-point.interactive:hover circle{stroke:var(--navy-900);stroke-width:4;filter:drop-shadow(0 4px 5px rgba(11,37,56,.2))}
.quarter-column{border:1px solid transparent;background:transparent;border-radius:11px;padding:7px;color:var(--ink)}.quarter-column:hover,.quarter-column.active{border-color:var(--teal-500);background:#edf9f6;box-shadow:0 0 0 2px rgba(20,168,151,.1)}
.strategic-bar-button{display:grid;grid-template-columns:180px 1fr 105px;gap:10px;align-items:center;width:100%;padding:6px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ink);text-align:left}.strategic-bar-button strong{text-align:right;font-size:8px}.strategic-bar-button:hover,.strategic-bar-button.active{border-color:var(--teal-500);background:#edf9f6}
.quality-action{padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafb;color:var(--ink);text-align:left}.quality-action:hover,.quality-action.active{border-color:var(--teal-500);background:#edf9f6;box-shadow:0 0 0 2px rgba(20,168,151,.1)}.quality-action span,.quality-action strong{display:block}.quality-action span{min-height:26px;color:var(--muted);font-size:7px;font-weight:850;text-transform:uppercase}.quality-action strong{margin:5px 0 8px;font-size:16px}.quality-action .bar-track{height:6px}
@media(max-width:720px){.matrix-quadrant-controls{grid-template-columns:repeat(2,1fr)}.dashboard-active-filter{align-items:flex-start;flex-direction:column}.strategic-bar-button{grid-template-columns:110px 1fr 75px}}


/* HOME31 V8.1 — Super Administrator temporary-password reset */
.admin-account-actions{display:flex;gap:8px;flex-wrap:wrap}.password-reset-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.password-reset-force{margin:14px 0;padding:12px 13px;border:1px solid #c8dfd8;border-radius:11px;background:#eff9f5;color:#375b4e;font-size:10px;font-weight:750}.password-reset-user-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.password-reset-user-summary>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafb}.password-reset-user-summary small,.password-reset-user-summary strong{display:block}.password-reset-user-summary small{color:var(--muted);font-size:8px;text-transform:uppercase;font-weight:850}.password-reset-user-summary strong{margin-top:5px;font-size:10px;word-break:break-word}@media(max-width:620px){.password-reset-input-row,.password-reset-user-summary{grid-template-columns:1fr}.password-reset-input-row .btn{width:100%}}

/* HOME31 V8.3 — Executive typography and readability refinement */
:root{
  --type-xs:12px;
  --type-sm:13px;
  --type-base:14px;
  --type-md:16px;
  --type-lg:20px;
  --type-xl:28px;
}

/* Global reading comfort */
body{font-size:var(--type-base);line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-size:var(--type-base)}
.page-root{padding-top:30px}
.page-title h1{font-size:clamp(28px,2.2vw,34px);line-height:1.12}
.page-title p{font-size:14px;line-height:1.6}
.eyebrow{font-size:11px;letter-spacing:.12em}

/* Navigation and signed-in identity */
.main-nav button{font-size:13px;font-weight:800;padding-inline:13px}
.user-chip strong{font-size:13px;line-height:1.2}
.user-chip small{font-size:11px;line-height:1.25}
.dropdown button{font-size:13px}
.footer{font-size:12px}

/* Forms and filters */
.field{gap:8px;margin-bottom:16px}
.field>span,.field label{font-size:13px;line-height:1.35;font-weight:800}
.field input,.field select,.field textarea,.toolbar input,.toolbar select{min-height:42px;padding:11px 13px;font-size:14px;line-height:1.35}
.field textarea{line-height:1.55}
.field small{font-size:12px;line-height:1.5}
.toolbar{gap:12px;margin-bottom:18px}
.toolbar-group{gap:10px}
.checkbox,.initiative-checkbox span,.declaration span{font-size:13px;line-height:1.5}

/* Page, panel and card hierarchy */
.panel{padding:20px}
.panel-header{margin-bottom:18px}
.panel-header h2{font-size:17px;line-height:1.3}
.panel-header p{font-size:13px;line-height:1.5}
.table-header{padding:17px 18px}
.table-header strong{font-size:15px}
.card{box-shadow:0 8px 26px rgba(11,37,56,.055)}

/* Executive KPI cards */
.kpi-card{min-height:142px;padding:19px}
.kpi-label{font-size:12px;line-height:1.3;letter-spacing:.055em}
.kpi-value{font-size:clamp(27px,2vw,33px);line-height:1.08}
.kpi-meta{font-size:13px;line-height:1.45}
.command-kpi .command-kpi-label,.command-kpi small{font-size:12px;line-height:1.4}
.command-kpi strong{line-height:1.08}

/* Tables: readable without losing enterprise density */
table{font-variant-numeric:tabular-nums}
th,td{padding:14px 15px;font-size:13.5px;line-height:1.45}
th{font-size:11px;line-height:1.3;letter-spacing:.055em;font-weight:850}
td strong{font-size:13.5px;line-height:1.35}
td .muted,td small,.record-meta,.table-meta{font-size:12px;line-height:1.45;color:#5f6f80}
.action-button{padding:8px 10px;font-size:12px;line-height:1.2}
.badge{padding:5px 9px;font-size:11px;line-height:1.2}
.executive-attention-table tbody td,.executive-delivery-register tbody td{vertical-align:top}
.executive-delivery-register td:nth-child(2){min-width:230px}
.executive-delivery-register td:nth-child(3){min-width:135px}
.executive-delivery-register td:nth-child(4){min-width:210px}
.executive-delivery-register td:nth-child(9){min-width:220px}
.executive-attention-table td:nth-child(2){min-width:240px}
.executive-attention-table td:nth-child(3){min-width:260px}
.table-wrap{scrollbar-gutter:stable}

/* Charts, insights and interpretation */
.chart-summary{padding:13px 14px;margin-top:16px}
.chart-summary span{font-size:11px;line-height:1.3}
.chart-summary p{font-size:13px;line-height:1.6;color:#495e72}
.executive-chart-legend span{font-size:12px;line-height:1.35}
.executive-chart-legend strong{font-size:14px}
.investment-row{grid-template-columns:110px 1fr 95px}
.investment-row>span{font-size:12px;line-height:1.3}
.investment-row>strong{font-size:13px}
.quadrant-label{font-size:11px}
.quarter-column strong{font-size:12px}
.quarter-column small{font-size:11px}
.quarter-legend{font-size:12px;line-height:1.4}
.budget-line{font-size:13px}
.summary-strip small{font-size:12px;line-height:1.35}
.summary-strip strong{font-size:22px}

/* Governance, quality and compact metric cards */
.governance-summary-grid strong{font-size:13px;line-height:1.35}
.governance-summary-grid small{font-size:12px;line-height:1.45}
.mini-ring span{font-size:11px}
.quality-action span{min-height:34px;font-size:11px;line-height:1.3}
.quality-action strong{font-size:18px}
.dashboard-active-filter span{font-size:11px}
.dashboard-active-filter strong{font-size:14px}
.dashboard-active-filter small{font-size:12px;line-height:1.45}
.status-item strong,.activity-item strong{font-size:13px}
.status-item small,.activity-item small{font-size:12px;line-height:1.5}

/* Comprehensive initiative form */
.initiative-draft-bar strong{font-size:13px}
.initiative-draft-bar span{font-size:12px;line-height:1.4}
.initiative-stepper button{min-height:58px;font-size:12px;line-height:1.25}
.initiative-stepper button span{font-size:12px}
.form-completion>div:first-child{font-size:13px}
.form-section-heading h3{font-size:19px;line-height:1.3}
.form-section-heading p{font-size:13px;line-height:1.55}
.initiative-checkbox span{font-size:13px}
.budget-summary small{font-size:12px}
.budget-summary strong{font-size:15px}
.evidence-summary>div:first-child{font-size:13px}
.evidence-item span{font-size:13px;line-height:1.4}
.review-grid small,.review-grid span{font-size:12px;line-height:1.4}
.review-grid strong{font-size:14px}
.initiative-current-step{font-size:12px}
.delivery-scope-note{font-size:13px;line-height:1.5}
.delivery-scope-note strong{font-size:14px}

/* Dialogs, alerts and password reset */
.modal-header h2{font-size:20px}
.modal-content{font-size:14px}
.alert,.toast{font-size:13px;line-height:1.5}
.password-reset-force{font-size:13px;line-height:1.45}
.password-reset-user-summary small{font-size:11px}
.password-reset-user-summary strong{font-size:13px}

/* Accessible hover information */
.has-tooltip:after{font-size:12px;line-height:1.45;max-width:310px}

@media(max-width:980px){
  .main-nav button{font-size:14px}
  th,td{font-size:13px}
  th{font-size:11px}
}
@media(max-width:620px){
  body{font-size:14px}
  .page-title h1{font-size:27px}
  .kpi-meta{font-size:12px}
  th,td{padding:12px 11px}
  .panel{padding:16px}
}


/* V8.6 Compact Executive Budget Journey */
.operational-kpis{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:12px}
.budget-journey-card{padding:15px 17px;min-width:0;margin-bottom:12px;border-color:#c8e5df;background:linear-gradient(135deg,#f8fcfb 0%,#fff 62%,#f7fafc 100%);box-shadow:0 6px 18px rgba(11,37,56,.05)}
.budget-journey-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}
.budget-journey-header h2{margin:2px 0 0;font-size:17px;line-height:1.2;letter-spacing:-.02em}
.budget-journey-saving{display:grid;grid-template-columns:auto auto;column-gap:10px;row-gap:1px;align-items:baseline;min-width:0;padding:8px 11px;border:1px solid #bfe2d8;border-radius:10px;background:#fff;text-align:right}
.budget-journey-saving small{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.budget-journey-saving strong{font-size:18px;color:#087865;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.budget-journey-saving span{grid-column:1/-1;font-size:10.5px;line-height:1.3;color:var(--muted)}
.budget-journey-saving.negative{border-color:#efc1c1;background:#fffafa}.budget-journey-saving.negative strong{color:#b42318}
.budget-journey-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.budget-journey-stage{position:relative;display:block;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fff}
.budget-journey-stage span,.budget-journey-stage small{display:block}.budget-journey-stage>span{font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.budget-journey-stage>strong{display:block;margin:5px 0 3px;font-size:16px;line-height:1.2;letter-spacing:-.025em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.budget-journey-stage-help{font-size:10.5px;line-height:1.3;color:#536272}.budget-journey-stage-coverage{margin-top:3px;font-size:10px!important;line-height:1.3;font-weight:700;color:#697785!important}
.budget-journey-stage.initial{border-top:3px solid #7f8fa4}.budget-journey-stage.challenge{border-top:3px solid #d49a2a}.budget-journey-stage.retreat{border-top:3px solid #3979a8}.budget-journey-stage.approved{border-top:3px solid #0c9b83;background:#f8fdfb}
.budget-journey-footer{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;padding-top:9px;border-top:1px solid #dbe9e6;color:var(--muted);font-size:10.5px}.budget-journey-footer b{color:var(--ink);font-size:11.5px}
@media(max-width:1450px){.operational-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.budget-journey-header{align-items:flex-start;flex-direction:column}.budget-journey-saving{width:100%;text-align:left}.budget-journey-stages{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.operational-kpis{grid-template-columns:1fr}.budget-journey-card{padding:14px}.budget-journey-stages{grid-template-columns:1fr}.budget-journey-stage>strong{font-size:17px}}

/* HOME31 V8.8 — Budget Journey tooltip visibility fix */
.budget-journey-card,
.budget-journey-header,
.budget-journey-stages,
.budget-journey-stage,
.budget-journey-footer {
  overflow: visible !important;
}

.budget-journey-card {
  position: relative;
  z-index: 8;
  isolation: auto;
}

.budget-journey-stage {
  position: relative;
  z-index: 1;
  cursor: help;
}

.budget-journey-stage:hover,
.budget-journey-stage:focus-visible {
  z-index: 1002;
}

/* Show Budget Journey tooltips below the stage so they are not hidden by KPI cards above. */
.budget-journey-stage.has-tooltip::after {
  top: calc(100% + 11px);
  bottom: auto;
  left: 50%;
  z-index: 1004;
  width: 270px;
  max-width: min(270px, calc(100vw - 36px));
  padding: 11px 13px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  background: #10293b;
  color: #fff;
  font-size: 12px;
  line-height: 1.5;
  box-shadow: 0 16px 36px rgba(6,24,39,.30);
  transform: translateX(-50%) translateY(-4px);
}

.budget-journey-stage.has-tooltip::before {
  top: calc(100% + 5px);
  bottom: auto;
  left: 50%;
  z-index: 1005;
  border: 6px solid transparent;
  border-top-color: transparent;
  border-bottom-color: #10293b;
  transform: translateX(-50%);
}

.budget-journey-stage.has-tooltip:hover::after,
.budget-journey-stage.has-tooltip:focus-visible::after {
  transform: translateX(-50%) translateY(0);
}

/* Keep edge tooltips inside the viewport on wide layouts. */
.budget-journey-stage:first-child.has-tooltip::after {
  left: 0;
  transform: translateX(0) translateY(-4px);
}
.budget-journey-stage:first-child.has-tooltip:hover::after,
.budget-journey-stage:first-child.has-tooltip:focus-visible::after {
  transform: translateX(0) translateY(0);
}
.budget-journey-stage:first-child.has-tooltip::before {
  left: 28px;
}

.budget-journey-stage:last-child.has-tooltip::after {
  left: auto;
  right: 0;
  transform: translateX(0) translateY(-4px);
}
.budget-journey-stage:last-child.has-tooltip:hover::after,
.budget-journey-stage:last-child.has-tooltip:focus-visible::after {
  transform: translateX(0) translateY(0);
}
.budget-journey-stage:last-child.has-tooltip::before {
  left: auto;
  right: 28px;
  transform: none;
}

/* The card-level definition appears below the full card rather than behind the KPI row. */
.budget-journey-card.has-tooltip::after {
  top: calc(100% + 12px);
  bottom: auto;
  z-index: 1000;
}
.budget-journey-card.has-tooltip::before {
  top: calc(100% + 6px);
  bottom: auto;
  z-index: 1001;
  border-top-color: transparent;
  border-bottom-color: #10293b;
}

@media (max-width: 980px) {
  .budget-journey-stage.has-tooltip::after,
  .budget-journey-stage:first-child.has-tooltip::after,
  .budget-journey-stage:last-child.has-tooltip::after {
    left: 12px;
    right: auto;
    width: min(300px, calc(100vw - 58px));
    transform: translateX(0) translateY(-4px);
  }
  .budget-journey-stage.has-tooltip:hover::after,
  .budget-journey-stage.has-tooltip:focus-visible::after,
  .budget-journey-stage:first-child.has-tooltip:hover::after,
  .budget-journey-stage:first-child.has-tooltip:focus-visible::after,
  .budget-journey-stage:last-child.has-tooltip:hover::after,
  .budget-journey-stage:last-child.has-tooltip:focus-visible::after {
    transform: translateX(0) translateY(0);
  }
  .budget-journey-stage.has-tooltip::before,
  .budget-journey-stage:first-child.has-tooltip::before,
  .budget-journey-stage:last-child.has-tooltip::before {
    left: 30px;
    right: auto;
    transform: translateX(-50%);
  }
}

/* HOME31 V8.9 — Executive KPI tooltip visibility fix */
.command-kpi-grid,
.executive-kpis,
.operational-kpis {
  position: relative;
  z-index: 30;
  overflow: visible !important;
  isolation: auto;
}

.command-kpi {
  position: relative;
  z-index: 1;
  overflow: visible !important;
}

.command-kpi:hover,
.command-kpi:focus-visible {
  z-index: 3000;
}

/* Display KPI explanations below the six cards and above the Budget Journey. */
.command-kpi.has-tooltip::after {
  top: calc(100% + 12px);
  bottom: auto;
  left: 50%;
  z-index: 3002;
  width: 270px;
  max-width: min(270px, calc(100vw - 36px));
  padding: 11px 13px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  background: #10293b;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  text-align: left;
  white-space: normal;
  box-shadow: 0 18px 40px rgba(6,24,39,.34);
  transform: translateX(-50%) translateY(-4px);
}

.command-kpi.has-tooltip::before {
  top: calc(100% + 6px);
  bottom: auto;
  left: 50%;
  z-index: 3003;
  border: 6px solid transparent;
  border-top-color: transparent;
  border-bottom-color: #10293b;
  transform: translateX(-50%);
}

.command-kpi.has-tooltip:hover::after,
.command-kpi.has-tooltip:focus-visible::after {
  transform: translateX(-50%) translateY(0);
}

/* Keep the first and last KPI tooltips inside the viewport. */
.command-kpi:first-child.has-tooltip::after {
  left: 0;
  transform: translateX(0) translateY(-4px);
}
.command-kpi:first-child.has-tooltip:hover::after,
.command-kpi:first-child.has-tooltip:focus-visible::after {
  transform: translateX(0) translateY(0);
}
.command-kpi:first-child.has-tooltip::before {
  left: 28px;
}

.command-kpi:last-child.has-tooltip::after {
  left: auto;
  right: 0;
  transform: translateX(0) translateY(-4px);
}
.command-kpi:last-child.has-tooltip:hover::after,
.command-kpi:last-child.has-tooltip:focus-visible::after {
  transform: translateX(0) translateY(0);
}
.command-kpi:last-child.has-tooltip::before {
  left: auto;
  right: 28px;
  transform: none;
}

/* Ensure the section immediately below does not paint over KPI tooltips. */
.command-kpi-grid + .budget-journey-card,
.operational-kpis + .budget-journey-card {
  position: relative;
  z-index: 1;
}

@media (max-width: 1300px) {
  .command-kpi:nth-child(3n + 1).has-tooltip::after {
    left: 0;
    right: auto;
    transform: translateX(0) translateY(-4px);
  }
  .command-kpi:nth-child(3n + 1).has-tooltip:hover::after,
  .command-kpi:nth-child(3n + 1).has-tooltip:focus-visible::after {
    transform: translateX(0) translateY(0);
  }
  .command-kpi:nth-child(3n + 1).has-tooltip::before {
    left: 28px;
    right: auto;
    transform: translateX(-50%);
  }
  .command-kpi:nth-child(3n).has-tooltip::after {
    left: auto;
    right: 0;
    transform: translateX(0) translateY(-4px);
  }
  .command-kpi:nth-child(3n).has-tooltip:hover::after,
  .command-kpi:nth-child(3n).has-tooltip:focus-visible::after {
    transform: translateX(0) translateY(0);
  }
  .command-kpi:nth-child(3n).has-tooltip::before {
    left: auto;
    right: 28px;
    transform: none;
  }
}

@media (max-width: 720px) {
  .command-kpi.has-tooltip::after,
  .command-kpi:first-child.has-tooltip::after,
  .command-kpi:last-child.has-tooltip::after {
    left: 12px;
    right: auto;
    width: min(300px, calc(100vw - 58px));
    transform: translateX(0) translateY(-4px);
  }
  .command-kpi.has-tooltip:hover::after,
  .command-kpi.has-tooltip:focus-visible::after,
  .command-kpi:first-child.has-tooltip:hover::after,
  .command-kpi:first-child.has-tooltip:focus-visible::after,
  .command-kpi:last-child.has-tooltip:hover::after,
  .command-kpi:last-child.has-tooltip:focus-visible::after {
    transform: translateX(0) translateY(0);
  }
  .command-kpi.has-tooltip::before,
  .command-kpi:first-child.has-tooltip::before,
  .command-kpi:last-child.has-tooltip::before {
    left: 30px;
    right: auto;
    transform: translateX(-50%);
  }
}

/* HOME31 V9.3.3 — Management Priority table correction */
.priority-issues-panel{overflow:hidden;margin-bottom:15px}
.priority-issues-heading{align-items:flex-start;gap:18px}
.priority-issues-heading>div{display:grid;gap:3px}
.priority-issues-heading>div>strong{font-size:18px;line-height:1.2}

.priority-issues-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 16px}
.priority-issues-summary>div{display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fafb}
.priority-issues-summary span{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#53677a}
.priority-issues-summary strong{grid-row:1/3;grid-column:2;font-size:23px;line-height:1}
.priority-issues-summary small{font-size:8px;color:var(--muted)}
.priority-issues-summary .critical{border-left:4px solid var(--red-600);background:#fff7f7}
.priority-issues-summary .watch{border-left:4px solid var(--amber-600);background:#fffaf1}
.priority-issues-summary .overdue{border-left:4px solid #94515c}
.priority-issues-summary .decision{border-left:4px solid var(--blue-600)}

.management-attention-filters{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(145px,1fr)) auto;gap:9px;align-items:end;padding:14px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f7f9fb}
.management-attention-filters label{display:grid;gap:5px;min-width:0}
.management-attention-filters label>span{font-size:7px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.management-attention-filters input,.management-attention-filters select{width:100%;min-height:38px;padding:9px 10px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--ink);outline:none}
.management-attention-filters input:focus,.management-attention-filters select:focus{border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(20,168,151,.12)}
.management-attention-filters button{min-height:38px;white-space:nowrap}
.management-attention-filters button:disabled{cursor:not-allowed;opacity:.48;transform:none}

.priority-issues-table{min-width:1130px}
.priority-issues-table th:nth-child(1){width:145px;min-width:145px}
.priority-issues-table th:nth-child(2){min-width:310px}
.priority-issues-table th:nth-child(3){min-width:360px}
.priority-issues-table th:nth-child(4){min-width:205px}
.priority-issues-table th:nth-child(5){width:155px;min-width:155px}
.priority-issues-table th:nth-child(6){width:130px;min-width:130px}
.priority-issue-row td:first-child{border-left:4px solid transparent}
.priority-issue-row.critical td:first-child{border-left-color:var(--red-600)}
.priority-issue-row.watch td:first-child{border-left-color:var(--amber-600)}
.priority-issue-row.stable td:first-child{border-left-color:var(--green-600)}
.priority-issue-row:hover{background:#fbfcfd}
.priority-issue-chips{display:flex;flex-wrap:wrap;gap:5px}
.priority-issue-chips .decision-chip{margin:0}
.priority-issue-chips .issue-overdue{background:#fff0f0;color:#a52e2e}
.priority-issue-chips .issue-ownership,.priority-issue-chips .issue-target,.priority-issue-chips .issue-next-action{background:#edf1f4;color:#576678}
.priority-issue-chips .issue-delivery{background:#fff4df;color:#925b0b}
.priority-issue-chips .issue-decision{background:#eaf2ff;color:#255b9d}

@media(max-width:1300px){
  .management-attention-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .management-attention-search{grid-column:span 2}
}
@media(max-width:900px){
  .priority-issues-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .management-attention-filters{grid-template-columns:1fr 1fr}
  .management-attention-search{grid-column:1/-1}
}
@media(max-width:560px){
  .priority-issues-summary,.management-attention-filters{grid-template-columns:1fr}
  .management-attention-search{grid-column:auto}
}
@media print{
  .management-attention-filters{display:none!important}
  .priority-issues-table{min-width:0;font-size:8px}
}


/* HOME31 V9.3.4 — Priority Issues fixed data alignment */
.priority-issues-register{width:100%;overflow-x:auto;background:#fff}
.priority-issues-grid{--priority-columns:minmax(150px,.7fr) minmax(330px,1.55fr) minmax(390px,1.8fr) minmax(210px,.95fr) minmax(165px,.75fr) minmax(135px,.6fr);display:grid;grid-template-columns:var(--priority-columns);min-width:1380px}
.priority-issues-grid-head{position:sticky;top:0;z-index:2;background:#f6f8fa;border-bottom:1px solid var(--line)}
.priority-issues-grid-head>div{display:flex;align-items:center;min-height:62px;padding:13px 15px;color:#56677c;text-transform:uppercase;letter-spacing:.065em;font-size:8px;font-weight:900}
.priority-issues-grid-head>div.amount{justify-content:flex-end;text-align:right}
.priority-issues-grid-body{min-width:1380px}
.priority-issue-row{position:relative;border-left:4px solid transparent;background:#fff}
.priority-issue-row.critical{border-left-color:var(--red-600)}
.priority-issue-row.watch{border-left-color:var(--amber-600)}
.priority-issue-row.stable{border-left-color:var(--green-600)}
.priority-issue-row:hover{background:#fbfcfd}
.priority-issue-row>.priority-cell{display:flex;align-items:center;min-width:0;min-height:112px;padding:16px 15px;border-bottom:1px solid #eaf0f4;font-size:10px;line-height:1.45}
.priority-issue-row>.priority-project{align-items:flex-start;justify-content:center;flex-direction:column}
.priority-project strong,.priority-project span{display:block}
.priority-project strong{font-size:11px;line-height:1.4}
.priority-project span{margin-top:4px}
.priority-issue-row>.priority-issues{align-items:flex-start;padding-top:17px}
.priority-issue-row>.priority-owner{font-size:10px}
.priority-issue-row>.priority-budget{justify-content:flex-end;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.priority-issue-row>.priority-due{white-space:nowrap}
.priority-issues-empty{min-width:1380px;border-bottom:1px solid #eaf0f4}
@media(max-width:720px){
  .priority-issues-grid{--priority-columns:minmax(130px,.7fr) minmax(280px,1.45fr) minmax(330px,1.7fr) minmax(180px,.9fr) minmax(145px,.7fr) minmax(120px,.6fr);min-width:1190px}
  .priority-issues-grid-body,.priority-issues-empty{min-width:1190px}
  .priority-issue-row>.priority-cell{min-height:100px;padding:13px 12px}
}
@media print{
  .priority-issues-register{overflow:visible}
  .priority-issues-grid,.priority-issues-grid-body,.priority-issues-empty{min-width:0}
  .priority-issues-grid{--priority-columns:110px 1.35fr 1.65fr 1fr 110px 95px}
}

/* ==========================================================================\n   HOME31 V9.4 — Standardised Enterprise Theme\n   Visual layer only: preserves existing functionality, data and API behaviour.\n   ========================================================================== */
:root{
  --home31-brand:#8e1019;
  --home31-brand-dark:#6f0d14;
  --home31-brand-soft:#f8e9ea;
  --home31-navy:#0b2538;
  --home31-navy-soft:#153d55;
  --home31-gold:#c79429;
  --home31-gold-soft:#fff6df;
  --home31-info:#57999b;
  --home31-bg:#f4f6f8;
  --home31-surface:#fff;
  --home31-text:#172434;
  --home31-muted:#68768a;
  --home31-line:#dfe6ed;
  --navy-950:#061827;
  --navy-900:var(--home31-navy);
  --navy-800:var(--home31-navy-soft);
  --ink:var(--home31-text);
  --muted:var(--home31-muted);
  --line:var(--home31-line);
  --line-strong:#cbd6df;
  --surface:var(--home31-surface);
  --surface-2:#f7f8fa;
  --bg:var(--home31-bg);
  --shadow:0 12px 32px rgba(11,37,56,.08);
  --radius:15px;
  --font:"IBM Plex Sans",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body{background:var(--home31-bg);font-family:var(--font);font-size:14px;line-height:1.5}
.topbar{height:74px;border-bottom:1px solid #e4e8ed;background:rgba(255,255,255,.97);box-shadow:0 3px 14px rgba(11,37,56,.045)}
.brand-mark{background:linear-gradient(135deg,var(--home31-brand),#b84a51 62%,var(--home31-gold));box-shadow:0 9px 24px rgba(142,16,25,.22)}
.topbar-brand strong,.login-brand strong{color:inherit;letter-spacing:.1em}
.topbar-brand small{color:var(--home31-muted)}
.main-nav button{padding:0 13px;color:#59677a;font-size:12px;font-weight:700}
.main-nav button:hover{color:var(--home31-brand);background:#fff8f7}
.main-nav button.active{color:var(--home31-brand);border-bottom-color:var(--home31-brand);background:linear-gradient(180deg,transparent,#fff8f7)}
.btn{border-radius:10px;font-weight:700}
.btn.primary{background:linear-gradient(135deg,var(--home31-brand-dark),var(--home31-brand));box-shadow:0 7px 18px rgba(142,16,25,.20)}
.btn.secondary{background:#eef1f4;color:#304258}
.btn.outline{border-color:#cfd8e1;color:#35465b}
.btn.outline:hover{border-color:#c69a9e;color:var(--home31-brand);background:#fff9f8}
.icon-button{background:#f0f2f5;color:#34465a}
.avatar{background:linear-gradient(135deg,var(--home31-navy),var(--home31-brand))}
.user-chip{border-color:#dfe5eb;box-shadow:0 3px 10px rgba(11,37,56,.035)}
.login-visual{background:radial-gradient(circle at 15% 15%,rgba(199,148,41,.22),transparent 27%),radial-gradient(circle at 88% 82%,rgba(142,16,25,.26),transparent 30%),linear-gradient(145deg,var(--home31-navy),var(--home31-navy-soft) 66%,var(--home31-brand-dark))}
.login-icon{background:var(--home31-brand-soft);color:var(--home31-brand)}
.login-card{border-color:#e2e7ec;box-shadow:0 22px 60px rgba(11,37,56,.11)}
.eyebrow{color:var(--home31-brand)}
.eyebrow.light,.command-kicker{color:#e7c36e}
.field input:focus,.field select:focus,.field textarea:focus,.toolbar input:focus,.toolbar select:focus,.project-filter-grid input:focus,.project-filter-grid select:focus,.dashboard-filter-control select:focus{border-color:var(--home31-brand);box-shadow:0 0 0 3px rgba(142,16,25,.10)}
.page-root{width:min(100% - 38px,1580px);padding-top:26px}
.page-title h1{font-size:31px;font-weight:700;color:var(--home31-navy)}
.page-title p{font-size:13px;line-height:1.6}
.card{border-color:#e1e7ed;border-radius:var(--radius);box-shadow:0 5px 18px rgba(11,37,56,.045)}
.card:hover{border-color:#d8e0e8}
.kpi-card,.command-kpi,.project-kpi{background:#fff}
.kpi-value,.command-kpi>strong,.project-kpi strong{font-weight:700}
.kpi-icon,.command-kpi-top i{background:var(--home31-brand-soft);color:var(--home31-brand)}
.command-kpi.active,.project-kpi.active{border-color:var(--home31-brand);box-shadow:0 0 0 3px rgba(142,16,25,.10)}
.command-kpi.featured,.project-kpi.total{background:linear-gradient(145deg,#fff5f4,#fff)}
.command-hero,.project-command-hero,.analytics-hero,.management-priority-hero{background:radial-gradient(circle at 88% 4%,rgba(199,148,41,.21),transparent 28%),radial-gradient(circle at 12% 100%,rgba(142,16,25,.23),transparent 35%),linear-gradient(135deg,var(--home31-navy),var(--home31-navy-soft) 68%,#74121a);color:#fff;box-shadow:0 16px 38px rgba(11,37,56,.16)}
.command-filter-grid select{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22)}
.command-filter-grid .btn{border-color:rgba(255,255,255,.26);background:rgba(255,255,255,.09)}
.summary-strip{background:linear-gradient(135deg,var(--home31-navy),var(--home31-navy-soft));box-shadow:0 10px 28px rgba(11,37,56,.10)}
.executive-insight-card{border-color:#e2d5b4;background:linear-gradient(135deg,#fffaf0,#f7f9fb)}
.bar-fill,.budget-stage-track i,.amp-trend-track i{background:linear-gradient(90deg,var(--home31-brand),var(--home31-gold))}
.compare-new{background:var(--home31-brand)}
.amp-line{stroke:var(--home31-brand)}
.amp-point circle{stroke:var(--home31-brand)}
.tabs button.active,.register-tabs button.active,.project-view-switch button.active,.project-timeline-scale button.active,.timeline-scale-switch button.active,.phase3-tabs button.active{background:var(--home31-navy);color:#fff}
th{background:#f7f8fa;color:#556579;font-size:9px;font-weight:700}
td{font-size:11px}
.action-button{background:#f0f2f5;color:#40536a}
.action-button:hover{background:var(--home31-brand-soft);color:var(--home31-brand)}
.project-row-actions .primary-action{background:var(--home31-brand-soft);color:var(--home31-brand)}
.timeline-bar,.timeline-flex-bar.on_track{background:linear-gradient(90deg,var(--home31-brand),#b84a51)}
.modal-card{border:1px solid #e0e6ec;box-shadow:0 36px 95px rgba(0,0,0,.28)}
.modal-header{border-bottom-color:#e4e8ed}
.footer{color:#7a8595}

.analytics-hero,.management-priority-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(620px,1.2fr);gap:24px;align-items:end;margin-bottom:15px;padding:24px;border-radius:20px}
.analytics-hero h1,.management-priority-hero h1{margin:7px 0 8px;font-size:31px;letter-spacing:-.04em}
.analytics-hero p,.management-priority-hero p{max-width:760px;margin:0;color:#d5e0e8;font-size:12px;line-height:1.6}
.analytics-tabs{position:sticky;top:84px;z-index:20;display:flex;gap:6px;overflow-x:auto;margin:0 0 15px;padding:6px;border:1px solid var(--home31-line);border-radius:13px;background:rgba(255,255,255,.96);box-shadow:0 5px 18px rgba(11,37,56,.05);backdrop-filter:blur(8px)}
.analytics-tabs button{white-space:nowrap;border:0;border-radius:9px;background:transparent;padding:10px 14px;color:#5d6b7d;font-size:11px;font-weight:700}
.analytics-tabs button:hover{color:var(--home31-brand);background:#fff7f6}
.analytics-tabs button.active{color:#fff;background:linear-gradient(135deg,var(--home31-brand-dark),var(--home31-brand));box-shadow:0 5px 13px rgba(142,16,25,.17)}
.analytics-tab-content{min-height:480px}
.analytics-grid{margin-bottom:14px}
.analytics-kpis,.management-priority-kpis{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:15px}
.analytics-control-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:15px 17px;border:1px solid var(--home31-line);border-radius:14px;background:#fff}
.analytics-control-row strong,.analytics-control-row span{display:block}
.analytics-control-row strong{font-size:14px;color:var(--home31-navy)}
.analytics-control-row span{margin-top:3px;color:var(--home31-muted);font-size:10px}
.analytics-control-row select{padding:9px 11px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--ink)}
.management-priority-intro{margin-top:0}
.management-priority-kpis .kpi-card{min-height:118px}

@media(max-width:1300px){.analytics-hero,.management-priority-hero{grid-template-columns:1fr}.analytics-kpis,.management-priority-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.analytics-tabs{top:80px}.analytics-control-row{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){.analytics-hero,.management-priority-hero{padding:18px}.analytics-hero h1,.management-priority-hero h1{font-size:27px}.analytics-kpis,.management-priority-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.analytics-kpis,.management-priority-kpis{grid-template-columns:1fr}}



/* ==========================================================================\n   HOME31 V9.4.1 — Command Centre V3 Refined\n   Presentation and client-side interaction only. No database/API changes.\n   ========================================================================== */
button,input,select,textarea,table,th,td{font-family:var(--font)}
.command-centre-v3{grid-template-columns:minmax(0,1.08fr) minmax(520px,.92fr);padding:21px 23px;align-items:start}
.command-centre-v3 h1{font-size:34px;margin:7px 0 7px}
.command-centre-v3 p{font-size:13px;max-width:780px}
.command-centre-v3 .command-data-basis{font-size:10px;margin-top:12px}
.command-finance-mini{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}
.command-finance-mini article{min-width:0;padding:10px 11px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:rgba(255,255,255,.075)}
.command-finance-mini span,.command-finance-mini strong,.command-finance-mini small{display:block}
.command-finance-mini span{color:#d9c17d;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.command-finance-mini strong{margin-top:4px;color:#fff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.command-finance-mini small{margin-top:2px;color:#b9cad5;font-size:8px}
.executive-kpis.command-centre-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.command-centre-kpis .command-kpi{min-height:138px;padding:17px;min-width:0;overflow:hidden}
.command-centre-kpis .command-kpi-top b{font-size:10px}
.command-centre-kpis .command-kpi>strong{font-size:clamp(17px,1.7vw,24px);line-height:1.08;word-break:break-word;overflow-wrap:anywhere;letter-spacing:-.03em;max-width:100%}
.command-centre-kpis .command-kpi>small{font-size:10px;line-height:1.45}
.kpi-value{font-size:clamp(18px,1.9vw,25px);word-break:break-word;overflow-wrap:anywhere;line-height:1.08}
.command-kpi>strong{word-break:break-word;overflow-wrap:anywhere}
.executive-brief-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;overflow:hidden;margin:14px 0;border:1px solid #dfe5eb;border-radius:16px;background:#fff;box-shadow:0 6px 20px rgba(11,37,56,.045)}
.executive-brief-card>article{padding:17px 18px;border-right:1px solid var(--line)}
.executive-brief-card span,.executive-brief-card strong{display:block}
.executive-brief-card span{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.executive-brief-card strong{margin-top:7px;font-size:13px;line-height:1.5;color:var(--navy-900)}
.executive-brief-actions{display:flex;align-items:center;gap:8px;padding:14px;white-space:nowrap}
.command-centre-signals{margin-top:17px}
.management-overview-panel{overflow:hidden;margin-top:15px}
.management-overview-heading{align-items:center}
.management-overview-heading>div:first-child{display:grid;gap:4px}
.management-overview-heading>div:first-child>strong{font-size:18px;color:var(--navy-900)}
.management-overview-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.management-overview-tools label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px;font-weight:800}
.management-overview-tools select{min-height:34px;padding:0 9px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--ink)}
.management-overview-table-wrap{position:relative;max-width:100%}
.management-overview-table{min-width:1320px}
.management-overview-table th,.management-overview-table td{padding:13px 14px;font-size:11px;line-height:1.45}
.management-overview-table th{font-size:9px}
.management-overview-table tbody tr:nth-child(even){background:#fbfcfd}
.management-overview-table tbody tr:hover{background:#fff8f7}
.management-sortable{cursor:pointer;user-select:none}
.management-sortable:after{content:' ↕';color:#9aa6b3;font-size:8px}
.management-sortable.sorted-asc:after{content:' ↑';color:var(--home31-brand)}
.management-sortable.sorted-desc:after{content:' ↓';color:var(--home31-brand)}
.management-sticky-project{position:sticky;left:0;z-index:1;background:inherit;box-shadow:1px 0 0 var(--line)}
.management-overview-table thead .management-sticky-project{z-index:3;background:#f7f8fa}
.management-overview-table td.management-sticky-project strong{font-size:12px}
.management-row-actions{display:flex;gap:6px;white-space:nowrap}
.management-row-actions .action-button{min-height:32px;padding:0 10px;font-size:10px}
.management-row-actions .management-view{border:1px solid #d8b3b6;background:#fff;color:var(--home31-brand)}
.management-row-actions .management-edit{border:1px solid var(--line);background:#fff;color:#40536a}
.management-row-actions .management-view:hover{background:var(--home31-brand-soft)}
.management-row-actions .management-edit:hover{background:#f2f4f6}
.management-overview-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;border-top:1px solid var(--line);background:#fbfcfd;color:var(--muted);font-size:10px}
.management-overview-pagination>div{display:flex;align-items:center;gap:5px}
.management-page-button{min-width:33px;height:33px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#40536a;font-size:10px;font-weight:800}
.management-page-button.active{border-color:var(--home31-brand);background:var(--home31-brand);color:#fff}
.management-page-button:disabled{opacity:.45;cursor:not-allowed}
.management-page-gap{padding:0 3px;color:var(--muted)}
.management-attention-filters{background:#fbfcfd}
.management-attention-filters label>span{font-size:9px}
.management-attention-filters input,.management-attention-filters select{font-size:11px}
.priority-issues-summary span,.priority-issues-summary small{font-size:9px}
.priority-issues-summary strong{font-size:24px}

@media(max-width:1300px){
  .command-centre-v3{grid-template-columns:1fr}
  .executive-kpis.command-centre-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:980px){
  .command-finance-mini{grid-template-columns:repeat(2,minmax(0,1fr))}
  .executive-brief-card{grid-template-columns:1fr}
  .executive-brief-card>article{border-right:0;border-bottom:1px solid var(--line)}
  .executive-brief-actions{justify-content:flex-start}
}
@media(max-width:720px){
  .executive-kpis.command-centre-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .management-overview-heading,.management-overview-pagination{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){
  .command-finance-mini,.executive-kpis.command-centre-kpis{grid-template-columns:1fr}
}
@media print{
  .management-overview-tools,.management-attention-filters,.management-overview-pagination,.management-row-actions .management-edit{display:none!important}
  .management-overview-table{min-width:0}
  .management-sticky-project{position:static;box-shadow:none}
}

/* HOME31 V9.5 — cinematic login only */
.cinematic-login{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);background:#04111d;color:#fff}
.cinematic-login::before{content:"";position:absolute;inset:-20%;z-index:-5;background:radial-gradient(circle at 18% 18%,rgba(20,168,151,.24),transparent 26%),radial-gradient(circle at 72% 28%,rgba(36,104,180,.24),transparent 30%),radial-gradient(circle at 52% 82%,rgba(142,16,25,.18),transparent 25%),linear-gradient(135deg,#04111d,#08243a 58%,#071b2a);animation:cinematicBreathe 10s ease-in-out infinite alternate}
.login-particle-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2;opacity:.9}
.cinematic-grid{position:absolute;inset:0;z-index:-4;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:54px 54px;transform:perspective(700px) rotateX(62deg) scale(1.6) translateY(24%);transform-origin:center bottom;mask-image:linear-gradient(to top,#000 25%,transparent 82%);animation:gridDrift 14s linear infinite}
.cinematic-scan{position:absolute;inset:-40% 0 auto;height:34%;z-index:-1;background:linear-gradient(to bottom,transparent,rgba(47,218,196,.10),transparent);filter:blur(12px);animation:scanSweep 7s ease-in-out infinite}
.cinematic-orbit{position:absolute;border:1px solid rgba(117,226,211,.18);border-radius:50%;z-index:-1}.orbit-one{width:620px;height:620px;left:8%;top:6%;animation:orbitSpin 28s linear infinite}.orbit-two{width:410px;height:410px;left:22%;top:25%;border-style:dashed;animation:orbitSpin 20s linear infinite reverse}
.cinematic-orbit::before,.cinematic-orbit::after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#54dec9;box-shadow:0 0 24px #54dec9}.cinematic-orbit::before{left:12%;top:18%}.cinematic-orbit::after{right:6%;bottom:28%;background:#5ba7ff;box-shadow:0 0 24px #5ba7ff}
.login-story-panel{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(34px,5vw,76px);min-width:0}
.cinematic-brand{animation:fadeSlide .9s cubic-bezier(.2,.8,.2,1) both}.cinematic-copy{max-width:760px;animation:fadeSlide 1s .18s cubic-bezier(.2,.8,.2,1) both}.cinematic-copy h1{margin:14px 0 20px;font-size:clamp(48px,6vw,86px);line-height:.98;letter-spacing:-.055em;text-wrap:balance}.cinematic-copy p{max-width:660px;margin:0;color:#c9dce8;font-size:clamp(17px,1.45vw,22px);line-height:1.6}
.cinematic-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:720px;animation:fadeSlide 1s .4s cubic-bezier(.2,.8,.2,1) both}.cinematic-metrics article{position:relative;overflow:hidden;padding:14px 15px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.055);backdrop-filter:blur(15px)}.cinematic-metrics span,.cinematic-metrics strong{display:block}.cinematic-metrics span{color:#86d9cf;font-size:9px;font-weight:900;letter-spacing:.13em}.cinematic-metrics strong{margin-top:7px;font-size:14px}.cinematic-metrics i{position:absolute;left:0;bottom:0;height:2px;width:100%;background:linear-gradient(90deg,transparent,#5ce1cf,transparent);animation:metricSweep 3.2s ease-in-out infinite}
.cinematic-network{position:absolute;right:4%;top:20%;width:min(43vw,620px);aspect-ratio:1;pointer-events:none}.network-core,.network-node{position:absolute;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(123,226,213,.25);background:rgba(5,25,40,.68);backdrop-filter:blur(10px);box-shadow:0 0 38px rgba(26,179,158,.10)}.network-core{left:50%;top:50%;width:120px;height:120px;transform:translate(-50%,-50%);font-weight:900;letter-spacing:.08em;color:#dffff9;animation:corePulse 3s ease-in-out infinite}.network-core::before{content:"";position:absolute;inset:-18px;border:1px solid rgba(91,167,255,.2);border-radius:50%;animation:corePulse 3s .7s ease-in-out infinite}.network-node{width:96px;height:42px;font-size:10px;color:#cde2ec;animation:nodeFloat 5s ease-in-out infinite}.n1{left:5%;top:15%}.n2{right:2%;top:20%;animation-delay:.7s}.n3{right:0;bottom:20%;animation-delay:1.2s}.n4{left:7%;bottom:15%;animation-delay:1.7s}.n5{left:50%;top:2%;transform:translateX(-50%);animation-delay:2.2s}.cinematic-network::before,.cinematic-network::after{content:"";position:absolute;inset:10%;border:1px solid rgba(255,255,255,.08);border-radius:50%;animation:orbitSpin 18s linear infinite}.cinematic-network::after{inset:25%;border-style:dashed;animation-direction:reverse;animation-duration:12s}
.cinematic-form-panel{position:relative;display:grid;place-items:center;padding:28px;background:linear-gradient(90deg,transparent,rgba(3,15,25,.36) 18%,rgba(3,15,25,.72));backdrop-filter:blur(3px)}
.cinematic-card{width:min(455px,100%);padding:34px;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.055));box-shadow:0 30px 90px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(28px) saturate(1.25);color:#fff;animation:cardReveal 1s .25s cubic-bezier(.16,1,.3,1) both}.login-card-brand{display:flex;align-items:center;gap:11px;margin-bottom:28px}.login-card-brand strong,.login-card-brand small{display:block}.login-card-brand small{margin-top:3px;color:#9db6c5;font-size:11px}.login-heading h2{margin:7px 0 7px;font-size:30px;letter-spacing:-.035em}.login-heading p{margin:0 0 24px;color:#aebfca;line-height:1.55}
.login-field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.login-field>span{font-size:12px;font-weight:800;color:#d7e6ee}.login-input-wrap{position:relative}.login-input-wrap input{width:100%;min-height:48px;padding:12px 72px 12px 43px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.07);color:#fff;outline:none;transition:.2s}.login-input-wrap input::placeholder{color:rgba(220,235,242,.38)}.login-input-wrap input:focus{border-color:rgba(83,223,203,.62);background:rgba(255,255,255,.10);box-shadow:0 0 0 4px rgba(30,188,166,.12)}.login-input-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#6bdcc9;font-size:12px}.login-password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;border-radius:8px;padding:7px 8px;background:transparent;color:#9fc3cf;font-size:11px;font-weight:800}.login-password-toggle:hover{background:rgba(255,255,255,.08);color:#fff}.login-submit{min-height:49px;margin-top:5px;background:linear-gradient(135deg,#08766c,#14a897);box-shadow:0 12px 28px rgba(8,118,108,.35)}.login-submit span{pointer-events:none}.login-submit i{font-style:normal;font-size:18px}.login-submit.is-loading i{animation:arrowPulse .7s ease-in-out infinite}.login-security-note{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:15px;color:#93a9b6;font-size:11px}.security-dot{width:7px;height:7px;border-radius:50%;background:#4bd7b9;box-shadow:0 0 12px #4bd7b9;animation:statusPulse 2s ease-in-out infinite}.login-author-credit{display:grid;gap:3px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.09);text-align:center}.login-author-credit span,.login-author-credit small{color:#879da9;font-size:10px}.login-author-credit strong{color:#83ded2;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.cinematic-login .alert.danger{border-color:rgba(255,132,132,.38);background:rgba(118,22,22,.35);color:#ffd7d7}
@keyframes cinematicBreathe{to{transform:translate3d(2%,-1%,0) scale(1.04)}}@keyframes gridDrift{to{background-position:0 54px,54px 0}}@keyframes scanSweep{0%,15%{transform:translateY(-120%)}65%,100%{transform:translateY(520%)}}@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes fadeSlide{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes cardReveal{from{opacity:0;transform:translate3d(32px,18px,0) scale(.97)}to{opacity:1;transform:none}}@keyframes metricSweep{0%{transform:translateX(-100%)}70%,100%{transform:translateX(100%)}}@keyframes corePulse{50%{transform:translate(-50%,-50%) scale(1.05);box-shadow:0 0 55px rgba(64,222,199,.22)}}@keyframes nodeFloat{50%{transform:translateY(-9px)}}@keyframes arrowPulse{50%{transform:translateX(4px)}}@keyframes statusPulse{50%{opacity:.45;transform:scale(.8)}}
@media(max-width:1100px){.cinematic-network{opacity:.58;right:-8%}.cinematic-copy h1{font-size:clamp(44px,7vw,72px)}}
@media(max-width:900px){.cinematic-login{grid-template-columns:1fr}.login-story-panel{min-height:42vh;padding:32px 24px}.cinematic-copy h1{font-size:46px}.cinematic-copy p{font-size:16px}.cinematic-metrics{display:none}.cinematic-network{width:440px;right:-120px;top:4%;opacity:.35}.cinematic-form-panel{padding:18px 18px 34px;background:linear-gradient(180deg,transparent,rgba(3,15,25,.76) 24%)}.cinematic-card{width:min(520px,100%)}}
@media(max-width:560px){.login-story-panel{min-height:34vh}.cinematic-brand small{display:none}.cinematic-copy h1{font-size:38px}.cinematic-copy p{font-size:14px}.cinematic-network{display:none}.cinematic-card{padding:26px 22px}.login-heading h2{font-size:26px}.cinematic-grid{opacity:.45}}
@media(prefers-reduced-motion:reduce){.cinematic-login *, .cinematic-login *::before,.cinematic-login *::after{animation:none!important;transition:none!important}.login-particle-canvas{display:none}.cinematic-grid{transform:none;opacity:.25}}


/* HOME31 V9.5.3 — Frontend-only session security */
.login-remember{display:flex;align-items:center;gap:9px;margin:2px 0 8px;color:#405167;font-size:11px;font-weight:750;cursor:pointer}
.login-remember input{width:16px;height:16px;accent-color:var(--teal-700)}
.login-timeout-note{margin:0 0 14px!important;color:var(--muted);font-size:10px!important;line-height:1.45}
.idle-warning-layer{position:fixed;inset:0;z-index:190;display:grid;place-items:center;padding:20px;background:rgba(4,19,31,.68);backdrop-filter:blur(6px)}
.idle-warning-card{width:min(440px,100%);padding:28px;border:1px solid rgba(255,255,255,.5);border-radius:22px;background:#fff;box-shadow:0 34px 90px rgba(0,0,0,.35);text-align:center}
.idle-warning-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 14px;border-radius:17px;background:#fff4df;color:var(--amber-600);font-size:26px}
.idle-warning-card h2{margin:8px 0 10px;font-size:24px;letter-spacing:-.03em}
.idle-warning-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.idle-warning-card p strong{color:var(--red-600);font-size:17px}
.idle-warning-actions{display:flex;justify-content:center;gap:9px;margin-top:22px}
@media(max-width:520px){.idle-warning-actions{flex-direction:column-reverse}.idle-warning-actions .btn{width:100%}}

/* HOME31 v9.5.6.2 — Project execution task tree */
.task-strip{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 12px;padding:10px 14px;border:1px solid var(--line);border-radius:11px;background:#f8fafb;font-size:11px}
.task-strip span b{margin-right:4px;font-size:13px}
.task-strip .bad b,.task-strip .warn b{color:var(--red-600)}
.task-strip .ok b{color:var(--green-600)}
.task-toggle{flex:0 0 22px;width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:#40536a;font-size:9px}
.task-toggle:hover{border-color:var(--home31-brand);color:var(--home31-brand);background:var(--home31-brand-soft)}
.task-toggle.open{background:#fff;border-color:var(--teal-500);color:var(--teal-700)}
.task-tree-row>td{padding:0!important;background:#fbfcfd}
.task-tree{display:flex;flex-direction:column;gap:5px;padding:11px 13px 13px 46px}
.task-rollup{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:7px 10px;margin-bottom:4px;border:1px dashed #cfd8e1;border-radius:8px;background:#f4f7fa;font-size:10px;color:#4c5f73}
.task-node{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #e3e9ef;border-left-width:3px;border-radius:9px;background:#fff}
.task-node.depth-1{background:#f1f7ff;border-color:#c9ddf0}
.task-node.depth-2{margin-left:26px;background:#fff8e8;border-color:#efd9a7;box-shadow:inset 3px 0 #d99a22}
.task-node.status-in_progress{border-left-color:var(--blue-600)}
.task-node.status-completed{border-left-color:var(--green-600);background:#f7fcf9}
.task-node.status-blocked{border-left-color:var(--red-600);background:#fff8f8}
.task-node.status-not_started{border-left-color:#c4ced8}
.task-node.status-cancelled{opacity:.55;border-left-color:#c4ced8}
.task-main{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}
.task-main strong{font-size:11px}
.task-level{padding:2px 6px;border-radius:99px;font-size:8px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.task-level.main{background:#dcecff;color:#174c7c}
.task-level.sub{background:#ffebbe;color:#875300}
.task-progress{width:70px;height:6px;border-radius:99px;background:#e8eef2;overflow:hidden;display:inline-block}
.task-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--home31-brand),var(--home31-gold))}
.task-meta{color:var(--muted);font-size:9px}
.overdue-text{color:var(--red-600)}
.task-blocked{max-width:280px;color:#a33;font-size:9px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-actions{display:flex;gap:5px;white-space:nowrap}
.task-add-root{align-self:flex-start;margin-top:3px}

/* Timeline WBS (ClickUp-style) */
.timeline-toolbar select{min-height:36px;padding:0 10px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--ink);font-size:11px}
.timeline-toolbar>button{border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:#40536a;font-size:9px;font-weight:850;padding:8px 11px}
.timeline-toolbar>button.active{background:var(--home31-brand);border-color:var(--home31-brand);color:#fff}
.timeline-flex-body{position:relative}
.timeline-today{position:absolute;top:0;bottom:0;width:2px;background:var(--red-600);opacity:.75;z-index:3;pointer-events:none}
.timeline-today::before{content:"TODAY";position:absolute;top:-1px;left:4px;background:var(--red-600);color:#fff;font-size:6px;font-weight:900;letter-spacing:.08em;border-radius:4px 4px 6px 6px;padding:2px 4px}
.tl-group-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.tl-count{font-size:8px}
.tl-roll{color:var(--muted);font-weight:700}
.timeline-flex-bar.planned{background:linear-gradient(90deg,#93a1ae,#aeb9c3)}
.timeline-flex-bar.tl-parent{box-shadow:0 3px 10px rgba(11,37,56,.22)}
.tl-sub{padding-left:16px;font-weight:700!important}
.tl-depth-1 .timeline-record-label{background:#f1f7ff}
.tl-depth-2 .timeline-record-label{background:#fff8e8;box-shadow:inset 3px 0 #d99a22}
.tl-nobar{display:block;height:100%}
.tl-legend-planned:before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:3px;vertical-align:-1px;background:#9aa7b4}

/* V8: clearer executive health visual */
.executive-donut-layout{grid-template-columns:minmax(225px,.9fr) minmax(0,1fr);gap:26px;min-height:275px}
.executive-donut{width:min(236px,100%);box-shadow:0 16px 30px rgba(11,37,56,.14),inset 0 0 0 2px rgba(255,255,255,.55);isolation:isolate}
.executive-donut:before{content:"";position:absolute;inset:0;border:8px solid rgba(255,255,255,.42);border-radius:50%;pointer-events:none;z-index:0}
.executive-donut:after{top:50%;left:50%;width:62%;height:62%;transform:translate(-50%,-50%);background:#fff;border:1px solid var(--line);box-shadow:0 0 0 8px rgba(255,255,255,.82),0 9px 22px rgba(11,37,56,.13)}
.executive-donut>div{min-width:108px;padding:14px 10px;border:1px solid #e3ebf0;border-radius:999px;background:#fff;box-shadow:0 3px 12px rgba(11,37,56,.08)}
.executive-donut strong{font-size:36px;color:var(--navy-950)}
.executive-donut span{color:var(--teal-700)}
.executive-chart-legend{gap:9px}
.executive-chart-legend button{min-height:50px;grid-template-columns:12px 1fr auto auto;box-shadow:0 4px 12px rgba(11,37,56,.04);transition:.16s ease}
.executive-chart-legend button:focus-visible{outline:3px solid rgba(20,168,151,.22);outline-offset:2px}
.executive-chart-legend button small{min-width:34px;color:var(--muted);font-size:10px;font-weight:800;text-align:right}
@media(max-width:980px){.executive-donut-layout{grid-template-columns:minmax(210px,.7fr) minmax(0,1fr)}}
@media(max-width:620px){.executive-donut-layout{grid-template-columns:1fr;gap:18px}.executive-donut{width:210px}.executive-chart-legend button{min-height:46px}}

/* Keep Command Centre actions visible beside the filter controls. */
.command-filter-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:3px}
.command-filter-actions .btn{min-height:38px;padding:8px 14px;border:1px solid rgba(255,255,255,.78);background:#fff;color:var(--navy-900);font-weight:850;white-space:nowrap}
.command-filter-actions .btn:hover{border-color:#fff;background:#fff8f7;color:var(--home31-brand,var(--teal-700))}
@media(max-width:620px){.command-filter-actions{justify-content:stretch}.command-filter-actions .btn{flex:1}}

/* RBAC matrix */
.rbac-matrix-panel .table-wrap{max-height:62vh}
.rbac-matrix-table{border-collapse:collapse;min-width:1200px}
.rbac-matrix-table th,.rbac-matrix-table td{border:1px solid var(--line);padding:6px 7px;font-size:11px;vertical-align:top;text-align:center}
.rbac-matrix-table thead th{background:var(--navy-900);color:#fff;position:sticky;top:0;z-index:1}
.rbac-matrix-table tbody th{background:#f8fafc;text-align:left;white-space:nowrap}
.rbac-cell.granted{background:#f0fdf4}
.rbac-check input{margin-right:4px}
.rbac-cell select,.rbac-cell input[type=text]{margin-top:4px;font-size:11px;padding:3px 4px;border:1px solid var(--line);border-radius:6px;display:block;width:100%}

/* Per-initiative activity — gradient hero (end-user view). */
.initiative-activity{margin-top:16px}
.simple-activity{overflow:hidden}
.sa-head{padding:16px 18px;background:linear-gradient(135deg,#0b2538,#0f766e);color:#fff}
.sa-head-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.sa-head-row small{color:#a7e8dd;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:800;display:block}
.sa-amount{font-size:20px;font-weight:900;display:block;margin-top:3px;letter-spacing:-.02em}
.sa-head-side{text-align:right}
.sa-hero-badge .badge{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3)}
.sa-pills{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}
.sa-pill{padding:3px 10px;border-radius:999px;font-size:10px;font-weight:800;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25)}
.sa-list{list-style:none}
.sa-list li{display:flex;gap:14px;padding:13px 18px;border-bottom:1px solid var(--line)}
.sa-list li:last-child{border-bottom:0}
.sa-icon{width:34px;height:34px;flex:0 0 34px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;color:#fff;background:#3b82f6}
.sa-ok .sa-icon{background:#14a897}
.sa-mid .sa-icon{background:#8b5cf6}
.sa-ret .sa-icon{background:#f59e0b}
.sa-rej .sa-icon{background:#dc2626}
.sa-who{font-size:12.5px;font-weight:700}
.sa-what{font-size:12px;color:#4b5f72;margin-top:2px}
.sa-fix{margin-top:7px;padding:9px 11px;border-radius:9px;background:#fffbeb;border:1px solid #fcd34d;color:#92400e;font-size:12px;line-height:1.45}
.sa-fix b{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.02em;margin-bottom:3px}
.sa-when{margin-left:auto;text-align:right;flex:0 0 auto}
.sa-when small{display:block;color:var(--muted);font-size:10.5px;white-space:nowrap}
.sa-tag{display:inline-block;margin-top:4px;border-radius:999px;padding:3px 9px;font-size:10px;font-weight:800}
.sa-ok .sa-tag{background:#e7f6ef;color:#14734d}
.sa-mid .sa-tag{background:#f3efff;color:#6d28d9}
.sa-sub .sa-tag{background:#eaf2ff;color:#255b9d}
.sa-ret .sa-tag{background:#fff4df;color:#925b0b}
.sa-rej .sa-tag{background:#fff0f0;color:#a52e2e}
@media(max-width:620px){.sa-list li{flex-wrap:wrap}.sa-when{margin-left:48px;text-align:left;width:100%}}
