:root{
  --bg:#080d12;--panel:#101820;--panel-2:#141e27;--border:rgba(255,255,255,.08);
  --text:#f4f7fa;--muted:#8e9ba8;--green:#37d67a;--green-2:#1fae5c;--red:#ff6374;
  --blue:#5ca8ff;--yellow:#f4c95d;--shadow:0 20px 60px rgba(0,0,0,.25);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 85% 5%,rgba(55,214,122,.08),transparent 30%),var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif}
button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{width:250px;border-right:1px solid var(--border);background:rgba(9,14,19,.9);padding:24px 16px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:30}
.brand{display:flex;align-items:center;gap:11px;padding:4px 8px 28px}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--green),#15834a);display:grid;place-items:center;color:#04140b;box-shadow:0 10px 30px rgba(55,214,122,.18)}.brand strong{display:block;font-size:15px}.brand span{font-size:10px;color:var(--muted)}
.nav{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:var(--muted);display:flex;align-items:center;gap:12px;padding:12px;border-radius:11px;text-align:left;width:100%;transition:.2s}.nav-item:hover,.nav-item.active{background:rgba(55,214,122,.09);color:var(--green)}.nav-item svg{width:18px}.sidebar-bottom{margin-top:auto}.tip{display:flex;gap:10px;padding:14px;background:var(--panel);border:1px solid var(--border);border-radius:14px;margin-bottom:10px}.tip svg{color:var(--yellow);width:18px;flex:none}.tip strong{font-size:12px}.tip p{font-size:10px;color:var(--muted);line-height:1.5;margin:5px 0 0}
.main{margin-left:250px;width:calc(100% - 250px);min-width:0}.topbar{height:88px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 38px;position:sticky;top:0;background:rgba(8,13,18,.82);backdrop-filter:blur(16px);z-index:20}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--green);font-weight:700;margin:0 0 5px}.topbar h1,.page-heading h2{margin:0;font-size:24px;letter-spacing:-.04em}.content{padding:30px 38px 50px;max-width:1500px;margin:auto}.section{display:none;animation:fadeUp .35s ease}.active-section{display:block}@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.primary-btn{border:0;background:linear-gradient(135deg,var(--green),var(--green-2));color:#06130b;font-weight:800;border-radius:11px;padding:11px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 24px rgba(55,214,122,.14);transition:.2s}.primary-btn:hover{transform:translateY(-2px);filter:brightness(1.06)}.primary-btn svg{width:17px}.icon-btn{border:1px solid var(--border);background:var(--panel);color:var(--muted);width:38px;height:38px;border-radius:10px;display:grid;place-items:center}.icon-btn:hover{color:var(--text);border-color:rgba(255,255,255,.18)}.mobile-menu{display:none}
.month-toolbar,.page-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.month-toolbar h2{font-size:18px;margin:0 0 5px}.month-toolbar p,.page-heading p{color:var(--muted);font-size:12px;margin:0}.month-toolbar input,select,.search input{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:10px 12px;outline:0}.month-toolbar input:focus,select:focus,input:focus,textarea:focus{border-color:rgba(55,214,122,.55);box-shadow:0 0 0 3px rgba(55,214,122,.06)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.stat-card,.panel{background:linear-gradient(145deg,rgba(20,30,39,.95),rgba(13,20,27,.95));border:1px solid var(--border);border-radius:17px;box-shadow:var(--shadow)}.stat-card{padding:20px;display:flex;gap:14px;align-items:flex-start;min-height:128px;transition:.25s}.stat-card:hover{transform:translateY(-3px);border-color:rgba(55,214,122,.2)}.stat-icon{width:40px;height:40px;border-radius:12px;background:rgba(92,168,255,.1);color:var(--blue);display:grid;place-items:center;flex:none}.stat-icon svg{width:19px}.stat-icon.income{color:var(--green);background:rgba(55,214,122,.1)}.stat-icon.expense{color:var(--red);background:rgba(255,99,116,.1)}.stat-icon.saving{color:var(--yellow);background:rgba(244,201,93,.1)}.stat-card span{display:block;color:var(--muted);font-size:11px;margin-bottom:7px}.stat-card strong{display:block;font-size:21px;letter-spacing:-.03em}.stat-card small{display:block;color:#657482;font-size:10px;margin-top:7px}
.grid-2{display:grid;grid-template-columns:1.35fr .8fr;gap:16px;margin-bottom:16px}.panel{padding:20px;margin-bottom:16px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.panel-head h3{margin:0;font-size:14px}.panel-head p{margin:5px 0 0;color:var(--muted);font-size:10px}.panel-head>svg{color:var(--muted);width:17px}.chart-wrap{height:270px}.donut-wrap{height:225px;max-width:310px;margin:auto}.legend{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:center}.legend span{font-size:10px;color:var(--muted)}
.text-btn{border:0;background:transparent;color:var(--green);font-size:11px;display:flex;align-items:center;gap:5px}.text-btn svg{width:14px}.transaction-list{display:grid;gap:5px}.transaction{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:12px;border-radius:11px;transition:.2s}.transaction:hover{background:rgba(255,255,255,.025)}.tx-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center}.tx-icon.income{background:rgba(55,214,122,.1);color:var(--green)}.tx-icon.expense{background:rgba(255,99,116,.1);color:var(--red)}.tx-icon svg{width:17px}.tx-main strong{display:block;font-size:12px}.tx-main span{display:block;font-size:9px;color:var(--muted);margin-top:4px}.tx-amount{font-size:12px;font-weight:700}.tx-amount.income{color:var(--green)}.tx-amount.expense{color:var(--red)}.delete-btn{border:0;background:transparent;color:#586773;padding:6px}.delete-btn:hover{color:var(--red)}
.filters{display:grid;grid-template-columns:1fr 170px 190px;gap:10px;margin-bottom:15px}.search{display:flex;align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding-left:11px}.search svg{width:16px;color:var(--muted)}.search input{border:0;background:transparent;width:100%;box-shadow:none}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.category-card{padding:18px;border:1px solid var(--border);border-radius:15px;background:var(--panel);display:flex;align-items:center;gap:12px}.category-card .cat-icon{width:42px;height:42px;border-radius:12px;background:rgba(92,168,255,.1);color:var(--blue);display:grid;place-items:center}.category-card strong{font-size:13px}.category-card p{font-size:10px;color:var(--muted);margin:5px 0 0}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(5px);z-index:40;display:none}.overlay.show{display:block}.modal{position:fixed;z-index:50;top:50%;left:50%;transform:translate(-50%,-46%) scale(.97);opacity:0;visibility:hidden;width:min(560px,calc(100% - 30px));max-height:90vh;overflow:auto;background:#101820;border:1px solid var(--border);border-radius:19px;padding:22px;box-shadow:0 30px 100px rgba(0,0,0,.55);transition:.25s}.modal.show{transform:translate(-50%,-50%) scale(1);opacity:1;visibility:visible}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal-head h2{font-size:19px;margin:0}.modal-head p{font-size:11px;color:var(--muted);margin:5px 0}.modal form{display:grid;gap:13px}.modal label{font-size:10px;color:var(--muted);display:grid;gap:7px}.modal input,.modal select,.modal textarea{width:100%;background:#0b1218;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:11px;outline:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px}.type-toggle input{display:none}.type-toggle span{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);border-radius:10px;padding:11px;color:var(--muted);font-size:11px}.type-toggle input:checked+span{border-color:rgba(55,214,122,.45);background:rgba(55,214,122,.08);color:var(--green)}.type-toggle label:nth-child(2) input:checked+span{border-color:rgba(255,99,116,.4);background:rgba(255,99,116,.07);color:var(--red)}.submit-btn{width:100%;margin-top:4px}.toast{position:fixed;right:22px;bottom:22px;z-index:100;background:#16231d;border:1px solid rgba(55,214,122,.25);color:var(--text);padding:12px 16px;border-radius:11px;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow);transform:translateY(25px);opacity:0;pointer-events:none;transition:.3s;font-size:11px}.toast.show{transform:none;opacity:1}.toast svg{width:17px;color:var(--green)}
.empty{padding:35px;text-align:center;color:var(--muted);font-size:11px}.empty svg{width:30px;margin-bottom:8px;color:#4c5a66}

@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.category-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none;box-shadow:20px 0 60px rgba(0,0,0,.5)}.main{margin-left:0;width:100%}.topbar{padding:0 18px}.mobile-menu{display:grid;margin-right:10px}.topbar>div:first-of-type{margin-right:auto}.topbar{gap:8px}.content{padding:22px 18px 40px}.category-grid{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr}.page-heading{align-items:flex-start;gap:15px}.page-heading .primary-btn{white-space:nowrap}}
@media(max-width:560px){.topbar{height:74px}.topbar h1{font-size:19px}.topbar .primary-btn{width:42px;padding:11px}.topbar .primary-btn span{display:none}.cards{grid-template-columns:1fr 1fr;gap:9px}.stat-card{padding:14px;min-height:115px;gap:9px}.stat-icon{width:34px;height:34px}.stat-card strong{font-size:16px}.stat-card small{font-size:8px}.month-toolbar{align-items:flex-start;gap:10px}.month-toolbar input{width:145px}.panel{padding:15px}.transaction{grid-template-columns:auto 1fr auto}.transaction .delete-btn{grid-column:3}.tx-amount{grid-column:3;grid-row:1}.category-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.page-heading{flex-direction:column}.page-heading .primary-btn{width:100%}}
