:root{
  /* ETracker light theme: mint mist page, white cards, forest ink; one colour per section */
  --paper:#F2F7F1; --card:#FFFFFF; --ink:#0E2618; --muted:#56695C; --line:#DCE7D9;
  --own:#1F8A3E; --gold:#E3A92B; --gold-ink:#94660A; --owe:#D2453A; --cash:#2F7BC4; --recv:#C2417F; --flag:#D9851C;
  --wash-owe:#FBE4E1; --wash-own:#E2F2E5; --wash-flag:#FCEFD9;
  --c-home:#1F8A3E; --w-home:#E2F2E5; --c-accounts:#2F7BC4; --w-accounts:#E3EEF9; --c-received:#1F8A3E; --w-received:#E2F2E5;
  --c-expenses:#E0662A; --w-expenses:#FCEAE0; --c-debts:#D2453A; --w-debts:#FBE4E1; --c-invest:#0E9384; --w-invest:#DDF3F0;
  --c-goals:#C98A0B; --w-goals:#FBF0D6; --c-charts:#7A52C7; --w-charts:#EEE7FA; --c-owed:#C2417F; --w-owed:#F9E3EE;
  --display:'Baloo 2','Arial Rounded MT Bold',system-ui,sans-serif;
  --body:'Mukta','Segoe UI',system-ui,sans-serif;
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--body);font-variant-numeric:tabular-nums}
h1,h2,h3{font-family:var(--display);line-height:1.15;margin:0}
.wrap{max-width:760px;margin:0 auto;padding:20px 16px 104px}
header.top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px}
header.top h1{font-size:1.35rem;font-weight:700}
.sync{font-size:.8rem;color:var(--muted)}
button{font:inherit;color:inherit;cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--flag);outline-offset:2px}

/* hero: the balance */
.hero{padding:6px 0 22px}
.hero p.lead{font-family:var(--display);font-size:clamp(1.6rem,6vw,2.4rem);font-weight:700;margin:0 0 16px;line-height:1.15}
.hero p.lead .neg{color:var(--owe)} .hero p.lead .pos{color:var(--own)}
.beam{display:flex;height:22px;border-radius:4px;overflow:hidden;background:var(--line)}
.beam span{display:block;height:100%;transition:width .5s ease}
.beam .o{background:var(--own)} .beam .c{background:var(--cash)} .beam .rv{background:var(--recv)} .beam .d{background:var(--owe)}
.beam-legend{display:flex;justify-content:space-between;margin-top:8px;font-size:.9rem}
.beam-legend b{font-weight:600}
.beam-legend .l{color:var(--own)} .beam-legend .r{color:var(--owe);text-align:right}

nav.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:8px 0 18px;position:sticky;top:env(safe-area-inset-top,0px);background:var(--paper);z-index:2}
nav.tabs{overflow-x:auto;scrollbar-width:none}nav.tabs::-webkit-scrollbar{display:none}
nav.tabs button{white-space:nowrap;flex:none;background:none;border:0;padding:10px 12px;font-weight:600;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px}
nav.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--ink)}

section[hidden]{display:none}
h2{font-size:1.15rem;margin:22px 0 10px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.stats div{background:var(--card);padding:12px 14px}
.stats small{display:block;color:var(--muted);font-size:.8rem}
.stats strong{font-size:1.15rem;font-weight:600}

.insight{display:grid;grid-template-columns:4px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.insight:first-child{border-top:0}
.insight i{border-radius:2px}
.insight.bad i{background:var(--owe)} .insight.warn i{background:var(--flag)} .insight.good i{background:var(--own)} .insight.info i{background:var(--muted)}
.insight h3{font-size:1rem;font-family:var(--body);font-weight:600;margin-bottom:2px}
.insight p{margin:0;color:var(--muted);font-size:.93rem}

.row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}
.row:first-child{border-top:0}
.row .name{font-weight:600}
.row .meta{color:var(--muted);font-size:.85rem}
.row .amt{text-align:right;font-weight:600;white-space:nowrap}
.row .amt small{display:block;font-weight:400;font-size:.8rem;color:var(--muted)}
.row>div:last-child{max-width:44%;flex:none}
.row .acts{display:flex;gap:6px;margin-top:6px;justify-content:flex-end;flex-wrap:wrap}
.link.del{color:var(--owe)}
.link.del.armed{font-weight:700;text-decoration:none;background:var(--wash-owe);padding:2px 6px;border-radius:4px}
.link{background:none;border:0;padding:2px 0;color:var(--muted);font-size:.85rem;text-decoration:underline;text-underline-offset:2px}
.prog{height:5px;background:var(--line);border-radius:3px;margin-top:6px;overflow:hidden}
.prog span{display:block;height:100%;background:var(--owe)}
.prog.ok span{background:var(--own)} .prog.mid span{background:var(--flag)}
.tag{display:inline-block;font-size:.75rem;font-weight:600;padding:1px 7px;border-radius:10px;margin-left:6px;vertical-align:1px}
.tag.due{background:var(--wash-flag);color:var(--flag)} .tag.late{background:var(--wash-owe);color:var(--owe)} .tag.full{background:var(--wash-own);color:var(--own)} .tag.done{background:var(--line);color:var(--muted)}

.btn{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:8px;font-weight:600}
.btn.ghost{background:transparent;color:var(--ink)}
.bar-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.empty{color:var(--muted);padding:6px 0}

.alloc{display:flex;height:14px;border-radius:3px;overflow:hidden;margin:6px 0 10px}
.keys{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.85rem;color:var(--muted)}
.keys span::before{content:"";display:inline-block;width:9px;height:9px;border-radius:2px;background:var(--c);margin-right:6px;vertical-align:0}

.trend svg{width:100%;height:120px;display:block}
.income{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.income label{font-weight:600}
.income input{width:160px}

input,select,textarea{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:9px 10px;width:100%}
dialog{border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);padding:0;width:min(440px,calc(100vw - 24px));max-height:calc(100% - 24px)}
dialog::backdrop{background:rgba(5,20,18,.45)}
.dlg{padding:18px}
.dlg h2{margin:0 0 12px}
.field{margin-bottom:12px}
.field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:4px}
.field .hint{font-size:.78rem;color:var(--muted);margin-top:3px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ai-out{white-space:pre-wrap;font-size:.95rem;margin-top:10px}
.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px}
.chart-grid h2{margin:0 0 10px;font-size:1.02rem}
.donut{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.donut svg{width:140px;height:140px;flex:none;margin:0 auto}
.donut ul{list-style:none;margin:0;padding:0;font-size:.86rem;flex:1;min-width:210px}
.donut li{display:flex;justify-content:space-between;gap:10px;padding:3px 0}
.donut li span{min-width:0}
.donut li span::before{content:"";display:inline-block;width:9px;height:9px;border-radius:2px;background:var(--c);margin-right:7px}
.donut li b{font-weight:600;white-space:nowrap}
.hb{display:grid;grid-template-columns:minmax(80px,36%) 1fr auto;gap:8px;align-items:center;font-size:.86rem;padding:4px 0}
.hb .lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hb .track{height:12px;background:var(--line);border-radius:3px;overflow:hidden}
.hb .track span{display:block;height:100%}
.hb b{font-weight:600;white-space:nowrap}
.vbars svg{width:100%;height:180px;display:block}
.vbars text{fill:var(--muted);font:500 15px var(--body)}
.month-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.month-nav strong{font-family:var(--display);font-size:1.15rem}
.month-nav button{border:1px solid var(--line);background:var(--card);border-radius:8px;width:40px;height:36px;font-size:1.1rem}
.month-nav button:disabled{opacity:.35;cursor:default}
.bud-row{padding:8px 0;border-top:1px solid var(--line)} .bud-row:first-child{border-top:0}
.bud-row .top{display:flex;justify-content:space-between;gap:10px;font-size:.92rem}
.bud-row .top span:first-child{font-weight:600}
.bud-row .sub{font-size:.8rem;color:var(--muted);margin-top:3px}
.need{font-size:.85rem;margin-top:6px}
.budget-grid .field{display:grid;grid-template-columns:1fr 130px;gap:8px;align-items:center;margin-bottom:8px}
.budget-grid .field label{margin:0;font-weight:500}
.budget-grid .hint{grid-column:1/-1;margin-top:-4px}
.split{display:grid;grid-template-columns:1fr 84px 78px 24px;gap:6px;margin-bottom:6px;align-items:center}
.split select,.split input{padding:8px}
.split .x{background:none;border:0;color:var(--muted);font-size:1.2rem;padding:0}
.link-box:empty{display:none}
.link-box{background:var(--wash-flag);border:1px solid var(--flag);border-radius:10px;padding:12px 14px;margin:14px 0}
.link-box p{margin:0 0 10px;font-size:.92rem}
.link-box .lrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.link-box select{flex:1;min-width:160px;background:var(--card)}
.link-box .btn{padding:9px 14px}
html[lang="te"] *{font-family:"Noto Sans Telugu",Mukta,system-ui,sans-serif!important}
html[lang="hi"] *{font-family:Mukta,"Noto Sans Devanagari",system-ui,sans-serif!important}
html[lang="te"] body,html[lang="hi"] body{line-height:1.65}
.hdr-r{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.hdr-r select{width:auto;padding:4px 8px;font-size:.85rem;border-radius:6px;background:var(--card)}
.fab{position:fixed;right:max(16px,calc(50vw - 380px + 16px));bottom:calc(18px + env(safe-area-inset-bottom,0px));width:60px;height:60px;border-radius:50%;border:0;background:var(--ink);color:var(--paper);display:grid;place-items:center;box-shadow:0 6px 18px rgba(5,20,18,.28);z-index:5}
.fab svg{width:26px;height:26px}
.v-mic{display:flex;align-items:center;gap:12px;margin:6px 0 12px}
.v-mic button{width:52px;height:52px;border-radius:50%;border:2px solid var(--ink);background:var(--card);color:var(--ink);display:grid;place-items:center;flex:none}
.v-mic button svg{width:22px;height:22px}
.v-mic button.on{background:var(--owe);border-color:var(--owe);color:#fff;animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(163,57,46,.45)}50%{box-shadow:0 0 0 10px rgba(163,57,46,0)}}
@media (prefers-reduced-motion:reduce){.v-mic button.on{animation:none}}
.v-status{font-size:.9rem;color:var(--muted)}
.v-ex{font-size:.82rem;color:var(--muted);margin:8px 0 0;padding-left:18px}
.v-ex li{margin:2px 0}
textarea#v-text{min-height:76px;resize:vertical}
.foot{margin-top:32px;font-size:.8rem;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.beam span{transition:none}}

/* ---------- FiilFree skin ---------- */
body{font-size:17px}
h1,h2,h3{font-weight:700}
h2{font-size:1.3rem;margin:26px 0 10px}
.panel{border-radius:18px;padding:16px 18px}
.stats{border-radius:18px}
.btn{background:var(--gold);border-color:var(--gold);color:var(--paper);border-radius:999px;padding:10px 20px;min-height:44px}
.btn.ghost{background:transparent;border:1.5px solid var(--own);color:var(--own)}
.btn:hover{filter:brightness(1.08)}
.btn:disabled{opacity:.5;cursor:default}
nav.tabs button{font-family:var(--body);font-size:1rem}
nav.tabs button[aria-selected="true"]{color:var(--gold);border-bottom-color:var(--gold)}
input,select,textarea{background:#0B0E0C;border-color:var(--line)}
dialog{border-radius:20px;border-color:var(--line)}
dialog::backdrop{background:rgba(0,0,0,.66)}
.fab{background:var(--gold);color:var(--paper);box-shadow:0 8px 22px rgba(0,0,0,.5)}
.v-mic button{border-color:var(--gold);color:var(--gold)}
.month-nav button{color:var(--ink)}
.hero p.lead{font-weight:800}
.link{color:var(--muted)}
.tag.done{background:var(--line);color:var(--muted)}
.foot a{color:var(--muted)}
/* header */
header.top{align-items:center;margin-bottom:22px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--display);font-weight:800;font-size:1.25rem;line-height:1}
.brand svg{width:34px;height:34px;flex:none}
.brand small{display:block;font-family:var(--body);font-weight:500;font-size:.78rem;color:var(--muted);margin-top:3px}
.hdr-r{flex-direction:row;align-items:center;gap:8px}
.acct{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--own);background:var(--card);color:var(--own);font-weight:700;font-size:1rem;display:grid;place-items:center;padding:0}
.sync{display:block;text-align:right;margin:-14px 0 14px}
/* sign-in gate */
.gate{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"head card" "list card";gap:22px 40px;align-items:start;padding:12px 0 40px}
.g-head{grid-area:head}.g-list{grid-area:list}.signin{grid-area:card}
[hidden]{display:none!important}
.gate h1{font-family:var(--display);font-size:clamp(2rem,6vw,3.1rem);font-weight:800;line-height:1.1;color:var(--ink)}
.gate .lead{color:var(--muted);font-size:1.08rem;margin:14px 0 0;max-width:46ch}
.gate ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.gate li{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;color:var(--ink)}
.gate li svg{width:22px;height:22px;color:var(--gold);margin-top:3px}
.signin{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:14px}
.signin h2{margin:0;font-size:1.25rem}
.agree{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-size:.95rem;color:var(--muted)}
.agree input{width:20px;height:20px;margin:3px 0 0;accent-color:var(--own)}
.agree a{color:var(--own)}
.gbtn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:999px;border:0;background:#fff;color:#1f1f1f;font-weight:600;font-size:1rem}
.gbtn svg{width:20px;height:20px}
.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.9rem}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.erow{display:flex;gap:8px;flex-wrap:wrap}
.erow input{flex:1;min-width:180px}
.g-status{font-size:.95rem;color:var(--gold);margin:0}.g-status:empty{display:none}
.g-fine{margin:0}
.g-fine{font-size:.85rem;color:var(--muted)}
.inapp{background:var(--wash-flag);border:1px solid var(--flag);color:var(--ink);border-radius:12px;padding:10px 12px;font-size:.92rem}
.loading{padding:60px 0;text-align:center;color:var(--muted)}
.menu-list{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.menu-list .btn{width:100%}
.danger{border:1.5px solid var(--owe)!important;color:var(--owe)!important;background:transparent!important}
.danger.armed{background:var(--owe)!important;color:var(--paper)!important}
@media (max-width:760px){.gate{grid-template-columns:1fr;grid-template-areas:"head" "card" "list";gap:22px}}

/* ================= ETracker redesign ================= */
body{background:var(--paper)}
input,select,textarea{background:#F7FAF6;border-color:var(--line);color:var(--ink)}
dialog{background:var(--card);color:var(--ink);border-color:var(--line);box-shadow:0 20px 60px rgba(14,38,24,.18)}
dialog::backdrop{background:rgba(14,38,24,.35);backdrop-filter:blur(2px)}
.btn{background:var(--own);border-color:var(--own);color:#fff}
.btn.ghost{background:var(--card);border:1.5px solid var(--own);color:var(--own)}
.panel,.stats{background:var(--card);border-color:var(--line)}
.stats div{background:var(--card)}
.acct{background:var(--w-home);border-color:var(--own);color:var(--own)}
.signin{background:var(--card)}
.gbtn{border:1.5px solid var(--line)}
.inapp{background:var(--wash-flag)}
.g-status{color:var(--gold-ink)}
.gate li svg{color:var(--own)}
.danger.armed{color:#fff!important}
.tag.done{background:#EEF2ED}
.v-mic button{border-color:var(--own);color:var(--own)}
nav.tabs{display:none}

/* shell: sidebar on desktop, bottom bar on phones */
.shell{display:block}
.side{display:none}
.bbar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-top:1px solid var(--line);
  display:grid;grid-template-columns:repeat(5,1fr);align-items:end;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px))}
.bbar button{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:2px;font:600 .74rem var(--body);color:var(--muted);padding:6px 2px;border-radius:12px}
.bbar button svg{width:23px;height:23px}
.bbar button[aria-current="page"]{color:var(--own)}
.bbar .plus{justify-self:center;width:58px;height:58px;border-radius:50%;background:var(--own);color:#fff;margin-top:-26px;box-shadow:0 8px 20px rgba(31,138,62,.35);padding:0;justify-content:center}
.bbar .plus svg{width:28px;height:28px}
.wrap{padding-bottom:120px}
.fab{display:none!important}
@media (min-width:960px){
  .wrap{max-width:1180px;padding-bottom:64px}
  .shell{display:grid;grid-template-columns:230px minmax(0,1fr);gap:32px;align-items:start}
  .side{display:flex;flex-direction:column;gap:4px;position:sticky;top:16px}
  .side button{display:flex;align-items:center;gap:12px;border:0;background:none;padding:10px 12px;border-radius:12px;font:600 1rem var(--body);color:var(--ink);text-align:left}
  .side button .ico{width:34px;height:34px}
  .side button:hover{background:#E9F1E7}
  .side button[aria-current="page"]{background:var(--card);box-shadow:0 1px 0 var(--line),0 0 0 1px var(--line)}
  .side .add{margin-top:14px;justify-content:center;background:var(--own);color:#fff;border-radius:999px;min-height:46px}
  .side .add:hover{background:#1A7835}
  .side .speak{justify-content:center;border:1.5px solid var(--own);color:var(--own);border-radius:999px;min-height:44px}
  .bbar{display:none}
}

/* icon tiles */
.ico{display:grid;place-items:center;border-radius:11px;flex:none}
.ico svg{width:58%;height:58%}
.k-home .ico,.ico.k-home{background:var(--w-home);color:var(--c-home)}
.k-accounts .ico,.ico.k-accounts{background:var(--w-accounts);color:var(--c-accounts)}
.k-received .ico,.ico.k-received{background:var(--w-received);color:var(--c-received)}
.k-expenses .ico,.ico.k-expenses{background:var(--w-expenses);color:var(--c-expenses)}
.k-debts .ico,.ico.k-debts{background:var(--w-debts);color:var(--c-debts)}
.k-invest .ico,.ico.k-invest{background:var(--w-invest);color:var(--c-invest)}
.k-goals .ico,.ico.k-goals{background:var(--w-goals);color:var(--c-goals)}
.k-charts .ico,.ico.k-charts{background:var(--w-charts);color:var(--c-charts)}
.k-owed .ico,.ico.k-owed{background:var(--w-owed);color:var(--c-owed)}
.k-voice .ico,.ico.k-voice{background:#0E2618;color:#fff}

/* section header */
.sec-head{display:flex;align-items:center;gap:14px;margin:4px 0 18px;flex-wrap:wrap}
.sec-head .ico{width:48px;height:48px;border-radius:14px}
.sec-head h1{font:800 1.7rem/1.1 var(--display);margin:0}
.sec-head p{margin:2px 0 0;color:var(--muted);font-size:.95rem}
.sec-head > div{flex:1;min-width:180px}
.sec-head .btn{min-height:42px;padding:8px 18px}
section h2{font-size:1.15rem;margin:24px 0 10px}

/* hero card */
.hero{padding:0;margin:0 0 18px}
.hc{position:relative;overflow:hidden;border-radius:24px;padding:22px 22px 20px;color:#fff;
  background:radial-gradient(120% 140% at 100% 0%,#2FA357 0%,rgba(47,163,87,0) 55%),linear-gradient(150deg,#0E3B22 0%,#14552F 55%,#1C7A3E 100%)}
.hc::after{content:"₹";position:absolute;right:-8px;bottom:-46px;font:800 190px/1 var(--display);color:rgba(255,255,255,.06);pointer-events:none}
.hc-top{display:flex;justify-content:space-between;align-items:center;font-size:.92rem;color:rgba(255,255,255,.78)}
.hc-num{font:800 clamp(2.4rem,9vw,3.4rem)/1.05 var(--display);margin:6px 0 2px;font-variant-numeric:tabular-nums;color:#F6D46B}
.hc-num.neg{color:#FFB4A8}
.hc-line{margin:0 0 16px;color:rgba(255,255,255,.88);font-size:1rem}
.hc-line .pos{color:#9FE6AE;font-weight:700}.hc-line .neg{color:#FFB4A8;font-weight:700}
.hc .beam{height:12px;border-radius:999px;background:rgba(255,255,255,.18)}
.hc .beam span{transition:width .9s cubic-bezier(.2,.8,.2,1)}
.hc .beam .c{background:#8CC4F5}.hc .beam .rv{background:#F3A6CB}.hc .beam .o{background:#7EE08F}.hc .beam .d{background:#FF8E7E}
.hc-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin-top:14px}
.hc-legend div{display:flex;flex-direction:column;font-size:.85rem;color:rgba(255,255,255,.75)}
.hc-legend div::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--dot);margin-bottom:4px}
.hc-legend b{font:700 1.05rem var(--body);color:#fff}
@media (min-width:700px){.hc-legend{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* section tiles on Home */
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 6px}
@media (min-width:700px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tile{display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;color:var(--ink);font-family:var(--body);transition:transform .15s ease,box-shadow .15s ease}
.tile:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(14,38,24,.08)}
.tile:active{transform:scale(.98)}
.tile .ico{width:38px;height:38px}
.tile .t-l{font-weight:600;font-size:.95rem;color:var(--muted)}
.tile .t-v{font:800 1.3rem/1.1 var(--display);color:var(--ink);font-variant-numeric:tabular-nums}
.tile .t-s{font-size:.82rem;color:var(--muted);line-height:1.3}

/* insights with icons */
.insight{grid-template-columns:36px 1fr;gap:12px;align-items:start}
.insight i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#EEF4FB;color:var(--cash)}
.insight i svg{width:19px;height:19px}
.insight.bad i{background:var(--wash-owe);color:var(--owe)}
.insight.warn i{background:var(--wash-flag);color:var(--flag)}
.insight.good i{background:var(--wash-own);color:var(--own)}
.insight.info i{background:#EEF4FB;color:var(--cash)}

/* sheets (quick add, all sections) */
.qa{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px}
.qa button{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;border:1px solid var(--line);background:var(--card);font:600 1rem var(--body);color:var(--ink);text-align:left;min-height:64px}
.qa button:hover{background:#F6FAF5}
.qa .ico{width:40px;height:40px}
.qa .wide{grid-column:1/-1;background:#0E2618;color:#fff;border-color:#0E2618}
.qa .wide .ico{background:rgba(255,255,255,.12);color:#fff}

/* entrance motion: one per view change */
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.enter{animation:rise .28s ease both}
.tiles .tile{animation:rise .35s ease both}
.tiles .tile:nth-child(2){animation-delay:.03s}.tiles .tile:nth-child(3){animation-delay:.06s}.tiles .tile:nth-child(4){animation-delay:.09s}
.tiles .tile:nth-child(5){animation-delay:.12s}.tiles .tile:nth-child(6){animation-delay:.15s}.tiles .tile:nth-child(7){animation-delay:.18s}.tiles .tile:nth-child(8){animation-delay:.21s}
@media (prefers-reduced-motion:reduce){.enter,.tiles .tile{animation:none}.hc .beam span,.tile{transition:none}}
.side .add svg,.side .speak svg{width:20px;height:20px;flex:none}
.side .add span,.side .speak span{white-space:nowrap}
.who{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;font-size:.92rem;color:var(--muted);margin:-4px 0 12px}
.who b{color:var(--ink);font-weight:600;word-break:break-all}
.who .link{color:var(--owe)}
