:root{--bg:#07111f;--surface:#101d2e;--surface-soft:#14243a;--surface-raised:#172a42;--text:#f7f9fc;--muted:#a9b8ca;--accent:#68d7c0;--accent-2:#80a7ff;--warning:#ffbe7a;--border:#ffffff1a;--shadow:0 18px 60px #00000038}*{box-sizing:border-box}html{background:var(--bg)}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at 12% 8%, #68d7c01c, transparent 30rem), radial-gradient(circle at 90% 10%, #80a7ff1c, transparent 28rem), var(--bg);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit}button,input,a{font:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.skip-link{z-index:100;color:#07111f;background:#fff;border-radius:10px;padding:10px 14px;font-weight:800;position:fixed;top:10px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.eyebrow{color:var(--accent);letter-spacing:.14em;margin:0 0 10px;font-size:.76rem;font-weight:800}.brand-mark{border:1px solid var(--border);background:linear-gradient(135deg,#68d7c033,#80a7ff2e);border-radius:15px;place-items:center;width:48px;height:48px;font-size:1.25rem;font-weight:900;display:grid}.button{border:1px solid var(--border);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-weight:800;text-decoration:none;display:inline-flex}.button-primary{background:var(--accent);color:#06131d;border-color:#68d7c073}.button-primary:hover{filter:brightness(1.05)}.button-quiet{width:100%;color:var(--text);background:#ffffff0a}.button-quiet:hover{background:#ffffff14}.public-main{width:min(1120px,100% - 32px);margin:0 auto;padding:72px 0 56px}.public-hero{max-width:850px;padding-bottom:38px}.public-hero .brand-mark{margin-bottom:26px}.public-hero h1{letter-spacing:-.055em;max-width:820px;margin:0;font-size:clamp(2.7rem,7vw,5.6rem);line-height:.98}.lede{max-width:740px;color:var(--muted);margin:22px 0 20px;font-size:1.08rem;line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px;display:flex}.version,.role-pill{border:1px solid var(--border);color:var(--muted);background:#ffffff09;border-radius:999px;padding:8px 12px;font-size:.82rem;display:inline-flex}.auth-message{color:#d8e4ff;background:#80a7ff14;border:1px solid #80a7ff40;border-radius:12px;max-width:720px;padding:12px 14px}.public-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.card,.metric-card,.next-step-card,.placeholder-panel{border:1px solid var(--border);box-shadow:var(--shadow);background:#101d2edb}.card{border-radius:20px;padding:24px}.card h2,.next-step-card h2{margin:0 0 8px;font-size:1.08rem}.card p,.next-step-card p,.placeholder-panel p,.metric-card p{color:var(--muted);margin-bottom:0;line-height:1.6}.app-frame{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#07111ff0;flex-direction:column;gap:24px;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:2px 6px;font-size:1.05rem;font-weight:900;text-decoration:none;display:flex}.brand .brand-mark{border-radius:12px;width:38px;height:38px;font-size:1rem}.nav-list{gap:6px;display:grid}.nav-link{min-height:44px;color:var(--muted);border-radius:11px;align-items:center;padding:0 12px;font-weight:700;text-decoration:none;display:flex}.nav-link:hover{color:var(--text);background:#ffffff0d}.identity-card{border:1px solid var(--border);background:#ffffff06;border-radius:16px;margin-top:auto;padding:14px}.identity-name{overflow-wrap:anywhere;margin:0;font-size:.92rem;font-weight:800}.identity-meta{color:var(--muted);text-transform:capitalize;margin:4px 0 12px;font-size:.76rem}.app-content{min-width:0}.topbar{border-bottom:1px solid var(--border);background:#07111f9e;justify-content:space-between;align-items:center;gap:18px;min-height:82px;padding:16px 30px;display:flex}.topbar .eyebrow{margin-bottom:4px}.topbar-household{margin:0;font-weight:900}.role-pill{color:var(--accent);text-transform:capitalize}.app-main{width:min(1180px,100%);padding:42px 30px 90px}.workspace-section{max-width:980px}.workspace-title{letter-spacing:-.045em;margin:0;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1}.workspace-lede{max-width:740px;color:var(--muted);font-size:1.04rem;line-height:1.65}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px}.metric-card{border-radius:18px;min-height:150px;padding:22px}.metric-card span{color:var(--muted);margin-bottom:12px;font-size:.78rem;display:block}.metric-card strong{font-size:1.25rem}.next-step-card,.placeholder-panel{border-radius:18px;margin-top:18px;padding:26px}.placeholder-panel strong{color:var(--accent)}.bottom-nav{display:none}@media (max-width:900px){.app-frame{grid-template-columns:1fr}.sidebar{display:none}.app-main{padding:32px 20px 100px}.topbar{padding:14px 20px}.bottom-nav{z-index:50;border-top:1px solid var(--border);background:#07111ffa;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-nav a{min-height:58px;color:var(--muted);place-items:center;padding:8px 4px;font-size:.72rem;font-weight:800;text-decoration:none;display:grid}.bottom-nav a:hover{color:var(--text);background:#ffffff0a}.metric-grid{grid-template-columns:1fr}}@media (max-width:700px){.public-main{padding-top:44px}.public-grid{grid-template-columns:1fr}}@media (max-width:360px){.public-main{width:min(100% - 24px,1120px)}.app-main,.topbar{padding-left:14px;padding-right:14px}.bottom-nav a{font-size:.66rem}}.setup-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:26px;display:grid}.setup-card{border:1px solid var(--border);min-height:168px;box-shadow:var(--shadow);background:#101d2edb;border-radius:18px;flex-direction:column;gap:10px;padding:22px;text-decoration:none;display:flex}.setup-card span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:900}.setup-card strong{font-size:1.06rem;line-height:1.4}.setup-card em{color:var(--muted);margin-top:auto;font-size:.86rem;font-style:normal}.setup-card:hover{background:#14243af0;border-color:#68d7c059}.form-card,.record-card,.empty-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#101d2edb;border-radius:18px}.form-card{gap:18px;margin-top:26px;padding:24px;display:grid}.compact-form{margin-bottom:22px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-card label{color:var(--muted);gap:7px;font-size:.82rem;font-weight:800;display:grid}.form-card label span{font-weight:500}input,select,textarea{border:1px solid var(--border);width:100%;min-height:44px;color:var(--text);background:#07111fc7;border-radius:11px;padding:10px 12px}textarea{resize:vertical;min-height:72px}input:disabled,select:disabled,textarea:disabled{opacity:.58;cursor:not-allowed}.form-note{color:var(--warning);margin:0}.wide-section{max-width:1080px}.record-list{gap:14px;margin-top:18px;display:grid}.record-card{gap:14px;padding:18px;display:grid}.record-card>div:first-child strong{font-size:1.02rem}.record-card p,.empty-card p{color:var(--muted);margin:5px 0 0;font-size:.86rem}.empty-card{padding:24px}.inline-form{grid-template-columns:minmax(180px,1fr) minmax(120px,.5fr) auto;align-items:center;gap:10px;display:grid}.inline-form.account-edit{grid-template-columns:1.25fr .8fr .85fr 1fr .65fr .6fr auto}.inline-button{white-space:nowrap;width:auto}.text-button{width:fit-content;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px 0;font-size:.82rem;font-weight:800}.text-button.danger{color:#ff9f9f}.record-main{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.record-code{border:1px solid var(--border);min-width:42px;color:var(--muted);border-radius:999px;justify-content:center;padding:5px 9px;font-size:.75rem;display:inline-flex}@media (max-width:1000px){.setup-grid{grid-template-columns:1fr}.form-grid.three{grid-template-columns:1fr 1fr}.inline-form.account-edit{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-form.account-edit .inline-button{grid-column:1/-1}}@media (max-width:700px){.form-grid,.form-grid.three,.inline-form,.inline-form.account-edit{grid-template-columns:1fr}.record-main{flex-direction:column;gap:8px}.form-card{padding:18px}}.action-status{border:1px solid var(--border);border-radius:12px;margin:18px 0 0;padding:12px 14px;font-weight:700}.action-status.success{color:#bdf3e7;background:#68d7c017;border-color:#68d7c040}.action-status.error{color:#ffd0d0;background:#ff9f9f14;border-color:#ff9f9f3d}.checkbox-label{grid-template-columns:auto 1fr;align-items:center;gap:10px!important;display:flex!important}.checkbox-label input{width:20px;min-height:20px}.period-tabs{flex-wrap:wrap;gap:10px;margin:26px 0 18px;display:flex}.period-tab{border:1px solid var(--border);background:#101d2eb8;border-radius:13px;gap:3px;min-width:150px;padding:12px 14px;font-weight:800;text-decoration:none;display:grid}.period-tab span{color:var(--muted);text-transform:uppercase;font-size:.72rem}.period-tab.active{background:#68d7c014;border-color:#68d7c07a}.planning-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.planning-summary>div{border:1px solid var(--border);background:#101d2ecc;border-radius:14px;padding:16px}.planning-summary span{color:var(--muted);margin-bottom:8px;font-size:.75rem;display:block}.planning-summary strong{font-size:1.02rem}.readiness-card{background:#ffbe7a12;border:1px solid #ffbe7a52;border-radius:14px;margin:14px 0;padding:16px 18px}.readiness-card.ready{background:#68d7c012;border-color:#68d7c052}.readiness-card p{color:var(--muted);margin:7px 0 0;font-size:.86rem}.warning-text{color:var(--warning)!important}.period-action{margin:14px 0 6px}.status-ready{color:var(--accent)}.status-draft{color:var(--warning)}@media (max-width:800px){.planning-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.planning-summary{grid-template-columns:1fr}}.funding-contribution{border-top:1px solid var(--border,#d7dee8);grid-template-columns:minmax(9rem,1.4fr) repeat(3,minmax(7rem,1fr));align-items:center;gap:.75rem;padding:.7rem 0;font-size:.92rem;display:grid}.explanation-json{white-space:pre-wrap;overflow-wrap:anywhere;background:#0f172a0d;border-radius:.75rem;max-height:22rem;padding:.9rem;font-size:.8rem;line-height:1.45;overflow:auto}@media (max-width:720px){.funding-contribution{grid-template-columns:1fr 1fr}}.paycheck-link{color:inherit;text-decoration:none;transition:border-color .16s,transform .16s}.paycheck-link:hover,.paycheck-link:focus-visible{border-color:#68d7c07a;transform:translateY(-1px)}.paycheck-amount,.planner-action-amount{justify-items:end;gap:8px;display:grid}.planner-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.planner-metrics small{color:var(--muted);margin-top:6px;font-size:.72rem;line-height:1.25;display:block}.planner-action-card{gap:12px}.override-note{background:#ffbe7a14;border:1px solid #ffbe7a38;border-radius:10px;padding:10px 12px;color:var(--warning)!important}.safe-to-spend-card>.record-main strong{font-size:1.5rem}.confirm-plan-card{background:#68d7c012;border:1px solid #68d7c057;border-radius:14px;margin:26px 0;padding:20px}.confirm-plan-card p{color:var(--muted)}.transfer-actions{gap:10px;display:grid}.planner-settings{margin:20px 0}@media (max-width:700px){.planner-heading{flex-direction:column}.paycheck-amount,.planner-action-amount{justify-items:start}}.dashboard-status-row{border:1px solid var(--border);background:#101d2ec7;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-top:20px;padding:18px 20px;display:flex}.dashboard-status-row span,.dashboard-subscription-total span{color:var(--muted);font-size:.78rem;display:block}.dashboard-status-row strong{margin-top:4px;font-size:1.1rem;display:block}.dashboard-status-row p{color:var(--muted);margin:4px 0 0}.health-pill{border:1px solid var(--border);border-radius:999px;padding:10px 14px;font-weight:800;text-decoration:none}.health-pill.healthy{color:var(--accent);border-color:#68d7c05c}.health-pill.attention_required{color:var(--warning);border-color:#ffbe7a59}.health-pill.blocking{color:#ff9a9a;border-color:#ff9a9a59}.dashboard-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.dashboard-metric{min-height:0;padding:18px}.dashboard-metric strong{margin-bottom:10px;font-size:1.35rem;display:block}.dashboard-metric.attention{border-color:#ffbe7a57}.metric-explanation{color:var(--muted);font-size:.8rem;line-height:1.5}.metric-explanation summary{cursor:pointer;color:var(--text);font-weight:800}.metric-explanation p{margin:8px 0}.metric-explanation a{color:var(--accent)}.dashboard-panel{border:1px solid var(--border);background:#101d2ed1;border-radius:18px;margin-top:20px;padding:22px}.dashboard-panel-heading{justify-content:space-between;align-items:start;gap:18px;display:flex}.dashboard-panel-heading h2,.dashboard-subscription-panel h2{margin:0}.dashboard-panel-heading a,.dashboard-subscription-panel a{color:var(--accent);font-weight:800}.dashboard-goal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.dashboard-goal{border:1px solid var(--border);background:#ffffff06;border-radius:14px;padding:16px;text-decoration:none}.dashboard-goal span{color:var(--muted);font-size:.76rem;display:block}.dashboard-goal strong{margin-top:5px;display:block}.dashboard-goal p{color:var(--muted);margin:6px 0 0}.dashboard-goal em{color:var(--warning);margin-top:8px;font-style:normal;display:block}.dashboard-subscription-panel{justify-content:space-between;align-items:center;gap:20px;display:flex}.dashboard-subscription-panel p{color:var(--muted)}.dashboard-subscription-total{text-align:right;min-width:220px}.dashboard-subscription-total strong{margin:5px 0 8px;font-size:1.5rem;display:block}.health-message{margin:14px 0 0}.health-message.warning{color:var(--warning)}.health-list{gap:12px;margin-top:20px;display:grid}.health-issue{border:1px solid var(--border);background:#101d2ed1;border-radius:16px;justify-content:space-between;gap:18px;padding:18px;display:flex}.health-issue.blocking{border-color:#ff9a9a57}.health-issue.warning{border-color:#ffbe7a4d}.health-issue span{color:var(--muted);text-transform:uppercase;font-size:.74rem;display:block}.health-issue strong{margin-top:4px;display:block}.health-issue p{color:var(--muted);margin:6px 0 0}.health-issue a{color:var(--accent);white-space:nowrap;align-self:center;font-weight:800}@media (max-width:980px){.dashboard-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.dashboard-status-row,.dashboard-panel-heading,.dashboard-subscription-panel,.health-issue{flex-direction:column;align-items:stretch}.dashboard-metric-grid,.dashboard-goal-grid{grid-template-columns:1fr}.dashboard-subscription-total{text-align:left;min-width:0}.health-issue a{white-space:normal;align-self:flex-start}}.import-summary-grid{margin-top:22px}.static-card{cursor:default}.static-card:hover{transform:none}.import-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;display:flex}.import-commit-card{flex:460px;margin:0}.check-label{grid-template-columns:auto 1fr;align-items:start;gap:10px!important;display:flex!important}.check-label input{margin-top:3px}.evidence-json{white-space:pre-wrap;word-break:break-word;color:var(--muted);margin:0;font-size:.78rem;overflow-x:auto}
