[hidden]{display:none!important}
:root{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#163b53;background:#f4f7fb}*{box-sizing:border-box}body{margin:0}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(1240px,calc(100% - 32px));margin:auto}.top{background:#102f50;color:#fff}.nav{display:flex;align-items:center;gap:16px;min-height:76px}.nav a{background:#fff;border-radius:12px;padding:5px 12px}.nav img{width:114px;height:42px;object-fit:contain}.nav>span{font-weight:800;color:#e9f2fa}.nav button{margin-left:auto}.primary,.outline,.ghost{border:1px solid #c5d8e6;display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:42px;border-radius:10px;padding:10px 15px;font-weight:800}.primary{background:#1166a5;border-color:#1166a5;color:#fff}.outline{background:#fff;color:#125b89}.ghost{background:#1c4765;color:#fff;border-color:#66839b}.primary:disabled,.outline:disabled{opacity:.55;cursor:wait}.eyebrow{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:900;color:#cb772d}.login-panel{max-width:480px;margin:58px auto 70px;border:1px solid #d6e5ec;border-radius:22px;padding:29px;background:#fff;box-shadow:0 18px 45px #10355113}.login-panel h1{margin:8px 0;font-size:31px;line-height:1.14;color:#10334f}.login-panel p,.signup-box p{font-size:14px;line-height:1.65;color:#60798b}.login-panel form{display:grid;gap:13px;margin:22px 0}.login-panel label,.form-grid label,.project-picker label{display:grid;gap:7px;color:#4b687d;font-size:12px;font-weight:850}.login-panel input,.form-grid input,.form-grid select,.form-grid textarea,.project-picker select{border:1px solid #c9dbe5;border-radius:10px;background:#fff;color:#143950;padding:10px 12px;min-height:44px;width:100%;min-width:0;font:inherit;font-weight:450}.form-grid textarea{resize:vertical;min-height:73px}.signup-box{margin-top:24px;border-top:1px solid #e0e8ed;padding-top:17px;color:#135a83}.signup-box summary{font-size:13px;font-weight:800;cursor:pointer}.signup-box p{font-size:12px}.intro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:35px 0 18px}.intro h1{font-size:clamp(28px,4vw,39px);letter-spacing:-.03em;color:#113551;margin:4px 0}.intro p{color:#658092;margin:0}.intro>div:last-child{display:grid;gap:10px;text-align:right}.intro small{color:#688092}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-head h2{font-size:21px;margin:5px 0 12px;color:#113854}.staff-tools,.panel,.project-picker{background:#fff;border:1px solid #d9e6ed;border-radius:18px;padding:20px;margin:18px 0}.staff-tools{border-left:5px solid #d18e3c}.staff-tools>p,.panel>p{color:#667f91;font-size:13px;line-height:1.6}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.form-grid .full{grid-column:1/-1}.form-grid h3{font-size:15px;color:#153e5c;margin:0}.form-grid button{max-width:max-content}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.project-picker{display:flex;align-items:end;justify-content:space-between;gap:15px}.project-picker label{flex:1;max-width:680px}.project-picker>span{font-size:12px;color:#70899a}.empty{padding:26px;background:#fff;border:1px dashed #bfd3e1;border-radius:14px;text-align:center;color:#678095;line-height:1.6}.program-hero{background:linear-gradient(125deg,#102f50,#155e96);color:#fff;padding:25px;border-radius:21px;display:flex;justify-content:space-between;gap:24px;align-items:center}.program-hero h2{font-size:clamp(22px,4vw,32px);margin:8px 0;letter-spacing:-.02em}.program-hero p{margin:7px 0;color:#e0edf5;font-size:14px;line-height:1.55}.pill{display:inline-flex;border-radius:8px;padding:5px 9px;color:#133b57;background:#e7f3fc;font-size:10px;font-weight:900;letter-spacing:.07em}.hero-meta{text-align:right;display:grid;gap:6px;min-width:135px}.hero-meta strong{font-size:16px}.hero-meta span{font-size:12px;color:#d7e7f4}.overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:16px}.overview article{background:#fff;border:1px solid #d9e6ed;border-radius:16px;padding:18px;min-height:128px}.overview span{font-size:11px;color:#668194;font-weight:800}.overview strong{display:block;font-size:29px;margin:5px 0;color:#123e5d}.overview small{font-size:11px;color:#7a92a1}.phase-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.phase{background:#f4f7fa;border:1px solid #dde9ef;border-radius:13px;padding:16px}.phase strong{display:block;font-size:15px;color:#153f5c}.phase small{display:block;margin-top:6px;color:#708a9b;font-size:12px}.phase.active{background:#e9f4fe;border-color:#93c6e9}.phase.done{background:#eff8f0;border-color:#bcdcbf}.record-list{display:grid;gap:11px;margin-bottom:14px}.record{background:#f8fafc;border:1px solid #e1eaf0;border-radius:13px;padding:15px}.record-top{display:flex;justify-content:space-between;align-items:start;gap:16px}.record h3{font-size:16px;margin:0 0 6px;color:#143e5a}.record p{margin:6px 0 0;font-size:12px;color:#647e8e;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.record small{font-size:12px;color:#6e8799}.record-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.tag{border-radius:8px;padding:5px 8px;background:#e7f0f7;color:#2a6085;font-size:10px;font-weight:850}.tag.done{background:#e4f4e8;color:#25734a}.tag.blocked{background:#fff0df;color:#9f5719}.record button{flex-shrink:0}.progress-track{height:9px;background:#e3ebf2;border-radius:8px;overflow:hidden;margin:12px 0 4px}.progress-track i{display:block;height:100%;background:#2983b7;border-radius:8px}.record .values{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#4d6e82}.values b{color:#123d5d}.staff-form{border-top:1px solid #e2ebf1;padding-top:17px}.project-control{border-top:1px solid #e1ebf1;margin-top:18px;padding-top:17px}.project-control button{align-self:end}.footer{border-top:1px solid #dce7ed;padding:20px 0 30px;color:#758e9c;font-size:12px;margin-top:32px}#app-message,#login-message{font-size:13px;color:#165a82;min-height:18px}.error{color:#a83024!important}@media(max-width:900px){.overview{grid-template-columns:repeat(2,1fr)}.phase-track{grid-template-columns:1fr 1fr}}@media(max-width:610px){.wrap{width:calc(100% - 22px)}.nav{min-height:66px;gap:8px}.nav img{width:87px}.nav>span{font-size:11px}.login-panel{margin:26px auto;padding:20px}.intro{display:block;margin:26px 0 15px}.intro>div:last-child{display:flex;justify-content:space-between;text-align:left;margin-top:14px}.staff-tools,.panel,.project-picker{padding:14px}.form-grid,.phase-track{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.form-grid button{max-width:none}.program-hero{display:block;padding:18px}.hero-meta{text-align:left;margin-top:16px}.overview{gap:9px}.overview article{padding:12px;min-height:102px}.overview strong{font-size:24px}.record-top{display:block}.record-top button{margin-top:10px}.project-picker{display:block}.project-picker>span{display:block;margin-top:9px}}
/* Actual KPI checkpoints (not forecast values) */
.checkpoint-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.checkpoint{flex:1 1 110px;min-width:105px;display:grid;gap:4px;border:1px solid #cfdfeb;background:#fff;border-radius:11px;padding:10px;font-size:12px;color:#1a506e}
.checkpoint>b{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#b16d2b}
.checkpoint small{color:#6a8497;font-size:10px;overflow-wrap:anywhere}
.checkpoint-note{font-size:12px;line-height:1.6;color:#6d8294;margin:0 0 4px}

.staff-shortcuts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.staff-shortcuts .primary,.staff-shortcuts .outline{white-space:nowrap}.ai-team-link{background:#102f50;border-color:#102f50}.ai-team-link:hover{background:#184b70;border-color:#184b70}@media(max-width:610px){.staff-tools .section-head{align-items:flex-start}.staff-shortcuts{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.staff-shortcuts .primary,.staff-shortcuts .outline{width:100%;min-height:48px;padding:10px 9px;font-size:13px;text-align:center}}@media(max-width:390px){.staff-shortcuts{grid-template-columns:1fr}}
