:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--surface:#fcfcfb;--page:#f9f9f7;--text-primary:#0b0b0b;--text-secondary:#52514e;--muted:#898781;--gridline:#e1e0d9;--border:#0b0b0b1a;--accent:#2a78d6;--danger:#e34948;color:var(--text-primary);background:var(--page);-webkit-font-smoothing:antialiased;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--surface:#1a1a19;--page:#0d0d0d;--text-primary:#fff;--text-secondary:#c3c2b7;--muted:#898781;--gridline:#2c2c2a;--border:#ffffff1a;--accent:#3987e5;--danger:#e66767}}*{box-sizing:border-box}body{margin:0}h1,h2{color:var(--text-primary);margin:0 0 12px;font-weight:600}h1{font-size:20px}h2{font-size:16px}button{font:inherit}.app-shell{flex-direction:column;max-width:640px;min-height:100svh;margin:0 auto;display:flex}.app-header{padding:max(12px, env(safe-area-inset-top)) 16px 8px;text-align:center}.app-main{padding:8px 12px calc(84px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:12px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.form{flex-direction:column;gap:10px;display:flex}.form label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:13px;display:flex}.form input,.form select{border:1px solid var(--border);background:var(--page);color:var(--text-primary);border-radius:8px;padding:10px 12px;font-size:16px}.form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;margin-top:4px;padding:12px;font-weight:600}.form-inline{border-bottom:1px solid var(--gridline);margin-bottom:12px;padding-bottom:16px}.saved-hint{color:var(--accent);text-align:center;font-size:13px}.list-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.list-header h2{margin:0}.list-header select{border:1px solid var(--border);background:var(--page);color:var(--text-primary);border-radius:8px;padding:6px 8px;font-size:14px}.empty-hint{color:var(--muted);text-align:center;padding:12px 0;font-size:14px}.expense-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.expense-row{border-bottom:1px solid var(--gridline);justify-content:space-between;align-items:center;gap:8px;padding:10px 0;display:flex}.expense-row:last-child{border-bottom:none}.expense-main{flex-direction:column;gap:2px;min-width:0;display:flex}.expense-category{font-size:14px;font-weight:600}.expense-note{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.expense-meta{flex-shrink:0;align-items:center;gap:10px;display:flex}.expense-date{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.expense-amount{font-variant-numeric:tabular-nums;font-weight:600}.icon-button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px;line-height:1}.icon-button:hover{color:var(--danger)}.toggle{color:var(--text-secondary);align-items:center;gap:4px;font-size:12px;display:flex}.stats{flex-direction:column;gap:12px;display:flex}.stat-total{color:var(--text-secondary);margin-bottom:12px;font-size:14px}.bar-chart{flex-direction:column;gap:10px;display:flex}.bar-row{grid-template-columns:84px 1fr 72px;align-items:center;gap:8px;display:grid}.bar-label{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.bar-track{background:var(--gridline);border-radius:4px;height:14px;overflow:hidden}.bar-fill{border-radius:4px;min-width:2px;height:100%}.bar-value{font-variant-numeric:tabular-nums;text-align:right;color:var(--text-primary);font-size:13px}.export-buttons{flex-direction:column;gap:8px;margin-top:12px;display:flex}.export-buttons button{border:1px solid var(--border);background:var(--page);color:var(--text-primary);cursor:pointer;border-radius:10px;padding:12px;font-weight:600}.tab-bar{background:var(--surface);border-top:1px solid var(--border);padding:6px max(6px, env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom));max-width:640px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:8px 4px;font-size:12px}.tab-button.active{color:var(--accent);background:var(--page);font-weight:600}
