/* QarzGo Kabinet — Pro obuna, to'lov, kartalar, to'lovlar tarixi (2026-10-22).
   Ikki ko'rinish, bosh sahifadagidek: Yumshoq (neumorphism, sukut) va Shisha — `html[data-look="glass"]` (tanlov qarzgo.uz da,
   localStorage `qarzgo_look`; kabinet.js o'qiydi). Ranglar look.css bilan bir xil. Komponentlar faqat tokenlardan:
   sirt foni --surface, botiq iz --well, tanlangan bo'lak --seg-on, soyalar --raise* / --press* (Shisha'da ular almashadi). */

:root {
  color-scheme: light;
  --bg: #E4EAE6;
  --ink: #141914;
  --ink-soft: #3E463F;
  --ink-mute: #5F6A63;
  --ink-fade: #6E7871;
  --brand: #0F7B57;
  --brand-ink: #0B6B4B;
  --brand-ink-hi: #08523A;
  --cta-top: #13845A;
  --cta-bottom: #0A6444;
  --on-fill: #FFFFFF;
  --gold: #C79838;
  --gold-chip: #8A6516;
  --line: #CBD4CE;
  --neu-lo: rgba(124, 148, 135, .55);
  --neu-hi: rgba(255, 255, 255, .92);
  --raise: 9px 9px 18px var(--neu-lo), -6px -6px 16px var(--neu-hi);
  --raise-sm: 5px 5px 10px var(--neu-lo), -3px -3px 9px var(--neu-hi);
  --press: inset 4px 4px 8px var(--neu-lo), inset -4px -4px 8px var(--neu-hi);
  --press-sm: inset 3px 3px 6px var(--neu-lo), inset -3px -3px 6px var(--neu-hi);
  --chip-ok-bg: #D6EADF;   --chip-ok-ink: #0B4A33;
  --chip-bad-bg: #F6DCDA;  --chip-bad-ink: #8C1D18;
  --chip-mute-bg: #DDE2DF; --chip-mute-ink: #3E463F;
  --chip-wait-bg: #F3E6D6; --chip-wait-ink: #6B3A10;
  --tag-bg: #CFE3D8;       --tag-ink: #0B4A33;
  --warn-bg: #F3E6D6;      --warn-ink: #5C2E0C; --warn-icon: #8A4513;
  --err: #B3261E;          --err-hi: #8C1D18;
  --meter-warn: linear-gradient(90deg, #E39A55, #D4712E);
  --meter-ok: linear-gradient(90deg, #3FB383, #0F7B57);
  --hero-bg: #15402F;      --hero-ink: #EAF4EE; --hero-soft: #CDE3D6; --hero-accent: #A6E3C4; --hero-crown: #E2BE6E;
  --hero-panel: rgba(255, 255, 255, .08);
  --switch-on: #3FB383;    --switch-off: #9AA29B;
  --card-uz: #17324F;      --card-humo: #1D3B2E;  --card-other: #2E3532;
  --logo-plate: #FFFFFF;
  --focus: #0F7B57;
  --tg-top: #0B7BBE;       --tg-bottom: #08669E;
  /* Sirtlar (Yumshoq: hammasi fon rangida, farqni soya beradi) */
  --surface: var(--bg);
  --surface-blur: none;
  --well: var(--bg);
  --seg-on: var(--bg);
  --bar: var(--bg);
  --cta-shadow: var(--raise-sm);
  --blob-green: rgba(46, 190, 130, .55);
  --blob-blue: rgba(70, 150, 210, .40);
  --blob-blue-2: rgba(70, 150, 210, .36);
  --blob-warm: rgba(240, 150, 80, .30);
  --blob-green-2: rgba(46, 190, 130, .45);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --bg: #222927; --ink: #ECEFEA; --ink-soft: #C2C8C0; --ink-mute: #98A199; --ink-fade: #7E877F;
    --brand: #3BBA8C; --brand-ink: #5ECFA4; --brand-ink-hi: #7FDDB8;
    --cta-top: #2C9B6E; --cta-bottom: #1B7552; --gold: #D9B15C; --gold-chip: #8A6516; --line: #37413C;
    --neu-lo: rgba(0, 0, 0, .62); --neu-hi: rgba(255, 255, 255, .07);
    --chip-ok-bg: #1F3D30; --chip-ok-ink: #9FE0C1; --chip-bad-bg: #4A2422; --chip-bad-ink: #F2B8B4;
    --chip-mute-bg: #2F3834; --chip-mute-ink: #C2C8C0; --chip-wait-bg: #4A3622; --chip-wait-ink: #F0C99A;
    --tag-bg: #1F3D30; --tag-ink: #9FE0C1; --warn-bg: #3F3022; --warn-ink: #F0D3B4; --warn-icon: #E9A86B;
    --err: #F2685E; --err-hi: #FF8A80; --hero-bg: #133828; --switch-off: #5C645D;
    --logo-plate: #FFFFFF; --focus: #5ECFA4;
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #222927; --ink: #ECEFEA; --ink-soft: #C2C8C0; --ink-mute: #98A199; --ink-fade: #7E877F;
  --brand: #3BBA8C; --brand-ink: #5ECFA4; --brand-ink-hi: #7FDDB8;
  --cta-top: #2C9B6E; --cta-bottom: #1B7552; --gold: #D9B15C; --gold-chip: #8A6516; --line: #37413C;
  --neu-lo: rgba(0, 0, 0, .62); --neu-hi: rgba(255, 255, 255, .07);
  --chip-ok-bg: #1F3D30; --chip-ok-ink: #9FE0C1; --chip-bad-bg: #4A2422; --chip-bad-ink: #F2B8B4;
  --chip-mute-bg: #2F3834; --chip-mute-ink: #C2C8C0; --chip-wait-bg: #4A3622; --chip-wait-ink: #F0C99A;
  --tag-bg: #1F3D30; --tag-ink: #9FE0C1; --warn-bg: #3F3022; --warn-ink: #F0D3B4; --warn-icon: #E9A86B;
  --err: #F2685E; --err-hi: #FF8A80; --hero-bg: #133828; --switch-off: #5C645D;
  --logo-plate: #FFFFFF; --focus: #5ECFA4;
}

/* ---------- Shisha (look.css / ilova Glass.kt: yarim shaffof oq, xira, ostida rangli dog'lar) ---------- */
html[data-look="glass"] {
  --surface: rgba(255, 255, 255, .5);
  --surface-blur: blur(18px) saturate(160%);
  --well: rgba(255, 255, 255, .42);
  --seg-on: #FFFFFF;
  --bar: rgba(255, 255, 255, .6);
  --raise: 0 12px 32px rgba(20, 64, 42, .12), 0 2px 6px rgba(20, 64, 42, .05), inset 0 0 0 1px rgba(255, 255, 255, .75), inset 0 1px 0 rgba(255, 255, 255, .9);
  --raise-sm: 0 6px 18px rgba(20, 64, 42, .10), inset 0 0 0 1px rgba(255, 255, 255, .75);
  --press: inset 0 1px 3px rgba(20, 64, 42, .10), inset 0 0 0 1px rgba(255, 255, 255, .7);
  --press-sm: inset 0 1px 3px rgba(20, 64, 42, .08), inset 0 0 0 1px rgba(255, 255, 255, .7);
  --cta-shadow: 0 10px 24px rgba(15, 123, 87, .28);
}
html[data-theme="dark"][data-look="glass"] {
  --surface: rgba(255, 255, 255, .06);
  --well: rgba(255, 255, 255, .06);
  --seg-on: rgba(255, 255, 255, .14);
  --bar: rgba(26, 32, 30, .62);
  --raise: 0 12px 32px rgba(0, 0, 0, .35), inset 0 0 0 1px rgba(255, 255, 255, .12), inset 0 1px 0 rgba(255, 255, 255, .10);
  --raise-sm: 0 6px 18px rgba(0, 0, 0, .30), inset 0 0 0 1px rgba(255, 255, 255, .12);
  --press: inset 0 1px 3px rgba(0, 0, 0, .30), inset 0 0 0 1px rgba(255, 255, 255, .10);
  --press-sm: inset 0 1px 3px rgba(0, 0, 0, .30), inset 0 0 0 1px rgba(255, 255, 255, .10);
  --cta-shadow: 0 10px 24px rgba(0, 0, 0, .40);
  --blob-green: rgba(36, 170, 115, .55);
  --blob-blue: rgba(40, 122, 170, .32);
  --blob-blue-2: rgba(40, 122, 170, .30);
  --blob-warm: rgba(230, 140, 70, .18);
  --blob-green-2: rgba(36, 170, 115, .42);
}

* { box-sizing: border-box; }
html, body { margin: 0; }
html { background: var(--bg); -webkit-tap-highlight-color: transparent; } /* telefonda bosilganda kulrang to'rtburchak chiqmasin */
a, button, label { touch-action: manipulation; }
body {
  min-height: 100vh;
  background: var(--bg);
  color: var(--ink);
  font-family: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--brand-ink); }
a:hover { color: var(--brand-ink-hi); }
h1, h2, h3 { margin: 0; text-wrap: balance; }
p { margin: 0; }
button { font-family: inherit; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
[hidden] { display: none !important; }
/* Shisha: rangli dog'lar sahifa ostida qotirilgan qatlamda (bosh sahifadagi bilan bir xil). */
html[data-look="glass"] body { background: transparent; }
html[data-look="glass"] body::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(40vmax 40vmax at 10% 6%, var(--blob-green), transparent 62%),
    radial-gradient(34vmax 34vmax at 94% 24%, var(--blob-blue), transparent 62%),
    radial-gradient(26vmax 26vmax at 66% 58%, var(--blob-warm), transparent 62%),
    radial-gradient(36vmax 36vmax at 4% 86%, var(--blob-blue-2), transparent 62%),
    radial-gradient(36vmax 36vmax at 96% 100%, var(--blob-green-2), transparent 62%);
}
.kb-noscript { padding: 24px; text-align: center; }
.kb-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.kb-num { font-variant-numeric: tabular-nums; }

/* ---------- Sirtlar ---------- */
.kb-raised { background: var(--surface); border-radius: 26px; box-shadow: var(--raise); -webkit-backdrop-filter: var(--surface-blur); backdrop-filter: var(--surface-blur); }
.kb-raised-sm { background: var(--surface); border-radius: 16px; box-shadow: var(--raise-sm); -webkit-backdrop-filter: var(--surface-blur); backdrop-filter: var(--surface-blur); }
.kb-inset { background: var(--well); box-shadow: var(--press); }
.kb-pro { box-shadow: var(--raise), inset 0 0 0 2px var(--gold); }
.kb-label { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-mute); }
.kb-muted { color: var(--ink-mute); }
.kb-soft { color: var(--ink-soft); }
.kb-note { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 18px; font-size: 14px; color: var(--ink-soft); }
.kb-note svg { flex: none; margin-top: 2px; color: var(--brand); }
.kb-warn { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 16px; background: var(--warn-bg); color: var(--warn-ink); font-size: 14px; }
.kb-warn svg { flex: none; margin-top: 1px; color: var(--warn-icon); }
.kb-tag { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 800; color: var(--tag-ink); background: var(--tag-bg); padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.kb-tag-gold { color: #fff; background: var(--gold-chip); letter-spacing: .06em; text-transform: uppercase; }
.kb-chip { flex: none; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 800; padding: 5px 10px; border-radius: 999px; white-space: nowrap; }
.kb-chip-ok { background: var(--chip-ok-bg); color: var(--chip-ok-ink); }
.kb-chip-bad { background: var(--chip-bad-bg); color: var(--chip-bad-ink); }
.kb-chip-mute { background: var(--chip-mute-bg); color: var(--chip-mute-ink); }
.kb-chip-wait { background: var(--chip-wait-bg); color: var(--chip-wait-ink); }

/* ---------- Tugmalar ---------- */
.kb-cta, .kb-ghost, .kb-danger-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  border: 0; border-radius: 999px; cursor: pointer; text-decoration: none; white-space: nowrap;
  font: 700 16px/1.1 'Manrope', system-ui, sans-serif;
  transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}
.kb-cta { min-height: 52px; padding: 0 28px; background: linear-gradient(180deg, var(--cta-top), var(--cta-bottom)); color: var(--on-fill); box-shadow: var(--cta-shadow); }
.kb-cta:hover { color: var(--on-fill); filter: brightness(.96); }
.kb-ghost { min-height: 48px; padding: 0 22px; background: var(--surface); color: var(--ink); font-size: 15px; box-shadow: var(--raise-sm); -webkit-backdrop-filter: var(--surface-blur); backdrop-filter: var(--surface-blur); }
.kb-ghost:hover { color: var(--brand-ink); }
.kb-danger { color: var(--err); }
.kb-danger:hover { color: var(--err-hi); }
.kb-danger-btn { min-height: 46px; padding: 0 20px; background: var(--err); color: #fff; font-size: 15px; }
.kb-cta:active, .kb-ghost:active, .kb-danger-btn:active { transform: scale(.98); }
/* Bosilganini tugmaning o'z shakli bildiradi (brauzerning tap-highlight to'rtburchagi o'rniga). */
.kb-login, .kb-seg, .kb-nav, .kb-tab, .kb-method, .kb-cardrow, .kb-hero-btn, .kb-hero-link, .kb-link-btn, .kb-switch, .kb-brand { transition: transform .12s ease; }
.kb-login:active, .kb-seg:active, .kb-nav:active, .kb-tab:active, .kb-method:active, .kb-cardrow:active,
.kb-hero-btn:active, .kb-hero-link:active, .kb-link-btn:active, .kb-switch:active, .kb-brand:active { transform: scale(.97); }
.kb-login:disabled:active, .kb-switch:disabled:active { transform: none; }
.kb-cta:disabled, .kb-ghost:disabled, .kb-danger-btn:disabled {
  cursor: not-allowed; background: var(--well); color: var(--ink-fade); box-shadow: var(--press-sm); filter: none; transform: none;
}
.kb-link-btn { border: 0; background: none; padding: 0; color: var(--brand-ink); font: 700 14px 'Manrope', system-ui, sans-serif; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.kb-back { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 700; text-decoration: none; }
.kb-spin { width: 18px; height: 18px; border-radius: 50%; border: 2.5px solid currentColor; border-right-color: transparent; animation: kb-spin .8s linear infinite; }
@keyframes kb-spin { to { transform: rotate(360deg); } }

/* ---------- Segment (bir tanlov) ---------- */
.kb-segs { display: inline-flex; gap: 4px; padding: 5px; border-radius: 999px; flex-wrap: wrap; }
.kb-seg { min-height: 40px; padding: 0 18px; border: 0; border-radius: 999px; background: transparent; font: 700 14px 'Manrope', system-ui, sans-serif; color: var(--ink-soft); cursor: pointer; }
.kb-segs-compact { margin: 0 8px 8px; flex-wrap: nowrap; }
.kb-segs-compact .kb-seg { padding: 0 11px; min-height: 36px; font-size: 13px; }
.kb-seg[aria-pressed="true"] { background: var(--seg-on); color: var(--brand-ink); box-shadow: var(--raise-sm); }

/* ---------- Maydonlar ---------- */
.kb-field { display: flex; flex-direction: column; gap: 8px; }
.kb-input {
  width: 100%; min-height: 52px; padding: 0 18px; border: 0; border-radius: 16px; background: var(--well); box-shadow: var(--press);
  font: 700 17px 'Manrope', system-ui, sans-serif; letter-spacing: .03em; color: var(--ink);
}
.kb-input::placeholder { color: var(--ink-fade); font-weight: 600; letter-spacing: 0; }
.kb-input[aria-invalid="true"] { box-shadow: var(--press), inset 0 0 0 2px var(--err); }
.kb-field-err { font-size: 13px; font-weight: 600; color: var(--err); }
.kb-otp { max-width: 240px; min-height: 60px; text-align: center; font-size: 26px; font-weight: 800; letter-spacing: .4em; padding-left: calc(18px + .4em); }
.kb-check { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 18px; cursor: pointer; font-size: 14px; color: var(--ink-soft); }
.kb-check input { flex: none; width: 22px; height: 22px; margin: 0; accent-color: var(--brand); }

/* ---------- Kirish sahifasi ---------- */
.kb-login-page { min-height: 100vh; padding-block: 24px 32px; padding-inline: clamp(16px, 4vw, 48px); display: flex; flex-direction: column; gap: 40px; }
.kb-login-page > * { max-width: 1120px; width: 100%; margin-inline: auto; }
.kb-topbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.kb-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); }
.kb-brand:hover { color: var(--ink); }
.kb-brand img { width: 40px; height: 40px; border-radius: 12px; }
.kb-brand b { font-size: 20px; font-weight: 800; letter-spacing: -.01em; }
.kb-brand span { font-size: 12px; font-weight: 700; color: var(--ink-soft); padding: 5px 11px; border-radius: 999px; }
.kb-login-main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); align-items: center; gap: 56px; }
.kb-login-intro { min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.kb-pill { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; font-size: 14px; font-weight: 700; color: var(--ink-soft); }
.kb-pill svg { color: var(--gold); }
.kb-login-intro h1 { font-size: clamp(32px, 4.2vw, 50px); line-height: 1.08; font-weight: 800; letter-spacing: -.02em; }
.kb-login-intro > p { max-width: 34em; font-size: 18px; line-height: 1.55; color: var(--ink-soft); }
.kb-perks { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.kb-perks li { display: flex; gap: 16px; align-items: flex-start; }
.kb-perks .kb-ico { flex: none; width: 48px; height: 48px; display: grid; place-items: center; color: var(--brand); }
.kb-perks strong { display: block; font-size: 16px; }
.kb-perks span { font-size: 15px; color: var(--ink-mute); }
.kb-login-card { min-width: 0; padding: clamp(24px, 3vw, 40px); display: flex; flex-direction: column; gap: 22px; }
.kb-login-card h2 { font-size: 26px; font-weight: 800; }
.kb-login-pay { display: flex; gap: 10px; align-items: flex-start; margin-top: 12px; font-size: 15px; font-weight: 700; line-height: 1.45; color: var(--brand-ink); }
.kb-login-pay svg { flex: none; margin-top: 1px; }
.kb-login-btns { display: flex; flex-direction: column; gap: 14px; }
.kb-login-btns { max-width: 400px; width: 100%; margin-inline: auto; }
/* Google tugmasini Google o'zi chizadi (GIS, «large» = 40 px, pill) — qolganlari aynan shu o'lchamda, bir xil ko'rinsin. */
.kb-login {
  display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; height: 40px; padding: 0 20px;
  border: 0; border-radius: 999px; font: 600 15px/1 'Manrope', system-ui, sans-serif; cursor: pointer; box-shadow: var(--raise-sm);
}
.kb-login svg { width: 18px; height: 18px; flex: none; }
.kb-tg { background: linear-gradient(180deg, var(--tg-top), var(--tg-bottom)); color: #fff; }
.kb-apple { background: #000; color: #fff; }
.kb-google-slot { display: flex; justify-content: center; height: 40px; border-radius: 999px; box-shadow: var(--raise-sm); }
.kb-login:disabled { opacity: .6; cursor: progress; }
.kb-login-err { padding: 14px 16px; border-radius: 16px; background: var(--chip-bad-bg); color: var(--chip-bad-ink); font-size: 14px; font-weight: 600; }
.kb-fine { font-size: 13px; color: var(--ink-mute); text-align: center; }
.kb-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: auto; font-size: 13px; color: var(--ink-mute); }

/* Telefon va planshetda (ko'pchilik shu yerdan kiradi) — avval kirish kartasi, tanishtiruv matni pastda. */
@media (max-width: 959px) {
  .kb-login-page { gap: 24px; padding-block: 16px 28px; }
  .kb-login-main { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .kb-login-main > * { width: 100%; max-width: 560px; justify-self: center; }
  .kb-login-card { order: -1; }
  .kb-login-intro h1 { font-size: clamp(26px, 6.4vw, 34px); }
  .kb-login-intro > p { font-size: 16px; }
}

/* ---------- Kabinet qobig'i ---------- */
.kb-shell { min-height: 100vh; display: flex; align-items: stretch; }
.kb-side { flex: 0 0 260px; padding: 28px 20px; display: flex; flex-direction: column; gap: 6px; position: sticky; top: 0; height: 100vh; height: 100dvh; overflow-y: auto; }
.kb-side .kb-brand { padding: 0 8px 22px; }
.kb-mobile-brand { display: none; }
.kb-nav { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 16px; border: 0; border-radius: 14px; background: transparent; color: var(--ink-soft); font: 600 15px 'Manrope', system-ui, sans-serif; text-decoration: none; cursor: pointer; text-align: left; }
.kb-nav:hover { color: var(--brand-ink); }
.kb-nav[aria-current="page"] { background: var(--seg-on); color: var(--brand-ink); font-weight: 700; box-shadow: var(--raise-sm); }
.kb-side .kb-grow { flex: 1; min-height: 24px; }
.kb-main { flex: 1 1 auto; min-width: 0; width: 100%; max-width: 1100px; margin-inline: auto; padding-block: 28px 48px; padding-inline: clamp(16px, 3vw, 44px); display: flex; flex-direction: column; gap: 26px; }
.kb-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.kb-head h1 { font-size: 32px; font-weight: 800; letter-spacing: -.01em; }
.kb-head p { margin-top: 6px; color: var(--ink-mute); }
.kb-who { display: flex; align-items: center; gap: 12px; padding: 8px 18px 8px 8px; border-radius: 999px; }
.kb-avatar { flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--tag-bg); color: var(--brand-ink); display: grid; place-items: center; font-weight: 800; font-size: 15px; }
.kb-who strong { display: block; font-size: 15px; }
.kb-who span { font-size: 13px; color: var(--ink-mute); }
.kb-tabs { display: none; }
.kb-grid2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 24px; }
.kb-card-pad { padding: 24px 28px; display: flex; flex-direction: column; gap: 14px; }
.kb-card-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.kb-card-head h2 { font-size: 18px; font-weight: 800; }
.kb-card-head a, .kb-card-head button { font-size: 14px; font-weight: 700; }
.kb-empty { display: flex; gap: 14px; align-items: center; }
.kb-empty .kb-ico { flex: none; width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; color: var(--ink-mute); }
.kb-empty strong { display: block; }
.kb-empty span { font-size: 14px; color: var(--ink-mute); }
.kb-dl { margin: 0; display: flex; flex-direction: column; gap: 12px; font-size: 15px; }
.kb-dl > div { display: flex; justify-content: space-between; gap: 12px; }
.kb-dl dt { color: var(--ink-soft); }
.kb-dl dd { margin: 0; font-weight: 700; text-align: right; }
.kb-profile-dl { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 18px 28px; }
.kb-profile-dl dd { margin: 4px 0 0; font-size: 16px; font-weight: 700; overflow-wrap: anywhere; }
.kb-loading { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 60vh; color: var(--ink-mute); font-weight: 700; }

/* ---------- Obuna ---------- */
.kb-plan-now { padding: 28px; display: flex; flex-wrap: wrap; gap: 28px; align-items: center; justify-content: space-between; }
.kb-plan-now > div { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.kb-plan-name { font-size: 30px; font-weight: 800; }
.kb-meter { height: 14px; border-radius: 999px; padding: 3px; }
.kb-meter i { display: block; height: 100%; border-radius: 999px; background: var(--meter-ok); }
.kb-meter.is-warn i { background: var(--meter-warn); }
.kb-meter-label { display: flex; justify-content: space-between; font-size: 14px; font-weight: 700; color: var(--ink-soft); }
.kb-meter-warn { font-size: 14px; font-weight: 600; color: var(--warn-icon); }
.kb-plans-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.kb-plans-head h2 { font-size: 22px; font-weight: 800; }
.kb-plan { padding: 28px; display: flex; flex-direction: column; gap: 18px; }
.kb-plan h3 { font-size: 24px; font-weight: 800; display: flex; align-items: center; gap: 8px; }
.kb-plan-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.kb-price { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.kb-price b { font-size: 40px; font-weight: 800; letter-spacing: -.02em; }
.kb-price span { font-size: 16px; font-weight: 700; color: var(--ink-mute); }
.kb-ticks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.kb-ticks li { display: flex; gap: 10px; align-items: flex-start; }
.kb-ticks svg { flex: none; margin-top: 2px; color: var(--brand); }
.kb-plan .kb-cta, .kb-plan .kb-ghost { margin-top: auto; }

.kb-hero { border-radius: 28px; background: var(--hero-bg); color: var(--hero-ink); padding: clamp(24px, 3vw, 34px); display: flex; flex-wrap: wrap; gap: 28px; justify-content: space-between; box-shadow: var(--raise); }
.kb-hero > div:first-child { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.kb-hero-title { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.kb-hero-title b { font-size: 30px; font-weight: 800; }
.kb-hero-title svg { color: var(--hero-crown); }
.kb-hero-chip { font-size: 13px; font-weight: 800; color: #0E3526; background: var(--hero-accent); padding: 5px 11px; border-radius: 999px; }
.kb-hero-chip.is-warn { background: #F0C99A; color: #4A2A08; }
.kb-hero-chip.is-bad { background: #F2B8B4; color: #5A120E; }
.kb-hero-until { font-size: 17px; font-weight: 600; }
.kb-hero-bar { height: 10px; border-radius: 999px; background: rgba(255, 255, 255, .16); overflow: hidden; }
.kb-hero-bar i { display: block; height: 100%; border-radius: 999px; background: var(--hero-accent); }
.kb-hero-line { font-size: 15px; color: var(--hero-soft); }
.kb-hero-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
.kb-hero-btn { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--hero-ink); color: #0E3526; font: 700 15px 'Manrope', system-ui, sans-serif; cursor: pointer; text-decoration: none; }
.kb-hero-btn:hover { background: #fff; color: #0E3526; }
.kb-hero-link { display: inline-flex; align-items: center; min-height: 48px; padding: 0 6px; border: 0; background: transparent; color: var(--hero-ink); font: 700 15px 'Manrope', system-ui, sans-serif; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.kb-hero-link:hover { color: #fff; }
.kb-hero-panel { flex: 0 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 14px; padding: 20px; border-radius: 22px; background: var(--hero-panel); align-self: flex-start; }
.kb-hero-panel span { font-size: 14px; color: var(--hero-soft); }
.kb-switch-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 16px; font-weight: 800; }
.kb-switch { position: relative; flex: none; width: 60px; height: 34px; border: 0; border-radius: 999px; cursor: pointer; padding: 0; background: var(--switch-off); }
.kb-switch[aria-checked="true"] { background: var(--switch-on); }
.kb-switch i { position: absolute; top: 4px; left: 4px; width: 26px; height: 26px; border-radius: 50%; background: #fff; display: grid; place-items: center; transition: left .18s ease; color: var(--brand); }
.kb-switch[aria-checked="true"] i { left: 30px; }
.kb-switch:disabled { opacity: .6; cursor: progress; }
.kb-banner { padding: 18px 22px; border-radius: 22px; display: flex; gap: 14px; align-items: flex-start; }
.kb-banner svg { flex: none; margin-top: 2px; }
.kb-banner strong { display: block; font-size: 16px; margin-bottom: 2px; }
.kb-banner.is-warn { background: var(--warn-bg); color: var(--warn-ink); }
.kb-banner.is-warn svg { color: var(--warn-icon); }
.kb-banner.is-info { background: var(--chip-ok-bg); color: var(--chip-ok-ink); }
.kb-confirm { padding: 24px 28px; display: flex; flex-direction: column; gap: 16px; }
.kb-confirm h2 { font-size: 18px; font-weight: 800; }
.kb-btn-row { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- To'lov ---------- */
.kb-pay { display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-start; }
.kb-pay-main { flex: 2 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.kb-pay-aside { flex: 1 1 300px; max-width: 420px; min-width: 0; padding: 28px; display: flex; flex-direction: column; gap: 18px; position: sticky; top: 24px; }
.kb-pay-aside h2 { font-size: 18px; font-weight: 800; }
.kb-total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.kb-total b { font-size: 30px; font-weight: 800; }
.kb-sep { height: 1px; background: var(--line); }
.kb-chosen { padding: 22px 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px; justify-content: space-between; }
.kb-chosen > div { display: flex; align-items: center; gap: 14px; }
.kb-chosen .kb-ico { flex: none; width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; color: var(--gold); }
.kb-chosen strong { display: block; font-size: 18px; }
.kb-chosen span { font-size: 14px; color: var(--ink-mute); }
.kb-section-title { font-size: 20px; font-weight: 800; }
.kb-methods { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 18px; }
.kb-method { display: flex; flex-direction: column; gap: 10px; text-align: left; padding: 20px; border: 0; border-radius: 22px; background: var(--surface); color: var(--ink); font: inherit; cursor: pointer; box-shadow: var(--raise-sm); -webkit-backdrop-filter: var(--surface-blur); backdrop-filter: var(--surface-blur); }
.kb-method[aria-pressed="true"] { box-shadow: var(--raise-sm), inset 0 0 0 2px var(--brand); }
.kb-method-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; font-size: 17px; font-weight: 800; }
.kb-method-title > span { display: flex; align-items: center; gap: 10px; }
.kb-method small { font-size: 13px; color: var(--ink-mute); }
.kb-brands { display: flex; gap: 6px; align-items: center; }
.kb-logo-uz { display: inline-grid; place-items: center; width: 35px; height: 24px; border-radius: 5px; background: var(--logo-plate); border: 1px solid rgba(20, 25, 20, .1); flex: none; }
.kb-logo-uz img { height: 16px; width: auto; }
.kb-logo-humo { width: 40px; height: 24px; object-fit: cover; border-radius: 4px; flex: none; }
.kb-logo-click { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--logo-plate); border: 1px solid rgba(20, 25, 20, .08); flex: none; }
.kb-logo-click img { width: 20px; height: 20px; }
.kb-logo-none { display: inline-grid; place-items: center; width: 35px; height: 24px; border-radius: 5px; background: var(--chip-mute-bg); color: var(--ink-mute); flex: none; }
.kb-cardlist { padding: 10px; display: flex; flex-direction: column; gap: 6px; }
.kb-cardrow { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 18px; cursor: pointer; color: var(--ink); text-decoration: none; border: 0; background: transparent; font: inherit; text-align: left; width: 100%; }
.kb-cardrow:hover { color: var(--brand-ink); }
.kb-cardrow input { width: 20px; height: 20px; accent-color: var(--brand); margin: 0; flex: none; }
.kb-cardrow.is-on { background: var(--well); box-shadow: var(--press); }
.kb-cardrow b { display: block; font-size: 16px; letter-spacing: .04em; }
.kb-cardrow small { font-size: 13px; color: var(--ink-mute); }
.kb-promo { display: flex; flex-wrap: wrap; gap: 12px; }
.kb-promo .kb-input { flex: 1 1 200px; width: auto; text-transform: uppercase; }
.kb-promo-msg { font-size: 14px; font-weight: 600; }
.kb-promo-msg.is-ok { color: var(--brand-ink); }
.kb-promo-msg.is-bad { color: var(--err); }
.kb-steps { padding: 24px; display: flex; flex-direction: column; gap: 18px; }
.kb-steps h2 { font-size: 16px; font-weight: 800; }
.kb-steps ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.kb-steps li { display: flex; gap: 14px; align-items: flex-start; }
.kb-steps i { flex: none; width: 12px; height: 12px; margin-top: 5px; border-radius: 50%; box-shadow: 0 0 0 4px var(--bg), 0 0 0 6px var(--neu-lo); }
.kb-steps strong { display: block; font-size: 15px; }
.kb-steps span { font-size: 14px; color: var(--ink-soft); }
.kb-result { max-width: 560px; margin: 4vh auto 0; padding: clamp(24px, 4vw, 40px); display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; }
.kb-result-ico { width: 84px; height: 84px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--brand); }
.kb-result-ico.is-bad { background: var(--err); }
.kb-result-ico.is-wait { background: var(--well); color: var(--brand); box-shadow: var(--press); }
.kb-result h1 { font-size: 26px; font-weight: 800; }
.kb-result p { color: var(--ink-soft); }
.kb-result .kb-dl { width: 100%; text-align: left; }

/* ---------- Kartalar ---------- */
.kb-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: 24px; }
.kb-cardbox { padding: 20px; display: flex; flex-direction: column; gap: 16px; }
.kb-plastic { aspect-ratio: 1.6; max-width: 100%; border-radius: 20px; color: #fff; padding: 20px; display: flex; flex-direction: column; justify-content: space-between; background: var(--card-other); }
.kb-plastic.is-uz { background: var(--card-uz); }
.kb-plastic.is-humo { background: var(--card-humo); }
.kb-plastic-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.kb-plastic .kb-logo-uz { width: 46px; height: 32px; border-radius: 7px; border: 0; }
.kb-plastic .kb-logo-uz img { height: 21px; }
.kb-plastic .kb-logo-humo { width: 53px; height: 32px; border-radius: 6px; }
.kb-plastic-pan { font-size: clamp(17px, 2.2vw, 22px); font-weight: 700; letter-spacing: .1em; }
.kb-plastic-foot { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; opacity: .9; }
.kb-plastic .kb-tag { background: var(--tag-bg); color: var(--tag-ink); }
.kb-add { padding: clamp(22px, 3vw, 32px); display: flex; flex-wrap: wrap; gap: 32px; }
.kb-add-form { flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.kb-add-form h2 { font-size: 20px; font-weight: 800; }
.kb-add-aside { flex: 1 1 240px; min-width: 0; }
.kb-add-aside > div { padding: 18px; border-radius: 20px; display: flex; flex-direction: column; gap: 14px; }
.kb-expiry { max-width: 220px; }
.kb-pan-wrap { position: relative; }
.kb-pan-wrap .kb-input { padding-right: 64px; }
.kb-pan-brand { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); display: flex; }

/* ---------- Tarix ---------- */
.kb-hist { padding: 10px 24px 8px; }
.kb-hist h2 { margin: 14px 4px 4px; }
.kb-hist ul { list-style: none; margin: 0; padding: 0; }
.kb-row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; padding: 18px 4px; border-top: 1px solid var(--line); }
.kb-row:first-child { border-top: 0; }
.kb-row-date { flex: 0 0 76px; display: flex; flex-direction: column; gap: 2px; }
.kb-row-date strong { font-size: 16px; }
.kb-row-date span { font-size: 13px; color: var(--ink-mute); }
.kb-row-body { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.kb-row-body strong { font-size: 16px; }
.kb-row-body span { font-size: 14px; color: var(--ink-soft); }
.kb-row-body small { font-size: 13px; color: var(--ink-mute); }
.kb-row-sum { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; margin-left: auto; }
.kb-row-sum b { font-size: 17px; font-weight: 800; white-space: nowrap; }
.kb-row-sum b small { font-size: 13px; font-weight: 700; color: var(--ink-mute); }
.kb-mini { list-style: none; margin: 0; padding: 0; }
.kb-mini li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding: 12px 0; border-top: 1px solid var(--line); }
.kb-mini li:first-child { border-top: 0; }
.kb-mini li > strong:first-child { flex: 0 0 72px; }
.kb-mini li > span { flex: 1 1 200px; color: var(--ink-soft); }

/* ---------- Toast ---------- */
.kb-toast { position: fixed; left: 50%; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); z-index: 50; max-width: min(520px, calc(100vw - 32px)); padding: 14px 20px; border-radius: 16px; background: var(--ink); color: var(--bg); font-weight: 700; font-size: 14px; box-shadow: 0 10px 30px rgba(0, 0, 0, .25); }

/* ---------- Telefon ---------- */
@media (max-width: 860px) {
  .kb-shell { display: block; padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
  .kb-side { display: none; }
  .kb-mobile-brand { display: block; }
  .kb-mobile-brand .kb-brand img { width: 34px; height: 34px; border-radius: 10px; }
  .kb-mobile-brand .kb-brand b { font-size: 18px; }
  .kb-main { padding-block: 18px 32px; padding-inline: 16px; gap: 20px; }
  .kb-head h1 { font-size: 26px; }
  .kb-tabs {
    display: flex; gap: 4px; position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); z-index: 40;
    padding: 6px; border-radius: 26px; background: var(--bar); box-shadow: var(--raise);
    -webkit-backdrop-filter: blur(16px) saturate(170%); backdrop-filter: blur(16px) saturate(170%);
  }
  .kb-tab { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 56px; border-radius: 18px; color: var(--ink-soft); font-size: 12px; font-weight: 700; text-decoration: none; }
  .kb-tab[aria-current="page"] { color: var(--brand-ink); box-shadow: var(--press-sm); }
  .kb-who { padding: 4px; }
  .kb-who > span:last-child { display: none; }
  .kb-plan, .kb-plan-now, .kb-card-pad, .kb-confirm, .kb-pay-aside { padding: 20px; }
  .kb-price b { font-size: 34px; }
  .kb-pay-aside { position: static; max-width: none; }
  .kb-hist { padding: 6px 16px; }
  .kb-row { flex-wrap: nowrap; align-items: flex-start; gap: 12px; padding: 16px 0; }
  .kb-row-date { flex: 0 0 50px; }
  .kb-row-date strong, .kb-row-body strong { font-size: 15px; }
  .kb-row-body { flex: 1 1 auto; }
  .kb-row-body span { font-size: 13px; }
  .kb-row-sum b { font-size: 15px; }
  .kb-row-sum .kb-chip { font-size: 12px; padding: 4px 8px; }
  .kb-toast { bottom: calc(100px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation-duration: .01ms !important; }
}
