body{font-family:Trebuchet MS,Avenir Next,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg-1:#f7f4ec;--bg-2:#fffdf8;--paper:#fffdf8d6;--muted:#6a6258;--text:#1e1a16;--card-shadow:0 18px 45px #3d2b1814;--accent-a:linear-gradient(135deg,#b45309,#0f766e);--accent-b:linear-gradient(135deg,#f59e0b,#dc2626);--accent-c:linear-gradient(135deg,#0f766e,#1d4ed8);--accent-d:linear-gradient(135deg,#dc2626,#f59e0b);--line:#5c48331a;--smooth:cubic-bezier(.16,.84,.44,1)}*{box-sizing:border-box}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(900px 420px at 10% 5%,#f59e0b2e,#0000 55%),radial-gradient(700px 360px at 85% 15%,#0f766e1f,#0000 48%),linear-gradient(180deg,#fbf8f1,#f3ede2),#f7f4ec;background:radial-gradient(900px 420px at 10% 5%,#f59e0b2e,#0000 55%),radial-gradient(700px 360px at 85% 15%,#0f766e1f,#0000 48%),linear-gradient(180deg,#fbf8f1 0,#f3ede2 100%),var(--bg-1);color:#1e1a16;color:var(--text);font-family:Trebuchet MS,Avenir Next,system-ui,sans-serif;margin:0;padding:28px 18px}.container{margin:0 auto;max-width:1200px}.toast-banner{animation:toast-slide-in .24s cubic-bezier(.16,.84,.44,1);animation:toast-slide-in .24s var(--smooth);background:linear-gradient(135deg,#0f766ef5,#1d4ed8eb);border-radius:14px;box-shadow:0 18px 36px #0f172a2e;color:#fff;font-weight:700;padding:12px 16px;position:fixed;right:20px;top:20px;z-index:20}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.header{gap:18px;justify-content:space-between;margin-bottom:22px}.brand,.header{align-items:center;display:flex}.brand{gap:14px}.logo{background:linear-gradient(180deg,#fff7ed,#fff8ebcc);border:1px solid #ffffffb3;border-radius:14px;box-shadow:0 12px 30px #b453091f;display:grid;height:56px;place-items:center;width:56px}.title{font-size:20px;font-weight:800;letter-spacing:.1px;margin:0}.subtitle{color:#6a6258;color:var(--muted);font-size:13px;margin:0}.header-actions{align-items:center;display:flex;gap:12px}.summary{background:linear-gradient(180deg,#f59e0b26,#ffffff73);border:1px solid #b4530914;border-radius:16px;box-shadow:0 12px 36px #b4530914;min-width:120px;padding:12px;text-align:center}.summary-label{color:#6a6258;color:var(--muted);font-size:12px}.summary-value{color:#1f2937;font-size:20px;font-weight:800;margin-top:6px}.btn-secondary{background:#ffffffb3;border:1px solid #5c48331a;border:1px solid var(--line);border-radius:12px;color:#1e1a16;color:var(--text);cursor:pointer;font-weight:700;padding:11px 14px}.btn-secondary:hover{background:#fff}.main-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr}@media(min-width:780px){.main-grid{grid-template-columns:340px 1fr}}.left-col .section-title{font-size:14px;font-weight:700;margin-bottom:10px}.form{grid-gap:10px;align-items:center;background:linear-gradient(180deg,#fffdf8,#fffaf2);border:1px solid #5c48331a;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px #3d2b1814;box-shadow:var(--card-shadow);display:grid;gap:10px;grid-template-columns:1fr 110px;padding:14px}@media(max-width:520px){.form{grid-template-columns:1fr}}.form-cancel-btn{padding:12px 14px}.auth-form{grid-gap:12px;display:grid;gap:12px}.input,.select{background:#0000;border:1px solid #5c48331a;border:1px solid var(--line);border-radius:10px;color:#1e1a16;color:var(--text);font-size:14px;outline:none;padding:12px 14px;width:100%}.input:focus,.select:focus{border-color:#b45309;box-shadow:0 6px 20px #b453091a;transform:translateZ(0)}.btn-primary{align-items:center;background:linear-gradient(135deg,#b45309,#0f766e);background:var(--accent-a);border:none;border-radius:12px;box-shadow:0 10px 30px #b4530933;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;gap:10px;justify-content:center;overflow:hidden;padding:12px 14px;position:relative;transform:translateZ(0);transition:transform .18s cubic-bezier(.16,.84,.44,1),box-shadow .18s cubic-bezier(.16,.84,.44,1);transition:transform .18s var(--smooth),box-shadow .18s var(--smooth)}.btn-primary:hover{box-shadow:0 18px 48px #b453093d;transform:translateY(-4px)}.btn-primary:active{transform:translateY(-1px) scale(.996)}.btn-primary:disabled{cursor:wait;opacity:.75}.btn-primary:after{background:radial-gradient(circle at 30% 30%,#ffffff24,#0000 30%),radial-gradient(circle at 70% 70%,#ffffff0f,#0000 20%);border-radius:50%;content:"";height:140px;opacity:.9;pointer-events:none;position:absolute;right:-40px;top:-50px;transform:rotate(12deg);width:140px}.tips{background:linear-gradient(180deg,#fffdf8,#fff9ef);border-radius:12px;box-shadow:0 10px 30px #3d2b180d;color:#6a6258;color:var(--muted);font-size:14px;margin-top:12px;padding:12px}.list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.section-title{font-weight:700}.count{color:#6a6258;color:var(--muted)}.cards-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr}@media(min-width:700px){.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{align-items:stretch;background:linear-gradient(180deg,#fff,#fff9f0);border:1px solid #5c483314;border-radius:20px;box-shadow:0 18px 36px #3d2b1814;display:flex;gap:14px;padding:16px;transition:transform .18s cubic-bezier(.16,.84,.44,1),box-shadow .18s cubic-bezier(.16,.84,.44,1),border-color .18s cubic-bezier(.16,.84,.44,1);transition:transform .18s var(--smooth),box-shadow .18s var(--smooth),border-color .18s var(--smooth)}.card:hover{border-color:#b453092e;box-shadow:0 24px 46px #3d2b181f;transform:translateY(-5px)}.card-highlighted{animation:card-flash 2.2s ease;border-color:#0f766e59;box-shadow:0 0 0 3px #0f766e1f,0 24px 46px #3d2b1824}@keyframes card-flash{0%{box-shadow:0 0 0 0 #0f766e38,0 24px 46px #3d2b1824;transform:translateY(-4px) scale(1.01)}35%{box-shadow:0 0 0 7px #0f766e1f,0 24px 46px #3d2b1824;transform:translateY(-2px) scale(1.005)}to{box-shadow:0 0 0 0 #0f766e00,0 18px 36px #3d2b1814;transform:translateY(0) scale(1)}}.card-accent{border-radius:999px;flex-shrink:0;width:7px}.card-shell{display:flex;flex:1 1;flex-direction:column;gap:14px;min-width:0}.card-top{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.card-identity{align-items:center;display:flex;gap:14px;min-width:0}.avatar svg,.avatar-icon svg{color:#fff;display:block;height:22px;width:22px}.avatar .avatar-icon{display:inline-flex;height:100%;width:100%}.avatar,.avatar .avatar-icon{align-items:center;justify-content:center}.avatar{border-radius:50%;box-shadow:0 10px 24px #0000001a;display:flex;flex-shrink:0;height:54px;width:54px}.card-center{flex:1 1;min-width:0}.card-title{color:#071033;font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-meta{color:#6a6258;color:var(--muted);font-size:12px;margin-top:8px}.card-date{color:#8a7f72;font-weight:600}.card-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:6px}.amount{color:#111827;font-size:24px;font-weight:900;letter-spacing:-.03em}.card-note{color:#9a3412;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.card-bottom{gap:12px;justify-content:space-between}.card-actions,.card-bottom{align-items:center;display:flex}.card-actions{gap:8px}.btn-link{background:#ef444414;border:1px solid #ef44441f;border-radius:999px;color:#dc2626;cursor:pointer;font-weight:700;padding:8px 12px;transition:background .18s cubic-bezier(.16,.84,.44,1),transform .18s cubic-bezier(.16,.84,.44,1);transition:background .18s var(--smooth),transform .18s var(--smooth)}.btn-link:hover{background:#ef444424;transform:translateY(-1px)}.btn-link-neutral{background:#0f766e14;border-color:#0f766e24;color:#0f766e}.btn-link-neutral:hover{background:#0f766e24}.btn-link-neutral.active{background:#b453091f;border-color:#b453092e;color:#9a3412}.badge{border-radius:999px;box-shadow:0 10px 18px #0f172a14;color:#fff;display:inline-block;font-size:12px;font-weight:700;padding:8px 12px}.badge.food{background:linear-gradient(90deg,#fb923c,#f97316)}.badge.transport{background:linear-gradient(90deg,#06b6d4,#3b82f6)}.badge.health{background:linear-gradient(90deg,#ef4444,#fb7185)}.badge.entertainment{background:linear-gradient(90deg,#7c3aed,#06b6d4)}.badge.other{background:linear-gradient(90deg,#94a3b8,#64748b)}.skeleton-card{animation:pulse 1.3s infinite;background:linear-gradient(90deg,#f3f4f6,#fff);border-radius:12px;height:86px}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.empty,.error-banner{border-radius:12px;padding:18px;text-align:center}.empty{background:#fff;color:#6a6258;color:var(--muted)}.error-banner{background:#dc262614;border:1px solid #dc26261f;color:#991b1b}.footer{color:#94a3b8;margin-top:26px;padding-bottom:24px;text-align:center}.analytics-section{border-top:1px solid #e5e7eb;margin-top:40px;padding-top:20px}.analytics-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr}@media(min-width:1024px){.analytics-grid{grid-template-columns:1fr 1fr}}.chart-container{background:linear-gradient(180deg,#fffdf9,#fff);border:1px solid #5c483314;border-radius:18px;box-shadow:0 10px 30px #3d2b1814;padding:22px}.chart-container.empty{align-items:center;color:#6a6258;color:var(--muted);display:flex;justify-content:center;min-height:300px}.chart-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.chart-header .section-title{margin:0}.chart-subtitle{color:#6a6258;color:var(--muted);font-size:14px;line-height:1.5;margin:8px 0 0}.chart-total-pill{background:#f59e0b1f;border:1px solid #f59e0b2e;border-radius:16px;min-width:124px;padding:12px 14px}.chart-total-label{color:#9a3412;display:block;font-size:12px;margin-bottom:6px}.chart-total-value{color:#7c2d12;font-size:20px}.chart-layout{grid-gap:18px;align-items:center;display:grid;gap:18px;grid-template-columns:minmax(260px,1.1fr) minmax(220px,.9fr)}.chart-visual{min-height:280px;position:relative}.chart-center{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;pointer-events:none;position:absolute}.chart-center-label{color:#6a6258;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.chart-center-value{color:#1f2937;font-size:24px;margin-top:4px}.chart-center-meta{color:#9ca3af;font-size:12px;margin-top:4px}.chart-summary{display:flex;flex-direction:column;gap:10px}.chart-summary-item{align-items:center;background:#fff8ebb3;border:1px solid #5c483314;border-radius:14px;display:flex;gap:14px;justify-content:space-between;padding:12px 14px}.chart-summary-main{align-items:center;display:flex;gap:12px;min-width:0}.chart-summary-dot{border-radius:999px;box-shadow:0 0 0 4px #ffffffe6;flex-shrink:0;height:12px;width:12px}.chart-summary-name{color:#1f2937;font-weight:700}.chart-summary-share{color:#6a6258;color:var(--muted);font-size:12px;margin-top:3px}.chart-summary-value{color:#111827;font-size:15px;white-space:nowrap}.stats-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px}.stats-container.empty{align-items:center;color:#6a6258;color:var(--muted);display:flex;justify-content:center;min-height:200px}.stats-header{align-items:center;display:flex;gap:15px;justify-content:space-between;margin-bottom:20px}.stats-header .section-title{margin:0}.stats-toggle{display:flex;gap:8px}.toggle-btn{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:all .2s}.toggle-btn:hover{background:#f9fafb}.toggle-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.stats-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.stat-item{align-items:center;background:#f9fafb;border-left:4px solid #3b82f6;border-radius:8px;display:flex;justify-content:space-between;padding:14px}.stat-label{display:flex;flex-direction:column;gap:4px}.stat-name{color:#111827;font-size:13px;font-weight:600}.stat-count{color:#6a6258;color:var(--muted);font-size:12px}.stat-amount{color:#111827;font-size:16px;font-weight:800}@media(max-width:780px){.toast-banner{left:16px;right:16px;text-align:center;top:16px}.card-title{font-size:18px}.amount{font-size:20px}.chart-header{flex-direction:column}.chart-total-pill{width:100%}.chart-layout{grid-template-columns:1fr}.stats-header{align-items:flex-start;flex-direction:column}.stats-toggle{justify-content:flex-start;width:100%}.analytics-grid{grid-template-columns:1fr}}.auth-layout{display:grid;min-height:calc(100vh - 220px);place-items:center}.auth-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf8d6;background:var(--paper);border:1px solid #ffffffa6;border-radius:24px;box-shadow:0 18px 45px #3d2b1814;box-shadow:var(--card-shadow);padding:28px;width:min(100%,560px)}.auth-copy{margin-bottom:18px}.eyebrow{background:#f59e0b1f;border-radius:999px;color:#9a3412;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:10px;padding:6px 10px;text-transform:uppercase}.auth-title{font-size:30px;line-height:1.1;margin:0}.auth-text{color:#6a6258;color:var(--muted);line-height:1.6;margin:12px 0 0}.auth-switch{background:#ffffffb8;border:1px solid #5c48331a;border:1px solid var(--line);border-radius:999px;display:inline-flex;gap:8px;margin:8px 0 18px;padding:6px}.toggle-chip{background:#0000;border:none;border-radius:999px;color:#6a6258;color:var(--muted);cursor:pointer;font-weight:700;padding:10px 16px}.toggle-chip.active{background:linear-gradient(135deg,#b45309,#0f766e);background:var(--accent-a);color:#fff}.auth-submit{width:100%}@media(max-width:780px){.header{align-items:flex-start;flex-direction:column}.header-actions{justify-content:space-between;width:100%}}@media(max-width:520px){.card{gap:12px;padding:14px}.card-top{align-items:center}.card-identity{gap:12px}.avatar{height:48px;width:48px}.card-title{font-size:16px}.amount{font-size:18px}.card-actions,.card-bottom{flex-wrap:wrap}.btn-link,.card-actions{width:100%}.btn-link{text-align:center}.auth-panel{padding:22px}.auth-title{font-size:24px}}
/*# sourceMappingURL=main.be468263.css.map*/