:root{--font-heading: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--bg-primary: #090d16;--bg-secondary: #0f172a;--bg-tertiary: #1e293b;--bg-card: rgba(15, 23, 42, .75);--bg-card-hover: rgba(30, 41, 59, .85);--border-color: rgba(255, 255, 255, .08);--border-focus: #10b981;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-emerald: #10b981;--accent-emerald-glow: rgba(16, 185, 129, .25);--accent-cyan: #06b6d4;--accent-indigo: #6366f1;--accent-rose: #f43f5e;--accent-amber: #f59e0b;--accent-violet: #8b5cf6;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(16, 185, 129, .15);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s cubic-bezier(.16, 1, .3, 1)}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-card: rgba(255, 255, 255, .85);--bg-card-hover: #ffffff;--border-color: rgba(0, 0, 0, .08);--border-focus: #059669;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--accent-emerald: #059669;--accent-emerald-glow: rgba(5, 150, 105, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, .08);--shadow-glow: 0 0 20px rgba(5, 150, 105, .12)}*{margin:0;padding:0;box-sizing:border-box}button{background:transparent;border:none;color:inherit;font-family:inherit;cursor:pointer}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 10% 10%,rgba(16,185,129,.05) 0px,transparent 50%),radial-gradient(at 90% 90%,rgba(99,102,241,.04) 0px,transparent 50%);background-attachment:fixed}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.glass-panel{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all var(--transition-normal)}.glass-panel:hover{border-color:#ffffff26}.app-container{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:1.5rem 1rem;position:sticky;top:0;height:100vh;z-index:40}.main-content{flex:1;padding:2rem 2.5rem;max-width:1400px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:2rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:.95rem;transition:all var(--transition-fast);cursor:pointer;border:1px solid transparent;width:100%;text-align:left}.nav-item:hover{color:var(--text-primary);background:var(--bg-tertiary)}.nav-item.active{color:var(--accent-emerald);background:#10b9811f;border-color:#10b98133;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.25rem;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all var(--transition-fast);text-decoration:none}.btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 14px #10b98159}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #10b98173}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:#ffffff14;border-color:#fff3}.btn-danger{background:#f43f5e26;color:var(--accent-rose);border:1px solid rgba(244,63,94,.3)}.btn-danger:hover{background:var(--accent-rose);color:#fff}.btn-sm{padding:.4rem .75rem;font-size:.8rem;border-radius:var(--radius-sm)}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.form-label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:.95rem;transition:all var(--transition-fast);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-emerald);box-shadow:0 0 0 3px #10b98133}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;animation:fadeIn .2s ease}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:520px;box-shadow:var(--shadow-lg);padding:2rem;position:relative;max-height:90vh;overflow-y:auto}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-income{background:#10b98126;color:var(--accent-emerald)}.badge-expense{background:#f43f5e26;color:var(--accent-rose)}.badge-transfer{background:#6366f126;color:var(--accent-indigo)}.badge-pending{background:#f59e0b26;color:var(--accent-amber)}.badge-partial{background:#06b6d426;color:var(--accent-cyan)}.badge-settled{background:#10b98126;color:var(--accent-emerald)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}.stat-card{padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;position:relative;overflow:hidden}.stat-card-title{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;justify-content:space-between}.stat-card-value{font-size:1.85rem;font-weight:800;font-family:var(--font-heading);letter-spacing:-.03em}@keyframes fadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(max-width:900px){.app-container{flex-direction:column}.sidebar{width:100%;height:auto;position:relative;border-right:none;border-bottom:1px solid var(--border-color)}.main-content{padding:1.25rem}}
