
:root {
  --ink: #0B0E14;
  --ink-soft: #1A1F29;
  --emerald: #00C896;
  --emerald-tint: #E3F9F1;
  --paper: #FAFAF8;
  --card: #FFFFFF;
  --muted: #6B7280;
  --line: #E6E4DE;
  --cream: #F2F1EC;
  --warm-gray: #F1F0EC;
  --danger: #D64545;
  --danger-tint: #FCEBEB;
  --shadow: 0 20px 50px -30px rgba(11,14,20,0.35);
}
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; height: 100%; }
body {
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  background: var(--paper);
  color: var(--ink);
  overscroll-behavior-y: none;
}
h1, h2, h3, h4 { margin: 0; font-weight: 800; letter-spacing: -0.3px; }
p { margin: 0; color: var(--muted); line-height: 1.5; }
button { font-family: inherit; cursor: pointer; }
input, select, textarea { font-family: inherit; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace; }

#app { max-width: 460px; margin: 0 auto; min-height: 100vh; display: flex; flex-direction: column; position: relative; background: var(--paper); }

/* ---- Top bar ---- */
.topbar { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px 10px; }
.brand { display: flex; align-items: center; gap: 9px; }
/* The mark: three coins, the middle one wider and the only colored one. Never
   bars, never a different arrangement, per the brand guide. Reused at every
   size via .coin-mark's own width/height, so nothing needs redrawing. */
.coin-mark { position: relative; width: 30px; height: 22px; flex-shrink: 0; font-size: 15px; }
.coin-mark .coin { position: absolute; top: 50%; border-radius: 50%; transform: translateY(-50%); }
.coin-mark .cl { left: 0; width: 0.93em; height: 0.93em; background: var(--coin-left, var(--ink)); z-index: 1; }
.coin-mark .cr { right: 0; width: 0.93em; height: 0.93em; background: var(--coin-right, var(--ink)); z-index: 1; }
.coin-mark .cm { left: 50%; top: 50%; width: 1.2em; height: 1.2em; transform: translate(-50%, -50%); background: var(--coin-mid, var(--emerald)); z-index: 2; }
.coin-mark.on-dark .cl, .coin-mark.on-dark .cr { background: var(--paper); }
.coin-mark.on-dark .cm { background: var(--emerald); }
.wordmark { font-weight: 800; font-size: 16px; letter-spacing: -0.4px; }
.topbar .settings-btn { background: none; border: none; color: var(--muted); font-size: 20px; padding: 6px; line-height: 1; }

/* ---- Screens ---- */
.screen { flex: 1; display: none; flex-direction: column; padding: 0 20px 100px; overflow-y: auto; }
.screen.active { display: flex; }
.screen-pad { padding-top: 8px; }

/* ---- Onboarding ---- */
.ob-eyebrow { font-size: 11.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--emerald); margin-bottom: 10px; }
.ob-question { font-size: 24px; font-weight: 800; line-height: 1.25; margin-bottom: 8px; }
.ob-sub { font-size: 14px; color: var(--muted); margin-bottom: 28px; }
.ob-step-dots { display: flex; gap: 6px; margin-bottom: 24px; }
.dot { width: 22px; height: 4px; border-radius: 3px; background: var(--line); }
.dot.done { background: var(--emerald); }

.choice-grid { display: flex; flex-direction: column; gap: 10px; }
.choice-btn {
  background: var(--card); border: 1.5px solid var(--line); border-radius: 14px; padding: 16px 18px;
  text-align: left; font-size: 15.5px; font-weight: 600; color: var(--ink); transition: all .15s;
}
.choice-btn:active { transform: scale(0.98); }
.choice-btn.selected { border-color: var(--emerald); background: var(--emerald-tint); }
.choice-btn .sub { font-size: 12.5px; color: var(--muted); font-weight: 400; margin-top: 2px; }

.amount-input-wrap { position: relative; margin-bottom: 8px; }
.currency-prefix { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); font-weight: 700; font-size: 22px; color: var(--muted); }
.amount-input {
  width: 100%; border: 1.5px solid var(--line); border-radius: 14px; padding: 18px 18px 18px 42px;
  font-size: 22px; font-weight: 700; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace; color: var(--ink); background: var(--card);
}
.amount-input:focus { outline: none; border-color: var(--emerald); }
.field-label { font-size: 13px; font-weight: 600; color: var(--muted); margin: 18px 0 8px; }

.pct-row { display: flex; gap: 8px; margin-bottom: 8px; }
.pct-btn { flex: 1; border: 1.5px solid var(--line); background: var(--card); border-radius: 12px; padding: 14px 4px; font-weight: 700; font-size: 15px; color: var(--ink); }
.pct-btn.selected { border-color: var(--emerald); background: var(--emerald-tint); color: #067A5C; }

.bill-row { display: flex; gap: 8px; margin-bottom: 10px; align-items: center; }
.bill-row input { flex: 1; border: 1.5px solid var(--line); border-radius: 10px; padding: 12px; font-size: 14px; }
.bill-row .amt { max-width: 110px; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace; }
.bill-row .days { max-width: 70px; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace; }
.remove-bill { background: none; border: none; color: var(--danger); font-size: 20px; padding: 4px 8px; }
.add-bill-btn { background: var(--cream); border: 1.5px dashed var(--line); border-radius: 12px; padding: 12px; font-weight: 600; font-size: 14px; color: var(--muted); text-align: center; margin-top: 4px; }

.nav-btns { display: flex; gap: 10px; margin-top: auto; padding-top: 24px; }
.btn { border: none; border-radius: 999px; padding: 15px 22px; font-weight: 700; font-size: 15px; flex: 1; text-align: center; }
.btn-primary { background: var(--ink); color: #fff; }
.btn-primary:disabled { background: var(--line); color: var(--muted); }
.btn-ghost { background: transparent; color: var(--ink); border: 1.5px solid var(--line); }
.btn-block { width: 100%; }
.skip-link { text-align: center; font-size: 13px; color: var(--muted); text-decoration: underline; margin-top: 12px; background: none; border: none; padding: 6px; }

/* ---- Home ---- */
.spend-card {
  background: var(--card); border-radius: 22px; padding: 26px; border: 1px solid var(--line);
  box-shadow: var(--shadow); margin-top: 6px; margin-bottom: 20px;
}
.spend-card .row-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; }
.pill { display: inline-flex; align-items: center; gap: 6px; background: var(--emerald-tint); border-radius: 999px; padding: 6px 12px; font-size: 11.5px; font-weight: 700; color: #067A5C; }
.pill.warn { background: var(--danger-tint); color: var(--danger); }
.pill-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--emerald); }
.pill.warn .pill-dot { background: var(--danger); }
.spend-label { font-size: 12px; color: var(--muted); margin-bottom: 8px; }
.spend-amount { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace; font-weight: 700; font-size: 42px; color: var(--ink); line-height: 1; letter-spacing: -0.5px; }
.spend-amount.deficit { color: var(--danger); font-size: 26px; }
.spend-sub { font-size: 12.5px; color: var(--muted); margin-top: 10px; }
.asof { font-size: 11px; color: var(--muted); margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.whatif-trigger {
  display: flex; align-items: center; justify-content: space-between; width: 100%;
  background: var(--cream); border: 1.5px solid var(--line); border-radius: 12px;
  padding: 13px 14px; margin-top: 14px; font-size: 13px; font-weight: 700; color: var(--ink); text-align: left;
}
.whatif-trigger:active { transform: scale(0.98); }
.whatif-trigger .arrow { color: var(--emerald); font-weight: 800; margin-left: 8px; flex-shrink: 0; }
.whatif-result { margin-top: 16px; min-height: 20px; }
.whatif-result .wr-line1 { font-size: 16px; font-weight: 800; margin-bottom: 6px; }
.whatif-result .wr-line1.ok { color: #067A5C; }
.whatif-result .wr-line1.warn { color: var(--danger); }
.whatif-result .wr-sub { font-size: 12.5px; color: var(--muted); line-height: 1.5; }
.whatif-result .wr-empty { font-size: 13px; color: var(--muted); text-align: center; padding: 6px 0; }

.quick-actions { display: flex; gap: 10px; margin-bottom: 24px; }
.qa-btn { flex: 1; background: var(--card); border: 1.5px solid var(--line); border-radius: 14px; padding: 16px 8px; text-align: center; }
.qa-btn .icon { font-size: 20px; margin-bottom: 6px; display: block; }
.qa-btn .label { font-size: 12.5px; font-weight: 700; color: var(--ink); }
.home-greeting-row { display: flex; align-items: center; justify-content: space-between; padding-top: 6px; margin-bottom: 12px; }
.home-greeting { font-size: 15px; font-weight: 700; color: var(--muted); }
.refresh-btn { background: var(--card); border: 1.5px solid var(--line); border-radius: 999px; width: 34px; height: 34px; font-size: 16px; color: var(--ink); display: flex; align-items: center; justify-content: center; transition: transform 0.5s ease; }
.refresh-btn.spinning { animation: refreshSpin 0.6s ease; }
.info-btn { background: none; border: none; color: var(--muted); font-size: 17px; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; padding: 0; margin-right: 4px; }
@keyframes refreshSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.upcoming-item { display: flex; justify-content: space-between; align-items: center; background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; margin-bottom: 8px; }
.upcoming-item .ui-name { font-size: 13.5px; font-weight: 700; color: var(--ink); }
.upcoming-item .ui-due { font-size: 11.5px; color: var(--muted); margin-top: 2px; }
.upcoming-item .ui-due.soon { color: var(--danger); font-weight: 600; }
.upcoming-item .ui-amt { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace; font-weight: 700; font-size: 14px; }

.section-title { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; color: var(--muted); margin-bottom: 12px; }
.plan-card { background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 18px; margin-bottom: 16px; box-shadow: var(--shadow); }
.log-item { display: flex; justify-content: space-between; align-items: center; padding: 13px 0; border-bottom: 1px solid var(--line); }
.log-item:last-child { border-bottom: none; }
.log-item .cat-badge { width: 34px; height: 34px; border-radius: 10px; background: var(--ink); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 15px; margin-right: 12px; flex-shrink: 0; }
.log-item .meta { flex: 1; display: flex; align-items: center; }
.log-item .desc { font-size: 14px; font-weight: 600; }
.log-item .time { font-size: 11.5px; color: var(--muted); }
.log-item .amt { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace; font-weight: 700; font-size: 14.5px; }
.empty-state { text-align: center; padding: 30px 10px; color: var(--muted); font-size: 13.5px; }

/* ---- Bottom nav ---- */
.bottomnav {
  position: fixed; bottom: 0; left: 50%; transform: translateX(-50%);
  background: rgba(250,248,248,0.92); backdrop-filter: blur(10px);
  border-top: 1px solid var(--line); display: flex; padding: 10px 10px calc(10px + env(safe-area-inset-bottom));
  max-width: 460px; width: 100%; z-index: 40;
}
.nav-item { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; background: none; border: none; color: var(--muted); padding: 6px; }
.nav-item .icon { font-size: 19px; }
.nav-item .label { font-size: 10.5px; font-weight: 700; }
.nav-item.active { color: var(--emerald); }

/* ---- Quick log modal ---- */
.modal-overlay { position: fixed; top: 0; right: 0; bottom: 0; left: 0; background: rgba(11,14,20,0.5); display: none; align-items: flex-end; justify-content: center; z-index: 50; }
.modal-overlay.active { display: flex; }
.modal-sheet { background: var(--card); border-radius: 22px 22px 0 0; padding: 22px 20px calc(22px + env(safe-area-inset-bottom)); width: 100%; max-width: 460px; box-shadow: var(--shadow); }
.modal-handle { width: 40px; height: 4px; background: var(--line); border-radius: 3px; margin: 0 auto 18px; }
.mic-row { display: flex; gap: 10px; margin-bottom: 14px; }
.log-text-input { flex: 1; border: 1.5px solid var(--line); border-radius: 14px; padding: 14px 16px; font-size: 15px; }
.mic-btn { width: 52px; height: 52px; border-radius: 50%; background: var(--ink); color: #fff; border: none; font-size: 20px; flex-shrink: 0; }
.mic-btn.listening { background: var(--danger); animation: pulse 1s infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.6} }
.parsed-preview { background: var(--cream); border-radius: 14px; padding: 14px 16px; margin-bottom: 14px; display: none; }
.parsed-preview.show { display: block; }
.parsed-row { display: flex; justify-content: space-between; font-size: 14px; margin-bottom: 6px; }
.parsed-row:last-child { margin-bottom: 0; }
.cat-select { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px; }
.cat-chip { border: 1.5px solid var(--line); background: var(--card); border-radius: 999px; padding: 8px 14px; font-size: 12.5px; font-weight: 600; }
.cat-chip.selected { border-color: var(--emerald); background: var(--emerald-tint); color: #067A5C; }

/* ---- Insights ---- */
.gap-card { background: var(--ink); border-radius: 18px; padding: 20px; margin-bottom: 20px; }
.gap-card .glabel { font-size: 11.5px; color: #A8ADB8; text-transform: uppercase; letter-spacing: 0.6px; margin-bottom: 6px; }
.gap-card .gamount { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace; font-size: 26px; font-weight: 700; color: var(--emerald); }
.gap-card .gnote { font-size: 12px; color: #A8ADB8; margin-top: 8px; }
.cat-bar-row { margin-bottom: 14px; }
.cat-bar-top { display: flex; justify-content: space-between; font-size: 13.5px; margin-bottom: 6px; }
.cat-bar-top .n { font-weight: 700; color: var(--ink); }
.cat-bar-top .v { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace; font-weight: 600; color: var(--muted); }
.cat-bar-track { height: 8px; background: var(--cream); border-radius: 999px; overflow: hidden; }
.cat-bar-fill { height: 100%; background: var(--emerald); border-radius: 999px; }

/* ---- Settings ---- */
.settings-item { display: flex; align-items: center; justify-content: space-between; padding: 16px 0; border-bottom: 1px solid var(--line); }
.settings-item .t { font-size: 14.5px; font-weight: 600; }
.settings-item .s { font-size: 12px; color: var(--muted); margin-top: 2px; }
.settings-btn { background: var(--cream); border: none; border-radius: 10px; padding: 10px 16px; font-weight: 700; font-size: 13px; color: var(--ink); }
.settings-btn.danger { background: var(--danger-tint); color: var(--danger); }
input[type=file] { display: none; }

.toast { position: fixed; bottom: 90px; left: 50%; transform: translateX(-50%) translateY(20px); background: var(--ink); color: #fff; padding: 12px 20px; border-radius: 999px; font-size: 13.5px; font-weight: 600; opacity: 0; transition: all .25s; z-index: 100; max-width: 90%; text-align: center; }
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

@media (prefers-reduced-motion: reduce) { .mic-btn.listening { animation: none; } }
@keyframes revealIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
#ob4-reveal.show-anim { animation: revealIn 0.4s ease; }

.tally-row { display: flex; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--line); }
.tally-row .cat-badge { width: 32px; height: 32px; border-radius: 9px; background: var(--ink); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; margin-right: 12px; flex-shrink: 0; }
.tally-row .cat-name { flex: 1; font-size: 14px; font-weight: 600; }
.tally-input-wrap { position: relative; width: 118px; }
.tally-input-wrap .cp { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); font-size: 13px; color: var(--muted); font-weight: 700; }
.tally-input {
  width: 100%; border: 1.5px solid var(--line); border-radius: 10px; padding: 9px 10px 9px 24px;
  font-size: 14px; font-weight: 600; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace; color: var(--ink); background: var(--card);
}
.tally-input:focus { outline: none; border-color: var(--emerald); }
.tally-total {
  display: flex; justify-content: space-between; padding: 12px 4px 0; margin-top: 4px;
  font-size: 13px; font-weight: 700; color: var(--ink);
}
.tally-total .mono { color: var(--emerald); font-size: 15px; }

/* Fallback spacing for the rare browser that doesn't support flexbox gap.
   Real modern phones support gap natively, so this block never applies there. */
.avatar-choice-btn {
  width: 54px; height: 54px; border-radius: 50%; border: 2px solid var(--line); background: var(--card);
  font-size: 24px; display: flex; align-items: center; justify-content: center; padding: 0;
}
.avatar-choice-btn.selected { border-color: var(--emerald); background: var(--emerald-tint); }
.avatar-badge {
  width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 17px; background: var(--emerald-tint); overflow: hidden; flex-shrink: 0;
}
.avatar-badge img { width: 100%; height: 100%; object-fit: cover; }
.avatar-badge-lg { width: 72px; height: 72px; font-size: 32px; }

@supports not (gap: 1px) {
  .avatar-choice-row > *:not(:last-child) { margin-right: 10px; }
  .brand > *:not(:last-child) { margin-right: 9px; }
  .ob-step-dots > *:not(:last-child) { margin-right: 6px; }
  .choice-grid > *:not(:last-child) { margin-bottom: 10px; }
  .pct-row > *:not(:last-child) { margin-right: 8px; }
  .bill-row > *:not(:last-child) { margin-right: 8px; }
  .nav-btns > *:not(:last-child) { margin-right: 10px; }
  .pill > *:not(:last-child) { margin-right: 6px; }
  .quick-actions > *:not(:last-child) { margin-right: 10px; }
  .nav-item > *:not(:last-child) { margin-bottom: 3px; }
  .mic-row > *:not(:last-child) { margin-right: 10px; }
  .cat-select > * { margin-right: 6px; margin-bottom: 6px; }
  .checkbox-row > *:not(:last-child) { margin-right: 8px; }
  .passcode-dots > *:not(:last-child) { margin-right: 13px; }
  .topbar-actions > *:not(:last-child) { margin-right: 8px; }
  .recur-days-row > *:not(:last-child) { margin-right: 8px; }
}
/* ===== Brand-compliant color tokens + dark mode ===== */
:root{
  --coin-left:#0B0E14;
  --coin-mid:#00C896;
  --coin-right:#0B0E14;
  --accent:#00C896;
  --accent-2:#00C896;
  --accent-soft:rgba(0,200,150,.14);
  --ink:#0B0E14;
  --paper:#FAFAF8;
  --cream:#F2F1EC;
  --sage:#F2F1EC;
  --muted:#6B7280;
  --line:#E6E4DE;
  --card:#FFFFFF;
  --danger:#D64545;
  --shadow-soft:0 18px 55px -34px rgba(11,14,20,.38);
  --shadow-strong:0 28px 80px -42px rgba(11,14,20,.55);
}
html.dark{
  --coin-left:#F4F3ED;
  --coin-right:#F4F3ED;
  --ink:#F4F3ED;
  --paper:#0B0E14;
  --cream:#161B26;
  --sage:#161B26;
  --muted:#9199A8;
  --line:#242B3A;
  --card:#111623;
  --accent-soft:rgba(0,200,150,.18);
  --shadow-soft:0 18px 55px -34px rgba(0,0,0,.6);
  --shadow-strong:0 28px 80px -42px rgba(0,0,0,.78);
}
body{
  background:
    radial-gradient(circle at 100% 0%, rgba(0,200,150,.10), transparent 21rem),
    var(--paper);
  color:var(--ink);
}
html.dark body{
  background:
    radial-gradient(circle at 100% 0%, rgba(0,200,150,.08), transparent 21rem),
    var(--paper);
}
.topbar{
  background:rgba(247,245,239,.82) !important;
}
html.dark .topbar{
  background:rgba(11,14,20,.82) !important;
}
.spend-card{
  background:
    radial-gradient(circle at 95% 0%, rgba(0,200,150,.10), transparent 12rem),
    var(--card) !important;
}
.spend-card:after{
  background:rgba(0,200,150,.10) !important;
}
.pill{
  border-radius:999px !important;
}
.pill:not(.warn){
  background:var(--accent-soft) !important;
  color:var(--ink) !important;
}
.pill .pill-dot{
  background:var(--accent) !important;
}
.qa-btn{
  background:rgba(255,254,250,.84) !important;
}
html.dark .qa-btn,
html.dark .brief-card,
html.dark .log-item,
html.dark .empty-state,
html.dark .choice-btn,
html.dark .amount-input-wrap{
  background:var(--card) !important;
  color:var(--ink) !important;
}
.qa-btn .icon{
  background:var(--cream) !important;
}
.choice-btn.selected{
  background:var(--accent) !important;
  border-color:var(--accent) !important;
  color:#0B0E14 !important;
}
.btn-primary{
  background:var(--ink) !important;
  color:var(--card) !important;
}
.btn-primary:hover{opacity:.92}
.afford-cta{
  background:var(--ink) !important;
  color:var(--card) !important;
}
.afford-cta .arrow{
  background:var(--accent) !important;
  color:#0B0E14 !important;
}
.cat-bar-fill{
  background:var(--accent) !important;
}
.insight-chip{
  background:var(--accent-soft) !important;
  color:var(--ink) !important;
}
.bottomnav{
  background:rgba(247,245,239,.86) !important;
}
html.dark .bottomnav{
  background:rgba(11,14,20,.86) !important;
}
.nav-item.active{
  color:var(--ink) !important;
  background:var(--cream) !important;
}
.nav-item.active .icon{
  background:var(--accent) !important;
  color:#0B0E14 !important;
}
.theme-toggle{
  width:38px;height:38px;border-radius:50%;
  border:1px solid var(--line);background:var(--card);
  color:var(--ink);display:grid;place-items:center;cursor:pointer;
  font-size:16px;
}
html.dark .theme-toggle{background:var(--card)}


/* Passcode screens */
.passcode-overlay{
  position:fixed;top:0;right:0;bottom:0;left:0;z-index:99998;display:none;
  background:var(--paper,#f7f5ef);color:var(--ink,#11150f);
  overflow:auto;
}
.passcode-overlay.active{display:flex;align-items:center;justify-content:center}
.passcode-panel{
  width:min(90vw,370px);padding:30px 22px;text-align:center;
}
.passcode-brand{font-size:27px;font-weight:900;letter-spacing:-1.8px}
.passcode-brand .dot{color:var(--coin-left,#56c596)}
.passcode-sub{font-size:11px;color:var(--muted,#72776f);margin-top:8px}
.passcode-title{font-size:22px;font-weight:850;margin-top:45px}
.passcode-hint{font-size:12px;color:var(--muted,#72776f);margin-top:8px}
.passcode-dots{display:flex;justify-content:center;gap:12px;margin:25px 0 28px}
.passcode-dot{
  width:13px;height:13px;border-radius:50%;
  border:1.5px solid var(--muted,#72776f);
}
.passcode-dot.filled{background:var(--emerald);border-color:var(--emerald)}
.passcode-keypad{
  display:grid;grid-template-columns:repeat(3,1fr);gap:11px;
  max-width:270px;margin:0 auto;
}
.passcode-key{
  height:58px;border-radius:18px;border:1px solid var(--line,#dedbd2);
  background:var(--card,#fffefa);color:var(--ink,#11150f);
  font-size:19px;font-weight:750;cursor:pointer;
}
.passcode-key:active{transform:scale(.97)}
.passcode-key.action{font-size:12px;color:var(--muted,#72776f)}
.passcode-error{height:18px;margin-top:13px;color:var(--danger,#ef7a73);font-size:11px}
.passcode-skip{margin-top:18px;font-size:11px;color:var(--muted,#72776f);cursor:pointer;text-decoration:underline}


.stackt-launching .wordmark{animation:stacktBrandIn .55s ease both}
@keyframes stacktBrandIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}


/* ===== STACKT. POLISHED LAUNCH + PASSCODE ===== */
.stackt-launch{
  position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;
  display:flex;align-items:center;justify-content:center;
  background:var(--ink);color:var(--paper);
  opacity:1;visibility:visible;
  transition:opacity .28s ease, visibility .28s ease;
}
.stackt-launch.hide{opacity:0;visibility:hidden;pointer-events:none}
.launch-core{
  width:min(88vw,330px);text-align:center;
  transform:translateY(4px);
}
.coin-mark.on-dark { animation: coinPulse 1.4s ease-in-out infinite; }
@keyframes coinPulse{
  0%,100%{ opacity:.88; transform:scale(0.98); }
  50%{ opacity:1; transform:scale(1); }
}
.launch-wordmark{
  font-size:34px;line-height:1;font-weight:800;
  letter-spacing:-0.5px;color:var(--paper);
}
.launch-tagline{
  margin-top:10px;font-size:10px;line-height:1.5;
  font-weight:700;letter-spacing:.25px;color:rgba(244,243,237,.6);
}

/* Passcode: softer and more Stackt, less bank-app */
.passcode-overlay{
  position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;display:none;
  background:var(--paper);color:var(--ink);
  overflow:auto;
}
.passcode-overlay.active{display:flex;align-items:center;justify-content:center}
.passcode-panel{
  width:min(90vw,360px);padding:26px 20px 30px;text-align:center;
}
.passcode-title{font-size:24px;font-weight:900;letter-spacing:-.7px}
.passcode-subtitle{
  margin-top:7px;font-size:11px;color:var(--muted,#72776f);line-height:1.5;
}
.passcode-dots{
  display:flex;justify-content:center;gap:13px;margin:26px 0 25px;
}
.passcode-dot{
  width:12px;height:12px;border-radius:50%;
  border:1.5px solid var(--line,#dedbd2);
  background:transparent;transition:.15s ease;
}
.passcode-dot.filled{
  background:var(--coin-left,#56c596);
  border-color:var(--coin-left,#56c596);
  transform:scale(1.08);
}
.passcode-keypad{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:10px;max-width:270px;margin:0 auto;
}
.passcode-key{
  height:58px;border:0;border-radius:20px;
  background:var(--card,#fffefa);color:var(--ink,#11150f);
  box-shadow:var(--shadow-soft,0 18px 55px -34px rgba(11,14,20,.38));
  font-size:18px;font-weight:800;cursor:pointer;
}
.passcode-key:active{transform:scale(.95)}
.passcode-key.action{
  background:transparent;box-shadow:none;
  color:var(--muted,#72776f);font-size:11px;font-weight:700;
}
.passcode-error{
  height:18px;margin-top:14px;font-size:11px;color:var(--danger,#ef7a73);
}
.passcode-skip{
  margin-top:18px;font-size:11px;color:var(--muted,#72776f);
  cursor:pointer;
}


/* ============================================================
   STACKT MOBILE UI REFRESH — 2026-08
   Visual-only layer. Existing calculations and storage untouched.
   ============================================================ */
:root {
  --paper:#F6F7F5; --card:#FFFFFF; --ink:#0A0D12; --ink-soft:#161B22;
  --emerald:#00C99A; --emerald-2:#19E6B2; --emerald-tint:#DFFBF3;
  --muted:#737A86; --line:#E8EAE7; --cream:#EFF1ED;
  --shadow:0 16px 42px rgba(10,13,18,.08);
  --shadow-soft:0 8px 24px rgba(10,13,18,.055);
}
body { background:linear-gradient(180deg,#F8F9F7 0%,#F3F5F2 100%); }
#app { background:transparent; max-width:480px; }
.topbar { position:sticky; top:0; z-index:35; padding:14px 18px 9px; background:rgba(246,247,245,.88); backdrop-filter:blur(18px); }
.wordmark { font-size:18px; letter-spacing:-.8px; }
.theme-toggle,.topbar .settings-btn { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:var(--card); box-shadow:var(--shadow-soft); }
.avatar-badge { box-shadow:0 0 0 3px var(--paper); }
.screen { padding-left:18px; padding-right:18px; }
.screen-pad { padding-top:14px; }

/* onboarding: shorter, bolder, more app-like */
.ob-eyebrow { display:inline-flex; align-self:flex-start; padding:7px 10px; border-radius:999px; background:var(--emerald-tint); letter-spacing:.5px; color:#067A5C; margin-bottom:16px; }
.ob-question { font-size:30px; line-height:1.05; letter-spacing:-1.15px; max-width:360px; }
.ob-sub { font-size:13.5px; line-height:1.45; margin-bottom:20px; }
.ob-step-dots { gap:5px; margin-bottom:28px; }
.dot { flex:1; max-width:44px; height:5px; }
.log-text-input,.amount-input,.choice-btn,.bill-row input { border:1px solid var(--line); box-shadow:0 1px 0 rgba(10,13,18,.02); }
.log-text-input:focus,.amount-input:focus,.bill-row input:focus { outline:none; border-color:var(--emerald); box-shadow:0 0 0 4px rgba(0,201,154,.10); }
.choice-btn { padding:15px 16px; border-radius:16px; }
.choice-btn.selected { box-shadow:inset 0 0 0 1px var(--emerald); }
.btn { min-height:52px; font-size:14px; letter-spacing:-.1px; }
.btn-primary { background:var(--ink); box-shadow:0 10px 22px rgba(10,13,18,.13); }

/* home hero */
.home-greeting-row { margin-bottom:10px; }
.home-greeting { font-size:13px; font-weight:650; }
.spend-card { position:relative; overflow:hidden; padding:24px 22px; border:0; border-radius:28px; margin-top:4px; box-shadow:0 22px 50px rgba(10,13,18,.14); background:var(--ink); color:#fff; }
.spend-card::after { content:""; position:absolute; width:180px; height:180px; right:-70px; top:-95px; border-radius:50%; background:radial-gradient(circle,rgba(25,230,178,.35),rgba(25,230,178,0) 68%); pointer-events:none; }
.spend-card .spend-label,.spend-card .spend-sub,.spend-card .asof { color:#AEB5BE; }
.spend-card .spend-amount { color:#fff; font-size:48px; letter-spacing:-2px; }
.spend-card .spend-amount.deficit { color:#FF8585; }
.spend-card .asof { border-color:rgba(255,255,255,.10); }
.spend-card .pill { background:rgba(0,201,154,.16); color:#5DF0CA; }
.spend-card .pill.warn { background:rgba(214,69,69,.16); color:#FF9C9C; }
.spend-card .whatif-trigger { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.10); color:#fff; }
.spend-card .whatif-trigger .arrow { color:var(--emerald-2); }

.quick-actions { gap:9px; margin:4px 0 28px; }
.quick-actions-4 { display:grid; grid-template-columns:repeat(4,1fr); }
.qa-btn { min-width:0; padding:13px 4px 11px; border:0; border-radius:18px; box-shadow:var(--shadow-soft); background:var(--card); }
.qa-btn .icon { width:34px; height:34px; margin:0 auto 7px; border-radius:12px; display:grid; place-items:center; background:var(--cream); font-size:18px; font-weight:800; }
.qa-btn:first-child .icon { background:var(--emerald-tint); color:#067A5C; }
.qa-btn .label { font-size:10.5px; white-space:nowrap; }
.section-title { font-size:11px; letter-spacing:.8px; margin-left:2px; }
.upcoming-item,.plan-card { border:0; box-shadow:var(--shadow-soft); }
.upcoming-item { border-radius:17px; padding:14px; }
.plan-card { border-radius:22px; padding:17px; }

/* activity */
#screen-insights h2,#screen-commitments h2,#screen-settings h2 { font-size:28px !important; letter-spacing:-1px; }
.gap-card { border-radius:26px; padding:22px; background:linear-gradient(145deg,var(--ink),#171D25); box-shadow:0 18px 40px rgba(10,13,18,.13); }
.gap-card .gamount { font-size:32px; color:var(--emerald-2); letter-spacing:-1px; }
.cat-bar-track { height:9px; }

/* Money becomes a compact dashboard rather than a document */
#screen-commitments > p { font-size:13px !important; margin-bottom:14px !important; }
#screen-commitments .plan-card > p { line-height:1.35; }
#screen-commitments .section-title { color:var(--ink); font-size:12px; }

/* Profile/settings scanability */
.settings-item { padding:14px 2px; }
.settings-item .t { font-size:14px; }
.settings-item .s { font-size:11.5px; max-width:245px; }
.settings-btn { border-radius:999px; padding:9px 13px; }

/* native-feeling bottom nav */
.bottomnav { bottom:10px; width:calc(100% - 24px); border:1px solid rgba(232,234,231,.9); border-radius:24px; padding:7px 8px calc(7px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.90); box-shadow:0 16px 38px rgba(10,13,18,.15); }
.nav-item { border-radius:17px; padding:7px 4px 6px; gap:2px; }
.nav-item .icon { font-size:18px; line-height:1; }
.nav-item .label { font-size:9.5px; }
.nav-item.active { background:var(--emerald-tint); color:#067A5C; }

/* sheets */
.modal-overlay { background:rgba(10,13,18,.58); backdrop-filter:blur(3px); }
.modal-sheet { border-radius:28px 28px 0 0; padding:14px 18px calc(22px + env(safe-area-inset-bottom)); }
.modal-handle { width:46px; height:5px; margin-bottom:16px; }
.mic-btn { background:var(--ink); box-shadow:0 8px 18px rgba(10,13,18,.15); }
.cat-chip { border:0; background:var(--cream); }
.cat-chip.selected { background:var(--emerald-tint); box-shadow:inset 0 0 0 1px var(--emerald); }
.toast { border-radius:16px; bottom:104px; box-shadow:0 16px 36px rgba(10,13,18,.20); }

/* dark mode parity */
html.dark { --paper:#0B0E14; --card:#141920; --ink:#F6F7F5; --ink-soft:#E8ECE8; --muted:#9DA5B0; --line:#252B34; --cream:#1B2129; --emerald-tint:#0D3028; }
html.dark { background:#0B0E14; }
html.dark .topbar { background:rgba(11,14,20,.88); }
html.dark .bottomnav { background:rgba(20,25,32,.92); border-color:#252B34; }
html.dark .spend-card { background:linear-gradient(145deg,#151A21,#090B0F); }

@media (max-width:360px){ .qa-btn .label{font-size:9.5px}.spend-card .spend-amount{font-size:42px}.ob-question{font-size:27px} }

/* Money page: compact card dashboard */
.money-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}.money-tile{appearance:none;border:1px solid var(--line);background:var(--card);border-radius:22px;padding:16px;text-align:left;min-height:156px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow-soft);color:var(--ink);cursor:pointer;position:relative;overflow:hidden}.money-tile:active{transform:scale(.985)}.money-tile-icon{width:38px;height:38px;border-radius:13px;background:var(--cream);display:grid;place-items:center;font-size:18px;font-weight:800;margin-bottom:18px}.money-tile-kicker{font-size:9px;letter-spacing:1.25px;font-weight:800;color:var(--muted);margin-bottom:3px}.money-tile strong{font-size:17px;letter-spacing:-.35px}.money-tile-amount{font-size:16px;font-weight:800;margin-top:8px}.money-tile-meta{font-size:10.5px;line-height:1.25;color:var(--muted);margin-top:4px}.money-tile-accent{background:var(--ink);color:#fff;border-color:var(--ink)}.money-tile-accent .money-tile-icon{background:var(--emerald);color:var(--ink)}.money-tile-accent .money-tile-kicker,.money-tile-accent .money-tile-meta{color:rgba(255,255,255,.62)}.money-tile-add{border-style:dashed;justify-content:center;background:transparent;min-height:132px}.money-tile-plus{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--emerald);color:var(--ink);font-size:25px;font-weight:500;margin-bottom:12px}.money-detail-panel,.money-composer{margin-top:16px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:var(--shadow-soft)}.money-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.money-detail-kicker{font-size:9px;font-weight:800;letter-spacing:1.3px;color:var(--emerald);margin-bottom:3px}.money-detail-head h3{font-size:20px;letter-spacing:-.5px}.money-detail-close{border:0;background:var(--cream);color:var(--ink);width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}.money-card-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.money-card-item:last-child{border-bottom:0}.money-card-item-main{min-width:0;flex:1}.money-card-item-title{font-size:13px;font-weight:750}.money-card-item-sub{font-size:10.5px;color:var(--muted);margin-top:3px;line-height:1.3}.money-card-item-amount{font-size:12.5px;font-weight:800;white-space:nowrap}.money-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.money-mini-btn{border:0;border-radius:999px;background:var(--cream);padding:7px 10px;font-size:10.5px;font-weight:750;color:var(--ink)}.money-mini-btn.primary{background:var(--emerald);color:var(--ink)}.money-empty{font-size:12px;line-height:1.45;color:var(--muted);padding:8px 0 12px}.money-summary-strip{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:6px}.money-summary-strip strong{font-size:17px}.money-date-input{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:10px 11px;font-size:12.5px;margin-top:8px;color:var(--muted);background:var(--card)}.money-repeat-row{display:flex;align-items:center;gap:8px;margin-top:9px;font-size:12px;color:var(--muted)}.money-composer .recur-days-row{font-size:12px;color:var(--muted)}.money-composer .recur-days-row input{width:68px;border:1.5px solid var(--line);border-radius:9px;padding:8px;text-align:center;background:var(--card);color:var(--ink)}
@media(max-width:360px){.money-card-grid{gap:9px}.money-tile{padding:13px;min-height:145px;border-radius:18px}.money-tile strong{font-size:16px}}
html.dark .money-tile{background:var(--card);border-color:var(--line)}html.dark .money-tile-accent{background:#05070a;border-color:#20252d}html.dark .money-tile-add{background:transparent}
.money-tile.selected{outline:2px solid var(--emerald);outline-offset:1px}.money-tile-accent.selected{outline-color:var(--emerald)}

/* ============================================================
   HOME CARD SYSTEM + MODERN ICON REFRESH
   ============================================================ */
.home-header-actions{display:flex;gap:7px;align-items:center}
.home-round-btn{width:34px;height:34px;border:1px solid var(--line);background:var(--card);border-radius:50%;display:grid;place-items:center;color:var(--ink);padding:0;box-shadow:var(--shadow-soft)}
.home-round-btn svg,.money-tile-icon svg,.money-tile-plus svg,.home-action-icon svg,.home-card-arrow svg,.home-panel-icon svg,.nav-item .icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}
.home-round-btn svg{width:17px;height:17px}
.refresh-btn.spinning svg{animation:refreshSpin .6s ease}

.home-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:12px 0 18px}
.home-action-card{appearance:none;border:1px solid var(--line);background:var(--card);border-radius:20px;padding:14px;min-height:102px;display:grid;grid-template-columns:40px 1fr 20px;align-items:center;gap:10px;text-align:left;color:var(--ink);box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .16s ease,border-color .16s ease}
.home-action-card:active{transform:scale(.98);border-color:var(--emerald)}
.home-action-icon{width:40px;height:40px;border-radius:13px;background:var(--cream);display:grid;place-items:center;color:var(--ink)}
.home-action-icon.accent{background:var(--emerald);color:var(--ink)}
.home-action-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.home-action-copy strong{font-size:13.5px;letter-spacing:-.2px}
.home-action-copy small{font-size:10.5px;color:var(--muted);line-height:1.25}
.home-card-arrow{color:var(--muted);display:grid;place-items:center}
.home-card-arrow svg{width:16px;height:16px}

.home-panel-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:15px 15px 8px;margin:0 0 12px;box-shadow:var(--shadow-soft);overflow:hidden}
.home-panel-head{display:flex;align-items:center;gap:11px;padding-bottom:11px;border-bottom:1px solid var(--line);margin-bottom:2px}
.home-panel-head>div{display:flex;flex-direction:column;gap:2px}
.home-panel-head strong{font-size:14px;letter-spacing:-.25px}
.home-panel-head small{font-size:10.5px;color:var(--muted)}
.home-panel-icon{width:36px;height:36px;border-radius:12px;background:var(--cream);display:grid;place-items:center;color:var(--ink);flex:0 0 auto}
.home-panel-icon svg{width:18px;height:18px}
.home-panel-card .upcoming-item{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 2px;background:transparent;margin:0}
.home-panel-card .upcoming-item:last-child{border-bottom:0}
.home-panel-card .empty-state{padding:22px 6px}
.home-panel-card .log-item{padding:12px 2px}

.money-tile-icon svg{width:19px;height:19px}
.money-tile-plus svg{width:21px;height:21px}
.nav-item .icon{width:24px;height:22px;display:grid;place-items:center}
.nav-item .icon svg{width:19px;height:19px;stroke-width:1.9}
.nav-item.active .icon svg{stroke-width:2.2}

.log-item .cat-badge svg,.tally-row .cat-badge svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

html.dark .home-action-card,html.dark .home-panel-card,html.dark .home-round-btn{background:var(--card);border-color:var(--line)}
html.dark .home-action-icon,html.dark .home-panel-icon{background:var(--cream)}

@media(max-width:360px){
  .home-action-grid{gap:8px}
  .home-action-card{padding:11px;grid-template-columns:36px 1fr 16px;min-height:94px;border-radius:18px}
  .home-action-icon{width:36px;height:36px;border-radius:12px}
  .home-action-copy strong{font-size:12.5px}
  .home-action-copy small{font-size:9.7px}
}


/* ---- Saved profile + standalone settings ---- */
.top-icon-btn { width:38px; height:38px; display:flex; align-items:center; justify-content:center; border:0; border-radius:50%; background:var(--card); color:var(--ink); box-shadow:var(--shadow-soft); }
.top-icon-btn svg,.icon-pill-btn svg,.profile-edit-btn svg,.profile-shortcut-icon svg,.profile-shortcut-card .chev { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.profile-page-head { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:16px; }
.profile-page-head h2,.settings-page-head h2 { margin:2px 0 0; font-size:24px; letter-spacing:-.5px; }
.eyebrow { font-size:10px; letter-spacing:1.1px; font-weight:800; color:var(--emerald); }
.icon-pill-btn { width:40px; height:40px; border:0; border-radius:14px; background:var(--cream); color:var(--ink); display:flex; align-items:center; justify-content:center; }
.profile-saved-card { background:var(--ink); color:#fff; border-radius:26px; padding:24px 20px 20px; text-align:center; box-shadow:var(--shadow); }
.profile-avatar-wrap { position:relative; display:inline-block; margin-bottom:10px; }
.profile-view-avatar { width:84px; height:84px; font-size:36px; margin:0 auto; box-shadow:0 0 0 4px rgba(255,255,255,.12); }
.saved-dot { position:absolute; right:1px; bottom:5px; width:18px; height:18px; border-radius:50%; background:var(--emerald); border:3px solid var(--ink); }
.profile-saved-name { font-size:23px; font-weight:850; letter-spacing:-.5px; }
.profile-saved-email { font-size:12.5px; color:#A8ADB8; margin-top:3px; overflow-wrap:anywhere; }
.profile-status-chip { margin:12px auto 18px; display:inline-flex; align-items:center; gap:7px; padding:7px 10px; border-radius:999px; background:rgba(255,255,255,.08); color:#D8DADF; font-size:11px; font-weight:700; }
.profile-status-chip span { width:7px; height:7px; background:var(--emerald); border-radius:50%; }
.profile-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-bottom:14px; text-align:left; }
.profile-detail { background:rgba(255,255,255,.07); border-radius:15px; padding:12px; min-width:0; }
.profile-detail .k { color:#89909C; font-size:10px; text-transform:uppercase; letter-spacing:.7px; font-weight:750; }
.profile-detail .v { color:#fff; font-size:13px; font-weight:700; margin-top:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.profile-edit-btn { background:var(--emerald); color:var(--ink); display:flex; align-items:center; justify-content:center; gap:8px; border-radius:15px; }
.profile-edit-btn svg { width:17px; height:17px; }
.profile-shortcut-card { margin-top:12px; display:grid; grid-template-columns:42px 1fr 20px; align-items:center; gap:11px; background:var(--card); border-radius:19px; padding:14px; box-shadow:var(--shadow-soft); cursor:pointer; }
.profile-shortcut-icon { width:42px; height:42px; display:flex; align-items:center; justify-content:center; background:var(--cream); border-radius:13px; }
.profile-shortcut-card .t { font-weight:800; font-size:14px; }
.profile-shortcut-card .s { color:var(--muted); font-size:11.5px; margin-top:2px; }
.profile-shortcut-card .chev { color:var(--muted); width:18px; }
.settings-page-head { margin-bottom:22px; }
.settings-page-head p { font-size:12.5px; color:var(--muted); margin-top:5px; }
.settings-group-label { font-size:10px; font-weight:800; letter-spacing:.9px; color:var(--muted); text-transform:uppercase; margin:18px 4px 8px; }
.settings-card { background:var(--card); border-radius:19px; padding:0 14px; box-shadow:var(--shadow-soft); overflow:hidden; }
.settings-card .settings-item { padding:14px 1px; }
.settings-card .settings-item:last-child { border-bottom:0; }
.settings-footnote { font-size:11.5px; color:var(--muted); line-height:1.45; margin:16px 4px 8px; }
[data-theme="dark"] .profile-saved-card { background:#080A0E; }
[data-theme="dark"] .profile-shortcut-card,[data-theme="dark"] .settings-card { background:var(--card); }

.build-chip{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:var(--surface-2,#f3f4f1);font-size:11px;font-weight:700;margin:4px 0 18px;opacity:.72}


/* ===== Money Lab: investments, priority stack and future-income planner ===== */
.money-lab-tile { background: linear-gradient(145deg, var(--card), color-mix(in srgb, var(--emerald) 8%, var(--card))); }
.money-lab-tile .money-tile-meta { max-width: 22ch; }
.lab-hero { border-radius: 24px; padding: 22px; background: var(--ink); color:#fff; margin:12px 0 14px; position:relative; overflow:hidden; }
.lab-hero:after { content:''; position:absolute; width:120px; height:120px; border-radius:50%; background:var(--emerald); opacity:.16; right:-35px; top:-45px; }
.lab-hero h2 { font-size:26px; line-height:1.02; max-width:12ch; margin:8px 0 8px; letter-spacing:-.6px; }
.lab-hero p { font-size:13px; line-height:1.5; opacity:.78; max-width:34ch; margin:0; }
.lab-eyebrow { font-size:10px; letter-spacing:1.4px; color:var(--emerald); font-weight:800; }
.lab-hero-future { background:linear-gradient(145deg,#111820,#172b28); }
.lab-note, .priority-tip { border:1px solid var(--line); background:var(--cream); border-radius:16px; padding:13px 14px; font-size:12.5px; line-height:1.5; margin:12px 0 18px; }
.lab-note.playful { margin-top:16px; background:color-mix(in srgb,var(--emerald) 10%,var(--card)); }
.lab-card { background:var(--card); border:1px solid var(--line); border-radius:20px; padding:16px; margin-bottom:14px; box-shadow:0 8px 28px rgba(11,14,20,.04); }
.lab-card-title { font-weight:800; font-size:15px; margin-bottom:5px; }
.lab-card p { font-size:12.5px; color:var(--muted); line-height:1.45; margin:0 0 12px; }
.lab-input-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-bottom:10px; }
.lab-input-grid input, .lab-input-grid select, .lab-full-input, .alloc-grid input { min-width:0; width:100%; border:1.5px solid var(--line); border-radius:13px; padding:12px; background:var(--card); color:var(--ink); font:inherit; font-size:13px; }
.lab-full-input { margin:8px 0 9px; }
.lab-result { margin-top:11px; border-radius:14px; background:var(--cream); padding:12px; font-size:12.5px; line-height:1.45; }
.lab-result:empty { display:none; }
.lab-result-main { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:4px; }
.lab-result-main strong { color:var(--emerald); font-size:20px; }
.lab-result p { margin:0; }
.lab-muted { color:var(--muted); }
.invest-type-list { display:grid; gap:9px; margin-bottom:18px; }
.invest-type { width:100%; border:1px solid var(--line); background:var(--card); border-radius:17px; padding:13px; display:grid; grid-template-columns:36px 1fr; gap:10px; text-align:left; color:var(--ink); }
.invest-type>span { width:36px; height:36px; border-radius:12px; display:grid; place-items:center; background:var(--cream); font-size:17px; }
.invest-type strong { display:block; font-size:13.5px; }
.invest-type small { display:block; color:var(--muted); font-size:11.5px; margin-top:2px; line-height:1.35; }
.invest-type p { display:none; grid-column:2; margin:8px 0 0; font-size:12.5px; line-height:1.5; color:var(--muted); }
.invest-type p.open { display:block; }
.term-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:18px; }
.term-grid div { border:1px solid var(--line); border-radius:15px; padding:12px; background:var(--card); }
.term-grid strong { display:block; font-size:12.5px; margin-bottom:4px; }
.term-grid span { font-size:11.5px; line-height:1.4; color:var(--muted); }
.priority-row { display:grid; grid-template-columns:34px 1fr auto; gap:10px; align-items:start; background:var(--card); border:1px solid var(--line); border-radius:17px; padding:13px; margin-bottom:9px; }
.priority-rank { width:32px; height:32px; border-radius:11px; background:var(--ink); color:#fff; display:grid; place-items:center; font-weight:800; }
.priority-title { font-size:13.5px; font-weight:800; }
.priority-chip { display:inline-block; font-size:9px; padding:3px 6px; border-radius:999px; background:var(--cream); color:var(--muted); margin-left:4px; vertical-align:2px; }
.priority-reason { font-size:11.5px; line-height:1.45; color:var(--muted); margin-top:4px; }
.priority-side { text-align:right; display:flex; flex-direction:column; align-items:flex-end; gap:7px; }
.priority-side strong { font-size:12px; }
.priority-side button { border:0; background:var(--cream); color:var(--muted); width:24px; height:24px; border-radius:8px; }
.lab-empty { border:1px dashed var(--line); border-radius:16px; padding:18px; color:var(--muted); font-size:12.5px; text-align:center; }
.alloc-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.alloc-grid label { display:grid; grid-template-columns:1fr 48px 14px; gap:5px; align-items:center; border:1px solid var(--line); border-radius:14px; padding:8px 10px; }
.alloc-grid label span { font-size:11.5px; font-weight:700; }
.alloc-grid input { padding:7px; text-align:right; border-radius:9px; }
.alloc-grid b { font-size:11px; color:var(--muted); }
.alloc-preview { margin:12px 0; background:var(--cream); border-radius:14px; padding:10px 12px; }
.alloc-preview-row, .alloc-preview-total { display:flex; justify-content:space-between; gap:10px; padding:5px 0; font-size:11.5px; }
.alloc-preview-total { border-top:1px solid var(--line); margin-top:4px; padding-top:8px; font-weight:800; }
.alloc-preview-total.over { color:var(--danger); }
.future-plan-card { border:1px solid var(--line); background:var(--card); border-radius:18px; padding:14px; margin-bottom:10px; }
.future-plan-top { display:flex; justify-content:space-between; gap:12px; align-items:start; }
.future-plan-top strong { display:block; font-size:13.5px; }
.future-plan-top small { display:block; font-size:10.5px; color:var(--muted); margin-top:2px; }
.future-plan-top>b { font-size:13px; }
.future-plan-chips { display:flex; flex-wrap:wrap; gap:5px; margin:10px 0 8px; }
.future-plan-chips span { font-size:9.5px; background:var(--cream); border-radius:999px; padding:5px 7px; }
.future-plan-note { font-size:10.5px; color:var(--muted); line-height:1.4; margin-bottom:8px; }
@media(max-width:420px){ .lab-input-grid,.term-grid,.alloc-grid{grid-template-columns:1fr;} .lab-hero h2{font-size:24px;} }


/* ---- Money momentum + tracker refresh ---- */
#screen-home{position:relative;background:
  radial-gradient(circle at 92% 8%,rgba(0,200,150,.12),transparent 28%),
  linear-gradient(180deg,#F3F6F2 0%,#FAFAF8 46%,#F1F0EC 100%);}
#screen-home:before{content:"";position:absolute;left:-70px;top:330px;width:190px;height:190px;border-radius:50%;background:rgba(11,14,20,.035);pointer-events:none}
html.dark #screen-home{background:radial-gradient(circle at 92% 8%,rgba(0,200,150,.12),transparent 30%),linear-gradient(180deg,#0B0E14 0%,#10151A 50%,#0B0E14 100%)}
.momentum-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 16px;position:relative;z-index:1}
.momentum-card{border:0;border-radius:20px;padding:14px;text-align:left;display:flex;align-items:center;gap:11px;min-height:88px;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-soft)}
.momentum-card.streak-card{background:#E7ECE8}.momentum-card.coin-card{background:var(--ink);color:#fff}
.momentum-card>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}.momentum-card small{font-size:9.5px;text-transform:uppercase;letter-spacing:.9px;font-weight:800;opacity:.62}.momentum-card strong{font-size:17px;letter-spacing:-.4px}.momentum-card em{font-style:normal;font-size:9.7px;opacity:.62;line-height:1.25}
.momentum-icon{width:38px;height:38px;border-radius:13px;background:var(--emerald);display:grid;place-items:center;flex:0 0 auto}.momentum-icon svg{width:19px;height:19px;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.stackt-mini-coin{position:relative;width:42px;height:34px;display:block;flex:0 0 auto}.stackt-mini-coin i{position:absolute;top:7px;width:23px;height:23px;border-radius:50%;background:#F2F1EC}.stackt-mini-coin i:nth-child(1){left:0}.stackt-mini-coin i:nth-child(2){left:10px;width:25px;height:25px;top:6px;background:var(--emerald);z-index:2}.stackt-mini-coin i:nth-child(3){right:0}
#screen-home .home-action-card:nth-child(2){background:#EEF1ED}#screen-home .home-action-card:nth-child(3){background:#E6F8F2}#screen-home .home-panel-card:nth-of-type(2){background:#F0F2EF}
html.dark .momentum-card.streak-card,html.dark #screen-home .home-action-card:nth-child(2),html.dark #screen-home .home-action-card:nth-child(3),html.dark #screen-home .home-panel-card:nth-of-type(2){background:#151B1D;color:#fff}

.activity-hero{background:var(--ink);color:#fff;border-radius:26px;padding:20px;display:flex;justify-content:space-between;gap:16px;align-items:flex-end;box-shadow:var(--shadow);margin-bottom:12px}.activity-hero .glabel,.activity-hero .gnote{color:#AEB5BE}.activity-hero .gamount{font-size:34px;margin:5px 0}.activity-score-pills{display:flex;gap:7px}.activity-score-pills button{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.08);color:#fff;border-radius:14px;padding:8px 10px;min-width:58px;display:flex;flex-direction:column;gap:2px}.activity-score-pills span{font-size:8.5px;text-transform:uppercase;letter-spacing:.7px;opacity:.62}.activity-score-pills strong{font-size:16px}
.tracker-chart-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:16px;margin-bottom:18px;box-shadow:var(--shadow-soft)}.tracker-chart-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.tracker-chart-head>div{display:flex;flex-direction:column;gap:2px}.tracker-chart-head strong{font-size:14px}.tracker-chart-head small{font-size:10.5px;color:var(--muted)}.tracker-chip{font-size:11px;font-weight:800;background:var(--cream);padding:7px 9px;border-radius:999px}
.seven-day-chart{height:170px;display:grid;grid-template-columns:repeat(7,1fr);gap:7px;align-items:end;padding-top:8px}.day-col{height:100%;display:grid;grid-template-rows:20px 1fr 18px;align-items:end;text-align:center;min-width:0}.day-value{font-size:7.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-bar-wrap{height:112px;border-radius:10px;background:var(--cream);display:flex;align-items:flex-end;overflow:hidden;margin:4px auto;width:min(24px,78%)}.day-bar{width:100%;min-height:3px;border-radius:10px 10px 5px 5px;background:linear-gradient(180deg,var(--emerald),#00A982);transition:height .3s ease}.day-col span{font-size:9px;font-weight:700;color:var(--muted)}
html.dark .tracker-chart-card{background:var(--card)}html.dark .day-bar-wrap{background:#20262A}
@media(max-width:360px){.momentum-strip{gap:7px}.momentum-card{padding:11px;min-height:82px}.momentum-card strong{font-size:15px}.activity-hero{padding:16px}.seven-day-chart{gap:4px}.day-bar-wrap{width:20px}}

/* ---- Safe to Spend hero v3: playful, brand-compliant tonal palette ---- */
.spend-card:has(.safe-hero-v3){padding:0;background:transparent;box-shadow:none;overflow:visible;border-radius:0;margin-top:4px}
.spend-card:has(.safe-hero-v3)::after{display:none}
.safe-hero-v3{
  position:relative;overflow:hidden;border-radius:30px;padding:22px 20px 18px;
  background:
    radial-gradient(circle at 92% 7%,rgba(0,200,150,.34),transparent 24%),
    radial-gradient(circle at -4% 76%,rgba(242,241,236,.14),transparent 24%),
    linear-gradient(145deg,#0B0E14 0%,#111A1D 55%,#07392E 132%);
  color:#fff;box-shadow:0 28px 62px -28px rgba(11,14,20,.68);isolation:isolate
}
.safe-hero-v3:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.035),transparent 45%);pointer-events:none;z-index:-1}
.safe-orb{position:absolute;border-radius:999px;pointer-events:none;z-index:-1}
.safe-orb-one{width:150px;height:150px;right:-64px;top:-62px;background:rgba(0,200,150,.18);border:1px solid rgba(93,240,202,.12)}
.safe-orb-two{width:92px;height:92px;left:-52px;bottom:115px;background:rgba(242,241,236,.07)}
.safe-topline{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1;margin-bottom:22px}
.safe-status{display:inline-flex;align-items:center;gap:7px;background:#DDF9F0;color:#07684F;border-radius:999px;padding:7px 10px;font-size:10.5px;font-weight:850;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.safe-status>span{width:7px;height:7px;border-radius:50%;background:#00C896;box-shadow:0 0 0 4px rgba(0,200,150,.14)}
.safe-kicker{font-size:10px;letter-spacing:1.45px;font-weight:850;color:#8FEBD4;margin-bottom:7px}
.safe-big-number{font-size:54px;font-weight:820;letter-spacing:-3.2px;line-height:.98;color:#fff;margin-left:-2px}
.safe-caption{font-size:12.5px;color:#D4DBDA;margin-top:8px;line-height:1.4}
.safe-social-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:18px}
.safe-social-pill{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.09);color:#fff;border-radius:999px;padding:7px 9px;display:inline-flex;align-items:center;gap:5px;font-size:10px;backdrop-filter:blur(8px)}
.safe-social-pill svg{width:14px;height:14px;fill:none;stroke:#9BF2DD;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.safe-social-pill strong{font-size:11px}.safe-social-pill span{opacity:.68}
.safe-social-pill.coin-pill{background:#F2F1EC;color:#0B0E14;border-color:#F2F1EC}.safe-social-pill.coin-pill span{opacity:.62}.safe-coin-dot{width:11px;height:11px;border-radius:50%;background:#00C896;box-shadow:-5px 0 0 -2px #0B0E14,5px 0 0 -2px #0B0E14}
.safe-freshness{font-size:9.5px;color:#8D9A99;margin-left:auto}
.safe-cycle-card{margin-top:18px;background:rgba(250,250,248,.09);border:1px solid rgba(255,255,255,.09);border-radius:17px;padding:12px 13px;backdrop-filter:blur(10px)}
.safe-cycle-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}.safe-cycle-head strong{font-size:11.5px}.safe-cycle-head span{font-size:9.7px;color:#9FAAA9}
.safe-progress{height:6px;background:rgba(255,255,255,.10);border-radius:999px;overflow:hidden}.safe-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#00C896,#7DE8CF);box-shadow:0 0 14px rgba(0,200,150,.45)}
.safe-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.safe-split{border-radius:18px;padding:12px 12px 11px;display:flex;flex-direction:column;gap:4px;min-width:0}.safe-split span{font-size:9.5px;font-weight:750;letter-spacing:.2px}.safe-split strong{font-size:16px;letter-spacing:-.6px}.safe-split.everyday{background:#F2F1EC;color:#0B0E14}.safe-split.everyday span{color:#69716F}.safe-split.free{background:#CFF6EA;color:#063B30}.safe-split.free span{color:#317867}
.safe-vibe{margin-top:10px;border-radius:18px;padding:12px;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;background:#E3F9F1;color:#0B0E14}.safe-vibe.watch{background:#E7ECE8}.safe-vibe-icon{width:34px;height:34px;border-radius:12px;background:#00C896;display:grid;place-items:center}.safe-vibe-icon svg{width:17px;height:17px;fill:none;stroke:#0B0E14;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.safe-vibe strong{font-size:12.5px}.safe-vibe p{font-size:10.5px;color:#4C625D;line-height:1.42;margin-top:2px}
.safe-action-row{display:grid;grid-template-columns:1.05fr .95fr;gap:8px;margin-top:10px}.safe-action{min-height:43px;border-radius:15px;padding:10px 11px;border:1px solid rgba(255,255,255,.10);display:flex;align-items:center;justify-content:center;gap:6px;font-size:10.5px;font-weight:800}.safe-action svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.safe-action.ghost{background:rgba(255,255,255,.08);color:#F2F1EC}.safe-action.solid{background:#00C896;color:#071D17;border-color:#00C896}.safe-action.solid span{font-size:14px}
.safe-details{margin:9px 0 0!important;background:#F2F1EC!important;color:#0B0E14!important;border-radius:17px!important;padding:13px!important}.safe-details .parsed-row{font-size:10.5px;border-color:#DEDCD5}.safe-details .mono{color:#0B0E14}
.safe-check-purchase{width:100%;margin-top:10px;border:0;border-radius:18px;padding:12px 13px;background:linear-gradient(100deg,#FFFFFF 0%,#EEF9F5 100%);color:#0B0E14;display:flex;align-items:center;justify-content:space-between;text-align:left;box-shadow:0 10px 24px rgba(0,0,0,.12)}.safe-check-purchase span:first-child{display:flex;flex-direction:column;gap:1px}.safe-check-purchase small{font-size:9px;color:#75807D}.safe-check-purchase strong{font-size:11.5px}.safe-check-arrow{width:29px;height:29px;border-radius:10px;background:#0B0E14;color:#fff;display:grid;place-items:center;font-size:15px}
/* The separate momentum cards are now folded into the hero to keep Home tighter. */
#screen-home .momentum-strip{display:none}
html.dark .safe-hero-v3{background:radial-gradient(circle at 92% 7%,rgba(0,200,150,.28),transparent 24%),linear-gradient(145deg,#090B0F 0%,#101A1C 60%,#063229 130%)}
@media(max-width:360px){.safe-hero-v3{padding:19px 16px 16px}.safe-big-number{font-size:46px}.safe-social-row{gap:5px}.safe-freshness{width:100%;margin-left:0}.safe-action-row{grid-template-columns:1fr}.safe-split strong{font-size:14px}}

/* Toast / information message theme parity */
.toast {
  background: #0B0E14;
  color: #FFFFFF;
  border: 1px solid rgba(255,255,255,.08);
}
html.dark .toast,
html.dark .toast {
  background: #F6F7F5;
  color: #0B0E14;
  border-color: rgba(11,14,20,.10);
}


/* ---- Onboarding colour refresh: brand-compliant tonal system ---- */
#screen-ob-1, #screen-ob-2, #screen-ob-3, #screen-ob-4, #screen-ob-5 {
  position: relative;
  isolation: isolate;
  border-radius: 28px 28px 0 0;
  margin-top: 2px;
}
#screen-ob-1::before, #screen-ob-2::before, #screen-ob-3::before, #screen-ob-4::before, #screen-ob-5::before {
  content: '';
  position: absolute;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  right: -72px;
  top: 18px;
  z-index: -1;
  filter: blur(2px);
  opacity: .78;
}
#screen-ob-1 { background: linear-gradient(180deg, #EAFBF6 0%, var(--paper) 36%); }
#screen-ob-1::before { background: rgba(0,200,150,.18); }
#screen-ob-2 { background: linear-gradient(180deg, #F3FBF8 0%, var(--paper) 38%); }
#screen-ob-2::before { background: rgba(11,14,20,.07); }
#screen-ob-3 { background: linear-gradient(180deg, #F4F2EC 0%, var(--paper) 38%); }
#screen-ob-3::before { background: rgba(0,200,150,.12); }
#screen-ob-4 { background: linear-gradient(180deg, #EEF8F4 0%, var(--paper) 38%); }
#screen-ob-4::before { background: rgba(11,14,20,.06); }
#screen-ob-5 { background: linear-gradient(180deg, #E7F9F2 0%, var(--paper) 40%); }
#screen-ob-5::before { background: rgba(0,200,150,.2); }

#screen-ob-1 .ob-eyebrow, #screen-ob-2 .ob-eyebrow, #screen-ob-3 .ob-eyebrow, #screen-ob-4 .ob-eyebrow, #screen-ob-5 .ob-eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  background: rgba(0,200,150,.12);
  border: 1px solid rgba(0,200,150,.2);
  color: #067A5C;
  padding: 7px 10px;
  border-radius: 999px;
  margin-bottom: 14px;
}
.ob-step-dots { margin-bottom: 20px; }
.dot { height: 5px; background: rgba(11,14,20,.10); }
.dot.done { background: var(--emerald); box-shadow: 0 0 0 3px rgba(0,200,150,.08); }
.ob-question { font-size: 27px; letter-spacing: -0.7px; max-width: 360px; }
.ob-sub { max-width: 370px; }

#screen-ob-1 .log-text-input,
#screen-ob-1 .amount-input,
#screen-ob-2 .amount-input,
#screen-ob-3 .bill-row input,
#screen-ob-3 input[type=date],
#screen-ob-4 .bill-row input,
#screen-ob-5 .amount-input {
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 30px -24px rgba(11,14,20,.45);
}
.choice-btn {
  position: relative;
  overflow: hidden;
  box-shadow: 0 14px 30px -28px rgba(11,14,20,.55);
}
.choice-btn::after {
  content: '';
  position: absolute;
  width: 68px;
  height: 68px;
  right: -26px;
  bottom: -30px;
  border-radius: 50%;
  background: rgba(0,200,150,.07);
  pointer-events: none;
}
.choice-btn.selected {
  box-shadow: 0 16px 34px -26px rgba(0,200,150,.85);
}
#screen-ob-2 .choice-btn:nth-child(2n) { background: #F7F6F1; }
#screen-ob-2 .choice-btn:nth-child(2n).selected { background: var(--emerald-tint); }
#screen-ob-5 .choice-btn:first-child { background: #F7F6F1; }
#screen-ob-5 .choice-btn.selected { background: var(--emerald-tint); }

#screen-ob-1 .btn-primary, #screen-ob-2 .btn-primary, #screen-ob-3 .btn-primary, #screen-ob-4 .btn-primary, #screen-ob-5 .btn-primary {
  background: var(--emerald);
  color: var(--ink);
  box-shadow: 0 12px 28px -18px rgba(0,200,150,.85);
}
#screen-ob-1 .btn-primary:active, #screen-ob-2 .btn-primary:active, #screen-ob-3 .btn-primary:active, #screen-ob-4 .btn-primary:active, #screen-ob-5 .btn-primary:active { transform: translateY(1px) scale(.99); }

html.dark #screen-ob-1, html.dark #screen-ob-2, html.dark #screen-ob-3, html.dark #screen-ob-4, html.dark #screen-ob-5 {
  background: linear-gradient(180deg, rgba(0,200,150,.10) 0%, var(--paper) 38%);
}
html.dark #screen-ob-1 .log-text-input,
html.dark #screen-ob-1 .amount-input,
html.dark #screen-ob-2 .amount-input,
html.dark #screen-ob-3 .bill-row input,
html.dark #screen-ob-3 input[type=date],
html.dark #screen-ob-4 .bill-row input,
html.dark #screen-ob-5 .amount-input { background: var(--card); }


/* ---- Dark mode parity hardening v0.1.2 ----
   Theme state lives on <html class="dark">. Keep every component keyed to that source of truth. */
html.dark input,
html.dark select,
html.dark textarea {
  background: var(--card);
  color: var(--ink);
  border-color: var(--line);
  color-scheme: dark;
}
html.dark input::placeholder,
html.dark textarea::placeholder { color: #7F8995; }
html.dark .choice-btn:nth-child(2n),
html.dark #screen-ob-5 .choice-btn:first-child {
  background: var(--card);
  color: var(--ink);
}
html.dark .choice-btn.selected,
html.dark #screen-ob-2 .choice-btn:nth-child(2n).selected,
html.dark #screen-ob-5 .choice-btn.selected {
  background: var(--emerald-tint);
  color: var(--ink);
}
html.dark .dot { background: #2B333D; }
html.dark .dot.done { background: var(--emerald); }
html.dark .ob-eyebrow {
  background: rgba(0,200,150,.14);
  border-color: rgba(0,200,150,.28);
  color: #76E8CD;
}
html.dark .money-date-input,
html.dark .lab-input-grid input,
html.dark .lab-input-grid select,
html.dark .lab-full-input,
html.dark .alloc-grid input,
html.dark .bill-row input,
html.dark .log-text-input,
html.dark .amount-input {
  background: #141920 !important;
  color: #F6F7F5 !important;
  border-color: #2B333D !important;
}
html.dark .settings-btn,
html.dark .money-mini-btn,
html.dark .money-detail-close,
html.dark .tracker-chip,
html.dark .icon-pill-btn,
html.dark .home-action-icon,
html.dark .home-panel-icon {
  background: #1B2129;
  color: #F6F7F5;
}
html.dark .safe-details {
  background: #171D23 !important;
  color: #F6F7F5 !important;
  border: 1px solid #29313A;
}
html.dark .safe-details .mono { color: #F6F7F5 !important; }
html.dark .safe-details .parsed-row { border-color: #29313A; }
html.dark .safe-check-purchase {
  background: linear-gradient(100deg,#171D23 0%,#102720 100%);
  color: #F6F7F5;
  border: 1px solid #29313A;
}
html.dark .safe-check-purchase small { color: #9DA5B0; }
html.dark .safe-check-arrow { background:#00C896; color:#071D17; }
html.dark .safe-split.everyday { background:#1B2129; color:#F6F7F5; }
html.dark .safe-split.everyday span { color:#AAB2BC; }
html.dark .safe-split.free { background:#103128; color:#DDF9F0; }
html.dark .safe-split.free span { color:#8FD7C4; }
html.dark .safe-vibe { background:#102720; color:#F6F7F5; }
html.dark .safe-vibe.watch { background:#1A2024; }
html.dark .safe-vibe p { color:#A9B4B1; }
html.dark .safe-social-pill.coin-pill { background:#E7ECE8; color:#0B0E14; border-color:#E7ECE8; }
html.dark .alloc-preview { background:#1B2129; }
html.dark .money-tile-add { border-color:#353D47; }
html.dark .add-bill-btn { background:#1B2129; color:#AAB2BC; border-color:#353D47; }
html.dark .btn-primary { background:#00C896; color:#071D17; }
html.dark .btn-primary:disabled { background:#252B34; color:#777F89; }
html.dark .btn-ghost { color:#F6F7F5; border-color:#353D47; }

/* ---- Dark mode profile + settings correction v0.1.3 ---- */
html.dark .profile-saved-card {
  background: #080A0E !important;
  color: #F6F7F5 !important;
}
html.dark .profile-saved-name,
html.dark .profile-detail .v { color: #F6F7F5 !important; }
html.dark .profile-saved-email,
html.dark .profile-status-chip,
html.dark .profile-detail .k { color: #AAB2BC !important; }
html.dark .profile-detail { background: rgba(255,255,255,.07) !important; }
html.dark .profile-shortcut-card,
html.dark .settings-card {
  background: var(--card) !important;
  color: var(--ink) !important;
}


/* ---- Passcode recovery modal layering v0.1.5 ----
   The passcode screen sits at z-index 99999. The generic modal layer is 50,
   so the recovery modal was opening behind the lock screen. */
#forgot-passcode-modal {
  z-index: 100001 !important;
}


/* ---- Recovery code + passcode recovery v0.1.6 ---- */
#forgot-passcode-modal,
#recovery-entry-modal,
#forgot-reset-modal,
#recovery-code-modal { z-index: 100002 !important; }
.recovery-choice-sheet,
.recovery-entry-sheet { max-width: 440px; }
.recovery-lost-link {
  margin: 18px auto 0; border: 0; background: transparent; color: var(--muted);
  font: inherit; font-size: 13px; text-decoration: underline; cursor: pointer;
}
.recovery-entry-input { text-transform: uppercase; letter-spacing: .06em; text-align: center; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.recovery-entry-error { min-height: 22px; margin-top: 10px; }
.recovery-code-sheet { max-width: 520px; padding: 28px 24px 24px; }
.recovery-kicker { color: var(--emerald); font-size: 11px; letter-spacing: .17em; font-weight: 900; margin-bottom: 8px; }
.recovery-title { font-size: 24px; line-height: 1.1; font-weight: 900; margin-bottom: 12px; }
.recovery-lead { font-size: 14px; line-height: 1.55; margin: 0 auto 8px; max-width: 430px; }
.recovery-sub { font-size: 13px; color: var(--muted); margin-bottom: 18px; }
.recovery-code-value {
  border: 1px solid rgba(0,200,150,.28); background: rgba(0,200,150,.10); color: var(--ink);
  border-radius: 16px; padding: 17px 12px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: clamp(17px, 5vw, 22px); font-weight: 900; letter-spacing: .06em; overflow-wrap: anywhere;
}
.recovery-actions { display: flex; gap: 10px; margin: 12px 0; }
.recovery-actions .btn { flex: 1; }
.recovery-warning,
.recovery-replace-note { text-align: left; border-radius: 13px; padding: 12px 13px; font-size: 12px; line-height: 1.5; margin-top: 10px; }
.recovery-warning { background: var(--cream); color: var(--ink); }
.recovery-replace-note { background: var(--emerald-tint); color: var(--ink); }
.recovery-confirm-row {
  display: flex; gap: 10px; align-items: flex-start; text-align: left; margin-top: 18px;
  font-size: 12px; line-height: 1.5; color: var(--muted); cursor: pointer;
}
.recovery-confirm-row input { margin-top: 3px; width: 17px; height: 17px; accent-color: var(--emerald); flex: 0 0 auto; }
.recovery-code-footer .btn:only-child { width: 100%; }
html.dark .recovery-code-value { color: #F6F7F5; background: rgba(0,200,150,.12); border-color: rgba(0,200,150,.35); }
html.dark .recovery-warning { background: #1B2129; color: #E7ECE8; }
html.dark .recovery-replace-note { background: #103128; color: #DDF9F0; }
@media (max-width: 520px) {
  .recovery-actions { flex-direction: column; }
  .recovery-code-footer { flex-direction: column; }
  .recovery-code-footer .btn { width: 100%; }
}


/* ===== Early Access IA refresh v0.2.1: calmer Home + 4 core pages ===== */
.page-title-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:4px}.page-title-row h2{font-size:24px;margin:0}.page-intro{font-size:13px;color:var(--muted);margin:0 0 18px;line-height:1.45}.home-coming-up-card{margin-top:16px}.activity-feed-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:16px;margin:14px 0 18px;box-shadow:0 10px 30px rgba(11,14,20,.05)}.activity-hero-calm{margin-bottom:14px}
.transaction-tools{margin-bottom:16px}.transaction-search-wrap{height:48px;display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:0 14px}.transaction-search-wrap svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;color:var(--muted)}.transaction-search-wrap input{border:0;outline:0;background:transparent;color:var(--ink);font:inherit;width:100%;font-size:14px}.transaction-search-wrap input::placeholder{color:var(--muted)}.transaction-filter-row{display:flex;gap:8px;margin-top:12px;overflow:auto;padding-bottom:2px}.transaction-filter{border:1px solid var(--line);background:var(--card);color:var(--ink);font-weight:750;font-size:12px;padding:9px 15px;border-radius:999px;white-space:nowrap}.transaction-filter.active{background:var(--emerald);border-color:var(--emerald);color:#07120f}.transaction-list{padding-bottom:8px}.transaction-day{margin-bottom:18px}.transaction-day-label{font-size:12px;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px 4px}.transaction-day-card{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(11,14,20,.04)}.transaction-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid var(--line)}.transaction-row:last-child{border-bottom:0}.transaction-left{display:flex;align-items:center;gap:11px;min-width:0}.transaction-icon{width:40px;height:40px;border-radius:13px;background:var(--ink);color:#fff;display:grid;place-items:center;flex:0 0 auto;font-size:16px}.transaction-icon.incoming{background:var(--emerald-tint);color:#067a5c}.transaction-name{font-weight:800;font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.transaction-meta{font-size:11.5px;color:var(--muted);margin-top:3px}.transaction-amount{font-weight:850;font-size:14px;white-space:nowrap}.transaction-amount.outgoing{color:var(--ink)}.transaction-amount.incoming{color:#067a5c}.transaction-actions{display:grid;gap:9px;margin-top:8px;margin-bottom:12px}.transaction-empty{margin-top:14px}
/* The hero is still the answer, but it no longer needs to behave like a full dashboard. */
#screen-home .spend-card{margin-bottom:0}.safe-hero-v3{padding-bottom:18px}.safe-social-row{display:none}.safe-split-grid .everyday{display:none}.safe-split-grid{grid-template-columns:1fr}.safe-vibe{display:none}.safe-action-row{margin-top:12px}.safe-cycle-card{margin-top:16px}.safe-check-purchase{margin-top:12px}.pacing-row{line-height:1.35}
html.dark .transaction-search-wrap,html.dark .transaction-day-card,html.dark .activity-feed-card{background:var(--card);border-color:var(--line)}html.dark .transaction-icon{background:#252B34}html.dark .transaction-filter.active{color:#07120f}
@media(max-width:430px){.transaction-name{max-width:150px}.page-title-row h2{font-size:22px}}

/* ======================================================================
   Stackt Early Access Home hierarchy v0.2.2
   Uses the existing MVP palette only: ink, emerald, paper, cream and the
   established dark-theme tokens. All money/text states have light/dark parity.
   ====================================================================== */
.home-dashboard{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.home-balance-card{position:relative;overflow:hidden;border-radius:24px;padding:22px 20px 19px;background:radial-gradient(circle at 95% 5%,rgba(0,200,150,.18),transparent 30%),linear-gradient(145deg,#0B0E14 0%,#101A1C 72%,#0B2A23 135%);color:#F6F7F5;box-shadow:0 18px 40px rgba(11,14,20,.16);border:1px solid rgba(255,255,255,.05)}
.home-balance-card.attention{background:linear-gradient(145deg,#171B21,#0B0E14)}
.home-balance-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.home-balance-kicker{font-size:10.5px;letter-spacing:1.35px;font-weight:850;color:#8FEBD4;white-space:nowrap}
.home-learn-link{border:0;background:transparent;color:#8FEBD4;padding:2px 0;font-size:10.5px;font-weight:750;display:flex;align-items:center;gap:5px;text-align:right}.home-learn-link span{font-size:17px;line-height:.8}
.home-amount-line{display:flex;align-items:center;gap:12px;min-width:0}
.home-balance-amount{font-size:49px;line-height:1;font-weight:820;letter-spacing:-3px;color:#fff;min-width:0}
.home-eye-btn{width:38px;height:38px;border:1px solid rgba(255,255,255,.13);border-radius:50%;background:rgba(255,255,255,.07);color:#9BF2DD;display:grid;place-items:center;flex:0 0 auto;padding:0}.home-eye-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-balance-caption{font-size:12.5px;color:#D4DBDA;margin-top:9px;line-height:1.45;max-width:90%}
.home-balance-bottom{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.home-track-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.08);color:#B8F3E5;border-radius:999px;padding:7px 10px;font-size:10.5px;font-weight:800}.home-track-pill i{width:7px;height:7px;border-radius:50%;background:var(--emerald)}
.home-updated{font-size:9.7px;color:#8D9A99}

.home-reward-strip{display:grid;grid-template-columns:1fr 1px 1fr;align-items:stretch;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-soft);min-height:82px;overflow:hidden;color:var(--ink)}
.home-reward-item{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;border:0;background:transparent;color:inherit;padding:13px 15px;text-align:left}.home-reward-item>span:last-child{display:flex;flex-direction:column;min-width:0}.home-reward-item strong{font-size:21px;line-height:1;font-weight:850;letter-spacing:-.6px;color:var(--ink)}.home-reward-item small{font-size:10.5px;color:var(--muted);margin-top:5px}
.reward-divider{width:1px;background:var(--line);margin:14px 0}
.reward-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center}.reward-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.reward-icon.streak{background:var(--emerald-tint);color:#078664}.reward-icon.coins{background:var(--cream);color:#078664}.coin-glyph{font-size:16px;line-height:1;color:var(--emerald)}

.home-position-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:18px 17px 16px;box-shadow:var(--shadow-soft);color:var(--ink)}
.home-position-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.home-position-head>strong{font-size:18px;letter-spacing:-.5px;color:var(--ink)}
.position-info{width:30px;height:30px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;padding:0}.position-info svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-position-progress{height:6px;background:var(--line);border-radius:999px;overflow:hidden;margin:14px 0 17px}.home-position-progress i{display:block;height:100%;border-radius:inherit;background:var(--emerald)}
.home-position-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.home-position-grid>div:first-child{padding-right:14px;border-right:1px solid var(--line)}.home-position-grid span{font-size:10.5px;color:var(--muted)}.home-position-grid strong{display:block;font-size:19px;color:#078664;letter-spacing:-.7px;margin-top:5px}.home-provisional span{color:#078664;font-weight:800}.home-provisional p{font-size:11px;line-height:1.42;color:var(--ink);margin-top:6px}
.home-inline-link{border:0;background:transparent;color:#078664;font-size:10.5px;font-weight:800;padding:9px 0 0;display:flex;align-items:center;gap:5px}.home-inline-link b{font-size:16px;line-height:1}
.home-details-panel{margin:13px 0 0!important;border-radius:14px!important;padding:12px!important;background:var(--cream)!important;color:var(--ink)!important}.home-details-panel .parsed-row{border-color:var(--line);font-size:10.5px}.home-details-panel .mono{color:var(--ink)}

.home-feature-row{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 22px;align-items:center;gap:11px;border:1px solid var(--line);background:var(--card);border-radius:19px;padding:12px 14px;color:var(--ink);box-shadow:var(--shadow-soft);text-align:left}.home-feature-row:active{transform:scale(.99)}
.home-feature-icon{width:42px;height:42px;border-radius:13px;background:var(--emerald-tint);color:#078664;display:grid;place-items:center}.home-feature-icon.purchase{background:var(--cream);color:var(--ink)}.home-feature-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-feature-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.home-feature-copy strong,.home-feature-row>span:first-child strong{font-size:13.5px;color:var(--ink);letter-spacing:-.15px}.home-feature-copy small,.home-feature-row>span:first-child small{font-size:10.5px;color:var(--muted);line-height:1.3}.home-row-arrow{font-size:24px;color:#078664;line-height:1;text-align:right}
.home-coming-up-card{margin-top:0}

/* The old monolithic hero pieces are no longer part of Home. */
#screen-home .safe-social-row,#screen-home .safe-cycle-card,#screen-home .safe-split-grid,#screen-home .safe-vibe,#screen-home .safe-action-row,#screen-home .safe-check-purchase{display:none!important}

/* Dark parity: never leave white text on light panels or ink text on dark cards. */
html.dark .home-reward-strip,html.dark .home-position-card,html.dark .home-feature-row{background:var(--card);border-color:var(--line);color:var(--ink)}
html.dark .home-reward-item strong,html.dark .home-position-head>strong,html.dark .home-feature-copy strong,html.dark .home-feature-row>span:first-child strong,html.dark .home-provisional p{color:var(--ink)}
html.dark .home-reward-item small,html.dark .home-position-grid span,html.dark .home-feature-copy small,html.dark .home-feature-row>span:first-child small{color:var(--muted)}
html.dark .reward-icon.streak{background:#103128;color:#8FD7C4}.reward-icon.coins{background:var(--cream)}
html.dark .home-position-grid strong,html.dark .home-inline-link,html.dark .home-provisional span,html.dark .home-row-arrow{color:#7DE8CF}
html.dark .home-feature-icon{background:#103128;color:#7DE8CF}html.dark .home-feature-icon.purchase{background:var(--cream);color:var(--ink)}
html.dark .home-position-progress{background:#252B34}html.dark .home-position-progress i{background:var(--emerald)}
html.dark .home-details-panel{background:var(--cream)!important;color:var(--ink)!important}html.dark .home-details-panel .mono{color:var(--ink)!important}
html.dark .home-balance-card{box-shadow:0 18px 44px rgba(0,0,0,.34)}

@media(max-width:370px){.home-balance-card{padding:19px 16px 17px}.home-balance-amount{font-size:43px;letter-spacing:-2.5px}.home-learn-link{font-size:9.5px}.home-reward-item{padding:12px 11px;grid-template-columns:34px 1fr;gap:8px}.reward-icon{width:34px;height:34px}.home-position-grid{gap:11px}.home-position-grid>div:first-child{padding-right:10px}.home-feature-row{padding:11px 12px}.home-feature-copy strong{font-size:12.5px}}


/* ======================================================================
   ACTIVITY THEME PARITY + HELP LINKS v0.2.3
   Activity cards use fixed semantic surfaces so the dark theme's inverted
   --ink token cannot accidentally turn card backgrounds white.
   ====================================================================== */
#screen-insights .activity-hero,
#screen-insights .gap-card{
  background:linear-gradient(145deg,#0B0E14 0%,#171D25 100%) !important;
  color:#F6F7F5 !important;
  border:1px solid rgba(255,255,255,.06);
}
#screen-insights .activity-hero .glabel,
#screen-insights .activity-hero .gnote,
#screen-insights .gap-card .glabel,
#screen-insights .gap-card .gnote{color:#AEB5BE !important}
#screen-insights .activity-hero .gamount{color:#F6F7F5 !important}
#screen-insights .gap-card .gamount{color:var(--emerald-2) !important}
#screen-insights .activity-score-pills button{
  background:rgba(255,255,255,.08) !important;
  color:#F6F7F5 !important;
  border-color:rgba(255,255,255,.10) !important;
}
#screen-insights .activity-feed-card,
#screen-insights .tracker-chart-card,
#screen-insights .empty-state,
#screen-insights #classification-bars,
#screen-insights #category-bars{
  color:var(--ink);
}
#screen-insights .empty-state{background:var(--card);border:1px solid var(--line);border-radius:18px}
#screen-insights .section-title{color:var(--muted)}
#screen-insights .parsed-row{color:var(--ink);border-color:var(--line)}
#screen-insights .cat-bar-top .n{color:var(--ink)}
#screen-insights .cat-bar-top .v,
#screen-insights .day-value,
#screen-insights .day-col span,
#screen-insights .tracker-chart-head small{color:var(--muted)}

html.dark #screen-insights{color:#F6F7F5}
html.dark #screen-insights .activity-hero,
html.dark #screen-insights .gap-card{
  background:linear-gradient(145deg,#151A21 0%,#10151B 100%) !important;
  border-color:#252B34 !important;
  color:#F6F7F5 !important;
}
html.dark #screen-insights .activity-hero .glabel,
html.dark #screen-insights .activity-hero .gnote,
html.dark #screen-insights .gap-card .glabel,
html.dark #screen-insights .gap-card .gnote{color:#AAB2BC !important}
html.dark #screen-insights .activity-hero .gamount{color:#F6F7F5 !important}
html.dark #screen-insights .gap-card .gamount{color:#76E8CD !important}
html.dark #screen-insights .activity-feed-card,
html.dark #screen-insights .tracker-chart-card,
html.dark #screen-insights .empty-state{
  background:#141920 !important;
  border-color:#252B34 !important;
  color:#F6F7F5 !important;
}
html.dark #screen-insights .section-title{color:#9DA5B0 !important}
html.dark #screen-insights .parsed-row,
html.dark #screen-insights .cat-bar-top .n,
html.dark #screen-insights .tracker-chart-head strong{color:#F6F7F5 !important}
html.dark #screen-insights .cat-bar-top .v,
html.dark #screen-insights .day-value,
html.dark #screen-insights .day-col span,
html.dark #screen-insights .tracker-chart-head small{color:#9DA5B0 !important}
html.dark #screen-insights .cat-bar-track,
html.dark #screen-insights .day-bar-wrap{background:#20262E !important}

/* v0.2.4 conversational onboarding: Lovable journey, Stackt brand system */
#screen-ob-1,#screen-ob-2,#screen-ob-3,#screen-ob-4,#screen-ob-5{padding-top:28px;background:var(--paper)!important;color:var(--ink);}
#screen-ob-1::before,#screen-ob-2::before,#screen-ob-3::before,#screen-ob-4::before,#screen-ob-5::before{display:none!important;}
#screen-ob-1 .ob-eyebrow,#screen-ob-2 .ob-eyebrow,#screen-ob-3 .ob-eyebrow,#screen-ob-4 .ob-eyebrow,#screen-ob-5 .ob-eyebrow{background:transparent!important;padding:0!important;border-radius:0!important;color:var(--emerald)!important;font-size:10px!important;letter-spacing:1.45px!important;margin-bottom:11px!important;}
.ob-step-dots{height:4px;gap:5px;margin:0 0 34px!important;}
.ob-step-dots .dot{height:4px;flex:1;width:auto;border-radius:999px;background:var(--line);}
.ob-step-dots .dot.done{background:var(--emerald);}
.ob-question{font-size:30px!important;line-height:1.06!important;letter-spacing:-1px!important;margin-bottom:9px!important;color:var(--ink);}
.ob-sub{font-size:14px!important;line-height:1.5!important;color:var(--muted)!important;margin-bottom:22px!important;}
#screen-ob-1 .field-label,#screen-ob-2 .field-label,#screen-ob-3 .field-label,#screen-ob-4 .field-label,#screen-ob-5 .field-label{color:var(--ink);font-weight:700;font-size:12px;}
#screen-ob-1 .log-text-input,#screen-ob-1 .amount-input,#screen-ob-2 .amount-input,#screen-ob-3 .bill-row input,#screen-ob-3 input[type=date],#screen-ob-4 .bill-row input,#screen-ob-5 .amount-input{background:var(--card)!important;color:var(--ink)!important;border:1px solid var(--line)!important;box-shadow:none!important;}
.choice-btn{background:var(--card)!important;color:var(--ink)!important;border:1px solid var(--line)!important;min-height:50px;}
.choice-btn.selected{background:var(--emerald-tint)!important;border-color:var(--emerald)!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--emerald);}
#screen-ob-1 .btn-primary,#screen-ob-2 .btn-primary,#screen-ob-3 .btn-primary,#screen-ob-4 .btn-primary,#screen-ob-5 .btn-primary{background:var(--ink)!important;color:var(--paper)!important;border-radius:999px!important;box-shadow:none!important;}
#screen-ob-1 .btn-ghost,#screen-ob-2 .btn-ghost,#screen-ob-3 .btn-ghost,#screen-ob-4 .btn-ghost,#screen-ob-5 .btn-ghost{border-radius:999px!important;background:var(--card)!important;color:var(--ink)!important;border-color:var(--line)!important;}
.ob-review-card{margin:22px 0 4px;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--card);color:var(--ink);}
.ob-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.ob-review-head div{display:flex;flex-direction:column;gap:3px}.ob-review-head span{font-size:9px;letter-spacing:1.2px;color:var(--emerald);font-weight:800}.ob-review-head strong{font-size:16px}.ob-review-head button{border:0;background:transparent;color:var(--emerald);font-size:11px;font-weight:800;cursor:pointer}.ob-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ob-review-grid button{position:relative;text-align:left;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);cursor:pointer}.ob-review-grid span{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.ob-review-grid strong{display:block;font-size:14px}.ob-review-grid small{position:absolute;right:9px;top:9px;color:var(--emerald);font-size:9px}.ob-review-card>p{font-size:11px;line-height:1.45;color:var(--muted);margin:12px 2px 0}
html.dark #screen-ob-1,html.dark #screen-ob-2,html.dark #screen-ob-3,html.dark #screen-ob-4,html.dark #screen-ob-5{background:var(--paper)!important;color:var(--ink)!important}.dark .ob-review-card{background:var(--card);border-color:var(--line)}.dark .ob-review-grid button{background:var(--paper);color:var(--ink);border-color:var(--line)}


/* v0.2.5 Lovable onboarding layout, Stackt brand tokens */
body.lovable-onboarding-active{background:var(--paper);}
body.lovable-onboarding-active #app{max-width:none;background:var(--paper);}
body.lovable-onboarding-active .topbar{display:none!important;}
body.lovable-onboarding-active #bottomnav{display:none!important;}
.lovable-ob-screen{padding:0!important;min-height:100vh;background:var(--paper)!important;color:var(--ink);overflow-y:auto;}
.lovable-ob-shell{width:min(100%,460px);min-height:100vh;margin:0 auto;padding:26px 28px 34px;display:flex;flex-direction:column;}
.lovable-ob-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px;}
.lovable-ob-brand .wordmark{font-size:15px}.lovable-ob-brand .coin-mark{font-size:12px;width:26px;height:19px}
.lovable-ob-head-right{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;font-weight:650;}
.lovable-theme-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:15px;display:grid;place-items:center;}
.lovable-ob-center{width:100%;max-width:320px;margin:auto;display:flex;flex-direction:column;padding:48px 0 70px;}
.lovable-ob-center h1{font-size:25px;line-height:1.08;letter-spacing:-.75px;margin:0 0 24px;color:var(--ink);}
.lovable-ob-center>label{font-size:11px;font-weight:700;margin:0 0 7px;color:var(--ink);}
.lovable-ob-input{width:100%;height:46px;border:1.25px solid var(--line);border-radius:13px;padding:0 14px;background:var(--card);color:var(--ink);font-size:14px;outline:none;box-shadow:none;}
.lovable-ob-input:focus{border-color:var(--emerald);box-shadow:0 0 0 3px color-mix(in srgb,var(--emerald) 12%, transparent);}
.lovable-ob-note{font-size:10.5px;line-height:1.45;color:var(--muted);margin:7px 0 17px;}
.lovable-ob-intro{font-size:12px;line-height:1.5;color:var(--muted);margin:-12px 0 20px;}
.lovable-ob-primary{width:100%;height:44px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);font-size:12.5px;font-weight:750;margin-top:16px;}
.lovable-ob-primary:disabled{opacity:.38;cursor:not-allowed;}
.lovable-ob-back,.lovable-ob-skip{align-self:center;border:0;background:transparent;color:var(--muted);font-size:11px;padding:10px 12px;margin-top:3px;}
.lovable-ob-skip{color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
.lovable-welcome{text-align:center;align-items:center;}
.lovable-welcome-dots{display:flex;gap:9px;margin-bottom:18px}.lovable-welcome-dots i{width:18px;height:18px;border-radius:50%;background:var(--emerald)}.lovable-welcome-dots i:nth-child(2){background:var(--ink-soft)}.lovable-welcome-dots i:nth-child(3){background:var(--muted)}
.lovable-welcome h1{font-size:29px;margin-bottom:8px}.lovable-welcome p{font-size:13px;color:var(--muted);margin-bottom:0}.lovable-welcome .lovable-ob-primary{margin-top:24px;}
.lovable-pin-wrap{position:relative;margin-bottom:15px}.lovable-pin-wrap .lovable-ob-input{padding-right:58px;letter-spacing:7px;font-weight:800}.lovable-pin-wrap button{position:absolute;right:6px;top:6px;height:34px;border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:700;padding:0 9px;}
.lovable-ob-error{min-height:16px;color:var(--danger);font-size:10.5px;line-height:1.35;margin-top:6px;}
.lovable-recovery-kicker{font-size:10px;letter-spacing:1.3px;font-weight:800;color:var(--emerald);margin-bottom:8px;}
.lovable-recovery-code{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:17px 12px;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:17px;font-weight:800;letter-spacing:.45px;color:var(--ink);word-break:break-word;}
.lovable-recovery-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.lovable-recovery-actions button{height:38px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-size:10.5px;font-weight:700;}
.lovable-confirm-row{display:flex!important;align-items:flex-start;gap:8px;font-size:10.5px!important;line-height:1.4;font-weight:500!important;color:var(--muted)!important;margin-top:5px!important}.lovable-confirm-row input{margin-top:2px;accent-color:var(--emerald);}
.lovable-income-step{max-width:340px}.lovable-income-step h1{margin-bottom:18px}.lovable-income-list{display:flex;flex-direction:column;gap:7px}.lovable-income-list button{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);padding:9px 13px;text-align:left;font-size:12px;font-weight:650;}.lovable-income-list button.selected{border-color:var(--emerald);background:var(--emerald-tint);box-shadow:inset 0 0 0 1px var(--emerald);}
html.dark .lovable-ob-screen,html.dark body.lovable-onboarding-active,html.dark body.lovable-onboarding-active #app{background:var(--paper)!important;color:var(--ink)!important}
html.dark .lovable-ob-input,html.dark .lovable-theme-btn,html.dark .lovable-recovery-code,html.dark .lovable-recovery-actions button,html.dark .lovable-income-list button{background:var(--card)!important;color:var(--ink)!important;border-color:var(--line)!important}
html.dark .lovable-ob-primary{background:var(--ink)!important;color:var(--paper)!important}
html.dark .lovable-income-list button.selected{background:var(--emerald-tint)!important;border-color:var(--emerald)!important;color:var(--ink)!important}
@media(max-width:380px){.lovable-ob-shell{padding:20px 22px 28px}.lovable-ob-center{max-width:300px;padding-top:38px}.lovable-ob-center h1{font-size:23px}.lovable-welcome h1{font-size:27px}}

/* ================================================================
   v0.2.6 — Lovable post-onboarding visual + interaction system
   Stackt's existing brand tokens remain authoritative.
   ================================================================ */
:root{
  --lv-radius:14px;
  --lv-radius-sm:10px;
  --lv-shadow:0 8px 24px rgba(11,14,20,.055);
  --lv-shadow-float:0 28px 80px rgba(11,14,20,.22);
  --lv-ease:cubic-bezier(.22,.8,.22,1);
}

/* Screens feel like one continuous workspace rather than hard page swaps. */
.screen.active:not([id^="screen-ob-"]){animation:stacktPageIn .20s var(--lv-ease) both}
@keyframes stacktPageIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.screen.active:not([id^="screen-ob-"]){animation:none!important}.modal-overlay.active .modal-sheet{animation:none!important}}

/* Lovable's flatter editorial cards, translated into Stackt cream/ink/mint. */
.home-panel-card,.activity-feed-card,.tracker-chart-card,.runway-card,.weekly-recap-card,
.transaction-tools,.transaction-day,.money-tile,.money-detail-panel,.money-composer,
.lab-card,.lab-note,.priority-tip,.alloc-preview,.settings-section,.profile-card{
  border-radius:var(--lv-radius)!important;
  box-shadow:var(--lv-shadow)!important;
}

/* Home: keep approved information architecture, change only its visual grammar. */
.home-dashboard .home-balance-card,.home-dashboard .home-position-card,.home-dashboard .home-reward-strip,
.home-dashboard .home-action-card{
  border-radius:var(--lv-radius)!important;
  box-shadow:var(--lv-shadow)!important;
}
.home-dashboard .home-balance-card{position:relative;overflow:hidden}
.home-dashboard .home-balance-card:after{
  content:"";position:absolute;right:-34px;top:-44px;width:145px;height:145px;border-radius:50%;
  border:1px solid color-mix(in srgb,var(--emerald) 34%,transparent);opacity:.52;pointer-events:none
}
.home-dashboard .home-balance-card:before{
  content:"";position:absolute;right:16px;bottom:12px;width:76px;height:38px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--emerald) 13%,transparent),transparent);
  clip-path:polygon(50% 0,100% 25%,100% 100%,0 100%,0 25%);opacity:.5;pointer-events:none
}

/* Activity: Lovable-style quiet white surfaces with one job per card. */
#screen-insights .activity-hero{border-radius:var(--lv-radius)!important;box-shadow:var(--lv-shadow)!important;padding:22px!important}
#screen-insights .activity-feed-card,#screen-insights .tracker-chart-card{border-radius:var(--lv-radius)!important}
#screen-insights .section-title{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;font-weight:800;color:var(--muted)}
#screen-insights #money-runway-card>*,#screen-insights #weekly-recap-card>*,#screen-insights #what-changed-list>*{border-radius:var(--lv-radius-sm)!important}

/* Transactions: filters become Lovable's compact segmented control. */
.transaction-tools{padding:10px!important;background:var(--card)!important;border:1px solid var(--line)!important}
.transaction-filter-row{background:var(--cream);border-radius:999px;padding:3px;gap:2px!important}
.transaction-filter{border:0!important;border-radius:999px!important;background:transparent!important;padding:8px 13px!important;transition:background .16s var(--lv-ease),color .16s var(--lv-ease),transform .12s}
.transaction-filter.active{background:var(--ink)!important;color:var(--paper)!important;box-shadow:none!important}
.transaction-filter:active{transform:scale(.97)}
.transaction-actions{position:sticky;bottom:78px;background:linear-gradient(180deg,transparent,var(--paper) 24%);padding-top:22px;z-index:4}

/* Money: cards now mirror the Lovable overview tiles, flatter and more graphic. */
.money-card-grid{gap:10px!important}
.money-tile{border-radius:var(--lv-radius)!important;min-height:142px!important;padding:15px!important;transition:transform .15s var(--lv-ease),box-shadow .15s var(--lv-ease),border-color .15s}
.money-tile:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(11,14,20,.08)!important}
.money-tile:active{transform:scale(.985)}
.money-tile-icon{border-radius:10px!important;margin-bottom:14px!important;position:relative}
.money-tile-icon:after{content:"";position:absolute;width:22px;height:22px;border:1px solid color-mix(in srgb,var(--emerald) 30%,transparent);border-radius:50%;right:-7px;top:-7px;pointer-events:none}
.money-tile-accent{background:var(--emerald-tint)!important;color:var(--ink)!important;border-color:color-mix(in srgb,var(--emerald) 24%,var(--line))!important}
.money-tile-accent .money-tile-icon{background:var(--emerald)!important;color:var(--ink)!important}
.money-tile-accent .money-tile-kicker,.money-tile-accent .money-tile-meta{color:var(--muted)!important}
.money-tile-add{background:transparent!important}
.money-detail-panel,.money-composer{border-radius:var(--lv-radius)!important}

/* Inputs and CTAs use the same compact geometry seen in the Lovable build. */
.log-text-input,.amount-input,.money-date-input,.lab-full-input,.lab-input-grid input,.lab-input-grid select,
.alloc-grid input,.choice-btn{border-radius:var(--lv-radius-sm)!important}
.btn{transition:transform .12s var(--lv-ease),opacity .12s,background .16s,color .16s}
.btn:active{transform:scale(.985)}
.btn-primary{box-shadow:none}

/* Focused task sheets: centred modal on wider screens, bottom sheet on phones. */
.modal-overlay{background:rgba(11,14,20,.64)!important;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.modal-overlay.active .modal-sheet{animation:stacktSheetIn .22s var(--lv-ease) both}
.modal-sheet{border-radius:18px 18px 0 0!important;box-shadow:var(--lv-shadow-float)!important}
@keyframes stacktSheetIn{from{opacity:0;transform:translateY(18px) scale(.99)}to{opacity:1;transform:none}}
@media(min-width:700px){
  .modal-overlay{align-items:center!important;padding:28px}
  .modal-sheet{max-width:430px!important;border-radius:var(--lv-radius)!important;padding:24px!important}
  .modal-handle{display:none}
  .modal-overlay.active .modal-sheet{animation:stacktDialogIn .18s var(--lv-ease) both}
  @keyframes stacktDialogIn{from{opacity:0;transform:translateY(8px) scale(.975)}to{opacity:1;transform:none}}
}

/* Navigation is quieter, with a Lovable-style selected pill. */
.bottomnav{border:1px solid var(--line)!important;border-bottom:0!important;border-radius:18px 18px 0 0;background:color-mix(in srgb,var(--paper) 92%,transparent)!important;padding:8px 8px calc(8px + env(safe-area-inset-bottom))!important;box-shadow:0 -10px 34px rgba(11,14,20,.055)}
.nav-item{border-radius:12px!important;transition:background .16s var(--lv-ease),color .16s,transform .12s}
.nav-item.active{background:var(--cream)!important;color:var(--ink)!important}
.nav-item.active .icon{color:var(--emerald)!important}
.nav-item:active{transform:scale(.97)}

/* Full light/dark parity for the new visual language. */
html.dark{
  --lv-shadow:0 10px 28px rgba(0,0,0,.18);
  --lv-shadow-float:0 30px 90px rgba(0,0,0,.5);
}
html.dark .transaction-tools{background:var(--card)!important;border-color:var(--line)!important}
html.dark .transaction-filter-row{background:#0f141b!important}
html.dark .transaction-filter.active{background:var(--paper)!important;color:#0B0E14!important}
html.dark .money-tile-accent{background:#10251f!important;color:#F6F7F5!important;border-color:#1b4b3e!important}
html.dark .money-tile-accent .money-tile-kicker,html.dark .money-tile-accent .money-tile-meta{color:#A9B4B1!important}
html.dark .bottomnav{background:rgba(8,12,17,.94)!important}
html.dark .nav-item.active{background:#171d25!important;color:#F6F7F5!important}
html.dark .transaction-actions{background:linear-gradient(180deg,transparent,var(--paper) 24%)}

/* Avoid animated theme flashes when toggling. */
body,.topbar,.bottomnav,.home-panel-card,.activity-feed-card,.tracker-chart-card,.money-tile,.transaction-tools,.modal-sheet,
.log-text-input,.amount-input{transition:background-color .20s var(--lv-ease),color .20s var(--lv-ease),border-color .20s var(--lv-ease)}


/* ============================================================
   v0.2.8 Lovable Home layout
   Home-only visual re-composition. Existing calculations and data stay intact.
   ============================================================ */
#screen-home{padding-top:10px}
#screen-home .home-greeting-row{margin-bottom:18px;align-items:flex-end}
#screen-home .home-greeting{font-size:16px;font-weight:800;color:var(--ink);letter-spacing:-.2px}
#screen-home .home-dashboard{display:flex;flex-direction:column;gap:14px}
.lv-home-hero{position:relative;overflow:hidden;border:1px solid rgba(11,14,20,.10);border-radius:30px;background:var(--ink);color:#F8F8F5;padding:22px;box-shadow:0 18px 44px rgba(11,14,20,.12)}
.lv-home-hero:after{content:"";position:absolute;right:-55px;top:-65px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(0,200,150,.28),rgba(0,200,150,0) 68%);pointer-events:none}
.lv-home-hero-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;position:relative;z-index:1}
.lv-home-kicker{font-size:10px;font-weight:850;letter-spacing:1.35px;color:#8FEBD4;margin-bottom:8px}
.lv-home-amount-row{display:flex;align-items:center;gap:9px;min-width:0}
.lv-home-amount{font-size:49px;font-weight:850;line-height:1;letter-spacing:-3px;color:#fff}
.lv-eye-btn{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);display:grid;place-items:center;color:#9BF2DD;flex:0 0 auto}
.lv-eye-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lv-home-hero .stackt-mini-coin{margin-top:4px;filter:none}
.lv-home-hero .stackt-mini-coin i:nth-child(1),.lv-home-hero .stackt-mini-coin i:nth-child(3){background:#F2F1EC}
.lv-home-caption{font-size:12.5px;color:#D4DBDA;margin-top:10px;position:relative;z-index:1}
.lv-home-hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;position:relative;z-index:1}
.lv-status-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:rgba(255,255,255,.08);padding:7px 10px;font-size:10px;font-weight:800;color:#DDF9F0;border:1px solid rgba(255,255,255,.08)}
.lv-status-pill i{width:7px;height:7px;border-radius:50%;background:var(--emerald);box-shadow:0 0 0 4px rgba(0,200,150,.12)}
.lv-updated{font-size:9.5px;color:#899594}
.lv-why-btn{margin-top:14px;border:0;border-radius:999px;background:rgba(255,255,255,.10);color:#F2F1EC;padding:9px 12px;font-size:10.5px;font-weight:750;display:inline-flex;align-items:center;gap:6px;position:relative;z-index:1}
.lv-why-btn span{width:16px;height:16px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:9px}
.lv-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lv-action-card{appearance:none;border:1px solid var(--line);border-radius:26px;background:var(--card);padding:17px 16px 16px;min-height:128px;text-align:left;color:var(--ink);display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 10px 28px rgba(11,14,20,.045);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.lv-action-card:active{transform:scale(.985)}
.lv-action-card:hover{border-color:rgba(0,200,150,.36);box-shadow:0 14px 34px rgba(11,14,20,.075)}
.lv-action-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--cream);font-size:16px;margin-bottom:19px;color:var(--ink)}
.lv-action-card.money-in .lv-action-icon{background:#E4F2E8;color:#37694E}
.lv-action-card.spent .lv-action-icon{background:#F4E8E4;color:#7A4637}
.lv-action-card.afford .lv-action-icon{background:#F6EED9;color:#7A5B12}
.lv-action-card.update .lv-action-icon{background:var(--emerald-tint);color:#08705A}
.lv-action-card strong{font-size:13.5px;letter-spacing:-.2px;margin-bottom:4px}
.lv-action-card small{font-size:10.5px;line-height:1.35;color:var(--muted)}
.lv-momentum-strip{border:1px solid var(--line);border-radius:25px;background:var(--card);display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;min-height:88px;box-shadow:0 10px 28px rgba(11,14,20,.04)}
.lv-momentum-strip button{border:0;background:transparent;color:var(--ink);display:flex;align-items:center;gap:10px;padding:16px;text-align:left;min-width:0}
.lv-momentum-strip button span:last-child{display:flex;flex-direction:column}.lv-momentum-strip strong{font-size:20px;line-height:1}.lv-momentum-strip small{font-size:10px;color:var(--muted);margin-top:3px}
.lv-momentum-divider{width:1px;height:36px;background:var(--line)}
.lv-momentum-icon{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font-size:16px;flex:0 0 auto}.lv-momentum-icon.streak{background:var(--emerald-tint)}.lv-momentum-icon.coin{background:#FFF4D4;color:#D39700}
.lv-position-card{border:1px solid var(--line);border-radius:27px;background:var(--card);padding:18px;box-shadow:0 10px 28px rgba(11,14,20,.04)}
.lv-position-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.lv-position-top>div{display:flex;flex-direction:column;gap:3px}.lv-position-label{font-size:9px;font-weight:850;letter-spacing:1.2px;color:var(--emerald)}.lv-position-top strong{font-size:18px;letter-spacing:-.4px}.lv-position-top button{border:1px solid var(--line);background:var(--cream);color:var(--muted);width:29px;height:29px;border-radius:50%;font-weight:800}
.lv-position-progress{height:6px;background:var(--cream);border-radius:999px;overflow:hidden;margin:15px 0 16px}.lv-position-progress i{display:block;height:100%;border-radius:inherit;background:var(--emerald)}
.lv-position-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lv-position-grid>div{min-width:0}.lv-position-grid span{font-size:10px;color:var(--muted)}.lv-position-grid strong{display:block;font-size:18px;letter-spacing:-.6px;margin-top:4px}.lv-provisional{border-left:1px solid var(--line);padding-left:14px}.lv-provisional>span{color:#B77900;font-weight:800}.lv-provisional p{font-size:10px;line-height:1.35;margin-top:4px;color:var(--muted)}
.lv-home-details{margin-top:14px!important;border-radius:17px!important;background:var(--cream)!important;color:var(--ink)!important}.lv-position-link{margin-top:13px;border:0;background:transparent;color:#087A60;font-size:10.5px;font-weight:800;padding:0;display:inline-flex;align-items:center;gap:3px}
#screen-home .home-coming-up-card{border-radius:27px;padding:17px;border:1px solid var(--line);background:var(--card);box-shadow:0 10px 28px rgba(11,14,20,.04);margin-top:16px}
#screen-home .home-panel-head{margin-bottom:4px}
#screen-home .home-panel-icon{border-radius:14px}
html.dark #screen-home .home-greeting{color:#F6F7F5}
html.dark .lv-home-hero{background:#201B18;border-color:#37302C;box-shadow:none}
html.dark .lv-home-hero:after{background:radial-gradient(circle,rgba(0,200,150,.20),rgba(0,200,150,0) 68%)}
html.dark .lv-action-card,html.dark .lv-momentum-strip,html.dark .lv-position-card,html.dark #screen-home .home-coming-up-card{background:#211C19;border-color:#3A322E;color:#F6F7F5;box-shadow:none}
html.dark .lv-action-card small,html.dark .lv-momentum-strip small,html.dark .lv-position-grid span,html.dark .lv-provisional p{color:#AFA8A4}
html.dark .lv-action-icon{background:#302824;color:#F6F7F5}
html.dark .lv-action-card.money-in .lv-action-icon{background:#20372E;color:#A8E3D2}
html.dark .lv-action-card.spent .lv-action-icon{background:#3B2823;color:#E9B6A6}
html.dark .lv-action-card.afford .lv-action-icon{background:#3A321E;color:#E7CD7A}
html.dark .lv-action-card.update .lv-action-icon{background:#153A30;color:#9BE9D3}
html.dark .lv-momentum-icon.streak{background:#153A30}.lv-momentum-icon.coin{color:#D39700}
html.dark .lv-position-progress{background:#322B27}
html.dark .lv-position-top button{background:#302824;border-color:#3A322E;color:#AFA8A4}
html.dark .lv-provisional{border-color:#3A322E}
html.dark .lv-home-details{background:#181411!important;color:#F6F7F5!important}
html.dark .lv-home-details .mono{color:#F6F7F5!important}
html.dark .lv-home-details .parsed-row{border-color:#352E2A}
html.dark .lv-momentum-divider{background:#3A322E}
@media(max-width:360px){.lv-home-hero{padding:19px}.lv-home-amount{font-size:43px}.lv-action-card{padding:14px;min-height:118px;border-radius:22px}.lv-position-grid{grid-template-columns:1fr}.lv-provisional{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:12px}}


/* v0.2.9 — flowing welcome current + Lovable lower Home */
.lovable-welcome-dots{display:flex;align-items:center;justify-content:center;gap:10px;height:42px;margin-bottom:18px;overflow:visible}
.lovable-welcome-dots i{width:18px;height:18px;border-radius:50%;display:block;will-change:transform,opacity;animation:stackt-current-flow 1.35s cubic-bezier(.45,.05,.2,.98) infinite}
.lovable-welcome-dots i:nth-child(1){background:var(--emerald);animation-delay:-.90s}.lovable-welcome-dots i:nth-child(2){background:var(--ink-soft);animation-delay:-.45s}.lovable-welcome-dots i:nth-child(3){background:var(--muted);animation-delay:0s}
@keyframes stackt-current-flow{0%,100%{transform:translate3d(0,0,0) scale(.92);opacity:.78}20%{transform:translate3d(2px,-9px,0) scale(1.08);opacity:1}45%{transform:translate3d(4px,1px,0) scale(.98);opacity:.92}70%{transform:translate3d(2px,9px,0) scale(.90);opacity:.76}}
@media (prefers-reduced-motion:reduce){.lovable-welcome-dots i{animation:none!important;transform:none!important}}
.lv-home-lower{margin-top:18px;padding-bottom:8px}.lv-home-lower-section{margin-top:18px}.lv-home-lower-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 4px 9px}.lv-home-lower-head>strong{font-size:14px;letter-spacing:-.25px;color:var(--ink)}.lv-home-lower-head>button{appearance:none;border:0;background:transparent;color:var(--muted);font:inherit;font-size:11px;font-weight:750;padding:4px 0;cursor:pointer}.lv-home-lower-card{appearance:none;width:100%;border:1px solid var(--line);border-radius:24px;background:var(--card);color:var(--ink);padding:15px 16px;text-align:left;box-shadow:0 10px 28px rgba(11,14,20,.035);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.lv-home-lower-card:active{transform:scale(.992)}.lv-home-lower-card:hover{border-color:rgba(0,200,150,.30);box-shadow:0 14px 32px rgba(11,14,20,.055)}.lv-home-lower-main{display:flex;align-items:center;gap:11px;min-width:0}.lv-home-lower-icon{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;font-size:16px;font-weight:850}.lv-home-lower-icon.savings{background:#EEE8FF;color:#6652B8}.lv-home-lower-icon.changed{background:#E8EEFF;color:#4F63B5}.lv-home-lower-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.lv-home-lower-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lv-home-lower-copy small{font-size:10.5px;line-height:1.35;color:var(--muted)}.lv-home-savings-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 16px}.lv-home-savings-numbers{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:10.5px}.lv-home-savings-numbers strong{font-size:12px;color:var(--ink)}.lv-home-savings-numbers span{font-weight:850;color:var(--muted)}.lv-home-savings-track{grid-column:1/-1;height:6px;border-radius:999px;background:var(--cream);overflow:hidden}.lv-home-savings-track i{display:block;height:100%;width:0;border-radius:inherit;background:var(--emerald);transition:width .45s cubic-bezier(.2,.75,.25,1)}.lv-home-changed-card{display:flex;align-items:center;gap:12px;font-size:11px;line-height:1.45;color:var(--muted)}.lv-home-mini-summary{text-align:center;font-size:10px;line-height:1.4;color:var(--muted);margin:16px 8px 2px}html.dark .lv-home-lower-head>strong{color:#F6F7F5}html.dark .lv-home-lower-card{background:#211C19;border-color:#3A322E;color:#F6F7F5;box-shadow:none}html.dark .lv-home-lower-copy small,html.dark .lv-home-changed-card,html.dark .lv-home-mini-summary,html.dark .lv-home-lower-head>button{color:#AFA8A4}html.dark .lv-home-savings-numbers strong{color:#F6F7F5}html.dark .lv-home-savings-track{background:#322B27}html.dark .lv-home-lower-icon.savings{background:#2C2541;color:#BDAEFF}html.dark .lv-home-lower-icon.changed{background:#242A42;color:#AEBBFF}@media(max-width:520px){.lv-home-savings-card{grid-template-columns:1fr}.lv-home-savings-numbers{justify-content:space-between;padding-left:46px}}


/* =========================================================
   PRE-500 PRODUCT-LED GROWTH + UX HARDENING
   ========================================================= */
.profile-back-btn {
  width:36px;height:36px;border-radius:50%;border:1px solid var(--line);
  background:var(--card);color:var(--ink);display:grid;place-items:center;
  font-size:20px;line-height:1;cursor:pointer;flex:0 0 auto;
}
html.dark .profile-back-btn { background:#151a20;color:#f6f7f5;border-color:#2b323a; }

.share-stackt-card {
  width:100%;border:1px solid color-mix(in srgb,var(--emerald) 28%,var(--line));
  background:color-mix(in srgb,var(--emerald) 8%,var(--card));color:var(--ink);
  border-radius:22px;padding:15px 16px;margin-top:12px;text-align:left;
  display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;
  box-shadow:var(--shadow-soft);cursor:pointer;
}
.share-stackt-card strong{display:block;font-size:14px}
.share-stackt-card small{display:block;color:var(--muted);margin-top:3px;line-height:1.3}
.share-stackt-icon{width:38px;height:38px;border-radius:12px;background:var(--emerald);color:var(--ink);display:grid;place-items:center;font-size:19px;font-weight:850}
html.dark .share-stackt-card{background:#10231e;color:#f6f7f5;border-color:#225043}
html.dark .share-stackt-card small{color:#a9b4b1}

/* Stronger Money card/icon contrast while staying inside Stackt's palette. */
.money-card-grid .money-tile:nth-child(4n+1){background:color-mix(in srgb,var(--emerald) 7%,var(--card))!important}
.money-card-grid .money-tile:nth-child(4n+2){background:color-mix(in srgb,#DDE8FF 48%,var(--card))!important}
.money-card-grid .money-tile:nth-child(4n+3){background:color-mix(in srgb,#F0E7FF 52%,var(--card))!important}
.money-card-grid .money-tile:nth-child(4n+4){background:color-mix(in srgb,#FFF0D8 54%,var(--card))!important}
.money-card-grid .money-tile:nth-child(4n+1) .money-tile-icon{background:var(--ink)!important;color:var(--emerald)!important}
.money-card-grid .money-tile:nth-child(4n+2) .money-tile-icon{background:#D6E3FF!important;color:#243B70!important}
.money-card-grid .money-tile:nth-child(4n+3) .money-tile-icon{background:#E4D5FF!important;color:#55358A!important}
.money-card-grid .money-tile:nth-child(4n+4) .money-tile-icon{background:#FFE1AE!important;color:#6E4914!important}

html.dark .money-card-grid .money-tile:nth-child(4n+1){background:#10231e!important}
html.dark .money-card-grid .money-tile:nth-child(4n+2){background:#172033!important}
html.dark .money-card-grid .money-tile:nth-child(4n+3){background:#241b32!important}
html.dark .money-card-grid .money-tile:nth-child(4n+4){background:#2a2115!important}
html.dark .money-card-grid .money-tile:nth-child(4n+1) .money-tile-icon{background:#07110e!important;color:#38e3b5!important}
html.dark .money-card-grid .money-tile:nth-child(4n+2) .money-tile-icon{background:#22345a!important;color:#bcd0ff!important}
html.dark .money-card-grid .money-tile:nth-child(4n+3) .money-tile-icon{background:#3c2a55!important;color:#dec9ff!important}
html.dark .money-card-grid .money-tile:nth-child(4n+4) .money-tile-icon{background:#4b351a!important;color:#ffd89b!important}


/* =========================================================
   FINAL QUICK UI POLISH
   ========================================================= */
.profile-home-link{
  margin:8px 0 0 46px;
  border:0;
  background:transparent;
  color:var(--emerald-strong);
  font-size:12px;
  font-weight:850;
  padding:0;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}
html.dark .profile-home-link{color:#78E4C8}

/* Settings theme choices stay inside Stackt's ivory / ink / emerald family. */
.settings-theme-wrap{padding:14px}
.theme-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}
.theme-choice{
  min-width:0;border:1px solid var(--line);background:var(--card);color:var(--ink);
  border-radius:16px;padding:11px 9px;display:flex;flex-direction:column;gap:8px;
  align-items:flex-start;text-align:left;cursor:pointer;
}
.theme-choice.active{border-color:var(--emerald);box-shadow:0 0 0 2px color-mix(in srgb,var(--emerald) 20%,transparent)}
.theme-choice strong{display:block;font-size:11px}.theme-choice small{display:block;font-size:9px;color:var(--muted);margin-top:2px}
.theme-swatch{width:34px;height:24px;border-radius:999px;border:1px solid var(--line);display:block}
.theme-swatch-system{background:linear-gradient(90deg,#F7F6F1 0 48%,var(--emerald) 48% 54%,#0B0E14 54% 100%)}
.theme-swatch-light{background:linear-gradient(135deg,#F7F6F1 0 65%,var(--emerald) 65% 100%)}
.theme-swatch-dark{background:linear-gradient(135deg,#0B0E14 0 65%,var(--emerald) 65% 100%)}
html.dark .theme-choice{background:#121A18;color:#F6F7F5;border-color:#28443C}
html.dark .theme-choice.active{border-color:var(--emerald)}
@media(max-width:420px){.theme-choice-grid{grid-template-columns:1fr}.theme-choice{flex-direction:row;align-items:center}.theme-swatch{flex:0 0 34px}}

/* Remove the warm brown cast from dark Home. Use Stackt ink + emerald. */
html.dark .lv-home-hero{background:#071814!important;border-color:#17483A!important}
html.dark .lv-action-card,
html.dark .lv-momentum-strip,
html.dark .lv-position-card,
html.dark #screen-home .home-coming-up-card{
  background:#0D1E19!important;
  border-color:#1B493D!important;
}
html.dark .lv-action-icon{background:#13362D!important;color:#8FEBD4!important}
html.dark .lv-action-card.money-in .lv-action-icon,
html.dark .lv-action-card.spent .lv-action-icon,
html.dark .lv-action-card.afford .lv-action-icon,
html.dark .lv-action-card.update .lv-action-icon,
html.dark .lv-momentum-icon.streak,
html.dark .lv-momentum-icon.coin{
  background:#12392F!important;
  color:var(--emerald)!important;
}
html.dark .lv-position-progress{background:#163A31!important}
html.dark .lv-position-top button{background:#123229!important;border-color:#235345!important;color:#C8D9D4!important}
html.dark .lv-provisional{border-color:#235345!important}
html.dark .lv-provisional>span{color:var(--emerald)!important}
html.dark .lv-home-details{background:#081612!important;color:#F6F7F5!important}
html.dark .lv-home-details .parsed-row{border-color:#1F453A!important}
html.dark .lv-momentum-divider{background:#235345!important}

/* Safe-to-Spend amount: refined, lighter, still highly legible. */
.lv-home-amount{
  font-family: Inter, "Aptos", "Segoe UI", system-ui, sans-serif!important;
  font-weight:650!important;
  letter-spacing:-1.6px!important;
  line-height:.98!important;
  font-variant-numeric:tabular-nums;
}
.home-balance-amount{
  font-family: Inter, "Aptos", "Segoe UI", system-ui, sans-serif!important;
  font-weight:650!important;
  letter-spacing:-1.4px!important;
}


/* =========================================================
   STACKT THEME REFINEMENT
   Brand-only palette: ink, emerald, mint, ivory, white.
   The goal is contrast between app background, card surface,
   icon tile and icon glyph without introducing off-brand hues.
   ========================================================= */

:root{
  --stk-ink:#0B0E14;
  --stk-ink-2:#121820;
  --stk-ink-3:#1A242B;

  --stk-emerald:#00CFA6;
  --stk-emerald-deep:#087C68;
  --stk-emerald-dark:#0B3E35;
  --stk-emerald-soft:#A9F1DE;
  --stk-mint:#DDF8EF;
  --stk-mint-2:#ECFBF6;

  --stk-ivory:#F7F6F1;
  --stk-paper:#FFFFFF;
  --stk-line-light:#DCE5E1;
  --stk-text-soft:#66716E;
}

/* ---------- STACKT LIGHT ---------- */
html:not(.dark){
  --app-bg:#F1F5F2;
  --surface-1:#FFFFFF;
  --surface-2:#F7FAF8;
  --surface-3:#E9F8F3;
  --surface-line:#D7E8E2;
  --surface-text:#0B0E14;
  --surface-muted:#65716D;
}

html:not(.dark) body{
  background:
    radial-gradient(circle at 100% 0%, rgba(0,207,166,.09), transparent 28%),
    linear-gradient(180deg,#F7F6F1 0%,#EEF4F1 100%) !important;
  color:var(--stk-ink);
}

html:not(.dark) .screen,
html:not(.dark) #app{
  background:transparent !important;
}

/* Hero uses deepest brand contrast */
html:not(.dark) .lv-home-hero{
  background:
    radial-gradient(circle at 100% 0%, rgba(0,207,166,.22), transparent 35%),
    linear-gradient(145deg,#0B0E14 0%,#0B3E35 100%) !important;
  border-color:#17483D !important;
  color:#FFFFFF !important;
}
html:not(.dark) .lv-home-hero .muted,
html:not(.dark) .lv-home-hero .sub,
html:not(.dark) .lv-home-hero small{
  color:#CBE3DC !important;
}

/* Home action cards alternate only within emerald / ivory family */
html:not(.dark) .lv-action-card:nth-child(1){
  background:#FFFFFF !important;
  border-color:#D7E8E2 !important;
}
html:not(.dark) .lv-action-card:nth-child(2){
  background:#EAF9F4 !important;
  border-color:#CBEDE2 !important;
}
html:not(.dark) .lv-action-card:nth-child(3){
  background:#F7F6F1 !important;
  border-color:#E3E4DF !important;
}
html:not(.dark) .lv-action-card:nth-child(4){
  background:#DDF8EF !important;
  border-color:#BDEBDE !important;
}

/* Icon backgrounds are always darker/lighter than their host card */
html:not(.dark) .lv-action-card:nth-child(1) .lv-action-icon{
  background:#0B0E14 !important;
  color:#00CFA6 !important;
}
html:not(.dark) .lv-action-card:nth-child(2) .lv-action-icon{
  background:#0B3E35 !important;
  color:#A9F1DE !important;
}
html:not(.dark) .lv-action-card:nth-child(3) .lv-action-icon{
  background:#087C68 !important;
  color:#FFFFFF !important;
}
html:not(.dark) .lv-action-card:nth-child(4) .lv-action-icon{
  background:#00CFA6 !important;
  color:#0B0E14 !important;
}

/* Secondary home surfaces */
html:not(.dark) .lv-momentum-strip{
  background:#FFFFFF !important;
  border-color:#D7E8E2 !important;
}
html:not(.dark) .lv-momentum-icon{
  background:#E2F8F1 !important;
  color:#087C68 !important;
}
html:not(.dark) .lv-position-card{
  background:#0F1719 !important;
  color:#FFFFFF !important;
  border-color:#273635 !important;
}
html:not(.dark) .lv-position-card .muted,
html:not(.dark) .lv-position-card small{
  color:#C5D4D0 !important;
}
html:not(.dark) .lv-position-progress{
  background:#21322F !important;
}
html:not(.dark) .lv-position-progress > *{
  background:#00CFA6 !important;
}
html:not(.dark) #screen-home .home-coming-up-card{
  background:#F8FBF9 !important;
  border-color:#D8E8E2 !important;
}

/* ---------- STACKT INK ---------- */
html.dark{
  --app-bg:#08100E;
  --surface-1:#0F1A17;
  --surface-2:#12231E;
  --surface-3:#153129;
  --surface-line:#244C41;
  --surface-text:#F7F6F1;
  --surface-muted:#A9B8B3;
}

html.dark body{
  background:
    radial-gradient(circle at 100% 0%, rgba(0,207,166,.10), transparent 27%),
    linear-gradient(180deg,#08100E 0%,#0B1512 100%) !important;
  color:#F7F6F1 !important;
}

/* Dark hero remains ink, not brown */
html.dark .lv-home-hero{
  background:
    radial-gradient(circle at 100% 0%, rgba(0,207,166,.18), transparent 34%),
    linear-gradient(145deg,#07100E 0%,#0B3E35 100%) !important;
  border-color:#1B4C40 !important;
  color:#FFFFFF !important;
}

/* Distinct dark cards using only green/ink shades */
html.dark .lv-action-card:nth-child(1){
  background:#101A18 !important;
  border-color:#25463D !important;
}
html.dark .lv-action-card:nth-child(2){
  background:#0D2821 !important;
  border-color:#1D5144 !important;
}
html.dark .lv-action-card:nth-child(3){
  background:#14201D !important;
  border-color:#2B4941 !important;
}
html.dark .lv-action-card:nth-child(4){
  background:#10332A !important;
  border-color:#246452 !important;
}

html.dark .lv-action-card:nth-child(1) .lv-action-icon{
  background:#00CFA6 !important;
  color:#08100E !important;
}
html.dark .lv-action-card:nth-child(2) .lv-action-icon{
  background:#A9F1DE !important;
  color:#0B3E35 !important;
}
html.dark .lv-action-card:nth-child(3) .lv-action-icon{
  background:#087C68 !important;
  color:#FFFFFF !important;
}
html.dark .lv-action-card:nth-child(4) .lv-action-icon{
  background:#173F35 !important;
  color:#78E4C8 !important;
  border:1px solid #2D6E5D !important;
}

html.dark .lv-momentum-strip{
  background:#0D1714 !important;
  border-color:#24493F !important;
}
html.dark .lv-momentum-icon{
  background:#153D33 !important;
  color:#7BE6CB !important;
}
html.dark .lv-position-card{
  background:#121B19 !important;
  border-color:#2C4942 !important;
  color:#F7F6F1 !important;
}
html.dark .lv-position-progress{
  background:#21463C !important;
}
html.dark #screen-home .home-coming-up-card{
  background:#0F1B18 !important;
  border-color:#284C43 !important;
}

/* Text hierarchy */
html.dark .lv-action-card .muted,
html.dark .lv-action-card small,
html.dark .lv-momentum-strip small,
html.dark .lv-position-card small{
  color:#AEBDB8 !important;
}

/* Amount stays refined but high-contrast */
.lv-home-amount{
  font-family: Inter,"Aptos","Segoe UI",system-ui,sans-serif !important;
  font-weight:600 !important;
  letter-spacing:-1.35px !important;
  text-shadow:none !important;
}
html.dark .lv-home-amount,
html:not(.dark) .lv-home-amount{
  color:#FFFFFF !important;
}

/* Global cards in Settings/Profile/Money follow same palette logic */
html:not(.dark) .settings-card,
html:not(.dark) .profile-card,
html:not(.dark) .money-card,
html:not(.dark) .section-card{
  background:#FFFFFF !important;
  border-color:#D7E8E2 !important;
}
html.dark .settings-card,
html.dark .profile-card,
html.dark .money-card,
html.dark .section-card{
  background:#0F1A17 !important;
  border-color:#254A40 !important;
}

/* Selected theme choice has a clear emerald edge */
.theme-choice.active{
  border-color:#00CFA6 !important;
  box-shadow:0 0 0 2px rgba(0,207,166,.22) !important;
}


/* =========================================================
   HIGH-CONTRAST HOME THEME
   App background = Stackt Ink
   Home cards = Stackt Emerald
   Icon tile = Stackt Ink
   Icon glyph = Ivory/White
   ========================================================= */

#screen-home,
html.dark #screen-home,
html:not(.dark) #screen-home {
  background:#0B0E14 !important;
  color:#F7F6F1 !important;
}

#screen-home .lv-action-card,
#screen-home .lv-momentum-strip,
#screen-home .lv-position-card,
#screen-home .home-coming-up-card,
#screen-home .share-stackt-card {
  background:#00CFA6 !important;
  border-color:#53E2C6 !important;
  color:#0B0E14 !important;
  box-shadow:0 12px 34px rgba(0,0,0,.22) !important;
}

#screen-home .lv-home-hero {
  background:
    radial-gradient(circle at 100% 0%, rgba(0,207,166,.24), transparent 36%),
    linear-gradient(145deg,#07100E 0%,#0B3E35 100%) !important;
  border-color:#1D5A4C !important;
  color:#FFFFFF !important;
}

#screen-home .lv-action-icon,
#screen-home .lv-momentum-icon,
#screen-home .share-stackt-icon {
  background:#0B0E14 !important;
  color:#F7F6F1 !important;
  border:1px solid #233038 !important;
}

#screen-home .lv-action-card .muted,
#screen-home .lv-action-card small,
#screen-home .lv-momentum-strip small,
#screen-home .lv-position-card small,
#screen-home .home-coming-up-card small,
#screen-home .share-stackt-card small {
  color:#17352E !important;
}

#screen-home .lv-action-card strong,
#screen-home .lv-momentum-strip strong,
#screen-home .lv-position-card strong,
#screen-home .home-coming-up-card strong,
#screen-home .share-stackt-card strong {
  color:#0B0E14 !important;
}

#screen-home .lv-position-progress {
  background:#168D76 !important;
}
#screen-home .lv-position-progress > * {
  background:#0B0E14 !important;
}
#screen-home .lv-position-top button {
  background:#0B0E14 !important;
  color:#F7F6F1 !important;
  border-color:#0B0E14 !important;
}
#screen-home .lv-provisional {
  border-color:#0B0E14 !important;
}
#screen-home .lv-provisional > span {
  color:#0B0E14 !important;
}

#screen-home .home-coming-up-card,
#screen-home .home-lower-card,
#screen-home .home-section-card {
  background:#00CFA6 !important;
  color:#0B0E14 !important;
  border-color:#53E2C6 !important;
}

#screen-home .lv-home-amount,
#screen-home .home-balance-amount {
  font-family:Inter,"Aptos","Segoe UI",system-ui,sans-serif !important;
  font-weight:560 !important;
  letter-spacing:-1.15px !important;
  color:#FFFFFF !important;
}
