@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--bg-base:0 0% 0%;--bg-card:240 6% 4%;--bg-card-hover:240 5% 7%;--bg-elevated:240 4% 9%;--bg-subtle:240 4% 12%;--border-card:240 4% 16%;--border-card-subtle:240 4% 12%;--border-card-hover:240 5% 24%;--border-white-subtle:#ffffff14;--primary:0 0% 100%;--primary-fg:0 0% 0%;--primary-hover:0 0% 90%;--primary-glow:transparent;--secondary:240 5% 65%;--secondary-glow:transparent;--success:152 57% 53%;--success-bg:#10b9811a;--success-border:#10b98133;--success-glow:transparent;--danger:350 89% 60%;--danger-bg:#f43f5e1a;--danger-border:#f43f5e33;--warning:38 92% 50%;--warning-bg:#eab3081a;--warning-border:#eab30833;--text-primary:0 0% 98%;--text-secondary:240 5% 65%;--text-muted:240 4% 46%;--text-dim:240 4% 32%;--font-display:"Outfit", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}.light-theme{--bg-base:240 10% 98%;--bg-card:0 0% 100%;--bg-card-hover:240 5% 96%;--bg-elevated:240 5% 93%;--bg-subtle:240 5% 90%;--border-card:240 6% 90%;--border-card-subtle:240 5% 92%;--border-card-hover:240 6% 80%;--border-white-subtle:#00000014;--primary:0 0% 0%;--primary-fg:0 0% 100%;--primary-hover:240 5% 15%;--secondary:240 4% 40%;--secondary-glow:transparent;--success:152 70% 36%;--success-bg:#10b9811a;--success-border:#10b98140;--danger:350 80% 45%;--danger-bg:#f43f5e1a;--danger-border:#f43f5e40;--warning:38 92% 40%;--warning-bg:#eab3081a;--warning-border:#eab30840;--text-primary:240 10% 4%;--text-secondary:240 4% 40%;--text-muted:240 4% 60%;--text-dim:240 4% 75%}*{box-sizing:border-box;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}html,body{background-color:hsl(var(--bg-base));color:hsl(var(--text-primary));letter-spacing:-.011em;min-height:100vh;margin:0;padding:0}.font-mono,.tabular-nums,.tx-amount,.balance-value,.metric-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:hsl(var(--border-card));border-radius:4px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--text-muted))}.app-container{background-color:hsl(var(--bg-base));grid-template-columns:250px 1fr;align-items:start;min-height:100vh;display:grid}.mobile-header{background-color:hsl(var(--bg-card));border-bottom:1px solid hsl(var(--border-card));z-index:900;justify-content:space-between;align-items:center;height:56px;padding:0 1rem;position:fixed;top:0;left:0;right:0;display:none!important}.sidebar{background-color:hsl(var(--bg-base));border-right:1px solid hsl(var(--border-card));z-index:50;flex-direction:column;flex-shrink:0;gap:1.5rem;height:100vh;max-height:100vh;padding:1.5rem 1rem;display:flex;position:sticky;top:0;overflow-y:auto}@media (width<=1024px){.app-container{grid-template-columns:1fr;padding-top:56px}.mobile-header{display:flex!important}.sidebar{z-index:1000;width:270px;height:100vh;transition:left .25s cubic-bezier(.16,1,.3,1);position:fixed;top:0;background-color:hsl(var(--bg-card))!important;border-right:1px solid hsl(var(--border-card))!important;left:-270px!important;box-shadow:10px 0 30px #000c!important}.sidebar.open{left:0!important}}.logo-section{font-family:var(--font-display);color:hsl(var(--text-primary));letter-spacing:-.02em;align-items:center;gap:.6rem;font-size:1.2rem;font-weight:700;display:flex}.nav-links{flex-direction:column;gap:.25rem;display:flex}.nav-btn{color:hsl(var(--text-secondary));cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.65rem;padding:.6rem .85rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.nav-btn:hover{background-color:hsl(var(--bg-elevated));color:hsl(var(--text-primary))}.nav-btn.active{background-color:hsl(var(--bg-elevated));color:hsl(var(--text-primary));border-color:hsl(var(--border-card));font-weight:600}.main-content{background-color:hsl(var(--bg-base));flex-direction:column;gap:1.5rem;width:100%;min-width:0;max-width:1440px;margin:0 auto;padding:1.75rem 2rem;display:flex}.glass-card{background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border-card));border-radius:10px;padding:1.25rem 1.5rem;transition:border-color .15s,background-color .15s;box-shadow:0 1px 3px #0006}.glass-card:hover{border-color:hsl(var(--border-card-hover))}.btn{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:.45rem;padding:.5rem .9rem;font-size:.85rem;font-weight:500;line-height:1.2;transition:all .15s;display:inline-flex}.btn-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-fg));border-color:hsl(var(--primary));font-weight:600}.btn-primary:hover{background-color:hsl(var(--primary-hover));border-color:hsl(var(--primary-hover))}.btn-secondary{background-color:hsl(var(--bg-elevated));color:hsl(var(--text-primary));border:1px solid hsl(var(--border-card))}.btn-secondary:hover{background-color:hsl(var(--border-card));border-color:hsl(var(--border-card-hover));color:hsl(var(--text-primary))}.btn-danger{background-color:var(--danger-bg);color:hsl(var(--danger));border:1px solid var(--danger-border)}.btn-danger:hover{background-color:#f43f5e33}.balance-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.balance-title{text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--text-muted));font-size:.75rem;font-weight:600}.balance-value{color:hsl(var(--text-primary));letter-spacing:-.03em;margin:.4rem 0;font-size:1.85rem;font-weight:700}.tx-table-container{border:1px solid hsl(var(--border-card));background-color:hsl(var(--bg-card));border-radius:8px;margin-top:.75rem;overflow-x:auto}.tx-table{border-collapse:collapse;text-align:left;width:100%}.tx-table th{border-bottom:1px solid hsl(var(--border-card));background-color:hsl(var(--bg-elevated));color:hsl(var(--text-muted));text-transform:uppercase;letter-spacing:.05em;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.tx-table td{border-bottom:1px solid hsl(var(--border-card-subtle));color:hsl(var(--text-primary));padding:.75rem 1rem;font-size:.875rem}.tx-table tr:last-child td{border-bottom:none}.tx-table tr:hover td{background-color:hsl(var(--bg-card-hover))}.tx-amount{font-size:.9rem;font-weight:600}.tx-amount.income{color:hsl(var(--success))}.tx-amount.expense{color:hsl(var(--danger))}.badge{border:1px solid hsl(var(--border-card));background-color:hsl(var(--bg-elevated));color:hsl(var(--text-secondary));border-radius:4px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.75rem;font-weight:500;line-height:1.2;display:inline-flex}.badge-bank{background-color:hsl(var(--bg-elevated));color:hsl(var(--text-primary));border-color:hsl(var(--border-card))}.badge-crypto{color:#22d3ee;background-color:#06b6d414;border-color:#06b6d433}.badge-category{background-color:hsl(var(--bg-elevated));color:hsl(var(--text-secondary));border-color:hsl(var(--border-card))}.form-group{margin-bottom:1rem}.form-label{color:hsl(var(--text-secondary));margin-bottom:.35rem;font-size:.8rem;font-weight:500;display:block}.form-input{background-color:hsl(var(--bg-base));border:1px solid hsl(var(--border-card));width:100%;color:hsl(var(--text-primary));border-radius:6px;outline:none;padding:.55rem .75rem;font-size:.875rem;transition:border-color .15s}.form-input:focus{border-color:hsl(var(--text-muted))}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.dropzone{border:1px dashed hsl(var(--border-card-hover));text-align:center;cursor:pointer;background-color:hsl(var(--bg-card));border-radius:8px;padding:2rem;transition:all .15s}.dropzone:hover,.dropzone.active{border-color:hsl(var(--text-secondary));background-color:hsl(var(--bg-elevated))}select.form-input option,select option,select.form-input optgroup,select optgroup{background-color:hsl(var(--bg-card))!important;color:hsl(var(--text-primary))!important}select.form-input optgroup,select optgroup{font-weight:600;color:hsl(var(--text-muted))!important}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{pointer-events:auto;background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border-card));min-width:280px;max-width:420px;color:hsl(var(--text-primary));border-radius:8px;align-items:center;gap:.65rem;padding:.85rem 1.1rem;font-size:.875rem;transition:all .25s;animation:.2s cubic-bezier(.16,1,.3,1) forwards toast-in;display:flex;box-shadow:0 10px 25px -5px #000000b3}.toast.success{border-left:3px solid hsl(var(--success))}.toast.error{border-left:3px solid hsl(var(--danger))}.toast.info{border-left:3px solid hsl(var(--text-muted))}.toast.toast-exit{animation:.2s cubic-bezier(.16,1,.3,1) forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-.5rem)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1100;background-color:#000000bf;justify-content:center;align-items:center;padding:1rem;animation:.15s forwards fade-in;display:flex;position:fixed;inset:0}.confirm-modal{background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border-card));border-radius:12px;width:90%;max-width:460px;padding:1.5rem;animation:.15s cubic-bezier(.16,1,.3,1) forwards scale-in;box-shadow:0 20px 30px -10px #000c}.modal-body{-webkit-overflow-scrolling:touch;background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border-card));border-radius:12px;width:100%;max-width:500px;max-height:calc(100dvh - 2rem);overflow-y:auto;box-shadow:0 20px 30px -10px #000c}.sidebar-overlay{z-index:990;background-color:#0009;animation:.15s forwards fade-in;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.grid-2{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.grid-2-1{grid-template-columns:2fr 1fr;gap:1.25rem;display:grid}.grid-15-1{grid-template-columns:1.5fr 1fr;gap:1.5rem;display:grid}.grid-form-2{grid-template-columns:2fr 1fr;gap:.75rem;display:grid}.recurring-form{grid-template-columns:2fr 1fr 1.2fr 1.2fr auto;align-items:flex-end;gap:.5rem;margin-bottom:1rem;display:grid}.icon-btn{cursor:pointer;min-width:36px;min-height:36px;color:hsl(var(--text-secondary));background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;margin:0;padding:0;transition:all .15s;display:inline-flex}.icon-btn:hover{background-color:hsl(var(--bg-elevated));color:hsl(var(--text-primary))}.show-on-mobile{display:none!important}@media (width<=1024px){.mobile-close-btn{display:flex!important}}@media (width<=768px){.grid-2,.grid-3,.grid-2-1,.grid-15-1{grid-template-columns:1fr!important;gap:1rem!important}.main-content{gap:1rem!important;padding:1rem!important}.glass-card{padding:1rem!important}.hide-on-mobile{display:none!important}.show-on-mobile{display:block!important}.balance-value{font-size:1.6rem!important}.recurring-form{grid-template-columns:1fr!important;align-items:stretch!important}.tx-table thead{display:none!important}.tx-table,.tx-table tbody,.tx-table tr,.tx-table td{width:100%!important;display:block!important}.tx-table tr{border-bottom:1px solid hsl(var(--border-card))!important;background-color:hsl(var(--bg-card))!important;grid-template-columns:1fr 1fr!important;gap:.4rem .75rem!important;padding:.85rem!important;display:grid!important}.tx-table td{text-align:left!important;border:none!important;padding:.15rem 0!important;font-size:.85rem!important}.tx-table td:before{content:attr(data-label)!important;color:hsl(var(--text-muted))!important;text-transform:uppercase!important;margin-bottom:.1rem!important;font-size:.7rem!important;font-weight:600!important;display:block!important}.tx-table td[data-label=Concepto],.tx-table td[data-label=Gasto],.tx-table td[data-label=Acciones]{grid-column:span 2!important}.tx-table td[style*="text-align: right"],.tx-table td[style*=text-align\:right]{text-align:left!important}}@media (width<=480px){.grid-form-2{grid-template-columns:1fr!important}.hide-on-xs{display:none!important}.modal-overlay{align-items:flex-end;padding:0}.modal-body{border-radius:16px 16px 0 0;max-width:100%;max-height:85dvh}.balance-value{font-size:1.4rem!important}}
