:root{--ink:#1e293b;--canvas:#f8fafc;--surface:#fff;--surface-shadow:#0000000d;--gradient-growth:linear-gradient(135deg, #34d399 0%, #0284c7 100%);--gradient-stability:linear-gradient(135deg, #38bdf8 0%, #0284c7 100%);--gradient-risk:linear-gradient(135deg, #f43f5e 0%, #be123c 100%);color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Avenir Next,Gill Sans,Trebuchet MS,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 11% 20%,#38bdf81f,#0000 35%),radial-gradient(circle at 90% 76%,#34d39924,#0000 37%),linear-gradient(#f8fafc 0%,#fff 100%);min-height:100vh;margin:0}#root{min-height:100vh}.app-shell{gap:1.1rem;width:min(1120px,94vw);margin:2rem auto;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;display:grid}.hero{color:#1e293b;background:radial-gradient(circle at 85% 12%,#38bdf824,#0000 38%),radial-gradient(circle at 15% 80%,#34d39924,#0000 42%),linear-gradient(132deg,#fff 0%,#f8fafc 48%,#fff 100%);border:1px solid #1e293b;border-radius:18px;padding:1.4rem;box-shadow:0 14px 34px #0000000d}.kicker{letter-spacing:.2em;text-transform:uppercase;color:#0284c7;margin:0;font-size:.8rem;font-weight:650}h1{color:#1e293b;max-width:14ch;margin:.3rem 0 .8rem;font-size:clamp(2rem,3vw,3.3rem);line-height:1.06}.subtitle{color:#334155;max-width:66ch;margin:0;font-size:1rem;line-height:1.45}.hero-journey{grid-template-columns:minmax(280px,1fr) minmax(360px,1.45fr);align-items:center;gap:1.2rem;display:grid}.hero-subline{color:#0284c7;margin:0 0 .6rem;font-size:clamp(1.15rem,1.6vw,1.7rem);font-weight:700}.active-domain-pill{color:#1e293b;background:#fff;border:1px solid #1e293b;border-radius:999px;align-items:center;gap:.45rem;margin:.8rem 0 0;padding:.28rem .68rem;font-size:.84rem;font-weight:620;display:inline-flex}.journey-track{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));align-items:start;gap:.7rem;display:grid}.journey-step{text-align:center}.journey-icon{width:38px;height:38px;display:inline-block}.journey-label{color:#1e293b;margin-top:.38rem;font-size:.8rem;font-weight:650;line-height:1.16;display:block}.domain-nav-card{background:linear-gradient(#f8fafcf5,#fffffff0)}.domain-nav-row{flex-wrap:wrap;gap:.6rem;display:flex}.domain-chip{color:#1e293b;background:#fff;border:1px solid #1e293b;border-radius:12px;justify-content:flex-start;align-items:center;gap:.48rem;height:48px;padding:.36rem .68rem;font-size:.84rem;font-weight:650;text-decoration:none;transition:all .16s;display:inline-flex}.domain-chip-icon{flex:none;width:30px;height:30px;display:block}.domain-chip-label{line-height:1}.domain-chip:hover{background:#38bdf814;border-color:#0284c7;transform:translateY(-1px)}.domain-chip-active{color:#1e293b;background:#38bdf824;border-color:#0284c7;box-shadow:0 0 0 2px #38bdf840}.summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;display:grid}.controls-grid,.details-grid,.options-grid{grid-template-columns:1fr;align-items:start;gap:1rem;display:grid}.flow-column{flex-direction:column;gap:1rem;display:flex}.flow-column:empty{display:none}.medical-domain-grid{gap:1.2rem}.medical-domain-card{min-height:420px;padding:1.2rem}.options-grid .collapsible-panel{width:100%;margin:0}.section-subtitle{letter-spacing:.04em;text-transform:uppercase;color:#334155;margin:1rem 0 .45rem;font-size:.88rem}.expense-group-title{color:#1e293b;margin:.9rem 0 .25rem;font-size:.92rem}.card{background:#fff;border:1px solid #1e293b2e;border-radius:14px;padding:1rem;box-shadow:0 8px 20px #0000000d}.card h2{text-transform:uppercase;letter-spacing:.06em;color:#1e293b;margin-top:0;margin-bottom:.65rem;font-size:1rem}.collapsible-panel summary{cursor:pointer;margin-bottom:.55rem;list-style:none}.collapsible-panel summary::-webkit-details-marker{display:none}.collapsible-panel[open] summary{border-bottom:1px solid #1e293b29;padding-bottom:.4rem}.value{color:#1e293b;margin:0;font-size:1.38rem;font-weight:700}.value.small{font-size:1.05rem}.meta{color:#475569;margin:.3rem 0;font-size:.92rem}.glossary-row{line-height:1.45}.equation-line{background:#38bdf814;border:1px solid #1e293b29;border-radius:10px;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:.7rem;margin-top:.5rem;padding:.7rem;display:grid}.equation-line span{color:#475569;margin-bottom:.2rem;font-size:.82rem;display:block}.equation-line strong{color:#1e293b;font-size:1.08rem}.equation-line .operator{color:#1e293b;font-size:1.2rem;font-weight:700}.positive{color:#0284c7}.negative{color:#be123c}.button-row{flex-wrap:wrap;gap:.6rem;margin-bottom:.85rem;display:flex}button,select{font:inherit}button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#38bdf8 0%,#0284c7 100%);border:0;border-radius:9px;padding:.55rem .8rem;font-weight:650;transition:transform .2s,filter .2s}button:hover{filter:brightness(1.07);transform:translateY(-1px)}button:disabled{opacity:.55;cursor:not-allowed;transform:none}button.secondary{background:linear-gradient(135deg,#34d399 0%,#0284c7 100%)}button.tertiary{background:#1e293b}label{color:#334155;margin-bottom:.4rem;font-size:.9rem;display:block}.info-tip{color:#1e293b;cursor:help;vertical-align:middle;background:#38bdf824;border:1px solid #1e293b4d;border-radius:999px;justify-content:center;align-items:center;width:1rem;height:1rem;margin-left:.4rem;font-size:.72rem;font-weight:700;display:inline-flex}.glossary-term{color:#1e293b;cursor:help;border-bottom:1px dotted #1e293bb3;font-weight:700;position:relative}.glossary-term:after{content:attr(data-tooltip);color:#f4fbfd;opacity:0;pointer-events:none;z-index:20;background:#1e293b;border-radius:8px;width:min(340px,72vw);padding:.55rem .65rem;font-size:.8rem;font-weight:500;line-height:1.35;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + 8px);left:0;transform:translateY(4px);box-shadow:0 8px 22px #0000003d}.glossary-term:hover:after,.glossary-term:focus-visible:after{opacity:1;transform:translateY(0)}select{background:#fff;border:1px solid #1e293b4d;border-radius:8px;width:100%;max-width:220px;padding:.48rem .5rem}.frugal-slider{accent-color:#0284c7;width:100%;max-width:280px}.ledger-list{gap:.38rem;margin:.8rem 0;padding:0;list-style:none;display:grid}.ledger-list li{border-bottom:1px dashed #1e293b38;justify-content:space-between;gap:1rem;padding:.38rem 0;display:flex}.ledger-list strong{color:#1e293b}.event-row{background:#f43f5e1a;border:1px solid #be123c73;border-radius:7px;padding-inline:.45rem}.event-row strong{color:#be123c}.list-total-row{background:#38bdf814;border-top:2px solid #1e293b59;border-bottom:0;border-radius:6px;margin-top:.2rem;padding-top:.55rem}.list-total-row span,.list-total-row strong{font-weight:700}.tax-box{border-left:3px solid #0284c7;margin-top:.6rem;padding-left:.7rem}.tax-box p{margin:.25rem 0;font-size:.92rem}.event-callout{background:#f43f5e14;border-left-color:#be123c;border-radius:8px;padding-top:.4rem;padding-bottom:.4rem}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid #1e293b33;padding:.4rem .35rem}td:last-child,th:last-child{text-align:right}th{color:#334155;font-weight:700}.table-total-row td{background:#38bdf814;border-top:2px solid #1e293b59;font-weight:700}.driver-list{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.driver-list li{background:#38bdf814;border:1px solid #1e293b33;border-radius:9px;justify-content:space-between;align-items:center;gap:.8rem;padding:.55rem .65rem;display:flex}.driver-label{color:#1e293b;margin:0 0 .15rem;font-size:.92rem;font-weight:700}.driver-detail{color:#475569;margin:0;font-size:.86rem}.driver-impact-up,.driver-impact-down{white-space:nowrap;border-radius:999px;padding:.24rem .56rem;font-size:.82rem;font-weight:700}.driver-impact-up{color:#0284c7;background:#34d3992e}.driver-impact-down{color:#be123c;background:#f43f5e29}.milestone-list{gap:.62rem;margin:0;padding:0;list-style:none;display:grid}.milestone-list li{background:#38bdf814;border:1px solid #1e293b33;border-radius:9px;justify-content:space-between;align-items:center;gap:.8rem;padding:.55rem .65rem;display:flex}.milestone-unlocked{background:#34d39929!important;border-color:#0284c773!important}.milestone-locked{background:#f43f5e1a!important;border-color:#be123c59!important}.blocked-reason-list{color:#be123c;gap:.2rem;margin:.35rem 0 .75rem;padding-left:1.05rem;font-size:.86rem;display:grid}.blocked-reason-list.compact{margin-top:.2rem;margin-bottom:.45rem;font-size:.8rem}.trend-chart-wrap{margin-bottom:.8rem}.trend-chart{background:#38bdf814;border:1px solid #1e293b33;border-radius:10px;width:100%;height:160px;display:block}.trend-axis{stroke:#1e293b73;stroke-width:.45px}.trend-line{fill:none;stroke:#0284c7;stroke-width:.9px;stroke-linecap:round;stroke-linejoin:round}.trend-point{fill:#0284c7}.chart-legend{margin-top:.2rem}.modal-backdrop{z-index:60;background:#0f172a9e;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border:1px solid #1e293b40;border-radius:14px;width:min(1100px,96vw);max-height:90vh;padding:1rem;overflow:auto;box-shadow:0 20px 48px #0000001f}.modal-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.modal-header h2{margin:0}.init-modal-card{width:min(760px,96vw)}.init-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.7rem;display:grid}.init-slider-grid{gap:.55rem;margin-top:.8rem;display:grid}.init-slider-grid input[type=range]{accent-color:#0284c7;width:100%}.init-summary-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.9rem;display:flex}.policy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-top:.75rem;display:grid}.policy-grid-single{grid-template-columns:1fr}.policy-section{background:#38bdf814;border:1px solid #1e293b24;border-radius:10px;padding:.65rem}.policy-option{background:#fff;border:1px solid #1e293b33;border-radius:8px;margin-bottom:.65rem;padding:.65rem}.policy-option:last-child{margin-bottom:0}.policy-option.selected{border-color:#0284c78c;box-shadow:0 0 0 2px #38bdf82e}.policy-option h4{color:#1e293b;margin:0 0 .35rem}.policy-summary-list{gap:.55rem;margin-bottom:.7rem;display:grid}.policy-summary-row{background:#ebf5f773;border:1px solid #1a515f2e;border-radius:10px;justify-content:space-between;align-items:center;gap:.8rem;padding:.5rem .6rem;display:flex}.policy-summary-row button{flex-shrink:0}.qualification-list{gap:.5rem;margin:.6rem 0 .8rem;padding:0;list-style:none;display:grid}.qualification-list li{background:#ebf5f773;border:1px solid #14485533;border-radius:8px;justify-content:space-between;align-items:center;gap:.7rem;padding:.5rem .6rem;display:flex}.qualification-list li span{color:#1f4a55;font-size:.86rem;font-weight:700}.qualification-list li strong{text-align:right;color:#2d545d;font-size:.82rem}.qualification-pass{background:#dcf3e7ad!important;border-color:#1c72486b!important}.qualification-fail{background:#c42c4a1a!important;border-color:#a11f3570!important}.step-indicator{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.6rem 0 .9rem;padding:0;list-style:none;display:grid}.step-item{background:#ebf5f7b3;border:1px solid #1a515f38;border-radius:999px;align-items:center;gap:.42rem;padding:.32rem .52rem;display:flex}.step-badge{color:#1e293b;background:#38bdf82e;border-radius:999px;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;font-size:.72rem;font-weight:700;display:inline-flex}.step-label{color:#334155;font-size:.8rem;font-weight:600}.step-item.active{background:#38bdf824;border-color:#0284c794}.step-item.active .step-badge{color:#fff;background:#0284c7}.step-item.done{background:#34d39929;border-color:#34d39973}.step-item.done .step-badge{color:#1e293b;background:#34d399}.step-item.todo{opacity:.82}@media (width<=980px){.hero-journey{grid-template-columns:1fr}.journey-track{grid-template-columns:repeat(3,minmax(0,1fr))}.domain-chip{justify-content:center;width:48px;padding:0}.domain-chip-label,.journey-step:nth-child(3):after,.journey-step:nth-child(6):after{display:none}.summary-grid,.policy-grid,.init-form-grid,.step-indicator{grid-template-columns:1fr}.policy-summary-row{flex-direction:column;align-items:flex-start}.equation-line{grid-template-columns:1fr}.equation-line .operator{justify-self:center}}
