:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#142019;background:#f7faf7;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}html,body,#root{min-width:0;overflow-x:hidden}button,input,select{font:inherit}button{min-height:42px;border:0;border-radius:8px;padding:.66rem 1rem;font-weight:700;cursor:pointer;background:#0f6b3d;color:#fff;transition:background .16s ease,border-color .16s ease,color .16s ease}button:hover{background:#0b5631}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:#e8f2eb;color:#0f5130;border:1px solid #c6ddcf}button.secondary:hover,button.ghost:hover{background:#dcebe2}button.ghost{background:transparent;color:#1f5f3e;border:1px solid #c9dbd0}button.danger{color:#a13f3f;border-color:#e1c7c7}.app-shell{width:min(1180px,100%);margin:0 auto;padding:24px;min-width:0}.topbar,.hero-dashboard,.section-heading,.row-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar{padding:10px 0 18px}.top-actions{display:flex;gap:10px}.topbar h1,.hero-dashboard h1,.section-heading h2,.scenario h3,.import-action h2{margin:0;letter-spacing:0;overflow-wrap:anywhere}.topbar h1{font-size:1.55rem}.eyebrow{margin:0 0 4px;color:#3b7051;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.tabs{position:sticky;top:0;z-index:5;display:flex;gap:6px;overflow-x:auto;padding:8px;margin-bottom:18px;border:1px solid #d8e4dc;border-radius:8px;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tabs button{flex:0 0 auto;min-height:38px;background:transparent;color:#53625a;border:1px solid transparent;padding:.5rem .8rem}.tabs button.active{background:#0f6b3d;color:#fff}.mobile-section-select{display:none}.notice,.error{margin:0 0 16px;border-radius:8px;padding:.8rem 1rem;font-weight:700}.notice{background:#e8f2eb;color:#0f5130;border:1px solid #c6ddcf}.error{background:#fff0ed;color:#9b2f2f;border:1px solid #efc7c0}.hero-dashboard{min-height:235px;padding:28px;margin-bottom:18px;border:1px solid #d8e4dc;border-radius:8px;background:linear-gradient(115deg,#fffffff5,#f4faf6eb),linear-gradient(135deg,#e9f3ed,#fff)}.hero-dashboard h1{font-size:2.45rem;line-height:1.08;color:#102218}.hero-copy{max-width:650px;margin:12px 0 0;color:#53625a;line-height:1.6}.score-ring{display:grid;place-items:center;width:132px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at center,#fff 56%,transparent 58%),conic-gradient(#0f6b3d var(--score, 78%),#dcebe2 0);border:1px solid #c8d9cf;box-shadow:0 18px 36px #2054371f}.score-ring span{font-size:2.25rem;font-weight:850;color:#0f5130}.score-ring small{margin-top:-18px;color:#53625a;font-weight:700}.metric-grid,.dashboard-grid,.form-grid,.import-grid,.scenario-grid{display:grid;gap:16px;margin-bottom:16px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.scenario-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.panel,.metric,.scenario{background:#fff;border:1px solid #d8e4dc;border-radius:8px;box-shadow:0 18px 40px #1e3e2a0f}.panel{padding:20px}.panel.wide{grid-column:span 1}.metric{min-height:132px;padding:18px}.metric span,.section-heading span,.summary-list dt,.scenario dt,.field span,.empty-state{color:#637067}.metric span,.summary-list dt,.scenario dt,.field span{font-size:.82rem;font-weight:750}.metric strong{display:block;margin:12px 0 4px;color:#0e3d25;font-size:2rem;line-height:1}.metric small{color:#637067;font-weight:650}.section-heading{margin-bottom:16px}.section-heading h2{font-size:1.05rem}.section-heading span{text-align:right;font-size:.82rem;font-weight:700}.chart{display:block;width:100%;max-width:100%;min-height:245px}.axis-label{fill:#637067;font-size:13px;font-weight:700}.insight-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.insight-list li{padding:12px;border-left:3px solid #0f6b3d;background:#f6faf7;color:#2a3c31;line-height:1.45}.summary-list,.scenario dl{display:grid;gap:12px;margin:0}.summary-list div,.scenario dl div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid #e7eee9;padding-bottom:10px}.summary-list dd,.scenario dd{margin:0;text-align:right;font-weight:800;color:#142019}.allocation-bars,.failure-bars{display:grid;gap:13px}.bar-row,.failure-row{display:grid;grid-template-columns:minmax(92px,.9fr) minmax(120px,2fr) minmax(72px,.5fr);align-items:center;gap:12px;font-size:.9rem}.bar-track{height:10px;overflow:hidden;border-radius:999px;background:#edf3ef}.bar-track i{display:block;height:100%;border-radius:inherit;background:#0f6b3d}.bar-track.risk i{background:#d58a2a}.two-col,.mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mapping-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.field{display:grid;gap:7px}.field.compact{gap:5px}.field input,.field select,.input-shell{width:100%;min-height:42px;border:1px solid #cfded5;border-radius:8px;background:#fff;color:#142019}.field input,.field select{padding:.64rem .76rem}.input-shell{display:flex;align-items:center;overflow:hidden}.input-shell input{min-height:40px;border:0;border-radius:0}.input-shell b{flex:0 0 auto;padding:0 .7rem;color:#637067}.toggle-field{display:flex;align-items:center;gap:10px;margin-top:18px;font-weight:700;color:#2a3c31}.toggle-field input{width:18px;height:18px;accent-color:#0f6b3d}.import-action{display:flex;flex-direction:column;align-items:flex-start;min-height:184px}.import-action p{flex:1;margin:10px 0 18px;color:#53625a;line-height:1.5}.file-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:8px;padding:.66rem 1rem;background:#0f6b3d;color:#fff;font-weight:800;cursor:pointer}.compact-action{margin-top:10px}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.table-scroll{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}table{width:100%;min-width:640px;border-collapse:collapse;font-size:.92rem}th,td{padding:.75rem .65rem;border-bottom:1px solid #e7eee9;text-align:left}th{color:#435247;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.account-list{display:grid;gap:12px}.account-row{display:grid;grid-template-columns:1.2fr 1fr .95fr .9fr .9fr .85fr .9fr auto;gap:10px;align-items:end;padding:14px;border:1px solid #e1ebe5;border-radius:8px;background:#fbfdfb}.scenario{padding:16px}.scenario h3{min-height:44px;font-size:1rem}.scenario strong{display:block;margin:8px 0 14px;color:#0f6b3d;font-size:2rem}.empty-state{margin:0;line-height:1.5}.disclaimer{margin:22px 0 6px;padding-top:16px;border-top:1px solid #d8e4dc;color:#637067;font-size:.85rem;line-height:1.45}.coachmark-layer,.guide-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20}.coachmark-layer{pointer-events:auto}.coachmark-highlight{position:fixed;z-index:21;border:2px solid #f7fff9;border-radius:12px;background:#ffffff14;box-shadow:0 0 0 9999px #07150d94,0 18px 48px #00000047;pointer-events:none;transition:left .18s ease,top .18s ease,width .18s ease,height .18s ease}.coachmark-card{position:fixed;z-index:22;border:1px solid #c8dbd0;border-radius:8px;padding:18px;background:#fff;box-shadow:0 28px 70px #07150d57}.coachmark-card:before{content:"";position:absolute;top:-8px;left:28px;width:16px;height:16px;border-left:1px solid #c8dbd0;border-top:1px solid #c8dbd0;background:#fff;transform:rotate(45deg)}.coachmark-card h2,.coachmark-card p{margin:0}.coachmark-card h2{font-size:1.1rem;color:#102218}.coachmark-card>p:not(.eyebrow){margin-top:8px;color:#53625a;line-height:1.5}.coachmark-progress{display:flex;gap:6px;margin:16px 0}.coachmark-progress i{width:22px;height:4px;border-radius:999px;background:#dcebe2}.coachmark-progress i.active{background:#0f6b3d}.coachmark-actions,.coachmark-actions div{display:flex;align-items:center;gap:8px}.coachmark-actions{justify-content:space-between}.coachmark-actions div{justify-content:flex-end}.guide-backdrop{display:grid;place-items:center;padding:20px;background:#0a1c127a}.guide-panel{width:min(720px,100%);max-height:min(760px,calc(100vh - 40px));overflow-y:auto;border:1px solid #cfe0d5;border-radius:8px;padding:22px;background:#fff;box-shadow:0 28px 80px #0a1c1247}.guide-panel h2,.guide-panel h3,.guide-panel p{margin:0}.guide-steps{display:grid;gap:12px;margin:18px 0}.guide-step{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:14px;border:1px solid #e2ece6;border-radius:8px;background:#f8fbf9}.guide-step span{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;background:#0f6b3d;color:#fff;font-weight:850}.guide-step h3{font-size:1rem}.guide-step p,.guide-note{margin-top:5px;color:#53625a;line-height:1.45}.guide-note{margin-bottom:18px}@media (max-width: 1050px){.metric-grid,.dashboard-grid,.form-grid,.import-grid,.scenario-grid,.account-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.app-shell{padding:12px}.topbar,.hero-dashboard,.section-heading,.row-actions{align-items:flex-start;flex-direction:column}.top-actions{width:100%}.top-actions button{flex:1}.hero-dashboard{min-height:auto;padding:18px;gap:18px}.hero-dashboard h1{font-size:1.85rem}.hero-copy{font-size:.95rem}.score-ring{width:96px}.score-ring span{font-size:1.85rem}.tabs{display:none}.mobile-section-select{display:grid;gap:7px;margin-bottom:16px}.mobile-section-select span{color:#637067;font-size:.82rem;font-weight:750}.mobile-section-select select{min-height:44px;border:1px solid #cfded5;border-radius:8px;background:#fff;color:#142019;padding:.65rem .8rem}.guide-backdrop{align-items:end;padding:10px}.guide-panel{max-height:calc(100vh - 20px);padding:16px}.coachmark-card{right:10px!important;left:10px!important;top:auto!important;bottom:12px;width:auto!important;max-height:min(330px,calc(100vh - 24px));overflow-y:auto}.coachmark-actions,.coachmark-actions div{align-items:stretch;flex-direction:column}.coachmark-actions button{width:100%}.metric-grid,.dashboard-grid,.form-grid,.import-grid,.scenario-grid,.two-col,.mapping-grid{grid-template-columns:1fr}.metric{min-height:116px;padding:16px}.metric strong{font-size:1.75rem}.panel{padding:16px}.chart{min-height:210px}.bar-row,.failure-row{grid-template-columns:82px minmax(90px,1fr) 64px}.account-row{grid-template-columns:1fr}table{min-width:520px;font-size:.86rem}th,td{padding:.62rem .55rem}}@media (max-width: 430px){.app-shell{padding:10px}.topbar h1{font-size:1.25rem}.hero-dashboard h1{font-size:1.65rem}.bar-row,.failure-row{grid-template-columns:1fr;gap:6px}.bar-row strong,.failure-row strong{justify-self:start}.summary-list div,.scenario dl div{align-items:flex-start;flex-direction:column;gap:4px}.summary-list dd,.scenario dd{text-align:left}table{min-width:460px}}
