:root{color:#1f2724;background:#f5f3ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,select,input{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:28px;padding:24px;color:#f7f5ef;background:#24332e}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;color:#24332e;background:#f2c36b;font-weight:800}.brand strong,.brand span{display:block}.brand span{color:#cbd6cf;font-size:.84rem}.nav-list{display:grid;gap:6px}.nav-item,.icon-text-button{display:flex;align-items:center;gap:10px;border:0;border-radius:8px}.nav-item{width:100%;padding:11px 12px;color:#dce6df;background:transparent;text-align:left}.nav-item:hover,.nav-item.active{color:#fff;background:#365149}.sidebar-panel{margin-top:auto;padding:16px;border:1px solid rgb(255 255 255 / .14);border-radius:8px;background:#ffffff0f}.sidebar-panel strong,.sidebar-panel p,.sidebar-panel small{display:block}.sidebar-panel p{margin:8px 0 14px;color:#d6ded9;font-size:.9rem}.sidebar-panel small{margin-top:8px;color:#bdcac2}.mini-progress,.progress-track{overflow:hidden;height:7px;border-radius:999px;background:#24332e24}.sidebar-panel .mini-progress{background:#ffffff24}.mini-progress span,.progress-track span{display:block;height:100%;border-radius:inherit;background:#3fa895}.main{min-width:0;padding:28px}.topbar{display:flex;justify-content:space-between;gap:24px;margin-bottom:26px}.topbar h1,.section-heading h2,.detail-header h2{margin:4px 0 8px;line-height:1.12}.topbar h1{font-size:clamp(1.8rem,3vw,2.5rem)}.topbar p,.detail-header p{max-width:840px;margin:0;color:#5c6963}.topbar-actions{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:flex-start;gap:10px}.topbar-actions select,.status-select,.payment-row select{min-height:34px;padding:7px 10px;border:1px solid #d2cec2;border-radius:8px;color:#27322e;background:#fffefa}.status-select.compact{width:150px;min-height:30px;margin-left:auto;font-size:.78rem}.mode-pill,.identity-pill,.status-badge,.risk-badge{display:inline-flex;align-items:center;gap:6px;min-height:28px;border-radius:999px;white-space:nowrap;font-size:.8rem;font-weight:700}.mode-pill,.identity-pill{padding:6px 10px;color:#31413b;background:#e6ded1}.mode-pill.review{color:#133e38;background:#d8eee8}.icon-text-button{padding:8px 12px;color:#fff;background:#24332e}.review-banner{display:flex;align-items:flex-start;gap:12px;margin:-8px 0 22px;padding:14px 16px;border:1px solid #b9ded6;border-radius:8px;color:#173f39;background:#e2f4ef}.login-required{display:flex;align-items:center;gap:18px;max-width:760px;padding:22px;border:1px solid #d8d2c4;border-radius:8px;background:#fffefa;box-shadow:0 10px 30px #2a302c0f}.login-required h2,.login-required p{margin:4px 0}.login-required p{color:#5c6963}.review-banner strong,.review-banner span{display:block}.review-banner span{margin-top:2px;color:#365e57;font-size:.9rem}select:disabled,input:disabled{cursor:not-allowed;opacity:.72}.eyebrow{color:#6a786f;font-size:.74rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.view-stack{display:grid;gap:20px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card,.panel,.attention-card,.phase-card,.deliverable-row,.calendar-item,.detail-header,.info-cell,.empty-state{border:1px solid #e0ddd3;border-radius:8px;background:#fffefa;box-shadow:0 10px 30px #2a302c0f}.metric-card{display:grid;gap:8px;padding:18px;min-height:142px}.metric-card svg{color:#3fa895}.metric-card.warn svg{color:#b76642}.metric-card.ok svg{color:#458d62}.metric-card span,.metric-card small{color:#627069}.metric-card strong{font-size:2rem}.workband{padding:22px;border:1px solid #ddd8c9;background:#ebe6d9}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.section-heading.compact{margin-bottom:12px}.section-heading h2{font-size:1.25rem}.section-heading span{color:#69766f;font-size:.86rem}.section-heading select{min-width:180px;padding:9px 12px;border:1px solid #d2cec2;border-radius:8px;background:#fffefa}.attention-grid,.two-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.two-column{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.attention-card,.panel,.phase-card,.deliverable-row,.calendar-item,.detail-header{padding:18px}.attention-top,.phase-card-top,.deliverable-main,.project-row,.project-row-meta,.phase-rung,.matrix-item,.payment-list div,.criteria-list div,.dependency-head,.dependency-row,.ip-head,.ip-row,.timeline-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.attention-card h3,.deliverable-row h3,.calendar-item h3{margin:12px 0 8px;font-size:1rem}.attention-card p,.deliverable-row p,.calendar-item p,.dependency-row p{margin:0;color:#617069}.attention-foot{display:flex;justify-content:space-between;gap:12px;margin-top:18px;color:#52615b;font-size:.86rem}.phase-rungs,.matrix-list,.payment-list,.deliverable-list,.calendar-list,.portfolio-list{display:grid;gap:10px}.phase-rung,.matrix-item,.payment-list div,.portfolio-row{padding:12px 0;border-bottom:1px solid #ece8df}.phase-rung:last-child,.matrix-item:last-child,.payment-list div:last-child,.portfolio-row:last-child{border-bottom:0}.phase-rung strong,.phase-rung span,.matrix-item strong,.matrix-item span{display:block}.phase-rung span,.matrix-item span,.payment-list span,.current-phase span{color:#68756e;font-size:.88rem}.project-list{display:grid;gap:10px}.project-row{width:100%;padding:18px;border:1px solid #ded9ce;border-radius:8px;background:#fffefa;color:#1f2724;text-align:left}.project-row.active,.project-row:hover{border-color:#3fa895}.project-row strong,.project-row span{display:block}.project-row>div:first-child span{margin-top:4px;color:#637069}.portfolio-row,.portfolio-row-meta{display:flex;align-items:center;justify-content:space-between;gap:14px}.portfolio-row strong,.portfolio-row span{display:block}.portfolio-row span{margin-top:4px;color:#68756e;font-size:.86rem}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.info-cell{display:grid;gap:6px;padding:14px}.info-cell span{color:#67746d;font-size:.82rem}.current-phase p{margin:12px 0 0;color:#5b6962}.phase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.phase-card{display:grid;gap:14px}.phase-card-top strong,.phase-card-top span{display:block}.phase-card-top span,.timeline-row{color:#69766f;font-size:.86rem}.clean-list{display:grid;gap:8px;margin:0;padding-left:18px;color:#4d5c55}.blocker-box{display:flex;align-items:flex-start;gap:8px;padding:10px;border-radius:8px;color:#6f3d29;background:#f5e2d3;font-size:.88rem}.deliverable-row{display:grid;gap:14px}.deliverable-main{align-items:flex-start}.deliverable-meta{display:flex;flex-shrink:0;align-items:flex-end;flex-direction:column;gap:8px;color:#637069;font-size:.86rem}.complete-toggle{display:inline-flex;align-items:center;gap:7px;color:#34433d;font-weight:800}.criteria-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.criteria-list div{justify-content:flex-start;padding:10px;border-radius:8px;background:#f6f4ed}.criteria-list svg{flex-shrink:0;color:#3fa895}.dependency-table,.ip-table,.payment-table{overflow:hidden;border:1px solid #ded9ce;border-radius:8px;background:#fffefa}.dependency-head,.dependency-row,.ip-head,.ip-row,.payment-head,.payment-row{display:grid;align-items:center}.dependency-head,.dependency-row{grid-template-columns:minmax(280px,1fr) 90px 130px 150px}.ip-head,.ip-row{grid-template-columns:1.2fr 1fr 1fr 110px 110px}.payment-head,.payment-row{grid-template-columns:minmax(280px,1.4fr) 110px 120px 130px 140px 140px;gap:12px}.dependency-head,.ip-head,.payment-head{padding:12px 16px;color:#69766f;background:#f1ede4;font-size:.78rem;font-weight:800;text-transform:uppercase}.dependency-row,.ip-row,.payment-row{padding:16px;border-top:1px solid #ece8df}.payment-row strong,.payment-row span,.payment-row small{display:block}.payment-row span,.payment-row small{color:#637069}.payment-row small{margin-top:6px;line-height:1.35}.dependency-row small{display:block;margin-top:8px;color:#52615b;font-weight:700}.row-title{display:flex;align-items:center;gap:8px;margin-bottom:8px}.calendar-list{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-item{display:flex;align-items:flex-start;gap:16px}.calendar-date{display:grid;flex:0 0 64px;place-items:center;min-height:64px;border-radius:8px;color:#24332e;background:#f2c36b}.calendar-date span{font-size:1.4rem;font-weight:800}.status-badge,.risk-badge{padding:5px 9px}.status-badge.not-started{color:#59645f;background:#ebe6d9}.status-badge.in-progress,.status-badge.active{color:#1d5d53;background:#d8eee8}.status-badge.at-risk{color:#77411e;background:#f4dfc4}.status-badge.blocked{color:#842d2d;background:#f3d4d1}.status-badge.ready-for-review{color:#4e4a91;background:#dfdcf4}.status-badge.complete{color:#34633f;background:#dceddd}.status-badge.discovery{color:#375d77;background:#d9e9f3}.status-badge.subtle{margin-left:auto;font-size:.72rem}.risk-badge.low{color:#34633f;background:#dceddd}.risk-badge.medium{color:#77411e;background:#f4dfc4}.risk-badge.high{color:#842d2d;background:#f3d4d1}.empty-state{display:grid;min-height:120px;place-items:center;padding:18px;color:#68756e;text-align:center}@media (max-width: 1100px){.metric-grid,.detail-grid,.attention-grid,.phase-grid,.calendar-list{grid-template-columns:repeat(2,minmax(0,1fr))}.dependency-head,.dependency-row,.ip-head,.ip-row,.payment-head,.payment-row{grid-template-columns:1fr;gap:8px}.dependency-head,.ip-head,.payment-head{display:none}}@media (max-width: 820px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;padding:18px}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding:18px}.topbar,.detail-header,.deliverable-main,.two-column{flex-direction:column;grid-template-columns:1fr}.topbar-actions,.deliverable-meta{align-items:flex-start}.metric-grid,.detail-grid,.attention-grid,.phase-grid,.criteria-list,.calendar-list{grid-template-columns:1fr}}
