:root{--navy:#071a33;--navy2:#0b274b;--blue:#1769e0;--bg:#f5f7fb;--line:#e4e9f2;--text:#14213d;--muted:#6f7c91;--green:#169653;--amber:#d97706;--red:#e53935}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 7px 24px rgba(13,38,76,.055)}.kicker{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:800}.muted{color:var(--muted)}.pill{border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800}.green{color:#167c46;background:#eaf8ef}.amber{color:#a25a00;background:#fff4dd}.red{color:#c42b32;background:#ffebed}.blue{color:#135fbf;background:#eaf3ff}.btn{border:0;border-radius:10px;padding:11px 14px;font-weight:850}.btn-primary{background:var(--blue);color:#fff}.btn-secondary{background:#fff;border:1px solid #dbe2eb;color:#24324a}.brand{font-size:26px;font-weight:900;letter-spacing:.01em}.brand .o{color:#f59e0b}.brand-sub{font-size:11px;font-weight:700;color:#c6d7ed;margin-top:3px}
.login{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);background:#fff}.login-hero{padding:52px;background:radial-gradient(circle at 80% 10%,#1769e0 0,#0b315e 24%,#071a33 64%);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.hero-title{font-size:50px;line-height:1.05;max-width:620px;margin:16px 0 18px;letter-spacing:-.04em}.hero-copy{color:#c7d8ec;font-size:16px;line-height:1.7;max-width:540px}.login-form-wrap{display:grid;place-items:center;padding:28px;background:#f8fafc}.login-card{width:100%;max-width:430px}.field{display:grid;gap:7px;font-size:12px;font-weight:800}.field input,.field select{width:100%;padding:13px 14px;border:1px solid #dbe2eb;border-radius:11px;background:#fff}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stack{display:grid;gap:16px}
.shell{min-height:100vh}.sidebar{width:238px;position:fixed;inset:0 auto 0 0;background:linear-gradient(180deg,var(--navy),#08254a);color:#fff;padding:22px 14px;z-index:30}.nav{display:grid;gap:6px;margin-top:18px}.nav button{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;background:transparent;color:#e7eef9;border:0;font-size:14px;font-weight:650;text-align:left}.nav button.active{background:#1266c9;color:#fff;font-weight:850}.nav-ico{width:20px;text-align:center}.sidebar-bottom{position:absolute;bottom:18px;left:14px;right:14px;border-top:1px solid rgba(255,255,255,.15);padding-top:14px}.avatar{width:36px;height:36px;border-radius:50%;background:#dbeafe;color:#123e77;display:grid;place-items:center;font-weight:900}.header{position:sticky;top:0;z-index:20;margin-left:238px;background:rgba(255,255,255,.96);border-bottom:1px solid #e3e8f0;backdrop-filter:blur(10px);padding:15px 28px;display:flex;justify-content:space-between;align-items:center;min-height:74px}.main{margin-left:238px;padding:24px 28px 40px}.project-title{display:flex;align-items:center;gap:8px}.project-title h1{margin:0;font-size:21px}.project-meta{font-size:12px;color:#69768b;margin-top:6px}.top-actions{display:flex;gap:12px;align-items:center}.phase{padding:10px 13px;border:1px solid #dbe2eb;border-radius:10px;background:#fff}.icon-btn{width:38px;height:38px;border-radius:10px;border:1px solid #dbe2eb;background:#fff;display:grid;place-items:center}.mobile-head,.mobile-nav{display:none}
.kpi-grid{display:grid;grid-template-columns:1.15fr repeat(6,1fr);overflow:hidden;margin-bottom:18px}.kpi{padding:17px 16px;border-right:1px solid #e8edf4;min-height:112px}.kpi:last-child{border-right:0}.kpi-val{font-size:24px;font-weight:900;margin-top:13px}.kpi:first-child .kpi-val{color:var(--amber)}.kpi-sub{font-size:10px;margin-top:6px;font-weight:750}.positive{color:#188a4d}.negative{color:#d33}.grid3{display:grid;grid-template-columns:1.28fr .88fr .94fr;gap:16px;margin-bottom:16px}.grid3b{display:grid;grid-template-columns:1fr 1.08fr .9fr;gap:16px}.section{padding:18px}.section-title{font-size:13px;font-weight:900;margin-bottom:14px}.work-head,.work-row{display:grid;grid-template-columns:1.3fr 1fr 54px 54px 56px;gap:8px;align-items:center}.work-head{padding:9px 10px;background:#f7f9fc;border-radius:8px;font-size:10px;color:#667085;font-weight:800}.work-row{padding:10px;border-bottom:1px solid #eef1f5;font-size:11px}.prog-wrap{display:grid;grid-template-columns:1fr 34px;gap:8px;align-items:center}.prog{height:6px;border-radius:20px;background:#e9edf3;overflow:hidden}.prog>span{height:100%;display:block;border-radius:20px}.attention{border-left:4px solid var(--red);background:#fafbfc;border-radius:8px;padding:12px 12px 12px 14px;margin-bottom:8px}.attention.am{border-left-color:#f6aa1c}.att-title{font-weight:850;font-size:11px}.att-body{color:#667085;font-size:10px;margin-top:5px;line-height:1.45}.milestone{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #eef1f5}.milestone strong{font-size:11px}.milestone small{font-size:9px;color:#79869a}.stat4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.statbox{border:1px solid #e5eaf1;border-radius:12px;padding:16px 10px;text-align:center}.statbox b{font-size:28px}.donut-wrap{display:flex;align-items:center;justify-content:space-around}.donut{width:116px;height:116px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#169653 295deg,#e9eef5 0)}.donut-inner{width:82px;height:82px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center}.donut-inner b{font-size:24px}.legend{font-size:10px;line-height:2.1}
.page-head{display:flex;justify-content:space-between;gap:18px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.page-head h1{margin:7px 0 5px;font-size:28px}.project-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.project-card{padding:20px}.project-card h3{margin:0 0 8px}.project-card .meta{font-size:11px;color:var(--muted);line-height:1.7}.project-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.mini{padding:10px;background:#f7f9fc;border-radius:10px}.mini b{display:block;font-size:18px;margin-top:4px}.create-card{padding:22px;max-width:940px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.full{grid-column:1/-1}.divider{margin:24px 0 18px;border-top:1px solid #edf1f5}
.bpml-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:15px}.bpml-table{padding:16px;overflow:hidden}.toolbar{display:flex;gap:12px;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap}.searchbox{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid #dfe5ed;border-radius:9px;min-width:280px;background:#fff}.searchbox input{border:0;outline:0;width:100%}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:11px;min-width:820px}thead tr{background:#f7f9fc;text-align:left;color:#677489}th{padding:10px 11px;font-size:9px;text-transform:uppercase;letter-spacing:.04em}td{padding:13px 11px;border-bottom:1px solid #edf1f5}.modal-bg{position:fixed;inset:0;background:rgba(2,12,28,.52);z-index:80;display:grid;place-items:center;padding:18px}.modal{width:min(760px,100%);max-height:90vh;overflow:auto;padding:22px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:18px 0 22px}.step-bar{height:5px;border-radius:10px;background:#e3e8f0}.step-bar.on{background:#1769e0}.drop{border:2px dashed #cfd8e6;border-radius:14px;min-height:230px;display:grid;place-items:center;text-align:center;padding:24px;background:#fbfcfe}.mapping{display:grid;grid-template-columns:1fr 40px 1fr;gap:10px;align-items:center}.map-src{padding:10px 12px;background:#f7f9fc;border-radius:9px;font-size:11px;font-weight:750}.mapping select{padding:10px 11px;border:1px solid #dbe2eb;border-radius:9px;background:#fff}.validate-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.vcard{border-radius:12px;padding:16px;text-align:center}.vcard b{font-size:24px}.issue{padding:12px;border-radius:10px;margin-bottom:8px;font-size:11px}.issue.warn{border:1px solid #ffe0a9;background:#fffaf0}.issue.err{border:1px solid #ffcbd0;background:#fff7f8}.modal-foot{display:flex;justify-content:space-between;margin-top:22px;padding-top:16px;border-top:1px solid #edf1f5}
.mobile-dashboard{display:none}
@media(max-width:900px){.login{grid-template-columns:1fr}.login-hero{display:none}.sidebar,.header,.main{display:none}.mobile-head{display:flex;position:sticky;top:0;z-index:20;background:#071a33;color:#fff;height:60px;align-items:center;justify-content:space-between;padding:0 16px}.mobile-main{display:block;padding:14px 12px 84px}.mobile-nav{display:grid;position:fixed;bottom:0;left:0;right:0;height:66px;background:#fff;border-top:1px solid #e3e8f0;z-index:40;grid-template-columns:repeat(5,1fr);align-items:center}.mobile-nav button{border:0;background:#fff;color:#64748b;font-size:9px;font-weight:750;display:grid;place-items:center;gap:3px}.mobile-nav button.active{color:#1769e0}.desktop-dashboard{display:none}.mobile-dashboard{display:block}.mobile-kpi3{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;margin-bottom:10px}.mobile-kpi3>div{padding:14px 8px;text-align:center;border-right:1px solid #e6ebf2}.mobile-health{padding:16px;text-align:center;margin-bottom:10px}.mobile-work{padding:15px;margin-bottom:10px}.mobile-work-row{display:grid;grid-template-columns:1fr 1fr 34px;gap:9px;align-items:center;padding:8px 0;font-size:10px}.project-cards{grid-template-columns:1fr}.form-grid,.field-row{grid-template-columns:1fr}.full{grid-column:1}.main-mobile-page{padding:14px 12px 84px}.mapping{grid-template-columns:1fr}.mapping .arrow{display:none}.validate-cards{grid-template-columns:1fr 1fr 1fr}.page-head{align-items:flex-start}.modal{padding:16px}}
@media(min-width:901px){.mobile-main{display:none}}

/* ===== MVP v0.3 Deliverables + Weighted Progress Engine ===== */
.nav-badge{margin-left:auto;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);padding:2px 6px;border-radius:999px;font-size:8px;letter-spacing:.06em}.data-strip{display:flex;justify-content:flex-end;align-items:center;gap:10px;font-size:10px;color:#778398;margin-bottom:10px}.engine-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid #cfe0ff;background:#f0f6ff;color:#155eb7;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:900;letter-spacing:.03em}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.tiny-tag{font-size:8px;font-weight:850;color:#1661bd;background:#eff6ff;border:1px solid #d7e7ff;border-radius:999px;padding:4px 7px}.link-btn{border:0;background:transparent;color:#1769e0;font-size:10px;font-weight:850;padding:12px 0 0}.health-dot{font-size:9px;font-weight:800}.health-dot:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;background:#159553}.health-dot.amber:before{background:#f59e0b}.health-dot.red:before{background:#e53935}.ms-dot{width:18px;height:18px;border:1px solid #d4dce7;border-radius:50%;display:grid;place-items:center;color:#8390a2;font-size:9px}.ms-dot.done{border-color:#9dddb6;background:#e9f8ee;color:#16804a}.ms-dot.doing{border-color:#a8cbfa;background:#edf5ff;color:#1769e0}.empty-state{font-size:11px;color:#7b8798;text-align:center;padding:20px}.delivery-overview{display:flex;align-items:center;gap:20px}.delivery-score{width:120px;height:120px;border-radius:50%;background:linear-gradient(145deg,#eef5ff,#fff);border:8px solid #d8e8ff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #cbdcf5}.delivery-score b{font-size:27px}.delivery-score span{font-size:8px;color:#667085;text-align:center}.delivery-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:10px}.delivery-metrics span{background:#f7f9fc;padding:9px;border-radius:8px}.delivery-metrics b{font-size:15px;margin-right:3px}.source-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:900}.source-chip.engine{background:#eaf3ff;color:#155eb7;border:1px solid #cbdfff}.source-chip.bpml{background:#f2f4f7;color:#596579;border:1px solid #e0e5eb}
.delivery-stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}.delivery-stat{padding:16px}.delivery-stat b{display:block;font-size:25px;margin-top:8px}.delivery-stat.good{border-top:3px solid #169653}.delivery-stat.warn{border-top:3px solid #f5a524}.delivery-stat.bad{border-top:3px solid #e53935}.delivery-stat.accent{border-top:3px solid #1769e0}.engine-panel{padding:18px;margin-bottom:14px}.engine-panel h3{margin:4px 0 0;font-size:17px}.stage-track{display:flex;margin-top:16px;border-radius:12px;overflow:hidden;border:1px solid #dce5f0;min-height:70px;background:#f8fbff}.stage-segment{min-width:76px;padding:13px 9px;border-right:1px solid #dce5f0;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#f9fcff,#eef5ff)}.stage-segment:last-child{border-right:0}.stage-segment b{font-size:9px}.stage-segment span{font-size:16px;font-weight:900;color:#1769e0;margin-top:4px}.engine-explain{font-size:10px;line-height:1.6;margin:12px 0 0}.delivery-toolbar{align-items:center}.filter-row{display:flex;gap:8px}.filter-row select{border:1px solid #dfe5ed;background:#fff;border-radius:9px;padding:9px 10px;font-size:10px;color:#344054}.deliverable-table{min-width:1280px}.stage-pill{display:inline-block;border-radius:7px;background:#eff6ff;color:#155eb7;padding:5px 7px;font-size:9px;font-weight:800;white-space:nowrap}.process-ref{font-weight:850;color:#344054}.evidence-ref{font-size:9px;color:#1769e0;margin-top:5px}.table-action{border:1px solid #d8e2ef;background:#fff;border-radius:7px;padding:6px 9px;font-size:9px;color:#1769e0;font-weight:850}.table-count{text-align:right;color:#778398;font-size:9px;padding:12px 4px 0}.deliverable-modal{width:min(850px,100%)}.btn-danger{background:#fff2f3;color:#c63038;border:1px solid #ffcbd0}.config-modal{width:min(700px,100%)}.config-head,.config-row{display:grid;grid-template-columns:1fr 120px 80px;gap:12px;align-items:center}.config-head{margin-top:18px;padding:8px 10px;color:#667085;font-size:9px;text-transform:uppercase;font-weight:850;background:#f7f9fc;border-radius:8px}.config-row{padding:10px;border-bottom:1px solid #edf1f5}.config-row input{border:1px solid #dbe2eb;border-radius:8px;padding:9px 10px}.config-name{width:100%}.weight-input{display:flex;align-items:center;gap:5px}.weight-input input{width:80px}.switch{display:flex;align-items:center;justify-content:center}.switch input{width:18px;height:18px}.config-total{display:flex;justify-content:space-between;align-items:center;padding:14px 10px;font-size:12px;font-weight:850}.weight-total{font-size:20px}.weight-total.ok{color:#16804a}.weight-total.bad{color:#d92d20}.engine-warning{padding:12px;border-radius:9px;background:#fff8e8;border:1px solid #ffe0a9;color:#8a5b00;font-size:10px;line-height:1.5}.mobile-kpi3 b{display:block;font-size:21px;margin-top:7px}.mobile-delivery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mobile-delivery-grid>div{text-align:center;padding:8px;background:#f8fafc;border-radius:9px}.mobile-delivery-grid b{display:block;font-size:20px}.mobile-delivery-grid span{font-size:8px;color:#667085}.mobile-deliverable-card{padding:14px;margin-bottom:10px}.mobile-page-head h1{font-size:24px;margin:4px 0}
@media(max-width:1200px){.delivery-stat-grid{grid-template-columns:repeat(3,1fr)}.stage-track{overflow-x:auto}.stage-segment{flex:0 0 100px!important}}
@media(max-width:900px){.delivery-stat-grid{grid-template-columns:repeat(2,1fr)}.filter-row{width:100%;overflow:auto}.data-strip{display:none}.config-head,.config-row{grid-template-columns:1fr 90px 60px}.deliverable-modal .form-grid{grid-template-columns:1fr}.deliverable-modal .full{grid-column:1}}


/* ===== MVP v0.4 RAID Governance + Project Health Engine ===== */
.raid-stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}.raid-stat{padding:16px;border-top:3px solid #a6b0bf}.raid-stat b{display:block;font-size:27px;margin:8px 0 4px}.raid-stat span{font-size:9px;color:#667085}.raid-stat.bad{border-top-color:#e53935}.raid-stat.warn{border-top-color:#f59e0b}.raid-stat.accent{border-top-color:#1769e0}.raid-top-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin-bottom:14px}.matrix-wrap{padding:12px 14px 2px}.matrix-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.matrix-cell{min-height:51px;border-radius:8px;padding:6px;position:relative;display:grid;place-items:center;font-weight:900}.matrix-cell span{font-size:17px}.matrix-cell small{position:absolute;right:5px;bottom:3px;font-size:7px;opacity:.55}.mx-low{background:#eaf8ef;color:#157447}.mx-med{background:#fff2cf;color:#9a6500}.mx-high{background:#ffe2e5;color:#bd2932}.matrix-y,.matrix-x{font-size:8px;font-weight:800;color:#667085;margin:5px 0}.matrix-x{text-align:center;margin-top:8px}.health-engine-card{background:linear-gradient(155deg,#fff,#f7faff)}.health-result{display:flex;gap:13px;align-items:center;margin:17px 0}.health-result b{display:block;font-size:27px;margin-top:3px}.health-orb{width:43px;height:43px;border-radius:50%;box-shadow:0 0 0 7px #edf2f7}.health-orb.green{background:#169653}.health-orb.amber{background:#f59e0b}.health-orb.red{background:#e53935}.health-comparison{display:flex;justify-content:space-between;background:#f5f7fa;border-radius:8px;padding:10px;font-size:10px}.rule-list{font-size:10px;line-height:1.7;margin:13px 2px}.health-rule-note{font-size:9px;line-height:1.5;color:#667085;border-top:1px solid #e5eaf0;padding-top:11px}.raid-table{min-width:1180px}.raid-type{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.raid-type.risk{background:#fff0dd;color:#b56700}.raid-type.issue{background:#ffebed;color:#c92d35}.raid-type.action{background:#eaf3ff;color:#1661bd}.raid-type.decision{background:#f2ebff;color:#7040b7}.raid-desc{max-width:310px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.risk-score{display:inline-flex;border-radius:7px;padding:5px 7px;font-size:9px;font-weight:900}.risk-score.low{background:#eaf8ef;color:#157447}.risk-score.medium{background:#fff4d9;color:#a36a00}.risk-score.high{background:#ffe5e7;color:#bd2932}.sev{font-size:8px;font-weight:900;text-transform:uppercase}.sev.low{color:#16804a}.sev.medium{color:#a36a00}.sev.high,.sev.critical{color:#d92d20}.status-chip{display:inline-block;background:#f2f4f7;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:800;color:#475467}.raid-modal{width:min(880px,100%)}.field textarea{border:1px solid #dbe2eb;border-radius:9px;padding:10px 11px;font:inherit;resize:vertical}.live-risk-score{display:flex!important;gap:10px;background:#f7faff;border:1px solid #d7e6fb;border-radius:10px;padding:10px 12px}.live-risk-score>div{flex:1}.live-risk-score span{display:block;font-size:8px;color:#667085;text-transform:uppercase;font-weight:800}.live-risk-score b{display:block;font-size:17px;color:#155eb7;margin-top:3px}.mobile-raid-card{padding:14px;margin-bottom:10px}.raid-card-top{display:flex;gap:8px;align-items:center}.raid-card-top b{font-size:11px}.raid-card-top .raid-type{flex:0 0 auto}
@media(max-width:1200px){.raid-stat-grid{grid-template-columns:repeat(3,1fr)}.raid-top-grid{grid-template-columns:1fr}}
@media(max-width:900px){.raid-stat-grid{grid-template-columns:repeat(2,1fr)}.raid-modal .form-grid{grid-template-columns:1fr}.raid-modal .full{grid-column:1}.live-risk-score{grid-column:1}.matrix-cell{min-height:42px}.raid-toolbar .searchbox{min-width:100%;width:100%}}

/* ===== MVP v0.5 Testing & Defect Command Center ===== */
.testing-stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}.testing-stat{padding:16px;border-top:3px solid #a6b0bf}.testing-stat b{display:block;font-size:27px;margin:8px 0 4px}.testing-stat span{font-size:9px;color:#667085}.testing-stat.good{border-top-color:#169653}.testing-stat.bad{border-top-color:#e53935}.testing-stat.warn{border-top-color:#f59e0b}.testing-stat.accent{border-top-color:#1769e0}.testing-top-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-bottom:14px}.test-result-bars{display:grid;gap:12px;margin-top:16px}.test-result-bars>div{display:grid;grid-template-columns:90px 1fr 40px;gap:10px;align-items:center;font-size:10px}.test-result-bars .bar{height:9px;background:#edf1f5;border-radius:999px;overflow:hidden}.test-result-bars .bar i{display:block;height:100%;background:#8793a5}.test-result-bars .bar i.good{background:#169653}.test-result-bars .bar i.bad{background:#e53935}.test-result-bars .bar i.warn{background:#f59e0b}.test-result-bars .bar i.blue{background:#1769e0}.aging-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.age-box{background:#f7f9fc;border:1px solid #e4e9f0;border-radius:10px;padding:13px;text-align:center}.age-box span{font-size:8px;color:#667085;display:block}.age-box b{font-size:24px;display:block;margin-top:5px}.age-box.hot{background:#fff4f4;border-color:#ffd6d8}.testing-toolbar{gap:12px;flex-wrap:wrap}.test-tabs{display:flex;background:#f1f4f8;padding:4px;border-radius:10px}.test-tabs button{border:0;background:transparent;padding:8px 14px;border-radius:7px;font-size:9px;font-weight:850;color:#667085}.test-tabs button.active{background:#fff;color:#1769e0;box-shadow:0 1px 4px rgba(10,31,68,.12)}.testing-table{min-width:1180px}.defect-table{min-width:1250px}.result-chip{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900;background:#f2f4f7;color:#475467}.result-chip.passed{background:#eaf8ef;color:#157447}.result-chip.failed{background:#ffebed;color:#c92d35}.result-chip.blocked{background:#fff2cf;color:#9a6500}.result-chip.in-progress{background:#eaf3ff;color:#1661bd}.defect-sev{display:inline-flex;border-radius:7px;padding:5px 8px;font-size:8px;font-weight:900}.defect-sev.s1{background:#c81e2a;color:#fff}.defect-sev.s2{background:#ffe2e5;color:#bd2932}.defect-sev.s3{background:#fff2cf;color:#9a6500}.defect-sev.s4{background:#eaf8ef;color:#157447}.testing-modal{width:min(860px,100%)}
@media(max-width:1200px){.testing-stat-grid{grid-template-columns:repeat(3,1fr)}.testing-top-grid{grid-template-columns:1fr}}
@media(max-width:900px){.testing-stat-grid{grid-template-columns:repeat(2,1fr)}.aging-grid{grid-template-columns:repeat(2,1fr)}.testing-modal .form-grid{grid-template-columns:1fr}.testing-modal .full{grid-column:1}}

/* ===== MVP v0.6 CORE Project Planning + S-Curve Control Tower ===== */
.nav-badge.core{background:#e8f1ff;color:#7ab5ff;border:1px solid #4a79b8}.plan-kpis,.ct-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}.plan-kpi,.ct-kpi{padding:15px;border-top:3px solid #a9b3c0}.plan-kpi b,.ct-kpi b{display:block;font-size:23px;margin-top:8px}.plan-kpi.accent,.ct-kpi.accent{border-top-color:#1769e0}.plan-kpi.good,.ct-kpi.good{border-top-color:#169653}.plan-kpi.warn,.ct-kpi.warn{border-top-color:#f59e0b}.plan-kpi.bad,.ct-kpi.bad{border-top-color:#e53935}.scurve-card{margin-bottom:14px}.scurve-svg{width:100%;height:auto;max-height:330px}.sc-grid{stroke:#e8edf3;stroke-width:1}.sc-label{fill:#7a8699;font-size:9px}.sc-plan,.sc-actual,.sc-forecast{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.sc-plan{stroke:#1769e0}.sc-actual{stroke:#169653}.sc-forecast{stroke:#f59e0b;stroke-dasharray:8 5}.sc-legend{display:flex;gap:16px;justify-content:flex-end;margin:5px 2px 0;font-size:9px;font-weight:850}.sc-legend span:before{content:'';display:inline-block;width:17px;height:3px;margin-right:6px;vertical-align:middle;border-radius:3px}.sc-legend .plan:before{background:#1769e0}.sc-legend .actual:before{background:#169653}.sc-legend .forecast:before{background:#f59e0b}.plan-grid-card{overflow:hidden}.plan-toolbar{display:flex;gap:10px;padding:12px;border-bottom:1px solid #e7ebf0;background:#fbfcfe}.plan-toolbar select{border:1px solid #dfe5ed;background:#fff;border-radius:9px;padding:9px;font-size:10px}.mpp-wrap{display:grid;grid-template-columns:minmax(980px,1.3fr) minmax(600px,.8fr);overflow:auto;max-height:650px}.mpp-left{overflow:visible}.mpp-table{min-width:1230px;border-collapse:collapse}.mpp-table th{position:sticky;top:0;z-index:4;background:#f5f7fa}.mpp-table tr{height:48px}.mpp-table td{height:48px;white-space:nowrap}.summary-row{background:#edf4ff;font-weight:850}.summary-row td{border-top:1px solid #cfe0f8;border-bottom:1px solid #cfe0f8}.critical-tag{font-size:6px;background:#ffe3e6;color:#c62731;padding:3px 5px;border-radius:5px;margin-left:7px}.mpp-right{min-width:720px;border-left:2px solid #dce5ef;background:#fcfdff;padding-top:37px}.gantt-months{position:sticky;top:0;z-index:5;height:37px;margin-top:-37px;display:flex;justify-content:space-between;align-items:center;padding:0 12px;background:#f5f7fa;border-bottom:1px solid #dfe6ef;font-size:8px;color:#667085;font-weight:850}.gantt-row{height:48px;border-bottom:1px solid #edf0f4;display:flex;align-items:center}.gantt-row.summary{background:#f4f8ff}.gantt-track{position:relative;width:100%;height:30px}.gantt-baseline{position:absolute;top:21px;height:3px;background:#9eabbc;border-radius:3px;opacity:.9}.gantt-bar{position:absolute;top:7px;height:14px;border-radius:4px;background:#65a3f7;overflow:hidden;min-width:6px}.gantt-bar i{display:block;height:100%;background:#1769e0}.gantt-bar.critical{background:#ffb3b9}.gantt-bar.critical i{background:#d92d20}.gantt-bar.sum{height:8px;top:10px;background:#243e69}.gantt-bar.sum i{background:#243e69}.gantt-bar.milestone{transform:rotate(45deg);height:13px;width:13px!important;min-width:13px;border-radius:2px;background:#d92d20}.gantt-bar.milestone i{display:none}.plan-summary-strip{display:flex;gap:25px;padding:13px 15px;background:#f8fafc;border-top:1px solid #e4e9ef;font-size:9px;color:#667085}.plan-summary-strip b{font-size:13px;color:#1f2937;margin-right:4px}.activity-modal{width:min(920px,100%)}.check-field{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:850}.check-field input{width:18px;height:18px}.ct-health{padding:15px;background:linear-gradient(145deg,#fff,#f7faff);border-top:3px solid #1769e0}.ct-health-row{display:flex;gap:10px;align-items:center;margin-top:7px}.ct-health-row .health-orb{width:25px;height:25px;box-shadow:0 0 0 4px #edf2f7}.ct-health-row b{font-size:23px}.ct-health small{font-size:8px;color:#667085}.control-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin-bottom:14px}.schedule-stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:13px}.schedule-stat{padding:10px;background:#f7f9fc;border-radius:9px;text-align:center}.schedule-stat.hot{background:#fff0f1}.schedule-stat b{display:block;font-size:20px}.schedule-stat span{font-size:8px;color:#667085}.ws-schedule{display:grid;grid-template-columns:1.3fr .7fr .7fr .5fr;gap:8px;padding:8px 4px;border-bottom:1px solid #edf1f5;font-size:9px}.ws-schedule strong{text-align:right}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.support-card{padding:14px}.support-card>b{display:block;font-size:13px;margin:8px 0}.support-card .link-btn{padding:0}.updated{font-size:9px;color:#169653;font-weight:800;margin-bottom:8px}.updated span{float:right;color:#78869a;font-weight:500}
@media(max-width:1300px){.plan-kpis,.ct-kpis{grid-template-columns:repeat(3,1fr)}.control-grid{grid-template-columns:1fr}.schedule-stat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.plan-kpis,.ct-kpis{grid-template-columns:repeat(2,1fr)}.support-grid{grid-template-columns:1fr}.activity-modal .form-grid{grid-template-columns:1fr}.activity-modal .full{grid-column:1}.mpp-wrap{grid-template-columns:1fr}.mpp-right{display:none}}
/* v0.7 Weighting Model */
.weight-modal{width:min(1080px,94vw);max-height:90vh;overflow:auto}
.weight-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.weight-mode{border:1px solid #dfe6ef;border-radius:14px;padding:16px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:3px;cursor:pointer;background:#fff}
.weight-mode.selected{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.08);background:#f8fbff}
.weight-mode input{grid-row:1/4;margin-top:3px}.weight-mode b{font-size:14px}.weight-mode span{font-size:12px;color:#334155}.weight-mode small{font-size:10px;color:#64748b}
.weight-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 16px}.weight-summary>div{background:#f7f9fc;border:1px solid #e7edf5;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:5px}.weight-summary span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#6b7b90;font-weight:800}.weight-summary b{font-size:14px;color:#12233e}
.weight-table-wrap{border:1px solid #e3e9f1;border-radius:12px;overflow:auto}.weight-table{min-width:760px}.weight-input{width:92px;padding:7px 8px;border:1px solid #d7e0eb;border-radius:7px}.weight-input:disabled{background:#eef2f7;color:#8290a3}
.weight-rule-box{margin:14px 0;padding:13px 15px;border-radius:12px;background:#f5f9ff;border:1px solid #dce8fb;display:flex;gap:12px;align-items:flex-start}.weight-rule-box b{white-space:nowrap;color:#173b74}.weight-rule-box span{font-size:11px;color:#53657d;line-height:1.5}
.weight-badge{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:8px;font-weight:900;letter-spacing:.06em}.weight-badge.auto{background:#eaf3ff;color:#1d5ea8}.weight-badge.manual{background:#fff4df;color:#a45b00}
@media(max-width:800px){.weight-mode-grid,.weight-summary{grid-template-columns:1fr}.weight-rule-box{flex-direction:column}}

/* v0.8 dependency scheduling / baseline / drill-down */
.baseline-strip{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:10px 14px;margin:0 0 12px;background:#eef5ff;border:1px solid #d5e6ff;border-radius:10px;font-size:10px;color:#40516a}
.drill-row{width:100%;border:0;border-bottom:1px solid #edf1f6;background:transparent;display:grid;grid-template-columns:minmax(150px,1fr) 90px 90px 75px 20px;gap:8px;align-items:center;text-align:left;padding:11px 4px;cursor:pointer;color:#24344d;font-size:10px}
.drill-row:hover{background:#f7faff}.drill-row b{font-size:11px}.drill-row strong{text-align:right}
.critical-path-row{background:linear-gradient(90deg,rgba(220,53,69,.055),transparent)}
.critical-path-row td:first-child{box-shadow:inset 3px 0 0 #dc3545}
.schedule-preview{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;padding:11px 13px;border-radius:10px;background:#f8fafc;border:1px solid #e5eaf0;font-size:10px;color:#506176}.schedule-preview b{color:#1d2b43}
.ws-schedule.drillable{width:100%;border:0;border-bottom:1px solid #edf1f6;background:transparent;cursor:pointer;text-align:left}.ws-schedule.drillable:hover{background:#f7faff}
.weight-badge.manual{background:#fff2df;color:#a65b00}.weight-badge.auto{background:#eaf3ff;color:#2465a8}
@media(max-width:900px){.baseline-strip{display:none}.drill-row{grid-template-columns:1fr 70px 70px}.drill-row span:nth-of-type(2),.drill-row strong{display:none}}

/* ===== v0.9 Executive Overview + Premium S-Curve + Timeline Import ===== */
.overview-main-grid{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(620px,1.28fr);gap:14px;margin-bottom:14px}.timeline-card,.scurve-card{min-height:390px}.timeline-v09{padding:4px 2px 0}.tl-row{position:relative;display:grid;grid-template-columns:28px 1fr;column-gap:10px;min-height:61px}.tl-node{width:24px;height:24px;border-radius:50%;border:2px solid #cbd5e1;background:#fff;color:#94a3b8;display:grid;place-items:center;font-size:10px;font-weight:900;z-index:2}.tl-node.done{border-color:#16a05d;background:#e9f8ef;color:#13884d}.tl-node.active{border-color:#2563eb;background:#eaf3ff;color:#1769e0}.tl-line{position:absolute;left:11px;top:24px;bottom:-2px;width:2px;background:#dde5ee}.tl-line.last{bottom:18px}.tl-content{padding:1px 0 12px}.tl-head{display:flex;justify-content:space-between;gap:10px;font-size:11px}.tl-dates{display:flex;justify-content:space-between;gap:10px;color:#718096;font-size:8px;margin-top:5px}.tl-delay{display:inline-block;margin-top:5px;padding:3px 6px;border-radius:6px;background:#fff0f1;color:#c73740;font-size:8px;font-weight:850}.tl-go{margin-top:5px;padding:11px 12px;border-radius:11px;background:linear-gradient(135deg,#0b274b,#123f74);color:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.tl-go>span{color:#f8b84e;font-size:18px}.tl-go b{display:block;font-size:11px}.tl-go small{display:block;color:#c5d5ea;font-size:8px;margin-top:3px}.tl-go strong{font-size:10px}.scurve-svg.premium{min-height:280px}.sc-plan-area{fill:rgba(37,99,235,.045);stroke:none}.sc-report{stroke:#a3adbb;stroke-width:1.2;stroke-dasharray:4 5}.sc-report-label{fill:#718096;font-size:8px;font-weight:700}.sc-plan-dot{fill:#1769e0;stroke:#fff;stroke-width:2}.sc-actual-dot{fill:#169653;stroke:#fff;stroke-width:2}.sc-forecast-dot{fill:#f59e0b;stroke:#fff;stroke-width:2}.sc-end-label{fill:#334155;font-size:8px;font-weight:850}.curve-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px 4px 0}.curve-summary span{background:#f7f9fc;border-radius:8px;padding:9px 10px;color:#6b778b;font-size:8px}.curve-summary b{display:block;color:#17233a;font-size:13px;margin-top:3px}.timeline-import-modal{width:min(1050px,95vw)}.timeline-mapping{max-height:430px;overflow:auto;padding-right:6px}.import-file-head,.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.import-file-head small{display:block;color:#7a8798;margin-top:5px}.step-label{font-size:8px;font-weight:850;color:#77869a;text-align:center;margin-top:5px}.validate-cards{grid-template-columns:repeat(4,1fr)}.vcard.new{background:#eaf8ef;color:#16804a}.vcard.update{background:#fff4dd;color:#b56d00}.vcard.unchanged{background:#eef5ff;color:#2563eb}.vcard.err{background:#ffedef;color:#c7343d}.conflict-choice{display:grid;gap:8px;padding:13px 15px;border:1px solid #e0e7f0;border-radius:11px;background:#fbfcfe;margin-bottom:14px;font-size:10px}.conflict-choice label{display:flex;align-items:center;gap:8px;font-weight:700}.conflict-choice small{font-weight:500;color:#718096}.conflict-preview{border:1px solid #e6ebf2;border-radius:11px;padding:13px;max-height:310px;overflow:auto}.conflict-row{display:grid;grid-template-columns:230px 1fr;gap:14px;padding:10px 4px;border-bottom:1px solid #edf1f5;font-size:9px}.conflict-row:last-child{border-bottom:0}.conflict-row small{display:block;color:#718096;margin-top:4px}.conflict-row span{display:block;padding:3px 0;color:#5f6e82}.conflict-row em{display:inline-block;min-width:95px;color:#334155;font-style:normal;font-weight:850}.import-success{text-align:center;padding:30px 10px}.import-success>div{font-size:48px;color:#169653}.import-success h3{margin:6px 0}.import-success p{color:#526177;font-size:12px}.import-success small{color:#78869a}.nav-badge.core{background:#dcecff;color:#86baff}
@media(max-width:1250px){.overview-main-grid{grid-template-columns:1fr}.timeline-card,.scurve-card{min-height:auto}}
@media(max-width:900px){.overview-main-grid{grid-template-columns:1fr}.curve-summary{grid-template-columns:repeat(2,1fr)}.conflict-row{grid-template-columns:1fr}.validate-cards{grid-template-columns:repeat(2,1fr)}}

/* ===== v1.0 APPROVED CONTROL TOWER OVERVIEW ===== */
.reporting-head{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding-right:4px}.reporting-head span{font-size:8px;color:#77859a;text-transform:uppercase;font-weight:850;letter-spacing:.06em}.reporting-head b{font-size:10px;color:#22334e}.overview-v10{display:block}.overview-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.overview-topline>div:first-child{display:flex;gap:10px;align-items:center}.overview-topline .eyebrow{font-size:8px;letter-spacing:.1em;color:#1769e0;font-weight:900}.overview-topline b{font-size:11px}.overview-updated{font-size:9px;color:#728096}.overview-kpis-v10{display:grid;grid-template-columns:1.05fr repeat(6,1fr);gap:9px;margin-bottom:12px}.overview-kpis-v10>.card{border-radius:10px;min-height:114px;padding:13px 14px;position:relative;overflow:hidden}.ov-health{display:flex;flex-direction:column;justify-content:flex-start}.health-main{display:flex;align-items:center;gap:8px;margin:13px 0 6px}.health-main b{font-size:20px}.ov-health small,.ov-kpi small{font-size:8px;color:#7b8798;font-weight:700}.ov-kpi>b{display:block;font-size:21px;margin-top:12px;color:#152a47}.ov-kpi.variance>b{color:#e14c4c}.ov-kpi.forecast>b{color:#ed8b18}.mini-spark{position:absolute;left:10px;bottom:2px;width:112px;height:34px;opacity:.9}.mini-spark polyline{fill:none;stroke-width:2}.spark-0 polyline{stroke:#2e7de0}.spark-1 polyline{stroke:#2cad66}.spark-2 polyline{stroke:#ef5350}.spark-3 polyline{stroke:#f39c12}.approved-overview-grid{display:grid;grid-template-columns:minmax(570px,1.18fr) minmax(490px,.82fr);gap:12px;margin-bottom:12px}.approved-timeline-card,.approved-scurve-card{padding:14px;border-radius:11px;min-height:545px}.approved-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.approved-card-head>div>b{font-size:11px;color:#12243e}.approved-card-head>div>b span{font-weight:700}.approved-card-head>div>small{display:block;color:#7a8798;font-size:8px;margin-top:4px}.approved-card-head label{display:flex;align-items:center;gap:7px;font-size:8px;color:#536176;font-weight:850}.approved-card-head select{border:1px solid #dbe4ef;border-radius:7px;background:#fff;padding:6px 7px;font-size:9px;color:#1f3451;font-weight:800}.timeline-grid-v10{position:relative;display:grid;grid-template-columns:31% 69%;border:1px solid #dbe4ef;background:#fff;overflow:visible}.tl-label-head{height:52px;background:#0d6075;border-right:1px solid #fff}.tl-scale-head{height:52px;display:flex;background:#0f6376;color:#fff}.tl-month-v10{min-width:0;border-right:1px solid rgba(255,255,255,.75);height:52px}.tl-month-v10>b{display:block;height:29px;display:flex;align-items:center;justify-content:center;font-size:9px;letter-spacing:.03em}.tl-month-v10>div{height:23px;background:#edf6f8;color:#1d5770;display:grid;grid-template-columns:repeat(4,1fr);align-items:center}.tl-month-v10 span{font-size:7px;text-align:center;border-right:1px solid #d2e3e8;font-weight:800}.tl-label-v10{min-height:50px;padding:9px 12px;background:#f9fbfd;border-right:1px solid #dbe4ef;border-top:1px solid #dbe4ef;display:flex;flex-direction:column;justify-content:center}.tl-label-v10 b{font-size:9px;color:#19314e}.tl-label-v10 span{font-size:7px;color:#748195;margin-top:4px}.tl-track-v10{position:relative;min-height:50px;border-top:1px solid #dbe4ef;background:#fcfdff;overflow:hidden}.tl-week-grid{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(3.125% - 1px),#dbe4ef calc(3.125% - 1px),#dbe4ef 3.125%)}.tl-bar-v10{position:absolute;top:15px;height:20px;border-radius:7px;min-width:9px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:9px;font-weight:900;box-shadow:0 2px 5px rgba(22,45,77,.12)}.reporting-line-v10{position:absolute;top:52px;bottom:-28px;width:1.5px;background:#eb554e;z-index:4;pointer-events:none}.reporting-line-v10:after{content:'';position:absolute;bottom:-4px;left:-4px;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:7px solid #eb554e}.reporting-line-v10 span{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);white-space:nowrap;color:#df3e3a;font-size:6px;font-weight:900;letter-spacing:.04em}.forecast-note{margin-top:37px;border:1px solid #ffcf67;background:#fff8e8;border-radius:8px;padding:9px 11px;display:grid;gap:4px}.forecast-note b{font-size:8px;color:#16375a}.forecast-note span{font-size:8px;color:#455d79;line-height:1.45}.premium-legend{justify-content:center;margin:3px 0 0}.premium-legend span{font-size:8px}.scurve-svg.premium-v10{height:350px;width:100%;overflow:visible}.sc-plan-v10{fill:none;stroke:#2e7de0;stroke-width:3;stroke-dasharray:8 6;stroke-linecap:round}.sc-actual-v10{fill:none;stroke:#2dac65;stroke-width:3.2;stroke-linecap:round}.sc-forecast-v10{fill:none;stroke:#f7931e;stroke-width:3;stroke-dasharray:7 6;stroke-linecap:round}.sc-grid{stroke:#e6ebf2;stroke-width:1}.sc-label{fill:#768397;font-size:9px}.sc-report-v10{stroke:#f05a52;stroke-width:1.4;stroke-dasharray:4 3}.report-triangle{fill:#f05a52}.report-label-v10{fill:#e14b46;font-size:8px;font-weight:900}.sc-actual-dot-v10{fill:#fff;stroke:#2dac65;stroke-width:2}.sc-forecast-dot-v10{fill:#f7931e;stroke:#fff;stroke-width:1}.end-labels-v10 text{font-size:10px;font-weight:900;fill:#2e7de0}.end-labels-v10 .actual-label{fill:#2dac65}.end-labels-v10 .forecast-label{fill:#f7931e}.approved-curve-summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #dde5ef;border-radius:7px;overflow:hidden;margin:1px 2px 8px}.approved-curve-summary>div{padding:10px;text-align:center;border-right:1px solid #dde5ef;background:#fbfdff}.approved-curve-summary>div:last-child{border-right:0}.approved-curve-summary span{display:block;font-size:7px;color:#415b79;font-weight:850}.approved-curve-summary b{display:block;font-size:18px;margin-top:5px}.amber-text{color:#e89016!important}.curve-insight{padding:9px 10px;border:1px solid #bed6f5;background:#f3f8ff;border-radius:7px;color:#2a4d76;font-size:8px;line-height:1.5}.overview-support-grid-v10{display:grid;grid-template-columns:1.05fr 1.15fr .76fr .92fr;gap:10px}.support-v10{padding:13px;border-radius:10px;min-height:158px}.support-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.support-head b{font-size:9px}.support-head button{border:0;background:transparent;color:#4580bd;font-size:8px;text-decoration:underline}.ws-progress-v10{display:grid;grid-template-columns:95px 1fr 30px;align-items:center;gap:8px;margin:7px 0}.ws-progress-v10 span,.ws-progress-v10 b{font-size:8px}.ws-progress-v10>div{height:7px;background:#e8edf3;border-radius:9px;overflow:hidden}.ws-progress-v10 i{display:block;height:100%;border-radius:9px}.risk-row-v10{display:grid;grid-template-columns:8px 1fr 54px 60px;gap:7px;align-items:center;border-bottom:1px solid #edf1f5;padding:7px 0}.risk-row-v10>i{width:5px;height:18px;border-radius:3px;background:#f4aa21}.risk-row-v10>i.high{background:#ef5550}.risk-row-v10 span{font-size:8px;font-weight:800}.risk-row-v10 em{font-size:7px;font-style:normal;border-radius:10px;padding:3px 7px;background:#fff2e0;color:#b46609;text-align:center}.risk-row-v10 small{font-size:7px;color:#708097;text-align:right}.issue-level-v10{display:grid;gap:7px}.issue-level-v10>div{display:grid;grid-template-columns:38px 1fr;border:1px solid #e5eaf1;border-radius:7px;overflow:hidden}.issue-level-v10 b{font-size:12px;text-align:center;padding:6px}.issue-level-v10 span{font-size:8px;padding:7px;text-align:center;font-weight:800}.issue-level-v10 .high{border-color:#ffc6c8;background:#fff1f2;color:#b93940}.issue-level-v10 .medium{border-color:#ffe0a5;background:#fff9e9;color:#a56a00}.issue-level-v10 .low{border-color:#cbe9d3;background:#effaf2;color:#2a8247}.issue-level-v10 .total{background:#f6f8fb;color:#33455d}.ms-summary-v10{display:flex;gap:15px;align-items:center;justify-content:center;margin-top:8px}.ms-donut-v10{width:92px;height:92px;border-radius:50%;display:grid;place-items:center}.ms-donut-v10>div{width:59px;height:59px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center}.ms-donut-v10 b{font-size:20px}.ms-donut-v10 span{font-size:7px;color:#6f7e91}.ms-legend-v10{display:grid;gap:9px}.ms-legend-v10 span{font-size:8px;display:flex;align-items:center;gap:6px}.ms-legend-v10 i{width:9px;height:9px;border-radius:50%;background:#94a3b8}.ms-legend-v10 i.done{background:#3bb273}.ms-legend-v10 i.progress{background:#2f80ed}.ms-legend-v10 i.upcoming{background:#94a3b8}
@media(max-width:1450px){.overview-kpis-v10{grid-template-columns:repeat(4,1fr)}.approved-overview-grid{grid-template-columns:1fr}.overview-support-grid-v10{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.overview-v10{display:none}}

.latest-version-badge{font-size:11px;font-weight:800;letter-spacing:.08em;color:#165d97;background:#eef6ff;border:1px solid #cfe3f8;padding:7px 10px;border-radius:8px}.approved-card-head{align-items:flex-start}

/* ===== v1.1 Project Data Hub + WBS Builder ===== */
.project-hub-list{display:grid;gap:16px}.hub-project{padding:18px}.hub-project-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.hub-title-row{display:flex;gap:10px;align-items:center}.hub-title-row h3{margin:0 0 4px;font-size:18px}.readiness-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.readiness-cell{border:1px solid #e3e9f1;background:#f9fbfd;border-radius:10px;padding:12px;min-height:74px;position:relative}.readiness-cell>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.readiness-cell span{font-size:10px;font-weight:800;color:#4c5d73}.readiness-cell b{font-size:20px;color:#102b4c}.readiness-cell small{display:block;margin-top:10px;font-size:9px;font-weight:800}.readiness-cell small.ready{color:#15834b}.readiness-cell small.empty{color:#8c99aa}.readiness-cell em{position:absolute;right:10px;bottom:10px;font-style:normal;font-size:8px;color:#9aa5b4}.hub-project-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid #e8edf4}.hub-project-actions button,.wbs-actions button{border:1px solid #d7e0ec;background:white;color:#1d4f85;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:800;cursor:pointer}.hub-project-actions button:hover,.wbs-actions button:hover{border-color:#1769e0;background:#f2f7ff}.hub-actions{display:flex;gap:8px;flex-wrap:wrap}.wbs-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.wbs-kpis .card{padding:14px 16px}.wbs-kpis span{font-size:9px;font-weight:800;color:#6d7c90}.wbs-kpis b{display:block;margin-top:6px;font-size:24px;color:#0d2d51}.wbs-card{padding:16px}.wbs-table{width:100%;border-collapse:collapse;font-size:10px}.wbs-table th{background:#f4f7fb;text-align:left;padding:9px;color:#41536b;font-size:9px;border-bottom:1px solid #dfe6ef}.wbs-table td{padding:9px;border-bottom:1px solid #edf1f6;vertical-align:middle}.wbs-table tr.wbs-summary{background:#f8fbff}.wbs-table tr.wbs-summary td{font-weight:700}.wbs-name{white-space:nowrap}.wbs-actions{display:flex;gap:5px;white-space:nowrap}.wbs-empty{text-align:center;padding:46px 20px}.wbs-empty-icon{font-size:54px;color:#1769e0}.wbs-empty h2{margin:8px 0}.wbs-empty p{color:#6d7c90;max-width:520px;margin:0 auto 20px}.create-next{margin-top:18px;padding:14px;border:1px solid #dfe7f1;border-radius:10px;background:#f8fbff}.create-next>b{font-size:11px}.create-next>div{display:flex;gap:18px;margin-top:10px;flex-wrap:wrap}.create-next label{font-size:10px;font-weight:700;color:#42566e}.create-next input{margin-right:5px}
@media(max-width:900px){.readiness-grid,.wbs-kpis{grid-template-columns:repeat(2,1fr)}.hub-project-head{flex-direction:column}.wbs-card{overflow:auto}}

/* v1.2 inline MPP/WBS grid */
.inline-plan-toolbar{display:flex;gap:6px;align-items:center;padding:8px 10px;margin-bottom:10px;position:sticky;top:0;z-index:8;border-radius:8px;background:#f7f9fc}
.inline-plan-toolbar button{border:1px solid #c8d3e1;background:white;color:#18324d;border-radius:5px;padding:7px 10px;font-size:11px;font-weight:700;cursor:pointer}.inline-plan-toolbar button:hover{background:#eaf2ff;border-color:#6da5e8}.toolbar-sep{width:1px;height:25px;background:#d8e0ea;margin:0 2px}.toolbar-help{font-size:10px;color:#6c7e92;margin-left:auto}
.inline-mpp-card{padding:0;overflow:hidden}.mpp-wrap.inline{min-height:480px}.inline-grid{font-size:10px}.inline-grid th{height:32px;background:#eaf5e8;color:#173a22;border-right:1px solid #cfd8e3;white-space:nowrap}.inline-grid td{padding:0;border-right:1px solid #dfe5ec;height:30px}.mpp-inline-row{cursor:default}.mpp-inline-row.selected td{background:#e8f2ff!important}.mpp-inline-row.summary-row td{background:#f3f6f9;font-weight:700}.row-select{width:17px;text-align:center;color:#2375d8}.task-mode{width:38px;text-align:center;color:#507090}.task-name-cell{min-width:260px}.grid-input{width:100%;height:29px;border:0;background:transparent;padding:4px 6px;font:inherit;color:#18283b;box-sizing:border-box}.grid-input:hover{outline:1px solid #aec8e8;background:white}.grid-input:focus{outline:2px solid #3f8ee8;background:white;position:relative;z-index:2}.grid-input.num{min-width:58px;text-align:right}.grid-input.date{min-width:112px;font-size:9px}.rollup-val{display:block;padding:6px;color:#4d6074}.direct-edit-note{display:flex;gap:18px;align-items:center;margin-top:10px;padding:12px 16px;font-size:10px;color:#52677d}.direct-edit-note b{color:#163b63}.direct-edit-note span:before{content:'✓ ';color:#2ba45f;font-weight:900}

/* ===== v1.3 approved SOLTIUS shell + MS Project progress model ===== */
.v13-shell{grid-template-columns:188px 1fr;grid-template-rows:54px 1fr;background:#f7f9fc}.v13-topbar{grid-column:1/3;grid-row:1;height:54px;background:#061f43;color:white;display:flex;align-items:center;padding:0 18px;border-bottom:0;box-shadow:none;z-index:20}.v13-brand{width:250px;display:flex;align-items:baseline;gap:10px}.soltius-word{font-size:24px;font-weight:900;letter-spacing:.02em;color:white}.soltius-word i{font-style:normal;color:#f7941e}.v13-brand small{font-size:9px;color:#d4dfed;font-weight:700}.v13-breadcrumb{display:flex;align-items:center;gap:12px;font-size:10px;flex:1}.v13-breadcrumb button{border:0;background:transparent;color:#fff;font-weight:700;cursor:pointer}.v13-breadcrumb span{color:#7f98b6}.v13-breadcrumb b,.v13-breadcrumb strong{font-size:10px}.v13-top-actions{display:flex;align-items:center;gap:10px;font-size:10px}.v13-reporting{height:34px;border:1px solid #345273;border-radius:7px;padding:0 9px;display:flex;align-items:center;gap:6px;background:#0c2b52}.v13-reporting span{font-weight:700}.v13-reporting input{border:0;background:transparent;color:white;font-weight:800;font-size:10px;color-scheme:dark}.v13-icon{position:relative;border:0;background:transparent;color:white;font-size:16px}.v13-icon sup{background:#ef4c3f;border-radius:50%;font-size:7px;padding:2px 4px;position:absolute;top:-4px;right:-4px}.v13-sidebar{grid-row:2;grid-column:1;background:white;color:#18324e;border-right:1px solid #dfe5ed;padding:14px 10px;display:flex;flex-direction:column;position:relative;width:auto}.v13-nav{display:grid;gap:4px}.v13-nav>button,.v13-subnav button{border:0;background:white;color:#273f5d;border-radius:6px;padding:9px 10px;text-align:left;font-size:10px;font-weight:700;cursor:pointer;display:flex;gap:9px;align-items:center}.v13-nav>button em{margin-left:auto;font-style:normal}.v13-nav button.active{background:#edf4ff;color:#1769df}.v13-subnav{display:grid;padding-left:19px;margin:-1px 0 8px}.v13-subnav button{padding:7px 9px;font-size:9px;font-weight:650}.v13-project-card{margin-top:auto;border:1px solid #dfe5ee;border-radius:9px;padding:12px;display:grid;gap:7px}.v13-project-card>b{font-size:10px}.v13-project-card .pill{width:max-content;font-size:7px;padding:3px 5px}.v13-project-card small{font-size:8px;color:#66778e;margin-top:4px}.v13-project-card strong{font-size:20px;color:#0a2b52}.mini-line{height:20px;border-bottom:2px solid #25a45d;clip-path:polygon(0 60%,18% 40%,35% 45%,50% 30%,68% 65%,85% 50%,100% 15%,100% 100%,0 100%);background:#ecfaf2}.mini-line.orange{border-color:#ff8a00;background:#fff5e9}.v13-main{grid-column:2;grid-row:2;padding:14px 18px;overflow:auto}.v13-plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.v13-plan-head h1{margin:0;font-size:21px;color:#0b2547}.v13-plan-head p{margin:5px 0 0;color:#728196;font-size:10px}.v13-version-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.v13-version-actions label{font-size:9px;font-weight:700;color:#566a83;display:flex;gap:6px;align-items:center}.v13-version-actions select{height:34px;border:1px solid #d7e0eb;border-radius:6px;background:white;padding:0 24px 0 9px;font-size:9px}.version-readonly-banner{padding:8px 12px;border:1px solid #b9d5f5;background:#f1f7ff;color:#245484;border-radius:7px;font-size:10px;margin-bottom:9px}.disabled-toolbar{opacity:.7}.disabled-toolbar button:disabled{cursor:not-allowed;color:#9aa6b5;background:#f2f4f7}.v13-plan-card{border-radius:8px}.v13-plan-card .mpp-left{min-width:690px;flex:0 0 52%}.v13-plan-card .mpp-right{flex:1;min-width:620px;position:relative}.v13-plan-card .inline-grid th{background:#f4f6f8;color:#24374d}.v13-plan-card .inline-grid td{height:31px}.pred-link{min-width:105px}.plan-pct{color:#2aa55e;font-weight:800;text-align:center}.actual-pct{color:#1769df;font-weight:800;text-align:center}.gantt-v13-body{position:relative}.gantt-reporting-line{position:absolute;top:0;bottom:0;width:1.5px;background:#2b77ef;z-index:7;pointer-events:none}.gantt-reporting-line b{position:absolute;top:-31px;left:50%;transform:translateX(-50%);background:#1769e0;color:#fff;border-radius:4px;padding:4px 6px;font-size:7px;white-space:nowrap}.v13-gantt-legend{display:flex;gap:18px;justify-content:center;align-items:center;padding:9px;border-top:1px solid #e5eaf1;font-size:8px;color:#52667e}.v13-gantt-legend span:before{content:'';display:inline-block;width:13px;height:7px;background:#17334f;margin-right:5px;border-radius:2px}.v13-gantt-legend .planned:before{background:#1769e0}.v13-gantt-legend .remaining:before{background:#a9cef9}.v13-gantt-legend .actual:before{background:#0f4daa}.v13-gantt-legend .dep:before,.v13-gantt-legend .report:before{display:none}.v13-gantt-legend .sum:before{background:#172b43}.v13-plan-card .plan-summary-strip{justify-content:space-around;font-size:9px;padding:15px}.v13-plan-card .plan-summary-strip span{border:0}.v13-plan-card .gantt-months{height:32px;background:#f7f9fc;border-bottom:1px solid #dfe5ed;display:flex;justify-content:space-between;align-items:center;padding:0 12px;font-size:8px;font-weight:800;color:#52677f}
@media(max-width:1100px){.v13-shell{grid-template-columns:155px 1fr}.v13-top-actions b{display:none}.v13-version-actions{justify-content:flex-start}.v13-plan-head{flex-direction:column}.v13-brand{width:210px}.v13-breadcrumb{display:none}}
@media(max-width:900px){.v13-topbar,.v13-sidebar,.v13-main{display:none}}

/* ===== v1.4 FINAL MPP LAYOUT + EXCEL-DENSITY OVERRIDES ===== */
/* Reset legacy fixed sidebar/header/main rules. These were the source of the stretched / empty layout in v1.3. */
.v13-shell{display:grid!important;grid-template-columns:196px minmax(0,1fr)!important;grid-template-rows:52px minmax(0,1fr)!important;width:100vw;min-height:100vh;background:#f5f7fa;overflow:hidden}
.v13-topbar{position:relative!important;inset:auto!important;margin-left:0!important;grid-column:1/3!important;grid-row:1!important;width:100%!important;height:52px!important;min-height:52px!important;padding:0 16px!important;background:#061f43!important;display:flex!important;align-items:center!important;box-shadow:none!important}
.v13-sidebar{position:relative!important;inset:auto!important;grid-column:1!important;grid-row:2!important;width:196px!important;height:calc(100vh - 52px)!important;padding:10px 8px!important;overflow:auto!important;background:#fff!important;border-right:1px solid #dce3eb!important;color:#18324e!important}
.v13-main{margin-left:0!important;grid-column:2!important;grid-row:2!important;width:auto!important;min-width:0!important;height:calc(100vh - 52px)!important;padding:12px 14px 16px!important;overflow:auto!important;background:#f7f9fc}
.v13-brand{width:218px!important;flex:0 0 218px!important}.soltius-word{font-size:20px!important}.v13-brand small{font-size:7px!important}.v13-breadcrumb{font-size:9px!important;gap:9px!important;min-width:0}.v13-breadcrumb b,.v13-breadcrumb strong{font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v13-top-actions{font-size:9px!important;gap:8px!important;white-space:nowrap}.v13-reporting{height:30px!important;padding:0 7px!important}.v13-reporting input{font-size:9px!important}.v13-icon{font-size:13px!important}.v13-topbar .avatar{width:27px!important;height:27px!important;font-size:9px!important}
.v13-nav{gap:2px!important}.v13-nav>button,.v13-subnav button{padding:7px 8px!important;font-size:9px!important;border-radius:5px!important}.v13-subnav{padding-left:14px!important;margin:0 0 5px!important}.v13-subnav button{padding:6px 8px!important;font-size:8.5px!important}.v13-project-card{padding:9px!important;gap:5px!important}.v13-project-card>b{font-size:9px!important}.v13-project-card small{font-size:7px!important}.v13-project-card strong{font-size:17px!important}.mini-line{height:15px!important}

/* Project-plan header is compact and remains immediately above the grid, like MS Project. */
.v13-plan-head{margin:0 0 8px!important;align-items:center!important;gap:12px!important}.v13-plan-head h1{font-size:18px!important;line-height:1.1!important}.v13-plan-head p{font-size:8.5px!important;margin-top:3px!important}.v13-version-actions{gap:5px!important;flex-wrap:nowrap!important}.v13-version-actions label{font-size:8px!important;white-space:nowrap}.v13-version-actions select,.v13-version-actions .btn{height:30px!important;padding:0 9px!important;border-radius:5px!important;font-size:8.5px!important}.inline-plan-toolbar{position:relative!important;top:auto!important;margin:0 0 6px!important;padding:5px 6px!important;border-radius:5px!important;min-height:34px!important;box-shadow:none!important;border:1px solid #dce3eb!important}.inline-plan-toolbar button{height:26px!important;padding:0 8px!important;font-size:8.5px!important;border-radius:4px!important}.toolbar-sep{height:20px!important}.toolbar-help{font-size:7.5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-toolbar{padding:5px 6px!important;gap:6px!important;min-height:35px!important}.plan-toolbar .searchbox{padding:5px 7px!important;min-width:210px!important;height:27px!important;border-radius:4px!important;font-size:8.5px!important}.plan-toolbar select{height:27px!important;padding:0 20px 0 7px!important;border-radius:4px!important;font-size:8px!important}

/* Excel-like grid: row height follows font height; columns are character-driven and compact. */
.v13-plan-card{border-radius:4px!important;box-shadow:none!important;border:1px solid #cfd8e3!important;overflow:hidden!important}.v13-plan-card .mpp-wrap.inline{display:flex!important;min-height:0!important;max-height:calc(100vh - 205px)!important;overflow:auto!important;align-items:flex-start!important}.v13-plan-card .mpp-left{flex:0 0 610px!important;min-width:610px!important;max-width:610px!important;overflow:visible!important;border-right:1px solid #bfcbd9!important}.v13-plan-card .mpp-right{flex:1 1 auto!important;min-width:620px!important;padding-top:38px!important;background:#fff!important;border-left:0!important;overflow:hidden!important}.v13-plan-card .inline-grid{table-layout:fixed!important;width:610px!important;min-width:610px!important;font-size:8px!important;line-height:1.15!important;border-collapse:collapse!important}.v13-plan-card .inline-grid thead th{height:38px!important;min-height:38px!important;padding:3px 4px!important;font-size:7px!important;line-height:1.1!important;text-transform:none!important;letter-spacing:0!important;vertical-align:middle!important;background:#f3f5f7!important;color:#263a52!important;border-right:1px solid #cfd8e3!important;border-bottom:1px solid #bfcbd9!important;white-space:normal!important;position:sticky!important;top:0!important;z-index:9!important}.v13-plan-card .inline-grid tbody tr,.v13-plan-card .inline-grid tbody td{height:26px!important;min-height:26px!important;max-height:26px!important}.v13-plan-card .inline-grid td{padding:0 3px!important;font-size:8px!important;line-height:1.1!important;border-right:1px solid #d8e0e8!important;border-bottom:1px solid #e2e7ed!important;vertical-align:middle!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;background:#fff}.v13-plan-card .inline-grid tr.summary-row td{background:#f0f4f8!important;font-weight:800!important}.v13-plan-card .inline-grid tr:hover td{background:#f7fbff!important}.v13-plan-card .inline-grid tr.summary-row:hover td{background:#eaf1f8!important}
/* col widths: selector, mode, WBS, name, duration, start, finish, predecessor, owner, plan, actual, variance */
.v13-plan-card .inline-grid th:nth-child(1),.v13-plan-card .inline-grid td:nth-child(1){width:18px!important;text-align:center}.v13-plan-card .inline-grid th:nth-child(2),.v13-plan-card .inline-grid td:nth-child(2){width:35px!important;text-align:center}.v13-plan-card .inline-grid th:nth-child(3),.v13-plan-card .inline-grid td:nth-child(3){width:38px!important}.v13-plan-card .inline-grid th:nth-child(4),.v13-plan-card .inline-grid td:nth-child(4){width:150px!important}.v13-plan-card .inline-grid th:nth-child(5),.v13-plan-card .inline-grid td:nth-child(5){width:48px!important;text-align:right}.v13-plan-card .inline-grid th:nth-child(6),.v13-plan-card .inline-grid td:nth-child(6){width:64px!important}.v13-plan-card .inline-grid th:nth-child(7),.v13-plan-card .inline-grid td:nth-child(7){width:64px!important}.v13-plan-card .inline-grid th:nth-child(8),.v13-plan-card .inline-grid td:nth-child(8){width:58px!important}.v13-plan-card .inline-grid th:nth-child(9),.v13-plan-card .inline-grid td:nth-child(9){width:62px!important}.v13-plan-card .inline-grid th:nth-child(10),.v13-plan-card .inline-grid td:nth-child(10){width:43px!important;text-align:center}.v13-plan-card .inline-grid th:nth-child(11),.v13-plan-card .inline-grid td:nth-child(11){width:45px!important;text-align:center}.v13-plan-card .inline-grid th:nth-child(12),.v13-plan-card .inline-grid td:nth-child(12){width:45px!important;text-align:center}
.v13-plan-card .grid-input{height:24px!important;min-height:24px!important;padding:1px 2px!important;font-size:8px!important;line-height:1.1!important;text-overflow:ellipsis!important}.v13-plan-card .grid-input.date{min-width:0!important;font-size:7.5px!important}.v13-plan-card input[type=date]::-webkit-calendar-picker-indicator{width:10px;height:10px;margin:0;padding:0}.v13-plan-card .pred-link{min-width:0!important}.v13-plan-card .rollup-val{padding:2px!important;font-size:8px!important}.task-name-cell{min-width:0!important}.task-mode{width:auto!important}.row-select{width:auto!important}.plan-pct,.actual-pct{font-size:8px!important}

/* Gantt has exactly the same row pitch as the Excel grid. */
.v13-plan-card .gantt-months{height:38px!important;margin-top:-38px!important;padding:0 8px!important;font-size:7px!important;background:#f3f5f7!important;border-bottom:1px solid #bfcbd9!important}.v13-plan-card .gantt-v13-body{position:relative!important}.v13-plan-card .gantt-row{height:26px!important;min-height:26px!important;max-height:26px!important;border-bottom:1px solid #e2e7ed!important;background:#fff!important}.v13-plan-card .gantt-row.summary{background:#f0f4f8!important}.v13-plan-card .gantt-track{height:25px!important}.v13-plan-card .gantt-baseline{top:18px!important;height:2px!important}.v13-plan-card .gantt-bar{top:6px!important;height:11px!important;border-radius:2px!important}.v13-plan-card .gantt-bar.sum{top:9px!important;height:6px!important;border-radius:1px!important}.v13-plan-card .gantt-bar.milestone{top:7px!important;height:10px!important;width:10px!important;min-width:10px!important}.gantt-reporting-line b{top:-27px!important;font-size:6px!important;padding:3px 5px!important}.v13-gantt-legend{padding:5px!important;gap:12px!important;font-size:7px!important;min-height:26px!important}.v13-plan-card .plan-summary-strip{padding:7px 8px!important;font-size:7.5px!important;min-height:30px!important}.v13-plan-card .plan-summary-strip b{font-size:9px!important}

/* Keep visual density stable on normal laptop and wide monitors. */
@media(min-width:1500px){.v13-shell{grid-template-columns:196px minmax(0,1fr)!important}.v13-main{padding-left:18px!important;padding-right:18px!important}.v13-plan-card .mpp-left{flex-basis:640px!important;min-width:640px!important;max-width:640px!important}.v13-plan-card .inline-grid{width:640px!important;min-width:640px!important}}
@media(max-width:1150px) and (min-width:901px){.v13-shell{grid-template-columns:170px minmax(0,1fr)!important}.v13-sidebar{width:170px!important}.v13-brand{width:190px!important;flex-basis:190px!important}.v13-version-actions .btn{padding:0 6px!important}.v13-plan-card .mpp-left{flex-basis:580px!important;min-width:580px!important;max-width:580px!important}.v13-plan-card .inline-grid{width:580px!important;min-width:580px!important}}

/* ============================================================
   v1.5 — APPROVED PROJECT PLAN UI FIDELITY
   Visual source: APPROVED_PROJECT_PLAN_REFERENCE_v1.5.png
   ============================================================ */
:root{--v15-navy:#061d42;--v15-blue:#0d6efd;--v15-grid:#dfe6ee;--v15-text:#132a46;--v15-muted:#60748c}
html,body,#app{width:100%;height:100%;overflow:hidden;background:#fff}
.v13-shell{display:grid!important;grid-template-columns:210px minmax(0,1fr)!important;grid-template-rows:58px minmax(0,1fr)!important;width:100vw!important;height:100vh!important;min-height:0!important;background:#fff!important;overflow:hidden!important}
.v13-topbar{grid-column:1/3!important;grid-row:1!important;position:relative!important;width:100%!important;height:58px!important;min-height:58px!important;padding:0 18px!important;margin:0!important;background:var(--v15-navy)!important;border:0!important;color:#fff!important;display:flex!important;align-items:center!important;box-shadow:none!important}
.v13-brand{width:292px!important;flex:0 0 292px!important;display:flex!important;align-items:center!important;gap:12px!important}.soltius-word{font-size:25px!important;line-height:1!important;font-weight:900!important;letter-spacing:.01em!important}.v13-brand small{font-size:9px!important;color:#e3ebf5!important;white-space:nowrap!important}
.v13-breadcrumb{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important;font-size:10px!important}.v13-breadcrumb button,.v13-breadcrumb b,.v13-breadcrumb strong{font-size:10px!important;color:#fff!important;white-space:nowrap!important}.v13-breadcrumb span{color:#92a8c1!important}.v13-top-actions{margin-left:auto!important;gap:11px!important;font-size:10px!important;white-space:nowrap!important}.v13-reporting{height:35px!important;padding:0 11px!important;border:1px solid #34547a!important;border-radius:7px!important;background:#0b2a54!important}.v13-reporting input{font-size:10px!important}.v13-icon{font-size:15px!important}.v13-topbar .avatar{width:29px!important;height:29px!important;font-size:10px!important}

.v13-sidebar{grid-column:1!important;grid-row:2!important;position:relative!important;width:210px!important;height:100%!important;min-height:0!important;padding:18px 12px 12px!important;background:#fff!important;border-right:1px solid #dde5ee!important;color:var(--v15-text)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}.v13-nav{gap:4px!important}.v13-nav>button,.v13-subnav button{min-height:34px!important;padding:8px 10px!important;border-radius:6px!important;font-size:10px!important;color:#273f5d!important;background:#fff!important}.v13-nav button.active{background:#eaf3ff!important;color:#0668df!important;border-left:3px solid #0d6efd!important;border-radius:2px 6px 6px 2px!important}.v13-subnav{padding-left:20px!important;margin:0 0 9px!important}.v13-subnav button{min-height:29px!important;padding:6px 9px!important;font-size:9.5px!important}.v13-project-card{margin-top:auto!important;padding:13px!important;border:1px solid #dce5ef!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important}.v13-project-card>b{font-size:10px!important;line-height:1.35!important}.v13-project-card small{font-size:8px!important}.v13-project-card strong{font-size:19px!important}.mini-line{height:16px!important}

.v13-main{grid-column:2!important;grid-row:2!important;position:relative!important;height:100%!important;min-width:0!important;min-height:0!important;margin:0!important;padding:18px 20px 16px!important;background:#fff!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
.v13-plan-head{flex:0 0 auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin:0 0 14px!important;min-height:54px!important}.v13-plan-head h1{margin:0!important;font-size:21px!important;line-height:1.1!important;color:#102848!important}.v13-plan-head p{margin:5px 0 0!important;font-size:9.5px!important;color:#64758a!important}.v13-version-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important}.v13-version-actions label{display:flex!important;align-items:center!important;gap:7px!important;font-size:9px!important;white-space:nowrap!important;color:#55687f!important}.v13-version-actions select,.v13-version-actions .btn{height:35px!important;padding:0 12px!important;border-radius:6px!important;font-size:9px!important;white-space:nowrap!important}
.inline-plan-toolbar{flex:0 0 43px!important;min-height:43px!important;margin:0 0 10px!important;padding:5px 7px!important;display:flex!important;align-items:center!important;gap:8px!important;border:1px solid #dde5ee!important;border-radius:6px!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important}.inline-plan-toolbar button{height:32px!important;padding:0 12px!important;border-radius:5px!important;font-size:9px!important;background:#fff!important;border:1px solid #d9e2ec!important;color:#17324e!important}.inline-plan-toolbar button:first-child{background:#0d6efd!important;color:#fff!important;border-color:#0d6efd!important}.inline-plan-toolbar button:nth-child(2){color:#e23b3b!important}.toolbar-sep{height:22px!important}.toolbar-help{margin-left:auto!important;font-size:7.5px!important;color:#7d8da0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}

.v13-plan-card{flex:1 1 auto!important;min-height:0!important;margin:0!important;border:1px solid #d7e0ea!important;border-radius:5px!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}.v13-plan-card .mpp-wrap.inline{flex:1 1 auto!important;min-height:0!important;max-height:none!important;display:flex!important;align-items:flex-start!important;overflow:auto!important;background:#fff!important}.v13-plan-card .mpp-left{flex:0 0 660px!important;min-width:660px!important;max-width:660px!important;border-right:1px solid #c8d3df!important;background:#fff!important;overflow:visible!important}.v13-plan-card .inline-grid{table-layout:fixed!important;width:660px!important;min-width:660px!important;border-collapse:collapse!important;font-family:Arial,Helvetica,sans-serif!important;font-size:8.25px!important;line-height:1!important;color:#182d47!important}.v13-plan-card .inline-grid thead th{position:sticky!important;top:0!important;z-index:10!important;height:42px!important;min-height:42px!important;padding:3px 4px!important;background:#f5f7f9!important;color:#1f334c!important;border-right:1px solid #d6dee7!important;border-bottom:1px solid #c6d0dc!important;font-size:7.4px!important;line-height:1.1!important;font-weight:800!important;text-align:left!important;vertical-align:middle!important;white-space:normal!important}.v13-plan-card .inline-grid tbody tr,.v13-plan-card .inline-grid tbody td{height:29px!important;min-height:29px!important;max-height:29px!important}.v13-plan-card .inline-grid td{padding:0 4px!important;border-right:1px solid #dce3eb!important;border-bottom:1px solid #e2e7ed!important;font-size:8.25px!important;line-height:1!important;vertical-align:middle!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;background:#fff!important}.v13-plan-card .inline-grid tr.summary-row td{background:#f3f6f9!important;font-weight:800!important;color:#162b45!important}.v13-plan-card .inline-grid tr:hover td{background:#f7fbff!important}.v13-plan-card .inline-grid tr.summary-row:hover td{background:#edf3f9!important}
/* selector | mode | WBS | task | duration | start | finish | pred | owner | plan | actual | variance */
.v13-plan-card .inline-grid th:nth-child(1),.v13-plan-card .inline-grid td:nth-child(1){width:18px!important;text-align:center!important}.v13-plan-card .inline-grid th:nth-child(2),.v13-plan-card .inline-grid td:nth-child(2){width:37px!important;text-align:center!important}.v13-plan-card .inline-grid th:nth-child(3),.v13-plan-card .inline-grid td:nth-child(3){width:38px!important}.v13-plan-card .inline-grid th:nth-child(4),.v13-plan-card .inline-grid td:nth-child(4){width:170px!important}.v13-plan-card .inline-grid th:nth-child(5),.v13-plan-card .inline-grid td:nth-child(5){width:53px!important;text-align:right!important}.v13-plan-card .inline-grid th:nth-child(6),.v13-plan-card .inline-grid td:nth-child(6){width:68px!important}.v13-plan-card .inline-grid th:nth-child(7),.v13-plan-card .inline-grid td:nth-child(7){width:68px!important}.v13-plan-card .inline-grid th:nth-child(8),.v13-plan-card .inline-grid td:nth-child(8){width:61px!important}.v13-plan-card .inline-grid th:nth-child(9),.v13-plan-card .inline-grid td:nth-child(9){width:67px!important}.v13-plan-card .inline-grid th:nth-child(10),.v13-plan-card .inline-grid td:nth-child(10){width:45px!important;text-align:center!important}.v13-plan-card .inline-grid th:nth-child(11),.v13-plan-card .inline-grid td:nth-child(11){width:46px!important;text-align:center!important}.v13-plan-card .inline-grid th:nth-child(12),.v13-plan-card .inline-grid td:nth-child(12){width:47px!important;text-align:center!important}.v13-plan-card .grid-input{height:27px!important;min-height:27px!important;padding:0 2px!important;border:0!important;background:transparent!important;font:inherit!important;color:inherit!important}.v13-plan-card .grid-input:focus{outline:1px solid #4c9bff!important;background:#fff!important}.v13-plan-card .rollup-val{padding:0!important;font-size:8.25px!important}.task-name-cell>div{display:flex!important;align-items:center!important;height:100%!important}.plan-pct{color:#0a9b45!important;font-weight:800!important}.actual-pct{color:#0d6efd!important;font-weight:800!important}

.v13-plan-card .mpp-right{flex:1 1 auto!important;min-width:720px!important;padding-top:42px!important;border-left:0!important;background:#fff!important;overflow:hidden!important}.v13-plan-card .gantt-months{position:sticky!important;top:0!important;z-index:10!important;height:42px!important;margin-top:-42px!important;padding:0 10px!important;background:#f5f7f9!important;border-bottom:1px solid #c6d0dc!important;color:#253a53!important;font-size:7.2px!important;font-weight:800!important}.v13-plan-card .gantt-row{height:29px!important;min-height:29px!important;max-height:29px!important;border-bottom:1px solid #e2e7ed!important;background:#fff!important}.v13-plan-card .gantt-row.summary{background:#f3f6f9!important}.v13-plan-card .gantt-track{height:28px!important}.v13-plan-card .gantt-baseline{top:21px!important;height:2px!important}.v13-plan-card .gantt-bar{top:7px!important;height:12px!important;border-radius:2px!important}.v13-plan-card .gantt-bar.sum{top:10px!important;height:7px!important;background:#101f34!important}.v13-plan-card .gantt-bar.milestone{top:8px!important;width:10px!important;height:10px!important;min-width:10px!important}.gantt-reporting-line{border-left-color:#1f78ff!important}.gantt-reporting-line b{top:-29px!important;background:#0d6efd!important;font-size:6.5px!important;padding:3px 6px!important}.v13-gantt-legend{flex:0 0 34px!important;min-height:34px!important;padding:7px 12px!important;gap:18px!important;font-size:8px!important;justify-content:flex-end!important;border-top:1px solid #eef2f6!important;background:#fff!important}.v13-plan-card .plan-summary-strip{flex:0 0 55px!important;min-height:55px!important;margin:0!important;padding:0 20px!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;align-items:center!important;border-top:1px solid #e0e6ed!important;background:#fff!important;font-size:9px!important}.v13-plan-card .plan-summary-strip span{text-align:center!important;border-right:1px solid #e0e6ed!important}.v13-plan-card .plan-summary-strip span:last-child{border-right:0!important;color:#ff6500!important}.v13-plan-card .plan-summary-strip b{font-size:11px!important;color:#152a45!important}

/* desktop-first fidelity; only scale down after true tablet widths */
@media(min-width:1500px){.v13-shell{grid-template-columns:210px minmax(0,1fr)!important}.v13-plan-card .mpp-left{flex-basis:660px!important;min-width:660px!important;max-width:660px!important}.v13-plan-card .inline-grid{width:660px!important;min-width:660px!important}}
@media(max-width:1180px) and (min-width:901px){.v13-shell{grid-template-columns:190px minmax(0,1fr)!important}.v13-sidebar{width:190px!important}.v13-brand{width:250px!important;flex-basis:250px!important}.v13-plan-card .mpp-left{flex-basis:620px!important;min-width:620px!important;max-width:620px!important}.v13-plan-card .inline-grid{width:620px!important;min-width:620px!important}.v13-version-actions .btn{padding:0 8px!important}}

/* ============================================================
   v1.6 — PROJECT PLAN UI CLEANUP / MS PROJECT DENSITY
   Approved target: compact WBS grid + aligned Gantt + month/week header
   ============================================================ */
:root{--v16-app-max:1680px;--v16-sidebar:202px;--v16-top:54px;--v16-row:28px;--v16-head:46px;--v16-grid-left:690px;--v16-blue:#0b6ff5;--v16-blue-dark:#0757c8;--v16-blue-light:#b9d8ff;--v16-navy:#061e43;--v16-grid:#dbe3ec;--v16-summary:#10233d}
html,body{background:#eef2f6!important;overflow:hidden!important}
#app{width:min(100vw,var(--v16-app-max))!important;max-width:var(--v16-app-max)!important;height:100vh!important;margin:0 auto!important;background:#fff!important;box-shadow:0 0 0 1px #d9e1ea!important;overflow:hidden!important}
.v13-shell{width:100%!important;height:100%!important;grid-template-columns:var(--v16-sidebar) minmax(0,1fr)!important;grid-template-rows:var(--v16-top) minmax(0,1fr)!important;overflow:hidden!important}
.v13-topbar{height:var(--v16-top)!important;min-height:var(--v16-top)!important;padding:0 16px!important;background:var(--v16-navy)!important}
.v13-brand{width:285px!important;flex-basis:285px!important;gap:10px!important}.soltius-word{font-size:24px!important}.v13-brand small{font-size:8.5px!important}
.v13-breadcrumb{gap:10px!important}.v13-breadcrumb button,.v13-breadcrumb b,.v13-breadcrumb strong{font-size:9.5px!important}.v13-top-actions{gap:9px!important;font-size:9px!important}.v13-reporting{height:33px!important}
.v13-sidebar{width:var(--v16-sidebar)!important;padding:16px 10px 10px!important;overflow:hidden!important}.v13-nav{gap:3px!important}.v13-nav>button{min-height:32px!important;padding:7px 9px!important;font-size:9.5px!important}.v13-subnav{padding-left:19px!important;margin-bottom:8px!important}.v13-subnav button{min-height:27px!important;padding:5px 8px!important;font-size:9px!important}.v13-project-card{padding:11px!important}.v13-project-card strong{font-size:18px!important}
.v13-main{padding:14px 16px 14px!important;overflow:hidden!important}.v13-plan-head{min-height:50px!important;margin:0 0 10px!important;gap:10px!important}.v13-plan-head h1{font-size:20px!important}.v13-plan-head p{font-size:9px!important;margin-top:4px!important}.v13-version-actions{gap:6px!important}.v13-version-actions select,.v13-version-actions .btn{height:32px!important;padding:0 10px!important;font-size:8.5px!important}
.inline-plan-toolbar{height:40px!important;min-height:40px!important;flex-basis:40px!important;margin-bottom:8px!important;padding:4px 6px!important;gap:6px!important}.inline-plan-toolbar button{height:30px!important;padding:0 10px!important;font-size:8.5px!important}.toolbar-sep{height:20px!important}.toolbar-help{font-size:7px!important;max-width:340px!important}
.v13-plan-card{border-radius:4px!important;border-color:#cfd9e4!important;overflow:hidden!important}.v13-plan-card .mpp-wrap.inline{overflow:hidden!important;align-items:stretch!important}.v13-plan-card .mpp-left{flex:0 0 var(--v16-grid-left)!important;min-width:var(--v16-grid-left)!important;max-width:var(--v16-grid-left)!important;overflow:auto!important;border-right:1px solid #bdc9d6!important}.v13-plan-card .inline-grid{width:var(--v16-grid-left)!important;min-width:var(--v16-grid-left)!important;font-size:8.2px!important;line-height:1!important}.v13-plan-card .inline-grid thead th{height:var(--v16-head)!important;min-height:var(--v16-head)!important;padding:2px 4px!important;font-size:7.1px!important;background:#f4f6f8!important;border-right:1px solid #d5dde7!important;border-bottom:1px solid #bcc8d4!important;white-space:normal!important}.v13-plan-card .inline-grid tbody tr,.v13-plan-card .inline-grid tbody td{height:var(--v16-row)!important;min-height:var(--v16-row)!important;max-height:var(--v16-row)!important}.v13-plan-card .inline-grid td{padding:0 4px!important;font-size:8.15px!important;border-right:1px solid #dde4ec!important;border-bottom:1px solid #e1e7ee!important}.v13-plan-card .inline-grid tr.summary-row td{background:#f0f4f8!important;font-weight:800!important}.v13-plan-card .grid-input{height:calc(var(--v16-row) - 1px)!important;min-height:calc(var(--v16-row) - 1px)!important;font-size:8.1px!important}.v13-plan-card .rollup-val{font-size:8.1px!important}
/* Excel-like column sizing */
.v13-plan-card .inline-grid th:nth-child(1),.v13-plan-card .inline-grid td:nth-child(1){width:17px!important}.v13-plan-card .inline-grid th:nth-child(2),.v13-plan-card .inline-grid td:nth-child(2){width:37px!important}.v13-plan-card .inline-grid th:nth-child(3),.v13-plan-card .inline-grid td:nth-child(3){width:39px!important}.v13-plan-card .inline-grid th:nth-child(4),.v13-plan-card .inline-grid td:nth-child(4){width:180px!important}.v13-plan-card .inline-grid th:nth-child(5),.v13-plan-card .inline-grid td:nth-child(5){width:54px!important}.v13-plan-card .inline-grid th:nth-child(6),.v13-plan-card .inline-grid td:nth-child(6){width:71px!important}.v13-plan-card .inline-grid th:nth-child(7),.v13-plan-card .inline-grid td:nth-child(7){width:71px!important}.v13-plan-card .inline-grid th:nth-child(8),.v13-plan-card .inline-grid td:nth-child(8){width:64px!important}.v13-plan-card .inline-grid th:nth-child(9),.v13-plan-card .inline-grid td:nth-child(9){width:70px!important}.v13-plan-card .inline-grid th:nth-child(10),.v13-plan-card .inline-grid td:nth-child(10){width:43px!important}.v13-plan-card .inline-grid th:nth-child(11),.v13-plan-card .inline-grid td:nth-child(11){width:44px!important}.v13-plan-card .inline-grid th:nth-child(12),.v13-plan-card .inline-grid td:nth-child(12){width:47px!important}
.v13-plan-card .mpp-right{flex:1 1 auto!important;min-width:0!important;padding-top:var(--v16-head)!important;overflow:hidden!important;background:#fff!important;position:relative!important}.v13-plan-card .gantt-calendar{position:sticky!important;top:0!important;z-index:12!important;height:var(--v16-head)!important;margin-top:calc(-1 * var(--v16-head))!important;background:#f4f6f8!important;border-bottom:1px solid #bcc8d4!important;overflow:hidden!important}.gantt-month-row,.gantt-week-row{position:relative!important;width:100%!important}.gantt-month-row{height:24px!important;border-bottom:1px solid #d4dce5!important}.gantt-week-row{height:22px!important}.gantt-month-cell,.gantt-week-cell{position:absolute!important;top:0!important;height:100%!important;border-right:1px solid #d5dde6!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;white-space:nowrap!important;color:#253a52!important}.gantt-month-cell{font-size:7.2px!important;font-weight:800!important}.gantt-week-cell{font-size:6.2px!important;font-weight:700!important;color:#5f7084!important}
.v13-plan-card .gantt-v13-body{position:relative!important;overflow:hidden!important}.v13-plan-card .gantt-row{height:var(--v16-row)!important;min-height:var(--v16-row)!important;max-height:var(--v16-row)!important;border-bottom:1px solid #e1e7ee!important}.v13-plan-card .gantt-row.summary{background:#f0f4f8!important}.v13-plan-card .gantt-track{height:calc(var(--v16-row) - 1px)!important}.v13-plan-card .gantt-baseline{top:20px!important;height:2px!important;background:#98a8ba!important;opacity:.9!important}.v13-plan-card .gantt-bar{top:6px!important;height:12px!important;border-radius:2px!important;background:var(--v16-blue-light)!important;overflow:hidden!important;box-shadow:none!important}.v13-plan-card .gantt-bar i{background:var(--v16-blue)!important}.v13-plan-card .gantt-bar.critical{background:var(--v16-blue-light)!important}.v13-plan-card .gantt-bar.critical i{background:var(--v16-blue)!important}.v13-plan-card .gantt-bar.sum{top:10px!important;height:7px!important;background:var(--v16-summary)!important;overflow:visible!important}.v13-plan-card .gantt-bar.sum i{background:var(--v16-summary)!important}.v13-plan-card .gantt-bar.sum:before,.v13-plan-card .gantt-bar.sum:after{content:'';position:absolute;bottom:-3px;width:1px;height:4px;background:var(--v16-summary)}.v13-plan-card .gantt-bar.sum:before{left:0}.v13-plan-card .gantt-bar.sum:after{right:0}.v13-plan-card .gantt-bar.milestone{top:8px!important;width:9px!important;height:9px!important;min-width:9px!important;background:#111!important;border-radius:0!important;overflow:visible!important}.gantt-reporting-line{z-index:9!important;border-left:1.5px solid #2478ff!important;background:transparent!important}.gantt-reporting-line b{top:calc(-1 * var(--v16-head) + 4px)!important;background:#0b6ff5!important;font-size:6.5px!important;padding:3px 6px!important;border-radius:3px!important}.gantt-deps{position:absolute!important;inset:0!important;z-index:8!important;pointer-events:none!important}.gantt-deps path{fill:none!important;stroke:#1878ff!important;stroke-width:1.2!important}.gantt-deps marker path{fill:#1878ff!important;stroke:none!important}
.v13-gantt-legend{height:31px!important;min-height:31px!important;flex-basis:31px!important;padding:5px 10px!important;gap:16px!important;font-size:7.5px!important;justify-content:center!important}.v13-plan-card .plan-summary-strip{height:46px!important;min-height:46px!important;flex-basis:46px!important;padding:0 16px!important;font-size:8.5px!important}.v13-plan-card .plan-summary-strip b{font-size:10px!important}
@media(max-width:1450px) and (min-width:901px){:root{--v16-sidebar:185px;--v16-grid-left:645px}.v13-brand{width:245px!important;flex-basis:245px!important}.v13-version-actions .btn{padding:0 7px!important}.toolbar-help{display:none!important}}

/* ============================================================
   v1.7 — SYNCHRONIZED WBS / GANTT VIEWPORT
   ============================================================ */
:root{--v17-row:30px;--v17-head:50px;--v17-scroll-h:calc(100vh - 286px);--v17-left:700px}
.v13-plan-card{overflow:hidden!important}
.v17-sync-grid{display:grid!important;grid-template-columns:var(--v17-left) minmax(0,1fr)!important;gap:0!important;height:clamp(390px,var(--v17-scroll-h),690px)!important;max-height:none!important;overflow:hidden!important;align-items:stretch!important}
.v17-wbs-scroll,.v17-gantt-scroll{height:100%!important;max-height:100%!important;min-height:0!important}
.v17-wbs-scroll{width:var(--v17-left)!important;min-width:var(--v17-left)!important;max-width:var(--v17-left)!important;overflow-y:auto!important;overflow-x:hidden!important;border-right:1px solid #bcc8d5!important;scrollbar-width:none!important;background:#fff!important;overscroll-behavior:contain!important;position:relative!important;z-index:20!important;box-shadow:5px 0 10px rgba(18,42,70,.045)!important}
.v17-wbs-scroll::-webkit-scrollbar{width:0;height:0}
.v17-gantt-scroll{min-width:0!important;width:100%!important;overflow:auto!important;padding:0!important;background:#fff!important;scrollbar-gutter:stable!important;overscroll-behavior:contain!important;scrollbar-color:#9fb0c3 #eef2f6!important;scrollbar-width:auto!important}
.v17-gantt-scroll::-webkit-scrollbar{height:13px;width:13px}.v17-gantt-scroll::-webkit-scrollbar-track{background:#eef2f6}.v17-gantt-scroll::-webkit-scrollbar-thumb{background:#9fb0c3;border:3px solid #eef2f6;border-radius:8px}.v17-gantt-scroll::-webkit-scrollbar-thumb:hover{background:#7d91a8}
.gantt-xcontent{position:relative!important;min-width:1120px!important;background:#fff!important}
.v13-plan-card .inline-grid{border-collapse:separate!important;border-spacing:0!important;table-layout:fixed!important;width:var(--v17-left)!important;min-width:var(--v17-left)!important;max-width:var(--v17-left)!important}
.v13-plan-card .inline-grid thead,.v13-plan-card .inline-grid thead tr{height:var(--v17-head)!important;max-height:var(--v17-head)!important}
.v13-plan-card .inline-grid thead th{position:sticky!important;top:0!important;z-index:30!important;height:var(--v17-head)!important;min-height:var(--v17-head)!important;max-height:var(--v17-head)!important;padding:0 4px!important;line-height:1.12!important;vertical-align:middle!important;background:#f3f6f9!important;border-bottom:1px solid #b9c6d4!important}
.v13-plan-card .inline-grid tbody tr,.v13-plan-card .inline-grid tbody td{height:var(--v17-row)!important;min-height:var(--v17-row)!important;max-height:var(--v17-row)!important}
.v13-plan-card .inline-grid tbody td{padding:0 4px!important;line-height:var(--v17-row)!important;vertical-align:middle!important;overflow:hidden!important;text-overflow:ellipsis!important}
.v13-plan-card .inline-grid tbody td.task-name-cell>div{height:var(--v17-row)!important;line-height:var(--v17-row)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.v13-plan-card .grid-input{height:calc(var(--v17-row) - 2px)!important;min-height:calc(var(--v17-row) - 2px)!important;max-height:calc(var(--v17-row) - 2px)!important;line-height:calc(var(--v17-row) - 2px)!important;padding:0 3px!important;margin:0!important}.v13-plan-card .rollup-val{display:block!important;height:var(--v17-row)!important;line-height:var(--v17-row)!important;overflow:hidden!important;text-overflow:ellipsis!important}
.v17-gantt-scroll .gantt-calendar{position:sticky!important;top:0!important;z-index:28!important;height:var(--v17-head)!important;margin:0!important;background:#f3f6f9!important;border-bottom:1px solid #b9c6d4!important;box-shadow:0 1px 0 rgba(56,76,98,.08)!important}.v17-gantt-scroll .gantt-month-row{height:26px!important}.v17-gantt-scroll .gantt-week-row{height:24px!important}.v17-gantt-scroll .gantt-v13-body{position:relative!important;overflow:visible!important}
.v17-gantt-scroll .gantt-row{height:var(--v17-row)!important;min-height:var(--v17-row)!important;max-height:var(--v17-row)!important;border-bottom:1px solid #e1e7ee!important;box-sizing:border-box!important}.v17-gantt-scroll .gantt-track{height:var(--v17-row)!important;min-height:var(--v17-row)!important;max-height:var(--v17-row)!important}.v17-gantt-scroll .gantt-baseline{top:21px!important}.v17-gantt-scroll .gantt-bar{top:7px!important;height:12px!important}.v17-gantt-scroll .gantt-bar.sum{top:11px!important;height:7px!important}.v17-gantt-scroll .gantt-bar.milestone{top:9px!important}.v17-gantt-scroll .gantt-reporting-line{top:0!important;bottom:0!important}.v17-gantt-scroll .gantt-reporting-line b{top:4px!important;transform:translate(-50%,-100%)!important}.v17-gantt-scroll .gantt-deps{top:0!important;height:100%!important}
.v13-gantt-legend{border-top:1px solid #dce4ed!important;background:#fff!important}
.v13-plan-card .inline-grid th:nth-child(1),.v13-plan-card .inline-grid td:nth-child(1){width:18px!important}.v13-plan-card .inline-grid th:nth-child(2),.v13-plan-card .inline-grid td:nth-child(2){width:39px!important}.v13-plan-card .inline-grid th:nth-child(3),.v13-plan-card .inline-grid td:nth-child(3){width:40px!important}.v13-plan-card .inline-grid th:nth-child(4),.v13-plan-card .inline-grid td:nth-child(4){width:190px!important}.v13-plan-card .inline-grid th:nth-child(5),.v13-plan-card .inline-grid td:nth-child(5){width:53px!important}.v13-plan-card .inline-grid th:nth-child(6),.v13-plan-card .inline-grid td:nth-child(6){width:72px!important}.v13-plan-card .inline-grid th:nth-child(7),.v13-plan-card .inline-grid td:nth-child(7){width:72px!important}.v13-plan-card .inline-grid th:nth-child(8),.v13-plan-card .inline-grid td:nth-child(8){width:63px!important}.v13-plan-card .inline-grid th:nth-child(9),.v13-plan-card .inline-grid td:nth-child(9){width:70px!important}.v13-plan-card .inline-grid th:nth-child(10),.v13-plan-card .inline-grid td:nth-child(10){width:45px!important}.v13-plan-card .inline-grid th:nth-child(11),.v13-plan-card .inline-grid td:nth-child(11){width:47px!important}.v13-plan-card .inline-grid th:nth-child(12),.v13-plan-card .inline-grid td:nth-child(12){width:46px!important}
@media(max-width:1450px) and (min-width:901px){:root{--v17-left:650px}.v17-sync-grid{grid-template-columns:var(--v17-left) minmax(0,1fr)!important}.v17-wbs-scroll,.v13-plan-card .inline-grid{width:var(--v17-left)!important;min-width:var(--v17-left)!important;max-width:var(--v17-left)!important}}

/* ============================================================
   v1.8 — SHARED VERTICAL COORDINATE SYSTEM (NO ROW DRIFT)
   ============================================================ */
:root{--v18-row:30px;--v18-head:50px;--v18-left:780px;--v18-body-h:520px}
.v18-plan-card{overflow:hidden!important}
.v18-frame{display:grid;grid-template-columns:var(--v18-left) minmax(0,1fr);grid-template-rows:var(--v18-head) minmax(0,var(--v18-body-h)) 14px;width:100%;overflow:hidden;background:#fff}
.v18-wbs-header-cell{grid-column:1;grid-row:1;border-right:1px solid #bcc8d5;border-bottom:1px solid #b9c6d4;background:#f3f6f9;z-index:10}
.v18-gantt-header-viewport{grid-column:2;grid-row:1;overflow:hidden;border-bottom:1px solid #b9c6d4;background:#f3f6f9;position:relative;z-index:10}
.v18-gantt-header-inner{height:var(--v18-head);will-change:transform}
.v18-body-scroll{grid-column:1/3;grid-row:2;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-gutter:stable;background:#fff}
.v18-body-grid{display:grid;grid-template-columns:var(--v18-left) minmax(0,1fr);align-items:start;min-height:100%}
.v18-wbs-body{border-right:1px solid #bcc8d5;background:#fff}
.v18-gantt-body-viewport{overflow:hidden;background:#fff;position:relative}
.v18-gantt-body-inner{will-change:transform;position:relative}
.v18-xbar-spacer{grid-column:1;grid-row:3;background:#fff;border-top:1px solid #dce4ed;border-right:1px solid #bcc8d5}
.v18-gantt-xscroll{grid-column:2;grid-row:3;overflow-x:auto;overflow-y:hidden;height:14px;background:#eef2f6;border-top:1px solid #dce4ed;scrollbar-color:#93a6ba #eef2f6}
.v18-gantt-xscroll::-webkit-scrollbar{height:13px}.v18-gantt-xscroll::-webkit-scrollbar-track{background:#eef2f6}.v18-gantt-xscroll::-webkit-scrollbar-thumb{background:#93a6ba;border:3px solid #eef2f6;border-radius:8px}
.v18-wbs-head,.v18-wbs-row{display:grid;grid-template-columns:18px 40px 42px 205px 56px 78px 78px 72px 78px 52px 52px;width:var(--v18-left)}
.v18-wbs-head{height:var(--v18-head);font-size:7px;font-weight:800;color:#2c4159;align-items:center;background:#f3f6f9}
.v18-wbs-head>div{height:var(--v18-head);display:flex;align-items:center;padding:0 5px;border-right:1px solid #d7e0e9;overflow:hidden;white-space:nowrap}
.v18-wbs-row{height:var(--v18-row);min-height:var(--v18-row);max-height:var(--v18-row);font-size:7.7px;color:#24384f;align-items:stretch;border-bottom:1px solid #dfe6ed;cursor:default}
.v18-wbs-row.summary-row{background:#eef3f7;font-weight:800;border-bottom-color:#ccd7e1}
.v18-wbs-row>div{height:var(--v18-row);min-height:var(--v18-row);max-height:var(--v18-row);display:flex;align-items:center;padding:0 5px;border-right:1px solid #e0e6ed;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:normal!important}
.v18-wbs-row .task-name-cell>div{width:100%;height:100%;display:flex;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.v18-wbs-row .grid-input{width:100%;height:28px!important;min-height:28px!important;max-height:28px!important;line-height:28px!important;padding:0 2px!important;border:0!important;border-radius:0!important;background:transparent!important;font-size:7.7px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v18-wbs-row .grid-input:focus{outline:1px solid #1769e0!important;background:#fff!important}
.v18-wbs-row .rollup-val{height:30px!important;line-height:30px!important;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}
.v18-wbs-row .plan-pct{color:#159447;font-weight:800}.v18-wbs-row .actual-pct{color:#116ee8;font-weight:800}
.v18-gantt-calendar{height:var(--v18-head);position:relative;background:#f3f6f9}.v18-gantt-calendar .gantt-month-row{height:26px!important;position:relative;border-bottom:1px solid #d6dee7}.v18-gantt-calendar .gantt-week-row{height:24px!important;position:relative}.v18-gantt-calendar .gantt-month-cell,.v18-gantt-calendar .gantt-week-cell{position:absolute;top:0;height:100%;display:flex;align-items:center;justify-content:center;border-right:1px solid #d7dfe8;overflow:hidden;white-space:nowrap}.v18-gantt-calendar .gantt-month-cell{font-size:7px;font-weight:850;color:#263b53}.v18-gantt-calendar .gantt-week-cell{font-size:6px;font-weight:700;color:#64758a}.v18-report-badge{position:absolute;top:0;transform:translate(-50%,-1px);background:#0b6ff5;color:#fff;font-size:6.3px;font-weight:800;padding:3px 6px;border-radius:3px;z-index:12;white-space:nowrap}
.v18-gantt-inner{position:relative;background:#fff}.v18-gantt-row{height:var(--v18-row);min-height:var(--v18-row);max-height:var(--v18-row);border-bottom:1px solid #dfe6ed;position:relative}.v18-gantt-row.summary{background:#eef3f7}.v18-gantt-row .gantt-track{position:relative;width:100%;height:var(--v18-row)}.v18-gantt-row .gantt-baseline{position:absolute;top:21px;height:2px;background:#9eacbb;border-radius:2px}.v18-gantt-row .gantt-bar{position:absolute;top:7px;height:12px;border-radius:2px;background:#aacdfc;overflow:hidden;min-width:6px}.v18-gantt-row .gantt-bar i{display:block;height:100%;background:#1769e0}.v18-gantt-row .gantt-bar.sum{top:11px;height:7px;background:#0b2342}.v18-gantt-row .gantt-bar.sum i{background:#0b2342}.v18-gantt-row .gantt-bar.milestone{top:9px;width:9px!important;height:9px!important;min-width:9px;transform:rotate(45deg);border-radius:0;background:#111}.v18-gantt-row .gantt-bar.milestone i{display:none}.v18-gantt-inner .gantt-reporting-line{position:absolute;top:0;bottom:0;border-left:1.5px solid #2478ff;z-index:9;pointer-events:none}.v18-gantt-inner .gantt-deps{position:absolute;inset:0;width:100%;height:100%;z-index:8;pointer-events:none}.v18-gantt-inner .gantt-deps path{fill:none;stroke:#1878ff;stroke-width:1.2}
@media(max-width:1450px) and (min-width:901px){:root{--v18-left:710px}.v18-wbs-head,.v18-wbs-row{grid-template-columns:18px 36px 38px 178px 50px 70px 70px 64px 70px 48px 48px}}

/* ============================================================
   v1.9 — HARD FIX: SINGLE VERTICAL VIEWPORT + FROZEN WBS
   Acceptance: 1 row model, internal Y scroll, internal X scroll,
   fixed headers, fixed 30px rows, no drift.
   ============================================================ */
:root{--v19-row:30px;--v19-head:50px;--v19-left:760px;--v19-body-h:520px}
.v19-plan-card{overflow:hidden!important;border-radius:8px!important}
.v19-frame{display:grid!important;grid-template-columns:var(--v19-left) minmax(0,1fr)!important;grid-template-rows:var(--v19-head) minmax(360px,var(--v19-body-h)) 20px!important;width:100%!important;max-width:100%!important;overflow:hidden!important;background:#fff!important;border:1px solid #d6e0eb!important}
.v19-wbs-head-wrap{grid-column:1;grid-row:1;overflow:hidden;border-right:1px solid #aebdcd;border-bottom:1px solid #b9c6d4;background:#f3f6f9;z-index:20}
.v19-gantt-head-viewport{grid-column:2;grid-row:1;overflow:hidden;border-bottom:1px solid #b9c6d4;background:#f3f6f9;position:relative;z-index:20}
.v19-gantt-head-inner,.v19-gantt-body-inner{will-change:transform;transform:translate3d(0,0,0)}
.v19-body-scroll{grid-column:1/3;grid-row:2;overflow-y:scroll!important;overflow-x:hidden!important;min-height:0!important;height:var(--v19-body-h)!important;max-height:var(--v19-body-h)!important;scrollbar-gutter:stable!important;background:#fff;overscroll-behavior:contain}
.v19-body-grid{display:grid!important;grid-template-columns:var(--v19-left) minmax(0,1fr)!important;align-items:start!important;width:100%!important;min-width:0!important}
.v19-wbs-body{width:var(--v19-left)!important;min-width:var(--v19-left)!important;border-right:1px solid #aebdcd;background:#fff;position:relative;z-index:3}
.v19-gantt-body-viewport{min-width:0!important;width:100%!important;overflow:hidden!important;background:#fff;position:relative;z-index:1}
.v19-x-spacer{grid-column:1;grid-row:3;border-right:1px solid #aebdcd;border-top:1px solid #d8e1ea;background:#f8fafc}
.v19-xbar{grid-column:2;grid-row:3;display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;height:20px;border-top:1px solid #d8e1ea;background:#eef3f7;overflow:hidden}
.v19-xbar button{height:19px;border:0;background:#e3eaf1;color:#334b63;font-size:10px;font-weight:900;padding:0}.v19-xbar button:hover{background:#d6e2ed}
.v19-xscroll{height:20px;overflow-x:scroll!important;overflow-y:hidden!important;scrollbar-color:#70879e #e6edf4;scrollbar-width:auto}
.v19-xscroll::-webkit-scrollbar{height:16px!important;display:block!important}.v19-xscroll::-webkit-scrollbar-track{background:#e6edf4!important}.v19-xscroll::-webkit-scrollbar-thumb{background:#7289a0!important;border:3px solid #e6edf4!important;border-radius:9px!important}.v19-xscroll-inner{height:1px}
.v19-wbs-head,.v19-wbs-row{display:grid!important;grid-template-columns:18px 36px 40px 190px 52px 72px 72px 64px 72px 48px 48px 48px!important;width:var(--v19-left)!important;min-width:var(--v19-left)!important;max-width:var(--v19-left)!important}
.v19-wbs-head{height:var(--v19-head)!important;min-height:var(--v19-head)!important;max-height:var(--v19-head)!important;background:#f3f6f9;color:#263b53;font-size:7px;font-weight:850;align-items:stretch}
.v19-wbs-head>div{height:var(--v19-head)!important;min-height:var(--v19-head)!important;max-height:var(--v19-head)!important;display:flex;align-items:center;padding:0 4px;border-right:1px solid #d5dfe8;white-space:normal;line-height:1.12;overflow:hidden}
.v19-wbs-row{height:var(--v19-row)!important;min-height:var(--v19-row)!important;max-height:var(--v19-row)!important;border-bottom:1px solid #dfe6ed!important;background:#fff;font-size:7.7px;color:#24384f;align-items:stretch;box-sizing:border-box!important}
.v19-wbs-row.summary-row{background:#eef3f7!important;font-weight:850;border-bottom-color:#cad6e1!important}
.v19-wbs-row>div{height:var(--v19-row)!important;min-height:var(--v19-row)!important;max-height:var(--v19-row)!important;display:flex!important;align-items:center!important;padding:0 4px!important;border-right:1px solid #e0e6ed;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;line-height:normal!important;box-sizing:border-box!important}
.v19-wbs-row .task-name-cell>div{height:100%!important;width:100%!important;display:flex!important;align-items:center!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important}
.v19-wbs-row .grid-input{width:100%!important;height:28px!important;min-height:28px!important;max-height:28px!important;line-height:28px!important;padding:0 2px!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;font-size:7.7px!important;color:inherit!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.v19-wbs-row .grid-input:focus{outline:1px solid #1671e8!important;outline-offset:-1px;background:#fff!important}
.v19-wbs-row .rollup-val{height:30px!important;line-height:30px!important;width:100%;display:block!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v19-wbs-row .plan-pct{color:#159447;font-weight:850}.v19-wbs-row .actual-pct{color:#116ee8;font-weight:850}
.v19-gantt-calendar{height:var(--v19-head)!important;position:relative!important;background:#f3f6f9!important}.v19-gantt-calendar .gantt-month-row{height:26px!important;position:relative!important;border-bottom:1px solid #d5dee7}.v19-gantt-calendar .gantt-week-row{height:24px!important;position:relative!important}.v19-gantt-calendar .gantt-month-cell,.v19-gantt-calendar .gantt-week-cell{position:absolute!important;top:0;height:100%!important;display:flex;align-items:center;justify-content:center;border-right:1px solid #d5dee7;overflow:hidden;white-space:nowrap}.v19-gantt-calendar .gantt-month-cell{font-size:7px;font-weight:850;color:#263b53}.v19-gantt-calendar .gantt-week-cell{font-size:6px;font-weight:700;color:#64758a}.v19-report-badge{position:absolute;top:0;transform:translate(-50%,-1px);background:#086cf0;color:#fff;font-size:6.3px;font-weight:850;padding:3px 6px;border-radius:3px;z-index:13;white-space:nowrap}
.v19-gantt-inner{position:relative!important;background:#fff!important}.v19-gantt-row{height:var(--v19-row)!important;min-height:var(--v19-row)!important;max-height:var(--v19-row)!important;border-bottom:1px solid #dfe6ed!important;position:relative!important;box-sizing:border-box!important}.v19-gantt-row.summary{background:#eef3f7!important}.v19-gantt-row .gantt-track{position:relative!important;width:100%!important;height:var(--v19-row)!important;min-height:var(--v19-row)!important;max-height:var(--v19-row)!important}.v19-gantt-row .gantt-baseline{position:absolute;top:21px;height:2px;background:#9eacbb;border-radius:2px}.v19-gantt-row .gantt-bar{position:absolute;top:7px;height:12px;border-radius:2px;background:#aacdfc;overflow:hidden;min-width:6px}.v19-gantt-row .gantt-bar i{display:block;height:100%;background:#1769e0}.v19-gantt-row .gantt-bar.sum{top:11px;height:7px;background:#0b2342}.v19-gantt-row .gantt-bar.sum i{background:#0b2342}.v19-gantt-row .gantt-bar.milestone{top:10px;width:9px!important;height:9px!important;min-width:9px;transform:rotate(45deg);border-radius:0;background:#111}.v19-gantt-row .gantt-bar.milestone i{display:none}
.v19-gantt-inner .gantt-reporting-line{position:absolute;top:0;bottom:0;border-left:1.5px solid #2478ff;z-index:9;pointer-events:none}.v19-gantt-inner .gantt-deps{position:absolute;inset:0;width:100%;height:100%;z-index:8;pointer-events:none;overflow:visible}.v19-gantt-inner .gantt-deps path{fill:none;stroke:#1878ff;stroke-width:1.15;vector-effect:non-scaling-stroke}
.v19-plan-card .v13-gantt-legend{margin:0!important;border-top:1px solid #dce4ed!important}
@media(max-width:1500px) and (min-width:901px){:root{--v19-left:720px}.v19-wbs-head,.v19-wbs-row{grid-template-columns:18px 34px 38px 170px 48px 68px 68px 60px 68px 46px 46px 46px!important}}

/* v2.0 Project Calendar / Holiday Management */
.holiday-entry-card{padding:16px 18px;margin-bottom:14px}
.holiday-entry-card form{display:grid;grid-template-columns:190px minmax(280px,1fr) auto auto;gap:12px;align-items:end}
.holiday-entry-card .field{margin:0}.holiday-entry-card .field span{display:block;font-size:11px;font-weight:800;color:#31435d;margin-bottom:6px}
.holiday-entry-card input{height:38px;border:1px solid #cfdae8;border-radius:7px;padding:0 10px;font:inherit;width:100%;box-sizing:border-box}
.holiday-list-card{padding:0;overflow:hidden}.holiday-table-head{padding:14px 16px;display:flex;justify-content:space-between;border-bottom:1px solid #dfe7f0;align-items:center}.holiday-table-head span{font-size:11px;color:#6d7f98}
.holiday-table{width:100%;border-collapse:collapse;font-size:12px}.holiday-table th,.holiday-table td{padding:10px 14px;border-bottom:1px solid #e4ebf3;text-align:left}.holiday-table th{background:#f5f8fc;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#425675}.holiday-table tr:last-child td{border-bottom:0}
.btn-sm{padding:6px 9px!important;font-size:10px!important;height:auto!important}.holiday-note{margin-top:14px;padding:14px 16px;display:flex;gap:16px;align-items:flex-start}.holiday-note b{white-space:nowrap}.holiday-note span{font-size:11px;color:#62758d;line-height:1.5}
@media(max-width:900px){.holiday-entry-card form{grid-template-columns:1fr}.holiday-table{min-width:620px}.holiday-list-card{overflow:auto}}

/* ============================================================
   v2.2 — INFORMATION ARCHITECTURE / PORTFOLIO HOME
   ============================================================ */
:root{--v22-navy:#06264d;--v22-blue:#146fe8;--v22-side:176px;--v22-top:48px;--v22-border:#dbe4ee;--v22-text:#132b49}
html,body,#app{width:100%!important;max-width:none!important;height:100%!important;margin:0!important;background:#f6f8fb!important;overflow:hidden!important;box-shadow:none!important}
.v22-shell{display:grid;grid-template-columns:var(--v22-side) minmax(0,1fr);grid-template-rows:var(--v22-top) minmax(0,1fr);height:100vh;width:100vw;color:var(--v22-text);background:#f6f8fb}
.v22-top{grid-column:1/3;display:flex;align-items:center;background:var(--v22-navy);color:#fff;padding:0 14px;gap:20px;min-width:0;z-index:50}
.v22-brand{width:265px;display:flex;align-items:center;gap:10px;flex:0 0 auto}.v22-soltius{font-size:20px;font-weight:900;letter-spacing:.02em}.v22-soltius span{color:#ff9b22}.v22-brand small{font-size:8px;font-weight:750;color:#dce8f7}.v22-crumb{display:flex;align-items:center;gap:9px;min-width:0;flex:1}.v22-crumb button,.v22-crumb strong{border:0;background:transparent;color:#fff;font:inherit;font-size:9px;font-weight:700;white-space:nowrap}.v22-crumb button{cursor:pointer}.v22-crumb i{color:#7fa2c8;font-style:normal}.v22-top-right{display:flex;align-items:center;gap:10px;font-size:8.5px;white-space:nowrap}.v22-top-right label{border:1px solid #315274;padding:6px 9px;border-radius:5px;background:#0b335f}.v22-top-right .avatar{width:26px;height:26px;font-size:9px}
.v22-side{grid-column:1;grid-row:2;background:#fff;border-right:1px solid var(--v22-border);padding:12px 7px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.v22-nav-item{height:31px;border:0;background:transparent;border-radius:5px;display:flex;align-items:center;gap:8px;padding:0 9px;color:#2d4260;font-size:9px;text-align:left;cursor:pointer}.v22-nav-item span{width:17px;text-align:center;color:#49617e}.v22-nav-item b{font-weight:700}.v22-nav-item.active{background:#eaf3ff;color:#0968e8;border-left:2px solid #1475f3;border-radius:3px}.v22-nav-item.active span{color:#0968e8}.v22-section{font-size:7px;font-weight:900;letter-spacing:.08em;color:#8b9ab0;padding:11px 9px 4px;text-transform:uppercase}.v22-project-mini{margin-top:auto;border:1px solid var(--v22-border);border-radius:8px;padding:10px;display:grid;gap:5px;background:#fbfcfe}.v22-project-mini>b{font-size:9px}.v22-project-mini small{font-size:7.5px;color:#73849a;margin-top:5px}.v22-project-mini strong{font-size:17px}.v22-project-mini .pill{width:max-content;font-size:6.5px;padding:3px 6px}
.v22-main{grid-column:2;grid-row:2;padding:16px 18px;overflow:auto;min-width:0}.v22-page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.v22-page-head h1{font-size:21px;margin:3px 0 3px}.v22-page-head p{font-size:9.5px;color:#6c7d93;margin:0}.v22-page-head .kicker{font-size:7px;letter-spacing:.08em}.v22-portfolio-card{padding:0;overflow:hidden}.v22-filterbar{height:48px;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--v22-border);background:#fff}.v22-filterbar select,.v22-filterbar input{height:30px;border:1px solid #d5dfeb;border-radius:5px;background:#fff;padding:0 9px;font-size:9px}.v22-filterbar input{width:240px}.v22-table-wrap{overflow:auto;max-height:calc(100vh - 180px)}.v22-table{width:100%;border-collapse:collapse;background:#fff;font-size:8.5px;min-width:1120px}.v22-table thead th{position:sticky;top:0;z-index:3;background:#f4f7fb;color:#3d516c;text-transform:none;font-size:7.5px;padding:9px 10px;border-bottom:1px solid #ccd8e5;text-align:left;white-space:nowrap}.v22-table tbody td{padding:9px 10px;border-bottom:1px solid #e5ebf2;white-space:nowrap}.v22-table tbody tr{cursor:pointer}.v22-table tbody tr:hover{background:#f6faff}.linkish{color:#0d6fe8}.ready-pills{display:flex;gap:4px}.ready-pills span{background:#edf3f9;border:1px solid #d6e2ee;border-radius:4px;padding:2px 5px;font-size:6.8px;color:#526a86}
.v22-reg-card{padding:0;max-width:1080px;margin:0 auto}.v22-steps{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--v22-border);padding:14px 20px;background:#fff}.v22-steps>div{display:flex;align-items:center;gap:7px;color:#9aa8ba;font-size:8.5px;position:relative}.v22-steps>div:not(:last-child):after{content:'';height:1px;background:#e0e7ef;position:absolute;left:62%;right:-15%;top:11px}.v22-steps i{font-style:normal;width:22px;height:22px;border-radius:50%;background:#edf1f5;display:grid;place-items:center;font-weight:800}.v22-steps .on{color:#173757;font-weight:800}.v22-steps .on i{background:#1474e7;color:#fff}.v22-reg-body{padding:24px}.v22-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px}.v22-form-grid .field span{display:block;font-size:8.5px;font-weight:750;margin-bottom:5px}.v22-form-grid .field input,.v22-form-grid .field select{width:100%;height:35px;border:1px solid #d5dfeb;border-radius:5px;padding:0 9px;font-size:9px;box-sizing:border-box}.v22-reg-foot{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--v22-border);padding:12px 18px}.v22-setup-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.v22-setup-choice label{border:1px solid #d6e1ec;border-radius:8px;padding:18px;display:flex;flex-direction:column;gap:8px;min-height:100px;cursor:pointer}.v22-setup-choice label.selected{border-color:#1c78ef;background:#f0f7ff;box-shadow:0 0 0 1px #1c78ef}.v22-setup-choice input{display:none}.v22-setup-choice b{font-size:12px}.v22-setup-choice span{font-size:9px;color:#687b92;line-height:1.4}
.v22-placeholder{min-height:300px;display:grid;place-items:center;text-align:center;padding:30px}.v22-placeholder>div{font-size:40px;color:#7b94af}.v22-placeholder h2{margin:4px 0}.v22-placeholder p{font-size:10px;color:#718298}.v22-report-grid,.v22-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.v22-report-grid .card,.v22-admin-grid .card{padding:16px;min-height:130px}.v22-report-grid h3,.v22-admin-grid h3{font-size:11px;margin:8px 0 6px}.v22-report-grid p,.v22-admin-grid p{font-size:8.5px;line-height:1.4;color:#74859b}.report-icon,.v22-admin-grid .card>div{font-size:23px;color:#1474e7}
@media(max-width:1100px){:root{--v22-side:150px}.v22-brand{width:220px}.v22-top-right b{display:none}.v22-report-grid,.v22-admin-grid{grid-template-columns:repeat(2,1fr)}}

/* ============================================================
   v2.3 — PROJECT PLAN CONSISTENCY / SCHEDULING INTEGRITY UI
   ============================================================ */
:root{--v23-row:26px;--v23-head:44px;--v23-body-h:clamp(390px,calc(100vh - 286px),720px)}
.v23-projectplan-main{overflow:hidden!important;display:flex;flex-direction:column;min-height:0}
.v23-plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:8px;flex:0 0 auto}.v23-plan-head h1{font-size:18px;margin:0 0 3px;color:#0d294c}.v23-plan-head p{font-size:8.5px;margin:0;color:#708198}.v23-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.v23-actions label{display:flex;align-items:center;gap:5px;font-size:8px;font-weight:750;color:#53677f}.v23-actions select{height:29px;border:1px solid #d2dce7;border-radius:5px;background:#fff;padding:0 7px;font-size:8px}.v23-actions .btn{height:29px;padding:0 9px;font-size:8px;border-radius:5px}
.v23-toolbar{display:flex;align-items:center;gap:2px;padding:4px 6px;margin:0 0 6px;min-height:32px;border-radius:6px;flex:0 0 auto}.v23-tool{height:26px;border:1px solid transparent;background:transparent;border-radius:4px;color:#334b65;padding:0 5px;display:flex;align-items:center;gap:4px;font-size:7.5px;font-weight:700;cursor:pointer}.v23-tool:hover{background:#edf5ff;border-color:#bdd4f0}.v23-tool:disabled{opacity:.35;cursor:not-allowed}.v23-tool svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.v23-integrity{margin-left:auto;font-size:6.6px;color:#6d7f94;background:#f4f7fa;border:1px solid #dce5ee;border-radius:12px;padding:4px 7px;white-space:nowrap}
.v23-plan-card{padding:0!important;overflow:hidden!important;min-height:0;flex:1 1 auto}.v23-frame{--v23-left:760px;position:relative;display:grid;grid-template-columns:var(--v23-left) minmax(0,1fr);grid-template-rows:var(--v23-head) var(--v23-body-h) 18px;width:100%;overflow:hidden;background:#fff;border-bottom:1px solid #d9e2eb}.v23-wbs-head-wrap{grid-column:1;grid-row:1;overflow:hidden;border-right:1px solid #9fb1c4;border-bottom:1px solid #b9c7d6;background:#f2f5f8}.v23-gantt-head-viewport{grid-column:2;grid-row:1;overflow:hidden;border-bottom:1px solid #b9c7d6;background:#f2f5f8;position:relative}.v23-gantt-head-inner,.v23-gantt-body-inner{will-change:transform;transform:translate3d(0,0,0)}
.v23-body-scroll{grid-column:1/3;grid-row:2;overflow-y:scroll!important;overflow-x:hidden!important;height:var(--v23-body-h);min-height:0;scrollbar-gutter:stable;background:#fff;overscroll-behavior:contain}.v23-body-grid{display:grid;grid-template-columns:var(--v23-left) minmax(0,1fr);align-items:start;width:100%;min-width:0}.v23-wbs-body{width:var(--v23-left);min-width:var(--v23-left);border-right:1px solid #9fb1c4;background:#fff}.v23-gantt-body-viewport{min-width:0;overflow:hidden;background:#fff}.v23-x-spacer{grid-column:1;grid-row:3;border-right:1px solid #9fb1c4;border-top:1px solid #d8e1ea;background:#f8fafc}.v23-xbar{grid-column:2;grid-row:3;display:grid;grid-template-columns:24px minmax(0,1fr) 24px;height:18px;align-items:center;background:#edf2f6;border-top:1px solid #d8e1ea}.v23-xbar button{height:17px;border:0;background:#dde6ef;color:#385069;font-size:8px;padding:0;cursor:pointer}.v23-xscroll{height:18px;overflow-x:scroll!important;overflow-y:hidden!important;scrollbar-width:auto;scrollbar-color:#6f879f #e7edf3}.v23-xscroll::-webkit-scrollbar{height:14px!important;display:block!important}.v23-xscroll::-webkit-scrollbar-track{background:#e7edf3}.v23-xscroll::-webkit-scrollbar-thumb{background:#71889f;border:3px solid #e7edf3;border-radius:8px}
.v23-splitter{position:absolute;left:calc(var(--v23-left) - 3px);top:0;bottom:0;width:7px;z-index:60;cursor:col-resize;display:flex;justify-content:center;align-items:center}.v23-splitter:before{content:'';position:absolute;top:0;bottom:0;width:1px;background:#9fb1c4}.v23-splitter i{width:3px;height:30px;border-radius:3px;background:#c0ccd8;box-shadow:0 0 0 1px #fff;opacity:.45}.v23-splitter:hover i,.v23-resizing .v23-splitter i{background:#2d7eea;opacity:1}.v23-resizing{cursor:col-resize!important;user-select:none!important}
.v23-wbs-head,.v23-wbs-row{display:grid;grid-template-columns:16px 32px 38px minmax(175px,1fr) 58px 82px 82px 88px 68px 46px 52px 46px;width:100%;min-width:0;box-sizing:border-box}.v23-wbs-head{height:var(--v23-head);background:#f2f5f8;color:#2a4059;font-size:6.7px;font-weight:850}.v23-wbs-head>div{display:flex;align-items:center;padding:0 3px;border-right:1px solid #d3dde7;line-height:1.05;overflow:hidden}.v23-wbs-head>div:nth-child(5),.v23-wbs-head>div:nth-child(10),.v23-wbs-head>div:nth-child(11),.v23-wbs-head>div:nth-child(12){justify-content:center;text-align:center}
.v23-wbs-row{height:var(--v23-row);min-height:var(--v23-row);max-height:var(--v23-row);border-bottom:1px solid #e0e6ed;background:#fff;color:#263b52;font-size:7.3px}.v23-wbs-row.summary-row{background:#eef3f7;font-weight:850;border-bottom-color:#c9d5e1}.v23-wbs-row>div{height:var(--v23-row);display:flex;align-items:center;padding:0 3px;border-right:1px solid #e2e7ed;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box}.v23-wbs-row>div:nth-child(5),.v23-wbs-row>div:nth-child(10),.v23-wbs-row>div:nth-child(11),.v23-wbs-row>div:nth-child(12){justify-content:center;text-align:center}.v23-wbs-row .task-name-cell>div{height:100%;width:100%;display:flex;align-items:center;overflow:hidden}.v23-wbs-row .grid-input{width:100%;height:24px;min-height:24px;max-height:24px;line-height:24px;padding:0 2px;margin:0;border:0;background:transparent;border-radius:0;font-size:7.3px;color:inherit;box-sizing:border-box}.v23-wbs-row .grid-input:hover{background:#fff;outline:1px solid #c6d7e9}.v23-wbs-row .grid-input:focus{background:#fff;outline:1px solid #1475ef;outline-offset:-1px}.v23-wbs-row .v23-number{text-align:center!important;padding-right:1px!important;font-variant-numeric:tabular-nums}.v23-number::-webkit-inner-spin-button,.v23-number::-webkit-outer-spin-button{opacity:1!important;margin:0!important}.v23-center-readonly{width:100%;text-align:center;display:block;font-variant-numeric:tabular-nums}.v23-wbs-row .plan-pct{color:#15944d;font-weight:850}.v23-wbs-row .actual-pct{color:#126fe5;font-weight:850}.v23-pred{font-size:7px!important}.v23-date-readonly{width:100%;font-variant-numeric:tabular-nums;display:block;text-align:center}
.v23-date-editor{position:relative;width:100%;height:24px;display:flex;align-items:center}.v23-date-text{width:100%;height:24px;border:0;background:transparent;padding:0 18px 0 2px;font:inherit;font-size:7.1px;color:#263b52;box-sizing:border-box;font-variant-numeric:tabular-nums}.v23-date-text:focus{outline:1px solid #1475ef;outline-offset:-1px;background:#fff}.v23-cal{position:absolute;right:3px;top:50%;transform:translateY(-50%);font-size:7px;color:#6f8195;pointer-events:none}.v23-native-date{position:absolute;right:0;top:0;width:18px;height:24px;opacity:0;cursor:pointer}.v23-date-editor.compact{width:96px;height:25px}.v23-date-editor.compact .v23-date-text{height:25px;color:#fff;background:transparent;font-size:8px;font-weight:800;padding-left:2px}.v23-date-editor.compact .v23-cal{color:#dce8f6}.v23-reporting{display:flex;align-items:center;gap:5px;border:1px solid #36597d;background:#0b345f;border-radius:5px;padding:2px 5px 2px 7px;font-size:7.5px}.v23-reporting>span{font-weight:700;color:#dbe7f5}.v23-date-editor.registration{height:35px;border:1px solid #d5dfeb;border-radius:5px;background:#fff}.v23-date-editor.registration .v23-date-text{height:33px;padding-left:9px;font-size:9px}.v23-date-editor.registration .v23-native-date{height:33px;width:30px}.v23-date-editor.registration .v23-cal{right:9px;font-size:9px}
.v23-gantt-calendar{height:var(--v23-head);position:relative;background:#f2f5f8}.v23-gantt-calendar .gantt-month-row{height:23px;position:relative;border-bottom:1px solid #d5dee7}.v23-gantt-calendar .gantt-week-row{height:21px;position:relative}.v23-gantt-calendar .gantt-month-cell,.v23-gantt-calendar .gantt-week-cell{position:absolute;top:0;height:100%;display:flex;align-items:center;justify-content:center;border-right:1px solid #d5dee7;overflow:hidden;white-space:nowrap}.v23-gantt-calendar .gantt-month-cell{font-size:6.7px;font-weight:850;color:#263b53}.v23-gantt-calendar .gantt-week-cell{font-size:5.8px;font-weight:700;color:#65768b}.v23-report-badge{position:absolute;top:0;transform:translate(-50%,-1px);background:#106ee7;color:#fff;font-size:6px;font-weight:850;padding:2px 5px;border-radius:3px;z-index:15;white-space:nowrap}
.v23-gantt-inner{position:relative;background:#fff}.v23-gantt-row{height:var(--v23-row);min-height:var(--v23-row);max-height:var(--v23-row);border-bottom:1px solid #e0e6ed;position:relative;box-sizing:border-box}.v23-gantt-row.summary{background:#eef3f7}.v23-gantt-row .gantt-track{position:relative;width:100%;height:var(--v23-row)}.v23-gantt-row .gantt-baseline{position:absolute;top:19px;height:2px;background:#9dacbc;border-radius:2px}.v23-gantt-row .gantt-bar{position:absolute;top:6px;height:11px;border-radius:2px;background:#a9cdfd;overflow:hidden;min-width:5px}.v23-gantt-row .gantt-bar i{display:block;height:100%;background:#1774e9}.v23-gantt-row .gantt-bar.sum{top:10px;height:6px;background:#122f51}.v23-gantt-row .gantt-bar.sum i{background:#122f51}.v23-gantt-row .gantt-bar.milestone{top:9px;width:8px!important;height:8px!important;min-width:8px;transform:rotate(45deg);border-radius:0;background:#111}.v23-gantt-row .gantt-bar.milestone i{display:none}.v23-gantt-inner .gantt-reporting-line{position:absolute;top:0;bottom:0;border-left:1.4px solid #2478ff;z-index:9;pointer-events:none}.v23-gantt-inner .gantt-deps{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:visible}.v23-gantt-inner .gantt-deps path{fill:none;stroke:#2477e8;stroke-width:1.05;vector-effect:non-scaling-stroke}
.v23-legend{height:24px;display:flex;align-items:center;gap:12px;padding:0 8px;border-top:1px solid #dce4ed;background:#fbfcfd;font-size:6.4px;color:#5e7188}.v23-legend span:before{content:'';display:inline-block;width:12px;height:3px;margin-right:4px;vertical-align:middle}.v23-legend .sum:before{background:#122f51}.v23-legend .planned:before{background:#a9cdfd}.v23-legend .actual:before{background:#1774e9}.v23-legend .baseline:before{background:#9dacbc;height:1px}.v23-legend .dep:before{background:#2477e8;height:1px}.v23-legend .report:before{background:#2478ff;width:1px;height:9px}.v23-plan-card .plan-summary-strip{padding:6px 9px;min-height:28px;gap:18px;font-size:6.8px}.v23-plan-card .plan-summary-strip b{font-size:8px}
@media(max-width:1250px){.v23-integrity{display:none}.v23-actions .btn{padding:0 6px}.v23-wbs-head,.v23-wbs-row{grid-template-columns:14px 28px 35px minmax(145px,1fr) 52px 76px 76px 80px 58px 42px 48px 42px}.v23-frame{--v23-left:690px}}

/* ============================================================
   v2.4 — PROJECT PLAN DENSITY + MULTI-SELECTION + HOLIDAY CATALOG
   ============================================================ */
:root{--v23-row:24px;--v23-head:42px;--v23-body-h:clamp(500px,calc(100vh - 232px),820px)}
.v23-wbs-head,.v23-wbs-row{grid-template-columns:32px 30px 38px minmax(180px,1fr) 54px 76px 76px 88px 66px 44px 46px 44px}
.v23-wbs-head{font-size:6.5px}.v23-wbs-row{font-size:7px}.v23-wbs-row>div{height:24px;padding:0 3px}.v23-wbs-row .grid-input{height:22px;min-height:22px;max-height:22px;line-height:22px;font-size:7px}
.v23-wbs-head>div:nth-child(1),.v23-wbs-head>div:nth-child(5),.v23-wbs-head>div:nth-child(10),.v23-wbs-head>div:nth-child(11),.v23-wbs-head>div:nth-child(12),.v23-wbs-row>div:nth-child(1),.v23-wbs-row>div:nth-child(5),.v23-wbs-row>div:nth-child(10),.v23-wbs-row>div:nth-child(11),.v23-wbs-row>div:nth-child(12){justify-content:center;text-align:center}
.v24-no-cell{font-weight:750;color:#405b78;cursor:pointer;user-select:none;background:#f9fbfd}.v24-no-cell:hover{background:#e8f2ff}.v24-no-cell.selected,.v23-wbs-row.selected>div{background:#dfeeff!important}.v23-wbs-row.selected{box-shadow:inset 2px 0 #1475ef}.v23-wbs-row.summary-row.selected>div{background:#d9e8f7!important}
.v24-tool{height:24px!important;padding:0 5px!important;gap:3px!important;font-size:7.1px!important}.v24-tool svg{width:11.5px!important;height:11.5px!important;stroke-width:1.15!important}.v23-toolbar{min-height:30px!important;padding:3px 5px!important}.toolbar-sep{height:18px!important}.v23-integrity{font-size:6.2px!important;padding:3px 6px!important}
.v23-gantt-row .gantt-baseline{top:18px}.v23-gantt-row .gantt-bar{top:5px;height:10px}.v23-gantt-row .gantt-bar.sum{top:9px;height:5px}.v23-gantt-row .gantt-bar.milestone{top:8px}.v23-gantt-calendar .gantt-month-row{height:22px}.v23-gantt-calendar .gantt-week-row{height:20px}
.v23-splitter{width:9px;left:calc(var(--v23-left) - 4px)}.v23-splitter:before{width:1px;background:#aebdcc}.v23-splitter i{height:38px;width:3px;opacity:.55}.v23-splitter:hover:after{content:'↔';position:absolute;top:5px;background:#1c73df;color:white;border-radius:8px;padding:1px 4px;font-size:7px}
.v24-holiday-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(260px,.8fr);gap:10px;margin-bottom:10px}.v24-official,.v24-manual{padding:13px}.v24-official small{font-size:8px;color:#6c7f95}.v24-holiday-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.v24-holiday-columns h4{margin:0 0 6px;font-size:9px;color:#17365b}.v24-holiday-choice{display:grid;grid-template-columns:16px 58px 1fr auto;gap:6px;align-items:center;min-height:27px;border-bottom:1px solid #e8edf3;font-size:7.5px;padding:2px 3px}.v24-holiday-choice input{margin:0}.v24-holiday-choice b{font-variant-numeric:tabular-nums}.v24-holiday-choice em{font-style:normal;font-size:6.5px;color:#16844c;background:#eaf8f0;padding:2px 5px;border-radius:8px}.v24-holiday-choice.already{opacity:.72}.v24-source-note{margin-top:8px;padding:6px 8px;background:#f4f8fc;border:1px solid #dce7f2;border-radius:5px;color:#60758c;font-size:7px}.v24-manual h3{margin:0 0 10px;font-size:13px}.v24-manual form{display:grid;gap:8px}.v24-manual .field span{font-size:8px}.v24-manual .field input{height:32px;font-size:9px}.holiday-table{font-size:8px}
@media(max-width:1150px){.v24-holiday-layout{grid-template-columns:1fr}.v24-holiday-columns{grid-template-columns:1fr 1fr}}

/* Restored Project Plan reading scale and its MS-Project-style zoom control. */
.v23-plan-card{--v24-zoom:1}
.v23-wbs-head{font-size:calc(9.5px * var(--v24-zoom))!important}
.v23-wbs-row{font-size:calc(10.5px * var(--v24-zoom))!important}
.v23-wbs-row>div{height:var(--v23-row)!important}
.v23-wbs-row .grid-input{height:calc(var(--v23-row) - 2px)!important;min-height:calc(var(--v23-row) - 2px)!important;max-height:calc(var(--v23-row) - 2px)!important;line-height:calc(var(--v23-row) - 2px)!important;font-size:calc(10.5px * var(--v24-zoom))!important}
.v23-pred,.v23-date-text{font-size:calc(10.5px * var(--v24-zoom))!important}
.v23-date-editor,.v23-date-text,.v23-native-date{height:calc(var(--v23-row) - 2px)!important}
.v23-date-text{padding-right:20px!important}
.v23-cal{font-size:calc(10px * var(--v24-zoom))!important}
.v23-gantt-calendar .gantt-month-row{height:calc(25px * var(--v24-zoom))!important}.v23-gantt-calendar .gantt-week-row{height:calc(23px * var(--v24-zoom))!important}
.v23-gantt-calendar .gantt-month-cell{font-size:calc(9px * var(--v24-zoom))!important}.v23-gantt-calendar .gantt-week-cell{font-size:calc(8px * var(--v24-zoom))!important}.v23-report-badge{font-size:calc(8px * var(--v24-zoom))!important}
.v23-gantt-row .gantt-track{height:var(--v23-row)!important}.v23-gantt-row .gantt-bar{top:calc(7px * var(--v24-zoom));height:calc(12px * var(--v24-zoom))}.v23-gantt-row .gantt-baseline{top:calc(22px * var(--v24-zoom))}.v23-gantt-row .gantt-bar.sum{top:calc(12px * var(--v24-zoom));height:calc(6px * var(--v24-zoom))}
.v23-toolbar{min-height:38px!important;padding:4px 7px!important;gap:3px!important}.v24-tool{height:30px!important;padding:0 8px!important;font-size:10px!important;gap:5px!important}.v24-tool svg{width:14px!important;height:14px!important}.toolbar-sep{height:22px!important}.v23-integrity{font-size:8.5px!important;padding:4px 7px!important}
.v24-zoom-control{margin-left:auto;display:flex;align-items:center;gap:5px;color:#41546a;font-size:10px;white-space:nowrap}.v24-zoom-control button{width:26px;height:26px;border:1px solid #c7d5e2;border-radius:4px;background:#fff;color:#284968;font-size:17px;line-height:1;cursor:pointer}.v24-zoom-control button:hover{background:#edf5ff;border-color:#8ab6e7}.v24-zoom-control input{width:86px;accent-color:#1475ef}.v24-zoom-control b{min-width:34px;font-size:10px;font-variant-numeric:tabular-nums}
@media(max-width:1250px){.v24-zoom-control{order:3;margin-left:0}.v23-integrity{display:none}}

/* Keep date cells clean. The calendar affordance appears only when the cell is
   being pointed at or edited, matching the requested MS Project behaviour. */
.v23-date-editor .v23-cal{opacity:0;transition:opacity .12s ease}
.v23-date-editor:hover .v23-cal,.v23-date-editor:focus-within .v23-cal{opacity:1}

/* v2.4.1 — compact plan rows, readable centred dates, and task context menu. */
.v23-wbs-head,.v23-wbs-row{grid-template-columns:32px 30px 38px minmax(150px,1fr) 54px 96px 96px 88px 66px 44px 46px 44px}
.v23-wbs-row .v23-date-text{padding:0 3px!important;text-align:center;letter-spacing:.01em}
.v23-date-editor .v23-cal{right:4px;width:15px;height:15px;display:grid;place-items:center;color:#4f6984;pointer-events:none}
.v23-date-editor .v23-cal svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v23-date-editor .v23-native-date{width:22px;right:1px}
.v23-wbs-row{cursor:context-menu}
.v24-context-menu{position:fixed;z-index:120;min-width:188px;padding:5px;background:#fff;border:1px solid #b9c9da;border-radius:7px;box-shadow:0 10px 26px rgba(20,45,74,.22);font-size:11px;color:#1d3857}
.v24-context-menu button{display:flex;align-items:center;gap:8px;width:100%;height:29px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
.v24-context-menu button:hover:not(:disabled){background:#eaf3ff;color:#0c62c8}.v24-context-menu button:disabled{cursor:not-allowed;opacity:.46}.v24-context-menu button.danger{color:#c12832}.v24-context-menu button.danger:hover:not(:disabled){background:#fff0f1;color:#a81b27}
.v24-context-menu svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.v24-context-sep{display:block;height:1px;margin:4px 3px;background:#e2e8ef}
.v24-official .section-title{font-size:14px}.v24-official small,.v24-source-note{font-size:10px}.v24-holiday-columns h4{font-size:11px}.v24-holiday-choice{grid-template-columns:18px 76px 1fr auto;min-height:32px;font-size:10px;gap:7px;padding:3px 4px}.v24-holiday-choice em{font-size:8px}.v24-manual h3{font-size:15px}.v24-manual .field span{font-size:10px}.v24-manual .field input{height:35px;font-size:11px}.holiday-table{font-size:10px}.holiday-table th{font-size:9px}.holiday-table th:first-child,.holiday-table td:first-child{width:42px;text-align:center;font-variant-numeric:tabular-nums}

/* v2.4.2 — tidy numeric controls, menu dismissal, and readable plan metadata. */
.v23-wbs-row .v23-number::-webkit-inner-spin-button,.v23-wbs-row .v23-number::-webkit-outer-spin-button{opacity:0!important;transition:opacity .12s ease}
.v23-wbs-row .v23-number:hover::-webkit-inner-spin-button,.v23-wbs-row .v23-number:hover::-webkit-outer-spin-button,.v23-wbs-row .v23-number:focus::-webkit-inner-spin-button,.v23-wbs-row .v23-number:focus::-webkit-outer-spin-button{opacity:1!important}
.v23-date-editor .v23-cal{width:13px;height:13px;right:4px}.v23-date-editor .v23-cal svg{width:11px;height:11px}.v23-date-editor .v23-native-date{width:19px}
.v23-legend{font-size:7.4px}.v23-plan-card .plan-summary-strip{font-size:7.8px}.v23-plan-card .plan-summary-strip b{font-size:9px}
.v23-wbs-row .plan-pct,.v23-wbs-row .actual-pct,.v23-wbs-row .variance-pct{justify-content:center!important;text-align:center!important;font-size:calc(10.5px * var(--v24-zoom));font-weight:850;font-variant-numeric:tabular-nums;line-height:1}
.v23-wbs-row .variance-pct{color:#263b52}.v23-wbs-row .variance-pct.negative{color:#c7333b}.v23-wbs-row .variance-pct.positive{color:#15944d}

/* The active v2.4 shell uses v22 navigation. The earlier density override
   reduced it too far; restore a normal desktop reading size. */
.v22-side{padding:14px 9px!important;gap:3px!important}
.v22-nav-item{min-height:38px!important;height:38px!important;padding:0 11px!important;gap:10px!important;font-size:12px!important}
.v22-nav-item span{width:19px!important;font-size:14px!important}
.v22-section{font-size:9px!important;padding:13px 11px 5px!important}
.v22-project-mini>b{font-size:11px!important}.v22-project-mini small{font-size:9px!important}.v22-project-mini strong{font-size:19px!important}

/* WBS is a backend hierarchy key; the Project Plan uses Task No. and task
   indentation, so the WBS code is deliberately not shown in the grid. */
.v23-wbs-head,.v23-wbs-row{grid-template-columns:32px 30px minmax(218px,1fr) 54px 76px 76px 88px 66px 44px 46px 44px!important}
.v23-wbs-head>div:nth-child(1),.v23-wbs-head>div:nth-child(4),.v23-wbs-head>div:nth-child(9),.v23-wbs-head>div:nth-child(10),.v23-wbs-head>div:nth-child(11),.v23-wbs-row>div:nth-child(1),.v23-wbs-row>div:nth-child(4),.v23-wbs-row>div:nth-child(9),.v23-wbs-row>div:nth-child(10),.v23-wbs-row>div:nth-child(11){justify-content:center!important;text-align:center!important}

/* v2.5 — make constraints and calendar choices visible without adding grid noise. */
.v23-wbs-row .plan-pct,.v23-wbs-row .actual-pct,.v23-wbs-row .variance-pct{justify-content:center!important;text-align:center!important;font-size:calc(10.5px * var(--v24-zoom))!important;font-weight:400!important;font-variant-numeric:tabular-nums;line-height:1}
.v23-wbs-row .actual-pct .v23-number{font-size:inherit!important;font-weight:inherit!important}.v23-wbs-row.summary-row .plan-pct,.v23-wbs-row.summary-row .actual-pct,.v23-wbs-row.summary-row .variance-pct{font-weight:850!important}
.v25-task-title{display:flex!important;align-items:center!important;gap:4px;min-width:0}.v25-task-title>.grid-input{min-width:0!important;flex:1}.v25-task-title>.rollup-val{min-width:0;overflow:hidden;text-overflow:ellipsis}
.v25-constraint-badge{flex:0 0 auto;display:inline-flex;align-items:center;border:1px solid #d7b96e;border-radius:9px;background:#fff8e6;color:#7c5913;padding:1px 5px;font-size:calc(7px * var(--v24-zoom));font-weight:800;line-height:1;white-space:nowrap}.v25-constraint-badge.snet{cursor:pointer}.v25-constraint-badge.snet:hover{border-color:#c58e17;background:#fff0c9}
.v25-working-calendar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:10px 0;padding:10px 13px}.v25-working-calendar b{display:block;color:#183a61;font-size:13px;margin-top:2px}.v25-working-calendar small{display:block;color:#65788e;font-size:9px;margin-top:2px}.v25-working-calendar .field{min-width:150px}.v25-working-calendar .field span{font-size:9px}.v25-working-calendar select{height:30px;font-size:10px}
/* v2.6 — compact, readable overview/timeline/calendar refinements */
.v22-table{font-size:10.5px}.v22-table thead th{font-size:9.5px}.v22-table tbody td{padding:10px 11px}.v22-table .v26-row-no{width:38px;text-align:center;font-variant-numeric:tabular-nums;color:#60758c}
.timeline-scroll-v26{max-height:382px;overflow:auto;border:1px solid #dbe4ef;border-radius:7px;background:#fff}.timeline-reference{position:relative;display:grid;grid-template-columns:44px 210px minmax(680px,1fr);min-width:934px;color:#233951}.tlr-head{height:52px;background:#123667;color:#fff;border-right:1px solid rgba(255,255,255,.42);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:850}.tlr-activity-head{justify-content:flex-start;padding-left:12px}.tlr-scale-head{display:flex;padding:0;align-items:stretch;overflow:hidden}.tlr-month{height:52px;flex:0 0 auto;border-right:1px solid rgba(255,255,255,.52);min-width:0}.tlr-month>b{height:29px;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.02em}.tlr-month>div{height:23px;display:grid;grid-template-columns:repeat(4,1fr);background:#f8fafc;color:#d77730}.tlr-month span{display:flex;align-items:center;justify-content:center;border-right:1px solid #d9e1eb;font-size:8px;font-weight:850}.tlr-phase-row{grid-column:1 / 3;min-height:30px;display:grid;grid-template-columns:44px 1fr;align-items:center;background:#edf3f8;border-top:1px solid #d4dfe9;border-bottom:1px solid #d4dfe9}.tlr-phase-row>span{height:21px;display:flex;align-items:center;justify-content:center;border-left:5px solid #f27a24;color:#df6a18;font-size:10px;font-weight:900}.tlr-phase-row>b{padding:0 12px;font-size:10px;color:#183653}.tlr-phase-spacer{display:none}.tlr-track{position:relative;min-height:32px;border-top:1px solid #e0e7ee;background:#fff;overflow:hidden}.tlr-phase-track{min-height:30px;background:#edf3f8;border-top:1px solid #d4dfe9;border-bottom:1px solid #d4dfe9}.tlr-activity-code{min-height:32px;display:flex;align-items:center;justify-content:center;border-top:1px solid #e0e7ee;border-right:1px solid #dce5ed;color:#60778f;font-size:10px;font-weight:850}.tlr-activity-name{min-height:32px;display:flex;align-items:center;padding:0 12px;border-top:1px solid #e0e7ee;border-right:1px solid #dce5ed;font-size:10px;font-weight:750;color:#273d56}.tlr-grid{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(3.125% - 1px),#e0e7ee calc(3.125% - 1px),#e0e7ee 3.125%)}.tlr-bar{position:absolute;top:7px;height:18px;min-width:10px;border-radius:2px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.11)}.tlr-bar:after{content:'•  •  •';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;color:rgba(30,57,76,.72);font-size:9px;letter-spacing:5px;font-weight:900}@media(max-width:900px){.timeline-scroll-v26{max-height:330px}.timeline-reference{grid-template-columns:38px 185px minmax(620px,1fr);min-width:843px}.tlr-head{font-size:10px}.tlr-phase-row{grid-template-columns:38px 1fr}.tlr-activity-name,.tlr-phase-row>b{font-size:9px}}
.holiday-list-card{display:flex;flex-direction:column;max-height:390px}.holiday-table-head{gap:12px;flex-wrap:wrap}.holiday-table-head>div{display:flex;align-items:baseline;gap:8px}.v26-holiday-table-scroll{overflow:auto;min-height:0}.v26-holiday-table-scroll .holiday-table{min-width:760px}.v26-manual-inline{display:flex;align-items:center;gap:6px;margin-left:auto}.v26-manual-inline input{height:29px;border:1px solid #d5dfeb;border-radius:5px;padding:0 8px;font-size:10px;width:120px}.v26-manual-inline input[name="description"]{width:190px}.v24-holiday-layout{align-items:stretch}.v24-official{display:flex;flex-direction:column;max-height:390px;overflow:hidden}.v24-holiday-columns{overflow:auto;min-height:0;padding-right:4px}.v24-official .btn-primary{font-size:10px;padding:7px 10px;line-height:1.1}
@media(max-width:900px){.timeline-scroll-v26{max-height:330px}.holiday-list-card,.v24-official{max-height:none}.v26-manual-inline{width:100%;margin-left:0;flex-wrap:wrap}.v26-manual-inline input[name="description"]{width:min(100%,190px)}}

/* v2.8 — reference top navigation bar. Keep the existing sidebar and page
   routing intact while matching the supplied SOLTIUS control-center header. */
:root{--v22-top:106px}
.v22-top{position:relative;overflow:hidden;padding:0 48px;gap:28px;background:linear-gradient(180deg,#061a38 0%,#09284d 100%);border-bottom:3px solid #1683f5;box-shadow:0 2px 0 rgba(13,93,182,.32)}
.v22-top:before{content:'';position:absolute;inset:0 auto 0 0;width:205px;opacity:.45;pointer-events:none;background-image:radial-gradient(circle at 2px 2px,rgba(34,137,239,.7) 1px,transparent 1.5px),linear-gradient(28deg,transparent 44%,rgba(28,111,210,.4) 45%,transparent 47%);background-size:25px 18px,42px 26px;mask-image:linear-gradient(90deg,#000,transparent)}
.v22-brand{position:relative;width:338px;height:100%;gap:14px;border-right:1px solid rgba(151,191,231,.28);z-index:1}
.v22-soltius{font-size:36px;line-height:1;font-weight:900;letter-spacing:.015em;text-shadow:0 1px 1px rgba(0,0,0,.25)}
.v22-soltius span{color:#ff9e20}.v22-brand i{height:34px;border-left:1px solid rgba(160,195,230,.35)}
.v22-brand small{font-size:14px;font-weight:600;color:#d5e3f4;letter-spacing:.01em}
.v22-crumb{gap:18px;font-size:14px;z-index:1}.v22-crumb button,.v22-crumb strong{font-size:14px;font-weight:650}.v22-crumb strong{color:#1b9aff}.v22-crumb i{font-size:27px;color:#278fe5;font-weight:300}.v26-home-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:8px;background:rgba(10,54,103,.8);color:#eef7ff;font-size:26px;box-shadow:inset 0 0 0 1px rgba(54,132,210,.2)}
.v22-top-right{gap:18px;font-size:14px;z-index:1}.v22-top-right .v23-reporting{height:52px;min-width:280px;padding:0 15px;border:1px solid #154b81;border-radius:9px;background:rgba(8,48,94,.8);font-size:13px;gap:14px}.v22-top-right .v23-reporting>span{font-size:13px}.v22-top-right .v23-date-editor.compact{width:104px}.v22-top-right .v23-date-editor.compact .v23-date-text{font-size:13px}.v22-top-right .v23-cal{font-size:15px}.v26-top-icon{position:relative;width:28px;height:34px;border:0;background:transparent;color:#e8f3ff;font-size:25px;line-height:1;cursor:pointer}.v26-top-icon:hover{color:#20a0ff}.v26-top-icon sup{position:absolute;top:5px;right:1px;width:6px;height:6px;border-radius:50%;background:#ffb52d}.v26-top-divider{height:28px;border-left:1px solid rgba(153,193,231,.3)}.v22-top-right .avatar{width:42px;height:42px;font-size:14px}.v22-top-right>b{font-size:14px;color:#eff6ff}.v26-chevron{font-size:22px;color:#d3e3f5;margin-left:-10px}
@media(max-width:1400px){.v22-top{padding:0 24px;gap:18px}.v22-brand{width:290px}.v22-soltius{font-size:30px}.v22-brand small{font-size:12px}.v22-crumb{gap:11px}.v22-crumb button,.v22-crumb strong{font-size:12px}.v22-top-right{gap:10px}.v22-top-right .v23-reporting{min-width:235px}.v22-top-right>b{font-size:12px}}
@media(max-width:900px){:root{--v22-top:60px}.v22-top{padding:0 16px}.v22-brand{width:auto;border:0}.v22-brand small,.v22-brand i,.v22-crumb,.v22-top-right{display:none}.v22-soltius{font-size:24px}.v22-top:before{width:130px}}

/* v2.7 — Stream matrix and on-demand Holiday range entry. */
.stream-table-card{padding:15px}.stream-table{min-width:1120px;font-size:10px}.stream-table th{vertical-align:middle;text-align:center;white-space:nowrap}.stream-table td{padding:9px 10px;vertical-align:middle}.stream-progress-head{background:#173f70!important;color:#fff!important;letter-spacing:.08em}.stream-stage-head{background:#edf3f9!important;color:#34526f!important;font-size:8px!important;white-space:normal!important;line-height:1.15}.stream-no{width:38px;text-align:center;color:#667b91;font-weight:800}.stream-meta{display:block;margin-top:3px;color:#71849a;font-size:8px;font-weight:650}.stream-stage{width:61px;text-align:center}.stream-dot{display:inline-grid;width:18px;height:18px;place-items:center;border:1px solid #d9e1ea;border-radius:50%;color:#a1afbd;background:#fff;font-size:11px;font-weight:900}.stream-dot.done{background:#e7f7ed;border-color:#9edbb2;color:#14804a}.stream-dot.active{background:#fff4dd;border-color:#f0c46b;color:#bb7908}.stream-footnote{padding:10px 2px 0;color:#71849a;font-size:9px}.holiday-table-head{align-items:center}.v27-add-holiday{margin-left:auto}.v27-holiday-form{display:flex;align-items:end;gap:7px;margin-left:auto}.v27-holiday-form .field{margin:0}.v27-holiday-form .field span{display:block;font-size:8px;font-weight:800;color:#51667e;margin:0 0 3px}.v27-holiday-form input{height:29px;width:106px;border:1px solid #d5dfeb;border-radius:5px;padding:0 7px;font-size:10px}.v27-holiday-form .v27-holiday-description input{width:180px}.v27-holiday-form .btn{height:29px;padding:0 9px;font-size:10px}@media(max-width:900px){.v27-holiday-form{width:100%;margin-left:0;flex-wrap:wrap}.v27-add-holiday{margin-left:0}.stream-table{min-width:1000px}}
