:root{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;color:#15201e;background:#f5f3ee;font-synthesis:none;text-rendering:optimizeLegibility;--background: #f5f3ee;--surface: #ffffff;--surface-soft: #eeeae1;--text: #15201e;--muted: #67706b;--border: #ded8cc;--accent: #2d6658;--accent-soft: #dcebe6;--danger: #ad4538;--expense: #ad4538;--income: #267059;--nav-shadow: rgba(30, 34, 32, .08)}:root[data-theme=dark]{color:#f1ede4;background:#101313;--background: #101313;--surface: #181c1c;--surface-soft: #202525;--text: #f1ede4;--muted: #a5aaa4;--border: #29302e;--accent: #8bcbbb;--accent-soft: #203a34;--danger: #e59488;--expense: #e59488;--income: #8bcbbb;--nav-shadow: rgba(0, 0, 0, .3)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:var(--background)}button,input,textarea,select{font:inherit}button{min-height:44px}p,h1,h2{margin:0}.app-shell{width:100%;max-width:540px;min-height:100vh;margin:0 auto;padding:env(safe-area-inset-top) 20px calc(100px + env(safe-area-inset-bottom))}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:28px 0 34px}.eyebrow{margin-bottom:5px;color:var(--muted);font-size:.75rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase}.brand{font-size:1.12rem;font-weight:650}.storage-badge{border:1px solid var(--border);border-radius:999px;padding:8px 11px;color:var(--muted);font-size:.72rem;white-space:nowrap}.page{display:grid;gap:22px}.page-header{display:grid;gap:8px;margin-bottom:8px}.page-header h1{font-size:clamp(1.75rem,7vw,2.2rem);font-weight:670;letter-spacing:-.055em}.page-header p,.quiet-card p:not(.card-title),.empty-state p:not(.card-title),.settings-row p:not(.card-title){color:var(--muted);font-size:.92rem;line-height:1.55}.page-header p{max-width:46ch}.composer-card,.quiet-card,.empty-state,.settings-list{border:1px solid var(--border);border-radius:24px;background:var(--surface)}.composer-card{padding:18px}.event-form,.quick-entry-form{display:grid;gap:16px}.event-form-heading,.history-heading,.event-card-main,.event-meta,.event-actions,.form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.type-switch{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;border-radius:14px;padding:4px;background:var(--surface-soft)}.type-switch button{border:0;border-radius:10px;padding:11px 12px;color:var(--muted);background:transparent;cursor:pointer}.type-switch button.is-selected{background:var(--surface);font-weight:620}.type-switch button.expense{color:var(--expense)}.type-switch button.income{color:var(--income)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.input-field{display:grid;gap:7px;color:var(--muted);font-size:.78rem;font-weight:600}.input-field input{width:100%;min-width:0;border:1px solid var(--border);border-radius:12px;padding:12px;color:var(--text);background:var(--background)}.amount-input{position:relative}.amount-input input{padding-right:48px}.amount-input strong{position:absolute;top:50%;right:12px;color:var(--muted);font-size:.72rem;transform:translateY(-50%)}.composer-label{display:block;color:var(--muted);font-size:.82rem;font-weight:600}.composer{display:block;width:100%;min-height:112px;resize:none;border:1px solid var(--border);border-radius:14px;padding:12px;outline:0;color:var(--text);background:var(--background);font-size:1.03rem;line-height:1.5}.composer::placeholder{color:var(--muted);opacity:.9}.chat-composer{display:block;width:100%;min-height:76px;resize:none;border:1px solid var(--border);border-radius:17px;padding:16px;color:var(--text);background:var(--background);font-size:1.02rem;line-height:1.5}.chat-composer:focus,.input-field input:focus,.recurring-form input:focus,.recurring-form select:focus,.correction-open-button:focus-visible,.send-button:focus-visible,.settings-action:focus-visible,.assist-toggle:focus-visible,.text-button:focus-visible,.type-switch button:focus-visible,.event-actions button:focus-visible,.template-actions button:focus-visible,.theme-toggle:focus-visible,.navigation-item:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.chat-composer::placeholder{color:var(--muted)}.readonly-raw-text{border-radius:13px;padding:13px;color:var(--text);background:var(--surface-soft);font-size:.94rem;line-height:1.45}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.composer[readonly]{color:var(--muted);background:var(--surface-soft)}.composer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}.entry-examples{display:flex;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:.72rem}.entry-examples span{border-radius:999px;padding:6px 9px;background:var(--surface-soft)}.entry-examples span:first-child{padding-left:0;color:var(--muted);background:transparent;font-weight:650}.source-pill,.status{border-radius:999px;padding:7px 10px;color:var(--accent);background:var(--accent-soft);font-size:.73rem;font-weight:600}.ai-pill{border-radius:999px;padding:7px 10px;color:var(--accent);background:var(--accent-soft);font-size:.71rem;font-weight:620}.send-button{min-height:42px;border:1px solid transparent;border-radius:12px;padding:10px 14px;color:var(--muted);background:var(--surface-soft)}.send-button.is-ready{color:var(--surface);background:var(--accent);cursor:pointer}.send-button:disabled{cursor:wait;opacity:.7}.text-button{min-height:42px;border:1px solid transparent;border-radius:12px;padding:10px 12px;color:var(--muted);background:transparent;cursor:pointer}.helper-text{color:var(--muted);font-size:.73rem}.form-error{color:var(--danger);font-size:.84rem;line-height:1.4}.standalone-error{border-radius:14px;padding:12px 14px;background:var(--surface)}.save-confirmation{border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:14px;padding:12px 14px;color:var(--accent);background:var(--accent-soft);font-size:.84rem;font-weight:600}.backup-reminder{display:grid;gap:12px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:18px;padding:15px;background:var(--surface)}.backup-reminder>div{display:grid;gap:5px}.backup-reminder p:not(.card-title){color:var(--muted);font-size:.82rem;line-height:1.45}.backup-reminder .settings-action{justify-self:start}.balance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.balance-card{display:grid;gap:8px;border:1px solid var(--border);border-radius:19px;padding:15px;background:var(--surface)}.balance-card p{color:var(--muted);font-size:.76rem;font-weight:620}.balance-card strong{color:var(--income);font-size:1.2rem;font-weight:680;letter-spacing:-.035em}.balance-card span{color:var(--muted);font-size:.7rem;line-height:1.35}.balance-card.negative strong{color:var(--expense)}.quiet-card,.empty-state{display:grid;gap:7px;padding:20px}.card-title{color:var(--text);font-size:.95rem;font-weight:630}.history-section{display:grid;gap:13px;margin-top:7px}.history-filters{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.history-filters::-webkit-scrollbar{display:none}.filter-chip{min-height:38px;flex:0 0 auto;border:1px solid var(--border);border-radius:999px;padding:8px 12px;color:var(--muted);background:var(--surface);font-size:.77rem;cursor:pointer}.filter-chip.is-active{border-color:transparent;color:var(--accent);background:var(--accent-soft);font-weight:620}.history-day{display:grid;gap:9px}.history-day h3{margin:3px 0 0;color:var(--muted);font-size:.74rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.history-heading h2{font-size:1.08rem;font-weight:640}.history-heading span{color:var(--muted);font-size:.75rem}.event-list{display:grid;gap:10px}.event-card{display:grid;gap:11px;border:1px solid var(--border);border-radius:19px;padding:14px;background:var(--surface)}.event-card.compact{gap:8px;padding:12px 13px}.event-card.is-deleted{opacity:.72;border-style:dashed}.event-kind{justify-self:start;border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:650}.event-badges{display:flex;flex-wrap:wrap;gap:7px}.event-kind.expense{color:var(--expense);background:color-mix(in srgb,var(--expense) 12%,transparent)}.event-kind.income{color:var(--income);background:color-mix(in srgb,var(--income) 12%,transparent)}.event-kind.correction,.correction-pill{color:var(--accent);background:var(--accent-soft)}.event-kind.system{color:var(--muted);background:var(--surface-soft)}.event-kind.ai{color:var(--accent);background:var(--accent-soft)}.event-kind.demo{color:var(--muted);background:var(--surface-soft)}.event-kind.deleted{color:var(--danger);background:color-mix(in srgb,var(--danger) 11%,transparent)}.correction-pill{border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:650}.event-category{display:inline-flex;align-items:center;gap:7px;color:var(--text);font-size:.83rem;font-weight:600}.event-amount{font-size:1.05rem;font-weight:660}.event-amount.expense{color:var(--expense)}.event-amount.income{color:var(--income)}.event-raw-text{font-size:.93rem;line-height:1.45;overflow-wrap:anywhere}.event-card.compact .event-raw-text{font-size:.88rem}.event-meta{justify-content:flex-start;color:var(--muted);font-size:.73rem}.event-meta span+span:before{content:"·";margin-right:12px}.event-actions{justify-content:flex-end;flex-wrap:wrap;padding-top:3px}.event-actions button{min-height:38px;border:1px solid var(--border);border-radius:11px;padding:8px 11px;color:var(--muted);background:var(--surface-soft);font-size:.77rem;cursor:pointer}.event-actions .delete-action{color:var(--danger);background:transparent}.system-hint{color:var(--muted);font-size:.74rem;line-height:1.4;text-align:left}.event-context{justify-self:start;border-radius:999px;padding:6px 10px;color:var(--muted);background:var(--surface-soft);font-size:.74rem;line-height:1.35;overflow-wrap:anywhere}.correction-entry-card{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px dashed var(--border);border-radius:19px;padding:15px;background:var(--surface)}.correction-entry-card>div{display:grid;gap:4px}.correction-open-button{flex-shrink:0;border:1px solid var(--border);border-radius:12px;padding:10px 12px;color:var(--accent);background:var(--accent-soft);font-size:.82rem;font-weight:620;cursor:pointer}.correction-form{display:grid;gap:14px}.ai-suggestion-card{display:grid;gap:13px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:16px;padding:14px;background:color-mix(in srgb,var(--accent-soft) 35%,var(--surface))}.ai-suggestion-details{display:grid;gap:9px;margin:0}.ai-suggestion-details div{display:grid;grid-template-columns:78px 1fr;gap:8px;font-size:.82rem}.ai-suggestion-details dt{color:var(--muted)}.ai-suggestion-details dd{margin:0;color:var(--text)}.ai-short-note{color:var(--muted);font-size:.78rem;line-height:1.45}.ai-actions{display:flex;flex-wrap:wrap;gap:9px}.ai-actions .settings-action{flex:1 1 160px}.correction-fields{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.trust-note{display:flex;align-items:center;gap:11px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:16px;padding:12px 14px;color:var(--muted);background:var(--surface);font-size:.82rem;line-height:1.45}.empty-summary{padding-block:24px}.summary-card,.breakdown-card,.ai-reflection-card,.categories-card,.data-card,.settings-section,.search-results{border:1px solid var(--border);border-radius:20px;background:var(--surface)}.summary-card{display:grid;gap:7px;padding:15px}.summary-card p{color:var(--muted);font-size:.75rem;font-weight:600}.summary-card strong{font-size:1.12rem;font-weight:670}.summary-card small{color:var(--muted);font-size:.7rem;line-height:1.4}.summary-card.expense strong,.summary-card.negative strong{color:var(--expense)}.summary-card.income strong,.summary-card.remaining:not(.negative) strong{color:var(--income)}.summary-card.remaining{grid-column:span 2}.breakdown-card,.ai-reflection-card,.categories-card,.data-card,.settings-section{display:grid;gap:16px;padding:18px}.ai-reflection-card{display:grid;gap:14px}.ai-reflection-card>.settings-action{justify-self:start}.ai-reflection-result{display:grid;gap:11px;border-radius:15px;padding:14px;background:var(--surface-soft);font-size:.85rem;line-height:1.5}.ai-reflection-result .ai-pill{justify-self:start}.ai-reflection-result ul{display:grid;gap:6px;margin:0;padding-left:18px;color:var(--muted)}.reflection-date,.reflection-meta{color:var(--muted);font-size:.74rem}.reflection-meta{padding-top:3px;line-height:1.45}.recurring-card{display:grid;gap:16px;border:1px solid var(--border);border-radius:20px;padding:18px;background:var(--surface)}.recurring-form{display:grid;gap:9px}.recurring-form input,.recurring-form select{width:100%;min-width:0;border:1px solid var(--border);border-radius:12px;padding:11px 12px;color:var(--text);background:var(--background)}.recurring-form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.recurring-field{display:grid;gap:6px;color:var(--muted);font-size:.77rem;font-weight:620}.recurring-form-actions{display:flex;justify-content:flex-end;gap:10px}.template-list{display:grid;gap:8px}.template-item{display:grid;gap:9px;border-radius:14px;padding:12px;background:var(--surface-soft)}.template-item>div:first-child{display:grid;gap:3px}.template-item>div:first-child p:not(.card-title){color:var(--muted);font-size:.79rem}.template-item.inactive{opacity:.62}.template-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.template-actions button{border:0;padding:3px 0;color:var(--muted);background:transparent;font-size:.75rem;cursor:pointer}.template-actions .delete-action{color:var(--danger)}.breakdown-list{display:grid}.breakdown-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;font-size:.9rem}.breakdown-row+.breakdown-row{border-top:1px solid var(--border)}.breakdown-row strong{font-weight:640}.category-chart-row{display:grid;gap:2px;padding-bottom:11px}.category-chart-row+.category-chart-row{border-top:1px solid var(--border)}.category-chart-row+.category-chart-row .breakdown-row{padding-top:14px}.category-chart-row:last-child{padding-bottom:0}.chart-track{position:relative;height:9px;overflow:hidden;border-radius:999px;background:var(--surface-soft)}.chart-fill{display:block;height:100%;min-width:0;border-radius:inherit}.chart-fill.expense{background:var(--expense)}.chart-fill.income{background:var(--income)}.chart-fill.category{background:var(--accent)}.category-track{height:7px}.comparison-chart{display:grid;gap:12px}.comparison-row{display:grid;grid-template-columns:72px minmax(60px,1fr) auto;align-items:center;gap:10px;color:var(--muted);font-size:.78rem}.comparison-row strong{color:var(--text);font-size:.83rem}.breakdown-label{display:grid;gap:3px}.breakdown-label small{padding-left:27px;color:var(--muted);font-size:.72rem}.muted-copy,.search-result-date{color:var(--muted);font-size:.84rem;line-height:1.5}.income-total{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border-radius:14px;padding:13px;background:var(--surface-soft)}.income-total strong{color:var(--income)}.search-field{display:grid;gap:7px;color:var(--muted);font-size:.8rem;font-weight:620}.search-input{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:15px;padding:0 14px;background:var(--surface)}.search-input svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:var(--muted);stroke-width:1.8}.search-input input{width:100%;border:0;padding:16px 0;color:var(--text);background:transparent;outline:0}.search-input:focus-within{outline:2px solid var(--accent);outline-offset:1px}.search-input input::placeholder{color:var(--muted)}.search-results{display:grid;gap:13px;padding:16px}.search-result-card{display:grid;gap:8px;border-radius:15px;padding:13px;background:var(--surface-soft)}.search-detail{color:var(--muted);font-size:.78rem;line-height:1.4;overflow-wrap:anywhere}.search-detail strong{color:var(--text);font-weight:600}.category-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.category-item{display:flex;align-items:center;gap:9px;border-radius:13px;padding:11px;background:var(--surface-soft);font-size:.87rem;font-weight:560}.data-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.settings-action{min-height:44px;border:1px solid var(--border);border-radius:13px;padding:12px;color:var(--text);background:var(--surface-soft);font-weight:590;cursor:pointer}.settings-action.primary{border-color:transparent;color:var(--surface);background:var(--accent)}.settings-action.danger{color:var(--danger);background:transparent}.settings-action:disabled{cursor:wait;opacity:.65}.safety-note{display:grid;gap:5px;border-radius:14px;padding:13px;background:var(--surface-soft)}.safety-note p:not(.card-title){color:var(--muted);font-size:.82rem;line-height:1.45}.trash-list{display:grid;gap:10px}.trash-empty{display:grid;gap:5px;border-radius:14px;padding:13px;background:var(--surface-soft)}.trash-item{display:grid;gap:9px;border-radius:15px;padding:13px;background:var(--surface-soft)}.trash-item .settings-action{justify-self:start;background:var(--surface)}.trash-meta{color:var(--muted);font-size:.76rem;line-height:1.4}.backup-setting-row{border-radius:14px;padding:13px;background:var(--surface-soft)}.settings-status{border-radius:13px;padding:11px 12px;font-size:.83rem;line-height:1.45}.settings-status.success{color:var(--accent);background:var(--accent-soft)}.settings-status.info{color:var(--muted);background:var(--surface-soft)}.settings-status.error{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.search-preview{display:flex;align-items:center;gap:12px;height:54px;border:1px solid var(--border);border-radius:15px;padding:0 16px;color:var(--muted);background:var(--surface)}.search-preview svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.settings-list{overflow:hidden}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px}.settings-row+.settings-row{border-top:1px solid var(--border)}.settings-row div{display:grid;gap:4px}.ai-settings-card{gap:13px}.ai-toggle-row{border:1px solid var(--border);border-radius:15px;padding:14px;background:var(--surface-soft)}.assist-toggle{min-width:64px;border:1px solid var(--border);border-radius:999px;padding:9px 13px;color:var(--muted);background:var(--surface);font-size:.78rem;font-weight:620;cursor:pointer}.assist-toggle.is-active{border-color:transparent;color:var(--surface);background:var(--accent)}.theme-toggle{display:flex;align-items:center;gap:10px;border:0;color:var(--muted);background:transparent;font-size:.78rem;cursor:pointer}.theme-switch{display:inline-flex;width:42px;border-radius:99px;padding:3px;background:var(--surface-soft);transition:background .18s ease}.theme-switch.is-dark{background:var(--accent-soft)}.theme-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);transition:transform .18s ease}.theme-switch.is-dark .theme-thumb{transform:translate(18px)}.bottom-navigation{position:fixed;right:max(12px,calc((100vw - 540px)/2 + 12px));bottom:calc(12px + env(safe-area-inset-bottom));left:max(12px,calc((100vw - 540px)/2 + 12px));z-index:5;display:grid;grid-template-columns:repeat(4,1fr);gap:3px;border:1px solid var(--border);border-radius:25px;padding:7px;background:var(--surface);box-shadow:0 14px 32px var(--nav-shadow)}.navigation-item{display:flex;flex-direction:column;align-items:center;gap:4px;border-radius:18px;padding:9px 4px 8px;color:var(--muted);font-size:.68rem;font-weight:560;text-decoration:none;transition:color .16s ease,background .16s ease;min-height:56px}.navigation-item.is-active{color:var(--accent);background:var(--accent-soft)}.navigation-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.navigation-item:first-child .navigation-icon{fill:currentColor;stroke:none}@media(max-width:440px){.app-shell{padding-right:15px;padding-left:15px}.app-header{gap:13px;padding:20px 0 25px}.storage-badge{padding:7px 9px}.composer-card,.breakdown-card,.ai-reflection-card,.categories-card,.data-card,.settings-section,.recurring-card{padding:16px}.field-grid,.balance-grid,.recurring-form-row,.correction-fields{grid-template-columns:1fr}.summary-card.remaining{grid-column:auto}.correction-entry-card{align-items:stretch;flex-direction:column}.data-actions,.category-list{grid-template-columns:1fr}.page{gap:18px}}@media(max-width:390px){.app-header{flex-direction:column}.navigation-item span{font-size:.63rem}.composer-footer{align-items:stretch;flex-direction:column}.composer-footer .send-button,.composer-footer .text-button{width:100%}.form-actions{width:100%;justify-content:flex-end}}
