: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}}*{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)}.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}
