:root{--bg: #f6f7f7;--card: #ffffff;--text: #1c2524;--muted: #5d6b69;--border: #dde3e2;--accent: #0f766e;--accent-text: #ffffff;--danger: #b42318;--listening: #d92d20;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px}@media (prefers-color-scheme: dark){:root{--bg: #0f1514;--card: #182120;--text: #e7eeed;--muted: #98a6a4;--border: #2b3836;--accent: #2dd4bf;--accent-text: #062a26;--danger: #f97066;--listening: #f97066;color-scheme:dark}}:root{--series-1: #2a78d6;--series-1-soft: #86b6ef;--series-2: #eb6834;--status-good: #0ca30c;--status-warning: #fab219;--status-critical: #d03b3b;--good-text: #006300;--critical-text: #b42318;--warning-text: #8a5a00;--grid: #e1e0d9;--axis: #c3c2b7;--muted-ink: #898781}@media (prefers-color-scheme: dark){:root{--series-1: #3987e5;--series-1-soft: #1c5cab;--series-2: #d95926;--good-text: #0ca30c;--critical-text: #f97066;--warning-text: #fab219;--grid: #2c2c2a;--axis: #383835}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text)}body{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit;color:inherit}.app{min-height:100dvh;display:flex;flex-direction:column;max-width:560px;margin:0 auto}header{padding:calc(env(safe-area-inset-top) + 12px) 16px 8px}header h1{margin:0;font-size:1.25rem;color:var(--accent)}main{flex:1;padding:8px 16px 96px}.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;background:var(--card);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tabs button{flex:1;max-width:186px;padding:14px 8px;border:0;background:none;color:var(--muted);font-weight:600;cursor:pointer}.tabs button.active{color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px}.card h2{margin:0 0 12px;font-size:1.1rem}label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--muted);margin-bottom:12px;flex:1;min-width:0}input,select{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);font-size:1rem;min-height:46px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:0}.amount-input{font-size:1.8rem;font-weight:700}.row{display:flex;gap:10px;align-items:flex-end}.row>input{flex:1}button.primary,button.secondary,button.danger{padding:12px 18px;border-radius:10px;font-weight:600;cursor:pointer;min-height:46px}button.primary{background:var(--accent);color:var(--accent-text);border:0}button.primary:disabled{opacity:.45}button.secondary{background:transparent;border:1px solid var(--border)}button.secondary:disabled{opacity:.35}button.danger{background:var(--danger);color:#fff;border:0}button.link{background:none;border:0;color:var(--accent);padding:8px 0;cursor:pointer;text-decoration:underline}.danger-text{color:var(--danger)!important}.actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:8px;flex-wrap:wrap}.actions span{margin-right:auto}.capture{display:flex;flex-direction:column;align-items:center;gap:16px;padding-top:12px;text-align:center}.hint{color:var(--muted);margin:0}.mic{width:180px;height:180px;border-radius:50%;border:0;cursor:pointer;background:var(--accent);color:var(--accent-text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-weight:600;box-shadow:0 6px 24px #0f766e59}.mic span{font-size:.85rem;max-width:120px}.mic.listening{background:var(--listening);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.heard{font-style:italic;color:var(--muted);margin:0 0 12px}.error{color:var(--danger);margin:0}.type-box{width:100%;text-align:left}.type-box label{margin-bottom:6px}.toast{position:fixed;top:calc(env(safe-area-inset-top) + 12px);left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:10px 16px;border-radius:999px;font-weight:600;z-index:10}.location{font-size:.85rem;color:var(--muted);margin:0 0 4px}.location a{color:var(--accent)}.location .link{padding:0;font-size:inherit}.month-bar{display:flex;align-items:center;justify-content:space-between;text-align:center;margin-bottom:12px}.month-name{color:var(--muted);font-size:.9rem}.month-total{font-size:1.6rem;font-weight:700}.empty{text-align:center;color:var(--muted)}.day h3{display:flex;justify-content:space-between;font-size:.85rem;color:var(--muted);margin:16px 4px 6px;font-weight:600}.day ul,.categories ul{list-style:none;margin:0;padding:0}.day ul{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden}.day li+li{border-top:1px solid var(--border)}.expense{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;background:none;border:0;text-align:left;cursor:pointer}.expense .what{display:flex;flex-direction:column;min-width:0}.expense strong,.expense small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense small{color:var(--muted)}.expense .amt{font-weight:700;white-space:nowrap}.mic.small{width:120px;height:120px;box-shadow:none}.mic.small svg{width:36px;height:36px}.mic:disabled{opacity:.7}.mic.listening[style]{transition:transform .08s linear}.engine-note{color:var(--muted);font-size:.8rem;margin:-8px 0 0}.model-card{width:100%;text-align:left}.notice{font-size:.85rem;color:var(--danger);margin:0;max-width:340px}.model-card p{margin:0 0 12px}progress{width:100%;height:10px;accent-color:var(--accent)}.settings{display:flex;flex-direction:column;gap:16px}fieldset{border:0;padding:0;margin:0 0 12px}legend{font-weight:600;margin-bottom:6px}label.choice{flex-direction:row;align-items:flex-start;gap:10px;color:var(--text);font-size:1rem;margin-bottom:10px}label.choice input{width:20px;min-height:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--accent)}label.choice small{display:block;color:var(--muted);font-size:.82rem}.status{color:var(--muted);margin:0}.status.small{font-size:.82rem;margin-top:6px}.code{font-family:ui-monospace,Consolas,monospace;letter-spacing:.12em;font-size:1.1rem;color:var(--text)}.join{margin-top:10px}.auth-links{display:flex;flex-wrap:wrap;gap:4px 16px}.status.info{color:var(--accent);margin-top:8px}.reminder{margin-bottom:12px}.reminder p{margin:0 0 4px}.deleted .title-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.deleted .title-row h2{margin:0}.deleted ul{list-style:none;margin:0;padding:0}.deleted li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.deleted .what{display:flex;flex-direction:column;min-width:0}.deleted small{color:var(--muted)}.insights{display:flex;flex-direction:column;gap:14px}.insights .card h2{font-size:1rem}.month-name.strong{font-size:1.05rem;font-weight:700;color:var(--text)}.insights .month-bar{margin-bottom:0}.chips{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.chip{border:1px solid var(--border);background:var(--card);border-radius:999px;padding:6px 14px;font-weight:600;cursor:pointer;color:var(--muted)}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.summary{text-align:center}.summary .hero{font-size:2.2rem;font-weight:700;line-height:1.1}.summary .sub{color:var(--muted);font-size:.9rem;margin-top:4px}.summary .changes{display:flex;flex-direction:column;gap:2px;margin-top:8px;font-size:.88rem}.change{color:var(--muted)}.change.up{color:var(--critical-text)}.change.down{color:var(--good-text)}.cat-bars,.budgets,.drill,.places{list-style:none;margin:0;padding:0}.cat-row{width:100%;background:none;border:0;padding:7px 0;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:5px}.cat-label{display:flex;justify-content:space-between;gap:8px;font-size:.92rem}.cat-value{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.cat-value small,.budget-head small{color:var(--muted);font-weight:400}.track{position:relative;display:block;height:10px;border-radius:4px;background:var(--grid)}.track .bar{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--series-1)}.track .limit{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--text);border-radius:1px;box-shadow:0 0 0 2px var(--card)}.cat-budget,.budget-note{font-size:.8rem;color:var(--muted)}.cat-budget.over,.budget-note.over{color:var(--critical-text);font-weight:600}.cat-budget.warning,.budget-note.warning{color:var(--warning-text);font-weight:600}.budget-note.good{color:var(--good-text)}.budgets li{padding:8px 0;display:flex;flex-direction:column;gap:5px}.budget-head{display:flex;justify-content:space-between;gap:8px;font-variant-numeric:tabular-nums}.track .bar.good{background:var(--status-good)}.track .bar.warning{background:var(--status-warning)}.track .bar.over{background:var(--status-critical)}.status-icon{display:inline-block;width:1.1em;text-align:center;font-weight:700}.trend svg{width:100%;height:auto;display:block;overflow:visible}.trend .baseline{stroke:var(--axis);stroke-width:1}.trend .tbar{fill:var(--series-1-soft)}.trend .tbar.sel{fill:var(--series-1)}.trend .xlab{fill:var(--muted-ink);font-size:10px}.trend .xlab.sel{fill:var(--text);font-weight:700}.trend .vlab{fill:var(--text);font-size:11px;font-weight:700}.trend .avg line{stroke:var(--muted);stroke-width:1.5;stroke-dasharray:4 3}.trend .avg text{fill:var(--muted);font-size:10px}.trend .hit{fill:transparent;cursor:pointer}.trend-tip{margin:6px 0 0;text-align:center;font-size:.85rem;color:var(--muted);min-height:1.2em}.split-bar{display:flex;gap:2px;height:14px;border-radius:4px;overflow:hidden}.split-bar .seg{min-width:4px}.s1{background:var(--series-1)}.s2{background:var(--series-2)}.legend{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.legend li{display:flex;align-items:center;gap:8px}.legend .swatch{width:12px;height:12px;border-radius:3px;flex:none}.legend .who{font-weight:600}.legend .amt{margin-left:auto;font-variant-numeric:tabular-nums}.legend small{color:var(--muted)}.places li,.drill li{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--border)}.places li{padding:9px 0}.places .what,.drill .what{display:flex;flex-direction:column;min-width:0}.places small{color:var(--muted)}.places .amt{font-weight:700;font-variant-numeric:tabular-nums}.drill .expense{padding:10px 0}.budget-editor ul{list-style:none;margin:0 0 8px;padding:0}.budget-editor li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0}.budget-editor label{margin:0;color:var(--text);font-size:.95rem;flex-direction:row}.rupee-input{display:flex;align-items:center;gap:6px;color:var(--muted)}.rupee-input input{width:120px;text-align:right}.map-card .title-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.map-card .title-row h2{margin:0}.map-card .map{height:60vh;min-height:320px;border-radius:12px;overflow:hidden}.map-card .leaflet-popup-content{color:#1c2524}.categories li{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border)}.categories form{margin-bottom:8px}.categories .hint{margin-top:12px;font-size:.85rem}
