:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;color:#18312e;background:#f2f6f4;font-family:Inter,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #80bba9}h1,h2,p{margin-top:0}#root,.app-shell{min-height:100vh}.app-header{background:#fff;border-bottom:1px solid #dce8e3;justify-content:space-between;align-items:center;height:74px;padding:0 max(32px,50vw - 590px);display:flex}.brand{letter-spacing:-.7px;align-items:center;gap:10px;font-size:19px;font-weight:760;display:flex}.brand-symbol{color:#fff;background:#173d35;border-radius:10px;place-items:center;width:34px;height:34px;font-size:25px;font-weight:400;display:grid}.header-caption,.eyebrow{letter-spacing:1.5px;color:#5c756e;font-size:11px;font-weight:800}.main-content{max-width:1080px;margin:auto;padding:56px 28px}.intro{margin-bottom:27px}.intro h1{letter-spacing:-2px;color:#16312e;margin:13px 0 15px;font-size:clamp(32px,4.8vw,50px);line-height:1.08}.intro p{color:#5c6e6a;font-size:15px;line-height:1.7}.workspace{grid-template-columns:1fr 1fr;align-items:stretch;gap:20px;display:grid}.panel{background:#fff;border:1px solid #d9e5e0;border-radius:19px;padding:28px;box-shadow:0 6px 16px #17423606}.input-panel h2,.empty-panel h2{letter-spacing:-.45px;margin:0 0 5px;font-size:20px}.section-subtitle{color:#60716d;margin-bottom:25px;font-size:13px}.input-panel form{flex-direction:column;display:flex}.input-panel label{margin:0 0 8px;font-size:12px;font-weight:750}.input-panel input{color:#17352e;background:#fcfefd;border:1px solid #cbdad4;border-radius:9px;width:100%;height:45px;margin-bottom:18px;padding:0 12px}.scenario-label{color:#627872;margin:2px 0 7px;font-size:12px}.scenario-row{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.scenario-button{color:#174e40;background:#eef6f3;border:1px solid #bfd9cf;border-radius:9px;padding:9px 10px;font-size:11px}.scenario-button:hover{background:#dcefe7}.primary-button{color:#fff;background:#17483e;border:0;border-radius:9px;height:47px;font-weight:750}.primary-button:hover{background:#0e352d}.input-error{color:#ae3f33;background:#fff2ef;border-radius:8px;padding:10px 12px;font-size:12px}.result-panel{height:100%}.result-title{letter-spacing:-.6px;margin:17px 0 8px;font-size:24px;line-height:1.2}.status-needs-adjustment,.status-invalid-target-date,.status-not-applicable{color:#a36600}.status-supported,.status-funded{color:#128062}.result-description{color:#5c706a;margin:0 0 21px;font-size:13px;line-height:1.6}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.metric{background:#f3f7f5;border-radius:11px;flex-direction:column;justify-content:space-between;gap:8px;min-height:91px;padding:16px 14px;display:flex}.metric span,.progress-head{color:#61746e;font-size:11px}.metric strong{letter-spacing:-.55px;color:#173c32;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:17px}.detail{background:#fff5e8;border-radius:9px;justify-content:space-between;gap:9px;margin:17px 0;padding:12px;font-size:12px;display:flex}.detail.warning{color:#945600}.detail.positive{color:#13664c;background:#eaf7f1}.progress-head{justify-content:space-between;margin:23px 0 9px;display:flex}.progress-track{background:#dfebe6;border-radius:8px;height:8px;overflow:hidden}.progress-track div{background:#168263;border-radius:8px;height:100%;transition:width .25s}.disclaimer{color:#5f716b;background:#f2f6f4;border-radius:9px;margin:18px 0 0;padding:13px;font-size:11px;line-height:1.7}.empty-panel{text-align:center;color:#61736d;flex-direction:column;justify-content:center;align-items:center;min-height:365px;display:flex}.empty-panel p{max-width:280px;font-size:13px;line-height:1.6}.empty-mark{color:#168263;margin-bottom:16px;font-size:37px}.result-wrapper{position:relative}.stale-note{z-index:1;color:#78580f;text-align:center;background:#fdf5da;border:1px solid #f1d58a;border-radius:9px;padding:10px;font-size:12px;position:absolute;top:10px;left:15px;right:15px}.footer-note{color:#71857d;text-align:center;padding:36px 0 12px;font-size:11px}@media (width<=760px){.app-header{height:64px;padding:0 20px}.header-caption{font-size:9px}.main-content{padding:36px 16px}.workspace{grid-template-columns:1fr}.panel{padding:22px}.intro h1{letter-spacing:-1.2px}.intro p br{display:none}}.secondary-button{color:#17483e;background:#fff;border:1px solid #bfd3cb;border-radius:9px;padding:10px 14px;font-size:12px;font-weight:700}.secondary-button:hover:not(:disabled){background:#eef6f3}button:disabled{cursor:not-allowed;opacity:.5}.explore-button{color:#17483e;background:#fff;border:1px solid #17483e;border-radius:9px;width:100%;height:43px;margin-bottom:4px;font-weight:750}.explore-button:hover,.explore-button[aria-expanded=true]{background:#eef6f3}.confirm-button{color:#fff;background:#17483e;border:0;border-radius:9px;padding:10px 14px;font-size:12px;font-weight:750}.confirm-button:hover:not(:disabled){background:#0e352d}.confirm-box{background:#f4f9f7;border:1px solid #bfd3cb;border-radius:10px;margin-top:14px;padding:13px}.confirm-box p{color:#284842;margin:0 0 11px;font-size:12px;line-height:1.6}.confirm-actions{flex-wrap:wrap;gap:8px;display:flex}.restore-box{background:#f2f6f4;border:1px solid #d9e5e0;border-radius:10px;margin-top:18px;padding:14px}.restore-box>p{color:#284842;margin:0 0 10px;font-size:12px;line-height:1.6}.restore-box .restore-note{color:#78580f}.notice{color:#13664c;background:#eaf7f1;border-radius:8px;margin:18px 0 0;padding:10px 12px;font-size:12px}.alternatives-panel{margin-top:20px}.alternatives-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.alternatives-head h2{letter-spacing:-.5px;margin:10px 0 6px;font-size:22px}.alternatives-head h2:focus{outline:none}.alternatives-head .section-subtitle{max-width:640px;margin-bottom:18px;line-height:1.6}.alternatives-head .secondary-button{flex-shrink:0}.stale-inline{color:#78580f;background:#fdf5da;border:1px solid #f1d58a;border-radius:9px;margin:0 0 16px;padding:10px 12px;font-size:12px}.alt-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.alt-card{background:#fff;border:1px solid #d9e5e0;border-radius:14px;flex-direction:column;padding:18px;display:flex}.alt-card.current{background:#f6f9f8}.alt-tag{letter-spacing:1.2px;color:#5c756e;text-transform:uppercase;font-size:10px;font-weight:800}.alt-card h3{letter-spacing:-.3px;color:#16312e;margin:6px 0 12px;font-size:16px}.alt-rows{margin:0 0 12px}.alt-row{border-bottom:1px solid #e6eeea;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;font-size:12px;display:flex}.alt-row dt{color:#61746e}.alt-row dd{text-align:right;color:#173c32;font-variant-numeric:tabular-nums;margin:0;font-weight:700}.alt-row.changed dd{color:#0f6b51}.changed-tag{letter-spacing:.8px;text-transform:uppercase;color:#128062;font-size:9px;font-weight:800;display:block}.alt-note{color:#5c706a;margin:0 0 8px;font-size:11.5px;line-height:1.6}.alt-unavailable{color:#4f625d;background:#f2f6f4;border-radius:9px;margin:0;padding:12px;font-size:12px;line-height:1.7}.use-button{width:100%;margin-top:auto}.alt-card .confirm-box{margin-top:auto}.assumptions{background:#f2f6f4;border-radius:10px;margin-top:18px;padding:14px 16px}.assumptions h3{color:#284842;margin:0 0 6px;font-size:12px}.assumptions ul{color:#5f716b;margin:0;padding-left:18px;font-size:11.5px;line-height:1.7}@media (width<=900px){.alt-grid{grid-template-columns:1fr}.alternatives-head{flex-direction:column}}.input-panel textarea{color:#17352e;width:100%;font:inherit;resize:vertical;background:#fcfefd;border:1px solid #cbdad4;border-radius:9px;min-height:64px;padding:10px 12px}.char-count{color:#5c706a;font-variant-numeric:tabular-nums;align-self:flex-end;margin:4px 0 14px;font-size:11px}.input-panel input#goal-name{margin-bottom:0}.editing-banner{background:#fdf5da;border:1px solid #f1d58a;border-radius:10px;margin:0 0 20px;padding:13px}.editing-banner p{color:#5e4510;margin:0 0 10px;font-size:12px;line-height:1.6}.review-box{border-top:1px solid #e6eeea;flex-direction:column;margin-top:18px;padding-top:18px;display:flex}.review-blockers{color:#4f625d;margin-top:10px;font-size:12px;line-height:1.6}.review-blockers p{margin:0}.review-blockers ul{margin:2px 0 0;padding-left:18px}.review-panel,.overview-panel{max-width:720px;margin:0 auto}.review-panel h2,.overview-head h2{letter-spacing:-.6px;color:#16312e;margin:10px 0 6px;font-size:24px}.review-panel h2:focus,.overview-head h2:focus{outline:none}.goal-heading{background:#f3f7f5;border-radius:12px;margin:0 0 14px;padding:14px 16px}.goal-heading h3{color:#16312e;overflow-wrap:anywhere;margin:6px 0 4px;font-size:18px}.goal-type{letter-spacing:1.2px;text-transform:uppercase;color:#13664c;background:#eaf7f1;border-radius:6px;padding:3px 7px;font-size:10px;font-weight:800;display:inline-block}.goal-description{color:#4f625d;overflow-wrap:anywhere;white-space:pre-line;margin:4px 0 0;font-size:13px;line-height:1.6}.review-consequence{border-radius:10px;margin:14px 0 0;padding:12px 14px;font-size:12.5px;line-height:1.65}.review-consequence p{margin:0 0 8px}.review-consequence p:last-child{margin:0}.review-consequence.positive{color:#13664c;background:#eaf7f1}.review-consequence.warning{color:#7a4700;background:#fff5e8}.review-replace{color:#284842;margin:14px 0 0;font-size:12px;font-weight:700}.temporary-note{color:#5e4510;background:#fdf5da;border:1px solid #f1d58a;border-radius:9px;margin:14px 0 0;padding:10px 12px;font-size:12px;line-height:1.6}.review-actions{margin-top:18px}.review-actions button{min-height:44px;padding:10px 18px}.overview-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.overview-head h2{overflow-wrap:anywhere}.overview-head .secondary-button{flex-shrink:0;min-height:44px}.goal-meta{color:#5c706a;margin:8px 0 0;font-size:12px}.overview-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;display:grid}.overview-section{border:1px solid #d9e5e0;border-radius:14px;padding:16px}.overview-section h3{color:#16312e;margin:0 0 8px;font-size:14px}.projection-date{color:#5c706a;margin:0 0 8px;font-size:11.5px}.projection-state{margin:0 0 4px;font-size:17px;font-weight:750}@media (width<=760px){.overview-grid{grid-template-columns:1fr}.overview-head{flex-direction:column}}
