:root{--bg-primary:#0a0f1d;--bg-secondary:#0e1526;--surface:#121b2e;--surface-elevated:#172238;--surface-hover:#1c2942;--text-primary:#f4f7fb;--text-secondary:#b2bed1;--text-muted:#74829a;--border:#24324a;--border-strong:#344562;--accent:#7c8cff;--accent-soft:#202a55;--success:#58d6a4;--warning:#f0bb66;--critical:#ff7385;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--shadow-sm:0 8px 24px rgba(0,0,0,.16);--shadow-lg:0 24px 64px rgba(0,0,0,.3);--transition-fast:160ms ease;--transition-base:260ms cubic-bezier(.2,.8,.2,1);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg-primary)}body{margin:0;color:var(--text-primary);background:radial-gradient(circle at 85% 0,rgba(68,81,150,.13),transparent 32rem),var(--bg-primary);font-size:15px;line-height:1.5}button,input{font:inherit}button,a{transition:color var(--transition-fast),background var(--transition-fast),border var(--transition-fast),transform var(--transition-fast)}a{color:inherit;text-decoration:none}button{color:inherit}button:active{transform:translateY(1px)}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 65%,transparent);outline-offset:3px}h1,h2,p{margin-top:0}h1{margin-bottom:6px;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.12;letter-spacing:-.04em}h2{margin:3px 0;font-size:1.15rem;letter-spacing:-.02em}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;padding:24px 16px;border-right:1px solid var(--border);background:rgba(10,15,29,.88);backdrop-filter:blur(16px);display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-weight:750;letter-spacing:-.02em;padding:5px 9px 26px}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--accent);color:#0c1022;font-weight:900}.sidebar nav{display:grid;gap:5px}.nav-link{width:100%;border:0;background:none;border-radius:var(--radius-md);padding:11px 12px;display:flex;align-items:center;gap:11px;color:var(--text-secondary);cursor:pointer}.nav-link:hover,.nav-link.is-active{background:var(--surface-elevated);color:var(--text-primary)}.nav-link.is-active{box-shadow:inset 2px 0 var(--accent)}.sidebar-logout{margin-top:auto}.main{margin-left:220px;padding:42px clamp(24px,4vw,64px) 72px;max-width:1720px}.mobile-header,.mobile-nav{display:none}.page-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.page-head p{color:var(--text-secondary);margin:6px 0 0}.eyebrow,.label{display:block;color:var(--text-muted);font-size:.72rem;font-weight:760;letter-spacing:.13em;text-transform:uppercase}.panel{background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,#fff 6%),var(--surface));border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.panel:hover{border-color:var(--border-strong)}.button{border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:11px 16px;background:var(--surface-elevated);cursor:pointer;font-weight:700}.button:hover{background:var(--surface-hover)}.button--primary{background:var(--accent);border-color:var(--accent);color:#0b1020;box-shadow:0 10px 28px rgba(124,140,255,.2)}.button--primary:hover{background:#92a0ff}.button--ghost{background:transparent}.button--wide{width:100%;display:flex;justify-content:center;gap:10px}.money-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:18px}.balance-hero{padding:clamp(24px,4vw,42px)}.hero-money{display:block;margin:8px 0 34px;font-size:clamp(2.8rem,6vw,5.4rem);letter-spacing:-.065em;line-height:1;font-variant-numeric:tabular-nums}.metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric-row div{border-left:1px solid var(--border);padding-left:14px}.metric-row span,.obligation span{display:block;color:var(--text-muted);font-size:.8rem}.metric-row b{font-size:1rem;font-variant-numeric:tabular-nums}.critical-text{color:var(--critical)}.safe-card{padding:32px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;position:relative}.safe-card:after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-60px;top:-60px;background:currentColor;opacity:.06}.safe-card>div{margin:20px 0 8px}.safe-card strong{font-size:clamp(2.2rem,4vw,3.8rem);display:block;letter-spacing:-.055em;line-height:1}.safe-card>div span,.safe-card p{color:var(--text-secondary)}.safe-card--normal{color:var(--success)}.safe-card--warning{color:var(--warning)}.safe-card--critical{color:var(--critical)}.dashboard-grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:18px;margin-top:18px}.pace-card,.chart-card,.obligations-card,.planning-grid>.panel{padding:26px}.pace-card header,.chart-card header,.obligations-card header,.planning-grid article>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.status{font-size:.68rem;font-weight:800;border-radius:999px;padding:5px 9px}.status--normal{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent)}.status--warning{color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,transparent)}.status--critical{color:var(--critical);background:color-mix(in srgb,var(--critical) 12%,transparent)}.pace-bars{display:grid;gap:22px;margin-top:30px}.pace-bars span{display:flex;justify-content:space-between;color:var(--text-secondary)}.pace-bars i{display:block;height:7px;margin-top:9px;background:var(--bg-secondary);border-radius:99px;overflow:hidden}.pace-bars em{display:block;width:var(--progress);height:100%;background:var(--accent);border-radius:99px}.chart-card{min-height:330px}.chart{height:250px;margin-top:14px}.chart svg{width:100%;height:100%;overflow:visible}.chart-grid{stroke:var(--border);stroke-width:1}.chart-area{fill:url(#area-fill)}.chart-line{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:var(--surface);stroke:var(--accent);stroke-width:3;cursor:pointer}.chart-today{stroke:var(--text-muted);stroke-dasharray:4 5}.chart-label{fill:var(--text-muted);font-size:11px}.chart-tooltip{position:fixed;pointer-events:none;padding:8px 11px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-elevated);box-shadow:var(--shadow-lg);font-size:.78rem;opacity:0;transform:translateY(4px);transition:var(--transition-fast);z-index:50}.chart-tooltip.is-visible{opacity:1;transform:none}.obligations-card{grid-column:1/-1}.obligation-list{margin-top:18px}.obligation{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:20px;padding:15px 4px;border-top:1px solid var(--border)}.obligation.is-overdue strong,.obligation.is-overdue span{color:var(--critical)}.chip{border:1px solid var(--border);border-radius:999px;background:transparent;padding:6px 10px;font-size:.78rem;cursor:pointer}.chip:hover{border-color:var(--accent);color:var(--accent)}.empty{color:var(--text-muted);text-align:center;padding:38px 14px}.notice{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;margin-bottom:18px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:var(--radius-lg)}.notice p{margin:2px 0;color:var(--text-secondary)}.modal{padding:0;border:0;background:transparent;max-width:none}.modal::backdrop{background:rgba(4,8,16,.76);backdrop-filter:blur(5px)}.modal[open]{animation:fade-in .2s ease}.modal-card{width:min(480px,calc(100vw - 28px));padding:28px;background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:grid;gap:18px}.modal-head{display:flex;justify-content:space-between}.icon-button{width:36px;height:36px;border:1px solid var(--border);border-radius:50%;background:transparent;cursor:pointer;font-size:1.3rem}.modal label,.onboarding-card label,.form-grid label{display:grid;gap:7px;color:var(--text-secondary);font-size:.84rem;font-weight:650}input{width:100%;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);padding:12px 13px}input:hover,input:focus{border-color:var(--border-strong)}.money-field{position:relative}.money-field input{padding-right:42px}.money-field span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.money-field--hero input{font-size:1.6rem;font-weight:760}.toast{position:fixed;top:22px;right:28px;z-index:80;max-width:360px;padding:13px 16px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-elevated);box-shadow:var(--shadow-lg);animation:toast-in .35s var(--transition-base)}.toast--success{border-left:3px solid var(--success)}.toast--error{border-left:3px solid var(--critical)}.onboarding{min-height:calc(100vh - 120px);display:grid;grid-template-columns:1fr minmax(360px,520px);gap:clamp(30px,8vw,110px);align-items:center;max-width:1100px;margin:auto}.onboarding-copy h1{font-size:clamp(2.7rem,6vw,5.8rem);max-width:680px;margin-top:12px}.onboarding-copy>p{max-width:520px;color:var(--text-secondary);font-size:1.1rem}.onboarding-note{margin-top:36px;display:flex;gap:15px;max-width:500px;padding:16px;border-left:2px solid var(--accent);background:var(--accent-soft)}.onboarding-note span{color:var(--text-secondary)}.onboarding-card{padding:32px;display:grid;gap:22px}.onboarding-card details{border-block:1px solid var(--border);padding:14px 0}.onboarding-card summary{cursor:pointer;color:var(--text-secondary);margin-bottom:12px}.onboarding-card small{color:var(--text-muted);font-weight:400}.planning-grid{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(460px,1.25fr);gap:18px}.form-grid{display:grid;gap:16px;margin-top:22px}.form-grid.compact{grid-template-columns:1fr 1fr;padding:16px 2px}.check{display:flex!important;align-items:center;gap:9px!important}.check input{width:auto}.planning-item{border-top:1px solid var(--border)}.planning-item summary{display:flex;justify-content:space-between;align-items:center;padding:17px 2px;cursor:pointer}.planning-item summary span{display:block;color:var(--text-muted);font-size:.78rem}.muted{color:var(--text-muted);font-size:.8rem}@keyframes fade-in{from{opacity:0;transform:translateY(12px)}}@keyframes toast-in{from{opacity:0;transform:translateY(-10px)}}
@media(max-width:980px){.sidebar{display:none}.main{margin-left:0;padding:24px 20px 90px}.mobile-header{display:block;margin-bottom:24px}.mobile-header .brand{padding:0}.mobile-nav{position:fixed;display:grid;grid-template-columns:1fr 1fr;z-index:30;bottom:0;left:0;right:0;background:rgba(14,21,38,.95);border-top:1px solid var(--border);backdrop-filter:blur(16px)}.mobile-nav a{text-align:center;padding:14px;color:var(--text-muted)}.mobile-nav a.is-active{color:var(--text-primary);box-shadow:inset 0 2px var(--accent)}.onboarding{grid-template-columns:1fr;min-height:auto}.onboarding-copy h1{font-size:3.4rem}.planning-grid{grid-template-columns:1fr}}
@media(max-width:720px){.main{padding-inline:14px}.page-head{align-items:flex-start}.page-head .button{position:fixed;right:16px;bottom:72px;z-index:25;box-shadow:var(--shadow-lg)}.money-grid,.dashboard-grid{grid-template-columns:1fr}.balance-hero{padding:24px}.hero-money{font-size:3.25rem;margin-bottom:25px}.metric-row{grid-template-columns:1fr 1fr;gap:20px}.safe-card{min-height:220px}.chart-card{min-height:300px}.obligation{grid-template-columns:1fr auto;gap:10px}.obligation form{grid-column:2}.notice{align-items:flex-start;flex-direction:column}.onboarding-copy h1{font-size:2.6rem}.onboarding-card{padding:23px}.form-grid.compact{grid-template-columns:1fr}.toast{left:14px;right:14px;top:14px}.planning-grid>.panel,.pace-card,.chart-card,.obligations-card{padding:20px}}
.login-layout{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr}.login-intro{padding:clamp(32px,7vw,100px);display:flex;flex-direction:column;justify-content:space-between}.login-intro .brand{padding:0}.login-intro__copy h1{font-size:clamp(3.5rem,7vw,7.5rem);line-height:.9}.login-intro__copy h1 span{color:var(--accent)}.lead,.privacy-note,.login-card__header p{color:var(--text-secondary)}.login-panel{display:grid;place-items:center;padding:30px;background:var(--bg-secondary);border-left:1px solid var(--border)}.login-card{width:min(430px,100%);padding:34px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-lg)}.login-form{display:grid;gap:14px;margin-top:26px}.password-field{position:relative}.password-field input{padding-right:90px}.reveal{position:absolute;right:8px;top:8px;border:0;background:none;color:var(--text-secondary);padding:6px;cursor:pointer}.alert{padding:11px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--critical) 12%,transparent);color:var(--critical)}@media(max-width:760px){.login-layout{grid-template-columns:1fr}.login-intro{min-height:38vh;padding:30px}.login-intro__copy h1{font-size:3.2rem}.privacy-note{display:none}.login-panel{border:0;padding:18px 18px 40px}}
:root{--chart-current:var(--accent);--chart-previous:#76839a;--chart-projection:var(--text-muted)}.comparison-card{grid-column:1/-1;min-height:470px}.comparison-head{align-items:flex-start}.comparison-head>div:first-child{max-width:620px}.comparison-delta{display:block;margin-top:12px;font-size:clamp(1.8rem,3vw,3rem);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.comparison-delta--better{color:var(--success)}.comparison-delta--worse{color:var(--warning)}.comparison-delta--similar{color:var(--text-primary)}.chart-legend{display:flex;gap:18px;color:var(--text-secondary);font-size:.78rem;white-space:nowrap}.chart-legend span:before{content:"";display:inline-block;width:28px;margin-right:7px;vertical-align:middle;border-top:3px solid var(--chart-current)}.chart-legend .legend-previous:before{border-color:var(--chart-previous);border-top-style:dashed}.chart-gradient-start{stop-color:var(--chart-current);stop-opacity:.28}.chart-gradient-end{stop-color:var(--chart-current);stop-opacity:0}.chart-line--current{stroke:var(--chart-current)}.chart-line--previous{stroke:var(--chart-previous);stroke-width:2;stroke-dasharray:7 7}.chart-point--current{stroke:var(--chart-current)}.chart-point--previous{stroke:var(--chart-previous)}.projection{display:flex;align-items:center;gap:16px;margin-top:16px;padding:17px 18px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary)}.projection p{flex:1;margin:0}.projection>span:last-child{font-size:.8rem;color:var(--text-muted)}.chart-tooltip div{display:grid;grid-template-columns:1fr auto;gap:3px 14px;margin-top:6px}.chart-tooltip span{color:var(--text-secondary)}@media(max-width:720px){.comparison-head{display:grid!important}.chart-legend{gap:12px;white-space:normal}.comparison-card{min-height:520px}.comparison-card .chart{margin-inline:-12px}.projection{align-items:flex-start;display:grid;gap:5px}.comparison-delta{font-size:2rem}}
.cash-flow{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:var(--space-5);align-items:center;margin-bottom:18px;padding:22px 26px}.cash-flow>div{display:grid;gap:3px}.cash-flow span,.cash-flow small{color:var(--text-muted);font-size:.78rem}.cash-flow strong{font-size:1.7rem}.cash-flow-safe{padding:14px;border-radius:var(--radius-md);background:var(--accent-soft)}.income-panel{padding:26px;margin-bottom:18px}.income-panel>header,.income-item summary,.income-builder header{display:flex;justify-content:space-between;align-items:center}.income-item{border-top:1px solid var(--border);padding:14px 0}.income-item summary{cursor:pointer}.income-item summary span{display:block;color:var(--text-muted);font-size:.78rem}.income-item>form:last-child{margin-top:8px}.income-builder{display:grid;gap:12px}.income-form-row{display:grid;grid-template-columns:1.2fr 1fr 1fr auto 1fr auto;gap:10px;align-items:end;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md)}@media(max-width:980px){.cash-flow{grid-template-columns:1fr 1fr}.income-form-row{grid-template-columns:1fr 1fr}}@media(max-width:620px){.cash-flow{grid-template-columns:1fr}.income-form-row{grid-template-columns:1fr}.income-builder header{align-items:flex-start;gap:10px}.income-builder header .button{position:static}}
:root{--scenario-safe:var(--success);--scenario-warning:var(--warning);--scenario-danger:#ff9566;--scenario-critical:var(--critical);--scenario-line:var(--warning)}.page-actions{display:flex;gap:var(--space-3)}.scenario-page-head p{margin:4px 0 0;color:var(--text-secondary)}.scenario-input-card{padding:var(--space-6);margin-bottom:18px;background:linear-gradient(110deg,var(--surface-elevated),var(--surface))}.scenario-input-card form{max-width:720px}.scenario-input-card label{display:block;margin-bottom:var(--space-2);color:var(--text-secondary);font-weight:700}.scenario-input-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:var(--space-3)}.money-field--scenario input{font-size:clamp(1.7rem,4vw,2.6rem);font-weight:800;padding-block:15px}.scenario-chips{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-3)}.form-error{color:var(--critical);margin:var(--space-2) 0 0}.scenario-empty{text-align:center;padding:70px 24px}.scenario-empty p{color:var(--text-secondary)}.scenario-orbit{display:inline-block;width:68px;height:68px;border:1px solid var(--border-strong);border-radius:50%;box-shadow:inset 0 0 0 16px var(--accent-soft);position:relative}.scenario-orbit:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--accent);top:3px;left:9px}.scenario-result{border:1px solid var(--border-strong);border-radius:var(--radius-xl);overflow:hidden;margin-bottom:18px;background:var(--surface)}.scenario-status{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border)}.scenario-status h2{margin:3px 0}.scenario-status>strong{font-size:clamp(1.8rem,4vw,3rem)}.scenario-status-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font-size:1.35rem;font-weight:900;border:1px solid currentColor}.scenario-result--safe .scenario-status{color:var(--scenario-safe);background:color-mix(in srgb,var(--scenario-safe) 8%,transparent)}.scenario-result--warning .scenario-status{color:var(--scenario-warning);background:color-mix(in srgb,var(--scenario-warning) 9%,transparent)}.scenario-result--danger .scenario-status{color:var(--scenario-danger);background:color-mix(in srgb,var(--scenario-danger) 9%,transparent)}.scenario-result--critical .scenario-status{color:var(--scenario-critical);background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--scenario-critical) 10%,transparent) 0 10px,transparent 10px 20px)}.scenario-before-after{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-5);align-items:center;padding:var(--space-6)}.scenario-before-after article{display:grid;gap:3px}.scenario-before-after article>span,.scenario-before-after small{color:var(--text-muted)}.scenario-before-after strong{font-size:clamp(2.1rem,5vw,4.7rem);line-height:1;letter-spacing:-.055em;overflow-wrap:anywhere}.scenario-after strong{color:var(--accent)}.impact-arrow{font-size:2rem;color:var(--text-muted)}.scenario-label{display:inline-flex!important;width:max-content;padding:3px 7px;border:1px dashed var(--warning);border-radius:99px;color:var(--warning)!important}.scenario-chart-card{padding:var(--space-6);margin-bottom:18px}.scenario-chart-card>header{display:flex;justify-content:space-between;gap:var(--space-4)}.legend-actual:before{border-color:var(--chart-current)!important}.legend-scenario:before{border-color:var(--scenario-line)!important;border-top-style:dashed!important}.scenario-zones{display:flex;justify-content:flex-end;gap:var(--space-4);font-size:.7rem;color:var(--text-muted);margin-top:var(--space-3)}.scenario-zones span:before{content:"";display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:3px;background:color-mix(in srgb,var(--warning) 18%,transparent);border:1px solid var(--warning)}.scenario-zones span:last-child:before{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--critical) 30%,transparent) 0 2px,transparent 2px 4px);border-color:var(--critical)}.chart-line--actual{stroke:var(--chart-current)}.chart-point--actual{stroke:var(--chart-current)}.chart-line--scenario{stroke:var(--scenario-line);stroke-dasharray:9 7}.chart-point--scenario{stroke:var(--scenario-line);fill:var(--surface-elevated)}.chart-risk-warning{fill:color-mix(in srgb,var(--warning) 7%,transparent)}.chart-risk-critical{fill:url(#critical-pattern)}.chart-risk-label{fill:var(--text-muted);font-size:10px}.scenario-chart-note{color:var(--text-muted);font-size:.78rem}.scenario-impact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.scenario-impact-grid>.panel{padding:var(--space-5)}.scenario-impact-primary{grid-row:span 2}.impact-values,.projected-impact>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-3);margin:var(--space-5) 0}.impact-values>span,.impact-values>strong,.projected-impact>div>span,.projected-impact>div>strong{font-size:clamp(1.25rem,2.5vw,2rem)}.impact-values strong,.projected-impact strong{color:var(--accent)}.impact-delta,.projected-impact p{color:var(--warning)}.scenario-impact-primary footer{padding-top:var(--space-4);border-top:1px solid var(--border);color:var(--text-secondary)}.obligation-impact>strong{display:block;font-size:2rem;margin:var(--space-2) 0}.obligation-impact.is-covered p{color:var(--success)}.obligation-impact.is-uncovered{border-color:color-mix(in srgb,var(--critical) 55%,var(--border));background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--critical) 7%,transparent) 0 10px,transparent 10px 20px)}.obligation-impact.is-uncovered p,.obligation-impact.is-uncovered>b,.projected-impact em{color:var(--critical)}.compact-deltas{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.compact-deltas div{display:grid}.compact-deltas span,.compact-deltas small{color:var(--text-muted)}.compact-deltas strong{font-size:1.45rem}.no-data{display:block;margin-top:var(--space-4)}
@media(max-width:720px){.page-actions{display:grid}.page-actions .button--ghost{display:none}.scenario-page-head{display:grid}.scenario-page-head .button{position:static}.scenario-input-card,.scenario-chart-card{padding:20px}.scenario-input-row{grid-template-columns:1fr}.scenario-input-row .button{min-height:50px}.scenario-status{grid-template-columns:auto 1fr;padding:18px}.scenario-status>strong{grid-column:1/-1}.scenario-before-after{grid-template-columns:1fr;padding:22px}.impact-arrow{transform:rotate(90deg);width:max-content}.scenario-impact-grid{grid-template-columns:1fr}.scenario-impact-primary{grid-row:auto}.scenario-chart-card .chart{margin-inline:-10px}.scenario-chart-card>header{display:grid}.scenario-zones{justify-content:flex-start}.compact-deltas{grid-template-columns:1fr 1fr}.mobile-nav{grid-template-columns:repeat(3,1fr)}}
:root{--state-good-bg:color-mix(in srgb,var(--success) 8%,transparent);--state-good-surface:color-mix(in srgb,var(--surface) 90%,var(--success));--state-good-border:color-mix(in srgb,var(--success) 52%,var(--border));--state-good-text:var(--success);--state-good-chart:var(--success);--state-normal-bg:var(--surface);--state-normal-surface:var(--surface-elevated);--state-normal-border:var(--border-strong);--state-normal-text:var(--text-primary);--state-normal-chart:var(--accent);--state-warning-bg:color-mix(in srgb,var(--warning) 9%,transparent);--state-warning-surface:color-mix(in srgb,var(--surface) 92%,var(--warning));--state-warning-border:color-mix(in srgb,var(--warning) 55%,var(--border));--state-warning-text:var(--warning);--state-warning-chart:var(--warning);--state-danger-bg:color-mix(in srgb,#ff9566 10%,transparent);--state-danger-surface:color-mix(in srgb,var(--surface) 92%,#ff9566);--state-danger-border:color-mix(in srgb,#ff9566 60%,var(--border));--state-danger-text:#ff9566;--state-danger-chart:#ff9566;--state-critical-bg:color-mix(in srgb,var(--critical) 12%,transparent);--state-critical-surface:color-mix(in srgb,var(--surface) 88%,var(--critical));--state-critical-border:color-mix(in srgb,var(--critical) 72%,var(--border));--state-critical-text:var(--critical);--state-critical-chart:var(--critical)}.scenario-head-tools{display:flex;align-items:center;gap:var(--space-3)}.tone-switch{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary)}.tone-switch>span{padding:0 8px;color:var(--text-muted);font-size:.7rem}.tone-switch button{border:0;border-radius:var(--radius-sm);padding:7px 9px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.75rem}.tone-switch button.is-active{background:var(--surface-elevated);color:var(--text-primary);box-shadow:var(--shadow-sm)}.scenario-status h2{font-size:1.55rem}.scenario-result--good{border-color:var(--state-good-border);background:var(--state-good-surface)}.scenario-result--good .scenario-status{color:var(--state-good-text);background:var(--state-good-bg)}.scenario-result--normal .scenario-status{color:var(--state-normal-text);background:var(--state-normal-bg)}.scenario-result--warning{border-color:var(--state-warning-border)}.scenario-result--warning .scenario-status{color:var(--state-warning-text);background:var(--state-warning-bg)}.scenario-result--danger{border-color:var(--state-danger-border);background:var(--state-danger-surface)}.scenario-result--danger .scenario-status{color:var(--state-danger-text);background:repeating-linear-gradient(135deg,var(--state-danger-bg) 0 10px,transparent 10px 20px)}.scenario-result--critical{border-color:var(--state-critical-border);background:var(--state-critical-surface);box-shadow:0 0 0 1px var(--state-critical-border),var(--shadow-lg)}.scenario-result--critical .scenario-status{color:var(--state-critical-text);background:repeating-linear-gradient(135deg,var(--state-critical-bg) 0 8px,transparent 8px 16px)}.scenario-message{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:start;margin-top:var(--space-4);padding:var(--space-4);border-left:2px solid currentColor;border-radius:var(--radius-sm);background:var(--bg-secondary)}.scenario-message span{color:var(--text-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.scenario-message p{margin:0;font-size:1rem;color:var(--text-secondary)}
.scenario-chart-card--good .chart-line--scenario,.scenario-chart-card--good .chart-point--scenario{stroke:var(--state-good-chart)}.scenario-chart-card--warning .chart-line--scenario,.scenario-chart-card--warning .chart-point--scenario{stroke:var(--state-warning-chart)}.scenario-chart-card--danger .chart-line--scenario,.scenario-chart-card--danger .chart-point--scenario{stroke:var(--state-danger-chart)}.scenario-chart-card--critical .chart-line--scenario,.scenario-chart-card--critical .chart-point--scenario{stroke:var(--state-critical-chart)}.scenario-after--below-free strong{color:var(--state-critical-text)}.scenario-after--below-free .scenario-label{border-color:var(--state-critical-border);color:var(--state-critical-text)!important;background:var(--state-critical-bg)}.projected-impact.is-deficit{border-color:var(--state-danger-border);background:repeating-linear-gradient(135deg,var(--state-danger-bg) 0 10px,transparent 10px 20px)}.projected-impact.is-deficit strong,.projected-impact.is-deficit em{color:var(--state-danger-text);font-weight:800}
@media(max-width:720px){.scenario-head-tools{display:grid;width:100%}.tone-switch{display:grid;grid-template-columns:1fr 1fr}.tone-switch>span{grid-column:1/-1;padding:5px}.scenario-message{grid-template-columns:1fr}.scenario-message p{overflow-wrap:anywhere}.scenario-result--critical .scenario-before-after{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--critical) 4%,transparent) 0 12px,transparent 12px 24px)}}
.onboarding-card{min-width:0;overflow:hidden}.onboarding-card .income-builder{min-width:0}.onboarding-card .income-builder>header{gap:var(--space-3);flex-wrap:wrap}.onboarding-card .income-form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}.onboarding-card .income-form-row>*{min-width:0}.onboarding-card .income-form-row .check{min-height:45px}.onboarding-card .income-form-row .icon-button{justify-self:end}@media(max-width:620px){.onboarding-card .income-form-row{grid-template-columns:1fr}.onboarding-card .income-form-row .icon-button{justify-self:start}}
.history-head{align-items:flex-end}.period-selector{display:flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary)}.period-selector a{padding:7px 10px;border-radius:var(--radius-sm);color:var(--text-muted);font-size:.78rem;white-space:nowrap}.period-selector a.is-active{color:var(--text-primary);background:var(--surface-elevated)}.history-empty{padding:70px;text-align:center}.history-hero{padding:var(--space-6);min-height:520px}.history-hero>header,.trend-focus>header,.yoy-card>header{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start}.history-legend{display:flex;gap:var(--space-4);color:var(--text-secondary);font-size:.75rem}.history-legend span:before{content:"";display:inline-block;width:20px;margin-right:6px;vertical-align:middle;border-top:3px solid}.history-legend .is-income:before{border-color:var(--success)}.history-legend .is-spent:before{border-color:var(--warning)}.history-legend .is-remaining:before{height:8px;border:0;border-radius:3px;background:var(--accent)}.history-chart{height:390px;margin-top:var(--space-5);position:relative}.history-chart svg,.history-spark svg{width:100%;height:100%;overflow:visible}.history-line{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.history-line--income{stroke:var(--success)}.history-line--spent{stroke:var(--warning)}.history-bar{fill:var(--accent);opacity:.22}.history-dot{fill:var(--surface);stroke-width:3;cursor:pointer}.history-dot--income{stroke:var(--success)}.history-dot--spent{stroke:var(--warning)}.history-hero>footer{display:flex;gap:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border);color:var(--text-secondary)}.history-secondary{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:18px;margin-top:18px}.trend-focus,.history-extremes,.yoy-card{padding:var(--space-5)}.trend-delta{font-size:1.6rem}.trend-delta.is-good{color:var(--success)}.trend-delta.is-warning{color:var(--warning)}.history-spark{height:170px;margin-top:var(--space-4)}.history-extremes>div{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-4)}.history-extremes p{display:grid;color:var(--text-muted);font-size:.75rem}.history-extremes strong{color:var(--text-primary);font-size:1rem}.yoy-card{margin-top:18px}.yoy-card h2 span{color:var(--text-muted);font-weight:500}.status--available{color:var(--success);background:var(--state-good-bg)}.status--partial{color:var(--warning);background:var(--state-warning-bg)}.status--no_data{color:var(--text-muted);background:var(--bg-secondary)}.yoy-visual{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:var(--space-5);background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.yoy-visual article{padding:var(--space-5);background:var(--surface)}.yoy-visual article>span{color:var(--text-muted);font-size:.75rem}.yoy-visual article>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-2);margin:var(--space-4) 0}.yoy-visual small{color:var(--text-muted)}.yoy-visual strong{font-size:1.35rem;overflow-wrap:anywhere}.yoy-visual b.is-positive{color:var(--success)}.yoy-visual b.is-negative{color:var(--warning)}.yoy-insight{margin:var(--space-4) 0 0;color:var(--text-secondary)}@media(max-width:980px){.mobile-nav{grid-template-columns:repeat(4,1fr)}.history-secondary{grid-template-columns:1fr}}@media(max-width:720px){.history-head{align-items:flex-start}.period-selector{width:100%;overflow-x:auto}.history-hero,.trend-focus,.history-extremes,.yoy-card{padding:20px}.history-hero{min-height:430px}.history-hero>header{display:grid}.history-legend{flex-wrap:wrap}.history-chart{height:300px;margin-inline:-12px}.history-chart .chart-label{font-size:9px}.history-hero>footer{display:grid;gap:4px}.yoy-visual{grid-template-columns:1fr}.history-extremes>div{grid-template-columns:1fr 1fr}.yoy-card>header{display:grid}.mobile-nav a{padding-inline:5px;font-size:.76rem}}

.history-dot.is-current{stroke-width:5}.history-bar.is-current{opacity:.42;stroke:var(--accent);stroke-width:2}
.yoy-card--good{border-color:var(--state-good-border)}.yoy-card--warning{border-color:var(--state-warning-border)}.yoy-card--danger,.yoy-card--critical{border-color:var(--state-danger-border)}
.field-label{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap}.help-tooltip{position:relative;display:inline-flex;vertical-align:middle}.help-trigger{display:grid;place-items:center;width:20px;height:20px;padding:0;border:1px solid var(--border-strong);border-radius:50%;background:var(--bg-secondary);color:var(--text-muted);font:700 .7rem/1 inherit;cursor:help}.help-trigger:hover,.help-trigger:focus-visible,.help-tooltip.is-open .help-trigger{color:var(--text-primary);border-color:var(--accent);outline:none}.help-popover{position:absolute;z-index:50;left:50%;bottom:calc(100% + 10px);width:min(290px,calc(100vw - 28px));padding:12px 14px;transform:translate(-50%,5px);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-elevated);box-shadow:var(--shadow-lg);color:var(--text-secondary);font-size:.78rem;font-weight:400;line-height:1.45;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-fast),transform var(--duration-fast)}.help-tooltip:hover .help-popover,.help-tooltip.is-focus .help-popover,.help-tooltip.is-open .help-popover{opacity:1;visibility:visible;transform:translate(-50%,0)}.income-actual-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;grid-column:1/-1;padding:12px;border-left:2px solid var(--success);background:var(--state-good-bg);border-radius:var(--radius-sm)}.income-actual-fields[hidden]{display:none}.income-fact{color:var(--success)!important}.income-item summary>div{min-width:0}.income-item summary b{overflow-wrap:anywhere}.income-edit{margin-top:12px}@media(max-width:620px){.income-actual-fields{grid-template-columns:1fr}.help-popover{position:fixed;left:14px;right:14px;bottom:18px;width:auto;transform:translateY(8px)}.help-tooltip:hover .help-popover,.help-tooltip.is-focus .help-popover,.help-tooltip.is-open .help-popover{transform:none}.onboarding-card{padding:20px}.onboarding-card .field-label{align-items:flex-start}.income-item summary{gap:10px}.income-item summary b{font-size:.9rem}}
/* Stabilization: wrapping label text and its contextual control form one row. */
.field-label{display:flex;flex-wrap:nowrap;align-items:flex-start;max-width:100%;min-width:0}.field-label-text{min-width:0;overflow-wrap:anywhere}.field-label>.help-tooltip{flex:0 0 auto;margin-top:1px}.help-trigger{flex-shrink:0}
.rollover{max-width:920px;margin:0 auto}.rollover-copy{margin-bottom:18px}.rollover-copy p{max-width:650px;color:var(--text-secondary)}.rollover-suggestion{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;margin-bottom:18px}.rollover-suggestion>div{display:grid;gap:3px}.rollover-suggestion strong{font-size:clamp(1.7rem,4vw,2.6rem)}.rollover-suggestion small{color:var(--text-muted)}.rollover-suggestion.is-stale{border-color:var(--state-warning-border);background:var(--state-warning-bg)}.rollover-suggestion.is-stale p{max-width:360px;color:var(--warning)}.rollover-card{padding:28px}.rollover-card>.income-builder{margin:28px 0}.rollover-card .income-form-row{grid-template-columns:1.2fr 1fr 1fr auto}@media(max-width:720px){.rollover{width:100%}.rollover-suggestion{display:grid;gap:12px}.rollover-card{padding:20px}.rollover-card .income-form-row{grid-template-columns:1fr}.rollover-card>.button{width:100%}}
/* Premium Financial HUD / chart system */
:root{--chart-glow-subtle:5px;--chart-glow-soft:10px;--chart-glow-strong:18px;--chart-line-width:2.5px;--chart-line-active-width:3.5px;--chart-grid-opacity:.18;--chart-area-opacity:.24;--chart-risk-pattern-opacity:.14;--hud-separator:color-mix(in srgb,var(--accent) 28%,var(--border))}.hero-money,.scenario-before-after strong,.comparison-delta,.cash-flow strong,.yoy-visual strong{font-variant-numeric:tabular-nums;letter-spacing:-.035em}.chart-card,.history-hero,.scenario-chart-card{position:relative;border-color:var(--hud-separator);background:radial-gradient(circle at 72% 5%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 42%),var(--surface);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--accent) 12%,transparent),var(--shadow-md)}.chart-card:before,.history-hero:before,.scenario-chart-card:before{content:"";position:absolute;inset:0 24px auto;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.25}.chart svg,.history-chart svg,.history-spark svg{overflow:visible}.chart-grid{opacity:var(--chart-grid-opacity);stroke:color-mix(in srgb,var(--accent) 24%,var(--border))}.chart-line,.history-line{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.chart-line-main{stroke-width:var(--chart-line-active-width)}.chart-line-glow{pointer-events:none}.chart-line-glow--soft{stroke-width:12;opacity:.1}.chart-line-glow--core{stroke-width:7;opacity:.18}.chart-line--previous.chart-line-glow{display:none}.chart-line--previous{opacity:.48;stroke-width:1.8}.chart-area--liquid{opacity:var(--chart-area-opacity);animation:hud-area-in .65s ease-out both}.chart-gradient-start{stop-color:var(--chart-current);stop-opacity:.55}.chart-gradient-mid{stop-color:var(--chart-current);stop-opacity:.18}.chart-gradient-end{stop-color:var(--chart-current);stop-opacity:0}.chart-line-main{stroke-dasharray:1200;stroke-dashoffset:1200;animation:hud-line-in .85s cubic-bezier(.2,.75,.25,1) forwards}.chart-point{transition:opacity var(--duration-fast),r var(--duration-fast),filter var(--duration-fast);outline:none}.chart-point:hover,.chart-point:focus{r:7;filter:drop-shadow(0 0 var(--chart-glow-soft) currentColor)}.chart-point.is-latest{r:6;filter:drop-shadow(0 0 var(--chart-glow-soft) var(--chart-current))}.chart-point--scenario{stroke-dasharray:2 2}.chart-point--projection{opacity:.72;stroke-dasharray:2 2}.chart-point--fact{stroke-width:3}.chart-today{opacity:.65;filter:drop-shadow(0 0 var(--chart-glow-subtle) var(--accent))}.chart-risk-warning{fill:color-mix(in srgb,var(--warning) 9%,transparent)}.chart-risk-critical{opacity:var(--chart-risk-pattern-opacity)}.chart-tooltip{border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));background:color-mix(in srgb,var(--surface-elevated) 92%,transparent);backdrop-filter:blur(12px);box-shadow:0 14px 40px #0008,0 0 var(--chart-glow-soft) color-mix(in srgb,var(--accent) 22%,transparent)}.chart-tooltip strong{font-variant-numeric:tabular-nums;color:var(--text-primary)}.history-line-main{stroke-width:var(--chart-line-active-width)}.history-line-glow{stroke-width:10;opacity:.12;pointer-events:none}.history-line--spent.history-line-glow{opacity:.08}.history-dot{transition:opacity var(--duration-fast),r var(--duration-fast),filter var(--duration-fast)}.history-chart:has(.history-dot:hover) .history-dot:not(:hover),.history-chart:has(.history-dot:focus) .history-dot:not(:focus){opacity:.28}.history-dot:hover,.history-dot:focus{r:7;filter:drop-shadow(0 0 var(--chart-glow-soft) currentColor);outline:none}.yoy-visual article{position:relative}.yoy-visual article:after{content:"";display:block;height:3px;margin-top:14px;border-radius:99px;background:linear-gradient(90deg,var(--chart-previous),var(--accent));opacity:.62}.scenario-result--critical+.scenario-chart-card{box-shadow:inset 0 1px 0 var(--state-critical-border),0 0 var(--chart-glow-soft) color-mix(in srgb,var(--critical) 14%,transparent)}@keyframes hud-line-in{to{stroke-dashoffset:0}}@keyframes hud-area-in{from{opacity:0;transform:translateY(5px)}to{opacity:var(--chart-area-opacity);transform:none}}@media(max-width:620px){.chart-card,.history-hero,.scenario-chart-card{overflow:hidden}.chart svg,.history-chart svg{overflow:visible}.chart-tooltip{max-width:calc(100vw - 24px)}.chart-line-glow--soft{stroke-width:9}.history-line-glow{stroke-width:7}}@media(prefers-reduced-motion:reduce){.chart-line-main,.chart-area--liquid,.history-line,.chart-point,.history-dot{animation:none!important;transition:none!important;stroke-dasharray:initial;stroke-dashoffset:0}}
.chart-today-beacon{fill:var(--accent);stroke:var(--surface);stroke-width:2;filter:drop-shadow(0 0 var(--chart-glow-soft) var(--accent));transform-origin:center}.chart-point--scenario:not(.chart-point--projection){filter:drop-shadow(0 0 var(--chart-glow-soft) var(--scenario-line))}.chart-point--critical,.scenario-chart-card--critical .chart-point--scenario{filter:drop-shadow(0 0 var(--chart-glow-strong) var(--critical))}.scenario-chart-card--warning .chart-line--scenario{color:var(--warning)}.scenario-chart-card--danger .chart-line--scenario,.scenario-chart-card--critical .chart-line--scenario{color:var(--critical)}@media(prefers-reduced-motion:no-preference){.chart-today-beacon{animation:hud-beacon-in .65s .65s both}}@keyframes hud-beacon-in{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
.recommendations{display:grid;gap:12px;margin:22px 0}.recommendations>header{margin-bottom:4px}.recommendations h2,.recommendation h3{margin:.2rem 0}.recommendation{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--state-color,#67e8f9) 26%,var(--line));border-radius:18px;background:linear-gradient(120deg,color-mix(in srgb,var(--state-color,#67e8f9) 8%,var(--surface)),var(--surface));overflow-wrap:anywhere}.recommendation--primary{padding:24px;box-shadow:0 0 var(--chart-glow-soft) color-mix(in srgb,var(--state-color,#67e8f9) 15%,transparent)}.recommendation--good{--state-color:var(--good)}.recommendation--warning{--state-color:var(--warning)}.recommendation--danger,.recommendation--critical{--state-color:var(--critical)}.recommendation__kind{font-size:.68rem;letter-spacing:.12em;color:var(--muted)}.recommendation__metric{display:block;margin:.65rem 0;font-size:clamp(1.35rem,3vw,2.25rem);font-variant-numeric:tabular-nums}.recommendation details,.history-insights details{margin-top:.65rem;color:var(--muted)}.recommendation summary,.history-insights summary{cursor:pointer;color:var(--text)}.history-insights{margin-top:18px}.history-insights article+article{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}@media(max-width:600px){.recommendation{display:block}.recommendation .button{display:block;width:100%;margin-top:14px;text-align:center}.recommendation__metric{max-width:100%}}
.expense-quick-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}.expense-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin:18px 0}.expense-category-card header,.tracked-expense-strip header{display:flex;justify-content:space-between;gap:16px;align-items:start}.expense-category-card header>strong{font-size:1.5rem;font-variant-numeric:tabular-nums}.expense-category-card.is-disabled{opacity:.68}.expense-history article{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.expense-history article span{display:block;color:var(--muted)}.expense-history details form,.category-management form{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.tracked-expense-strip>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tracked-expense-strip article{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:14px}.tracked-expense-strip article span{color:var(--muted);font-size:.82rem}@media(max-width:600px){.expense-quick-form,.expense-category-grid,.tracked-expense-strip>div{grid-template-columns:1fr}.expense-history article{grid-template-columns:1fr}.expense-category-card header{align-items:center}.expense-quick-form .button{width:100%}}
.tracked-history{margin:18px 0;overflow:hidden}.tracked-history>header{display:flex;justify-content:space-between;gap:18px;align-items:start}.tracked-history-legend{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.78rem;margin:14px 0}.tracked-history-legend span:before{content:"";display:inline-block;width:12px;height:10px;margin-right:6px;border-radius:3px;background:var(--accent)}.tracked-history-legend span:nth-child(2):before{opacity:.45;background:repeating-linear-gradient(135deg,var(--accent) 0 2px,transparent 2px 4px)}.tracked-history-legend span:nth-child(3):before{background:transparent;border:1px dashed var(--muted)}.tracked-history-chart{display:flex;gap:10px;align-items:end;overflow-x:auto;padding:12px 2px 6px;min-height:250px}.tracked-history-bar{flex:1 0 76px;display:grid;gap:5px;min-width:76px;outline:none}.tracked-history-bar__plot{height:140px;display:flex;align-items:end;border-bottom:1px solid var(--line)}.tracked-history-bar__plot i{display:block;width:100%;min-height:4px;height:max(4px,calc(var(--bar) * .013px));max-height:130px;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 25%,transparent));box-shadow:0 0 var(--chart-glow-soft) color-mix(in srgb,var(--accent) 20%,transparent)}.tracked-history-bar--partial .tracked-history-bar__plot i{opacity:.5;background:repeating-linear-gradient(135deg,var(--accent) 0 5px,color-mix(in srgb,var(--accent) 20%,transparent) 5px 10px)}.tracked-history-bar--no_data .tracked-history-bar__plot i{height:0;min-height:0}.tracked-history-bar strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.tracked-history-bar small{color:var(--muted)}.tracked-history-bar em{font-style:normal;color:var(--accent);font-size:.76rem}.tracked-history-bar:focus{filter:brightness(1.18)}.tracked-history-gap{align-self:center;writing-mode:vertical-rl;color:var(--muted);font-size:.68rem;border-left:1px dashed var(--muted);padding-left:4px}@media(max-width:600px){.tracked-history>header{display:block}.tracked-history .period-selector{margin-top:12px;overflow-x:auto}.tracked-history-chart{min-height:225px}.tracked-history-bar{flex-basis:68px;min-width:68px}}

/* Debt & credit cards v1 — liability-side HUD */
.debt-hero{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:var(--space-5);align-items:end;background:radial-gradient(circle at 8% 0,color-mix(in srgb,var(--warning) 10%,transparent),transparent 38%),var(--surface)}.debt-hero>div{display:grid;gap:7px;min-width:0}.debt-hero strong{font-size:clamp(2rem,4vw,3.6rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.debt-hero b{font-size:1.05rem;overflow-wrap:anywhere}.debt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-5)}.debt-card{display:grid;gap:var(--space-4);position:relative;overflow:hidden}.debt-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,var(--warning),transparent 65%);opacity:.65}.debt-card.is-disabled{opacity:.58}.debt-card header,.debt-card footer,.debt-util span,.debt-dashboard-strip header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.debt-card__balance{font-size:clamp(1.8rem,4vw,2.7rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.debt-metrics{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.debt-metrics span{display:grid;gap:5px;color:var(--muted);font-size:.82rem}.debt-metrics b{color:var(--text);font-size:.96rem}.debt-util{display:grid;gap:8px}.debt-util i{height:9px;background:color-mix(in srgb,var(--border) 65%,transparent);border-radius:99px;overflow:hidden}.debt-util em{display:block;width:var(--util);height:100%;background:linear-gradient(90deg,var(--accent),var(--warning));border-radius:inherit}.debt-detail{margin-top:var(--space-5)}.debt-detail>header{display:flex;justify-content:space-between}.debt-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin:var(--space-5) 0}.debt-actions form{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-elevated) 75%,transparent)}.debt-history{display:grid;gap:8px}.debt-history>div{display:grid;grid-template-columns:110px 160px 1fr;gap:var(--space-3);align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.debt-history strong{font-variant-numeric:tabular-nums}.debt-dashboard-strip{margin-bottom:var(--space-5)}.debt-dashboard-strip>div{display:flex;gap:var(--space-6);flex-wrap:wrap;margin-top:var(--space-3)}.debt-dashboard-strip span{display:grid;gap:4px}.debt-form{max-width:680px}.debt-empty{text-align:center;margin-top:var(--space-5)}
@media(max-width:900px){.debt-hero{grid-template-columns:1fr 1fr}.debt-grid{grid-template-columns:1fr}.debt-actions{grid-template-columns:1fr}}
@media(max-width:600px){.debt-hero{grid-template-columns:1fr}.debt-card footer{align-items:stretch;flex-direction:column}.debt-card footer form,.debt-card footer button,.debt-card footer a{width:100%}.debt-history>div{grid-template-columns:1fr}.debt-metrics{grid-template-columns:1fr 1fr}.debt-dashboard-strip>div{display:grid;gap:var(--space-3)}.debt-card,.debt-hero,.debt-detail{overflow:hidden}.debt-card__balance,.debt-hero strong{word-break:break-word}}

.debt-settings{display:grid;gap:var(--space-4);margin-top:var(--space-5);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg)}
.debt-payment-progress,.debt-payoff,.debt-projection{display:grid;gap:7px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-elevated) 74%,transparent)}.debt-payment-progress span,.debt-payoff span{display:flex;justify-content:space-between;gap:var(--space-3)}.debt-payment-progress small,.debt-payoff small,.debt-util small{color:var(--muted)}.debt-chart{position:relative;min-height:220px;margin:var(--space-5) 0;overflow:visible}.debt-chart svg{width:100%;display:block;overflow:visible}.debt-chart-line{fill:none;stroke:var(--warning);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.debt-chart-line--glow{stroke-width:12;opacity:.16;filter:blur(5px)}.debt-chart-point{fill:var(--surface-elevated);stroke:var(--warning);stroke-width:3;cursor:pointer}.debt-chart-point:focus{outline:none;stroke:var(--text);stroke-width:4}.debt-projection{margin-bottom:var(--space-5)}.debt-projection>div{display:flex;justify-content:space-between;gap:var(--space-3)}
@media(max-width:600px){.debt-chart{min-height:180px;overflow:hidden}.debt-payment-progress span,.debt-payoff span,.debt-projection>div{align-items:flex-start;flex-direction:column}.debt-history{overflow-wrap:anywhere}}
.debt-chart-point{transition:r var(--duration-fast),filter var(--duration-fast),stroke-width var(--duration-fast)}.debt-chart-point:hover,.debt-chart-point:focus{r:7;filter:drop-shadow(0 0 var(--chart-glow-soft) var(--warning))}@media(prefers-reduced-motion:reduce){.debt-chart-point{transition:none!important}.debt-chart-line--glow{filter:none}}
.goals-capacity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin-bottom:var(--space-5)}.goals-capacity>div{display:grid;gap:var(--space-2)}.goals-capacity strong{font-size:clamp(1.7rem,3vw,2.8rem);overflow-wrap:anywhere}.goals-capacity strong small{font-size:.9rem;color:var(--text-muted)}.goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.goal-card{display:grid;gap:var(--space-4)}.goal-card>header,.goal-money,.goal-trajectories>div{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.goal-card h2{margin-top:var(--space-2)}.goal-money strong{display:block;font-size:clamp(1.8rem,4vw,3.1rem);overflow-wrap:anywhere}.goal-progress{height:12px;border-radius:999px;background:var(--surface-elevated);overflow:hidden}.goal-progress i{display:block;width:var(--goal-progress);height:100%;border-radius:inherit;background:var(--accent);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 45%,transparent)}.goal-trajectories{display:grid;gap:var(--space-2)}.goal-trajectories>div{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md)}.goal-trajectories .is-primary{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 8%,transparent)}.goal-trajectories span,.goal-trajectories b{font-size:.86rem}.goal-warning{color:var(--warning)}.goals-empty{text-align:center;padding:var(--space-7)}
@media(max-width:700px){.goals-capacity,.goal-grid{grid-template-columns:1fr}.goal-card>header,.goal-money,.goal-trajectories>div{align-items:flex-start;flex-direction:column}.goal-card .form-grid{grid-template-columns:1fr}.goals-capacity strong,.goal-money strong{max-width:100%;word-break:break-word}}

/* Goal intelligence HUD: factual progress stays solid; projections stay dashed/textual. */
.goal-insight{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin:.8rem 0}.goal-insight strong{color:var(--good,#75e6b1)}.goal-insight span{color:var(--muted,#9ea9ba)}
.goal-detail{margin-top:1.25rem;box-shadow:0 0 32px rgba(76,150,255,.08)}.goal-detail>header{display:flex;justify-content:space-between;gap:1rem}.goal-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}.goal-detail-grid>div{padding:.8rem;border:1px solid rgba(140,170,210,.18);border-radius:.75rem}.goal-detail-grid span,.goal-detail-grid strong{display:block;overflow-wrap:anywhere}.goal-history-chart{display:flex;align-items:end;gap:.6rem;list-style:none;padding:1rem 0;overflow-x:auto}.goal-history-chart li{min-width:8rem;padding:.75rem;border-left:3px solid #59a8ff;background:rgba(89,168,255,.06);border-radius:.35rem}.goal-history-chart li:focus{outline:2px solid #85c4ff;outline-offset:2px}.goal-history-chart time,.goal-history-chart span{display:block;color:var(--muted,#9ea9ba)}.goal-projection-legend{display:flex;gap:1rem;flex-wrap:wrap;border-top:2px dashed rgba(124,171,255,.55);padding-top:.7rem}
@media(max-width:600px){.goal-detail-grid{grid-template-columns:1fr}.goal-card,.goals-capacity{min-width:0}.goal-money strong,.goal-detail strong{overflow-wrap:anywhere}.goal-trajectories{grid-template-columns:1fr}.goal-history-chart{max-width:100%}}
@media(prefers-reduced-motion:reduce){.goal-card,.goal-detail,.goal-progress i{animation:none!important;transition:none!important;box-shadow:none}}
.dashboard-goals{margin-block:1rem}.dashboard-goals>header{display:flex;justify-content:space-between}.dashboard-goals-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.dashboard-goals-grid article{min-width:0;padding:.8rem;border:1px solid rgba(140,170,210,.16);border-radius:.75rem}.dashboard-goals-grid strong{overflow-wrap:anywhere}@media(max-width:600px){.dashboard-goals-grid{grid-template-columns:1fr}}
.subscription-hero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;background:radial-gradient(circle at 15% 0,color-mix(in srgb,var(--accent) 9%,transparent),transparent 45%),var(--surface)}.subscription-hero>div{display:grid;gap:.45rem;min-width:0}.subscription-hero strong{font-size:clamp(1.5rem,3vw,2.5rem);overflow-wrap:anywhere}.subscription-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin-block:var(--space-5)}.subscription-card{display:grid;gap:var(--space-4)}.subscription-card>header{display:flex;justify-content:space-between;gap:1rem}.subscription-card>header strong{font-size:clamp(1.5rem,3vw,2.3rem);overflow-wrap:anywhere}.subscription-card>header small{font-size:.8rem;color:var(--muted)}.subscription-card--paused{opacity:.78}.subscription-card--cancelled{opacity:.58}.subscription-meta,.subscription-actions{display:flex;gap:.6rem;flex-wrap:wrap}.subscription-meta span,.linked-label{padding:.4rem .6rem;border:1px solid var(--border);border-radius:999px}.subscription-actions form{display:inline}.subscription-timeline{margin-top:var(--space-5)}.subscription-timeline article{display:grid;grid-template-columns:8rem 1fr auto;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.dashboard-subscriptions{margin-block:var(--space-5)}.dashboard-subscriptions>header{display:flex;justify-content:space-between;gap:1rem}.dashboard-subscriptions>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.dashboard-subscriptions article{display:grid;gap:.3rem;padding:.7rem;border:1px solid var(--border);border-radius:var(--radius-md)}
@media(max-width:700px){.subscription-hero,.subscription-grid,.dashboard-subscriptions>div{grid-template-columns:1fr}.subscription-card>header,.dashboard-subscriptions>header{flex-direction:column}.subscription-timeline article{grid-template-columns:1fr}.subscription-actions form,.subscription-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.subscription-card,.subscription-hero,.dashboard-subscriptions{transition:none!important;animation:none!important;box-shadow:none}}

/* Compact premium UI stabilization */
:root{--space-5:20px;--space-6:26px;--space-7:38px}
.main{padding-top:18px;padding-bottom:48px}.site-controls{min-height:34px;display:flex;justify-content:flex-end;align-items:center;margin-bottom:12px}.page-head{margin-bottom:20px;gap:18px}.page-head h1{font-size:clamp(1.7rem,2.6vw,2.35rem)}.page-head p{margin-top:3px;max-width:760px}.panel{box-shadow:0 7px 22px rgba(0,0,0,.14)}.balance-hero{padding:clamp(20px,3vw,32px)}.hero-money{margin:6px 0 24px;font-size:clamp(2.5rem,5vw,4.6rem)}.safe-card{padding:24px}.safe-card>div{margin:13px 0 5px}.safe-card strong{font-size:clamp(2rem,3.6vw,3.25rem)}.pace-card,.chart-card,.obligations-card,.planning-grid>.panel{padding:21px}.chart-card{min-height:292px}.chart{height:220px;margin-top:10px}.dashboard-grid{margin-top:14px;gap:14px}.money-grid{gap:14px}.empty{padding:26px 14px}.modal-card{padding:23px;gap:14px}.form-grid{gap:12px}.recommendations{margin:16px 0;gap:9px}.recommendation{padding:14px 17px;gap:18px}.recommendation--primary{padding:18px}.recommendation__metric{margin:.4rem 0;font-size:clamp(1.25rem,2.5vw,1.9rem)}
.tone-switch--global{position:relative;z-index:35;box-shadow:0 5px 18px rgba(0,0,0,.16)}.tone-switch--global>span{letter-spacing:.08em;text-transform:uppercase}.tone-switch--global button{min-height:30px;padding:5px 10px}.tone-switch button.is-active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 38%,transparent),0 3px 10px rgba(0,0,0,.15)}
.help-tooltip{position:relative;display:inline-flex;align-items:center;vertical-align:-.18em;margin-inline-start:5px;z-index:40}.help-trigger{width:18px;height:18px;font-size:.65rem;line-height:1;cursor:help}.help-popover{position:fixed;z-index:200;left:0;top:0;bottom:auto;width:min(280px,calc(100vw - 24px));max-width:280px;padding:9px 11px;border-radius:11px;font-size:.76rem;line-height:1.4;overflow-wrap:anywhere;transform:translateY(4px);box-shadow:0 12px 32px rgba(0,0,0,.38),0 0 12px color-mix(in srgb,var(--accent) 12%,transparent)}.help-tooltip:hover .help-popover,.help-tooltip.is-focus .help-popover,.help-tooltip.is-open .help-popover{transform:none}.field-label{gap:5px;align-items:baseline}.field-label>.help-tooltip{margin-top:0}.panel:has(.help-tooltip),.debt-card:has(.help-tooltip),.scenario-chart-card:has(.help-tooltip){overflow:visible}
.chart-label,.chart-risk-label{fill:color-mix(in srgb,var(--text-secondary) 88%,white);font-size:10px;font-weight:650;paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.chart-risk-label{font-size:9px}.chart-legend{gap:12px;font-size:.72rem;color:var(--text-secondary)}.scenario-zones{gap:9px;margin-top:8px}.scenario-zones span{padding:3px 7px;border-radius:7px;background:color-mix(in srgb,var(--surface-elevated) 88%,transparent);text-shadow:0 1px 4px #000}.chart-tooltip{width:auto;max-width:min(230px,calc(100vw - 20px));padding:7px 9px;font-size:.74rem;line-height:1.35;box-shadow:0 10px 28px #0009}.scenario-chart-note{margin:8px 0 0;line-height:1.4}.scenario-chart-card{padding:21px;margin-bottom:14px}.scenario-result{margin-bottom:14px}.scenario-status{padding:17px 20px}.scenario-status h2{font-size:1.3rem}.scenario-before-after{padding:20px;gap:18px}.scenario-before-after strong{font-size:clamp(1.9rem,4vw,3.8rem)}.scenario-message{margin-top:10px;padding:11px 13px;gap:10px}.scenario-message p{font-size:.9rem;line-height:1.45;max-width:72ch}.scenario-impact-grid{gap:14px}.scenario-impact-grid>.panel{padding:18px}.impact-values,.projected-impact>div{margin:14px 0}
.debt-hero{gap:16px;padding:20px!important}.debt-hero strong{font-size:clamp(1.8rem,3.4vw,3rem)}.debt-grid{gap:16px;margin-top:16px}.debt-card{gap:12px;padding:19px!important}.debt-card__balance{font-size:clamp(1.65rem,3.3vw,2.35rem)}.debt-metrics{gap:9px}.debt-metrics span{gap:3px}.debt-detail{margin-top:16px}.debt-actions{gap:16px;margin:16px 0}.debt-actions form{padding:14px;gap:10px}.debt-chart{min-height:190px;margin:16px 0}
.subscription-hero{gap:12px;padding:18px!important}.subscription-hero>div{gap:3px}.subscription-hero strong{font-size:clamp(1.35rem,2.5vw,2.05rem)}.subscription-grid{gap:16px;margin-block:16px}.subscription-card{gap:12px;padding:18px!important}.subscription-empty{padding:24px!important}.subscription-timeline{margin-top:16px}.subscription-timeline article{padding:.6rem 0}.goals-empty{padding:28px}.goal-card{gap:13px}.goal-detail{margin-top:16px}.cash-flow,.debt-dashboard-strip,.tracked-expense-strip,.dashboard-goals,.dashboard-subscriptions{margin-block:14px!important}
@media(max-width:720px){.main{padding-top:10px;padding-inline:14px;padding-bottom:42px}.site-controls{justify-content:space-between;gap:8px;margin-bottom:12px}.site-controls .mobile-header{display:block;min-width:0}.site-controls .brand{padding:0}.site-controls .brand span:last-child{display:none}.tone-switch--global{margin-left:auto}.tone-switch--global>span{display:none}.tone-switch--global button{padding:5px 8px;font-size:.7rem}.page-head{margin-bottom:16px}.panel{border-radius:16px}.scenario-chart-card .chart{margin-inline:0}.scenario-zones{flex-wrap:wrap}.chart{height:205px}.help-popover{left:12px!important;right:12px!important;top:auto!important;bottom:14px!important;width:auto;max-width:none}.subscription-hero,.debt-hero{padding:16px!important}.subscription-empty{padding:20px 14px!important}}
@media(prefers-reduced-motion:reduce){.help-popover,.tone-switch button,.panel,.recommendation{transition:none!important}}

/* Compact Premium UI System v2: shared density and surface contracts. */
:root{
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;
 --surface-padding-compact:13px;--surface-padding:17px;--surface-padding-hero:21px;
 --section-gap:14px;--metric-gap:10px;--content-max:1480px;--tooltip-max:268px;
 --font-page:clamp(1.65rem,2.3vw,2.2rem);--font-hero:clamp(2.35rem,4.5vw,4.15rem);--font-card-metric:clamp(1.35rem,2.4vw,2rem);
}
.main{padding:16px clamp(20px,3vw,44px) 40px;max-width:none}
.main>:not(dialog){width:min(100%,var(--content-max));margin-left:auto;margin-right:auto}
.site-controls{min-height:30px;margin-bottom:10px}.page-head{gap:var(--space-4);margin-bottom:var(--section-gap);align-items:flex-end}.page-head h1{font-size:var(--font-page)}.page-head p{font-size:.9rem;line-height:1.4}
.panel{padding:var(--surface-padding);border-radius:18px;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.panel:hover{box-shadow:0 8px 22px rgba(0,0,0,.15)}
.balance-hero{padding:var(--surface-padding-hero)}.hero-money{font-size:var(--font-hero);margin:5px 0 18px;overflow-wrap:anywhere}.safe-card{padding:var(--surface-padding-hero);min-height:0}.safe-card>div{margin:10px 0 4px}.safe-card strong{font-size:clamp(1.9rem,3.2vw,2.9rem)}
.money-grid,.dashboard-grid{gap:var(--section-gap)}.dashboard-grid{margin-top:var(--section-gap)}.pace-card,.chart-card,.obligations-card,.planning-grid>.panel{padding:var(--surface-padding)}
.cash-flow{gap:var(--metric-gap);padding:var(--surface-padding);margin-bottom:var(--section-gap)}.cash-flow strong{font-size:var(--font-card-metric)}.cash-flow-safe{padding:var(--space-3)}
.metric-row{gap:var(--metric-gap)}.metric-row div{padding-left:var(--space-3)}.metric-row b{overflow-wrap:anywhere}
.surface-head,.dashboard-goals>header,.dashboard-subscriptions>header,.tracked-expense-strip>header,.debt-dashboard-strip>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}
.text-link{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;color:var(--text-secondary);font-size:.8rem;font-weight:750}.text-link:hover{color:var(--accent)}
.dashboard-goals,.dashboard-subscriptions,.tracked-expense-strip,.debt-dashboard-strip{padding:var(--surface-padding);margin-block:var(--section-gap)!important}
.dashboard-goals h2,.dashboard-subscriptions h2,.tracked-expense-strip h2{font-size:1.05rem}.dashboard-goals-grid,.dashboard-subscriptions>div,.tracked-expense-strip>div{gap:var(--metric-gap)}
.dashboard-goals-grid article,.dashboard-subscriptions article,.tracked-expense-strip article{padding:var(--surface-padding-compact);border-color:color-mix(in srgb,var(--border) 72%,transparent);background:color-mix(in srgb,var(--surface-elevated) 38%,transparent)}
.debt-dashboard-strip{overflow:visible;background:linear-gradient(110deg,color-mix(in srgb,var(--warning) 5%,var(--surface)),var(--surface))}
.debt-dashboard-metrics{display:grid!important;grid-template-columns:minmax(220px,1.35fr) repeat(2,minmax(150px,1fr));gap:var(--metric-gap)!important;margin:0!important;align-items:end}
.debt-dashboard-metrics>div{display:grid;gap:3px;min-width:0;padding-left:var(--space-4);border-left:1px solid var(--border)}.debt-dashboard-metrics>div:first-child{padding-left:0;border-left:0}.debt-dashboard-metrics span{color:var(--text-muted);font-size:.75rem}.debt-dashboard-metrics b{font-size:.95rem;overflow-wrap:anywhere}.debt-dashboard-total strong{font-size:var(--font-card-metric);line-height:1.1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.recommendations{margin:var(--section-gap) auto;gap:var(--space-2)}.recommendation,.recommendation--primary{padding:var(--surface-padding-compact) var(--surface-padding);gap:var(--space-4)}.recommendation p{margin-bottom:var(--space-2);max-width:76ch}.recommendation__metric{font-size:var(--font-card-metric);margin:var(--space-1) 0}
.button{min-height:40px;padding:9px 14px}.button--compact,.page-head .button--ghost{min-height:36px;padding:7px 11px;font-size:.82rem}.chip,.badge,.status{padding:4px 8px}.icon-button{width:34px;height:34px}
.label,.eyebrow{line-height:1.35}.field-label,.label{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap}.help-tooltip{margin-inline-start:0;vertical-align:middle}.help-trigger{width:18px;height:18px}.help-popover{width:min(var(--tooltip-max),calc(100vw - 24px));max-width:var(--tooltip-max);padding:8px 10px;font-size:.74rem;line-height:1.38}
.chart-card,.comparison-card{min-height:0}.chart{height:210px}.comparison-card .chart{height:220px}.projection{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);gap:var(--space-3)}
.history-hero{padding:var(--surface-padding);min-height:0}.history-chart{min-height:300px}.history-empty,.scenario-empty{padding:var(--space-7) var(--surface-padding)}.tracked-history-chart{min-height:210px}.tracked-history-bar__plot{height:120px}.tracked-history-bar__plot i{max-height:110px}.debt-chart{min-height:180px}.goal-history-chart{padding:var(--space-3) 0}
.scenario-input-card,.scenario-chart-card{padding:var(--surface-padding);margin-bottom:var(--section-gap)}.scenario-status{padding:var(--surface-padding)}.scenario-before-after{padding:var(--surface-padding-hero);gap:var(--space-4)}.scenario-impact-grid>.panel{padding:var(--surface-padding)}.scenario-message{padding:10px 12px}
.planning-grid,.debt-grid,.goal-grid,.subscription-grid,.goals-capacity,.debt-actions{gap:var(--section-gap)}.debt-grid,.subscription-grid,.debt-detail,.subscription-timeline{margin-top:var(--section-gap)}.debt-card,.subscription-card,.goal-card{padding:var(--surface-padding)!important;gap:var(--space-3)}.debt-hero,.subscription-hero{padding:var(--surface-padding-hero)!important;gap:var(--space-3)}
.quick-expense,.expense-category-card,.tracked-history,.expenses-empty,.history-insights,.goal-detail,.goal-scenario-impact,.subscription-timeline{padding:var(--surface-padding)}.expense-category-grid{gap:var(--section-gap);margin:var(--section-gap) 0}.expense-quick-form,.form-grid{gap:var(--space-3)}.form-grid{margin-top:var(--space-4)}.income-panel{padding:var(--surface-padding);margin-bottom:var(--section-gap)}.income-form-row{padding:var(--surface-padding-compact);gap:var(--space-2)}
.empty,.goals-empty,.subscription-empty{padding:var(--space-6) var(--surface-padding)!important}.modal-card,.onboarding-card,.rollover-card{padding:var(--surface-padding-hero);gap:var(--space-4)}.onboarding{gap:clamp(24px,5vw,64px)}.onboarding-copy h1{font-size:clamp(2.4rem,5vw,4.8rem)}.onboarding-note{margin-top:var(--space-5)}
.sidebar{width:210px;padding:18px 13px}.main{margin-left:210px}.brand{padding:4px 8px 18px}.nav-link{padding:9px 10px;gap:9px}.tone-switch--global button{min-height:28px;padding:4px 9px}
@media(max-width:980px){.main{margin-left:0;padding:14px 16px 84px}.mobile-header{margin-bottom:0}.debt-dashboard-metrics{grid-template-columns:1.2fr 1fr 1fr}}
@media(max-width:720px){.main{padding:8px 12px 76px}.page-head{align-items:flex-start;margin-bottom:var(--space-3)}.page-head .page-actions{gap:var(--space-2)}.panel{padding:14px;border-radius:15px}.balance-hero,.safe-card,.pace-card,.chart-card,.obligations-card,.planning-grid>.panel{padding:15px}.hero-money{font-size:clamp(2.25rem,12vw,3.2rem);margin-bottom:16px}.metric-row{gap:var(--space-3)}.safe-card{min-height:0}.dashboard-goals,.dashboard-subscriptions,.tracked-expense-strip,.debt-dashboard-strip{padding:14px}.debt-dashboard-metrics{grid-template-columns:1fr 1fr}.debt-dashboard-total{grid-column:1/-1}.debt-dashboard-metrics>div:nth-child(2){padding-left:0;border-left:0}.dashboard-goals-grid,.dashboard-subscriptions>div,.tracked-expense-strip>div{grid-template-columns:1fr}.chart{height:195px}.comparison-card .chart{height:205px}.history-chart{min-height:250px}.history-empty,.scenario-empty{padding:var(--space-6) 14px}.button{min-height:40px}.page-head .button{min-height:38px}.surface-head,.dashboard-goals>header,.dashboard-subscriptions>header,.tracked-expense-strip>header{align-items:flex-start}.onboarding-copy h1{font-size:2.5rem}.onboarding-note{margin-top:var(--space-4)}.expense-quick-form{grid-template-columns:1fr}.subscription-card>header{gap:var(--space-3)}}
@media(max-width:420px){.metric-row{grid-template-columns:1fr 1fr;gap:12px 8px}.metric-row div{padding-left:9px}.metric-row div:nth-child(odd){padding-left:0;border-left:0}.page-actions{width:100%}.page-actions .button{flex:1;text-align:center}.debt-dashboard-metrics{grid-template-columns:1fr 1fr}.debt-dashboard-metrics b{font-size:.86rem}.mobile-nav a{padding-block:12px}.tone-switch--global button{font-size:.68rem;padding-inline:7px}}
@media(max-width:720px){.page-head .button{position:static;right:auto;bottom:auto;z-index:auto;box-shadow:none}.page-head .button--primary{box-shadow:0 8px 20px rgba(124,140,255,.18)}}
.dashboard-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--section-gap);margin-block:var(--section-gap)}
.dashboard-secondary-grid>.panel{width:auto;margin:0!important;min-width:0}.dashboard-secondary-grid .dashboard-goals-grid,.dashboard-secondary-grid .dashboard-subscriptions>div,.dashboard-secondary-grid .tracked-expense-strip>div{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
@media(max-width:1100px){.dashboard-secondary-grid{grid-template-columns:1fr}.debt-dashboard-metrics{grid-template-columns:minmax(200px,1.3fr) repeat(2,minmax(140px,1fr))}}
@media(max-width:720px){.dashboard-secondary-grid{gap:var(--space-3);margin-block:var(--space-3)}.dashboard-secondary-grid .dashboard-goals-grid,.dashboard-secondary-grid .dashboard-subscriptions>div,.dashboard-secondary-grid .tracked-expense-strip>div{grid-template-columns:1fr}}

/* Compact Premium UI v3 + semantic global themes. */
:root{
 --shell-surface:rgba(10,15,29,.9);--mobile-surface:rgba(14,21,38,.96);--page-orb:rgba(68,81,150,.13);
 --overlay-surface:rgba(4,8,16,.76);--primary-ink:#0b1020;--tooltip-shadow:rgba(0,0,0,.34);
 --chart-label-halo:var(--surface);--chart-label-bg:color-mix(in srgb,var(--surface-elevated) 90%,transparent);
}
[data-theme="LIGHT"]{
 color-scheme:light;
 --bg-primary:#edf2f9;--bg-secondary:#f5f7fb;--surface:#ffffff;--surface-elevated:#f1f4fa;--surface-hover:#e7edf7;
 --text-primary:#172033;--text-secondary:#42506a;--text-muted:#68758b;--border:#d5deeb;--border-strong:#b9c6d9;
 --accent:#5268df;--accent-soft:#e7ebff;--success:#187a5a;--warning:#9a5b0a;--critical:#bd334b;
 --shell-surface:rgba(247,249,253,.92);--mobile-surface:rgba(247,249,253,.97);--page-orb:rgba(82,104,223,.1);
 --overlay-surface:rgba(24,32,48,.42);--primary-ink:#fff;--tooltip-shadow:rgba(43,58,82,.18);
 --shadow-sm:0 7px 22px rgba(55,72,98,.1);--shadow-lg:0 18px 48px rgba(55,72,98,.16);
 --chart-previous:#71809a;--chart-grid-opacity:.28;--chart-area-opacity:.16;--chart-risk-pattern-opacity:.1;
 --chart-glow-subtle:3px;--chart-glow-soft:6px;--chart-glow-strong:10px;--chart-label-halo:#fff;
}
body{background:radial-gradient(circle at 85% 0,var(--page-orb),transparent 32rem),var(--bg-primary)}
.sidebar{background:var(--shell-surface)}.mobile-nav{background:var(--mobile-surface)}.modal::backdrop{background:var(--overlay-surface)}
.button--primary{color:var(--primary-ink)}.brand-mark{color:var(--primary-ink)}
.preference-controls{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);min-width:0}
.preference-switch{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);box-shadow:0 4px 14px color-mix(in srgb,var(--tooltip-shadow) 45%,transparent)}
.preference-switch>span{padding:0 6px;color:var(--text-muted);font-size:.65rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.preference-switch button{min-height:28px;border:0;border-radius:7px;padding:4px 8px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.7rem;font-weight:700}
.preference-switch button:hover{color:var(--text-primary);background:color-mix(in srgb,var(--surface-hover) 72%,transparent)}
.preference-switch button.is-active{color:var(--text-primary);background:var(--surface-elevated);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent),0 2px 8px color-mix(in srgb,var(--tooltip-shadow) 38%,transparent)}
.tone-switch--global{box-shadow:none}.tone-switch--global>span{padding:0 6px}.tone-switch--global button{min-height:28px;padding:4px 8px}
.panel,.scenario-result,.login-card,.modal-card{background-color:var(--surface)}
input,select,textarea{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border)}
.help-popover{width:min(236px,calc(100vw - 24px));max-width:236px;padding:7px 9px;border-radius:9px;font-size:.69rem;line-height:1.32;background:var(--surface-elevated);box-shadow:0 10px 26px var(--tooltip-shadow);z-index:240}
.help-trigger{flex:0 0 18px;width:18px;height:18px;font-size:.63rem;align-self:center}.field-label,.label{column-gap:6px;row-gap:3px}
.chart-label,.chart-risk-label,.chart-today-label{fill:var(--text-secondary);font-size:10px;font-weight:720;letter-spacing:.01em;paint-order:stroke fill;stroke:var(--chart-label-halo);stroke-width:4px;stroke-linejoin:round}
.chart-risk-label{font-size:9px}.chart-today-label{fill:var(--text-primary)}.chart-legend,.history-legend{padding:4px 7px;border:1px solid color-mix(in srgb,var(--border) 76%,transparent);border-radius:9px;background:var(--chart-label-bg)}
.chart-tooltip{max-width:min(210px,calc(100vw - 20px));padding:6px 8px;font-size:.69rem;line-height:1.3;background:var(--surface-elevated);box-shadow:0 9px 24px var(--tooltip-shadow)}
.chart-tooltip div{gap:2px 10px;margin-top:4px}.scenario-zones{position:relative;z-index:2}.scenario-zones span{border:1px solid color-mix(in srgb,var(--border) 72%,transparent)}
.quick-expense,.category-management,.tracked-history,.debt-detail,.goal-detail,.subscription-timeline,.history-insights,.yoy-card{margin-block:var(--section-gap)}
.expense-category-grid,.debt-grid,.goal-grid,.subscription-grid,.history-secondary,.scenario-impact-grid{margin-block:var(--section-gap)}
.planning-list,.income-list,.expense-history,.debt-history{margin-top:var(--space-3)}
.debt-payment-progress,.debt-payoff,.debt-projection,.goal-trajectories>div{padding:var(--surface-padding-compact)}
.subscription-empty,.goals-empty,.expenses-empty,.debt-empty{min-height:0}
[data-theme="LIGHT"] .panel,[data-theme="LIGHT"] .chart-card,[data-theme="LIGHT"] .history-hero,[data-theme="LIGHT"] .scenario-chart-card{box-shadow:0 7px 20px rgba(55,72,98,.08)}
[data-theme="LIGHT"] .panel:hover{box-shadow:0 9px 24px rgba(55,72,98,.11)}
[data-theme="LIGHT"] .chart-line-glow,[data-theme="LIGHT"] .history-line-glow{opacity:.045}
@media(max-width:720px){.preference-controls{margin-left:auto;gap:5px}.preference-switch>span{display:none}.preference-switch button{padding:4px 6px;font-size:.65rem}.help-popover{right:auto!important;width:min(236px,calc(100vw - 24px));max-width:236px}.site-controls{gap:6px}.chart-legend,.history-legend{padding:3px 5px}}
@media(prefers-reduced-motion:reduce){body,.preference-switch,.preference-switch button{transition:none!important}}

/* Final art direction: refine existing surface, form and chart abstractions. */
:root{--surface-padding-compact:12px;--surface-padding:15px;--surface-padding-hero:19px;--section-gap:13px;--major-gap:20px;--font-body:.94rem}
body{font-size:var(--font-body)}.eyebrow,.label{letter-spacing:.09em}.page-head{margin-bottom:var(--section-gap)}
.panel{box-shadow:0 5px 16px rgba(0,0,0,.1)}.balance-hero,.safe-card,.debt-hero,.subscription-hero{padding:var(--surface-padding-hero)!important}
.main>:where(.page-head,.notice,.panel,section,aside)+:where(.notice,.panel,section,aside){margin-top:var(--section-gap)}
.main>.dashboard-grid,.main>.dashboard-secondary-grid,.main>.money-grid,.main>.expense-category-grid,.main>.debt-grid,.main>.goal-grid,.main>.subscription-grid,.main>.history-secondary{margin-top:var(--section-gap)}
.scenario-result+.scenario-chart-card{margin-top:var(--section-gap)}.scenario-chart-card+.goal-scenario-impact,.goal-scenario-impact+.scenario-impact-grid{margin-top:var(--section-gap)}
.chart-annotation{pointer-events:none}.chart-annotation-bg{fill:var(--chart-label-bg);stroke:color-mix(in srgb,var(--border-strong) 75%,transparent);stroke-width:1}.chart-risk-label,.chart-today-label{stroke:none;paint-order:normal;font-size:9px;font-weight:760}.chart-today-label{font-size:10px}
.help-popover{width:min(270px,calc(100vw - 28px));max-width:270px;padding:9px 11px;font-size:13px;line-height:1.44;letter-spacing:normal;text-transform:none;font-weight:400}
.expense-quick-form{grid-template-columns:repeat(12,minmax(0,1fr));max-width:1120px}.expense-quick-form>label:nth-of-type(1){grid-column:span 4}.expense-quick-form>label:nth-of-type(2){grid-column:span 3}.expense-quick-form>label:nth-of-type(3){grid-column:span 5}.expense-quick-form>label:nth-of-type(4),.expense-quick-form>label:nth-of-type(5){grid-column:span 2}.expense-quick-form>label:nth-of-type(6){grid-column:span 6}.expense-quick-form>.button{grid-column:span 2;justify-self:end;min-width:120px}
.category-management{max-width:900px}.category-management>form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:var(--space-2);align-items:center;max-width:720px;padding-block:var(--space-2);border-top:1px solid var(--border)}.category-management>form:first-of-type{border-top:0}.category-management>form .button,.category-management>form .chip{min-width:112px}
.expenses-empty,.subscription-empty,.goals-empty,.debt-empty{display:grid;justify-items:start;align-content:start;gap:var(--space-2);max-width:760px}.expenses-empty p,.subscription-empty p,.goals-empty p,.debt-empty p{max-width:60ch;margin-bottom:var(--space-2)}
.debt-payment-progress,.debt-payoff,.debt-projection{border-inline:0;border-radius:0;background:transparent;border-color:var(--border);padding-inline:0}.debt-payment-progress,.debt-payoff{border-top:1px solid var(--border)}.debt-projection{border-block:1px solid var(--border);margin-block:var(--space-3)}
.goal-detail-grid>div{padding:var(--space-3);border:0;border-left:1px solid var(--border);border-radius:0}.goal-detail-grid>div:first-child{border-left:0}.goal-trajectories>div{border-width:0 0 1px;border-radius:0;background:transparent}.goal-trajectories .is-primary{border-width:0 0 1px 2px;padding-left:var(--space-3)}
.subscription-card>p,.goal-card>p,.debt-card>p{margin-bottom:var(--space-2)}.subscription-meta span,.linked-label{font-size:.76rem}
[data-theme="LIGHT"]{--state-good-bg:#e8f7f0;--state-good-surface:#f5fbf8;--state-good-border:#8bcbb3;--state-warning-bg:#fff5dc;--state-warning-surface:#fffaf0;--state-warning-border:#ddb66b;--state-danger-bg:#fff0e9;--state-danger-surface:#fff8f4;--state-danger-border:#e2a083;--state-critical-bg:#fdecef;--state-critical-surface:#fff7f8;--state-critical-border:#dd8b9a}
[data-theme="LIGHT"] .panel{border-color:color-mix(in srgb,var(--border) 88%,white);box-shadow:0 5px 16px rgba(55,72,98,.065)}[data-theme="LIGHT"] .panel:hover{box-shadow:0 7px 19px rgba(55,72,98,.085)}[data-theme="LIGHT"] .chart-card:before,[data-theme="LIGHT"] .history-hero:before,[data-theme="LIGHT"] .scenario-chart-card:before{opacity:.12}
::placeholder{color:color-mix(in srgb,var(--text-muted) 78%,transparent)}input:disabled,select:disabled,textarea:disabled{opacity:.68;cursor:not-allowed}input[type="checkbox"],input[type="radio"]{accent-color:var(--accent)}
@media(max-width:720px){.main>:where(.page-head,.notice,.panel,section,aside)+:where(.notice,.panel,section,aside){margin-top:var(--space-3)}.expense-quick-form{grid-template-columns:1fr}.expense-quick-form>label:nth-of-type(n),.expense-quick-form>.button{grid-column:1}.expense-quick-form>.button{justify-self:stretch;width:100%}.category-management>form{grid-template-columns:1fr}.category-management>form .button,.category-management>form .chip{width:100%}.goal-detail-grid>div{border-left:0;border-top:1px solid var(--border)}.goal-detail-grid>div:first-child{border-top:0}.help-popover{width:min(270px,calc(100vw - 24px));max-width:270px}.chart-risk-annotation{display:none}}


/* Targeted stabilization: isolate tooltip typography and strengthen light charts. */
.help-tooltip>.help-popover{font:400 13px/1.44 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:normal!important;text-transform:none!important;width:min(270px,calc(100vw - 28px));max-width:270px}
[data-theme="LIGHT"]{--chart-current:#4058d6;--chart-previous:#627089;--chart-projection:#7657b7;--chart-label-bg:rgba(255,255,255,.94);--chart-label-halo:#fff;--chart-grid-opacity:.38;--chart-area-opacity:.22}
[data-theme="LIGHT"] .chart-card,[data-theme="LIGHT"] .history-hero,[data-theme="LIGHT"] .scenario-chart-card{background:radial-gradient(circle at 72% 5%,rgba(82,104,223,.075),transparent 40%),linear-gradient(145deg,#fff,#f8faff);border-color:#c5d0e0}
[data-theme="LIGHT"] .chart-grid{stroke:#aebbd0;opacity:.48}[data-theme="LIGHT"] .chart-label,[data-theme="LIGHT"] .chart-risk-label,[data-theme="LIGHT"] .chart-today-label{fill:#34435d}
[data-theme="LIGHT"] .chart-line--current,[data-theme="LIGHT"] .chart-line--actual{stroke-width:3.4}[data-theme="LIGHT"] .chart-line--previous{stroke-width:2.2;stroke-dasharray:6 6;opacity:.78}[data-theme="LIGHT"] .chart-line--scenario{stroke-width:3;stroke-dasharray:10 7}
[data-theme="LIGHT"] .chart-point--current,[data-theme="LIGHT"] .chart-point--actual{fill:var(--chart-current);stroke:#fff;stroke-width:2}[data-theme="LIGHT"] .chart-point--previous{fill:#fff;stroke:var(--chart-previous);stroke-width:3}[data-theme="LIGHT"] .chart-point--scenario{fill:#fff8e9;stroke:var(--scenario-line);stroke-width:3;stroke-dasharray:2 2}
[data-theme="LIGHT"] .history-dot{fill:#fff;stroke-width:3.5}[data-theme="LIGHT"] .history-bar{opacity:.3}[data-theme="LIGHT"] .chart-today{stroke:#52627a;opacity:.82}[data-theme="LIGHT"] .chart-legend,[data-theme="LIGHT"] .history-legend{color:#34435d;border-color:#c3cee0;box-shadow:0 2px 8px rgba(55,72,98,.07)}
.scenario-chart-note{max-width:80ch}.scenario-message+.scenario-chart-note,.scenario-chart-note+.scenario-message{margin-top:var(--space-3)}
@media(max-width:720px){.help-tooltip>.help-popover{width:min(270px,calc(100vw - 24px));max-width:270px}}

/* Explicit month opening confirmation uses existing compact surfaces and theme tokens. */
.rollover-card{display:grid;gap:var(--space-4);padding:var(--surface-padding-hero)}.rollover-card .rollover-suggestion{margin:0;padding:var(--surface-padding);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-elevated)}.rollover-suggestion.is-stale{border-color:var(--state-warning-border);background:var(--state-warning-bg)}.rollover-suggestion--empty{justify-content:flex-start}.rollover-manual{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:var(--space-3);align-items:end}.rollover-manual .money-field{max-width:460px}.rollover-zero{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.rollover-zero>div{display:grid;gap:2px}.rollover-zero span,.field-help{color:var(--text-muted);font-size:.78rem;line-height:1.45}.rollover-income{padding-top:var(--space-2);border-top:1px solid var(--border)}.rollover-income>summary{cursor:pointer;color:var(--text-secondary);font-weight:700}.rollover-income .income-builder{margin-top:var(--space-3)}
[data-theme="LIGHT"] .rollover-card .rollover-suggestion{background:#f7f9fd;border-color:#c7d1e1}[data-theme="LIGHT"] .rollover-suggestion.is-stale{background:var(--state-warning-bg);border-color:var(--state-warning-border)}
@media(max-width:720px){.rollover-manual{grid-template-columns:1fr}.rollover-manual .button,.rollover-zero .button{width:100%}.rollover-zero{display:grid}.rollover-suggestion .button{width:100%}.rollover-card{padding:var(--surface-padding)}}

/* No balance observation: known funds stay visible without presenting derived cash metrics as facts. */
.balance-observation-empty{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-color:var(--state-warning-border);background:linear-gradient(120deg,var(--state-warning-bg),var(--surface))}.balance-observation-empty h2{margin:2px 0 var(--space-2)}.balance-observation-empty p{max-width:68ch;margin:0;color:var(--text-secondary)}
@media(max-width:720px){.balance-observation-empty{display:grid}.balance-observation-empty .button{width:100%}}
/* Admin console reuses the global semantic theme tokens. */
.admin-body{min-height:100vh;background:var(--bg-primary);color:var(--text-primary)}.admin-login{min-height:100vh;display:grid;place-items:center;padding:var(--space-5)}.admin-login-card{width:min(420px,100%);display:grid;gap:var(--space-4)}.admin-shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}.admin-nav{padding:20px 16px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:18px}.admin-nav nav{display:grid;gap:6px}.admin-nav nav a{padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-muted)}.admin-nav nav a.is-active,.admin-nav nav a:hover{background:var(--bg-secondary);color:var(--text-primary)}.admin-main{width:min(1180px,100%);padding:24px;margin:0 auto}.admin-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--section-gap)}.admin-status-grid article{display:grid;gap:6px}.admin-form,.admin-diagnostics{display:grid;gap:16px;max-width:920px;margin-bottom:var(--section-gap)}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-form label,.admin-parser label{display:grid;gap:6px}.admin-check{display:flex!important;align-items:center;gap:8px}.admin-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-actions form{display:flex;gap:8px}.admin-parser{display:flex;align-items:end;gap:10px;max-width:620px}.admin-parser label{flex:1}.admin-url{display:block;overflow-wrap:anywhere;padding:10px;background:var(--bg-secondary);border-radius:var(--radius-sm)}.admin-log-filters{display:flex;gap:8px;margin-bottom:12px}.admin-log-list{display:grid;gap:0;margin-bottom:12px}.admin-log-list article{display:grid;grid-template-columns:150px 80px 190px minmax(0,1fr);gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}.admin-log-list article:last-child{border:0}.admin-log-list p{margin:0}.admin-log-list code{grid-column:1/-1;overflow-wrap:anywhere;color:var(--text-muted)}
@media(max-width:720px){.admin-shell{grid-template-columns:1fr}.admin-nav{position:static;border-right:0;border-bottom:1px solid var(--border)}.admin-nav nav{grid-template-columns:repeat(4,1fr);overflow-x:auto}.admin-main{padding:16px}.admin-status-grid,.admin-form-grid{grid-template-columns:1fr}.admin-actions,.admin-actions form,.admin-parser{display:grid;width:100%}.admin-log-list article{grid-template-columns:1fr;gap:4px}.admin-log-list code{grid-column:auto}.admin-form .button,.admin-actions .button,.admin-parser .button{width:100%}}
.admin-callback-url{display:flex;align-items:center;gap:8px}.admin-callback-url .admin-url{flex:1}
@media(max-width:720px){.admin-callback-url{display:grid}}
.admin-form textarea{width:100%;resize:vertical;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);padding:12px 13px;font:inherit}.admin-form textarea:focus{border-color:var(--border-strong)}
