:root{--purple:#484481;--dark:#312f5a;--deep:#1e1d38;--olive:#96b747;--green:#37a76b;--cream:#f4f5f8;--ink:#1e1e2e;--muted:#4a4a62;--border:#e0e2ec;--white:#fff}*{box-sizing:border-box}body{margin:0;font:16px/1.55 Arial,Helvetica,sans-serif;background:var(--cream);color:var(--ink)}a{color:var(--purple);text-decoration:none}.topbar{min-height:76px;padding:9px max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--deep);color:white}.brand{display:flex;align-items:center;gap:12px;color:white}.brand img{width:54px;height:50px;object-fit:contain;background:white;border-radius:8px;padding:3px}.brand span{display:flex;flex-direction:column}.brand strong{font-size:18px}.brand small{color:#d8d6ed}.badge,.status{background:var(--olive);color:var(--deep);font-size:12px;font-weight:700;padding:6px 10px;border-radius:999px}main{max-width:1180px;margin:auto;padding:30px 24px 60px}.flash{background:#e8f5ee;border-left:4px solid var(--green);padding:12px 16px;margin-bottom:20px}.hero,.page-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:24px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--purple);font-weight:700;font-size:12px;margin:0}.hero h1,.page-head h1{font-size:34px;color:var(--deep);margin:4px 0 6px}.hero p,.page-head p{max-width:750px;color:var(--muted);margin:0}.readiness{min-width:210px;background:white;border:1px solid var(--border);border-radius:12px;padding:14px}.readiness span{font-size:12px;color:var(--muted)}.readiness strong{display:block;font-size:20px;color:var(--purple)}.readiness div{height:7px;background:var(--border);border-radius:9px;overflow:hidden}.readiness i{display:block;height:100%;background:var(--olive)}.layout{display:grid;grid-template-columns:1.35fr .65fr;gap:22px}.results-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.card{background:white;border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 8px 28px rgba(30,29,56,.06)}.section-title{display:flex;gap:12px;align-items:center;margin-bottom:20px}.section-title>span{background:var(--purple);color:white;font-weight:700;border-radius:8px;padding:7px 9px}.section-title h2{color:var(--purple);font-size:19px;margin:0}.section-title p{color:var(--muted);font-size:13px;margin:1px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid label{font-size:13px;font-weight:700;color:var(--muted)}input,select{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid var(--border);border-radius:8px;font:inherit;color:var(--ink);background:white}input:focus,select:focus{outline:3px solid rgba(72,68,129,.15);border-color:var(--purple)}button{width:100%;margin-top:20px;border:0;border-radius:9px;background:var(--purple);color:white;font-weight:700;font-size:15px;padding:13px;cursor:pointer}button:hover{background:var(--dark)}.project-row{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.project-row span{display:flex;flex-direction:column}.project-row small{color:var(--muted)}.project-row b{white-space:nowrap;color:var(--deep)}.empty{text-align:center;padding:28px 8px;color:var(--muted)}.note{margin-top:16px;background:#eef4df;border-left:4px solid var(--olive);padding:13px}.note p{font-size:13px;margin:4px 0}.error-box{background:#fff2f2;border-left:4px solid #ef4444;padding:12px 18px;margin-bottom:20px}.error-box ul{margin:5px 0}.metric{border:1px solid var(--border);border-radius:10px;padding:13px}.metric small,.metric span{display:block;color:var(--muted);font-size:11px}.metric strong{font-size:22px;color:var(--deep)}.metric.primary{background:var(--deep);border-color:var(--deep);margin-bottom:12px}.metric.primary small,.metric.primary span{color:#d8d6ed}.metric.primary strong{font-size:36px;color:var(--olive)}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.assumptions{margin:0}.assumptions div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--border)}.assumptions dt{color:var(--muted)}.assumptions dd{margin:0;font-weight:700;text-align:right}@media(max-width:850px){.hero,.page-head{display:block}.readiness,.status{display:inline-block;margin-top:18px}.layout,.results-layout{grid-template-columns:1fr}}@media(max-width:560px){main{padding:22px 14px}.grid,.metric-grid{grid-template-columns:1fr}.hero h1,.page-head h1{font-size:28px}.brand small{display:none}.card{padding:18px}}
