:root{--bg-dark: #0f172a;--bg-card: rgba(30, 41, 59, .7);--primary: #6366f1;--primary-hover: #4f46e5;--secondary: #ec4899;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;--text-main: #f8fafc;--text-muted: #94a3b8;--glass-border: rgba(255, 255, 255, .1);--glass-blur: blur(12px)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--bg-dark);color:var(--text-main);min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0f172a80}::-webkit-scrollbar-thumb{background:#6366f14d;border-radius:10px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--primary);background-clip:content-box}*{scrollbar-width:thin;scrollbar-color:rgba(99,102,241,.3) rgba(15,23,42,.5)}h1,h2,h3{font-weight:700}button{cursor:pointer;transition:all .2s ease;font-family:inherit}.glass-card{background:var(--bg-card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:1rem;padding:1.5rem;box-shadow:0 8px 32px #0000004d}@supports not (backdrop-filter: blur(12px)){.glass-card{background:#1e293bf2}}.layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:#0f172af2;border-right:1px solid var(--glass-border);padding:2rem 1.5rem;display:flex;flex-direction:column;gap:2rem;height:100vh;position:sticky;top:0}.main-content{padding:2.5rem;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:.5rem;color:var(--text-muted);text-decoration:none;transition:.2s}.nav-item:hover,.nav-item.active{background:var(--bg-card);color:var(--text-main)}.btn-primary{background:var(--primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.grid-dashboard{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-input{background:#0f172a99;border:1px solid var(--glass-border);border-radius:.5rem;padding:.75rem 1rem;color:var(--text-main);font-size:1rem;transition:border-color .2s;width:100%}.form-input:focus{outline:none;border-color:var(--primary)}.form-input::placeholder{color:var(--text-muted)}.modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.modal-content{width:100%;max-width:480px;background:var(--bg-dark)}.badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600}.badge-income{background:#10b98133;color:#10b981}.badge-expense{background:#ef444433;color:#ef4444}.badge-borrowed{background:#f59e0b33;color:#f59e0b}.badge-success{background:#10b98133;color:#10b981}.text-high-alert{color:var(--danger)!important;font-weight:800!important;animation:pulse-warning 2s infinite}.card-highlight-warning{border-color:#ef444480!important;box-shadow:0 0 15px #ef444433!important}@keyframes pulse-warning{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.mobile-only{display:none!important}.desktop-only{display:block}.mobile-header{display:none;position:sticky;top:0;z-index:1100;border-radius:0;border-left:none;border-right:none;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-dark)}@media(max-width:1024px){.layout{grid-template-columns:200px 1fr}}@media(max-width:768px){.layout{display:block}.sidebar{display:none!important}.main-content{padding:1.5rem 1rem 6rem;width:100vw}.mobile-only{display:block}.desktop-only{display:none!important}.mobile-header{display:flex!important}.grid-dashboard{grid-template-columns:1fr}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#1e293b;border-top:1px solid var(--glass-border);display:flex!important;flex-direction:row!important;justify-content:space-around;align-items:center;padding:.5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0));z-index:1200;height:4.5rem}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;color:var(--text-muted);font-size:.65rem;background:none;border:none;flex:1;min-width:0;white-space:nowrap}.bottom-nav-item.active{color:var(--primary)}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table tr{margin-bottom:1rem;border:1px solid var(--glass-border);border-radius:.75rem;padding:1rem;background:#1e293b4d}.responsive-table td{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border:none;text-align:right}.responsive-table td:before{content:attr(data-label);font-weight:600;color:var(--text-muted);text-align:left;margin-right:1rem}.modal-content{margin:0;max-width:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;position:fixed;bottom:0;max-height:85vh;overflow-y:auto;padding-bottom:3rem}.modal-overlay{align-items:flex-end;padding:0}.glass-card p{color:#ffffffb3}.kakebo-container h3,.kakebo-container h4{font-size:1.1rem}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top right,rgba(99,102,241,.15),transparent),radial-gradient(circle at bottom left,rgba(236,72,153,.1),transparent),var(--bg-dark);padding:1.5rem}.auth-card{width:100%;max-width:420px;animation:slideUp .5s ease-out}.auth-title{font-size:2.25rem;background:linear-gradient(135deg,var(--text-main) 0%,var(--primary) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem;text-align:center}.auth-message{padding:1rem;border-radius:.75rem;font-size:.875rem;margin-bottom:1.5rem;animation:fadeIn .3s ease-in-out}.auth-message.error{background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.2)}.auth-message.success{background:#10b9811a;color:#34d399;border:1px solid rgba(16,185,129,.2)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
