:root{color:#eef7f2;background:#071019;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #071019;--bg-lift: #0b1622;--surface: #0e1c27;--surface-raised: #122433;--surface-soft: #102d30;--ink: #f5fbf8;--muted: #9fb2ad;--subtle: #6d827e;--line: #203340;--line-bright: #2d4b58;--teal: #00e5c2;--mint: #66ffd1;--gold: #ffc837;--amber: #ffb020;--coral: #ff4d4d;--blue: #38bdf8;--shadow: 0 18px 42px rgb(0 0 0 / 28%);--bottom-nav-space: calc(18px + env(safe-area-inset-bottom)) }*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:linear-gradient(180deg,#06131c 0,#0b1622 360px,#071019),var(--bg)}button{font:inherit}.app-shell{width:min(100%,460px);min-height:100vh;margin:0 auto;padding:18px 14px var(--bottom-nav-space)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.eyebrow,.section-label{margin:0;color:var(--teal);font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.topbar h1{margin:3px 0 0;color:var(--ink);font-size:1.58rem;line-height:1.12}.icon-button,.tab,.primary-action,.placeholder-notice button{border:1px solid var(--line);border-radius:8px;font-weight:850}.icon-button{display:grid;width:42px;height:42px;place-items:center;background:var(--surface);color:var(--mint)}.spinning svg,.state-view svg{animation:spin 1s linear infinite}.safe-card{display:grid;gap:18px;min-height:176px;padding:22px;border:1px solid #0fbf9e;border-radius:8px;background:linear-gradient(135deg,#00e5c233,#ffc83714 48%,#122433f5),var(--surface-raised);box-shadow:var(--shadow)}.safe-card strong{display:block;margin-top:8px;color:var(--teal);font-size:3.15rem;line-height:.98}.safe-card span{display:block;max-width:30rem;margin-top:12px;color:#c5d7d2;font-size:.95rem;line-height:1.45}.safe-card>p{width:fit-content;margin:0;padding:8px 11px;border:1px solid rgb(102 255 209 / 32%);border-radius:999px;background:#00e5c21f;color:var(--mint);font-size:.78rem;font-weight:900}.health-watch{border-color:#ffc837b8}.health-watch strong,.health-watch>p,.health-watch .health-pill{color:var(--gold)}.health-tight{border-color:#ff4d4db3}.health-tight strong,.health-tight>p,.health-tight .health-pill{color:var(--coral)}.health-not_enough_data{border-color:#38bdf894}.health-not_enough_data strong,.health-not_enough_data>p,.health-not_enough_data .health-pill{color:var(--blue)}.metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.metric-strip article,.panel,.state-view{border:1px solid var(--line);border-radius:8px;background:#0e1c27eb;box-shadow:0 10px 28px #0000002e}.metric-strip article{min-height:78px;padding:13px}.metric-strip span,.transaction-row span,.body-copy{color:var(--muted);font-size:.86rem}.metric-strip strong,.large-copy{display:block;margin-top:8px;color:var(--ink);font-size:1.2rem;line-height:1.12}.content-grid,.screen-stack{display:grid;grid-template-columns:1fr;gap:12px}.panel{min-height:196px;padding:16px}.compact-panel{min-height:160px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--subtle)}.panel-title svg{color:var(--mint)}.transaction-list{display:grid;gap:2px;margin-top:14px}.transaction-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:10px 0;border-bottom:1px solid var(--line)}.transaction-row:last-child{border-bottom:0}.transaction-main{display:flex;min-width:0;align-items:center;gap:11px}.transaction-main>div{min-width:0}.transaction-icon{display:grid;flex:0 0 auto;width:32px;height:32px;place-items:center;border:1px solid rgb(102 255 209 / 20%);border-radius:999px;background:#66ffd114;color:var(--mint);font-size:.76rem;font-weight:850}.transaction-amount{flex:0 0 auto;text-align:right}.transaction-row strong,.transaction-row span{display:block}.transaction-row strong{overflow:hidden;color:var(--ink);font-size:.96rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.transaction-main span:not(.transaction-icon),.transaction-amount span{margin-top:3px}.transaction-amount strong{color:var(--mint)}.status-voided{opacity:.52}.category-grid,.chip-grid{display:grid;gap:8px;margin-top:14px}.category-card{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.category-card:last-child{border-bottom:0}.category-card span,.chip{color:var(--muted);font-size:.82rem;font-weight:800}.category-card strong{color:var(--gold);font-size:1rem}.health-pill,.chip{display:inline-flex;width:fit-content;align-items:center;min-height:34px;padding:7px 11px;border:1px solid rgb(102 255 209 / 22%);border-radius:999px;background:#00e5c21f;color:var(--mint);font-weight:850}.chip-grid{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}.chip{justify-content:center;background:#ffffff08;color:var(--ink)}.body-copy{margin:12px 0 0;line-height:1.55}.budget-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.budget-stat-grid article{min-height:76px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#ffffff08}.budget-stat-grid span{color:var(--muted);font-size:.78rem}.budget-stat-grid strong{display:block;margin-top:8px;color:var(--ink);font-size:1rem}.payday-panel{min-height:320px;border-color:#00e5c257;background:linear-gradient(135deg,#00e5c217,#ffc8370d),#0e1c27eb}.payday-not_setup,.payday-needs_review{border-color:#ffc8376b}.payday-metrics{margin-top:16px}.payday-cycle{margin:12px 0 0;color:var(--subtle);font-size:.78rem;font-weight:850}.payday-checklist{display:grid;gap:8px;margin-top:14px}.payday-check{display:flex;gap:9px;min-height:52px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#ffffff08}.payday-check svg{flex:0 0 auto;margin-top:2px;color:var(--subtle)}.payday-check.complete svg{color:var(--mint)}.payday-check strong,.payday-check span{display:block}.payday-check strong{color:var(--ink);font-size:.86rem;line-height:1.25}.payday-check span{margin-top:3px;color:var(--muted);font-size:.78rem;line-height:1.35}.recurring-panel{min-height:300px;border-color:#38bdf84d}.recurring-candidate-list,.fixed-bill-list{display:grid;gap:10px;margin-top:14px}.recurring-candidate-card{padding:12px;border:1px solid rgb(255 200 55 / 28%);border-radius:8px;background:#ffffff08}.recurring-candidate-metrics{margin-top:12px}.recurring-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.recurring-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 9px;border:1px solid var(--line-bright);border-radius:8px;background:#ffffff0a;color:var(--ink);cursor:pointer;font-size:.8rem;font-weight:840}.recurring-actions button:first-child{border-color:#00e5c261;background:#00e5c21a;color:var(--mint)}.recurring-actions button:disabled{cursor:progress;opacity:.62}.fixed-bill-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:10px 0;border-bottom:1px solid var(--line)}.fixed-bill-row:last-child{border-bottom:0}.fixed-bill-row strong,.fixed-bill-row span{display:block}.fixed-bill-row strong{color:var(--ink);font-size:.92rem}.fixed-bill-row div span{margin-top:4px;color:var(--muted);font-size:.78rem}.fixed-bill-row>span{flex:0 0 auto;color:var(--gold);font-size:.92rem;font-weight:900}.recovery-panel{min-height:260px}.recovery-watch{border-color:#ffc83785}.recovery-recovery_needed{border-color:#ff4d4d94}.recovery-metrics{margin-top:16px}.recovery-actions{display:grid;gap:8px;margin-top:14px}.recovery-actions span{min-height:38px;padding:9px 11px;border:1px solid rgb(102 255 209 / 18%);border-radius:8px;background:#ffffff08;color:var(--ink);font-size:.86rem;font-weight:820}.impulse-panel{min-height:320px}.impulse-form{display:grid;gap:12px;margin-top:16px}.impulse-form label{display:grid;gap:7px}.impulse-form label>span{color:var(--muted);font-size:.82rem;font-weight:800}.impulse-form input{width:100%;min-height:44px;border:1px solid var(--line-bright);border-radius:8px;background:#ffffff0a;color:var(--ink);font:inherit;font-weight:800;outline:none;padding:10px 12px}.impulse-form input:focus{border-color:#00e5c2b8;box-shadow:0 0 0 3px #00e5c21f}.impulse-result{margin-top:16px;padding:13px;border:1px solid rgb(102 255 209 / 20%);border-radius:8px;background:#ffffff08}.impulse-caution{border-color:#ffc8376b}.impulse-wait,.impulse-unavailable{border-color:#ff4d4d6b}.result-badge{min-height:28px;padding:5px 9px;border:1px solid rgb(102 255 209 / 22%);border-radius:999px;color:var(--mint);font-size:.72rem;font-weight:900}.impulse-caution .result-badge{color:var(--gold)}.impulse-wait .result-badge,.impulse-unavailable .result-badge{color:var(--coral)}.impulse-metrics{margin-top:12px}.impulse-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.impulse-actions button{min-height:40px;padding:8px 9px;border:1px solid var(--line-bright);border-radius:8px;background:#ffffff0a;color:var(--ink);cursor:pointer;font-weight:820}.form-note{margin:10px 0 0;color:var(--gold);font-size:.86rem;line-height:1.4}.wishlist-panel{min-height:280px}.wishlist-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.wishlist-stat-row article{min-height:70px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#ffffff08}.wishlist-stat-row span{color:var(--muted);font-size:.76rem}.wishlist-stat-row strong{display:block;margin-top:7px;color:var(--ink);font-size:.96rem}.wishlist-list{display:grid;gap:10px;margin-top:14px}.wishlist-card{padding:12px;border:1px solid rgb(102 255 209 / 18%);border-radius:8px;background:#ffffff08}.wishlist-cooling{border-color:#ffc8376b}.wishlist-bought{border-color:#00e5c252}.wishlist-skipped{border-color:#38bdf852}.wishlist-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.wishlist-card-header>div{min-width:0}.wishlist-card-header strong,.wishlist-card-header span{display:block}.wishlist-card-header strong{overflow:hidden;color:var(--ink);font-size:.98rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.wishlist-card-header>div>span{margin-top:4px;color:var(--mint);font-size:.9rem;font-weight:850}.wishlist-badge{flex:0 0 auto;min-height:28px;padding:5px 9px;border:1px solid rgb(102 255 209 / 22%);border-radius:999px;color:var(--mint);font-size:.72rem;font-weight:900}.wishlist-cooling .wishlist-badge{color:var(--gold)}.wishlist-skipped .wishlist-badge{color:var(--blue)}.wishlist-date{margin:8px 0 0;color:var(--subtle);font-size:.78rem;font-weight:800}.wishlist-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.wishlist-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:8px 7px;border:1px solid var(--line-bright);border-radius:8px;background:#ffffff0a;color:var(--ink);cursor:pointer;font-size:.78rem;font-weight:820}.wishlist-actions button:disabled{cursor:not-allowed;opacity:.52}.notifications-panel{min-height:260px;border-color:#66ffd138}.notification-subtitle{margin-top:6px}.notification-list{display:grid;gap:10px;margin-top:14px}.notification-card{padding:12px;border:1px solid rgb(102 255 209 / 18%);border-radius:8px;background:#ffffff08}.notification-warning{border-color:#ff4d4d6b}.notification-watch{border-color:#ffc8376b}.notification-success{border-color:#00e5c252}.notification-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.notification-card-header>span:last-child{color:var(--subtle);font-size:.76rem;font-weight:800}.notification-badge{min-height:27px;padding:5px 9px;border:1px solid rgb(102 255 209 / 22%);border-radius:999px;color:var(--mint);font-size:.72rem;font-weight:900}.notification-warning .notification-badge{color:var(--coral)}.notification-watch .notification-badge{color:var(--gold)}.notification-card strong{display:block;color:var(--ink);font-size:.98rem;line-height:1.25}.notification-card button{min-height:38px;margin-top:10px;padding:8px 10px;border:1px solid var(--line-bright);border-radius:8px;background:#ffffff0a;color:var(--ink);cursor:pointer;font-weight:850}.insights-segmented{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:5px;border:1px solid rgb(102 255 209 / 15%);border-radius:8px;background:#060f17b8}.insights-segmented button{min-height:38px;padding:8px 6px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:.76rem;font-weight:900}.insights-segmented button.active{border-color:#66ffd147;background:#66ffd11c;color:var(--mint)}.insights-group-header{display:grid;gap:5px;padding:4px 2px 0}.insights-group-header span{color:var(--gold);font-size:.72rem;font-weight:900;text-transform:uppercase}.insights-group-header h2{margin:0;color:var(--ink);font-size:1.22rem;line-height:1.16}.insights-group-header p,.insights-disclaimer{margin:0;color:var(--muted);font-size:.84rem;line-height:1.42}.insights-disclaimer{padding:10px 12px;border:1px solid rgb(255 200 55 / 18%);border-radius:8px;background:#ffc8370f;color:#d8e5df;font-weight:760}.insights-focus-hero{min-height:220px;border-color:#66ffd147;background:linear-gradient(145deg,#66ffd11c,#ffc83712),#0c1a26f0}.insights-focus-hero .large-copy{color:var(--mint);font-size:2.45rem}.insights-focus-metrics{margin-top:14px}.insights-focus-grid{display:grid;gap:10px}.insight-signal-card{display:grid;gap:9px;min-height:132px;padding:13px;border:1px solid rgb(102 255 209 / 16%);border-radius:8px;background:#ffffff0a}.insight-signal-card div{display:grid;gap:6px}.insight-signal-card span{width:fit-content;min-height:27px;padding:5px 9px;border:1px solid rgb(102 255 209 / 22%);border-radius:999px;color:var(--mint);font-size:.72rem;font-weight:900}.insight-signal-card strong{color:var(--ink);font-size:.98rem;line-height:1.25}.insight-signal-card p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.4}.insight-signal-card button{width:fit-content;min-height:34px;padding:7px 10px;border:1px solid rgb(102 255 209 / 20%);border-radius:8px;background:#66ffd114;color:var(--mint);cursor:pointer;font-size:.76rem;font-weight:900}.signal-warning{border-color:#ff4d4d57}.signal-warning span{border-color:#ff4d4d42;color:var(--coral)}.signal-watch{border-color:#ffc83752}.signal-watch span{border-color:#ffc83742;color:var(--gold)}.signal-success span{color:var(--teal)}.insight-action-card,.roi-compact-panel{border-color:#66ffd138;background:linear-gradient(145deg,#66ffd114,#ffc8370d),#0a1823f0}.roi-compact-panel{border-color:#ffc83747}.roi-panel{min-height:280px;border-color:#ffc83757;background:linear-gradient(135deg,#ffc83714,#00e5c20d),#0e1c27eb}.roi-total{display:block;margin-top:8px;color:var(--gold);font-size:2.35rem;line-height:1}.roi-metrics{margin-top:14px}.roi-counts{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.roi-counts span{min-height:30px;padding:6px 9px;border:1px solid rgb(102 255 209 / 18%);border-radius:999px;background:#ffffff08;color:var(--muted);font-size:.76rem;font-weight:850}.wrapped-panel{min-height:420px;border-color:#ffc83761;background:linear-gradient(135deg,#ffc8371a,#00e5c212 48%,#0e1c27f0),#0e1c27eb}.wrapped-setup_budget{border-color:#38bdf86b}.wrapped-heading{display:flex;align-items:flex-start;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:12px}.wrapped-heading strong{flex:0 0 auto;max-width:100%;color:var(--gold);font-size:2rem;line-height:1;text-align:right}.wrapped-metrics{margin-top:14px}.wrapped-feature-grid{display:grid;gap:9px;margin-top:14px}.wrapped-insight{min-height:82px;padding:12px;border:1px solid rgb(102 255 209 / 17%);border-radius:8px;background:#ffffff08}.wrapped-insight span,.wrapped-category-list span{color:var(--muted);font-size:.77rem;font-weight:850}.wrapped-insight strong,.wrapped-category-list strong{display:block;margin-top:7px;color:var(--ink);font-size:.96rem;line-height:1.25}.wrapped-insight p{margin:7px 0 0;color:var(--subtle);font-size:.78rem;line-height:1.35}.wrapped-category-list{display:grid;gap:8px;margin-top:14px}.wrapped-category-list div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:8px 0;border-bottom:1px solid var(--line)}.wrapped-category-list div:last-child{border-bottom:0}.danger-panel{min-height:340px;border-color:#ffc83752;background:linear-gradient(135deg,#ffc83714,#00e5c20d),#0e1c27eb}.danger-subtitle{margin-top:6px}.danger-active{width:fit-content;margin:14px 0 0;min-height:30px;padding:6px 10px;border:1px solid rgb(255 200 55 / 28%);border-radius:999px;color:var(--gold);font-size:.78rem;font-weight:900}.danger-list{display:grid;gap:10px;margin-top:14px}.danger-card{padding:12px;border:1px solid rgb(102 255 209 / 17%);border-radius:8px;background:#ffffff08}.danger-warning{border-color:#ff4d4d6b}.danger-watch{border-color:#ffc8376b}.danger-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.danger-card-header>span:last-child{color:var(--subtle);font-size:.76rem;font-weight:850}.danger-badge{min-height:27px;padding:5px 9px;border:1px solid rgb(102 255 209 / 22%);border-radius:999px;color:var(--mint);font-size:.72rem;font-weight:900}.danger-warning .danger-badge{color:var(--coral)}.danger-watch .danger-badge{color:var(--gold)}.danger-card h3{margin:9px 0 0;color:var(--ink);font-size:1rem;line-height:1.25}.danger-card p{margin:7px 0 0;color:var(--muted);font-size:.82rem;line-height:1.42}.danger-metadata{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.danger-metadata span{min-height:28px;padding:5px 8px;border:1px solid rgb(102 255 209 / 16%);border-radius:999px;color:var(--subtle);font-size:.72rem;font-weight:850}.danger-card .danger-evidence{color:var(--subtle);font-size:.78rem}.danger-card .danger-action-copy{color:var(--gold);font-weight:850}.danger-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.danger-actions button{min-height:38px;padding:8px 7px;border:1px solid var(--line-bright);border-radius:8px;background:#ffffff0a;color:var(--ink);cursor:pointer;font-size:.76rem;font-weight:850}.budget-locks-panel{border-color:#00e5c240;background:linear-gradient(145deg,#00e5c212,#ffc8370d),#0d1b26eb}.budget-locks-subtitle{margin-top:6px}.budget-lock-list,.budget-lock-suggestions{display:grid;gap:10px;margin-top:14px}.budget-lock-card{padding:12px;border:1px solid rgb(102 255 209 / 17%);border-radius:8px;background:#ffffff08}.budget-lock-active{border-color:#00e5c266}.budget-lock-broken{border-color:#ff4d4d59}.budget-lock-expired,.budget-lock-calm{opacity:.82}.budget-lock-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.budget-lock-card-header div{display:grid;gap:3px}.budget-lock-card-header strong{color:var(--ink);font-size:.95rem}.budget-lock-card-header span{color:var(--subtle);font-size:.76rem;font-weight:850}.budget-lock-badge{min-height:27px;padding:5px 9px;border:1px solid rgb(102 255 209 / 22%);border-radius:999px;color:var(--mint);font-size:.72rem;font-weight:900}.budget-lock-reason,.budget-lock-time{margin:8px 0 0;color:var(--muted);font-size:.78rem;line-height:1.35}.budget-lock-reason{color:#d8e5df}.budget-lock-actions,.budget-lock-form,.budget-lock-suggestions button{display:grid;gap:8px}.budget-lock-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.budget-lock-actions button,.budget-lock-suggestions button{min-height:36px;padding:8px 10px;background:#66ffd11a;color:var(--mint);cursor:pointer;font-size:.76rem;font-weight:900}.budget-lock-suggestions button{justify-items:start;text-align:left}.budget-lock-suggestions small{color:var(--subtle);font-size:.74rem;font-weight:700;line-height:1.35}.budget-lock-form{margin-top:16px}.compact-create-action{width:100%}.collapsed-form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:2px}.collapsed-form-actions .primary-action{width:100%;margin-top:0}.budget-lock-form label{display:grid;gap:6px;color:var(--muted);font-size:.78rem;font-weight:850}.budget-lock-form input,.budget-lock-form select{width:100%;min-height:42px;padding:10px 12px;border:1px solid rgb(102 255 209 / 16%);border-radius:8px;background:#060f17c7;color:var(--ink);font:inherit;font-weight:800}.budget-lock-history{margin-top:14px;color:var(--muted);font-size:.84rem}.budget-lock-history summary{cursor:pointer;font-weight:900}.money-rules-panel{border-color:#ffc8373d;background:linear-gradient(145deg,#ffc83712,#00e5c20d),#0d1b26eb}.money-rules-subtitle{margin-top:6px}.money-rules-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.money-rule-list,.money-rule-suggestions,.money-rule-form{display:grid;gap:10px;margin-top:14px}.money-rule-template-preview,.goal-template-preview{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.money-rule-template-preview span,.goal-template-preview span{min-height:29px;padding:6px 9px;border:1px solid rgb(102 255 209 / 18%);border-radius:999px;color:var(--muted);font-size:.74rem;font-weight:850}.money-rule-card{display:grid;gap:9px;padding:12px;border:1px solid rgb(102 255 209 / 18%);border-radius:8px;background:#ffffff0a}.money-rule-paused{margin-top:14px;color:var(--muted);font-size:.84rem}.money-rule-paused summary{cursor:pointer;font-weight:900}.money-rule-paused .money-rule-list{margin-top:10px}.money-rule-paused .money-rule-card{opacity:.82}.money-rule-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.money-rule-card-header div{display:grid;min-width:0;gap:3px}.money-rule-card-header strong{color:var(--ink);font-size:.94rem}.money-rule-card-header span,.money-rule-card small{color:var(--muted);font-size:.76rem;font-weight:800}.money-rule-badge{padding:5px 9px;border:1px solid rgb(255 200 55 / 24%);border-radius:999px;color:var(--gold);font-size:.7rem;font-weight:950;text-transform:uppercase}.money-rule-card p,.money-rule-preview{margin:0;color:#dbe7e3;font-size:.82rem;line-height:1.4}.money-rule-actions,.money-rule-suggestions button{display:grid;gap:8px}.money-rule-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.money-rule-actions button,.money-rule-suggestions button{min-height:36px;padding:8px 10px;border:1px solid rgb(102 255 209 / 20%);border-radius:8px;background:#66ffd114;color:var(--mint);cursor:pointer;font-size:.76rem;font-weight:900}.money-rule-suggestions button{justify-items:start;text-align:left}.money-rule-suggestions small{color:var(--subtle);font-size:.74rem;font-weight:700;line-height:1.35}.money-rule-form label{display:grid;gap:6px;color:var(--muted);font-size:.78rem;font-weight:850}.money-rule-form input,.money-rule-form select{width:100%;min-height:42px;padding:10px 12px;border:1px solid rgb(102 255 209 / 16%);border-radius:8px;background:#060f17c7;color:var(--ink);font:inherit;font-weight:800}.goals-panel{border-color:#66ffd138;background:linear-gradient(145deg,#66ffd114,#ffc8370d),#0a1823f0}.goals-subtitle{margin-top:6px}.goals-future-card{display:grid;gap:8px;margin-top:14px;padding:13px;border:1px solid rgb(102 255 209 / 18%);border-radius:8px;background:#ffffff0d}.goals-future-card h3,.goals-future-card p,.goals-future-card small{margin:0}.goals-future-card h3{color:var(--ink);font-size:1rem}.goals-future-card p,.goals-future-card small{color:var(--muted);font-size:.8rem;line-height:1.4}.goals-summary{margin-bottom:14px}.goal-list,.goal-form{display:grid;gap:10px;margin-top:14px}.goal-card{display:grid;gap:10px;padding:12px;border:1px solid rgb(255 200 55 / 18%);border-radius:8px;background:#ffffff0a}.goal-card-header,.goal-money-row,.goal-actions,.goal-progress-update{display:flex;gap:10px}.goal-card-header,.goal-money-row{align-items:flex-start;justify-content:space-between}.goal-card-header div{display:grid;min-width:0;gap:3px}.goal-card-header strong{color:var(--ink);font-size:.94rem}.goal-card-header span,.goal-money-row,.goal-card small{color:var(--muted);font-size:.76rem;font-weight:850}.goal-progress-track{width:100%;height:9px;overflow:hidden;border-radius:999px;background:#ffffff14}.goal-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mint),var(--gold))}.goal-card p{margin:0;color:#dbe7e3;font-size:.82rem;line-height:1.4}.goal-progress-update{align-items:center}.goal-progress-update .money-input{flex:1;min-width:0}.goal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.goal-progress-update button,.goal-actions button{min-height:36px;padding:8px 10px;border:1px solid rgb(102 255 209 / 20%);border-radius:8px;background:#66ffd114;color:var(--mint);cursor:pointer;font-size:.76rem;font-weight:900}.goal-paused{margin-top:14px;color:var(--muted);font-size:.84rem}.goal-paused summary{cursor:pointer;font-weight:900}.goal-form label{display:grid;gap:6px;color:var(--muted);font-size:.78rem;font-weight:850}.goal-form input,.goal-form select{width:100%;min-height:42px;padding:10px 12px;border:1px solid rgb(102 255 209 / 16%);border-radius:8px;background:#060f17c7;color:var(--ink);font:inherit;font-weight:800}.regret-panel{border-color:#ffc8373d;background:linear-gradient(155deg,rgb(255 200 55 / 8%),transparent 42%),var(--panel)}.regret-subtitle,.regret-score-card p{margin:0}.regret-score-card{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:14px;align-items:center;margin-top:16px;padding:14px;border:1px solid rgb(255 200 55 / 22%);border-radius:8px;background:#ffffff0a}.regret-score-card strong{display:block;margin:8px 0 4px;color:var(--ink);font-size:1.65rem;line-height:1}.regret-score-ring{display:grid;aspect-ratio:1;place-items:center;border:1px solid rgb(102 255 209 / 32%);border-radius:50%;background:radial-gradient(circle,#66ffd133,#051419cc);color:var(--mint);font-size:1.05rem;font-weight:950}.regret-metrics{margin-top:14px}.regret-prompt-list,.regret-insight-list,.regret-recent-list{display:grid;gap:10px;margin-top:16px}.regret-prompt-card,.regret-insight,.regret-reflection-row{border:1px solid var(--line);border-radius:8px;background:#ffffff0a}.regret-prompt-card{display:grid;gap:12px;padding:13px}.regret-prompt-card p{margin:0;color:#dbe7e3;line-height:1.4}.regret-prompt-header,.regret-reflection-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.regret-prompt-header div,.regret-reflection-row div{display:grid;min-width:0;gap:3px}.regret-prompt-header strong,.regret-reflection-row strong{color:var(--ink)}.regret-prompt-header span,.regret-reflection-row span{color:var(--muted);font-size:.8rem;font-weight:800}.regret-tag-row{display:flex;flex-wrap:wrap;gap:6px}.regret-tag-row span{padding:5px 8px;border:1px solid rgb(102 255 209 / 18%);border-radius:999px;color:var(--mint);font-size:.72rem;font-weight:850}.regret-reason-select{display:grid;gap:6px}.regret-reason-select span{color:var(--muted);font-size:.76rem;font-weight:850}.regret-reason-select select{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--line-bright);border-radius:8px;background:#040f16eb;color:var(--ink);font:inherit;font-weight:800}.regret-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.regret-actions button,.regret-insight button{min-height:38px;border:1px solid rgb(102 255 209 / 20%);background:#66ffd114;color:var(--mint);cursor:pointer}.regret-actions button:disabled{cursor:progress;opacity:.62}.regret-insight{display:grid;gap:8px;padding:12px}.regret-insight div{display:grid;gap:4px}.regret-insight span{width:fit-content;padding:4px 8px;border-radius:999px;background:#ffffff12;color:var(--muted);font-size:.7rem;font-weight:900;text-transform:uppercase}.regret-insight strong{color:var(--ink)}.regret-insight p,.regret-insight small{margin:0;color:var(--muted);line-height:1.4}.regret-success{border-color:#66ffd13d}.regret-watch{border-color:#ffc8373d}.regret-reflection-row{padding:11px 12px}.reflection-worth_it{border-color:#66ffd133}.reflection-regret{border-color:#ffc83742}.reflection-neutral{border-color:#ffffff1a}.money-calendar-panel{min-height:360px;border-color:#66ffd13d;background:linear-gradient(135deg,#00e5c214,#ffc8370d),#0e1c27eb}.calendar-subtitle{margin-top:6px}.calendar-list{display:grid;gap:14px;margin-top:16px}.calendar-day-group{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px}.calendar-date{padding-top:4px}.calendar-date strong,.calendar-date span{display:block}.calendar-date strong{color:var(--gold);font-size:.98rem;line-height:1.1}.calendar-date span{margin-top:5px;color:var(--subtle);font-size:.72rem;font-weight:800;line-height:1.2}.calendar-day-items{display:grid;gap:9px}.calendar-item{padding:12px;border:1px solid rgb(102 255 209 / 17%);border-radius:8px;background:#ffffff08}.calendar-warning{border-color:#ff4d4d6b}.calendar-watch{border-color:#ffc8376b}.calendar-success{border-color:#00e5c257}.calendar-item-header,.calendar-item-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.calendar-item-header strong{color:var(--mint);font-size:.92rem}.calendar-badge{min-height:27px;padding:5px 9px;border:1px solid rgb(102 255 209 / 22%);border-radius:999px;color:var(--mint);font-size:.72rem;font-weight:900}.calendar-warning .calendar-badge{color:var(--coral)}.calendar-watch .calendar-badge{color:var(--gold)}.calendar-item h3{margin:9px 0 0;color:var(--ink);font-size:.98rem;line-height:1.25}.calendar-item p{margin:7px 0 0;color:var(--muted);font-size:.82rem;line-height:1.42}.calendar-item-footer{margin-top:11px}.calendar-item-footer span{color:var(--subtle);font-size:.76rem;font-weight:850}.calendar-item-footer button{min-height:34px;padding:7px 9px;border:1px solid var(--line-bright);border-radius:8px;background:#ffffff0a;color:var(--ink);cursor:pointer;font-size:.78rem;font-weight:850}.budget-form{display:grid;gap:12px;margin-top:16px}.budget-form label{display:grid;gap:7px}.budget-form label>span{color:var(--muted);font-size:.82rem;font-weight:800}.budget-form input{width:100%;min-height:44px;border:1px solid var(--line-bright);border-radius:8px;background:#ffffff0a;color:var(--ink);font:inherit;font-weight:800;outline:none;padding:10px 12px}.budget-form input:focus{border-color:#00e5c2b8;box-shadow:0 0 0 3px #00e5c21f}.money-input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid var(--line-bright);border-radius:8px;background:#ffffff0a}.money-input:focus-within{border-color:#00e5c2b8;box-shadow:0 0 0 3px #00e5c21f}.money-input strong{padding-left:12px;color:var(--mint);font-size:.82rem}.money-input input{border:0;background:transparent;box-shadow:none}.budget-context,.form-actions{display:flex;align-items:center;gap:8px}.budget-context{flex-wrap:wrap}.budget-context span{min-height:30px;padding:6px 10px;border:1px solid rgb(102 255 209 / 18%);border-radius:999px;color:var(--muted);font-size:.78rem;font-weight:800}.form-actions{justify-content:flex-end}.form-error{margin:0;color:var(--gold);font-size:.86rem;line-height:1.4}.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;margin-top:16px;padding:9px 14px;background:var(--teal);color:#031411;cursor:pointer}.primary-action:disabled{cursor:progress;opacity:.68}.primary-action:active{transform:translateY(1px)}.secondary-action{min-height:42px;padding:9px 14px;border:1px solid var(--line-bright);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-weight:850}.state-view{display:grid;min-height:300px;place-items:center;align-content:center;gap:12px;padding:28px;color:var(--muted);text-align:center}.state-view p{max-width:24rem;margin:0}.placeholder-notice{position:fixed;right:14px;bottom:calc(92px + env(safe-area-inset-bottom));left:14px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(calc(100% - 28px),432px);margin:0 auto;padding:12px;border:1px solid rgb(255 200 55 / 40%);border-radius:8px;background:#101b24;box-shadow:var(--shadow);color:var(--ink)}.placeholder-notice span{color:#d8e5df;font-size:.86rem;line-height:1.35}.placeholder-notice button{min-width:52px;min-height:36px;background:#ffc8371f;color:var(--gold);cursor:pointer}.tabbar{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom));z-index:10;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;width:100%;margin:16px auto 0;padding:6px;border:1px solid rgb(45 75 88 / 90%);border-radius:8px;background:#060f17eb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 14px 34px #0006}.tab{display:grid;min-width:0;min-height:54px;place-items:center;gap:3px;background:transparent;color:var(--muted);cursor:pointer}.tab span{max-width:100%;overflow:hidden;font-size:.7rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.tab.active{border-color:#00e5c27a;background:#00e5c21f;color:var(--mint)}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:760px){.app-shell{width:min(100%,860px)}.content-grid{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr)}}@media(max-width:380px){.app-shell{padding-right:10px;padding-left:10px}.safe-card{padding:18px}.safe-card strong{font-size:2.58rem}.metric-strip,.impulse-actions,.wishlist-stat-row,.wishlist-actions,.regret-actions{grid-template-columns:1fr}.tabbar{width:100%}}
