.app-container{max-width:1280px;margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:2rem}.main-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;box-shadow:0 4px 30px #0003;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-brand{display:flex;align-items:center;gap:1rem}.brand-logo{font-size:2.2rem;background:#8b5cf61a;padding:.5rem;border-radius:12px;border:1px solid rgba(139,92,246,.2)}.brand-titles h1{font-size:1.7rem;letter-spacing:-.5px}.brand-titles p{font-size:.9rem;color:var(--text-secondary)}.btn-refresh{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--accent-purple),#7c3aed);color:#fff;border:none;padding:.75rem 1.25rem;border-radius:10px;font-family:var(--font-display);font-weight:500;font-size:.95rem;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #8b5cf64d}.btn-refresh:hover{transform:translateY(-1px);box-shadow:0 6px 20px #8b5cf666}.btn-refresh:active{transform:translateY(1px)}.btn-refresh:disabled{opacity:.7;cursor:not-allowed}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-banner{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f43f5e1a;border:1px solid rgba(244,63,94,.2);border-radius:12px;color:var(--accent-red)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.metric-card{display:flex;align-items:center;gap:1.25rem;padding:1.75rem;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000026}.metric-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.metric-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:12px}.metric-info{display:flex;flex-direction:column;gap:.25rem}.metric-label{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);font-weight:550}.metric-value{font-family:var(--font-display);font-size:1.85rem;font-weight:700}.metric-sub{font-size:.8rem;color:var(--text-secondary)}.card-expense:before{background-color:var(--accent-purple)}.card-expense .metric-icon{background-color:var(--accent-purple-glow);color:var(--accent-purple)}.card-income:before{background-color:var(--accent-emerald)}.card-income .metric-icon{background-color:var(--accent-emerald-glow);color:var(--accent-emerald)}.card-balance:before{background-color:var(--accent-cyan)}.card-balance .metric-icon{background-color:var(--accent-cyan-glow);color:var(--accent-cyan)}.metric-value.positive{color:var(--accent-emerald)}.metric-value.negative{color:var(--accent-red)}.dashboard-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:1.5rem}@media (max-width: 1024px){.dashboard-grid{grid-template-columns:1fr}}.transactions-panel,.stats-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;padding:1.75rem;display:flex;flex-direction:column;gap:1.5rem;box-shadow:0 4px 25px #00000026}.panel-header{display:flex;justify-content:space-between;align-items:center}.panel-header h2{font-size:1.35rem;letter-spacing:-.3px}.badge-count{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:.3rem .75rem;border-radius:30px;font-size:.8rem;color:var(--text-secondary)}.filters-container{display:flex;flex-direction:column;gap:1rem}.search-box{position:relative;width:100%}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.search-box input{width:100%;background:#0d0e15;border:1px solid var(--panel-border);border-radius:10px;padding:.75rem 1rem .75rem 2.75rem;color:#fff;font-family:var(--font-body);font-size:.95rem;transition:all .2s ease}.search-box input:focus{outline:none;border-color:var(--accent-purple);box-shadow:0 0 10px #8b5cf626}.select-filters{display:flex;gap:.75rem;flex-wrap:wrap}.select-wrapper{position:relative;flex:1;min-width:140px}.filter-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.select-filters select{width:100%;background:#0d0e15;border:1px solid var(--panel-border);border-radius:10px;padding:.65rem 1rem .65rem 2.2rem;color:#fff;font-family:var(--font-body);font-size:.85rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239ca3af' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem}.select-filters select:focus{outline:none;border-color:var(--accent-purple)}.transactions-list{display:flex;flex-direction:column;gap:.75rem;max-height:480px;overflow-y:auto;padding-right:.25rem}.transaction-item{display:flex;align-items:center;gap:1rem;padding:.9rem 1rem;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:12px;transition:all .2s ease}.transaction-item:hover{background:#ffffff0a;border-color:#ffffff14}.provider-logo-tag{display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;padding:.4rem .65rem;border-radius:8px;text-transform:uppercase}.provider-logo-tag.mercado_pago{background:#06b6d41a;color:var(--accent-cyan);border:1px solid rgba(6,182,212,.2)}.provider-logo-tag.bbva{background:#8b5cf61a;color:var(--accent-purple);border:1px solid rgba(139,92,246,.2)}.tx-details{flex:1;display:flex;flex-direction:column;gap:.25rem}.tx-merchant{font-weight:500;font-size:.95rem;color:#fff}.tx-meta{display:flex;gap:.75rem;font-size:.75rem;color:var(--text-secondary)}.tx-date{display:flex;align-items:center;gap:.25rem}.tx-amount{font-family:var(--font-display);font-size:1.1rem;font-weight:600}.tx-amount.gasto{color:var(--text-primary)}.tx-amount.ingreso{color:var(--accent-emerald)}.panel-status{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 1rem;text-align:center;color:var(--text-secondary)}.merchants-chart-container{display:flex;flex-direction:column;gap:1.25rem}.chart-bar-row{display:flex;flex-direction:column;gap:.5rem}.chart-bar-info{display:flex;justify-content:space-between;font-size:.9rem}.chart-bar-name{color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}.chart-bar-amount{color:var(--text-secondary);font-weight:550}.chart-bar-track{height:8px;background:#ffffff0d;border-radius:4px;overflow:hidden}.chart-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-purple),var(--accent-cyan));border-radius:4px;transition:width .8s cubic-bezier(.4,0,.2,1)}.sync-info-box{display:flex;gap:1rem;background:#10b9810d;border:1px solid rgba(16,185,129,.15);border-radius:12px;padding:1.25rem;margin-top:1rem}.check-icon{color:var(--accent-emerald);flex-shrink:0}.sync-info-box h3{font-size:.95rem;font-family:var(--font-display);margin-bottom:.25rem;color:#fff}.sync-info-box p{font-size:.8rem;color:var(--text-secondary);line-height:1.4}:root{--bg-color: #0b0c10;--panel-bg: #14151f;--panel-border: rgba(255, 255, 255, .08);--text-primary: #f3f4f6;--text-secondary: #9ca3af;--accent-purple: #8b5cf6;--accent-purple-glow: rgba(139, 92, 246, .15);--accent-cyan: #06b6d4;--accent-cyan-glow: rgba(6, 182, 212, .15);--accent-emerald: #10b981;--accent-emerald-glow: rgba(16, 185, 129, .15);--accent-red: #f43f5e;--accent-red-glow: rgba(244, 63, 94, .15);--font-display: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:#27273a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-purple)}
