/* =========================================================
   Moni — dizayn sistemi
   ========================================================= */
:root{
  --bg:#f3f5f7; --surface:#ffffff; --surface-2:#f1f4f6;
  --ink:#0f172a; --ink-2:#334155; --muted:#64748b; --line:#e4e8ed;
  --primary:#0d9488; --primary-strong:#0f766e; --primary-soft:#e3f5f2;
  --inc:#15803d; --inc-soft:#e7f6ec; --inc-solid:#16a34a;
  --exp:#e11d48; --exp-soft:#fdeaee; --exp-solid:#e11d48;
  --warn:#b45309; --warn-soft:#fdf2e1;
  --backdrop:rgba(2,6,23,.45);
  --shadow-sm:0 1px 2px rgba(15,23,42,.05),0 1px 3px rgba(15,23,42,.05);
  --shadow:0 12px 32px -14px rgba(15,23,42,.22);
  --grad:linear-gradient(135deg,#0f766e 0%,#0d9488 55%,#14b8a6 100%);
  --app-w:600px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0a1114; --surface:#111a1e; --surface-2:#18242a;
    --ink:#e6eef0; --ink-2:#c1cfd3; --muted:#8a9ba2; --line:#22323a;
    --primary:#2dd4bf; --primary-strong:#14b8a6; --primary-soft:rgba(45,212,191,.13);
    --inc:#4ade80; --inc-soft:rgba(74,222,128,.13);
    --exp:#fb7185; --exp-soft:rgba(251,113,133,.13);
    --warn:#fbbf24; --warn-soft:rgba(251,191,36,.13);
    --backdrop:rgba(0,0,0,.62);
    --shadow-sm:0 1px 2px rgba(0,0,0,.4);
    --shadow:0 14px 34px -14px rgba(0,0,0,.75);
    color-scheme:dark;
  }
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  background:var(--bg); color:var(--ink); font-size:15px; line-height:1.5;
  -webkit-font-smoothing:antialiased; -webkit-tap-highlight-color:transparent;
  min-height:100vh; min-height:100dvh;
}
body.sheet-open{overflow:hidden}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input{font:inherit;color:inherit}
.hidden{display:none !important}
.ic{width:20px;height:20px;flex:0 0 auto;display:block}
[data-icon]{display:inline-flex;align-items:center;justify-content:center}
.t-inc{color:var(--inc)} .t-exp{color:var(--exp)}

@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes shimmer{to{background-position:-200% 0}}

/* ---------- Form elementləri ---------- */
.field{margin-bottom:14px}
.field label{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:6px}
.help{font-size:12.5px;color:var(--muted);margin-top:6px}
.field input,.combo input{
  width:100%; height:50px; border:1.5px solid var(--line); border-radius:14px;
  padding:0 14px; font-size:16px; background:var(--surface); outline:none;
  transition:border-color .15s, box-shadow .15s;
}
.field input:focus,.combo input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}
.input-wrap{position:relative;display:flex;align-items:center}
.input-wrap .input-ic{position:absolute;left:14px;color:var(--muted);pointer-events:none}
.input-wrap .input-ic .ic{width:18px;height:18px}
.input-wrap input{padding-left:44px}
.input-wrap.has-toggle input{padding-right:50px}
.pw-toggle{position:absolute;right:5px;width:40px;height:40px;border-radius:10px;color:var(--muted)}
.pw-toggle .ic{width:19px;height:19px}
.pw-toggle:hover{background:var(--surface-2)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form-msg{min-height:20px;margin-top:10px;font-size:13.5px;text-align:center}
.form-msg.err{color:var(--exp)} .form-msg.ok{color:var(--inc)}

/* ---------- Düymələr ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:48px;padding:0 18px;border-radius:14px;font-weight:600;font-size:15px;
  white-space:nowrap;transition:transform .08s, filter .15s, opacity .15s;
}
.btn:active{transform:scale(.98)}
.btn .ic{width:18px;height:18px}
.btn[disabled]{opacity:.6;pointer-events:none}
.btn-block{width:100%}
.btn-sm{height:38px;padding:0 14px;font-size:14px;border-radius:12px;gap:6px}
.btn-sm .ic{width:16px;height:16px}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 20px -10px rgba(13,148,136,.75)}
.btn-inc{background:var(--inc-solid);color:#fff}
.btn-exp{background:var(--exp-solid);color:#fff}
.btn-danger{background:var(--exp-solid);color:#fff}
.btn-soft{background:var(--surface);border:1.5px solid var(--line);color:var(--ink)}
.btn-warn-soft{background:var(--warn-soft);color:var(--warn)}
.btn-danger-soft{background:var(--exp-soft);color:var(--exp)}
@media (hover:hover){.btn:hover{filter:brightness(1.04)}}
@media (prefers-color-scheme: dark){.btn-inc{background:#15803d}}
.icon-btn{width:40px;height:40px;display:inline-grid;place-items:center;border-radius:12px;color:var(--muted)}
.icon-btn:hover{background:var(--surface-2);color:var(--ink)}
.link-btn{display:block;margin:6px auto 0;color:var(--primary);font-weight:600;font-size:14px;padding:8px 10px}
.link-btn.muted-link{color:var(--muted);font-weight:500}

/* ---------- Segmented ---------- */
.segmented{display:flex;background:var(--surface-2);border-radius:14px;padding:4px;gap:4px}
.segmented .seg{flex:1;height:40px;border-radius:11px;font-weight:600;font-size:14px;color:var(--muted);
  display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .15s,color .15s}
.segmented .seg .ic{width:16px;height:16px}
.segmented .seg.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}
.type-seg .seg.active[data-type=income]{color:var(--inc)}
.type-seg .seg.active[data-type=expense]{color:var(--exp)}

/* ---------- Nişanlar ---------- */
.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap;line-height:1.5}
.badge-warn{background:var(--warn-soft);color:var(--warn)}
.badge-inc{background:var(--inc-soft);color:var(--inc)}
.badge-exp{background:var(--exp-soft);color:var(--exp)}
.badge-primary{background:var(--primary-soft);color:var(--primary)}
.badge-muted{background:var(--surface-2);color:var(--muted)}

/* ---------- AUTH ---------- */
.auth{
  min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; align-items:center;
  padding:calc(36px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));
  background:radial-gradient(900px 420px at 50% -140px, rgba(20,184,166,.26), transparent 70%), var(--bg);
}
.auth-head{text-align:center;margin-bottom:22px}
.logo-img{width:72px;height:72px;border-radius:22px;display:block;margin:0 auto 14px;box-shadow:0 14px 30px -10px rgba(13,148,136,.6)}
.auth-head h1{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.auth-head p{color:var(--muted);font-weight:500;margin-top:2px}
.auth-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:20px}
.auth-card .segmented{margin-bottom:20px}
.pane{display:none}
.pane.active{display:block;animation:fadeUp .25s ease}
.otp-head{text-align:center;margin-bottom:16px}
.otp-badge{width:56px;height:56px;border-radius:18px;background:var(--primary-soft);color:var(--primary);margin:0 auto 12px;display:grid !important;place-items:center}
.otp-badge .ic{width:26px;height:26px}
.otp-head h3{font-size:19px;font-weight:700}
.otp-head p{color:var(--muted);font-size:14px;margin-top:4px}
.field input.otp-input{height:62px;text-align:center;font-size:26px;font-weight:700;letter-spacing:.55em;padding-left:.55em}

/* ---------- APP shell ---------- */
.appbar{position:sticky;top:0;z-index:30;padding-top:env(safe-area-inset-top);
  background:var(--bg);background:color-mix(in srgb, var(--bg) 85%, transparent);
  -webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
.appbar-in{max-width:var(--app-w);margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:10px;min-width:0}
.brand-img{width:38px;height:38px;border-radius:12px;flex:0 0 auto}
.brand-name{font-weight:800;font-size:17px;letter-spacing:-.01em;line-height:1.15}
.brand-sub{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--primary-soft);color:var(--primary);
  display:grid;place-items:center;font-weight:700;font-size:14px;flex:0 0 auto}
.avatar.xl{width:72px;height:72px;font-size:24px;margin:0 auto}
.avatar-btn{transition:transform .08s}
.avatar-btn:active{transform:scale(.95)}

.screen{max-width:var(--app-w);margin:0 auto;padding:6px 16px calc(112px + env(safe-area-inset-bottom));overflow-x:clip}
.view{min-width:0}
body.is-admin .screen{padding-bottom:calc(28px + env(safe-area-inset-bottom))}
.view{display:none}
.view.active{display:block;animation:fadeUp .25s ease}

.page-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 4px;min-height:40px}
.page-head h2,.sec-head h2{font-size:20px;font-weight:700;letter-spacing:-.015em}
.page-sub{font-size:13.5px;color:var(--muted);margin-bottom:14px}
.chip{display:inline-flex;align-items:center;background:var(--primary-soft);color:var(--primary);font-weight:600;font-size:12.5px;
  padding:5px 11px;border-radius:999px;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- Kassa kartları (sürüşdürülən bank kartları) ---------- */
.cards-wrap{position:relative;margin:0 -16px}
.cards{position:relative;display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;padding:6px 7% 22px;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;user-select:none;-webkit-user-select:none}
.cards::-webkit-scrollbar{display:none}
.cards.dragging{scroll-snap-type:none;cursor:grabbing}
@media (hover:hover){.cards{cursor:grab}}
.kcard{position:relative;flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always;
  display:flex;flex-direction:column;min-height:206px;padding:18px 18px 16px;border-radius:24px;overflow:hidden;
  color:#fff;text-align:left;background:var(--card-bg);box-shadow:0 18px 34px -20px var(--card-glow);
  transition:transform .3s ease, opacity .3s ease}
.kcard:not(.is-active){transform:scale(.94);opacity:.72}
.kcard::before{content:"";position:absolute;width:250px;height:250px;border-radius:50%;background:rgba(255,255,255,.09);top:-120px;right:-80px}
.kcard::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.06);bottom:-100px;left:-60px}
.kcard > *{position:relative;z-index:1}
/* hər kassanın öz rəngi */
.g0{--card-bg:linear-gradient(135deg,#0f766e 0%,#0d9488 55%,#14b8a6 100%);--card-glow:rgba(13,148,136,.85)}
.g1{--card-bg:linear-gradient(135deg,#312e81 0%,#4338ca 55%,#6366f1 100%);--card-glow:rgba(79,70,229,.8)}
.g2{--card-bg:linear-gradient(135deg,#581c87 0%,#7e22ce 55%,#a855f7 100%);--card-glow:rgba(126,34,206,.8)}
.g3{--card-bg:linear-gradient(135deg,#9f1239 0%,#e11d48 60%,#fb7185 100%);--card-glow:rgba(225,29,72,.75)}
.g4{--card-bg:linear-gradient(135deg,#7c2d12 0%,#c2410c 55%,#ea580c 100%);--card-glow:rgba(194,65,12,.75)}
.g5{--card-bg:linear-gradient(135deg,#0c4a6e 0%,#0369a1 55%,#0ea5e9 100%);--card-glow:rgba(3,105,161,.8)}
.g6{--card-bg:linear-gradient(135deg,#0f172a 0%,#1e293b 55%,#475569 100%);--card-glow:rgba(15,23,42,.7)}
.g7{--card-bg:linear-gradient(135deg,#064e3b 0%,#047857 55%,#10b981 100%);--card-glow:rgba(4,120,87,.8)}

.bc-top{display:flex;align-items:center;gap:10px}
.bc-name{flex:1;min-width:0;font-weight:700;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bc-more{width:34px;height:34px;border-radius:11px;background:rgba(255,255,255,.17);color:#fff;display:grid;place-items:center;flex:0 0 auto}
.bc-more .ic{width:18px;height:18px}
.bc-more:active{background:rgba(255,255,255,.28)}
.bc-chip{display:block;width:40px;height:30px;margin-top:14px;border-radius:7px;
  background:linear-gradient(135deg,#fde68a 0%,#fbbf24 45%,#fcd34d 70%,#f59e0b 100%);box-shadow:inset 0 0 0 1px rgba(120,53,15,.25);position:relative}
.bc-chip::before{content:"";position:absolute;inset:7px 0;border-top:1px solid rgba(120,53,15,.35);border-bottom:1px solid rgba(120,53,15,.35)}
.bc-chip::after{content:"";position:absolute;inset:0 13px;border-left:1px solid rgba(120,53,15,.35);border-right:1px solid rgba(120,53,15,.35)}
.bc-spacer{flex:1;min-height:10px}
.bc-cap{font-size:12.5px;opacity:.85}
.bc-amount{font-size:32px;font-weight:800;letter-spacing:-.025em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bc-foot{display:flex;align-items:flex-end;gap:18px;margin-top:12px}
.bc-foot small{display:block;font-size:11px;opacity:.8;line-height:1.3}
.bc-foot b{display:block;font-size:13.5px;font-weight:700;white-space:nowrap}
.bc-cnt{margin-left:auto;font-size:12px;opacity:.85;white-space:nowrap}
/* sonuncu kart — yeni kassa */
.kcard.add{align-items:center;justify-content:center;gap:12px;color:var(--primary);font-weight:700;font-size:15px;
  background:var(--surface);border:2px dashed var(--line);box-shadow:none}
.kcard.add::before,.kcard.add::after{display:none}
.kcard.add .add-ic{width:54px;height:54px;border-radius:18px;background:var(--primary-soft);display:grid;place-items:center}
.kcard.add .add-ic .ic{width:24px;height:24px}

.dots{display:flex;justify-content:center;gap:6px;margin:-8px 0 16px;min-height:7px}
.dot{width:7px;height:7px;border-radius:999px;background:var(--line);padding:0;transition:width .25s, background .25s}
.dot.active{width:22px;background:var(--primary)}
.cards-nav{display:none}
@media (hover:hover) and (min-width:640px){
  .cards-nav{display:grid;place-items:center;position:absolute;top:calc(50% - 8px);transform:translateY(-50%);z-index:3;
    width:38px;height:38px;border-radius:50%;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);transition:opacity .2s}
  .cards-nav .ic{width:18px;height:18px}
  .cards-nav.prev{left:8px}
  .cards-nav.next{right:8px}
  .cards-nav[disabled]{opacity:0;pointer-events:none}
}

/* ---------- Sürətli əməliyyatlar ---------- */
.quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 24px}
.qa{height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:16px;transition:transform .08s}
.qa:active{transform:scale(.97)}
.qa-ic{width:30px;height:30px;border-radius:10px;color:#fff}
.qa-ic .ic{width:18px;height:18px}
.qa-inc{background:var(--inc-soft);color:var(--inc)} .qa-inc .qa-ic{background:var(--inc-solid)}
.qa-exp{background:var(--exp-soft);color:var(--exp)} .qa-exp .qa-ic{background:var(--exp-solid)}

/* ---------- Axtarış ---------- */
.sec-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.search-pill{display:flex;align-items:center;gap:8px;height:40px;width:170px;padding:0 12px;
  background:var(--surface);border:1.5px solid var(--line);border-radius:12px;color:var(--muted);cursor:text;transition:border-color .15s}
.search-pill:focus-within{border-color:var(--primary)}
.search-pill .ic{width:16px;height:16px}
.search-pill input{border:0;outline:0;background:transparent;height:100%;width:100%;min-width:0;font-size:15px;color:var(--ink)}
.search-pill input::-webkit-search-cancel-button{-webkit-appearance:none}
.search-pill.wide{width:100%;height:46px;margin-bottom:12px}

/* ---------- Əməliyyat siyahısı ---------- */
.tx-group{margin-bottom:18px}
.tx-group-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:0 4px 8px;
  font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.tx-group-head .net{text-transform:none;letter-spacing:0;font-weight:600}
.tx-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.tx-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;text-align:left;transition:background .12s}
.tx-row + .tx-row{border-top:1px solid var(--line)}
.tx-row:active{background:var(--surface-2)}
@media (hover:hover){.tx-row:hover{background:var(--surface-2)}}
.tx-ic{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;flex:0 0 auto}
.tx-ic .ic{width:18px;height:18px}
.tx-ic.income{background:var(--inc-soft);color:var(--inc)}
.tx-ic.expense{background:var(--exp-soft);color:var(--exp)}
.tx-ic.rev{background:var(--warn-soft);color:var(--warn)}
.tx-mid{flex:1;min-width:0;display:block}
.tx-title{display:block;font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tx-sub{display:block;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.tx-sub .badge{font-size:10.5px;padding:1px 7px;vertical-align:1px}
.tx-end{display:block;text-align:right;flex:0 0 auto}
.tx-amt{display:block;font-weight:700;font-size:15px;white-space:nowrap}
.tx-amt.income{color:var(--inc)} .tx-amt.expense{color:var(--exp)}
.tx-amt.struck{text-decoration:line-through;opacity:.55}
.tx-bal{display:block;font-size:11.5px;color:var(--muted);white-space:nowrap;margin-top:1px}

/* ---------- Boş / yüklənir ---------- */
.empty{text-align:center;padding:34px 18px;color:var(--muted);background:var(--surface);border:1.5px dashed var(--line);border-radius:18px}
.empty-ic{width:52px;height:52px;border-radius:16px;background:var(--surface-2);display:grid;place-items:center;margin:0 auto 10px;color:var(--muted)}
.empty-ic .ic{width:24px;height:24px}
.empty b{display:block;color:var(--ink);font-size:15px;margin-bottom:2px}
.empty p{font-size:13.5px;max-width:300px;margin:0 auto}
.sk{height:64px;border-radius:16px;margin-bottom:8px;
  background:linear-gradient(90deg,var(--surface-2) 25%,var(--line) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.2s infinite}

/* ---------- Hesabat ---------- */
.filter-chips{display:flex;gap:8px;margin:12px 0}
.fchip{height:36px;padding:0 16px;border-radius:999px;background:var(--surface);border:1.5px solid var(--line);
  font-weight:600;font-size:13.5px;color:var(--ink-2);transition:background .15s,color .15s}
.fchip.active{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.report-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.rs{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px;min-width:0}
.rs small{display:block;font-size:12px;color:var(--muted);font-weight:500}
.rs b{display:block;font-size:14.5px;font-weight:700;margin-top:2px;word-break:break-word;line-height:1.3}
.rs.inc b{color:var(--inc)} .rs.exp b{color:var(--exp)} .rs.bal b{color:var(--primary)}
.report-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}
.timeline{position:relative;padding-left:20px}
.timeline::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--line);border-radius:2px}
.timeline.is-empty{padding-left:0}
.timeline.is-empty::before{display:none}
.tl-item{position:relative;margin-bottom:10px}
.tl-dot{position:absolute;left:-20px;top:17px;width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 3px var(--bg)}
.tl-item.income .tl-dot{background:var(--inc)} .tl-item.expense .tl-dot{background:var(--exp)}
.tl-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px}
.tl-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.tl-time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.tl-amt{font-weight:700;white-space:nowrap}
.tl-amt.income{color:var(--inc)} .tl-amt.expense{color:var(--exp)}
.tl-flow{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;font-size:13.5px;color:var(--muted);margin-top:6px}
.tl-flow b{color:var(--ink);font-weight:700}
.tl-note{font-size:13.5px;margin-top:4px;color:var(--ink-2)}

/* ---------- Kassalar ---------- */
/* minmax(0,1fr): uzun adlar sütunu ekrandan kənara genişləndirməsin */
.kassa-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.kassa-card{min-width:0;background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:12px 12px 14px 14px;cursor:pointer;
  transition:border-color .15s, box-shadow .15s, transform .08s}
.kassa-card:active{transform:scale(.99)}
.kassa-card.active{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}
.kc-top{display:flex;align-items:center;gap:10px}
.kc-ic{width:38px;height:38px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;flex:0 0 auto}
.kc-ic .ic{width:18px;height:18px}
.kc-name{flex:1;min-width:0;font-weight:700;display:flex;align-items:center;gap:8px}
.kc-name .t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kc-name .badge{flex:0 0 auto}
.kc-bal{font-size:21px;font-weight:800;letter-spacing:-.015em;margin:8px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kc-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--muted)}
.kc-meta .inc{color:var(--inc);font-weight:600} .kc-meta .exp{color:var(--exp);font-weight:600}

/* ---------- Sheet içi siyahılar ---------- */
.pick-list{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:16px}
.pick{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:16px;text-align:left}
.pick.active{border-color:var(--primary);background:var(--primary-soft)}
.pick .radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);flex:0 0 auto;display:grid;place-items:center}
.pick.active .radio{border-color:var(--primary)}
.pick.active .radio::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--primary)}
.pick .pn{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pick .pb{font-weight:700;font-size:14px;white-space:nowrap}
.menu-list{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border-radius:14px;background:var(--surface-2);font-weight:600;text-align:left}
.menu-item .ic{width:19px;height:19px;color:var(--muted)}
.menu-item.danger{background:var(--exp-soft);color:var(--exp)}
.menu-item.danger .ic{color:var(--exp)}

/* ---------- İdarəetmə ---------- */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:10px 0 14px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;display:flex;align-items:center;gap:12px;min-width:0}
.stat-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto}
.stat-ic .ic{width:19px;height:19px}
.stat b{display:block;font-size:22px;font-weight:800;line-height:1.15}
.stat small{font-size:12.5px;color:var(--muted)}
.c-primary{background:var(--primary-soft);color:var(--primary)}
.c-inc{background:var(--inc-soft);color:var(--inc)}
.c-exp{background:var(--exp-soft);color:var(--exp)}
.c-warn{background:var(--warn-soft);color:var(--warn)}
.user-list{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.user-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 12px 12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:18px;text-align:left;transition:border-color .15s}
@media (hover:hover){.user-row:hover{border-color:var(--primary)}}
.user-mid{flex:1;min-width:0;display:block}
.user-name{display:flex;align-items:center;gap:8px;font-weight:600;min-width:0}
.user-name .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-sub{display:block;font-size:12.5px;color:var(--muted)}
.user-end{display:block;text-align:right;flex:0 0 auto}
.user-end b{display:block;font-size:14px;white-space:nowrap}
.user-end small{display:block;font-size:11.5px;color:var(--muted)}
.chev{color:var(--muted)}
.chev .ic{width:18px;height:18px}

/* ---------- Alt pəncərə (bottom sheet) ---------- */
.sheet-root{position:fixed;inset:0;z-index:60}
.sheet-backdrop{position:absolute;inset:0;background:var(--backdrop);opacity:0;transition:opacity .22s}
.sheet{position:absolute;left:50%;bottom:0;width:100%;max-width:var(--app-w);max-height:92vh;max-height:92dvh;
  display:flex;flex-direction:column;background:var(--surface);border-radius:24px 24px 0 0;
  transform:translate(-50%,100%);transition:transform .28s cubic-bezier(.2,.8,.2,1);
  padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -10px 40px rgba(0,0,0,.18)}
.sheet-root.open .sheet-backdrop{opacity:1}
.sheet-root.open .sheet{transform:translate(-50%,0)}
.sheet-grip{width:40px;height:5px;border-radius:3px;background:var(--line);margin:8px auto 0;flex:0 0 auto}
.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px 4px 20px;flex:0 0 auto}
.sheet-head h3{font-size:17px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sheet-body{padding:8px 20px 20px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
@media (min-width:640px){
  .sheet{top:50%;bottom:auto;max-width:460px;border-radius:24px;max-height:86vh;padding-bottom:0;
    transform:translate(-50%,-47%) scale(.98);opacity:0;transition:transform .2s ease, opacity .2s ease}
  .sheet-root.open .sheet{transform:translate(-50%,-50%) scale(1);opacity:1}
  .sheet-grip{display:none}
  .sheet-head{padding-top:14px}
}
.sheet-actions{display:grid;gap:8px}
.sheet-actions.two{grid-template-columns:1fr 1fr}
.confirm-msg{color:var(--ink-2);font-size:14.5px;margin-bottom:18px}
.sub-title{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:2px 0 8px}
.kv-list,.mini-list{background:var(--surface-2);border-radius:16px;padding:2px 14px;margin-bottom:16px}
.kv{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;font-size:14px}
.kv + .kv{border-top:1px solid var(--line)}
.kv > span{color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kv > b{font-weight:600;text-align:right;word-break:break-word;flex:0 0 auto;max-width:65%}
.profile{text-align:center;padding:2px 0 18px}
.profile .p-name{font-size:19px;font-weight:700;margin-top:10px}
.profile .p-phone{color:var(--muted);font-size:14px;margin:2px 0 8px}

/* Əməliyyat detalı */
.tx-hero{text-align:center;padding:2px 0 16px}
.tx-hero .tx-hero-ic{width:56px;height:56px;border-radius:18px;margin:0 auto 10px}
.tx-hero .tx-hero-ic .ic{width:24px;height:24px}
.tx-hero .tx-hero-amt{font-size:30px;font-weight:800;letter-spacing:-.02em}
.tx-hero-sub{font-size:13px;color:var(--muted);margin-top:2px}
.tx-hero .badge{margin-top:8px}

/* Əməliyyat forması */
.txform .type-seg{margin-bottom:16px}
.amount-label{display:block;text-align:center;font-size:13px;font-weight:600;color:var(--muted)}
.amount-box{display:flex;align-items:center;justify-content:center;gap:6px;height:74px;padding:0 16px;margin:6px 0 10px;
  border:1.5px solid var(--line);border-radius:18px;background:var(--surface);transition:border-color .15s, box-shadow .15s}
.amount-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}
.amount-box input{border:0;outline:0;background:transparent;height:100%;width:100%;min-width:0;
  font-size:32px;font-weight:800;text-align:center;letter-spacing:-.02em}
.amount-box .cur{font-size:26px;font-weight:700;color:var(--muted)}
/* ₼ ölçüsündə görünməz boşluq — rəqəm vizual olaraq tam mərkəzdə dursun */
.amount-box::before{content:"₼";font-size:26px;font-weight:700;visibility:hidden}
.kassa-tag{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;color:var(--muted);margin-bottom:16px}
.kassa-tag b{color:var(--ink);font-weight:600}
.kassa-tag .ic{width:15px;height:15px}
.hint{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);margin:-2px 0 14px}
.hint .ic{width:15px;height:15px}

/* Axtarışlı combobox */
.combo{position:relative}
.combo input{padding-right:44px}
.combo-caret{position:absolute;right:13px;top:15px;color:var(--muted);pointer-events:none}
.combo-caret .ic{width:18px;height:18px}
.combo-menu{margin-top:6px;border:1.5px solid var(--line);border-radius:14px;max-height:216px;overflow:auto;padding:4px;background:var(--surface)}
.combo-opt{display:flex;align-items:center;gap:8px;min-height:44px;padding:4px 4px 4px 12px;border-radius:10px;cursor:pointer;font-size:15px}
.combo-opt.active,.combo-opt:hover{background:var(--surface-2)}
.combo-opt .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.combo-opt .del{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;color:var(--muted);flex:0 0 auto}
.combo-opt .del:hover{background:var(--exp-soft);color:var(--exp)}
.combo-opt .del .ic{width:16px;height:16px}
.combo-new{color:var(--primary);font-weight:600;padding-right:12px}
.combo-new .ic{width:17px;height:17px}
.combo-empty{padding:12px;color:var(--muted);font-size:13.5px}

/* ---------- Alt tab bar ---------- */
.tabbar{position:fixed;z-index:40;left:50%;transform:translateX(-50%);bottom:calc(10px + env(safe-area-inset-bottom));
  width:calc(100% - 24px);max-width:calc(var(--app-w) - 32px);display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:6px;
  background:var(--surface);background:color-mix(in srgb, var(--surface) 90%, transparent);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);
  border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:54px;border-radius:16px;
  color:var(--muted);font-size:11.5px;font-weight:600;transition:color .15s, background .15s}
.tab .ic{width:22px;height:22px}
.tab.active{color:var(--primary);background:var(--primary-soft)}
body.is-admin .tabbar{display:none}

/* ---------- Toast ---------- */
.toast{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));z-index:90;
  transform:translate(-50%,16px);opacity:0;pointer-events:none;transition:opacity .2s, transform .2s;
  max-width:calc(100% - 32px);padding:12px 18px;border-radius:14px;background:var(--ink);color:var(--surface);
  font-size:14px;font-weight:500;box-shadow:var(--shadow);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast.ok{background:#15803d;color:#fff}
.toast.err{background:#e11d48;color:#fff}
body.is-admin .toast,.auth:not(.hidden) ~ .toast{bottom:calc(24px + env(safe-area-inset-bottom))}

/* ---------- Footer ---------- */
.site-foot{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:30px 8px 6px}
.site-foot .tz{font-size:12px;color:var(--muted);margin-bottom:6px}
.site-foot .pw{font-size:10.5px;font-weight:700;letter-spacing:.22em;color:var(--muted);text-transform:uppercase}
.site-foot .made{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:14.5px}
.site-foot .azflag{width:24px;height:16px;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.site-foot .contact{font-size:13px;color:var(--muted)}
.site-foot .contact a{color:var(--primary);font-weight:600;text-decoration:none}
.auth .site-foot{margin-top:auto;padding-top:30px}

/* ---------- Kiçik ekranlar ---------- */
@media (max-width:380px){
  .bc-amount{font-size:28px}
  .bc-foot{gap:14px}
  .search-pill{width:140px}
  .rs{padding:10px}
  .rs b{font-size:13.5px}
}
@media (max-width:350px){
  .report-sum{grid-template-columns:1fr 1fr}
  .rs.bal{grid-column:1 / -1}
  .row2{grid-template-columns:1fr;gap:0}
}
@media (min-width:560px){
  .stats{grid-template-columns:repeat(4,1fr)}
  .stat{flex-direction:column;align-items:flex-start;gap:10px}
}

/* ---------- Çap (yalnız hesabat) ---------- */
@media print{
  body{background:#fff;color:#000}
  .appbar,.tabbar,.site-foot,.report-actions,.filter-chips,#view-home,#view-kassa,#view-admin,.toast,.sheet-root{display:none !important}
  .screen{padding:0;max-width:none}
  #view-report{display:block !important}
  .tl-card,.rs{border-color:#ccc;break-inside:avoid}
}
