@import url("https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800;900&display=swap");

:root{
  --bg:#050b0d;--bg2:#07110f;--panel:#0c1719;--panel2:#101d1f;--line:rgba(167,255,214,.12);
  --text:#f0f7f4;--muted:#8ea5a0;--green:#42ef9b;--green2:#16b86b;--danger:#ff6b6b;
  --blue:#56a7ff;--amber:#f4bd54;--violet:#ad82ff;--coral:#ff7d72;--cyan:#55d6d0;
  --shadow:0 22px 70px rgba(0,0,0,.32);--radius:22px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:
radial-gradient(circle at 80% -10%,rgba(29,180,109,.13),transparent 32%),
radial-gradient(circle at 5% 75%,rgba(22,90,78,.12),transparent 30%),var(--bg);
color:var(--text);font-family:Vazirmatn,Tahoma,Arial,sans-serif;line-height:1.65}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}
.app-shell{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;padding:22px 16px;background:linear-gradient(180deg,#071316 0%,#051012 60%,#06100f 100%);border-left:1px solid var(--line);display:flex;flex-direction:column;z-index:20}
.brand{display:flex;align-items:center;gap:12px;padding:8px 10px 22px}.brand-mark,.login-logo{color:var(--green);filter:drop-shadow(0 0 16px rgba(66,239,155,.55));font-size:28px}.brand strong{display:block;font-size:1.35rem}.brand small{display:block;color:var(--muted);font-size:.7rem}
.nav-list{display:flex;flex-direction:column;gap:7px}.nav-list a{display:flex;align-items:center;gap:12px;padding:12px 14px;color:#b8c8c4;border:1px solid transparent;border-radius:14px;transition:.2s}.nav-list a span{font-size:1.2rem;width:22px;text-align:center}.nav-list a:hover{color:#fff;background:rgba(255,255,255,.035)}.nav-list a.active{color:#fff;background:linear-gradient(90deg,rgba(36,219,132,.18),rgba(21,101,77,.08));border-color:rgba(66,239,155,.28);box-shadow:inset 0 0 25px rgba(66,239,155,.035)}
.sidebar-spacer{flex:1}.side-quote{margin:20px 4px;padding:22px;border:1px solid rgba(66,239,155,.15);background:linear-gradient(145deg,rgba(28,97,73,.24),rgba(4,19,18,.35));border-radius:20px;text-align:center}.side-quote span,.side-quote strong{display:block}.side-quote .leaf{font-size:34px;color:var(--green);margin-bottom:8px}.side-quote span:last-child{color:var(--green)}
.logout-form button{width:100%;border:0;background:transparent;color:#738883;padding:10px}.logout-form button:hover{color:#fff}
.main{min-width:0}.topbar{height:76px;display:flex;justify-content:space-between;align-items:center;padding:0 34px;border-bottom:1px solid rgba(255,255,255,.055);background:rgba(5,12,14,.65);backdrop-filter:blur(18px);position:sticky;top:0;z-index:15}.top-kicker{color:var(--muted);font-size:.8rem}.mobile-brand{display:none}.profile-pill{display:flex;align-items:center;gap:9px;color:#c9d7d3;font-size:.85rem}.status-dot{width:8px;height:8px;background:var(--green);border-radius:50%;box-shadow:0 0 14px rgba(66,239,155,.7)}
.content{max-width:1440px;margin:0 auto;padding:28px 32px 70px}.message-stack{display:grid;gap:8px;margin-bottom:18px}.message{padding:12px 15px;border:1px solid var(--line);border-radius:14px;background:#0c1719}.message.success{border-color:rgba(66,239,155,.35);color:#a8ffd0}.message.error{border-color:rgba(255,107,107,.35);color:#ffc2c2}
.hero-card{position:relative;min-height:190px;border:1px solid rgba(66,239,155,.38);border-radius:28px;overflow:hidden;background:
radial-gradient(circle at 35% 25%,rgba(82,255,170,.17),transparent 26%),
linear-gradient(105deg,#073225 0%,#0b4630 38%,#061d1b 100%);box-shadow:0 0 0 1px rgba(66,239,155,.05),0 20px 80px rgba(0,80,48,.18);padding:34px 38px;display:flex;align-items:center}
.hero-art{position:absolute;inset:0;opacity:.8;overflow:hidden}.moon{position:absolute;width:58px;height:58px;left:37%;top:34px;border-radius:50%;background:#9bf6a9;box-shadow:0 0 34px rgba(141,255,168,.5)}.ridge{position:absolute;left:-10%;right:-10%;bottom:-45px;height:150px;background:#06241d;clip-path:polygon(0 60%,12% 40%,22% 58%,33% 24%,44% 59%,55% 38%,64% 56%,75% 28%,85% 53%,100% 35%,100% 100%,0 100%)}.ridge-two{bottom:-66px;background:#041815;opacity:.95;transform:scaleX(1.12)}
.hero-copy{position:relative;z-index:2;margin-right:auto;text-align:right;min-width:52%}.eyebrow{color:#72e9aa;font-size:.75rem;font-weight:700;letter-spacing:.02em}.hero-copy .eyebrow{font-size:1rem}.hero-balance{display:flex;align-items:baseline;gap:10px;margin-top:6px}.hero-balance .money{font-size:2.45rem;font-weight:900;letter-spacing:-.035em}.hero-balance small{color:#d3e5df}.hero-note{margin-top:12px;color:#a8c2b8;font-size:.82rem}.wallet-icon{position:relative;z-index:3;width:76px;height:76px;margin-right:30px;border-radius:22px;border:1px solid rgba(148,255,201,.22);background:rgba(3,28,20,.52);display:grid;place-items:center;font-size:34px;color:#a7ffd0;box-shadow:inset 0 0 35px rgba(66,239,155,.09)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}.kpi-card{min-height:118px;padding:20px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(17,29,32,.95),rgba(7,16,18,.95));border-radius:20px;display:flex;align-items:center;gap:16px}.kpi-card .kpi-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:20px}.kpi-card span{display:block;color:#c1cfcc;font-size:.8rem}.kpi-card strong{display:inline-block;font-size:1.35rem;margin-top:4px}.kpi-card small{color:var(--muted);margin-right:5px}.kpi-card.coral .kpi-icon{color:var(--coral);background:rgba(255,125,114,.1)}.kpi-card.amber .kpi-icon{color:var(--amber);background:rgba(244,189,84,.1)}.kpi-card.blue .kpi-icon{color:var(--blue);background:rgba(86,167,255,.1)}.kpi-card.violet .kpi-icon{color:var(--violet);background:rgba(173,130,255,.1)}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dashboard-grid.lower{margin-top:16px}.panel{border:1px solid rgba(255,255,255,.085);background:linear-gradient(150deg,rgba(15,28,30,.92),rgba(7,16,18,.93));box-shadow:var(--shadow);border-radius:var(--radius);padding:22px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel h2,.page-head h1{margin:2px 0 0}.panel h2{font-size:1.15rem}.pill{border:1px solid var(--line);background:rgba(66,239,155,.05);color:#9bd7b9;border-radius:999px;padding:5px 10px;font-size:.72rem}.text-link{color:#7beeb0;font-size:.76rem}.muted,.page-head p{color:var(--muted)}
.expense-form,.stack-form{display:grid;gap:14px}.expense-form label,.stack-form label,.filters label{display:grid;gap:6px;color:#aebfbb;font-size:.78rem}.expense-form input,.expense-form select,.stack-form input,.stack-form select,.filters input,.filters select,.inline-action-form input{width:100%;border:1px solid rgba(255,255,255,.1);background:#071113;color:#edf7f3;border-radius:13px;padding:12px 13px;outline:none;transition:.18s}.expense-form input:focus,.expense-form select:focus,.stack-form input:focus,.stack-form select:focus,.filters input:focus,.filters select:focus,.inline-action-form input:focus{border-color:rgba(66,239,155,.6);box-shadow:0 0 0 3px rgba(66,239,155,.07)}.amount-wrap label{margin-bottom:5px}.amount-input{display:flex;align-items:center;border:1px solid rgba(66,239,155,.24);background:linear-gradient(90deg,rgba(35,120,84,.12),rgba(3,13,13,.3));border-radius:16px;padding:4px 12px}.amount-input input{border:0;background:transparent;font-size:1.7rem;font-weight:850;padding:8px 4px;min-width:0}.amount-input input:focus{box-shadow:none}.amount-input span{white-space:nowrap;color:#8db1a5;font-size:.8rem}.form-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:12px}.ltr-input{direction:ltr;text-align:left}
.category-pills{display:flex;flex-wrap:wrap;gap:7px}.category-choice{display:inline-flex!important;cursor:pointer}.category-choice input{position:absolute;opacity:0;pointer-events:none}.category-choice span{padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.03);color:#b7c7c3;transition:.18s}.category-choice input:checked+span{border-color:currentColor;box-shadow:0 0 18px rgba(66,239,155,.08);color:#fff}.category-choice.accent-green input:checked+span{background:rgba(66,239,155,.13);border-color:rgba(66,239,155,.42)}.category-choice.accent-blue input:checked+span{background:rgba(86,167,255,.13);border-color:rgba(86,167,255,.42)}.category-choice.accent-violet input:checked+span{background:rgba(173,130,255,.13);border-color:rgba(173,130,255,.42)}.category-choice.accent-amber input:checked+span{background:rgba(244,189,84,.13);border-color:rgba(244,189,84,.42)}.category-choice.accent-coral input:checked+span{background:rgba(255,125,114,.13);border-color:rgba(255,125,114,.42)}.category-choice.accent-cyan input:checked+span{background:rgba(85,214,208,.13);border-color:rgba(85,214,208,.42)}
.primary-btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:13px;padding:12px 16px;font-weight:800;border:1px solid transparent}.primary-btn{background:linear-gradient(105deg,#1bd77d,#38f39a);color:#03110a;box-shadow:0 8px 28px rgba(27,215,125,.16)}.primary-btn:hover{filter:brightness(1.07)}.secondary-btn{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.1);color:#dce9e5}.compact{padding:8px 12px;font-size:.78rem}
.bar-chart{height:175px;display:grid;grid-template-columns:repeat(7,1fr);gap:9px;align-items:end;margin:10px 4px 16px}.bar-col{display:grid;grid-template-rows:1fr auto;gap:7px;height:100%;text-align:center}.bar-track{position:relative;height:100%;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:end;justify-content:center}.bar-track span{display:block;width:50%;min-height:3px;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,#50f2a3,#0d8d58);box-shadow:0 0 20px rgba(66,239,155,.12)}.bar-col small{font-size:.65rem;color:#839993}.category-breakdown{display:grid;gap:9px}.breakdown-row{display:flex;justify-content:space-between;gap:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.055)}.breakdown-label{display:flex;align-items:center;gap:8px}.breakdown-label small{color:var(--muted)}.breakdown-value{font-weight:750}
.transaction-list{display:grid}.transaction{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid rgba(255,255,255,.06)}.transaction:last-child{border-bottom:0}.transaction-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-weight:900}.transaction-main strong,.transaction-main small,.transaction-money strong,.transaction-money small{display:block}.transaction-main small,.transaction-money small{color:var(--muted);font-size:.7rem}.transaction-money{text-align:left}.transaction-money strong{color:#ff9a92}.icon-btn{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);color:#b8c8c4;display:grid;place-items:center;padding:0}.icon-btn:hover{color:#fff;border-color:rgba(255,255,255,.18)}.icon-btn.danger{color:#ff8b8b}.row-actions{display:flex;gap:5px}.row-actions form{margin:0}
.claim-list{display:grid}.claim-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.06)}.claim-row:last-child{border:0}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(66,239,155,.09);border:1px solid rgba(66,239,155,.15);color:#79e9ae;font-weight:900}.avatar.large{width:48px;height:48px}.claim-row small{display:block;color:var(--muted);font-size:.7rem}.positive{color:var(--green)}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:2px 0 20px}.page-head h1{font-size:1.75rem}.page-head p{margin:5px 0 0;font-size:.84rem}.page-head-stats{text-align:left;display:grid}.page-head-stats span,.page-head-stats small{color:var(--muted);font-size:.72rem}.page-head-stats strong{font-size:1.3rem;color:var(--green)}.filters{display:flex;align-items:end;gap:10px;margin-bottom:14px}.filters .grow{flex:1}.list-total{display:flex;justify-content:space-between;padding:12px 0;color:var(--muted);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.list-total strong{color:#fff}.transaction-list.large .transaction{padding:14px 2px}.narrow-panel{max-width:760px}.button-row{display:flex;gap:10px}
.two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.big-stat{font-size:2rem;font-weight:900;color:var(--green)}.big-stat small{font-size:.8rem;color:var(--muted);font-weight:500}.people-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}.person-card{padding:20px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,rgba(14,28,29,.95),rgba(7,16,18,.96));border-radius:20px}.person-card.has-debt{border-color:rgba(66,239,155,.16)}.person-head{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:12px;align-items:center}.person-head h3{margin:0}.person-head small{color:var(--muted)}.person-balance{text-align:left}.person-balance span{display:block;color:var(--muted);font-size:.68rem}.person-balance strong{color:var(--green);font-size:1.18rem}.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.mini-stats div{padding:10px;border-radius:12px;background:rgba(255,255,255,.025)}.mini-stats span{display:block;color:var(--muted);font-size:.68rem}.person-card details{border-top:1px solid rgba(255,255,255,.06);padding:9px 0}.person-card summary{cursor:pointer;color:#b9cbc6;font-size:.78rem}.inline-action-form{display:grid;grid-template-columns:1fr .8fr 1.2fr auto;gap:7px;margin-top:10px}.disabled-detail{opacity:.55}.ledger-list{display:grid}.ledger-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto 36px;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.06)}.ledger-row small{display:block;color:var(--muted)}.ledger-kind{font-size:.7rem;padding:5px 8px;border-radius:999px;text-align:center}.ledger-kind.claim{background:rgba(244,189,84,.09);color:#ffd784}.ledger-kind.paid{background:rgba(66,239,155,.09);color:#82f0b6}.mt{margin-top:16px}
.category-layout{grid-template-columns:.7fr 1.3fr}.category-admin-list{display:grid}.category-admin-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto 36px 36px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}.category-admin-row small{display:block;color:var(--muted)}.status{font-size:.68rem;padding:4px 7px;border-radius:999px}.status.on{color:#80f0b4;background:rgba(66,239,155,.09)}.status.off{color:#899b97;background:rgba(255,255,255,.04)}
.report-categories{display:grid;gap:14px}.report-category>div:first-child{display:flex;align-items:center;gap:8px}.report-category>strong{display:block;margin:4px 0}.report-category small{color:var(--muted)}.progress{height:6px;background:rgba(255,255,255,.045);border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;border-radius:inherit}.daily-bars{display:grid;gap:9px;max-height:480px;overflow:auto;padding-left:3px}.daily-bar-row{display:grid;grid-template-columns:88px 1fr 100px;gap:10px;align-items:center;font-size:.75rem}.daily-bar-row>span{direction:ltr;color:var(--muted)}.daily-bar-row strong{text-align:left}.hbar{height:7px;border-radius:999px;background:rgba(255,255,255,.04);overflow:hidden}.hbar i{display:block;height:100%;background:linear-gradient(90deg,#158e58,#45eca0);border-radius:inherit}
.empty{padding:28px 10px;text-align:center;color:#718883}.accent-green{background:rgba(66,239,155,.1);color:#76efae}.accent-blue{background:rgba(86,167,255,.1);color:#83bdff}.accent-violet{background:rgba(173,130,255,.1);color:#c3a6ff}.accent-amber{background:rgba(244,189,84,.1);color:#ffd481}.accent-coral{background:rgba(255,125,114,.1);color:#ffaaa2}.accent-cyan{background:rgba(85,214,208,.1);color:#8fece7}.accent-bg-green{background:var(--green)!important}.accent-bg-blue{background:var(--blue)!important}.accent-bg-violet{background:var(--violet)!important}.accent-bg-amber{background:var(--amber)!important}.accent-bg-coral{background:var(--coral)!important}.accent-bg-cyan{background:var(--cyan)!important}
.money{font-variant-numeric:tabular-nums}.mobile-nav{display:none}
.login-body{min-height:100vh;display:grid;place-items:center;padding:24px;overflow:hidden;background:#050b0d}.login-glow{position:fixed;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(41,221,130,.16),transparent 65%);filter:blur(10px);top:-260px;right:-140px}.login-card{position:relative;width:min(420px,100%);padding:36px;border:1px solid rgba(66,239,155,.16);background:linear-gradient(145deg,rgba(14,30,30,.96),rgba(5,14,15,.97));box-shadow:0 35px 100px rgba(0,0,0,.45);border-radius:28px}.login-card h1{font-size:2rem;margin:4px 0}.login-card p{color:var(--muted);margin:0 0 24px}.login-logo{font-size:36px}
@media(max-width:1100px){.kpi-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.people-grid{grid-template-columns:1fr}.category-layout{grid-template-columns:1fr}.inline-action-form{grid-template-columns:1fr 1fr}.inline-action-form button{grid-column:span 2}}
@media(max-width:760px){body{padding-bottom:72px}.app-shell{display:block}.sidebar{display:none}.topbar{height:60px;padding:0 17px}.top-kicker{display:none}.mobile-brand{display:block;font-size:1.18rem;font-weight:850}.content{padding:16px 13px 28px}.hero-card{min-height:160px;padding:24px 20px;border-radius:22px}.hero-copy{min-width:0}.hero-balance .money{font-size:1.75rem}.hero-note{font-size:.72rem}.wallet-icon{width:55px;height:55px;margin-right:12px}.moon{width:45px;height:45px}.kpi-grid{gap:9px;margin:10px 0;grid-template-columns:1fr 1fr}.kpi-card{min-height:100px;padding:13px;gap:9px}.kpi-card .kpi-icon{width:35px;height:35px}.kpi-card strong{font-size:1rem}.panel{padding:16px;border-radius:18px}.form-grid,.two-col-grid{grid-template-columns:1fr}.transaction{grid-template-columns:38px minmax(0,1fr) auto}.transaction>.icon-btn,.transaction>.row-actions{grid-column:2/4;justify-self:end}.transaction-icon{width:38px;height:38px}.filters{display:grid;grid-template-columns:1fr 1fr}.filters .grow{grid-column:span 2}.filters button{grid-column:span 2}.page-head{align-items:flex-start}.page-head-stats{display:none}.person-head{grid-template-columns:46px minmax(0,1fr)}.person-balance{grid-column:2;text-align:right}.inline-action-form{grid-template-columns:1fr}.inline-action-form button{grid-column:auto}.ledger-row{grid-template-columns:50px minmax(0,1fr) auto}.ledger-row form{grid-column:3}.category-admin-row{grid-template-columns:40px minmax(0,1fr) 34px 34px}.category-admin-row .status{grid-column:2}.daily-bar-row{grid-template-columns:74px 1fr 85px}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;height:66px;background:rgba(6,15,17,.94);backdrop-filter:blur(18px);border-top:1px solid rgba(255,255,255,.08);z-index:50;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav a{display:grid;place-items:center;align-content:center;gap:1px;color:#718781;font-size:1.15rem}.mobile-nav small{font-size:.58rem}.mobile-nav a.active{color:var(--green)}.mobile-nav .mobile-add span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#19c875,#48f2a3);color:#03110a;margin-top:-18px;box-shadow:0 8px 24px rgba(44,235,143,.25)}.mobile-nav .mobile-add small{margin-top:-3px;color:#9cb4ae}}
@media(max-width:440px){.hero-card{padding:20px 15px}.hero-balance{gap:5px}.hero-balance .money{font-size:1.5rem}.wallet-icon{display:none}.kpi-card{display:block}.kpi-card .kpi-icon{margin-bottom:8px}.kpi-grid{grid-template-columns:1fr 1fr}.bar-chart{height:145px}.panel-head{align-items:flex-start}.page-head{display:block}.page-head>.primary-btn{margin-top:10px}.category-admin-row{grid-template-columns:38px minmax(0,1fr) 32px 32px}.daily-bar-row{grid-template-columns:65px 1fr 74px;font-size:.68rem}}


/* EXPENSE UI V2 — softer premium dashboard + sticky-date entry */
body{
  font-family:"Vazirmatn",Tahoma,Arial,sans-serif;
  font-weight:400;
  letter-spacing:0;
  background:
    radial-gradient(circle at 76% 0%,rgba(45,224,139,.11),transparent 30%),
    radial-gradient(circle at 12% 56%,rgba(65,117,255,.055),transparent 34%),
    linear-gradient(145deg,#04090b 0%,#071010 52%,#050b0d 100%);
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 72%);
}
.sidebar{
  background:linear-gradient(180deg,rgba(5,18,18,.98),rgba(4,11,13,.99));
  box-shadow:18px 0 70px rgba(0,0,0,.16);
}
.brand-mark{
  width:42px;height:42px;display:grid;place-items:center;border-radius:14px;
  background:linear-gradient(145deg,rgba(66,239,155,.16),rgba(66,239,155,.03));
  border:1px solid rgba(66,239,155,.2);font-size:20px;
}
.brand strong{font-weight:800;letter-spacing:-.02em}.brand small{font-size:.68rem}
.nav-list a{font-weight:600}.nav-list a.active{box-shadow:inset 0 0 30px rgba(66,239,155,.045),0 8px 30px rgba(0,0,0,.08)}
.topbar{background:rgba(3,10,11,.58);border-bottom-color:rgba(255,255,255,.045)}
.content{padding-top:22px}
.welcome-row{
  display:flex;justify-content:space-between;align-items:center;gap:22px;margin:4px 0 20px;padding:4px 3px;
}
.welcome-row h1{margin:3px 0 4px;font-size:1.5rem;letter-spacing:-.035em;font-weight:800}
.welcome-row p{margin:0;color:var(--muted);font-size:.82rem}
.welcome-badge{
  min-width:150px;padding:13px 15px;border-radius:18px;border:1px solid rgba(66,239,155,.14);
  background:linear-gradient(135deg,rgba(66,239,155,.08),rgba(255,255,255,.018));
  display:grid;grid-template-columns:32px 1fr;align-items:center;box-shadow:0 15px 45px rgba(0,0,0,.14)
}
.welcome-badge>span{grid-row:1/3;font-size:22px;color:var(--green)}.welcome-badge strong{font-size:.8rem}.welcome-badge small{color:var(--muted);font-size:.63rem}
.hero-card{
  min-height:205px;border-radius:30px;border-color:rgba(72,243,158,.3);
  background:
    radial-gradient(circle at 68% 12%,rgba(127,255,187,.14),transparent 28%),
    linear-gradient(115deg,#0a573a 0%,#083527 42%,#081b1b 100%);
  box-shadow:0 26px 80px rgba(0,55,36,.22),inset 0 1px 0 rgba(255,255,255,.08);
}
.hero-card:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.055),transparent 26%);pointer-events:none}
.hero-copy .eyebrow{color:#a0ffd0;font-size:.82rem}.hero-balance .money{font-weight:800}.hero-note{max-width:460px}
.kpi-card{
  border-radius:22px;background:linear-gradient(145deg,rgba(17,31,32,.9),rgba(8,17,19,.92));
  box-shadow:0 16px 50px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.025);
  transition:transform .18s ease,border-color .18s ease;
}
.kpi-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.14)}
.kpi-card strong{font-weight:800;letter-spacing:-.025em}
.panel{
  background:
    radial-gradient(circle at 0 0,rgba(66,239,155,.035),transparent 32%),
    linear-gradient(145deg,rgba(13,26,28,.94),rgba(6,14,16,.96));
  border-color:rgba(255,255,255,.075);
  box-shadow:0 20px 65px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.025);
}
.expense-panel{
  position:relative;overflow:hidden;border-color:rgba(66,239,155,.16);
  background:
    radial-gradient(circle at 85% 8%,rgba(66,239,155,.09),transparent 28%),
    linear-gradient(145deg,rgba(12,31,27,.97),rgba(7,16,18,.97));
}
.expense-panel:before{
  content:"";position:absolute;width:180px;height:180px;left:-90px;bottom:-100px;border-radius:50%;
  background:rgba(65,239,156,.065);filter:blur(8px);pointer-events:none
}
.expense-panel>.panel-head,.expense-panel>.expense-form{position:relative;z-index:2}
.expense-form{gap:16px}
.expense-form label>span,.stack-form label>span{font-weight:650;color:#c4d2cf}
.amount-input{
  border-radius:18px;padding:7px 14px;background:linear-gradient(90deg,rgba(49,218,136,.08),rgba(6,17,17,.45));
  border-color:rgba(72,243,158,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)
}
.amount-input input{font-size:2rem;font-weight:800}
.category-choice span{font-weight:650;padding:9px 14px}
.expense-form input,.expense-form select,.stack-form input,.stack-form select,.filters input,.filters select,.inline-action-form input{
  background:rgba(3,12,13,.62);border-color:rgba(255,255,255,.085);border-radius:14px;
}
.date-input-shell{
  position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;
  min-height:52px;padding:0 10px;border-radius:15px;background:rgba(3,12,13,.64);
  border:1px solid rgba(66,239,155,.16);transition:.18s
}
.date-input-shell:hover{border-color:rgba(66,239,155,.38);background:rgba(7,22,19,.75)}
.date-input-shell .calendar-glyph{color:var(--green);font-size:1.25rem}
.date-input-shell input{
  border:0!important;background:transparent!important;box-shadow:none!important;padding:11px 4px!important;
  font-weight:750;cursor:pointer!important;color:#f4fbf8!important
}
.date-input-shell small{white-space:nowrap;color:#76a694;font-size:.65rem}
.date-control .jp-input{background-image:none!important;padding-left:4px!important}
.save-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.save-expense-btn{min-width:170px;border-radius:15px;padding:13px 22px}
.save-expense-btn:disabled{opacity:.65;cursor:wait}
.save-status{
  min-height:40px;display:flex;align-items:center;gap:8px;color:#78928b;font-size:.72rem;
  padding:7px 11px;border-radius:12px;border:1px solid transparent;transition:.2s
}
.save-dot{width:7px;height:7px;border-radius:50%;background:#6a817a}
.save-status.saving{color:#acd4c5;background:rgba(255,255,255,.025)}.save-status.saving .save-dot{background:#f4bd54;box-shadow:0 0 12px rgba(244,189,84,.55)}
.save-status.success{color:#9ef5c5;background:rgba(66,239,155,.055);border-color:rgba(66,239,155,.11)}.save-status.success .save-dot{background:var(--green);box-shadow:0 0 12px rgba(66,239,155,.55)}
.save-status.error{color:#ffaaa4;background:rgba(255,107,107,.05);border-color:rgba(255,107,107,.1)}.save-status.error .save-dot{background:#ff6b6b}
.new-transaction{animation:expenseAdded .85s ease}
@keyframes expenseAdded{0%{background:rgba(66,239,155,.16);transform:translateY(-4px)}100%{background:transparent;transform:none}}
.transaction{border-bottom-color:rgba(255,255,255,.045)}.transaction-main strong{font-weight:700}.transaction-money strong{font-weight:750}
.panel-head h2{font-weight:750;letter-spacing:-.02em}.eyebrow{font-weight:700}
.primary-btn{font-weight:750;box-shadow:0 10px 32px rgba(25,211,122,.16)}
.secondary-btn{font-weight:650}
.profile-pill{background:rgba(255,255,255,.025);padding:7px 10px;border:1px solid rgba(255,255,255,.055);border-radius:999px}

/* Theme the shared Jalali picker for this expense mini-app. */
.jp-overlay{background:rgba(0,7,8,.78)!important;backdrop-filter:blur(12px)!important}
.jp-modal{
  background:linear-gradient(145deg,rgba(13,29,28,.98),rgba(5,14,15,.98))!important;
  border:1px solid rgba(66,239,155,.16)!important;border-radius:24px!important;
  box-shadow:0 35px 100px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.04)!important;
  font-family:"Vazirmatn",Tahoma,Arial,sans-serif!important;padding:18px!important
}
.jp-title{font-weight:800!important}.jp-nav{border-color:rgba(66,239,155,.14)!important;background:rgba(66,239,155,.045)!important;color:#dff8eb!important}
.jp-nav:hover{border-color:rgba(66,239,155,.55)!important;background:rgba(66,239,155,.1)!important}
.jp-week span{color:#8fa9a1!important;font-weight:600!important}
.jp-day{background:rgba(255,255,255,.025)!important;border-color:rgba(255,255,255,.06)!important;border-radius:12px!important;color:#eaf7f2!important}
.jp-day:hover{border-color:rgba(66,239,155,.55)!important;background:rgba(66,239,155,.11)!important;transform:translateY(-2px)!important}
.jp-day.today{box-shadow:inset 0 0 0 2px var(--green)!important;color:#a5ffd0!important}
.jp-day.holiday{color:#ff948d!important;background:rgba(255,107,107,.035)!important;border-color:rgba(255,107,107,.1)!important}
.jp-close{background:rgba(255,255,255,.035)!important;color:#aebfba!important;border-radius:12px!important}

@media(max-width:760px){
  .welcome-row{align-items:flex-start}.welcome-row h1{font-size:1.12rem;line-height:1.6}.welcome-row p{font-size:.73rem}.welcome-badge{display:none}
  .hero-card{min-height:170px}.save-row{display:grid;grid-template-columns:1fr}.save-expense-btn{width:100%}.save-status{justify-content:center}
  .date-input-shell{grid-template-columns:30px minmax(0,1fr)}.date-input-shell small{display:none}
}


/* PWA identity + grouped transactions */
.brand-logo{
  width:44px;height:44px;border-radius:14px;object-fit:cover;flex:0 0 auto;
  box-shadow:0 10px 28px rgba(0,0,0,.25),0 0 0 1px rgba(66,239,155,.13)
}
.mobile-brand{align-items:center;gap:8px;font-weight:800}.mobile-brand img{width:30px;height:30px;border-radius:9px}
.topbar-actions{display:flex;align-items:center;gap:9px}
.install-card{
  width:100%;border:1px solid rgba(66,239,155,.15);background:linear-gradient(135deg,rgba(66,239,155,.09),rgba(255,255,255,.018));
  color:var(--text);padding:10px;border-radius:16px;display:grid;grid-template-columns:38px 1fr 22px;align-items:center;gap:9px;text-align:right;
  margin:0 0 10px;box-shadow:0 12px 35px rgba(0,0,0,.12)
}
.install-card[hidden],.install-mini[hidden]{display:none!important}
.install-card img{width:38px;height:38px;border-radius:11px}.install-card span{display:grid}.install-card strong{font-size:.76rem}.install-card small{font-size:.61rem;color:var(--muted)}
.install-card b{font-size:18px;color:var(--green);font-weight:500}
.install-mini{
  border:1px solid rgba(66,239,155,.22);background:rgba(66,239,155,.075);color:#b9ffda;border-radius:999px;padding:7px 11px;font-size:.68rem;font-weight:700
}
.day-groups{display:grid;gap:18px;margin-top:18px}
.day-group{border:1px solid rgba(255,255,255,.065);border-radius:20px;overflow:hidden;background:rgba(4,13,14,.28)}
.day-group-head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;
  border-bottom:1px solid rgba(255,255,255,.055);
  background:linear-gradient(90deg,rgba(66,239,155,.055),rgba(255,255,255,.012))
}
.day-title{display:grid;gap:2px}.day-label-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.day-label-row strong{font-size:1rem;font-weight:800;color:#f0faf6}.day-jalali{font-size:.74rem;color:#83aa9b;direction:ltr}
.day-separator{color:rgba(255,255,255,.22)}.day-title small{color:var(--muted);font-size:.66rem}
.day-total{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.day-total small{color:var(--muted);font-size:.62rem;margin-left:3px}
.day-total strong{font-size:1rem;color:#b4ffd3}.day-total span{font-size:.63rem;color:#799288}
.grouped-list{padding:0 14px}.grouped-list .transaction:last-child{border-bottom:0}
.transactions-panel{padding:20px}.transactions-empty{padding:48px 20px;display:grid;gap:6px;text-align:center}
.transactions-empty strong{color:#dcebe6}.transactions-empty span{color:var(--muted);font-size:.76rem}

@media(max-width:760px){
  .mobile-brand{display:flex}
  .topbar-actions{gap:6px}.profile-pill{padding:6px 8px}.profile-pill>span:last-child{display:none}
  .install-mini{padding:6px 9px}
  .day-group-head{padding:13px 12px}.day-label-row strong{font-size:.92rem}.day-total{display:grid;grid-template-columns:auto auto;gap:1px 4px}
  .day-total small{grid-column:1/-1;text-align:left}.day-total strong{font-size:.9rem}.grouped-list{padding:0 9px}
  .transactions-panel{padding:14px 10px}.day-group{border-radius:16px}
}
