:root{--canvas: #f6f7f8;--surface: #eef1f4;--card: #e5e9ee;--paper: #ffffff;--ink: #151922;--body: #3b424d;--muted: #6d7580;--line: #d9dee6;--coral: #2563eb;--coral-active: #1d4ed8;--dark: #111827;--dark-2: #1f2937;--forest: #0f766e;--teal: #0284c7;--amber: #b7791f;--success: #16803a;--warning: #a16207;--error: #b42318;--tabs-height: 82px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-height:100%;background:var(--canvas);color:var(--ink);overflow-x:hidden}body{margin:0;min-height:100vh;background:var(--canvas);color:var(--ink);overflow-x:hidden}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.login-screen,.app-shell{width:min(100%,440px);min-height:100vh;margin:0 auto;background:var(--canvas);color:var(--ink)}.login-screen{display:grid;align-items:center;padding:18px}.login-panel,.form-panel,.section-block,.capture-panel{border:1px solid var(--line);border-radius:8px;background:var(--paper)}.login-panel{padding:20px;box-shadow:0 16px 34px #15192214}.login-mark{display:inline-grid;width:48px;height:48px;place-items:center;margin-bottom:12px;border-radius:8px;background:var(--dark);color:var(--teal)}.eyebrow{margin:0 0 6px;color:var(--forest);font-size:.78rem;font-weight:850}h1,h2,h3,p{letter-spacing:0}h1,h2,h3{margin:0;line-height:1.18}.login-panel h1{font-size:2.25rem;font-weight:900}.muted{color:var(--muted);font-size:.9rem;line-height:1.48}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.profile-card{display:grid;gap:4px;min-height:78px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--body);text-align:left}.profile-card span{color:var(--ink);font-weight:900}.profile-card small{color:var(--muted);font-weight:700}.profile-card.active{border-color:#2563eb94;background:#eff6ff}.pin-form{display:grid;gap:10px}.add-person-panel{display:grid;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.add-person-panel strong{display:block;color:var(--ink);font-size:.96rem}.add-person-panel p{margin:4px 0 0;color:var(--muted);font-size:.82rem;line-height:1.42}label{display:grid;gap:6px;min-width:0;color:var(--body);font-size:.84rem;font-weight:850}input,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;max-width:100%;min-width:0;min-height:54px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:1rem;font-weight:850;outline:none;box-shadow:inset 0 1px #18171508}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 14px) 50%;background-size:8px 8px,8px 8px;background-repeat:no-repeat}input[type=date],input[type=time]{text-align:left}.date-field-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0}.date-field-row button{min-height:54px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--forest);font-size:.82rem;font-weight:900;white-space:nowrap}input:focus,select:focus{border-color:var(--coral);box-shadow:0 0 0 3px #2563eb24}.form-error{margin:0;color:var(--error);font-size:.82rem;font-weight:850}.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;scroll-margin-bottom:calc(var(--tabs-height) + 96px);min-height:52px;border-radius:8px;background:var(--dark);color:#fff;font-weight:900}.primary-action:active{background:var(--dark-2)}.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:8px;background:var(--surface);color:var(--ink);border:1px solid var(--line);font-weight:900}.app-shell{position:relative;padding-bottom:calc(var(--tabs-height) + env(safe-area-inset-bottom));box-shadow:0 0 0 1px #d9dee6cc}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:66px;padding:10px 14px;border-bottom:1px solid rgba(217,222,230,.92);background:#f6f7f8f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar h1{font-size:1.12rem;font-weight:900}.profile-label{margin:3px 0 0;color:var(--muted);font-size:.78rem;font-weight:720;line-height:1.2}.top-actions{display:inline-flex;align-items:center;gap:8px}.sync-pill,.icon-button,.system-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border-radius:8px;background:var(--surface);color:var(--forest);font-size:.76rem;font-weight:900}.sync-pill{padding:0 10px}.sync-pill.pending{background:#fff2d8;color:#8a5d0e}.icon-button{width:36px;color:var(--body)}.app-main{padding:14px 14px calc(var(--tabs-height) + 28px + env(safe-area-inset-bottom))}.screen-stack{display:grid;gap:14px}.hero-panel,.summary-panel,.close-hero{position:relative;overflow:hidden;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.hero-panel{min-height:204px;padding:16px}.hero-header,.section-heading,.summary-grid,.form-grid,.bar-row,.ledger-row,.memory-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.hero-header,.hero-label,.hero-amount,.hero-grid,.money-headline,.forecast-explain,.formula-details,.forecast-action,.forecast-link,.summary-panel>*,.close-hero>*{position:relative;z-index:1}.status-chip{display:inline-flex;min-height:30px;align-items:center;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--body);font-size:.78rem;font-weight:900}.status-chip.subtle{border-color:#0f766e38;background:#ecfdf5;color:var(--forest)}.hero-label{margin:18px 0 8px;color:var(--muted);font-size:.86rem}.hero-amount{font-size:2.45rem;font-weight:950;line-height:1;word-break:break-word}.hero-grid,.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.hero-grid span,.summary-grid span{display:grid;gap:4px;min-height:66px;padding:10px;border-radius:8px;border:1px solid var(--line);background:#f8fafc;color:var(--muted);font-size:.78rem}.hero-grid strong,.summary-grid strong{color:var(--ink);font-size:1.1rem}.forecast-hero{display:grid;gap:10px}.money-headline,.forecast-explain{margin:0;color:var(--body);font-size:.88rem;font-weight:850;line-height:1.45}.forecast-explain{color:var(--muted);font-size:.8rem}.simple-detail-grid{margin-top:6px}.simple-detail-grid span{min-height:58px}.formula-details{display:grid;gap:8px;color:var(--muted);font-size:.82rem;font-weight:900}.formula-details summary{cursor:pointer;width:max-content;max-width:100%;min-height:34px;padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:#f8fafc;color:var(--body);list-style-position:inside}.formula-details .forecast-breakdown{margin-top:8px}.simple-summary-card.tone-check .status-chip.subtle,.simple-summary-card.tone-check .dashboard-insight{color:#92400e}.simple-summary-card.tone-warn .status-chip.subtle,.simple-summary-card.tone-warn .dashboard-insight{color:var(--error)}.simple-summary-card.tone-good .status-chip.subtle,.simple-summary-card.tone-good .dashboard-insight{color:var(--forest)}.forecast-hero .hero-label{margin-top:18px}.forecast-grid span{min-width:0}.forecast-grid strong{overflow-wrap:anywhere;font-size:1rem}.forecast-actions{position:relative;z-index:1;display:grid;gap:8px;margin-top:12px}.forecast-action{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start;min-height:58px;padding:10px;border-radius:8px;border:1px solid var(--line);background:#f8fafc;color:var(--ink);text-align:left}.forecast-breakdown{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px;padding:8px;border-radius:8px;border:1px solid var(--line);background:#f8fafc}.forecast-breakdown span{display:grid;gap:2px;min-width:0;color:var(--muted);font-size:.66rem;font-weight:850;line-height:1.22}.forecast-breakdown strong{color:var(--ink);font-size:.76rem;overflow-wrap:anywhere}.forecast-explain{position:relative;z-index:1;margin:8px 0 0;color:var(--muted);font-size:.78rem;font-weight:820;line-height:1.42}.forecast-action svg{margin-top:2px;color:var(--teal)}.forecast-action span{display:grid;gap:2px;min-width:0}.forecast-action strong{font-size:.88rem;overflow-wrap:anywhere}.forecast-action small{color:var(--muted);font-size:.76rem;line-height:1.35}.check-list-card .forecast-action{border:1px solid rgba(46,95,77,.12);background:var(--paper);color:var(--body)}.check-list-card .forecast-action strong{color:var(--ink)}.check-list-card .forecast-action small{color:var(--muted)}.forecast-link{position:relative;z-index:1;display:inline-flex;width:fit-content;min-height:38px;align-items:center;gap:6px;margin-top:10px;padding:0 10px;border-radius:8px;border:1px solid var(--line);background:#f8fafc;color:var(--body);font-size:.82rem;font-weight:950}.money-visual-row{position:relative;z-index:1;display:grid;grid-template-columns:118px minmax(0,1fr);gap:12px;align-items:center;margin-top:14px}.money-donut{display:grid;place-items:center;width:118px;height:118px;border-radius:50%;background:conic-gradient(var(--coral) 0 var(--spend-share),#e5e7eb var(--spend-share) 100%);box-shadow:inset 0 0 0 12px var(--paper);border:1px solid var(--line)}.money-donut span,.money-donut small{grid-area:1 / 1}.money-donut span{color:var(--ink);font-size:1.38rem;font-weight:950}.money-donut small{margin-top:38px;color:var(--muted);font-size:.72rem;font-weight:900}.money-highlights{display:grid;gap:8px}.money-highlights span{display:grid;gap:2px;min-height:52px;padding:10px;border-radius:8px;border:1px solid var(--line);background:#f8fafc;color:var(--muted);font-size:.78rem}.money-highlights strong{color:var(--ink);font-size:1.02rem}.dashboard-insight{position:relative;z-index:1;margin:12px 0 0;padding:10px;border-radius:8px;border:1px solid rgba(15,118,110,.16);background:#ecfdf5;color:var(--forest);font-size:.82rem;font-weight:850;line-height:1.38}.quick-actions,.memory-list,.ledger,.category-bars{display:grid;gap:8px}.cloud-panel{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:70px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.cloud-panel svg{color:var(--forest)}.cloud-panel strong{display:block;color:var(--ink);font-size:.9rem}.cloud-panel p{margin:3px 0 0;color:var(--muted);font-size:.78rem;line-height:1.35}.sync-notice{color:var(--forest)!important;font-weight:900}.cloud-panel input{min-height:38px;margin-top:6px;font-size:.84rem}.cloud-panel button{min-height:38px;padding:0 10px;border-radius:8px;background:var(--dark);color:#fff;font-size:.78rem;font-weight:900;white-space:nowrap}.cloud-panel.ready{border-color:#0f766e42;background:#f0fdfa}.task-card{display:grid;grid-template-columns:34px 1fr 20px;align-items:center;gap:12px;min-height:78px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);text-align:left}.task-card svg{color:var(--forest)}.task-card.primary{border-color:var(--dark);background:var(--dark);color:#fff}.task-card.primary svg{color:#fff}.task-card span{display:grid;gap:4px}.task-card strong{font-size:1rem}.task-card small{color:inherit;opacity:.72;font-size:.8rem}.section-block,.capture-panel,.form-panel{padding:14px}.system-block{background:var(--surface)}.system-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.system-actions button{min-height:42px;padding:0 10px;background:var(--paper);color:var(--forest);font-size:.82rem;font-weight:900}.system-actions .danger-lite{color:var(--error)}.section-heading{margin-bottom:12px}.section-heading h2{font-size:1.05rem;font-weight:950}.section-heading span{color:var(--muted);font-size:.78rem;font-weight:900}.section-heading.inverted span,.section-heading.inverted .eyebrow{color:var(--muted)}.habit-row{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;padding:10px 0}.habit-row+.habit-row{border-top:1px solid var(--line)}.habit-row strong,.memory-row strong,.ledger-row strong{color:var(--ink);font-size:.94rem}.habit-row p{margin:2px 0 0;color:var(--muted);font-size:.82rem}.habit-dot{width:12px;height:12px;margin-top:5px;border-radius:99px;background:var(--line)}.habit-dot.done{background:var(--success)}.habit-dot.amber{background:var(--amber)}.action-queue{display:grid;gap:8px}.ops-list{display:grid;gap:6px}.ops-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;color:var(--ink);text-align:left}.ops-row:disabled{cursor:default;opacity:1}.ops-row svg{color:var(--forest)}.ops-row span{display:grid;gap:2px;min-width:0}.ops-row strong{overflow-wrap:anywhere;font-size:.9rem}.ops-row small{color:var(--muted);font-size:.78rem;line-height:1.34}.ops-row.tone-warn{border-color:#b7791f47;background:#fffbeb}.ops-row.tone-calm{border-color:#0284c738;background:#f0f9ff}.ops-row.tone-good{border-color:#0f766e33;background:#f0fdfa}.memory-row{min-height:58px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);text-align:left}.memory-row span,.ledger-row div{display:grid;gap:4px;min-width:0}.memory-row small,.ledger-row small{color:var(--muted);font-size:.78rem}.capture-panel{display:grid;gap:12px}.capture-panel h2,.close-hero h2,.summary-panel h2{font-size:1.55rem;font-weight:950}.upload-zone{display:grid;gap:10px;place-items:center;min-height:128px;padding:12px;border:1px dashed #9aa4b2;border-radius:8px;background:#f8fafc;color:var(--body);text-align:center}.upload-zone input,.visually-hidden-file{display:none}.upload-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.upload-action-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:.86rem;font-weight:950}.selected-slip-file{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;align-items:center;width:100%;color:var(--ink);font-size:.82rem;font-weight:900;text-align:left}.selected-slip-file span{display:grid;gap:2px;min-width:0}.selected-slip-file strong{overflow-wrap:anywhere}.selected-slip-file button{min-height:34px;padding:0 10px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--body);font-size:.74rem;font-weight:950;white-space:nowrap}.selected-slip-file small,.muted.compact{color:var(--muted);font-size:.75rem;font-weight:750}.selected-slip-file>small{grid-column:1 / -1}.slip-preview{width:min(100%,280px);max-height:260px;object-fit:contain;border-radius:8px;border:1px solid rgba(47,95,69,.12);background:var(--paper)}.quick-entry-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-entry-button{min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:.8rem;font-weight:950;line-height:1.25}.entry-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.entry-mode-tabs button{min-height:40px;padding:8px 10px;border-radius:6px;background:transparent;color:var(--body);font-size:.84rem;font-weight:950}.entry-mode-tabs button.active{background:var(--dark);color:#fff;box-shadow:none}.form-panel{display:grid;gap:12px}.form-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px}.form-grid.one{grid-template-columns:minmax(0,1fr)}.notice,.reconcile-box{display:flex;align-items:center;gap:8px;margin:0;padding:10px;border-radius:8px;background:#e5f3f0;color:var(--forest);font-size:.82rem;font-weight:850}.notice.compact{padding:9px 10px}.close-forecast-preview{align-items:flex-start;line-height:1.42}.close-forecast-preview span{min-width:0}.close-hero,.summary-panel{padding:16px}.close-hero p{position:relative;z-index:1;margin:8px 0 0;color:var(--muted)}.reconcile-box{display:grid;background:#fff2d8;color:#8a5d0e}.reconcile-box span{font-size:.8rem}.close-review-list{display:grid;gap:8px;padding:10px;border:1px solid rgba(47,95,69,.14);border-radius:8px;background:var(--paper)}.close-review-list>strong{color:var(--ink);font-size:.86rem}.close-review-item{display:grid;gap:2px;padding:9px 10px;border-radius:8px;background:#edf7f4;color:var(--forest)}.close-review-item.tone-warn{background:#fff5df;color:#8a5d0e}.close-review-item.tone-good{background:#edf7ee;color:#356c42}.close-review-item b{font-size:.82rem}.close-review-item small{color:inherit;font-size:.76rem;font-weight:800;line-height:1.35}.wallet-manager{background:var(--paper)}.wallet-list{display:grid;gap:10px}.wallet-balance-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(108px,132px);align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.wallet-balance-row span{display:grid;gap:3px;min-width:0}.wallet-balance-row strong{color:var(--ink);overflow-wrap:anywhere}.wallet-balance-row small{color:var(--muted);font-weight:800}.wallet-balance-row input{min-height:42px;text-align:right}.add-wallet-form{background:var(--surface)}.segment-control{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;border-radius:8px;background:var(--surface)}.segment-control button{min-height:38px;border-radius:8px;background:transparent;color:var(--muted);font-weight:900}.segment-control button.active{background:var(--paper);color:var(--coral-active);box-shadow:0 1px #18171514}.daily-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch;gap:7px;min-height:156px;padding-top:8px}.daily-bar{display:grid;grid-template-rows:96px auto auto;align-items:end;gap:5px;min-width:0;text-align:center}.daily-bar i{display:block;width:100%;min-height:8px;border-radius:8px 8px 2px 2px;background:var(--forest)}.daily-bar strong{color:var(--body);font-size:.68rem;font-weight:900;overflow-wrap:anywhere}.daily-bar span{color:var(--muted);font-size:.72rem;font-weight:850}.bar-row{display:grid;grid-template-columns:78px 1fr 72px;min-height:34px}.bar-row span,.bar-row strong{color:var(--body);font-size:.82rem}.bar-row div{height:9px;border-radius:999px;background:var(--surface);overflow:hidden}.bar-row i{display:block;height:100%;border-radius:inherit;background:var(--coral)}.daily-chart-card{background:var(--paper)}.forecast-detail-card{background:#eef6f2}.forecast-metric-strip,.weekly-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.forecast-metric-strip span,.weekly-metrics span{display:grid;gap:4px;min-height:68px;min-width:0;padding:10px;border:1px solid rgba(47,95,69,.14);border-radius:8px;background:var(--paper);color:var(--muted);font-size:.72rem;font-weight:850}.forecast-metric-strip strong,.weekly-metrics strong{color:var(--ink);font-size:.92rem;overflow-wrap:anywhere}.forecast-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:12px}.forecast-day{display:grid;gap:4px;min-height:74px;min-width:0;padding:8px 6px;border:1px solid var(--line);border-radius:8px;background:var(--paper);text-align:center}.forecast-day strong{color:var(--ink);font-size:.72rem;overflow-wrap:anywhere}.forecast-day span{color:var(--forest);font-size:.78rem;font-weight:950;overflow-wrap:anywhere}@media (max-width: 1023px){.forecast-days{grid-template-columns:repeat(4,minmax(0,1fr))}}.forecast-day small{color:var(--muted);font-size:.68rem;font-weight:850}.forecast-day.tight{border-color:#e8a55a80;background:#fff6e8}.forecast-day.risk{border-color:#c645456b;background:#fff0ee}.what-if-panel{display:grid;gap:8px;margin-top:12px;padding:12px;border-radius:8px;background:var(--paper)}.what-if-panel label{display:grid;gap:6px;color:var(--body);font-size:.82rem;font-weight:900}.what-if-panel input{min-height:42px;width:100%}.what-if-panel p{margin:0;color:var(--forest);font-size:.84rem;font-weight:900;line-height:1.4}.weekly-packet-card,.weekly-summary-card{display:grid;gap:12px;background:#f7f3ec}.packet-list,.packet-goals{display:grid;gap:8px}.packet-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--line);color:var(--body);font-size:.86rem;font-weight:850}.packet-row strong{color:var(--ink);white-space:nowrap}.packet-goals span{padding:9px 10px;border-radius:8px;background:var(--paper);color:var(--forest);font-size:.82rem;font-weight:900;line-height:1.34}.usage-card{background:var(--paper)}.usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.usage-grid span{display:grid;gap:4px;min-height:62px;min-width:0;padding:10px;border:1px solid rgba(47,95,69,.12);border-radius:8px;background:#edf7f4;color:var(--muted);font-size:.72rem;font-weight:850;line-height:1.26}.usage-grid strong{color:var(--ink);overflow-wrap:anywhere;font-size:.9rem;line-height:1.2}.compact-check-stack{display:grid;gap:8px}.usage-card .forecast-action{border:1px solid rgba(47,95,69,.12);background:var(--paper);color:var(--body)}.usage-card .forecast-action.tone-risk{border-color:#cc785c57;background:#fff1e8}.usage-card .forecast-action.tone-watch{border-color:#e8a55a57;background:#fff7e6}.usage-card .forecast-action.tone-ok{border-color:#5db87247;background:#edf7ee}.usage-card .forecast-action strong{color:var(--ink)}.usage-card .forecast-action small{color:var(--muted)}.debt-hero{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}.debt-hero h2{font-size:1.6rem}.debt-hero p{margin:8px 0 0;color:var(--muted);font-size:.86rem;line-height:1.44}.debt-hero-grid,.payday-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.debt-hero-grid span,.payday-grid span{display:grid;gap:4px;min-height:66px;min-width:0;padding:10px;border-radius:8px;font-size:.74rem;font-weight:850;line-height:1.28}.debt-hero-grid span{border:1px solid var(--line);background:#f8fafc;color:var(--muted)}.debt-hero-grid strong,.payday-grid strong{overflow-wrap:anywhere;font-size:1.02rem;font-weight:950}.debt-hero-grid strong{color:var(--ink)}.payday-card,.debt-group-card,.review-queue-card,.debt-roadmap-card{background:var(--paper)}.payday-grid span{border:1px solid rgba(47,95,69,.14);background:#edf7f4;color:var(--muted)}.payday-grid strong{color:var(--ink)}.payoff-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.payoff-strip span{display:grid;gap:4px;min-height:62px;min-width:0;padding:10px;border:1px solid rgba(47,95,69,.12);border-radius:8px;background:#edf7f4;color:var(--muted);font-size:.72rem;font-weight:850;line-height:1.26}.payoff-strip strong{color:var(--ink);overflow-wrap:anywhere;font-size:.92rem}.liability-list,.review-queue-list,.roadmap-list{display:grid;gap:8px}.liability-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(92px,112px);gap:10px;align-items:center;min-height:76px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.liability-row.paid{border-color:#5db87252;background:#edf7ee}.liability-row div,.liability-row span{display:grid;gap:3px;min-width:0}.liability-row strong{color:var(--ink);overflow-wrap:anywhere;font-size:.94rem}.liability-row small{color:var(--muted);overflow-wrap:anywhere;font-size:.74rem;font-weight:800;line-height:1.3}.liability-row>span{text-align:right}.review-queue-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:9px;align-items:start;padding:10px;border:1px solid rgba(47,95,69,.14);border-radius:8px;background:#edf7f4}.review-queue-row.priority-high{border-color:#cc785c52;background:#fff1e8}.review-queue-row svg{margin-top:2px;color:var(--forest)}.review-queue-row span{display:grid;gap:3px;min-width:0}.review-queue-row strong{color:var(--ink);font-size:.88rem}.review-queue-row small{color:var(--muted);font-size:.76rem;font-weight:800;line-height:1.36}.review-queue-row b{width:fit-content;min-height:24px;padding:4px 8px;border-radius:999px;background:#2f5f451f;color:var(--forest);font-size:.68rem}.review-queue-row button{min-height:34px;padding:0 10px;border-radius:8px;background:var(--dark);color:#fff;font-size:.76rem;font-weight:950;white-space:nowrap}.roadmap-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:9px;align-items:start;min-height:62px;padding:10px;border:1px solid rgba(47,95,69,.14);border-radius:8px;background:#edf7f4}.roadmap-row.priority-high,.roadmap-row.needs_remaining_months{border-color:#cc785c52;background:#fff1e8}.roadmap-row.priority-medium{border-color:#e8a55a52;background:#fff7e6}.roadmap-row svg{margin-top:2px;color:var(--forest)}.roadmap-row span{display:grid;gap:3px;min-width:0}.roadmap-row strong{color:var(--ink);overflow-wrap:anywhere;font-size:.88rem}.roadmap-row small{color:var(--muted);overflow-wrap:anywhere;font-size:.76rem;font-weight:800;line-height:1.34}.roadmap-row b{color:var(--ink);font-size:.8rem;white-space:nowrap}.debt-form{background:var(--surface)}.simple-list{padding:0}.simple-list .bill-row{padding-inline:0}.category-list{background:var(--paper)}.category-stack{display:grid;gap:10px}.category-row{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:8px 12px;align-items:center;min-height:58px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.category-row>div:first-child{display:grid;gap:3px;min-width:0}.category-row strong{color:var(--ink);font-size:.92rem}.category-row small{color:var(--muted);font-size:.75rem;font-weight:800}.category-row>strong{text-align:right;white-space:nowrap}.category-meter{grid-column:1 / -1;height:10px;border-radius:999px;background:var(--surface);overflow:hidden}.category-meter i{display:block;height:100%;border-radius:inherit;background:var(--coral)}.ledger-row{padding:10px 0;border-top:1px solid var(--line)}.ledger-row:first-child{border-top:0}.ledger-row>strong{white-space:nowrap}.toast{position:fixed;left:50%;bottom:calc(var(--tabs-height) + 18px + env(safe-area-inset-bottom));z-index:40;pointer-events:none;width:min(360px,calc(100vw - 28px));transform:translate(-50%);padding:12px 14px;border-radius:8px;background:var(--dark);color:#fff;text-align:center;font-size:.86rem;font-weight:850;box-shadow:0 16px 42px #1817153d}.toast.actionable{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.toast.actionable button{min-height:34px;padding:0 12px;border-radius:8px;background:var(--canvas);color:var(--coral-active);font-weight:950}.reminder-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid rgba(183,121,31,.28);border-radius:8px;background:#fffbeb}.reminder-banner p{margin:2px 0 0;color:var(--muted);font-size:.82rem}.reminder-banner button,.text-action{min-height:34px;border-radius:8px;color:var(--coral-active);font-size:.8rem;font-weight:950;white-space:nowrap}.finance-controls{display:grid;gap:10px}.finance-detail{border:1px solid var(--line);border-radius:8px;background:var(--paper);overflow:hidden}.finance-summary{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;padding:12px;background:transparent;color:var(--ink);text-align:left;font-weight:950}.finance-summary:after{content:"▾";color:var(--muted);font-size:.8rem}.finance-summary[aria-expanded=true]:after{transform:rotate(180deg)}.inline-control-form,.bill-list{display:grid;gap:10px;padding:0 12px 12px}.budget-row,.bill-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-top:1px solid var(--line)}.budget-row small,.bill-row small{display:block;margin-top:2px;color:var(--muted);font-size:.76rem}.budget-row.warn b{color:#a86f1c}.budget-row.danger b{color:var(--error)}.table-actions{display:inline-flex;justify-content:flex-end;gap:6px}.table-actions button{min-height:32px;padding:0 10px;border-radius:8px;background:var(--surface);color:var(--forest);font-weight:900}.table-actions button:last-child{color:var(--error)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:18px;background:#1817156b}.modal-panel{width:min(520px,100%);max-height:min(88vh,760px);overflow-y:auto;border:1px solid var(--line);border-radius:8px;background:var(--canvas);box-shadow:0 24px 80px #18171547}.duplicate-panel{display:grid;gap:12px;padding:16px}.duplicate-actions{display:grid;gap:8px}.bottom-tabs{position:fixed;left:50%;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;width:min(100%,440px);transform:translate(-50%);min-height:calc(var(--tabs-height) + env(safe-area-inset-bottom));padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid rgba(17,24,39,.16);background:#111827f5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.tab-button{display:grid;place-items:center;gap:3px;min-width:0;min-height:58px;border-radius:8px;background:transparent;color:#ffffff9e;font-size:.72rem;font-weight:900}.tab-button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-button.active{background:var(--canvas);color:var(--ink)}.desktop-sidebar,.desktop-insights{display:none}.desktop-brand,.desktop-sync,.desktop-nav button,.insight-row{display:flex;align-items:center;gap:10px;min-width:0}.desktop-brand{padding:18px;color:#fff}.desktop-brand svg{color:var(--teal)}.desktop-brand span,.desktop-sync span,.insight-row span{display:grid;gap:3px;min-width:0}.desktop-brand strong,.desktop-sync strong,.insight-row strong{overflow-wrap:anywhere}.insight-row>strong{flex:0 0 auto;max-width:42%;text-align:right;white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums}.desktop-brand small,.desktop-sync small,.insight-row small{color:inherit;opacity:.68;font-size:.76rem;font-weight:800}.desktop-nav{display:grid;gap:6px;padding:0 10px}.desktop-nav button{min-height:44px;padding:0 12px;border-radius:8px;background:transparent;color:#ffffffad;font-weight:900;text-align:left}.desktop-nav button.active{background:#ffffff1f;color:#fff}.desktop-sync{margin:auto 10px 14px;padding:12px;border-radius:8px;background:#5db8a624;color:#d8f4ec}.desktop-sync.pending{background:#e8a55a2e;color:#ffe6bd}.insight-card{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.insight-card.accent{border-color:#2563eb3d;background:#eff6ff;color:var(--ink)}.insight-card.accent h2{font-size:1.5rem}.insight-card.accent span{color:var(--muted);font-size:.82rem;font-weight:850}.insight-list{display:grid;gap:8px}.insight-row{justify-content:space-between;padding:8px 0;border-top:1px solid var(--line)}.insight-row:first-child{border-top:0}.compact-action{width:100%;margin-top:12px}.transactions-header{display:grid;gap:12px}.search-input{background:var(--paper)}.transaction-table-card{overflow:hidden}.transaction-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.transaction-table{width:100%;min-width:780px;border-collapse:collapse}.transaction-table th,.transaction-table td{padding:12px;border-bottom:1px solid var(--line);color:var(--body);font-size:.84rem;text-align:left;white-space:nowrap}.transaction-table th{background:var(--surface);color:var(--muted);font-size:.76rem;font-weight:900}.transaction-table td:nth-child(2){color:var(--ink);font-weight:900}.transaction-table td:last-child,.transaction-table th:last-child{text-align:right}.transaction-mobile-list{display:none}.transaction-mobile-row{display:grid;gap:8px;padding:12px;border-top:1px solid var(--line)}.transaction-mobile-row:first-child{border-top:0}.transaction-mobile-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.transaction-mobile-main span{display:grid;gap:4px;min-width:0}.transaction-mobile-main strong{color:var(--ink);font-size:.94rem;overflow-wrap:anywhere}.transaction-mobile-main small,.transaction-mobile-meta{color:var(--muted);font-size:.76rem;font-weight:850;line-height:1.35}.transaction-mobile-main b{color:var(--ink);font-size:.9rem;font-variant-numeric:tabular-nums;white-space:nowrap}.transaction-mobile-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.transaction-mobile-actions button{min-height:36px;border-radius:8px;background:var(--surface);color:var(--forest);font-size:.82rem;font-weight:900}.transaction-mobile-actions button:last-child{color:var(--error)}@media (max-width: 1023px){.transaction-table-wrap{display:none}.transaction-mobile-list{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--paper)}}@media (min-width: 760px){body{background:var(--canvas)}.app-shell,.login-screen{margin-top:20px;margin-bottom:20px;min-height:calc(100vh - 40px);border:1px solid var(--line);border-radius:8px;overflow:hidden}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){:root{--tabs-height: 0px}.app-shell{display:grid;grid-template-columns:220px minmax(0,1fr) 320px;grid-template-rows:auto minmax(0,1fr);grid-template-areas:"sidebar topbar insights" "sidebar main insights";width:min(100%,1280px);max-height:calc(100vh - 40px);padding-bottom:0}.app-shell.tab-slip,.app-shell.tab-transactions{grid-template-columns:220px minmax(0,1fr);grid-template-areas:"sidebar topbar" "sidebar main"}.app-shell.tab-slip .desktop-insights,.app-shell.tab-transactions .desktop-insights{display:none}.app-shell.tab-slip .app-main,.app-shell.tab-transactions .app-main{padding-inline:24px;padding-top:14px}.desktop-sidebar{grid-area:sidebar;display:flex;min-height:100%;flex-direction:column;background:var(--dark)}.desktop-insights{grid-area:insights;display:grid;align-content:start;gap:12px;overflow-y:auto;padding:14px;border-left:1px solid var(--line);background:#f8fafc}.topbar{grid-area:topbar;position:static;min-height:88px;padding:16px 20px}.topbar h1{font-size:1.45rem}.app-shell.tab-slip .topbar,.app-shell.tab-transactions .topbar{min-height:72px;padding-block:10px}.app-main{grid-area:main;min-width:0;overflow-y:auto;padding:18px 20px 24px}.transactions-header{grid-template-columns:minmax(0,1fr) minmax(220px,320px);align-items:end}.bottom-tabs{display:none}.slip-screen{grid-template-columns:minmax(286px,380px) minmax(0,1fr);align-items:start;gap:18px}.slip-screen .capture-panel{position:sticky;top:18px;align-self:start}.slip-screen .capture-panel,.slip-screen .form-panel{padding:16px}.slip-screen .form-panel{padding:12px}.slip-screen .form-panel{position:static;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.slip-screen .form-panel>.section-heading,.slip-screen .quick-entry-row,.slip-screen .date-time-grid,.slip-screen .entry-mode-tabs,.slip-screen .notice,.slip-screen .secondary-action,.slip-screen .primary-action{grid-column:1 / -1}.slip-screen .form-panel>label{gap:4px}.slip-screen .form-panel>label:first-of-type{grid-column:1 / -1}.slip-screen .section-heading{margin-bottom:0}.desktop-upload-zone{min-height:156px;place-items:stretch;text-align:left}.desktop-upload-actions{grid-template-columns:minmax(0,1fr)}.desktop-upload-zone .upload-action-button{min-height:54px;justify-content:flex-start;padding:10px 14px;font-size:.92rem}.slip-screen .slip-preview{width:100%;max-height:360px}.slip-screen .quick-entry-row{grid-template-columns:repeat(5,minmax(0,1fr))}.slip-screen .quick-entry-button{min-height:38px;font-size:.74rem}.slip-screen .entry-mode-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.slip-screen input,.slip-screen select{min-height:40px;font-size:.92rem}.slip-screen .date-field-row button,.slip-screen .notice,.slip-screen .primary-action,.slip-screen .secondary-action{min-height:40px}.app-shell.tab-transactions .transaction-table{min-width:0;table-layout:fixed}.app-shell.tab-transactions .transaction-table th,.app-shell.tab-transactions .transaction-table td{padding:10px;white-space:normal;overflow-wrap:anywhere;line-height:1.35}.app-shell.tab-transactions .transaction-table th:nth-child(1),.app-shell.tab-transactions .transaction-table td:nth-child(1){width:96px}.app-shell.tab-transactions .transaction-table th:nth-child(3),.app-shell.tab-transactions .transaction-table td:nth-child(3){width:92px}.app-shell.tab-transactions .transaction-table th:nth-child(6),.app-shell.tab-transactions .transaction-table td:nth-child(6){width:104px;text-align:right}.app-shell.tab-transactions .transaction-table th:nth-child(7),.app-shell.tab-transactions .transaction-table td:nth-child(7){width:116px}.app-shell.tab-transactions .table-actions{flex-wrap:wrap}.dashboard-screen{grid-template-columns:minmax(0,1fr) minmax(280px,.78fr);align-items:start}.dashboard-visual,.daily-chart-card,.forecast-detail-card,.weekly-packet-card,.weekly-summary-card{grid-column:1 / -1}.hero-panel{min-height:220px}.quick-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.task-card{min-height:112px;align-content:start;grid-template-columns:34px minmax(0,1fr)}.task-card>svg:last-child{display:none}.debt-screen{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.debt-hero,.payday-card,.review-queue-card,.debt-form{grid-column:1 / -1}}
