:root{--color-primary: #00d4ff;--color-primary-dark: #00a8cc;--color-accent: #a855f7;--color-income: #39ff88;--color-expense: #ff3d71;--color-warn: #ffb020;--color-bg: #0a0e17;--color-surface: #12161f;--color-surface-2: #181d29;--color-border: #232938;--color-text: #eef2f9;--color-text-muted: #8b96ab;--color-text-faint: #5b6478;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--shadow-card: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .35);--glow-primary: 0 0 24px rgba(0, 212, 255, .2)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);background-image:radial-gradient(circle at 15% 0%,rgba(0,212,255,.06),transparent 40%),radial-gradient(circle at 90% 5%,rgba(168,85,247,.05),transparent 35%);background-attachment:fixed;color:var(--color-text)}::selection{background:rgba(0,212,255,.3)}.sidebar{width:260px;background:rgba(18,22,31,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:24px 16px;border-right:1px solid var(--color-border);height:100vh;overflow-y:auto;display:flex;flex-direction:column}.sidebar-brand{font-size:19px;font-weight:800;letter-spacing:-.01em;margin-bottom:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sidebar-user{font-size:12px;color:var(--color-text-muted);margin-bottom:24px}.sidebar-nav{list-style:none}.sidebar-nav li{margin:4px 0}.sidebar-nav button{width:100%;text-align:left;padding:11px 14px;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:600;color:var(--color-text-muted);display:flex;align-items:center;gap:10px}.sidebar-nav button:hover{background:var(--color-surface-2);color:var(--color-text)}.sidebar-nav button.active{background:rgba(0,212,255,.12);color:var(--color-primary);box-shadow:inset 0 0 0 1px #00d4ff40}.sidebar-logout{margin-top:auto;padding:11px 14px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted);font-size:13px;font-weight:600}.main-content{flex:1;overflow-y:auto;padding:32px 40px;max-width:1100px}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.content-header h1{font-size:26px;font-weight:800;letter-spacing:-.01em}.filter-bar{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.filter-chip{padding:7px 14px;border-radius:99px;font-size:12px;font-weight:700;cursor:pointer;background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text-muted)}.filter-chip.active{background:var(--color-primary);color:#001820;border-color:var(--color-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);padding:20px;border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.stat-card h3{font-size:11px;color:var(--color-text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.stat-card .value{font-size:28px;font-weight:800;letter-spacing:-.01em}.hero-banner{background:linear-gradient(155deg,#101a2e 0%,#0d1420 60%,#150f28 100%);border:1px solid rgba(0,212,255,.25);box-shadow:var(--glow-primary),var(--shadow-card);border-radius:var(--radius-lg);padding:28px 32px;margin-bottom:24px}.hero-banner .label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-weight:700;margin-bottom:6px}.hero-banner .value{font-size:44px;font-weight:800;letter-spacing:-.02em;background:linear-gradient(90deg,#ffffff,var(--color-primary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.card{background:var(--color-surface);border:1px solid var(--color-border);padding:24px;border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-bottom:20px}.card h2{font-size:16px;font-weight:700;margin-bottom:16px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;padding:12px;border-bottom:1px solid var(--color-border);font-weight:700;font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.table td{padding:12px;border-bottom:1px solid var(--color-border);font-size:14px}.table tr:hover{background:var(--color-surface-2)}.table .income{color:var(--color-income)}.table .expense{color:var(--color-text)}.progress-track{width:100%;height:8px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:99px;overflow:hidden;margin:6px 0}.progress-fill{height:100%;border-radius:99px;background:var(--color-primary);box-shadow:0 0 10px #00d4ff99;transition:width .3s ease}.progress-fill.over{background:var(--color-expense);box-shadow:0 0 10px #ff3d7199}.progress-fill.warn{background:var(--color-warn);box-shadow:0 0 10px #ffb02080}.button,.btn{padding:10px 18px;background:var(--color-primary);color:#001820;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:700;font-size:13px;box-shadow:0 0 16px #00d4ff4d}.button:hover,.btn:hover{background:var(--color-primary-dark)}.btn-secondary{background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border);box-shadow:none}.btn:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-text);width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #00d4ff26}input[type=date]{color-scheme:dark}.field-label{display:block;font-size:11px;font-weight:700;color:var(--color-text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.empty-state{text-align:center;color:var(--color-text-muted);padding:40px;font-size:13px}.loading{text-align:center;padding:40px;color:var(--color-text-muted)}.error{background:rgba(255,61,113,.08);border:1px solid rgba(255,61,113,.3);color:var(--color-expense);padding:16px;border-radius:var(--radius-sm);margin:0 0 20px}
