/* S57 hodim paneli: base.css (A). Tokenlar, tipografiya, umumiy komponentlar, qobiq (shell).
   TASS Vision: binafsha #7703fc, to'q #23054a, Onest + Manrope (caps), radius 18, soya yo'q.
   theme.css (D) shu o'zgaruvchilarni [data-theme] / [data-accent] / [data-density] / [data-font] bilan almashtiradi. */

/* ---- shriftlar: faqat /h/static/fonts ---- */
@font-face { font-family:'Onest'; font-weight:400; font-display:swap; src:url('/h/static/fonts/onest-latin-400.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'Onest'; font-weight:500; font-display:swap; src:url('/h/static/fonts/onest-latin-500.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'Onest'; font-weight:600; font-display:swap; src:url('/h/static/fonts/onest-latin-600.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'Onest'; font-weight:700; font-display:swap; src:url('/h/static/fonts/onest-latin-700.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'Onest'; font-weight:400 700; font-display:swap; src:url('/h/static/fonts/onest-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Onest'; font-weight:400; font-display:swap; src:url('/h/static/fonts/onest-cyrillic-400.woff2') format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Onest'; font-weight:500; font-display:swap; src:url('/h/static/fonts/onest-cyrillic-500.woff2') format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Onest'; font-weight:600; font-display:swap; src:url('/h/static/fonts/onest-cyrillic-600.woff2') format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Onest'; font-weight:700; font-display:swap; src:url('/h/static/fonts/onest-cyrillic-700.woff2') format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Manrope'; font-weight:600; font-display:swap; src:url('/h/static/fonts/manrope-latin-600.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'Manrope'; font-weight:700; font-display:swap; src:url('/h/static/fonts/manrope-latin-700.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'Manrope'; font-weight:600; font-display:swap; src:url('/h/static/fonts/manrope-cyrillic-600.woff2') format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Manrope'; font-weight:700; font-display:swap; src:url('/h/static/fonts/manrope-cyrillic-700.woff2') format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }

/* ---- tokenlar (kunduzgi) ---- */
:root {
  --v:#7703fc; --v-d:#5f02cb; --v-t:#f3ecfe; --v-s:#d9c2fe; --lilac:#a970ff; --fold:#23054a; --fold-2:#1a0636; --leaf:#7fe0a8;
  --ink:#1c1b22; --gray:#6e6c78; --gray3:#b4b1bf; --line:#e8e7ee; --panel:#f4f4f7; --surf:#f8f7fb; --bg:#ffffff; --card:#ffffff;
  --on-v:#ffffff; --on-fold:#ffffff; --on-fold-2:rgba(255,255,255,.72);
  --green:#16a34a; --green-t:#e8f8ee; --red:#e2445c; --red-t:#fcebee; --red-tx:#c22a43; --green-tx:#13803b; --amber:#d97706; --amber-t:#fbf1e3; --blue:#3894f7; --blue-t:#eaf3fe; --teal:#0d9488; --teal-t:#e6f6f4;
  --tint:var(--v-t); --soft:var(--v-s);
  --font:'Onest',system-ui,-apple-system,'Segoe UI',sans-serif; --font-caps:'Manrope','Onest',system-ui,sans-serif;
  --fs:15px; --gap:16px; --pad:20px; --r:18px; --r2:14px; --ri:12px; --pillr:999px;
  --side:248px; --side-rail:76px; --toph:64px; --navh:64px; --maxw:1180px;
  --ease:cubic-bezier(.16,1,.3,1); --dur:180ms;
  --safe-b:env(safe-area-inset-bottom, 0px);
  color-scheme:light;
}

/* ---- asos ---- */
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; min-height:100vh; background:var(--bg); color:var(--ink); font:400 var(--fs)/1.45 var(--font); -webkit-font-smoothing:antialiased; }
button, input, textarea, select { font:inherit; color:inherit; }
button { cursor:pointer; }
a { color:var(--v); }
h1, h2, h3 { margin:0; letter-spacing:-.01em; }
p { margin:0; }
[hidden] { display:none !important; }
.num, .cnt, .kv b, td.n { font-variant-numeric:tabular-nums; }
.caps { font:700 11px/1.2 var(--font-caps); letter-spacing:.15em; text-transform:uppercase; color:var(--gray); }
.sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
:focus-visible { outline:2px solid var(--v); outline-offset:2px; }
svg.ic { width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.wm { display:inline-flex; align-items:center; line-height:0; }
.wm img { display:block; height:24px; width:auto; }
.wm .wm-d, .wm .wm-m { display:none; }
.side .wm .wm-l, .band .wm .wm-l, html[data-theme="dark"] .wm .wm-l { display:none; }
.side .wm .wm-d, .band .wm .wm-d, html[data-theme="dark"] .wm .wm-d { display:block; }
.bootlogo { height:36px; width:auto; opacity:.8; }
.bg { position:fixed; inset:0; z-index:-1; pointer-events:none; }
.boot { min-height:100vh; display:grid; place-items:center; color:var(--gray); }
.skip { position:absolute; left:12px; top:-60px; z-index:50; padding:10px 16px; border-radius:var(--pillr); background:var(--v); color:var(--on-v); text-decoration:none; font-weight:600; }
.skip:focus { top:12px; }

/* ---- tugmalar ---- */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 22px; border-radius:var(--pillr); border:1px solid var(--line); background:var(--card); color:var(--ink); font-weight:600; font-size:15px; text-decoration:none; transition:background var(--dur), border-color var(--dur), color var(--dur), transform var(--dur); }
.btn:hover { border-color:var(--v); color:var(--v); }
.btn:active:not(:disabled) { transform:scale(.97); }
.btn.solid { background:var(--v); border-color:transparent; color:var(--on-v); }
.btn.solid:hover { background:var(--v-d); color:var(--on-v); }
.btn.ghost { border-color:transparent; background:transparent; color:var(--v); padding:10px 12px; }
.btn.ghost:hover { background:var(--v-t); }
.btn.small { min-height:36px; padding:6px 14px; font-size:14px; }
.btn.block { width:100%; }
.btn:disabled { opacity:.45; cursor:default; }
.btn.danger { color:var(--red-tx); }
.iconbtn { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:44px; min-height:44px; padding:0 10px; border:0; border-radius:var(--pillr); background:transparent; color:var(--gray); font-weight:600; font-size:14px; }
.iconbtn:hover { background:var(--panel); color:var(--ink); }
.iconbtn:disabled { opacity:.45; }

/* ---- til tabletkalari ---- */
.langsw { display:inline-flex; gap:2px; padding:3px; border-radius:var(--pillr); background:var(--panel); }
.lpill { min-width:38px; min-height:32px; padding:0 10px; border:0; border-radius:var(--pillr); background:transparent; color:var(--gray); font:700 12px/1 var(--font-caps); letter-spacing:.08em; }
.lpill:hover { color:var(--ink); }
.lpill[aria-pressed="true"] { background:var(--card); color:var(--v); }

/* ---- karta, ro'yxat, holatlar ---- */
.card { position:relative; background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:var(--pad); transition:border-color var(--dur), transform var(--dur) var(--ease); }
.card.click { cursor:pointer; }
.card.click:hover { border-color:var(--v); }
.chead { display:flex; align-items:flex-start; gap:12px; margin-bottom:14px; }
.chead .ctit { flex:1; min-width:0; }
.chead h3 { font-size:16px; font-weight:600; }
.csub { color:var(--gray); font-size:13px; margin-top:2px; }
.cic { display:grid; place-items:center; width:36px; height:36px; border-radius:var(--ri); background:var(--v-t); color:var(--v); flex:none; }
.cic.g { background:var(--green-t); color:var(--green); } .cic.r { background:var(--red-t); color:var(--red); } .cic.y { background:var(--amber-t); color:var(--amber); } .cic.b { background:var(--blue-t); color:var(--blue); }
.grid { display:grid; gap:var(--gap); grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); }
.list { display:grid; gap:10px; }
.skel { height:72px; border-radius:var(--r2); background:linear-gradient(90deg, var(--panel) 0%, var(--surf) 50%, var(--panel) 100%); background-size:200% 100%; }
.empty { display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; padding:36px 20px; color:var(--gray); }
.empty .eart { position:relative; width:88px; height:72px; margin-bottom:6px; }
.empty .eb1 { position:absolute; left:6px; top:8px; width:56px; height:56px; border-radius:50%; background:var(--v-t); }
.empty .eb2 { position:absolute; right:4px; top:20px; width:40px; height:40px; border-radius:var(--ri); background:var(--blue-t); }
.empty .eic { position:absolute; left:22px; top:24px; color:var(--v); }
.empty .eic svg.ic { width:24px; height:24px; }
.empty .et { color:var(--ink); font-size:17px; font-weight:600; }
.empty .ex { max-width:420px; }
.empty .enext { display:flex; flex-direction:column; gap:4px; margin-top:6px; padding:10px 16px; border-radius:var(--r2); background:var(--surf); color:var(--ink); }
.errbox { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:14px 16px; border-radius:var(--r2); background:var(--red-t); color:var(--ink); }
.pill { display:inline-flex; align-items:center; gap:4px; min-height:24px; padding:2px 10px; border-radius:var(--pillr); background:var(--panel); color:var(--gray); font-size:12px; font-weight:600; white-space:nowrap; }
.pill.g { background:var(--green-t); color:var(--green-tx); } .pill.r { background:var(--red-t); color:var(--red-tx); } .pill.y { background:var(--amber-t); color:var(--amber); }
.pill.v { background:var(--v-t); color:var(--v); } .pill.b { background:var(--blue-t); color:var(--blue); }
.kv { display:flex; flex-direction:column; gap:4px; }
.kv b { font-size:22px; font-weight:700; }
.kv.g b { color:var(--green); } .kv.r b { color:var(--red); } .kv.y b { color:var(--amber); } .kv.v b { color:var(--v); } .kv.b b { color:var(--blue); }
.kv small { color:var(--gray); }
.delta { display:inline-flex; align-items:center; gap:2px; font-weight:600; font-size:13px; }
.delta svg.ic { width:16px; height:16px; }
.delta.up { color:var(--green-tx); } .delta.down { color:var(--red-tx); } .delta.flat { color:var(--gray); }
.ringw { position:relative; display:inline-grid; place-items:center; }
.ringw svg circle { fill:none; }
.ringw svg .bg { stroke:var(--panel); }
.ringw svg .fg { stroke:var(--v); stroke-linecap:round; transform:rotate(-90deg); transform-origin:50% 50%; }
.ringw svg .fg.g { stroke:var(--green); } .ringw svg .fg.r { stroke:var(--red); } .ringw svg .fg.y { stroke:var(--amber); } .ringw svg .fg.b { stroke:var(--blue); }
.ringw .ct { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.ringw .ct b { font-size:18px; } .ringw.big .ct b { font-size:26px; }
.ringw .ct small { color:var(--gray); font-size:12px; }
svg.bar { display:block; width:100%; height:8px; }
svg.bar .bg { fill:var(--panel); } svg.bar .fg { fill:var(--v); }
svg.bar .fg.g { fill:var(--green); } svg.bar .fg.r { fill:var(--red); } svg.bar .fg.y { fill:var(--amber); } svg.bar .fg.b { fill:var(--blue); }
.badge { display:inline-grid; place-items:center; min-width:20px; height:20px; padding:0 6px; border-radius:var(--pillr); background:var(--red); color:#fff; font-size:11px; font-weight:700; font-variant-numeric:tabular-nums; }
.dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--gray3); flex:none; }
.dot.green, .dot.g { background:var(--green); } .dot.yellow, .dot.y { background:var(--amber); } .dot.red, .dot.r { background:var(--red); }
.msg { padding:12px 14px; border-radius:var(--r2); margin:12px 0; font-size:14px; }
.msg.ok { background:var(--green-t); } .msg.warn { background:var(--amber-t); } .msg.err { background:var(--red-t); } .msg.info { background:var(--blue-t); }
.hint { color:var(--gray); font-size:13px; margin-top:12px; }
.field-l { display:block; font-size:14px; font-weight:600; margin:0 0 8px; }
.stack { display:grid; gap:10px; }
.asof { color:var(--gray); font-size:12px; margin-top:12px; }

/* ---- sahifa boshi: «Birinchi qiling», «Nima bu?» ---- */
.phead { display:grid; gap:12px; margin-bottom:20px; }
.phrow { display:flex; align-items:flex-start; gap:12px; }
.phtxt { flex:1; min-width:0; }
.phtitle { font-size:24px; font-weight:700; line-height:1.2; }
.phsub { color:var(--gray); margin-top:4px; }
.phmeta { color:var(--gray); font-size:12px; margin-top:4px; }
.phmain { display:inline-flex; }
@media (max-width:600px) { .phrow { flex-wrap:wrap; } .phtxt { flex:1 1 100%; } .phact { justify-content:flex-start; } }
.phact { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.helpbox { padding:14px 16px; border-radius:var(--r2); background:var(--blue-t); color:var(--ink); }
.first { display:grid; gap:8px; padding:14px 16px; border:1px solid var(--line); border-left:4px solid var(--v); border-radius:var(--r2); background:var(--card); }
.first ol { list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.fitem { display:flex; align-items:center; gap:10px; width:100%; min-height:40px; padding:6px 8px; border:0; border-radius:var(--ri); background:transparent; text-align:left; font-weight:500; }
button.fitem:hover { background:var(--v-t); }
.fitem > span:nth-child(2) { flex:1; }
.fitem .fn { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--v-t); color:var(--v); font-size:12px; font-weight:700; flex:none; }
.fitem.r .fn { background:var(--red-t); color:var(--red-tx); } .fitem.y .fn { background:var(--amber-t); color:var(--amber); } .fitem.g .fn { background:var(--green-t); color:var(--green); }

/* ---- chiplar, segment, qidiruv, jadval ---- */
.chips { display:flex; flex-wrap:wrap; gap:8px; }
.chip { display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:6px 14px; border:1px solid var(--line); border-radius:var(--pillr); background:var(--card); font-size:14px; font-weight:500; }
.chip:hover { border-color:var(--v); }
.chip[aria-pressed="true"] { background:var(--v); border-color:transparent; color:var(--on-v); }
.chip .cnt { font-size:12px; opacity:.8; }
.seg { display:inline-flex; gap:2px; padding:4px; border-radius:var(--pillr); background:var(--panel); }
.seg button { display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:0 16px; border:0; border-radius:var(--pillr); background:transparent; color:var(--gray); font-weight:600; font-size:14px; }
.seg button[aria-selected="true"] { background:var(--card); color:var(--ink); }
.seg .cnt { font-size:12px; color:var(--gray); }
.search { display:flex; align-items:center; gap:8px; min-height:44px; padding:0 14px; border:1px solid var(--line); border-radius:var(--pillr); background:var(--card); color:var(--gray); }
.search:focus-within { border-color:var(--v); }
.search input { flex:1; min-width:0; border:0; outline:0; background:transparent; color:var(--ink); font-size:15px; }
.tw { overflow-x:auto; border:1px solid var(--line); border-radius:var(--r); background:var(--card); }
table.t { width:100%; border-collapse:collapse; font-size:14px; }
table.t th { text-align:left; padding:10px 14px; border-bottom:1px solid var(--line); font:700 11px/1.2 var(--font-caps); letter-spacing:.12em; text-transform:uppercase; color:var(--gray); white-space:nowrap; }
table.t th.n, table.t td.n { text-align:right; }
table.t th .sb { display:inline-flex; align-items:center; gap:4px; padding:0; border:0; background:transparent; font:inherit; letter-spacing:inherit; text-transform:inherit; color:inherit; }
table.t th .sb svg.ic { width:14px; height:14px; }
table.t th[aria-sort] { color:var(--v); }
table.t td { padding:12px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
table.t tbody tr:last-child td { border-bottom:0; }
table.t tr.click { cursor:pointer; }
table.t tbody td:first-child { background:linear-gradient(var(--v), var(--v)) left center / 0 100% no-repeat; transition:background-size var(--dur) var(--ease); }
table.t tbody tr { transition:background-color var(--dur); }
table.t tbody tr:hover { background-color:var(--surf); }
table.t tbody tr:hover td:first-child { background-size:3px 100%; }

/* ---- sheet va toast ---- */
.scrim { position:fixed; inset:0; z-index:40; background:rgba(28,27,34,.36); opacity:0; transition:opacity 220ms; }
.scrim.on { opacity:1; }
.sheet { position:fixed; z-index:41; left:0; right:0; bottom:0; max-height:88vh; display:flex; flex-direction:column; background:var(--card); border-radius:var(--r) var(--r) 0 0; transform:translateY(100%); transition:transform 260ms var(--ease); padding-bottom:var(--safe-b); }
.sheet.on { transform:none; }
.sheet.full { max-height:96vh; height:96vh; }
.sheet .grab { width:40px; height:4px; border-radius:2px; background:var(--line); margin:10px auto 0; }
.shead { display:flex; align-items:center; gap:8px; padding:12px 12px 8px 20px; }
.shead h2 { flex:1; font-size:18px; font-weight:600; }
.sbody { overflow:auto; padding:4px 20px 24px; }
.sacts { display:flex; justify-content:flex-end; gap:10px; margin-top:16px; flex-wrap:wrap; }
.morelist { display:grid; gap:6px; }
.morelist button { display:flex; align-items:center; gap:12px; min-height:52px; padding:0 14px; border:1px solid var(--line); border-radius:var(--r2); background:var(--card); font-weight:600; text-align:left; }
.morelist button span:nth-child(2) { flex:1; }
.morelist button[aria-current="page"] { border-color:var(--v); color:var(--v); }
.toast { position:fixed; z-index:60; left:50%; bottom:calc(var(--navh) + 16px + var(--safe-b)); transform:translate(-50%, 20px); display:flex; align-items:center; gap:12px; max-width:calc(100vw - 32px); padding:12px 18px; border-radius:var(--pillr); background:var(--fold); color:var(--on-fold); font-size:14px; opacity:0; pointer-events:none; transition:opacity 200ms, transform 200ms var(--ease); }
.toast.on { opacity:1; transform:translate(-50%, 0); pointer-events:auto; }
.toast button { border:0; background:transparent; color:var(--v-s); font-weight:700; }

/* ---- lenta (eski ma'lumot) va oflayn ---- */
.bwrap { padding:0 var(--pad); }
.banner { display:flex; align-items:center; gap:10px; max-width:var(--maxw); margin:12px auto 0; padding:10px 14px; border-radius:var(--r2); font-size:14px; }
.bwrap.yellow .banner { background:var(--amber-t); } .bwrap.red .banner { background:var(--red-t); }
.off { min-height:100vh; display:grid; place-items:center; padding:24px; text-align:center; }
.off .in { display:grid; gap:12px; justify-items:center; max-width:380px; }
.off .ico { display:grid; place-items:center; width:64px; height:64px; border-radius:50%; background:var(--v-t); color:var(--v); }
.off h1 { font-size:22px; }
.off p { color:var(--gray); }

/* ---- qobiq: telefon (asos) ---- */
.shell { min-height:100vh; }
.side { display:none; }
.mainc { min-width:0; padding-bottom:calc(var(--navh) + var(--safe-b) + 16px); }
.top { position:sticky; top:0; z-index:20; display:flex; align-items:center; gap:6px; min-height:var(--toph); padding:8px 8px 8px 16px; background:var(--bg); border-bottom:1px solid var(--line); }
.top .tbrand .wm img { height:20px; }
.top .ptitle { display:none; font-size:18px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.top .sp { flex:1; }
.top .upd { display:none; color:var(--gray); font-size:12px; white-space:nowrap; }
.page { display:block; max-width:var(--maxw); margin:0 auto; padding:20px 16px; outline:0; }
.bnav { position:fixed; z-index:30; left:0; right:0; bottom:0; display:grid; grid-template-columns:repeat(5, 1fr); height:calc(var(--navh) + var(--safe-b)); padding-bottom:var(--safe-b); background:var(--bg); border-top:1px solid var(--line); }
.bnav .navb { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; border:0; background:transparent; color:var(--gray); font-size:11px; font-weight:600; }
.bnav .navb[aria-current="page"] { color:var(--v); }
.bnav .navl { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:0 2px; }
.bnav .badge { position:absolute; top:6px; left:calc(50% + 6px); }
@media (max-width:420px) { .top .langsw .lpill { min-width:32px; padding:0 6px; } }

/* ---- qobiq: kompyuter (>=1024px) ---- */
@media (min-width:1024px) {
  .shell { display:grid; grid-template-columns:var(--side) minmax(0, 1fr); }
  .shell[data-tab="clients"] , .shell[data-tab="deals"] { grid-template-columns:var(--side-rail) minmax(0, 1fr); }
  .side { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; gap:8px; padding:20px 14px; background:var(--fold); color:var(--on-fold); overflow-y:auto; }
  .sbrand { padding:4px 10px 18px; }
  .sbrand .wm img { height:26px; }
  .sbrand p { color:var(--on-fold-2); font-size:13px; margin-top:2px; }
  .sidenav { display:grid; gap:2px; }
  .side .navb { position:relative; display:flex; align-items:center; gap:12px; width:100%; min-height:44px; padding:0 12px; border:0; border-radius:var(--ri); background:transparent; color:var(--on-fold-2); font-weight:500; font-size:15px; text-align:left; transition:background var(--dur), color var(--dur); }
  .side .navb .navl { flex:1; }
  .side .navb:hover { background:rgba(255,255,255,.08); color:var(--on-fold); }
  .side .navb[aria-current="page"] { background:rgba(255,255,255,.14); color:var(--on-fold); }
  .side .navb[aria-current="page"]::before { content:''; position:absolute; left:0; top:10px; bottom:10px; width:3px; border-radius:2px; background:var(--on-fold); }
  .sfoot { margin-top:auto; display:grid; gap:8px; padding-top:12px; border-top:1px solid rgba(255,255,255,.12); }
  .sme { display:flex; align-items:center; gap:10px; padding:6px 10px; }
  .sme .av, .who .av { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--v); color:var(--on-v); font-weight:700; flex:none; }
  .smet { display:flex; flex-direction:column; min-width:0; }
  .smet b { font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .smet span { font-size:12px; color:var(--on-fold-2); }
  .shell[data-tab="clients"] .sbrand p, .shell[data-tab="deals"] .sbrand p, .shell[data-tab="clients"] .navl, .shell[data-tab="deals"] .navl, .shell[data-tab="clients"] .smet, .shell[data-tab="deals"] .smet { display:none; }
  .shell[data-tab="clients"] .side .navb , .shell[data-tab="deals"] .side .navb { justify-content:center; padding:0; }
  .shell[data-tab="clients"] .side .badge , .shell[data-tab="deals"] .side .badge { position:absolute; top:4px; right:4px; }
  .shell[data-tab="clients"] .sbrand , .shell[data-tab="deals"] .sbrand { padding:4px 0 18px; text-align:center; }
  .shell[data-tab="clients"] .sbrand .wm img, .shell[data-tab="deals"] .sbrand .wm img { display:none; }
  .shell[data-tab="clients"] .sbrand .wm .wm-m, .shell[data-tab="deals"] .sbrand .wm .wm-m { display:block; height:32px; margin:0 auto; }
  .shell[data-tab="clients"] .sbrand .wm, .shell[data-tab="deals"] .sbrand .wm { display:flex; justify-content:center; }
  .shell[data-tab="clients"] .page , .shell[data-tab="deals"] .page { max-width:none; padding:0; }
  .mainc { padding-bottom:24px; }
  .top { padding:10px 20px 10px 28px; }
  .top .tbrand { display:none; }
  .top .ptitle { display:block; }
  .top .upd { display:inline; margin-right:8px; }
  .page { padding:28px; }
  .bnav { display:none; }
  .toast { bottom:24px; }
  .sheet { left:auto; top:0; right:0; bottom:0; width:min(520px, 100vw); max-height:none; border-radius:var(--r) 0 0 var(--r); transform:translateX(100%); }
  .sheet.wide { width:min(760px, 100vw); }
  .sheet.full { height:auto; max-height:none; }
  .sheet .grab { display:none; }
  .shead { padding:20px 16px 10px 24px; }
  .sbody { padding:4px 24px 28px; }
  .bwrap { padding:0 28px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration:1ms !important; animation-duration:1ms !important; animation-iteration-count:1 !important; }
}

/* ---- telefonda keng jadval: qator karta bo'ladi (td data-label = ustun nomi). Saqlash kerak bo'lsa: .tw.keep (gorizontal aylantirish + soya o'rniga chekka chiziq) ---- */
@media (max-width:640px) {
  .tw:not(.keep) { border:0; background:transparent; overflow:visible; }
  .tw:not(.keep) table.t, .tw:not(.keep) table.t tbody, .tw:not(.keep) table.t tr, .tw:not(.keep) table.t td { display:block; width:100%; }
  .tw:not(.keep) table.t thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .tw:not(.keep) table.t tbody { display:grid; gap:10px; }
  .tw:not(.keep) table.t tr { padding:10px 14px; border:1px solid var(--line); border-radius:var(--r2); background:var(--card); }
  .tw:not(.keep) table.t td { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:6px 0; border:0; text-align:right; }
  .tw:not(.keep) table.t td::before { content:attr(data-label); flex:none; max-width:45%; text-align:left; color:var(--gray); font:700 10px/1.3 var(--font-caps); letter-spacing:.1em; text-transform:uppercase; }
  .tw:not(.keep) table.t td:first-child { display:block; text-align:left; font-weight:600; background:none; padding-bottom:8px; }
  .tw:not(.keep) table.t td:first-child::before { display:block; max-width:none; margin-bottom:2px; }
  .tw:not(.keep) table.t td:empty { display:none; }
  .tw.keep { -webkit-overflow-scrolling:touch; background:linear-gradient(to left, var(--line) 0, var(--line) 1px, transparent 1px) right / 100% 100% no-repeat, var(--card); }
  .tw.keep table.t { min-width:560px; }
}

/* ---- S61 «Ko'rish rejimi»: qat'iy lenta (Bunyod hodim ko'zi bilan ko'radi), yozish tugmalari o'chiq ---- */
:root { --pvh:44px; }
.pvbar { position:fixed; z-index:45; left:0; right:0; top:0; height:var(--pvh); display:flex; align-items:center; gap:10px; padding:0 12px 0 16px; background:var(--amber-t); color:var(--ink); border-bottom:1px solid var(--line); font-size:14px; font-weight:600; }
.pvbar .pvt { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pvbar .btn { flex:none; }
body.is-preview .shell { padding-top:var(--pvh); }
body.is-preview .top { top:var(--pvh); }
body.is-preview [data-pv-off] { opacity:.45; cursor:not-allowed; }
@media (max-width:520px) { .pvbar { font-size:12.5px; } .pvbar .pvt { white-space:normal; line-height:1.25; } }
@media (min-width:1024px) {
  body.is-preview .side { top:var(--pvh); height:calc(100vh - var(--pvh)); }
  body.is-preview .sheet { top:var(--pvh); }
}

/* ==== S64 «taskui» (2026-11-09): formalar, ixcham oyna (pop), joyida tasdiq ====
   Qoida: brauzerning xom maydoni hech qayerda ko'rinmaydi. Yorliq maydon ustida, maydon brend uslubida, soya yo'q. */
.fld-in,
:is(.form, .sheet, .tk-form) :is(input[type="text"], input[type="date"], input[type="time"], input[type="number"], input[type="email"], input[type="tel"], input:not([type]), textarea, select) {
  display:block; width:100%; min-height:44px; padding:10px 14px; border:1px solid var(--line); border-radius:var(--ri); background-color:var(--card); color:var(--ink);
  font:inherit; font-size:15px; line-height:1.45; transition:border-color var(--dur), background-color var(--dur); }
:is(.fld-in, .form textarea, .sheet textarea, .form select, .sheet select, .form input[type="text"], .sheet input[type="text"]) { -webkit-appearance:none; appearance:none; }
:is(.form, .sheet) textarea { min-height:96px; resize:vertical; }
:is(.form, .sheet) select, select.fld-in { padding-right:38px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236e6c78' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; background-size:18px 18px; }
:is(.fld-in, .form :is(input, textarea, select), .sheet :is(input, textarea, select)):hover { border-color:var(--v-s); }
:is(.fld-in, .form :is(input, textarea, select), .sheet :is(input, textarea, select)):focus { outline:3px solid var(--v-t); outline-offset:0; border-color:var(--v); }
:is(.fld-in, .form :is(input, textarea), .sheet :is(input, textarea))::placeholder { color:var(--gray); opacity:.75; }
:is(.form, .sheet) :is(input, select)[type="date"], :is(.form, .sheet) input[type="time"] { font-variant-numeric:tabular-nums; }
.form { display:flex; flex-direction:column; gap:12px; }
:is(.form, .sheet) label[for] { display:block; margin:0 0 -4px; color:var(--gray); font-size:13px; font-weight:600; }
.two label[for] { margin:0 0 6px; }
.two { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:10px; }
:is(.form, .dl-form) > .tt { font-weight:600; }
:is(.form, .dl-form) > .counter { align-self:flex-end; margin-top:-6px; color:var(--gray); font-size:12px; font-variant-numeric:tabular-nums; }
:is(.form, .dl-form) .hint { margin:0; }
:is(.form, .dl-form) .sacts { margin-top:4px; }

/* -- ixcham oyna: sarlavha, ikon, kichik izoh qatori -- */
.sic { display:grid; place-items:center; width:32px; height:32px; border-radius:10px; background:var(--v-t); color:var(--v); flex:none; }
.sic svg.ic { width:18px; height:18px; }
.sheet.pop .shead { gap:10px; padding:14px 10px 2px 16px; }
.sheet.pop .shead h2 { font-size:16px; font-weight:600; }
.sheet.pop #sheetClose { min-width:36px; min-height:36px; }
.ssub { margin:0; padding:0 20px 0 58px; color:var(--gray); font-size:13px; line-height:1.35; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.sheet.pop .sbody { padding:12px 16px 16px; }
.pform { display:flex; flex-direction:column; gap:10px; }
.phint { margin:0; color:var(--gray); font-size:12px; line-height:1.4; }
.perr:empty { display:none; }
.perr .msg { margin:0; }
.pfoot { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:2px; }
.pbtns { display:flex; gap:8px; margin-left:auto; }
.kbd { display:inline-flex; align-items:center; gap:4px; }
.kbd kbd { min-width:22px; padding:3px 6px; border:1px solid var(--line); border-radius:6px; background:var(--surf); color:var(--gray); font:600 11px/1.2 var(--font); text-align:center; }
@media (hover:none), (max-width:639px) { .kbd { visibility:hidden; } }

/* -- izoh maydoni: o'zi kattalashadi, sanagich burchakda, tez iboralar -- */
.nfield { display:grid; gap:8px; }
.nwrap { position:relative; }
.nwrap textarea.fld-in { min-height:0; padding-bottom:30px; resize:none; overflow:auto; }
.nwrap .counter { position:absolute; right:12px; bottom:8px; color:var(--gray); opacity:.7; font-size:11.5px; font-variant-numeric:tabular-nums; pointer-events:none; }
.nwrap .counter.warn { color:var(--amber); opacity:1; }
.qnotes { display:flex; flex-wrap:wrap; gap:6px; }
.chip.qn { min-height:30px; padding:4px 12px; border-color:transparent; background:var(--panel); color:var(--gray); font-size:13px; }
.chip.qn:hover { border-color:var(--v-s); background:var(--v-t); color:var(--v); }

/* -- muddat: tez tanlash kartochkalari va aniq vaqt -- */
.dnow { display:flex; align-items:center; gap:6px; margin:0; color:var(--gray); font-size:13px; }
.dnow svg.ic { width:16px; height:16px; }
.dfield { display:grid; gap:12px; }
.dq { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:8px; }
.dq > :last-child:nth-child(odd) { grid-column:1 / -1; }
.dchip { display:flex; flex-direction:column; align-items:flex-start; gap:2px; min-height:54px; padding:8px 12px; border:1px solid var(--line); border-radius:var(--r2); background:var(--card); color:var(--ink); text-align:left;
  transition:border-color var(--dur), background-color var(--dur), transform var(--dur); }
.dchip b { font-size:14px; font-weight:600; }
.dchip small { color:var(--gray); font-size:12px; }
.dchip:hover:not(:disabled) { border-color:var(--v); background:var(--v-t); }
.dchip:hover:not(:disabled) b { color:var(--v); }
.dchip:active:not(:disabled) { transform:scale(.98); }
.dchip[aria-current="true"] { border-style:dashed; }
.dchip:disabled { opacity:.45; cursor:default; }
.dexact { display:grid; gap:6px; }
.drow { display:grid; grid-template-columns:minmax(0, 1.25fr) minmax(118px, 1fr); gap:8px; }

/* -- joyida tasdiq: «Bajarildi» o'rnida «Ha, bajarildi / Yo'q», ostida vaqt chizig'i -- */
.iconfirm { position:relative; display:inline-flex; align-items:center; gap:6px; padding-bottom:6px; animation:icIn .2s var(--ease); }
.iconfirm .btn { min-height:36px; padding:6px 14px; font-size:13.5px; }
.iconfirm .ic-bar { position:absolute; left:4px; right:4px; bottom:0; height:2px; border-radius:2px; background:var(--v); opacity:.5; transform-origin:left center; animation:icBar 6s linear forwards; }
.iconfirm.hold .ic-bar { animation-play-state:paused; }
.iconfirm.busy .ic-bar { visibility:hidden; }
@keyframes icBar { from { transform:scaleX(1); } to { transform:scaleX(0); } }
@keyframes icIn { from { opacity:0; transform:scale(.96); } }

/* -- telefon: pop pastdan, bo'yi mazmunga teng (asosiy .sheet qoidasi). Planshet va kompyuter: ixcham karta -- */
@media (min-width:640px) {
  .sheet.pop { left:0; right:0; top:14vh; bottom:auto; width:min(400px, calc(100vw - 32px)); height:auto; max-height:calc(100vh - 24px); margin:0 auto; padding-bottom:0;
    border:1px solid var(--line); border-radius:var(--r); opacity:0; transform:translateY(-6px) scale(.98); transform-origin:50% 0;
    transition:transform .22s var(--ease), opacity .16s; }
  .sheet.pop.on { opacity:1; transform:none; }
  .sheet.pop.anch { left:var(--px, 12px); right:auto; top:var(--py, 12px); margin:0; transform-origin:var(--ox, 50%) 0; }
  .sheet.pop.anch.up { transform:translateY(6px) scale(.98); transform-origin:var(--ox, 50%) 100%; }
  .sheet.pop.anch.up.on { transform:none; }
  .sheet.pop .grab { display:none; }
  body.is-preview .sheet.pop { top:calc(var(--pvh) + 12vh); }
  body.is-preview .sheet.pop.anch { top:var(--py, 56px); }
  .scrim.pop { background:rgba(28,27,34,.08); }
  html[data-theme="dark"] .scrim.pop { background:rgba(0,0,0,.28); }
}
@media (max-width:639px) {
  .sheet.pop .sbody { padding:10px 16px 18px; }
  .sheet.pop .pbtns .btn { min-height:44px; }
}
html[data-theme="dark"] .sheet.pop { border-color:rgba(255,255,255,.14); }

/* -- combobox (xom <select> o'rniga): tugma maydon ko'rinishida, ro'yxat qidiruv bilan -- */
.cbx { display:flex; align-items:center; gap:8px; width:100%; min-height:44px; padding:10px 12px 10px 14px; border:1px solid var(--line); border-radius:var(--ri); background:var(--card); color:var(--ink);
  font:inherit; font-size:15px; text-align:left; transition:border-color var(--dur); }
.cbx .cbx-v { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cbx.ph .cbx-v { color:var(--gray); }
.cbx svg.ic { width:18px; height:18px; color:var(--gray); transition:transform var(--dur) var(--ease); }
.cbx:hover:not(:disabled) { border-color:var(--v-s); }
.cbx:focus-visible { outline:3px solid var(--v-t); outline-offset:0; border-color:var(--v); }
.cbx[aria-expanded="true"] { border-color:var(--v); }
.cbx[aria-expanded="true"] svg.ic { transform:rotate(180deg); color:var(--v); }
.cbx:disabled { opacity:.55; cursor:default; }
html[data-theme="dark"] .cbx { background-color:var(--surf); }
.cbx-pop { position:fixed; z-index:52; left:var(--cx, 12px); top:var(--cy, 12px); width:var(--cw, 320px); display:flex; flex-direction:column; overflow:hidden;
  background:var(--sheet-bg, var(--card)); border:1px solid var(--line); border-radius:var(--r2); opacity:0; transform:translateY(-4px); transform-origin:50% 0;
  transition:opacity .14s, transform .2s var(--ease); }
.cbx-pop.up { top:auto; bottom:var(--cb, 12px); transform:translateY(4px); transform-origin:50% 100%; }
.cbx-pop.on { opacity:1; transform:none; }
.cbx-sw { display:flex; align-items:center; gap:8px; padding:8px 12px; border-bottom:1px solid var(--line); color:var(--gray); }
.cbx-sw svg.ic { width:18px; height:18px; }
.cbx-q { flex:1; min-width:0; min-height:36px; border:0; outline:0; background:transparent; color:var(--ink); font:inherit; font-size:15px; }
html[data-theme="dark"] .cbx-q { background-color:transparent; }
.cbx-list { list-style:none; margin:0; padding:6px; max-height:var(--ch, 320px); overflow-y:auto; overscroll-behavior:contain; }
.cbx-gh { padding:8px 10px 4px; font-size:10.5px; }
.cbx-o { display:flex; align-items:center; gap:8px; min-height:40px; padding:6px 10px; border-radius:10px; cursor:pointer; }
.cbx-o .cbx-ol { flex:1; min-width:0; display:flex; flex-direction:column; }
.cbx-o .cbx-ol span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cbx-o small { color:var(--gray); font-size:12px; }
.cbx-o svg.ic { width:18px; height:18px; color:var(--v); }
.cbx-o.act { background:var(--v-t); }
.cbx-o.on { color:var(--v); font-weight:600; }
.cbx-none { padding:16px 10px; color:var(--gray); text-align:center; font-size:14px; }
.cbx-scrim { z-index:51; }
.cbx-pop.low { left:0; right:0; top:auto; bottom:0; width:auto; max-height:82vh; border-radius:var(--r) var(--r) 0 0; border-width:1px 0 0; padding-bottom:var(--safe-b); transform:translateY(100%); }
.cbx-pop.low.on { transform:none; }
.cbx-pop.low .grab { width:40px; height:4px; border-radius:2px; background:var(--line); margin:10px auto 2px; flex:none; }
.cbx-pop.low .cbx-list { max-height:none; flex:1; }
.cbx-pop.low .cbx-o { min-height:48px; }
