/* ================================================================
 * egaz-push custom styles
 *
 * Loyihaga xos barcha CSS override'lar va custom qoidalar shu yerga
 * yoziladi. Minible'ning asl fayllari (app.min.css, icons.min.css)
 * yoki Hv* design system fayllari (hv-tokens, hv-modal, hv-toast,
 * hv-select, hv-form) o'zgartirilmaydi — ularning ustiga override
 * qilish kerak bo'lsa, shu fayl ichiga qo'shing.
 * ================================================================ */

/* ---------- Typography ---------- */
/* Inter — enterprise admin panel standart shrifti. Cyrillic/Lotin Uzbek qo'llab-quvvatlanadi.
   IBM Plex Sans (app.min.css ichida !important bilan o'rnatilgan) ustidan override qilamiz.
   Font-feature-settings:
     'cv11' — bir xilroq raqam (single-storey '4', tartibli '6'/'9')
     'ss01' — open digits ('1' bez serif)
     'tnum' — tabular numerals (jadvallarda raqamlar bir xil eni egallaydi) */

:root {
    --hv-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --hv-font-mono: 'JetBrains Mono', 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
}

html,
body,
button,
input,
select,
textarea,
.form-control,
.form-select,
.btn,
.dropdown-menu,
.modal,
.card,
.table,
.nav,
.breadcrumb {
    font-family: var(--hv-font-sans) !important;
    font-feature-settings: 'cv11', 'ss01';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Jadval va raqamli inputlarda tabular nums (raqamlar bir xil enida) */
.table,
.table td,
.table th,
input[type="number"],
.text-end,
.text-right,
.font-tabular {
    font-feature-settings: 'cv11', 'ss01', 'tnum';
    font-variant-numeric: tabular-nums;
}

/* Monospace (kod, log, ID, hash) — JetBrains Mono */
code, pre, kbd, samp,
.font-monospace,
.text-monospace {
    font-family: var(--hv-font-mono) !important;
}

/* Heading'lar — biroz tighter letter-spacing zamonaviy admin tarzida */
h1, .h1 { font-weight: 700; letter-spacing: -0.02em; }
h2, .h2 { font-weight: 700; letter-spacing: -0.015em; }
h3, .h3 { font-weight: 600; letter-spacing: -0.01em; }
h4, .h4 { font-weight: 600; letter-spacing: -0.01em; }
h5, .h5 { font-weight: 600; }
h6, .h6 { font-weight: 600; }

/* Sidebar va topbar matnlari biroz qalinroq — admin UI standart */
#sidebar-menu ul li a {
    font-weight: 500;
    letter-spacing: -0.005em;
}
.menu-title {
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: 11px;
}

/* ---------- HvModal — Document layout (kompakt, A4-papka uslubi) ---------- */
/*
 * HvModal default `lg` o'lchami 72% kenglik egallaydi (juda keng).
 * Loyihada barcha popup'lar **document tipida** (kichik, vertikal yo'naltirilgan)
 * bo'lishi xohlangan. Bu yerda hv-modal.css default qiymatlari override qilinadi.
 *
 * Yangi o'lchovlar:
 *   default (sm) : 380px max
 *   hvm-lg       : 480px max (oldin 72%)
 *   hvm-xl       : 640px max (oldin 90%)
 *   hvm-xxl      : 880px max (oldin 94%) — keng tablar / DataTables uchun
 */
.hvm-dialog {
    width: 100% !important;
    max-width: 380px !important;
    min-width: 0 !important;
    --hvm-header-h: 48px;
    --hvm-footer-h: 52px;
}
.hvm-dialog.hvm-lg  { max-width: 480px !important; }
.hvm-dialog.hvm-xl  { max-width: 640px !important; }
.hvm-dialog.hvm-xxl { max-width: 880px !important; }

@media (max-width: 540px) {
    .hvm-dialog,
    .hvm-dialog.hvm-lg,
    .hvm-dialog.hvm-xl,
    .hvm-dialog.hvm-xxl { max-width: calc(100vw - 24px) !important; }
}

/* Modal header — kompaktroq */
.hvm-header  { padding: 10px 14px !important; }
.hvm-title   { font-size: 13px !important; }
.hvm-icon    { width: 30px !important; height: 30px !important; }
.hvm-icon svg { width: 15px !important; height: 15px !important; }
.hvm-close   { width: 26px !important; height: 26px !important; }

/* Modal body — document-paper kabi */
.hvm-body {
    padding: 14px 16px !important;
    font-size: 13px;
}

/* Modal ichida form maydonlari — kichikroq label + input */
.hvm-body .form-label,
.hvm-body label {
    font-size: 11.5px;
    font-weight: 600;
    color: var(--hvm-muted, #74788d);
    letter-spacing: .03em;
    text-transform: uppercase;
    margin-bottom: 3px;
    line-height: 1.2;
}

.hvm-body .form-control,
.hvm-body .form-select,
.hvm-body input[type="text"],
.hvm-body input[type="number"],
.hvm-body input[type="email"],
.hvm-body input[type="date"],
.hvm-body input[type="month"],
.hvm-body input[type="password"],
.hvm-body textarea,
.hvm-body select {
    font-size: 13px;
    padding: .35rem .6rem;
    min-height: 32px;
    line-height: 1.35;
}
.hvm-body textarea { min-height: 60px; }

/* Form row — vertikal stacked (Bootstrap row sinflari override qilinmasa, vertikal qoladi) */
.hvm-body .mb-3 { margin-bottom: .65rem !important; }
.hvm-body .mb-2 { margin-bottom: .5rem !important; }

/* Alert/help text — kichikroq */
.hvm-body .alert,
.hvm-body .form-text {
    font-size: 12px;
    padding: .5rem .75rem;
    margin-top: .5rem;
}

/* Modal footer — kompakt tugmalar */
.hvm-footer {
    padding: 8px 14px !important;
    min-height: var(--hvm-footer-h) !important;
}
.hvm-btn {
    font-size: 12.5px !important;
    padding: 6px 14px !important;
    min-height: 32px !important;
}

/* ---------- Light theme polish (tizimga mos rang sxemasi) ---------- */
/*
 * Yagona primary rang — indigo (#4f46e5). Topbar, badge, hover/active,
 * KPI cards va submenu indigo bilan birgalikda ishlaydi.
 * Body bg yumshoqroq (xira havorang tint), card border yengilroq.
 *
 * Bootstrap'ning standart `--bs-primary` (#5b73e8 Minible'da) o'rniga
 * indigo'ga moslashtiramiz — barcha .btn-primary, .text-primary, .bg-primary,
 * .border-primary, .link-primary indigo bo'ladi.
 */
:root {
    --hv-primary:       #4f46e5;
    --hv-primary-rgb:   79, 70, 229;
    --hv-primary-soft:  #eef2ff;
    --hv-primary-dark:  #4338ca;

    --hv-body-bg:       #f3f5f9;
    --hv-card-bg:       #ffffff;
    --hv-card-border:   #e6e9ec;
    --hv-text-strong:   #2b3a4b;
    --hv-text-muted:    #74788d;

    /* Bootstrap CSS variable'larini override */
    --bs-primary:        var(--hv-primary);
    --bs-primary-rgb:    var(--hv-primary-rgb);
    --bs-link-color:     var(--hv-primary);
    --bs-link-hover-color: var(--hv-primary-dark);
}

body { background-color: var(--hv-body-bg); }
.main-content .content,
.page-content { background-color: var(--hv-body-bg); }

/* Card — yengil border, yumshoq shadow */
.card {
    border: 1px solid var(--hv-card-border);
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(15, 34, 58, 0.04);
}
.card-header,
.card-footer {
    background-color: #fafbfc;
    border-color: var(--hv-card-border);
}

/* Breadcrumb — kichikroq, muted */
.page-title-box .breadcrumb {
    background: transparent;
    padding: 0;
    margin: 0;
    font-size: .82rem;
}
.page-title-box .breadcrumb-item,
.page-title-box .breadcrumb-item a {
    color: var(--hv-text-muted);
}
.page-title-box .breadcrumb-item a:hover { color: var(--hv-primary); }
.page-title-box .breadcrumb-item.active { color: var(--hv-text-strong); font-weight: 500; }
.page-title-box .breadcrumb-item + .breadcrumb-item::before { color: #c7cbd1; }

/* Filter bar / qidiruv paneli — yumshoq bg, indigo accent border */
.filter-bar,
.filter-panel,
.search-bar {
    background-color: #fafbfc !important;
    border: 1px solid var(--hv-card-border) !important;
    border-radius: 8px;
    padding: 12px 14px;
}

/* Form controls — yengilroq fokus, indigo aksent */
.form-control,
.form-select {
    background-color: #fff;
    border-color: #d4d8df;
    color: var(--hv-text-strong);
    transition: border-color .15s, box-shadow .15s;
}
.form-control:focus,
.form-select:focus {
    border-color: var(--hv-primary);
    box-shadow: 0 0 0 .18rem rgba(var(--hv-primary-rgb), .15);
}
.form-control::placeholder { color: #a0a6b1; opacity: 1; }

/* Buttons — primary indigo */
.btn-primary {
    background-color: var(--hv-primary);
    border-color: var(--hv-primary);
}
.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--hv-primary-dark);
    border-color: var(--hv-primary-dark);
    box-shadow: 0 2px 6px rgba(var(--hv-primary-rgb), .25);
}
.btn-soft-primary {
    background-color: var(--hv-primary-soft);
    color: var(--hv-primary);
    border-color: transparent;
}
.btn-soft-primary:hover {
    background-color: var(--hv-primary);
    color: #fff;
}

/* Tugma soft variantlari (success/warning/danger/info) — biroz toza */
.btn-soft-success { background-color: #ecfdf5; color: #10b981; border-color: transparent; }
.btn-soft-success:hover { background-color: #10b981; color: #fff; }
.btn-soft-warning { background-color: #fef3c7; color: #d97706; border-color: transparent; }
.btn-soft-warning:hover { background-color: #d97706; color: #fff; }
.btn-soft-danger  { background-color: #fee2e2; color: #dc2626; border-color: transparent; }
.btn-soft-danger:hover  { background-color: #dc2626; color: #fff; }
.btn-soft-info    { background-color: #e0f2fe; color: #0284c7; border-color: transparent; }
.btn-soft-info:hover    { background-color: #0284c7; color: #fff; }

/* Tables — yengilroq header, hover indigo tint */
.table > thead,
.table > thead.table-light {
    background-color: #f8fafc;
    color: var(--hv-text-strong);
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.table > thead th {
    border-bottom-color: var(--hv-card-border);
    font-weight: 600;
    padding: .7rem .75rem;
}
.table > tbody > tr { transition: background-color .12s; }
.table-hover > tbody > tr:hover { background-color: rgba(var(--hv-primary-rgb), .045); }
.table > tbody > tr > td { padding: .55rem .75rem; vertical-align: middle; }
.table > tbody { color: #495159; }
.table-striped > tbody > tr:nth-of-type(odd) > td { background-color: #fbfcfd; }

/* Pagination */
.pagination .page-link {
    color: var(--hv-text-strong);
    border-color: var(--hv-card-border);
    background-color: #fff;
}
.pagination .page-link:hover {
    background-color: var(--hv-primary-soft);
    color: var(--hv-primary);
    border-color: rgba(var(--hv-primary-rgb), .2);
}
.pagination .page-item.active .page-link {
    background-color: var(--hv-primary);
    border-color: var(--hv-primary);
    color: #fff;
}

/* Badge soft variantlari */
.badge.bg-soft-primary,
.badge.bg-soft-info {
    background-color: rgba(var(--hv-primary-rgb), .12);
    color: var(--hv-primary);
    font-weight: 600;
}
.badge.bg-soft-success { background-color: #ecfdf5; color: #10b981; font-weight: 600; }
.badge.bg-soft-warning { background-color: #fef3c7; color: #d97706; font-weight: 600; }
.badge.bg-soft-danger  { background-color: #fee2e2; color: #dc2626; font-weight: 600; }

/* Links */
a:not(.btn):not(.nav-link):not(.dropdown-item):not(.page-link):not(.breadcrumb-item):hover { color: var(--hv-primary-dark); }

/* Nav tabs — primary indigo */
.nav-tabs .nav-link.active {
    color: var(--hv-primary);
    border-bottom-color: var(--hv-primary);
    font-weight: 600;
}
.nav-tabs .nav-link:hover { color: var(--hv-primary-dark); border-color: transparent; }

/* "ta ko'rsatish" select, "Qidirish" input — DataTables length/filter */
.dataTables_length select,
.dataTables_filter input {
    border: 1px solid #d4d8df;
    border-radius: 4px;
    padding: 3px 8px;
    background: #fff;
}
.dataTables_filter input:focus,
.dataTables_length select:focus {
    border-color: var(--hv-primary);
    box-shadow: 0 0 0 .15rem rgba(var(--hv-primary-rgb), .15);
    outline: none;
}

/* Filter button (sariq tozalash, indigo apply) Minible'dagi standart icon-only */
.btn.btn-sm.text-warning,
.btn-soft-warning.btn-sm[title*="Tozalash"] { border-radius: 4px; }

/* "Ma'lumotlar topilmadi" qatorni biroz muted */
.dataTables_empty,
td.dataTables_empty,
td[colspan].text-center.text-muted { color: var(--hv-text-muted); font-style: italic; padding: 1.5rem 0; }

/* ---------- KPI / Stat cards (reusable) ---------- */
/* Dashboard, Subscribers (Hisob raqam) va boshqa sahifalardagi yuqori statistika
   kartalarini bir xil ko'rinishda saqlash uchun umumiy class'lar. */

.hv-stat {
    background: var(--hv-card-bg, #fff);
    border: 1px solid var(--hv-card-border, #e6e9ec);
    border-radius: 10px;
    padding: 14px 16px;
    transition: box-shadow .2s, transform .15s;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 96px;
}
.hv-stat:hover { box-shadow: 0 4px 14px rgba(15, 34, 58, .08); }

.hv-stat-label {
    color: var(--hv-text-muted, #74788d);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 4px;
    line-height: 1.2;
}
.hv-stat-value {
    font-size: 1.45rem;
    font-weight: 700;
    color: var(--hv-text-strong, #2b3a4b);
    letter-spacing: -0.015em;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}
.hv-stat-sub {
    font-size: .82rem;
    color: var(--hv-text-strong, #2b3a4b);
    font-weight: 500;
    margin-top: 4px;
}

.hv-stat-icon {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 1.35rem;
    flex-shrink: 0;
}

/* Modifier ranglar */
.hv-stat--primary .hv-stat-icon { background: #eef2ff; color: #4f46e5; }
.hv-stat--success .hv-stat-icon { background: #ecfdf5; color: #10b981; }
.hv-stat--info    .hv-stat-icon { background: #e0f2fe; color: #0284c7; }
.hv-stat--warning .hv-stat-icon { background: #fef3c7; color: #d97706; }
.hv-stat--danger  .hv-stat-icon { background: #fee2e2; color: #dc2626; }
.hv-stat--pink    .hv-stat-icon { background: #fce7f3; color: #db2777; }
.hv-stat--neutral .hv-stat-icon { background: #f3f4f6; color: #6b7280; }

/* Yengil chap chiziq akcent (optional, modifier) */
.hv-stat--accent  { border-left: 3px solid var(--hv-primary, #4f46e5); }

[data-bs-theme="dark"] .hv-stat {
    background: var(--hv-bg-elevated);
    border-color: var(--hv-border);
}
[data-bs-theme="dark"] .hv-stat-value { color: var(--hv-text); }
[data-bs-theme="dark"] .hv-stat-sub   { color: var(--hv-text); }

/* ---------- Topbar layout (role chap, sahifa nomi markaz) ---------- */
#page-topbar .navbar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.hv-topbar-role {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .35rem .65rem;
    background-color: #eef2ff;
    color: #4f46e5;
    border-radius: 6px;
    font-weight: 600;
    font-size: .8rem;
    letter-spacing: .02em;
    text-transform: uppercase;
    line-height: 1;
    white-space: nowrap;
}

.hv-topbar-role i { font-size: 1rem; }

.hv-topbar-title {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
    max-width: 50%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hv-topbar-title h5 {
    font-weight: 600;
    color: #2b3a4b;
    letter-spacing: -0.01em;
    font-size: 1.05rem;
    white-space: nowrap;
}

[data-bs-theme="dark"] .hv-topbar-role {
    background-color: rgba(79, 70, 229, .18);
    color: #c7d2fe;
}

[data-bs-theme="dark"] .hv-topbar-title h5 { color: var(--hv-text); }

/* ---------- Sidebar icon alignment ---------- */
#sidebar-menu ul li a i {
    display: inline-block;
    width: 1.3rem;
    min-width: 1.3rem;
    text-align: center;
    font-size: 1.02rem;
    line-height: 1.2;
    vertical-align: middle;
    margin-right: 0.3rem;
}

#sidebar-menu ul li ul.sub-menu li a i {
    width: 1.05rem;
    min-width: 1.05rem;
    font-size: .9rem;
    margin-right: 0.25rem;
}

body.vertical-collpsed .vertical-menu #sidebar-menu > ul > li > a i {
    width: 1.5rem;
    text-align: center;
    font-size: 1.45rem;
    margin-right: 0;
}

/* ================================================================
 * Sidebar — To'q navy panel (dark sidebar + light content)
 *
 *  • Sidebar doim to'q navy — light mavzuda ham, dark mavzuda ham
 *  • Ochiq/faol bo'lim = to'liq yorqin ko'k pill + oq matn
 *  • Oddiy element = och kulrang matn, muted ikonka
 *  • Submenu bir xil to'q fonda, biroz indent
 *  • Qolgan kontent (topbar, kartalar, jadval) o'zgarmaydi — light qoladi
 * ================================================================ */

:root {
    --sb-bg:           #1e2a3d;   /* sidebar asosiy foni (to'q navy) */
    --sb-bg-deep:      #1a2436;   /* pastroq / submenu uchun biroz to'qroq */
    --sb-brand-bg:     #1a2436;   /* logo qutisi */
    --sb-border:       rgba(255, 255, 255, .06);

    --sb-item-color:   #b4c0d3;   /* oddiy element matni (och kulrang-havorang) */
    --sb-icon-color:   #7e8ba3;   /* oddiy ikonka (muted) */

    --sb-hover-bg:     rgba(255, 255, 255, .06);
    --sb-hover-color:  #ffffff;

    --sb-active-bg:    #3b5bdb;    /* faol/ochiq pill foni (yorqin ko'k) */
    --sb-active-grad:  linear-gradient(135deg, #4c6ef5 0%, #3b5bdb 100%);
    --sb-active-color: #ffffff;

    --sb-title-color:  #6b7896;   /* bo'lim sarlavhasi */
    --sb-radius:       8px;
}

/* ---------- Panel foni (light mavzuda ham to'q) ---------- */
.vertical-menu,
.sidebar-menu-scroll,
.vertical-menu .simplebar-content-wrapper {
    background-color: var(--sb-bg) !important;
}
.navbar-brand-box {
    background-color: var(--sb-brand-bg) !important;
    border-bottom: 1px solid var(--sb-border);
}
/* To'q sidebarda och (light) logo ko'rsatiladi */
.vertical-menu .logo-dark  { display: none !important; }
.vertical-menu .logo-light { display: block !important; }
/* Gamburger tugma (menu toggle) — sidebar ustida oq */
.vertical-menu .vertical-menu-btn { color: #b4c0d3 !important; }

/* Menyu shrifti — Inter */
#sidebar-menu,
#sidebar-menu ul li a,
#sidebar-menu ul li ul.sub-menu li a,
.menu-title {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
}

/* Menyu ro'yxati — chetlardan minimal padding */
#sidebar-menu { padding: 6px 0 20px !important; }

/* ---------- Top-level element ----------
   Minible `#sidebar-menu>ul>li>a{padding:15px 0}` ni bosish uchun aniq selektor. */
#sidebar-menu ul li a,
#sidebar-menu > ul > li > a {
    display: flex;
    align-items: center;
    color: var(--sb-item-color);
    font-weight: 500;
    font-size: 13px;
    line-height: 1.25;
    margin: 2px 0;
    padding: .55rem .7rem;
    position: relative;
    transition: background-color .16s ease, color .16s ease;
}

#sidebar-menu ul li a i {
    color: var(--sb-icon-color);
    font-size: 1.1rem;
    font-weight: 400;
    width: 1.4rem;
    min-width: 1.4rem;
    text-align: center;
    margin-right: .55rem !important;
    transition: color .16s ease;
}

/* Element matni — o'ng tomonga cho'zilib, caret uchun joy qoldiradi. */
#sidebar-menu ul li a span {
    flex: 1 1 auto;
    min-width: 0;
    padding-left: 0 !important;
}

/* Hover — yengil oq tint */
#sidebar-menu ul > li > a:hover {
    background: var(--sb-hover-bg);
    color: var(--sb-hover-color);
}
#sidebar-menu ul > li > a:hover i { color: #c7d2e5; }

/* Ochiq ota-element (bolalari ochiq) — to'liq yorqin ko'k pill (skrinshotdagidek).
   Minible `.mm-active>a{background-color:#f3f8fb;color:#5b73e8!important}` ni bosamiz. */
#sidebar-menu ul > li.mm-active > a.has-arrow {
    background: var(--sb-active-grad) !important;
    color: #fff !important;
    font-weight: 600;
    box-shadow: 0 3px 10px rgba(59, 91, 219, .35);
}
#sidebar-menu ul > li.mm-active > a.has-arrow span { color: #fff !important; }
#sidebar-menu ul > li.mm-active > a.has-arrow i { color: #fff !important; }

/* Faol (joriy sahifa) — to'liq ko'k pill, oq matn.
   Minible `.mm-active>a{color:#5b73e8!important}` ni bosish uchun !important shart. */
#sidebar-menu ul > li > a.active {
    background: var(--sb-active-grad);
    color: #fff !important;
    font-weight: 600;
    box-shadow: 0 3px 10px rgba(59, 91, 219, .35);
}
#sidebar-menu ul > li > a.active span,
#sidebar-menu ul > li > a.active i { color: #fff !important; }

/* Has-arrow caret (chevron) — kichik, o'ngda.
   Minible `float:right` flex ichida ishlamaydi — margin-left:auto bilan o'ngga qo'yamiz. */
#sidebar-menu .has-arrow:after {
    color: #6b7896;
    font-size: .9em;
    margin-left: auto;
    float: none !important;
    transition: transform .22s ease, color .16s ease;
}
#sidebar-menu li.mm-active > .has-arrow:after,
#sidebar-menu .has-arrow.active:after { color: rgba(255, 255, 255, .85); }

/* Badge — qizil pill */
#sidebar-menu ul li .badge {
    background-color: #ef4444 !important;
    color: #fff !important;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 7px;
    border-radius: 10px;
    min-width: 20px;
    line-height: 1;
    margin-left: auto;
}
/* Faol pill ichida badge — oq fon, ko'k matn (kontrast uchun) */
#sidebar-menu ul > li > a.active .badge {
    background-color: rgba(255, 255, 255, .92) !important;
    color: #3b5bdb !important;
}

/* Menu title (bo'lim sarlavhasi) */
.menu-title {
    color: var(--sb-title-color) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase;
    padding: 16px 18px 6px !important;
}

/* ---------- Sub-menu (bolalar) ---------- */
/* Bir xil to'q fon, biroz indent — chiziqsiz, toza */
#sidebar-menu ul li ul.sub-menu {
    background: #141e2f;
    border-left: none;
    margin: 1px 0 3px;
    padding: 1px 0 1px 2px !important;
    position: relative;
}
/* Nozik ulanish chizig'i (juda yengil) — chap chetga yaqin */
#sidebar-menu ul li ul.sub-menu::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 4px;
    bottom: 4px;
    width: 1.5px;
    background: rgba(255, 255, 255, .1);
    border-radius: 2px;
}

/* Sub-item link — kichikroq, indentli, muted.
   Minible submenu `padding-left:4.5rem` gacha berishi mumkin — bosamiz. */
#sidebar-menu ul li ul.sub-menu li a,
#sidebar-menu > ul ul.sub-menu li > a {
    display: flex;
    align-items: center;
    color: #93a1ba;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.25;
    padding: .42rem .6rem .42rem 1.4rem !important;
    margin: 1px 0;
    background: transparent;
    transition: background-color .15s ease, color .15s ease;
}
#sidebar-menu ul li ul.sub-menu li a i { color: #7e8ba3; }

/* Sub-item hover — yengil oq tint */
#sidebar-menu ul li ul.sub-menu li a:hover {
    color: #fff;
    background: var(--sb-hover-bg);
}
#sidebar-menu ul li ul.sub-menu li a:hover i { color: #c7d2e5; }

/* Sub-item faol — to'liq ko'k pill (top-level bilan bir xil til).
   Minible `.mm-active .active{color:#5b73e8!important}` ni bosish uchun !important shart. */
#sidebar-menu ul li ul.sub-menu li a.active,
#sidebar-menu ul li ul.sub-menu li.mm-active > a {
    color: #fff !important;
    font-weight: 700;
    box-shadow: 0 3px 10px rgba(59, 91, 219, .3);
}
#sidebar-menu ul li ul.sub-menu li a.active span,
#sidebar-menu ul li ul.sub-menu li.mm-active > a span,
#sidebar-menu ul li ul.sub-menu li a.active i,
#sidebar-menu ul li ul.sub-menu li.mm-active > a i { color: #fff !important; }

/* 3-daraja (chuqurroq) submenu — yana bir oz indent */
#sidebar-menu ul li ul.sub-menu ul.sub-menu li a { padding-left: 2.2rem !important; }

/* ================================================================
 * Dark mavzu — sidebar allaqachon to'q navy, faqat fonni biroz
 * moslashtiramiz (body qora bo'lgani uchun sidebar undan ajralib tursin).
 * ================================================================ */
[data-bs-theme="dark"] .vertical-menu,
[data-bs-theme="dark"] .sidebar-menu-scroll,
[data-bs-theme="dark"] .vertical-menu .simplebar-content-wrapper {
    background-color: var(--sb-bg) !important;
}
[data-bs-theme="dark"] .navbar-brand-box {
    background-color: var(--sb-brand-bg) !important;
}

/* ---------- Dark theme ---------- */
/* [data-bs-theme="dark"] selektori html elementiga qo'yiladi (custom.js orqali).
   Bootstrap 5.3 standartiga mos. */

[data-bs-theme="dark"] {
    /* Minible (Themesbrand) rasmiy dark-layout palitrasi */
    --hv-bg:           #222736;   /* $body-bg (dark) */
    --hv-bg-elevated:  #2a3042;   /* card / dropdown / modal */
    --hv-bg-hover:     #2e3446;   /* hover / input fon */
    --hv-border:       #32394e;   /* $border-color (dark) */
    --hv-text:         #a6b0cf;   /* asosiy matn */
    --hv-text-muted:   #8590a5;   /* muted matn */
    /* Light qiymati #2b3a4b — qorong'u fonda 1.4:1. Token darajasida almashtirilmasa,
       uni ishlatadigan har bir joyga alohida override yozishga to'g'ri keladi
       (jadval sarlavhasi shu sabab qorong'u matnda qolib ketgan edi). */
    --hv-text-strong:  #e6e9f4;   /* sarlavha / kuchli matn */
}

[data-bs-theme="dark"] body {
    background-color: var(--hv-bg);
    color: var(--hv-text);
}

[data-bs-theme="dark"] #page-topbar {
    background-color: var(--hv-bg-elevated);
    border-color: var(--hv-border);
    box-shadow: 0 2px 4px rgba(0, 0, 0, .35);
}

/* Sidebar (.vertical-menu / .navbar-brand-box / logo / element ranglari) yuqoridagi
   "To'q navy panel" blokida to'liq belgilangan — u light va dark mavzuda bir xil ishlaydi. */

[data-bs-theme="dark"] .page-title-box h4,
[data-bs-theme="dark"] .page-title-box .breadcrumb-item,
[data-bs-theme="dark"] .page-title-box .breadcrumb-item a,
[data-bs-theme="dark"] .page-title-box .breadcrumb-item.active {
    color: var(--hv-text);
}

[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .modal-content,
[data-bs-theme="dark"] .dropdown-menu {
    background-color: var(--hv-bg-elevated);
    color: var(--hv-text);
    border-color: var(--hv-border);
}

[data-bs-theme="dark"] .card-header,
[data-bs-theme="dark"] .card-footer,
[data-bs-theme="dark"] .modal-header,
[data-bs-theme="dark"] .modal-footer {
    background-color: var(--hv-bg-elevated);
    border-color: var(--hv-border);
}

[data-bs-theme="dark"] .dropdown-item { color: var(--hv-text); }
[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus {
    background-color: var(--hv-bg-hover);
    color: #fff;
}
[data-bs-theme="dark"] .dropdown-divider { border-color: var(--hv-border); }

[data-bs-theme="dark"] .header-item { color: var(--hv-text) !important; }
[data-bs-theme="dark"] .header-item:hover { background-color: var(--hv-bg-hover); }

/* Jadval — DIQQAT: loyihada Bootstrap 5.0.1 ishlatiladi, 5.3 EMAS.
   BS 5.0.1 da `.table` matn rangini `color:#495057` deb QATTIQ beradi va
   `--bs-table-color` degan o'zgaruvchi umuman YO'Q (u faqat 5.3 da paydo bo'lgan).
   Shuning uchun `color` to'g'ridan-to'g'ri berilishi shart — aks holda qorong'u
   fonda qatorlar #495057 bo'lib qoladi (kontrast 1.6:1, deyarli ko'rinmaydi),
   faqat :hover qatori yorqin chiqadi (u --bs-table-hover-color orqali ishlaydi). */
[data-bs-theme="dark"] .table {
    color: #c8d0e7;                        /* 8.5:1 — asosiy jadval matni */
    border-color: var(--hv-border);
    --bs-table-bg:            var(--hv-bg-elevated);
    --bs-table-striped-color: #c8d0e7;
    --bs-table-striped-bg:    #2e3446;
    --bs-table-active-color:  #eef1fa;
    --bs-table-active-bg:     #333a52;
    --bs-table-hover-color:   #eef1fa;     /* 10:1 — hover, lekin oddiy qatordan keskin farq qilmaydi */
    --bs-table-hover-bg:      #333a52;
    --bs-table-border-color:  var(--hv-border);
}
[data-bs-theme="dark"] .table > :not(caption) > * > * { border-color: var(--hv-border); }

/* Yuqoridagi qoida faqat `.table` elementining O'ZIGA rang beradi. Light mavzu
   uslublari esa uning BOLALARIGA yozadi (`> tbody`, `> thead`, striped `> td`) —
   meros bo'lib tushayotgan `.table` rangi ularni yenga olmaydi, chunki specificity
   faqat AYNAN BIR XIL elementga mos qoidalar orasida solishtiriladi. Shu bois har
   bir bola uchun alohida dark override kerak; aks holda qatorlar #495159 bo'lib
   qoladi (#2a3042 fonda 1.5:1) va faqat :hover qatori o'qiladigan bo'lib turadi. */
[data-bs-theme="dark"] .table > tbody { color: #c8d0e7; }          /* 8.5:1 */
[data-bs-theme="dark"] .table > thead,
[data-bs-theme="dark"] .table > thead.table-light {
    background-color: #32394e;                                     /* light: #f8fafc — deyarli oq chiziq edi */
    color: #b9c2dc;                                                /* 6.2:1 */
}
[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > td { background-color: #2e3446; }
[data-bs-theme="dark"] .table-hover > tbody > tr:hover { background-color: #333a52; }

/* `.btn-soft-secondary` (loyihada eng ko'p ishlatiladigan soft variant) va
   `.btn-soft-dark` custom.css da qayta bo'yalmagan — qolgan soft variantlar
   276–294 qatorlarda pastel fonga o'tkazilgan. Bootstrap ta'rifi bo'yicha ular
   #74788d / #343a40 matn beradi; qorong'u kartada bu 2.4:1 va 1.3:1. */
[data-bs-theme="dark"] .btn-soft-secondary,
[data-bs-theme="dark"] .btn-soft-dark {
    background-color: rgba(166, 176, 207, .14);
    border-color: transparent;
    color: #c8d0e7;                                                /* 7.6:1 */
}
[data-bs-theme="dark"] .btn-soft-secondary:hover,
[data-bs-theme="dark"] .btn-soft-dark:hover {
    background-color: rgba(166, 176, 207, .26);
    color: #eef1fa;
}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] textarea.form-control {
    background-color: var(--hv-bg-hover);
    border-color: #32394e;
    color: var(--hv-text);
}
[data-bs-theme="dark"] .form-control::placeholder { color: var(--hv-text-muted); }
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
    background-color: var(--hv-bg-hover);
    border-color: #5b6471;
    color: var(--hv-text);
    box-shadow: 0 0 0 .15rem rgba(91, 100, 113, .35);
}
[data-bs-theme="dark"] .input-group-text {
    background-color: var(--hv-bg-elevated);
    border-color: #32394e;
    color: var(--hv-text);
}

[data-bs-theme="dark"] .text-muted,
[data-bs-theme="dark"] .text-body-secondary { color: var(--hv-text-muted) !important; }

[data-bs-theme="dark"] hr,
[data-bs-theme="dark"] .border,
[data-bs-theme="dark"] .border-top,
[data-bs-theme="dark"] .border-bottom,
[data-bs-theme="dark"] .border-start,
[data-bs-theme="dark"] .border-end { border-color: var(--hv-border) !important; }

[data-bs-theme="dark"] .nav-tabs .nav-link {
    color: var(--hv-text-muted);
    border-color: transparent;
}
[data-bs-theme="dark"] .nav-tabs .nav-link.active {
    color: var(--hv-text);
    background-color: var(--hv-bg-elevated);
    border-color: var(--hv-border) var(--hv-border) var(--hv-bg-elevated);
}
[data-bs-theme="dark"] .nav-tabs { border-color: var(--hv-border); }

[data-bs-theme="dark"] .pagination .page-link {
    background-color: var(--hv-bg-elevated);
    border-color: var(--hv-border);
    color: var(--hv-text);
}
[data-bs-theme="dark"] .pagination .page-link:hover {
    background-color: var(--hv-bg-hover);
    color: #fff;
}
[data-bs-theme="dark"] .pagination .page-item.disabled .page-link {
    background-color: var(--hv-bg);
    color: var(--hv-text-muted);
}

/* ================================================================
 * LOGIN sahifasi (auth/login.blade.php)
 *
 * To'liq ekranli fon rasmi + o'ng tomonda qorong'i shaffof karta.
 * Eski egaz login sahifasining vizual ekvivalenti (HGT brend uslubi).
 * ================================================================ */

.hgt-login {
    --hgt-card-bg: rgba(26, 34, 47, 0.90);
    --hgt-input-bg: #f1f4f9;
    --hgt-input-bg-focus: #ffffff;
    --hgt-label: #a9b4c3;
    --hgt-muted: #9aa6b6;
    --hgt-primary: #2b5fe3;
    --hgt-primary-hover: #1f4ecb;
    --hgt-danger: #ff4242;
    --hgt-footer-h: 30px;

    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    background: #0d1219;
    font-family: var(--hv-font-sans, 'Inter', -apple-system, 'Segoe UI', Roboto, sans-serif);
}

/* ---------- Fon rasmi ---------- */
.hgt-login__bg {
    position: fixed;
    inset: 0;
    background-image: url('../images/login-bg.png');
    background-size: cover;
    background-position: center 35%;
    background-repeat: no-repeat;
    z-index: 0;
}

/* Kichik ekranlarda karta o'qilishi uchun qorong'ilashtiruvchi qatlam */
.hgt-login__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(9, 14, 22, 0) 45%, rgba(9, 14, 22, 0.45) 100%);
}

/* ---------- Karta joylashuvi ---------- */
.hgt-login__wrap {
    position: relative;
    z-index: 1;
    min-height: calc(100vh - var(--hgt-footer-h));
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 32px 9vw 32px 32px;
}

.hgt-login__card {
    width: 100%;
    max-width: 400px;
    /* flex item — min-width:auto bo'lsa E-IMZO select'ining uzun CN matni
       kartani kengaytirib, sahifada gorizontal scroll hosil qiladi */
    min-width: 0;
    padding: 30px 30px 26px;
    border-radius: 16px;
    background: var(--hgt-card-bg);
    border: 1px solid rgba(255, 255, 255, 0.07);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

/* ---------- Logo ---------- */
.hgt-login__logo {
    display: block;
    width: 100%;
    max-width: 320px;
    margin: 0 auto 26px;
}

/* ---------- Maydonlar ---------- */
.hgt-login__field { margin-bottom: 16px; }

.hgt-login__label {
    display: block;
    margin-bottom: 7px;
    color: var(--hgt-label);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.9px;
    text-transform: uppercase;
}

.hgt-login__input,
.hgt-login__select {
    display: block;
    width: 100%;
    height: 44px;
    padding: 0 15px;
    border: 1px solid transparent;
    border-radius: 7px;
    background-color: var(--hgt-input-bg);
    color: #1b2432;
    font-size: 14.5px;
    font-weight: 500;
    line-height: 44px;
    transition: background-color .15s, border-color .15s, box-shadow .15s;
    appearance: none;
    -webkit-appearance: none;
}

.hgt-login__input::placeholder { color: #9aa5b4; font-weight: 400; }

.hgt-login__input:focus,
.hgt-login__select:focus {
    outline: none;
    background-color: var(--hgt-input-bg-focus);
    border-color: var(--hgt-primary);
    box-shadow: 0 0 0 3px rgba(43, 95, 227, 0.25);
}

/* Select — o'z strelkasi (appearance:none tufayli) */
.hgt-login__select {
    padding-right: 38px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23566276'%3E%3Cpath d='M8 11.5 3.2 6.2a.7.7 0 0 1 1-1L8 9.4l3.8-4.2a.7.7 0 1 1 1 1z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 13px center;
    background-size: 15px 15px;
    cursor: pointer;
}

.hgt-login__select {
    max-width: 100%;
    text-overflow: ellipsis;
}

.hgt-login__select option { color: #1b2432; background: #fff; }

/* ---------- Captcha ---------- */
.hgt-login__captcha {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.hgt-login__captcha-img {
    height: 46px;
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
    flex: 0 0 auto;
}

.hgt-login__captcha .hgt-login__input {
    flex: 1 1 auto;
    min-width: 0;
    height: 46px;
    line-height: 46px;
    text-align: center;
    letter-spacing: 4px;
    font-weight: 600;
    background-color: #dfe4ec;
}

/* ---------- Tugma ---------- */
.hgt-login__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    height: 47px;
    border: 0;
    border-radius: 7px;
    background: var(--hgt-primary);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .15s, transform .05s;
}

.hgt-login__btn:hover:not(:disabled) { background: var(--hgt-primary-hover); }
.hgt-login__btn:active:not(:disabled) { transform: translateY(1px); }
.hgt-login__btn:disabled { opacity: .65; cursor: not-allowed; }

/* ---------- Matnlar ---------- */
.hgt-login__hint {
    margin: 15px 0 0;
    color: var(--hgt-muted);
    font-size: 12.5px;
    line-height: 1.55;
    text-align: center;
}

.hgt-login__msg {
    margin: 13px 0 0;
    min-height: 1em;
    color: var(--hgt-danger);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
}

.hgt-login__msg--ok { color: #2fd07a; }

/* ---------- ONE ID ---------- */
.hgt-login__oneid {
    display: block;
    width: 128px;
    margin: 20px auto 0;
    border-radius: 12px;
    overflow: hidden;
    line-height: 0;
    transition: transform .15s, box-shadow .15s;
}

.hgt-login__oneid img { width: 100%; height: auto; display: block; }

.hgt-login__oneid:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(72, 37, 194, 0.5);
}

/* ---------- Ro'yxatdan o'tish havolasi ---------- */
.hgt-login__register {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: 22px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.4px;
    text-decoration: none;
    text-transform: uppercase;
}

.hgt-login__register i { font-size: 20px; }
.hgt-login__register:hover { color: #fff; text-decoration: underline; }

/* ---------- Pastki qora chiziq ---------- */
.hgt-login__footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    height: var(--hgt-footer-h);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    background: #000;
    color: #aeaeae;
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 0.6px;
    text-align: center;
}

/* ---------- Responsive ---------- */
@media (max-width: 991.98px) {
    .hgt-login__bg::after {
        background: rgba(9, 14, 22, 0.55);
    }
    .hgt-login__wrap {
        justify-content: center;
        padding: 28px 18px calc(var(--hgt-footer-h) + 18px);
    }
}

@media (max-width: 575.98px) {
    .hgt-login { --hgt-footer-h: 46px; }
    .hgt-login__card { padding: 24px 20px 22px; border-radius: 14px; }
    .hgt-login__footer { font-size: 10.5px; letter-spacing: .3px; line-height: 1.3; }
}


/* ================================================================
 * Sticky filtr paneli — ro'yxat modullari uchun
 *
 * Ishlatish: `.hv-toolbar` ga `hv-toolbar-sticky` class'ini qo'shing.
 * Scroll paytida panel topbar ostida qotib qoladi, jadval esa uning
 * ostidan suriladi.
 * ================================================================ */

/*
 * Minible `.main-content` ga `overflow:hidden` beradi. `overflow:hidden`
 * scroll konteyner yaratadi — ichidagi `position:sticky` viewport'ga emas,
 * o'sha konteynerga nisbatan hisoblanadi va natijada UMUMAN ishlamaydi.
 * `overflow:clip` xuddi shunday kesadi, lekin scroll konteyner yaratmaydi.
 * Eski brauzerda `clip` tushunilmasa — Minible'ning `hidden` i kuchda qoladi,
 * ya'ni layout buzilmaydi, faqat sticky ishlamaydi.
 */
.main-content { overflow: clip; }

/* #page-topbar — fixed, balandligi 70px (.page-content padding-top ham shunga tayanadi) */
:root { --hv-topbar-h: 70px; }

.hv-toolbar.hv-toolbar-sticky {
    position: sticky;
    top: var(--hv-topbar-h);
    /* 6 — chunki `.hv-overlay` (yuklanish, hv-list.css) z-index:5, va u DOM'da
       keyinroq turadi; teng bo'lsa qotgan panelni bosib qolardi */
    z-index: 6;
    background-color: var(--hv-card-bg, #fff);
}

/*
 * Panel bilan jadval orasidagi margin tirqishini to'ldiradi — qotgan holatda
 * satrlar shu bo'shliqdan ko'rinib qolmasligi uchun. Balandlikni custom.js
 * `.hv-toolbar` ning HAQIQIY margin-bottom'idan hisoblaydi (hv-list.css da
 * o'zgarishi mumkin), JS ishlamasa — 0, ya'ni hech narsani bosmaydi.
 */
.hv-toolbar.hv-toolbar-sticky::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: var(--hv-toolbar-gap, 0px);
    background-color: inherit;
    pointer-events: none;
}

/* Soya faqat qotgan holatda — `is-stuck` ni custom.js qo'yadi */
.hv-toolbar.hv-toolbar-sticky.is-stuck {
    box-shadow: 0 10px 16px -12px rgba(15, 34, 58, .45);
}

[data-bs-theme="dark"] .hv-toolbar.hv-toolbar-sticky {
    background-color: var(--hv-bg-elevated);
}
[data-bs-theme="dark"] .hv-toolbar.hv-toolbar-sticky.is-stuck {
    box-shadow: 0 10px 16px -12px rgba(0, 0, 0, .6);
}


/* ================================================================
 * Sticky jadval sarlavhasi (thead) — filtr paneliga TUTASHIB qotadi
 *
 * Ishlatish: `.hv-wrap` ga `hv-sticky-head` class'ini qo'shing.
 * `is-sticky-ready` va `--hv-sticky-offset` ni custom.js beradi
 * (offset = sticky filtr panelining balandligi + margin).
 * ================================================================ */

/*
 * Bootstrap `.table-responsive` `overflow-x:auto` beradi. Spec bo'yicha bir o'q
 * `auto` bo'lsa, ikkinchisidagi `visible` ham `auto` ga aylanadi — element scroll
 * konteynerga aylanadi va ichidagi `position:sticky` viewport'ga emas, o'sha
 * konteynerga nisbatan hisoblanadi. Konteyner vertikal scroll qilmagani uchun
 * thead hech qachon qotmaydi.
 *
 * Yechim: jadval kenglikka SIG'SA — overflow olib tashlanadi, sarlavha qotadi.
 * SIG'MASA — gorizontal scroll muhimroq, sticky qo'yilmaydi (custom.js
 * `is-sticky-ready` ni qo'ymaydi).
 */
.hv-wrap.hv-sticky-head.is-sticky-ready > .table-responsive {
    overflow: visible;
}

.hv-wrap.hv-sticky-head.is-sticky-ready table.hv-table thead th {
    /*
     * `position` ni ATAYLAB shu yerda qayta e'lon qilamiz. DataTables
     * `table.dataTable thead .sorting { position:relative }` beradi — uning
     * specifikligi (0,2,2), hv-list.css dagi `table.hv-table thead th`
     * (0,1,3) dan yuqori. Natijada SARALANADIGAN ustunlar `relative` bo'lib
     * qolardi va sarlavha qatori ikkiga bo'linib ketardi (saralanmaydigan
     * ustunlar qotib, qolgani qotmay). Bu selektor (0,4,3) — DataTables'ni yengadi.
     * `sticky` ham pozitsiyalangan qiymat, shuning uchun saralash strelkalari
     * (`::before`/`::after`, absolute) avvalgidek joyida qoladi.
     */
    position: sticky;
    /* hv-list.css dagi `top:0` ni almashtiradi — filtr panelining tagiga tutashadi */
    top: calc(var(--hv-topbar-h) + var(--hv-sticky-offset, 0px));
    z-index: 4;   /* panel 6 > overlay 5 > sarlavha 4 */
    /* border-collapse:collapse da qotgan th chegarasi yo'qoladi — shadow bilan qaytaramiz */
    box-shadow: inset 0 -1px 0 var(--hv-card-border, #e9ebf0);
}

/* Jadval sig'masa — hv-list.css dagi `top:0` sticky ham keraksiz */
.hv-wrap.hv-sticky-head:not(.is-sticky-ready) table.hv-table thead th {
    position: static;
}

/*
 * Panel va sarlavha bitta blok bo'lib qotadi, shuning uchun soya faqat eng
 * PASTKI elementda — ya'ni sarlavhada — bo'lishi kerak. Panel `.hv-toolbar` va
 * jadval `.hv-wrap` bir xil `.card-body` ning bolalari, shuning uchun `~` ishlaydi.
 */
.hv-toolbar-sticky.is-stuck ~ .hv-wrap.hv-sticky-head.is-sticky-ready table.hv-table thead th {
    box-shadow: inset 0 -1px 0 var(--hv-card-border, #e9ebf0),
                0 10px 16px -12px rgba(15, 34, 58, .45);
}
.hv-toolbar.hv-toolbar-sticky.is-stuck:has(~ .hv-wrap.hv-sticky-head.is-sticky-ready) {
    box-shadow: none;
}

[data-bs-theme="dark"] .hv-wrap.hv-sticky-head.is-sticky-ready table.hv-table thead th {
    box-shadow: inset 0 -1px 0 #32394e;
}
[data-bs-theme="dark"] .hv-toolbar-sticky.is-stuck ~ .hv-wrap.hv-sticky-head.is-sticky-ready table.hv-table thead th {
    box-shadow: inset 0 -1px 0 #32394e,
                0 10px 16px -12px rgba(0, 0, 0, .6);
}
