/* page-sites.css — Saytlar (inventar) sahifasi, inventar/forma dialoglari, sayt dashboardi
 * (docs/DESIGN-shadcn-ui.md §7: P2 egasi). shadcn dashboard-01 uslubi: card / data-table / toggle-group / dialog.
 * Barcha ranglar tokenlardan (light + dark). Umumiy komponentlar (badge, btn, pager, toggle-group, kpi-card, modal) — components.css'da.
 * Kontent konteyneri `#page` (container: main) — moslashuvchan qoidalar @container main bilan.
 */

/* ============================== Sahifa skeleti (flex flex-col gap-4 md:gap-6) ============================== */
.sp-page { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
@container main (min-width: 44rem) { .sp-page { gap: 1.5rem; } }

/* ============================== Thumbnail ============================== */
.site-thumb { width: 2.5rem; height: 2.5rem; border-radius: var(--radius-md); object-fit: cover; border: 1px solid var(--border); display: block; flex-shrink: 0; }
.site-thumb-placeholder { background: var(--muted); display: flex; align-items: center; justify-content: center; color: var(--muted-foreground); }
.site-thumb-lg { width: 4.5rem; height: 4.5rem; border-radius: var(--radius-lg); }

/* ============================== Inventar: sarlavha kartasi + filtrlar ============================== */
.inv-card { gap: 1.25rem; }
.inv-header { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 0.75rem 1rem; }
.inv-titles { display: flex; flex-direction: column; gap: 0.375rem; min-width: 0; }
.inv-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem; }
.inv-title { font-size: 1.125rem; line-height: 1.25; }
.inv-count { font-variant-numeric: tabular-nums; }
.inv-count:empty { display: none; }
.inv-head-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem; flex-shrink: 0; }
.inv-content { display: flex; flex-direction: column; gap: 1rem; }

.inv-filters { gap: 0.75rem; }
.inv-filters .filter-item { min-width: 0; }
.inv-filters .filter-item.grow { flex: 1 1 12rem; min-width: 12rem; }
.inv-filters .filter-item > label:not(.chk-inline),
.sd-filters .filter-item > label:not(.chk-inline) { font-size: 0.75rem; color: var(--muted-foreground-strong); }
.inv-filters select { min-width: 7.5rem; max-width: 14rem; }
.inv-savedonly { height: 2.25rem; min-height: 0; white-space: nowrap; }
/* Ikonkali qidiruv maydoni */
.input-wrap { position: relative; display: flex; align-items: center; }
.input-wrap > .icon { position: absolute; left: 0.75rem; color: var(--muted-foreground); }
.input-wrap input { width: 100%; padding-left: 2.25rem; }

/* Narx ko'rinishi boshqaruvi (faqat media_owner) */
.inv-owner-bar {
  display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem 1rem; padding: 0.625rem 0.875rem;
  border: 1px solid var(--border); border-radius: var(--radius-lg); background: color-mix(in oklab, var(--muted) 60%, transparent);
}
.iob-title { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; font-weight: 500; color: var(--foreground); }
.iob-title .icon { color: var(--muted-foreground); }
.iob-label { font-size: 0.8125rem; font-weight: 400; color: var(--muted-foreground-strong); }
.iob-sep { align-self: stretch; width: 1px; min-height: 1.25rem; background: var(--border); }
.inv-owner-bar select { min-width: 8.5rem; }

/* Natijalar: kartochkalar/jadval + pager (dashboard-01 data-table pastki qatori) */
.inv-results { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.inv-results .pager { margin-top: 0; padding-inline: 0.25rem; }
.inv-results .pager:empty { display: none; }

/* ============================== Inventar kartochka gallereyasi ============================== */
.inv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr)); gap: 1rem; }
@container main (min-width: 56rem) { .inv-grid { gap: 1.5rem; } }
.site-card {
  display: flex; flex-direction: column; min-width: 0; overflow: hidden; cursor: pointer; outline: none;
  border: 1px solid var(--border); border-radius: var(--radius-xl); background: var(--card); color: var(--card-foreground); box-shadow: var(--shadow-xs);
  transition: border-color var(--duration-fast), box-shadow var(--duration-fast);
}
.site-card:hover { border-color: color-mix(in oklab, var(--input) 55%, var(--foreground)); box-shadow: var(--shadow-md); }
.site-card:focus-visible { border-color: var(--focus-border); box-shadow: var(--ring-glow); }
.site-card-media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--muted); border-bottom: 1px solid var(--border); }
/* img absolute — aspect-ratio quti balandligini boshqaradi (portret rasm kartani cho'zmaydi) */
.site-card-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.site-card-img-empty { display: flex; align-items: center; justify-content: center; color: var(--muted-foreground); opacity: 0.6; }
/* Rasm ustidagi belgilar: doim shaffof bo'lmagan fon (matn rasm ustida o'qilsin) */
.site-card-media .badge, .im-media .badge { background-color: var(--card); box-shadow: var(--shadow-xs); }
.site-card-media .badge-type, .im-media .badge-type { position: absolute; top: 0.625rem; left: 0.625rem; }
.site-card-media .badge-private { position: absolute; bottom: 0.625rem; left: 0.625rem; }
.site-card-body { display: flex; flex: 1; flex-direction: column; gap: 0.75rem; padding: 1rem; }
.site-card-name {
  min-height: 2.7em; overflow: hidden; color: var(--card-foreground); font-size: 0.875rem; font-weight: 600; line-height: 1.35;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.site-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.375rem 0.625rem; min-height: 1.375rem; font-size: 0.75rem; color: var(--muted-foreground-strong); }
.sc-city { display: inline-flex; align-items: center; gap: 0.25rem; min-width: 0; }
.sc-city .icon { width: 0.875rem; height: 0.875rem; opacity: 0.85; }
.sc-city-t { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc-size { padding: 0 0.5rem; border: 1px solid var(--border); border-radius: 999px; line-height: 1.25rem; white-space: nowrap; }
.site-card-metrics {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden;
  border: 1px solid var(--border); border-radius: var(--radius-lg); background: color-mix(in oklab, var(--muted) 50%, transparent);
}
.scm { display: flex; flex-direction: column; gap: 0.125rem; min-width: 0; padding: 0.5rem 0.75rem; }
.scm + .scm { border-left: 1px solid var(--border); }
.scm-v { color: var(--foreground); font-size: 1rem; font-weight: 600; line-height: 1.25; font-variant-numeric: tabular-nums; white-space: nowrap; }
.scm-l { color: var(--muted-foreground-strong); font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; }
.site-card-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; margin-top: auto; padding-top: 0.75rem;
  border-top: 1px solid var(--border);
}
.site-card-price { min-width: 0; overflow-wrap: anywhere; color: var(--foreground); font-size: 0.875rem; font-weight: 600; line-height: 1.3; }
.site-card-price .muted { font-weight: 400; }
.site-card-actions { display: flex; flex-shrink: 0; gap: 0.125rem; margin-block: -0.25rem; opacity: 0; transition: opacity var(--duration-fast); }
.site-card:hover .site-card-actions, .site-card:focus-within .site-card-actions { opacity: 1; }
.site-card-actions .icon-btn { width: 1.75rem; height: 1.75rem; }

/* Yuklanish skeleti */
.site-card-skel { cursor: default; box-shadow: none; pointer-events: none; }
.site-card-skel:hover { border-color: var(--border); box-shadow: none; }
.site-card-skel .site-card-media { border-radius: 0; }
.sk-line { height: 0.875rem; }
.sk-box { height: 3.25rem; border-radius: var(--radius-lg); }
.sk-w80 { width: 80%; } .sk-w60 { width: 60%; } .sk-w50 { width: 50%; }

/* ============================== Jadval ko'rinishi (data-table) ============================== */
.inv-table .col-star { width: 2.75rem; }
.inv-table .col-thumb { width: 3.5rem; }
.inv-table .col-actions { width: 5rem; }
.inv-table td { padding-block: 0.5rem; }
.inv-table .cell-name { min-width: 12rem; max-width: 20rem; font-weight: 500; }
/* Manzil ustuni qolgan bo'sh joyni oladi (max-width:0 hiylasi) va ellipsis bilan qisqaradi — jadval gorizontal skroll qilmaydi */
.inv-table th.col-addr, .inv-table .cell-addr { width: 12%; }
.inv-table .cell-addr { max-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted-foreground-strong); }
.inv-table .cell-actions { white-space: nowrap; text-align: right; }
.inv-table .nowrap, .nowrap { white-space: nowrap; }

/* ============================== Bo'sh holat ============================== */
.sp-empty { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; padding: 3rem 1.5rem; background: var(--card); }
.sp-empty-icon {
  display: grid; place-items: center; width: 2.5rem; height: 2.5rem; margin-bottom: 0.25rem;
  border-radius: var(--radius-lg); background: var(--muted); color: var(--muted-foreground-strong);
}
.sp-empty-title { color: var(--foreground); font-size: 0.9375rem; font-weight: 500; }
.sp-empty-text { max-width: 32rem; }
.sp-empty .empty-cta { margin-top: 0.75rem; }

/* ============================== Narx belgilari ============================== */
/* Narx yashirilganda ko'rsatiladigan yorliq ("Aloqa"/"Yaqinda") — info tinted badge */
.price-mask {
  display: inline-flex; align-items: center; height: 1.25rem; padding: 0 0.5rem; white-space: nowrap;
  border: 1px solid color-mix(in oklab, var(--info) 30%, transparent); border-radius: 999px;
  background: var(--info-muted); color: var(--info); font-size: 0.75rem; font-weight: 500;
}
/* media_owner ko'rinishi — narx mijozdan yashirilgan (haqiqiy narx + eye-off) */
.price-hidden-owner { display: inline-flex; align-items: center; gap: 0.375rem; color: var(--muted-foreground-strong); font-weight: 500; }

/* ============================== Saqlash yulduzchasi ============================== */
/* Saqlangan yulduzcha rangi: yorug'da to'yingan tilla (fon bilan >= 3:1), qorong'ida --warning (sariq) */
:root { --star-on: oklch(0.6 0.15 68); }
:root.dark, .dark { --star-on: var(--warning); }
.star-btn {
  display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; width: 2rem; height: 2rem; padding: 0; cursor: pointer;
  border: 1px solid var(--border); border-radius: 50%; background: color-mix(in oklab, var(--card) 92%, transparent); color: var(--muted-foreground-strong);
  box-shadow: var(--shadow-xs); outline: none; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  transition: color var(--duration-fast), border-color var(--duration-fast), background-color var(--duration-fast), box-shadow var(--duration-fast);
}
.star-btn svg { width: 1rem; height: 1rem; }
.star-btn:hover { background: var(--accent); color: var(--foreground); }
.star-btn.on { color: var(--star-on); border-color: color-mix(in oklab, var(--star-on) 55%, transparent); }
.star-btn:focus-visible { border-color: var(--focus-border); box-shadow: var(--ring-glow); }
.site-card-media .star-btn { position: absolute; top: 0.625rem; right: 0.625rem; z-index: 2; }
.star-btn-sm { width: 1.75rem; height: 1.75rem; background: transparent; box-shadow: none; }
.star-cell { width: 2.75rem; }
.btn-saved { color: var(--warning); border-color: color-mix(in oklab, var(--warning) 45%, transparent); }
.btn-saved svg { color: var(--star-on); }

/* ============================== Inventar dialogi (katta ko'rinish) ============================== */
.inv-modal { display: flex; flex-direction: column; gap: 1rem; }
.im-media { position: relative; overflow: hidden; aspect-ratio: 16 / 9; max-height: 13.5rem; width: 100%; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--muted); }
.im-img { display: block; width: 100%; height: 100%; object-fit: cover; }
.im-img-empty { display: flex; align-items: center; justify-content: center; color: var(--muted-foreground); opacity: 0.6; }
.im-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.im-title { color: var(--foreground); font-size: 1.125rem; font-weight: 600; line-height: 1.3; }
.im-star { flex-shrink: 0; }
.im-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-lg); }
.im-stat { min-width: 0; padding: 0.75rem 1rem; background: color-mix(in oklab, var(--muted) 45%, transparent); }
.im-stat + .im-stat { border-left: 1px solid var(--border); }
.im-stat-v { color: var(--foreground); font-size: 1.25rem; font-weight: 600; line-height: 1.2; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.im-stat-l { margin-top: 0.25rem; color: var(--muted-foreground-strong); font-size: 0.75rem; line-height: 1.3; }
.im-rows { display: flex; flex-direction: column; }
.im-row { display: flex; justify-content: space-between; gap: 1rem; padding: 0.625rem 0; border-bottom: 1px solid var(--border); font-size: 0.875rem; }
.im-row:last-child { border-bottom: 0; }
.im-row span { flex-shrink: 0; color: var(--muted-foreground); }
.im-row b { color: var(--foreground); font-weight: 500; text-align: right; overflow-wrap: anywhere; }
.im-link { width: 100%; }

/* O'chirishni tasdiqlash dialogi */
.cd-msg { color: var(--muted-foreground); font-size: 0.875rem; line-height: 1.5; overflow-wrap: anywhere; }

/* ============================== Sayt formasi dialogi ============================== */
/* Sarlavha — tepada, maydonlar — skroll qilinadi, tugmalar (footer) — pastda doim ko'rinadi */
.modal.sf-modal { gap: 0; padding: 0; overflow: hidden; }
.sf-modal .modal-head { padding: 1.5rem 3.5rem 0.5rem 1.5rem; }
.sf-modal .modal-body { display: flex; flex: 1 1 auto; flex-direction: column; gap: 1.5rem; min-height: 0; padding: 0.75rem 1.5rem 1.5rem; overflow-y: auto; }
.sf-foot { display: flex; flex-shrink: 0; justify-content: flex-end; gap: 0.5rem; padding: 1rem 1.5rem; border-top: 1px solid var(--border); background: var(--background); }
.sf-grp { display: flex; flex-direction: column; gap: 1rem; }
.sf-grp .form-row { margin-bottom: 0; }
.sf-grp-title { padding-bottom: 0.5rem; border-bottom: 1px solid var(--border); color: var(--foreground); font-size: 0.875rem; font-weight: 600; }
.sf-checks { display: flex; flex-direction: column; gap: 0.5rem; }
.sf-check {
  display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.625rem 0.75rem; cursor: pointer;
  border: 1px solid var(--border); border-radius: var(--radius-lg); font-weight: 400; line-height: 1.4;
  transition: background-color var(--duration-fast), border-color var(--duration-fast);
}
.sf-check input { margin-top: 0.125rem; }
.sf-check:hover { background: color-mix(in oklab, var(--accent) 60%, transparent); }
.sf-check:has(input:checked) { border-color: color-mix(in oklab, var(--primary) 35%, var(--border)); background: color-mix(in oklab, var(--primary) 4%, transparent); }
.sf-modal .form-err { margin: 0; }
.sf-map-label { display: flex; align-items: center; gap: 0.5rem; color: var(--muted-foreground); font-size: 0.8125rem; }
.pick-map { height: 14rem; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-lg); }
.pick-map .maplibregl-canvas, .pick-map canvas { cursor: crosshair !important; }

/* ============================== Sayt dashboardi ============================== */
.sd-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.75rem 1rem; }
.sd-id { display: flex; flex: 1 1 22rem; align-items: center; gap: 1rem; min-width: 0; }
.sd-back { flex-shrink: 0; }
#sd-thumb-wrap:empty { display: none; }
.sd-titles { min-width: 0; }
.sd-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem 0.625rem; }
.sd-title { margin: 0; font-size: 1.5rem; font-weight: 600; letter-spacing: -0.015em; line-height: 1.2; overflow-wrap: anywhere; }
#sd-type:empty, #sd-country:empty { display: none; }
.sd-meta { display: flex; flex-wrap: wrap; margin-top: 0.375rem; color: var(--muted-foreground); font-size: 0.875rem; line-height: 1.4; }
.sd-meta:empty { display: none; }
/* Ajratgich "·" oldingi elementning oxirida — qatorga o'ralganda yangi qator "·" bilan boshlanmaydi */
.sd-meta > span:not(:last-child)::after { content: "·"; margin: 0 0.5rem; opacity: 0.7; }
.sd-head-actions { display: flex; flex: 0 0 auto; align-items: center; flex-wrap: wrap; gap: 0.5rem; }

/* Filtr paneli */
.sd-filters { padding: 1rem 1.25rem; gap: 0; }
.sd-filters .filter-item .pair input[type="date"] { min-width: 8.75rem; }

/* KPI bo'limlari: "Oylik baho" (2 karta) chapda, "Tanlangan davr" (6 karta) o'ngda — 4 ustunli setka.
   Tor konteynerda ikkalasi ketma-ket, har biri o'z kpi-grid'i (1/2 ustun) bilan. */
.sd-kpis { display: flex; flex-direction: column; gap: 1.5rem; }
.sd-kpi-block { display: flex; flex-direction: column; gap: 0.75rem; min-width: 0; }
.sd-sec-head h3 { display: flex; align-items: center; gap: 0.375rem; margin: 0; font-size: 0.9375rem; font-weight: 600; line-height: 1.3; }
.sd-sec-head p { margin-top: 0.125rem; color: var(--muted-foreground); font-size: 0.8125rem; line-height: 1.4; }
.kpi-skel { row-gap: 0.75rem; min-height: 6.5rem; }
.kpi-skel > * { grid-column: 1 / -1; }
.sk-value { width: 55%; height: 1.75rem; }
.kpi-none { color: var(--muted-foreground); font-size: 0.875rem; font-weight: 400; }
/* Ishonchlilik: baho davri/bayroqlari (oylik baho ostida), kichik tanlov xabari, oylik tarix */
.sd-quality:empty { display: none; }
.sd-estnote { font-size: 0.75rem; line-height: 1.4; color: var(--muted-foreground); }
.sd-estnote:empty { display: none; }
.sd-flag { color: var(--warning); }
/* Oylik baho izohi: radius/davr (kalit-qiymat), yaxlitlash izohi, ogohlantirishlar (belgi + matn) */
.est-meta { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.25rem 0.75rem; margin: 0; }
.est-meta dt { color: var(--muted-foreground); }
.est-meta dd { margin: 0; color: var(--foreground); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.est-note { margin: 0.5rem 0 0; }
.est-flags { display: flex; flex-direction: column; gap: 0.375rem; margin: 0.625rem 0 0; padding: 0; list-style: none; }
.est-flag { display: flex; align-items: flex-start; gap: 0.375rem; color: var(--warning); line-height: 1.4; }
.est-flag svg { flex: none; width: 0.875rem; height: 0.875rem; margin-top: 0.125rem; }
.sd-hist[hidden] { display: none; }
.sd-hist table { width: 100%; }
.sd-hist .muted.small { font-size: 0.75rem; font-weight: 400; }
@container main (min-width: 56rem) {
  .sd-kpis { display: grid; grid-template-columns: calc((100% - 3rem) / 4) minmax(0, 1fr); align-items: stretch; gap: 1rem; }
  .sd-kpi-block .kpi-grid { flex: 1; grid-template-rows: repeat(2, 1fr); }
  .sd-kpi-month .kpi-grid { grid-template-columns: minmax(0, 1fr); }
  .sd-kpi-panel .kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Diagramma kartalari: 6 ustunli setka (kunlik — to'liq, soatlik 3 + hafta 3, keyin 2+2+2) */
.sd-charts { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem; min-width: 0; }
.sd-chart { min-width: 0; }
.sd-chart .card-content { margin-top: auto; min-width: 0; }   /* sarlavha balandligi farq qilsa ham diagrammalar bir chiziqda */
.sd-span-6 { grid-column: span 6; } .sd-span-3 { grid-column: span 3; } .sd-span-2 { grid-column: span 2; }
@container main (max-width: 56rem) { .sd-span-2 { grid-column: span 3; } }
@container main (max-width: 40rem) { .sd-span-3, .sd-span-2 { grid-column: span 6; } }
.chart-lg { height: 20rem; }
.sd-dot { flex-shrink: 0; width: 0.5rem; height: 0.5rem; border-radius: 50%; }
.sd-dot-night { background: var(--purple); }
.sd-dot-day { background: var(--warning); }

/* Mini xarita (catchment) */
.mini-map { position: relative; height: 22rem; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-lg); }

/* ===== Radius: inventar paneli, dashboard qatori, "radius bo'yicha OTS" kartasi, forma ko'rsatmasi ===== */
.site-card-metrics .scm-r { text-transform: none; white-space: nowrap; }
.inv-radius-bar { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 0.5rem 0.75rem; padding-top: 0.75rem; }
.inv-radius-bar .iob-title { display: inline-flex; align-items: center; gap: 0.375rem; height: 2rem; font-size: 0.75rem; color: var(--muted-foreground-strong); }
.inv-radius-bar > .rs-host, .sd-radius-row > .rs-host { flex: 1 1 36rem; min-width: 0; max-width: 54rem; }
.sd-radius-row { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 0.5rem 0.75rem; padding-top: 0.875rem; margin-top: 0.875rem; border-top: 1px solid var(--border); }
.sd-radius-lab { display: inline-flex; align-items: center; gap: 0.375rem; height: 2rem; font-size: 0.75rem; color: var(--muted-foreground-strong); }
.sd-radius-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem; min-height: 2rem; }
.sd-radius-info { font-size: 0.8125rem; color: var(--muted-foreground); font-variant-numeric: tabular-nums; }
.sd-radius-info b { color: var(--foreground); font-weight: 600; }
/* Radius o'zgarganda jonli bo'limlar yangilanguncha xiralashadi (eski raqam yangi radius deb ko'rinib qolmasin) */
.sd-kpis, .sd-charts, .sd-rcard .chart { transition: opacity var(--duration) ease-out; }
.sd-page.is-loading .sd-kpis, .sd-page.is-loading .sd-charts { opacity: 0.5; pointer-events: none; }

/* "OTS / oy — radius bo'yicha": radius ustunlari bo'yicha OTS va qamrov jadvali (ustun bosilsa radius almashadi) + grafik */
.sd-rcard .rc-note { margin-bottom: 0.75rem; font-size: 0.8125rem; }
.sd-rcard .rc-scroll { margin-bottom: 1rem; overflow-x: auto; }
.rc-table { width: 100%; min-width: 34rem; border-collapse: separate; border-spacing: 0; font-variant-numeric: tabular-nums; }
/* Global jadval qoidalarini (th fon/balandlik/chegara soyasi, qator chizig'i va hover) bu ixcham jadval uchun o'chiramiz */
.rc-table th, .rc-table td { height: auto; padding: 0.375rem; background: transparent; box-shadow: none; text-align: center; white-space: nowrap; }
.rc-table tbody tr { border-bottom: 0; }
.rc-table tbody tr:hover { background: transparent; }
.rc-table thead th { padding-bottom: 0.5rem; border-bottom: 1px solid var(--border); font-size: 0.75rem; font-weight: 500; color: var(--muted-foreground-strong); }
.rc-table .rc-rowlab { padding-left: 0; text-align: left; font-size: 0.75rem; font-weight: 500; color: var(--muted-foreground); }
.rc-table tbody td { font-size: 0.9375rem; font-weight: 600; }
.rc-table tbody tr + tr td { font-size: 0.8125rem; font-weight: 400; color: var(--muted-foreground-strong); }
.rc-table .rc-col { cursor: pointer; transition: background-color var(--duration-fast); }
.rc-table .rc-col:hover { background-color: color-mix(in oklab, var(--accent) 60%, transparent); }
.rc-table .rc-col.is-active { background-color: var(--accent); }
.rc-table tbody .rc-col.is-active { color: var(--foreground); }
.rc-table thead .rc-col.is-active { border-top-left-radius: var(--radius-md); border-top-right-radius: var(--radius-md); box-shadow: inset 0 -2px 0 var(--primary); }
.rc-table tbody tr:last-child .rc-col.is-active { border-bottom-left-radius: var(--radius-md); border-bottom-right-radius: var(--radius-md); }
.rc-hbtn { display: block; width: 100%; padding: 0.125rem 0.25rem; border: 0; border-radius: var(--radius-sm); background: none; color: inherit; font: inherit; cursor: pointer; }
.rc-hbtn:focus-visible { outline: none; box-shadow: var(--ring-glow); }
.rc-table thead .is-active .rc-hbtn { color: var(--foreground); font-weight: 600; }
.sd-rcard .chart { height: 15rem; }
.sf-radius-row .rs-ctl { padding-top: 0.125rem; }
.sf-hint { margin-top: 0.25rem; font-size: 0.75rem; color: var(--muted-foreground); line-height: 1.35; }
.sf-hint.is-bad { color: var(--destructive-text); }
