@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-app:#09090b;--bg-gradient:radial-gradient(circle at 50% 0%, #1e1b4b 0%, #09090b 70%);--panel-bg:#121218b3;--panel-bg-hover:#191923d9;--panel-border:#ffffff14;--panel-border-focus:#6366f180;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-muted:#71717a;--accent:#6366f1;--accent-hover:#4f46e5;--accent-light:#6366f126;--accent-gradient:linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--green:#10b981;--green-bg:#10b9811a;--green-text:#34d399;--red:#f43f5e;--red-bg:#f43f5e1a;--red-text:#fb7185;--card-shadow:0 8px 32px 0 #00000080;--glow-shadow:0 0 20px #6366f140;--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--transition-fast:.15s ease;--transition-normal:.3s cubic-bezier(.4, 0, .2, 1)}.light-theme{--bg-app:#f4f5f7;--bg-gradient:radial-gradient(circle at 50% 0%, #e0e7ff 0%, #f4f5f7 80%);--panel-bg:#ffffffbf;--panel-bg-hover:#ffffffe6;--panel-border:#00000014;--panel-border-focus:#6366f166;--text-primary:#09090b;--text-secondary:#4b5563;--text-muted:#9ca3af;--accent:#4f46e5;--accent-hover:#4338ca;--accent-light:#4f46e514;--accent-gradient:linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);--green:#059669;--green-bg:#05966914;--green-text:#047857;--red:#e11d48;--red-bg:#e11d4814;--red-text:#b91c1c;--card-shadow:0 8px 32px 0 #1f26870f;--glow-shadow:0 0 20px #4f46e526}*{box-sizing:border-box;margin:0;padding:0}html,body{touch-action:manipulation}body{font-family:var(--font-sans);background:var(--bg-gradient);background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100svh;transition:background var(--transition-normal);justify-content:center;align-items:center;display:flex;overflow-x:hidden}#root{background-color:var(--bg-app);border-left:1px solid var(--panel-border);border-right:1px solid var(--panel-border);width:100%;max-width:480px;height:100svh;box-shadow:var(--card-shadow);transition:background-color var(--transition-normal), border var(--transition-normal);flex-direction:column;display:flex;position:relative;overflow:hidden}@media (width<=480px){#root{border-left:none;border-right:none;border-radius:0}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--panel-border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-header{border-bottom:1px solid var(--panel-border);background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);z-index:10;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.logo-container{align-items:center;gap:8px;display:flex}.logo-text{letter-spacing:-.5px;background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.25rem;font-weight:700}.theme-toggle{color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;display:flex}.theme-toggle:hover{background:var(--panel-border);color:var(--text-primary)}.app-content{flex-direction:column;flex:1;gap:20px;padding:20px 20px 90px;display:flex;overflow-y:auto}.glass-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--panel-border);border-radius:var(--radius-md);transition:border var(--transition-normal), background var(--transition-normal);padding:20px;box-shadow:0 4px 20px #00000026}.glass-panel-interactive{transition:transform var(--transition-fast), background var(--transition-normal), border var(--transition-normal);cursor:pointer}.glass-panel-interactive:hover{background:var(--panel-bg-hover);border-color:var(--panel-border-focus);transform:translateY(-2px)}.glass-panel-interactive:active{transform:translateY(1px)}.btn{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast) cubic-bezier(.4, 0, .2, 1);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:var(--glow-shadow)}.btn-primary:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 0 25px #6366f166}.btn-primary:active{transform:translateY(1px)}.btn-secondary{background:var(--panel-bg);border:1px solid var(--panel-border);color:var(--text-primary)}.btn-secondary:hover{background:var(--panel-bg-hover);border-color:var(--panel-border-focus)}.btn-danger{background:var(--red-bg);color:var(--red-text);border:1px solid #f43f5e33}.btn-danger:hover{background:var(--red);color:#fff}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--panel-border);color:var(--text-primary)}.btn-icon-only{border-radius:50%;padding:10px}.btn-sm{border-radius:var(--radius-sm);padding:8px 12px;font-size:.85rem}.bottom-nav{-webkit-backdrop-filter:blur(20px);border:1px solid var(--panel-border);border-radius:var(--radius-lg);z-index:99;height:64px;transition:border var(--transition-normal), background var(--transition-normal);background:#121218cc;justify-content:space-around;align-items:center;padding:0 8px;display:flex;position:absolute;bottom:16px;left:16px;right:16px;box-shadow:0 10px 30px #0006}.light-theme .bottom-nav{background:#ffffffd9;box-shadow:0 10px 30px #1f26871a}.nav-item{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);width:55px;height:48px;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.7rem;font-weight:500;display:flex}.nav-item:hover{color:var(--text-primary)}.nav-item.active{color:var(--accent);background:var(--accent-light)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0009;justify-content:center;align-items:flex-end;width:100%;height:100%;animation:.2s ease-out fadeIn;display:flex;position:absolute;top:0;left:0}.modal-container{background:var(--bg-app);border-top:1px solid var(--panel-border);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);flex-direction:column;gap:16px;width:100%;max-height:85%;padding:24px 20px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow-y:auto;box-shadow:0 -8px 32px #0000004d}.form-group{flex-direction:column;gap:8px;width:100%;display:flex}.form-label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.input-field,.select-field{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:border var(--transition-fast), background var(--transition-fast);outline:none;padding:12px 16px;font-size:.95rem}.input-field:focus,.select-field:focus{border-color:var(--accent);background:var(--panel-bg-hover)}.members-input-container{flex-direction:column;gap:12px;display:flex}.member-row{align-items:center;gap:10px;display:flex}.member-chip-container{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.member-chip{background:var(--accent-light);color:var(--text-primary);border:1px solid #6366f133;border-radius:50px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:500;display:flex}.member-chip button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;display:flex}.member-chip button:hover{color:var(--red-text)}.badge{border-radius:50px;align-items:center;padding:4px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-green{background:var(--green-bg);color:var(--green-text)}.badge-red{background:var(--red-bg);color:var(--red-text)}.badge-muted{background:var(--panel-border);color:var(--text-secondary)}.category-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.cat-comida{background-color:#ff9f43}.cat-transporte{background-color:#54a0ff}.cat-hospedaje{background-color:#a55eea}.cat-entretenimiento{background-color:#ff7675}.cat-varios{background-color:#10ac84}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.expense-item{border-bottom:1px solid var(--panel-border);transition:background-color var(--transition-fast);justify-content:space-between;align-items:center;padding:14px;display:flex}.expense-item:last-child{border-bottom:none}.expense-item:hover{background-color:var(--panel-bg-hover)}.expense-meta{flex-direction:column;gap:2px;display:flex}.expense-desc{color:var(--text-primary);font-size:.95rem;font-weight:500}.expense-sub{color:var(--text-muted);font-size:.75rem}.expense-amount-info{text-align:right;flex-direction:column;gap:2px;display:flex}.expense-amount{font-size:1rem;font-weight:600}.expense-payer{color:var(--text-secondary);font-size:.75rem}.tabs-container{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-md);margin-bottom:10px;padding:4px;display:flex}.tab-btn{font-family:var(--font-sans);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex:1;padding:10px;font-size:.85rem;font-weight:600}.tab-btn.active{background:var(--accent);color:#fff;box-shadow:0 4px 10px #6366f133}.debt-transfer-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;margin-bottom:12px;padding:16px;display:flex}.debt-transfer-arrow{color:var(--accent);flex-direction:column;align-items:center;font-size:.75rem;font-weight:600;display:flex}.charts-container{flex-direction:column;gap:16px;display:flex}.chart-row{flex-direction:column;gap:6px;display:flex}.chart-label-row{justify-content:space-between;font-size:.85rem;font-weight:500;display:flex}.chart-bar-bg{background:var(--panel-border);border-radius:4px;width:100%;height:8px;overflow:hidden}.chart-bar-fill{border-radius:4px;height:100%;transition:width .5s ease-out}
