@import"https://fonts.googleapis.com/css2?family=Prompt:wght@300;400;500;600;700&display=swap";.custom-datepicker-container{background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);padding:6px 4px;margin-top:4px;margin-bottom:4px;animation:fadeIn .3s ease-in-out;transform-origin:top;box-sizing:border-box;width:100%}.custom-datepicker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2)}.custom-datepicker-nav-btn{padding:var(--spacing-2);border-radius:var(--radius-full);color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast)}.custom-datepicker-nav-btn:hover{background-color:var(--color-background)}.custom-datepicker-title{font-weight:700;color:var(--color-text-primary);font-size:1.125rem;margin:0}.custom-datepicker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:2px}.custom-datepicker-weekday{text-align:center;font-size:.6rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em;padding:2px 0}.custom-datepicker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;width:100%}.custom-datepicker-day{display:flex;justify-content:center;align-items:center;width:100%;max-height:34px;aspect-ratio:1 / 1;border-radius:var(--radius-full);font-size:.75rem;transition:all var(--transition-fast);background:transparent;border:none;cursor:pointer;font-family:inherit;box-sizing:border-box}.custom-datepicker-day:focus{outline:none;box-shadow:0 0 0 2px #f59e0b66}.custom-datepicker-day.selected{background-color:var(--color-secondary);color:#fff;font-weight:700;box-shadow:var(--shadow-md);transform:scale(1.05)}.custom-datepicker-day.current-month{color:var(--color-text-primary);font-weight:500}.custom-datepicker-day.current-month:not(.selected):hover{background-color:#ffedd5}.custom-datepicker-day.other-month{color:var(--color-border)}.custom-datepicker-day.other-month:not(.selected):hover{background-color:var(--color-background)}.custom-datepicker-footer{margin-top:4px;padding-top:4px;border-top:1px solid var(--color-background);display:flex;justify-content:flex-end}.custom-datepicker-cancel-btn{font-size:.875rem;font-weight:600;color:var(--color-text-muted);background:transparent;border:none;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.custom-datepicker-cancel-btn:hover{color:var(--color-text-primary);background-color:var(--color-background)}.category-picker-overlay{position:fixed;inset:0;background-color:#0006;z-index:100;animation:fadeIn .2s ease-out forwards;display:flex;align-items:flex-end}.category-picker-content{background-color:#fff;width:100%;max-height:80vh;border-top-left-radius:20px;border-top-right-radius:20px;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.16,1,.3,1) forwards;box-shadow:0 -4px 15px #0000001a}.category-picker-header{padding:16px 20px 8px;font-size:1.1rem;font-weight:500;color:#555}.category-picker-body{overflow-y:auto;padding-bottom:20px}.category-group-header{padding:12px 20px 4px;font-size:1rem;font-weight:600;color:#111}.category-item{all:unset;display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box;padding:10px 20px 10px 40px;font-size:1rem;color:#111;background-color:transparent;border-bottom:1px solid #e1e4e8;cursor:pointer}.category-item:focus{outline:none;background-color:#0000000d}.category-item:active{background-color:#0000001a}.category-item.selected{background-color:#f7fafc}.radio-circle{width:18px;height:18px;border-radius:50%;border:2px solid #aaa;display:flex;align-items:center;justify-content:center;margin-left:10px}.radio-circle.selected{border-color:#1a73e8}.radio-dot{width:10px;height:10px;border-radius:50%;background-color:#1a73e8;display:none}.radio-circle.selected .radio-dot{display:block}:root{--color-primary: #1e3a8a;--color-primary-light: #3b82f6;--color-primary-dark: #1e40af;--color-secondary: #f59e0b;--color-secondary-light: #fbbf24;--color-success: #10b981;--color-danger: #ef4444;--color-warning: #f59e0b;--color-background: #f8fafc;--color-surface: #ffffff;--color-text-primary: #0f172a;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--color-text-inverse: #ffffff;--color-border: #e2e8f0;--font-family: "Prompt", sans-serif;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-12: 3rem;--spacing-safe-bottom: env(safe-area-inset-bottom, 1rem);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-float: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--transition-fast: .15s ease-in-out;--transition-normal: .3s ease-in-out}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-family);background-color:var(--color-background);color:var(--color-text-primary);-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;touch-action:manipulation}body{line-height:1.5;min-height:100vh;min-height:100dvh;margin:0;display:flex;flex-direction:column;background:radial-gradient(circle at top left,#f8fafc,#e2e8f0)}#root{width:100%;max-width:480px;margin:0 auto;min-height:100dvh;background-color:var(--color-background);position:relative;overflow-x:hidden;box-shadow:0 0 50px #0000001a;display:flex;flex-direction:column;border-left:1px solid rgba(0,0,0,.05);border-right:1px solid rgba(0,0,0,.05)}#root::-webkit-scrollbar{display:none}#root{-ms-overflow-style:none;scrollbar-width:none}@media(min-width:1024px){body{padding:2rem 0}#root{border-radius:40px;height:90vh;max-height:900px;border:12px solid #1e293b}}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.flex-1{flex:1 1 0%}.flex-wrap{flex-wrap:wrap}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-6{padding:var(--spacing-6)}.px-2{padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.py-2{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}.py-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.pt-safe{padding-top:env(safe-area-inset-top,1rem)}.pb-safe{padding-bottom:calc(var(--spacing-safe-bottom) + 120px)}.mb-2{margin-bottom:var(--spacing-2)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.mt-2{margin-top:var(--spacing-2)}.mt-4{margin-top:var(--spacing-4)}.ml-auto{margin-left:auto}.card{background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--spacing-4);border:1px solid var(--color-border);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.card:active{transform:scale(.98)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-lg);font-family:inherit;font-weight:600;font-size:1rem;border:none;cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn:active{transform:scale(.95)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-md)}.btn-primary:hover{background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-secondary);color:var(--color-text-inverse);box-shadow:var(--shadow-md)}.btn-secondary:hover{background-color:var(--color-secondary-light)}.btn-outline{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.btn-outline:hover{background-color:#eff6ff}.btn-ghost{background-color:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background-color:var(--color-background);color:var(--color-text-primary)}.btn-icon{padding:var(--spacing-2);border-radius:var(--radius-full)}.btn-float{position:fixed;bottom:calc(var(--spacing-safe-bottom) + 80px);left:50%;transform:translate(-50%);width:64px;height:64px;border-radius:var(--radius-full);background-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-float);display:flex;align-items:center;justify-content:center;z-index:40;transition:transform var(--transition-fast),background-color var(--transition-fast)}.btn-float:active{transform:translate(-50%) scale(.9);background-color:var(--color-primary-dark)}.input{width:100%;padding:var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:1rem;background-color:var(--color-surface);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1e3a8a1a}.input-huge{width:100%;box-sizing:border-box;font-size:1.6rem;font-weight:700;text-align:center;padding:var(--spacing-3);background:transparent;border:none;border-bottom:2px solid var(--color-border);border-radius:0}.input-huge:focus{box-shadow:none;border-bottom-color:var(--color-primary)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-slide-up{animation:slideUp .3s cubic-bezier(.16,1,.3,1) forwards}.animate-fade-in{animation:fadeIn .3s ease-in-out forwards}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background-color:var(--color-surface);border-top:1px solid var(--color-border);display:flex;justify-content:space-around;padding:var(--spacing-2) 0 calc(var(--spacing-2) + env(safe-area-inset-bottom,0px));z-index:40}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2) var(--spacing-4);color:var(--color-text-muted);text-decoration:none;font-size:.75rem;font-weight:500;transition:color var(--transition-fast)}.nav-item.active{color:var(--color-primary)}.nav-item.active svg{stroke:var(--color-primary)}.overlay{position:fixed;inset:0;background-color:#00000080;z-index:2000;display:flex;flex-direction:column;justify-content:center;max-width:480px;margin:0 auto;padding:20px}.bottom-sheet{background-color:var(--color-background);border-radius:var(--radius-2xl);width:100%;max-height:90vh;box-shadow:var(--shadow-float);padding:var(--spacing-4);overflow:hidden}.bg-expense{background-color:#fee2e2;color:var(--color-danger)}.bg-income{background-color:#d1fae5;color:var(--color-success)}
