/* ==========================================================================
   nx-theme — ImanReport dizayn sistemi
   Yalnız <html class="nx-theme"> olduqda aktivdir. Class silinərsə köhnə görünüş qayıdır.
   ========================================================================== */

/* nx-theme olmadıqda əlavə elementlər görünməsin */
html:not(.nx-theme) .nx-only { display: none !important; }

/* ---------- TOKENLƏR: açıq tema ---------- */
html.nx-theme {
    --nx-bg: #f5f6f8;
    --nx-surface: #ffffff;
    --nx-surface-2: #f0f2f5;
    --nx-border: #e2e5ea;
    --nx-border-strong: #cdd2da;
    --nx-text: #14171c;
    --nx-text-2: #4a5261;
    --nx-text-3: #7a8394;
    --nx-accent: #2563eb;
    --nx-accent-hover: #1d4ed8;
    --nx-accent-soft: #e8effd;
    --nx-accent-text: #1e40af;
    --nx-on-accent: #ffffff;
    --nx-success-bg: #e6f5ec; --nx-success-fg: #166534;
    --nx-warning-bg: #fdf3e0; --nx-warning-fg: #92400e;
    --nx-danger-bg:  #fdecec; --nx-danger-fg:  #991b1b;
    --nx-info-bg:    #e5f3fa; --nx-info-fg:    #075985;
    --nx-overlay: rgba(15, 18, 24, .45);
    --nx-focus: 0 0 0 3px rgba(37, 99, 235, .25);
    --nx-shadow: none;
    --nx-shadow-pop: 0 8px 24px rgba(16, 24, 40, .12);
    --nx-radius-sm: 4px;
    --nx-radius: 6px;
    --nx-radius-lg: 8px;
    --nx-font: 'IBM Plex Sans', -apple-system, 'Segoe UI', Roboto, sans-serif;
    --nx-mono: 'IBM Plex Mono', ui-monospace, Consolas, monospace;
    --nx-nav-h: 52px;
    --nx-row-h: 32px;
    --nx-ctl-h: 36px;

    /* köhnə dəyişənləri tokenlərə bağla (inline style-lar üçün) */
    --primary: var(--nx-accent);
    --primary-dark: var(--nx-accent-hover);
    --primary-light: var(--nx-accent);
    --gradient-primary: var(--nx-accent);
    --gradient-success: var(--nx-accent);
    --gradient-danger: var(--nx-accent);
    --gradient-info: var(--nx-accent);

    background: var(--nx-bg);
    color-scheme: light;
}
html.nx-theme[data-density="compact"] { --nx-row-h: 26px; }
html.nx-theme[data-density="comfortable"] { --nx-row-h: 48px; }

/* ---------- TOKENLƏR: tünd tema ---------- */
html.nx-theme.nx-dark {
    --nx-bg: #0e1116;
    --nx-surface: #161a21;
    --nx-surface-2: #1d222b;
    --nx-border: #272d38;
    --nx-border-strong: #353c49;
    --nx-text: #e6e9ef;
    --nx-text-2: #a9b1bf;
    --nx-text-3: #7c8596;
    --nx-accent: #3b82f6;
    --nx-accent-hover: #60a5fa;
    --nx-accent-soft: #16233a;
    --nx-accent-text: #93c5fd;
    --nx-on-accent: #ffffff;
    --nx-success-bg: #10291b; --nx-success-fg: #86efac;
    --nx-warning-bg: #2e2210; --nx-warning-fg: #fcd34d;
    --nx-danger-bg:  #301517; --nx-danger-fg:  #fca5a5;
    --nx-info-bg:    #0d2633; --nx-info-fg:    #7dd3fc;
    --nx-overlay: rgba(0, 0, 0, .6);
    --nx-focus: 0 0 0 3px rgba(59, 130, 246, .35);
    --nx-shadow-pop: 0 8px 24px rgba(0, 0, 0, .5);
    color-scheme: dark;
}

/* ---------- ƏSAS ---------- */
html.nx-theme body {
    background: var(--nx-bg) !important;
    color: var(--nx-text);
    font-family: var(--nx-font);
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
}
html.nx-theme body * { font-family: var(--nx-font); }
html.nx-theme body::before { display: none !important; }
html.nx-theme *:focus-visible { outline: none; box-shadow: var(--nx-focus) !important; }
html.nx-theme .nx-mono,
html.nx-theme .stat-value,
html.nx-theme .table td,
html.nx-theme .count-badge,
html.nx-theme .navbar-time { font-family: var(--nx-mono) !important; font-variant-numeric: tabular-nums; }

/* ---------- YUXARI MENYU (52px) ---------- */
html.nx-theme .navbar-custom {
    height: var(--nx-nav-h);
    padding: 0 20px;
    background: var(--nx-surface);
    border-bottom: 1px solid var(--nx-border);
    position: sticky;
    top: 0;
    z-index: 1030;
}
html.nx-theme .navbar-custom .container-fluid { height: 100%; padding: 0; gap: 24px; flex-wrap: nowrap; }
html.nx-theme .navbar-brand {
    color: var(--nx-text) !important;
    font-size: 15px;
    font-weight: 600;
    gap: 10px;
    margin: 0;
    padding: 0;
}
html.nx-theme .navbar-brand .brand-icon {
    width: 28px; height: 28px;
    border-radius: var(--nx-radius);
    background: var(--nx-accent);
    color: var(--nx-on-accent);
    font-size: 14px;
    box-shadow: none;
    border: 0;
}
html.nx-theme .navbar-right { gap: 8px; margin-left: auto; }
html.nx-theme .navbar-time { color: var(--nx-text-3); font-size: 12px; margin-right: 8px !important; }
html.nx-theme .theme-toggle,
html.nx-theme .btn-logout,
html.nx-theme .nx-burger {
    height: var(--nx-ctl-h);
    min-width: var(--nx-ctl-h);
    padding: 0 12px;
    margin: 0 !important;
    border-radius: var(--nx-radius);
    background: transparent;
    border: 1px solid var(--nx-border);
    color: var(--nx-text-2);
    box-shadow: none;
    transform: none !important;
    font-size: 13px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-decoration: none;
    transition: background .15s, color .15s, border-color .15s;
}
html.nx-theme .theme-toggle:hover,
html.nx-theme .btn-logout:hover,
html.nx-theme .nx-burger:hover { background: var(--nx-surface-2); color: var(--nx-text); border-color: var(--nx-border-strong); }
html.nx-theme .btn-logout i { margin: 0 !important; }
html.nx-theme .nx-burger { display: none; font-size: 20px; padding: 0; }

/* menyu linkləri */
html.nx-theme .nx-menu { display: flex; align-items: stretch; height: 100%; gap: 4px; }
html.nx-theme .nx-menu-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 100%;
    padding: 0 12px;
    color: var(--nx-text-2);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    background: none;
    border: 0;
    cursor: pointer;
}
html.nx-theme .nx-menu-link:hover { color: var(--nx-text); }
html.nx-theme .nx-menu-link.active { color: var(--nx-text); }
html.nx-theme .nx-menu-link.active::after {
    content: '';
    position: absolute;
    left: 12px; right: 12px; bottom: -1px;
    height: 2px;
    background: var(--nx-accent);
}
html.nx-theme .nx-menu-link .bi-chevron-down { font-size: 10px; transition: transform .15s; }

/* açılan geniş menyu (mega) */
html.nx-theme .nx-mega-wrap { position: static; display: flex; }
html.nx-theme .nx-mega {
    display: none;
    position: absolute;
    left: 0; right: 0;
    top: var(--nx-nav-h);
    background: var(--nx-surface);
    border-bottom: 1px solid var(--nx-border);
    box-shadow: var(--nx-shadow-pop);
    padding: 20px;
}
html.nx-theme .nx-mega-wrap.open .nx-mega { display: block; }
html.nx-theme .nx-mega-wrap.open .bi-chevron-down { transform: rotate(180deg); }
html.nx-theme .nx-mega-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
    max-width: 1280px;
}
html.nx-theme .nx-mega-col h6 {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--nx-text-3);
    margin: 0 0 8px;
}
html.nx-theme .nx-mega-col a {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 6px 10px;
    border-radius: var(--nx-radius);
    color: var(--nx-text);
    font-size: 13px;
    text-decoration: none;
}
html.nx-theme .nx-mega-col a:hover { background: var(--nx-surface-2); }
html.nx-theme .nx-mega-col a.active { background: var(--nx-accent-soft); color: var(--nx-accent-text); }
html.nx-theme .nx-mega-col a i { color: var(--nx-text-3); }
html.nx-theme .nx-mega-col a.active i { color: var(--nx-accent-text); }

/* köhnə tablar menyuya köçdü */
html.nx-theme .tabs-wrapper { display: none; }

/* ---------- MƏZMUN ---------- */
html.nx-theme .main-content { max-width: 1440px; margin: 0 auto; padding: 24px 20px 24px; position: relative; z-index: 1; }
html.nx-theme .page-header { margin-bottom: 20px; }
html.nx-theme .page-header h2 { color: var(--nx-text); font-size: 20px; font-weight: 600; letter-spacing: -.01em; margin: 0 0 4px; }
html.nx-theme .page-header h2 i { color: var(--nx-text-3); opacity: 1 !important; }
html.nx-theme .page-header p { color: var(--nx-text-3); font-size: 13px; margin: 0; opacity: 1; }

/* ---------- KARTLAR (düz, kölgəsiz) ---------- */
html.nx-theme .filter-card,
html.nx-theme .chart-card,
html.nx-theme .table-card,
html.nx-theme .stat-widget,
html.nx-theme .nx-card {
    background: var(--nx-surface) !important;
    border: 1px solid var(--nx-border) !important;
    border-radius: var(--nx-radius-lg) !important;
    box-shadow: var(--nx-shadow) !important;
    color: var(--nx-text) !important;
    backdrop-filter: none;
    transform: none !important;
}
html.nx-theme .filter-card { padding: 16px; margin-bottom: 20px; }
html.nx-theme .chart-card { padding: 16px; }
html.nx-theme .table-card { padding: 0; overflow: hidden; }
html.nx-theme #statsWidgets { --bs-gutter-y: 16px; --bs-gutter-x: 16px; margin-bottom: 20px !important; }
html.nx-theme .row.g-4 { --bs-gutter-y: 16px; --bs-gutter-x: 16px; }

/* KPI kartları */
html.nx-theme .stat-widget { padding: 16px !important; gap: 14px; }
html.nx-theme .stat-widget::after { display: none !important; }
html.nx-theme .stat-icon {
    width: 40px !important; height: 40px !important;
    border-radius: var(--nx-radius) !important;
    background: var(--nx-accent-soft) !important;
    font-size: 18px !important;
    box-shadow: none !important;
}
html.nx-theme .stat-label {
    color: var(--nx-text-3) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
}
html.nx-theme .stat-value { color: var(--nx-text) !important; font-size: 26px !important; font-weight: 600 !important; letter-spacing: -.02em; -webkit-text-fill-color: currentColor; background: none !important; }

/* ---------- FORMALAR ---------- */
html.nx-theme .form-label,
html.nx-theme .filter-card .form-label {
    color: var(--nx-text-2);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: 6px;
}
html.nx-theme .form-control,
html.nx-theme .form-select,
html.nx-theme .filter-card .form-control {
    height: var(--nx-ctl-h);
    padding: 6px 10px;
    background-color: var(--nx-surface) !important;
    border: 1px solid var(--nx-border-strong) !important;
    border-radius: var(--nx-radius) !important;
    color: var(--nx-text) !important;
    font-size: 14px;
    box-shadow: none !important;
    transition: border-color .15s, box-shadow .15s;
}
html.nx-theme .form-control:focus,
html.nx-theme .form-select:focus { border-color: var(--nx-accent) !important; box-shadow: var(--nx-focus) !important; }
html.nx-theme .form-control::placeholder { color: var(--nx-text-3); }
html.nx-theme.nx-dark input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(.8); }

/* ---------- DÜYMƏLƏR ---------- */
html.nx-theme .btn,
html.nx-theme .btn-filter,
html.nx-theme .btn-clear,
html.nx-theme .btn-export {
    height: var(--nx-ctl-h);
    padding: 0 14px;
    border-radius: var(--nx-radius) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    transform: none !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background .15s, border-color .15s, color .15s;
}
html.nx-theme .btn-filter {
    background: var(--nx-accent) !important;
    border: 1px solid var(--nx-accent) !important;
    color: var(--nx-on-accent) !important;
}
html.nx-theme .btn-filter:hover { background: var(--nx-accent-hover) !important; border-color: var(--nx-accent-hover) !important; }
html.nx-theme .btn-clear,
html.nx-theme .btn-export,
html.nx-theme .btn-excel,
html.nx-theme .btn-pdf {
    background: var(--nx-surface) !important;
    border: 1px solid var(--nx-border-strong) !important;
    color: var(--nx-text) !important;
}
html.nx-theme .btn-clear:hover,
html.nx-theme .btn-export:hover { background: var(--nx-surface-2) !important; }
html.nx-theme .btn-excel i { color: var(--nx-success-fg); }
html.nx-theme .btn-pdf i { color: var(--nx-danger-fg); }

/* dropdown */
html.nx-theme .dropdown-menu {
    background: var(--nx-surface);
    border: 1px solid var(--nx-border) !important;
    border-radius: var(--nx-radius-lg) !important;
    box-shadow: var(--nx-shadow-pop) !important;
    padding: 4px;
}
html.nx-theme .dropdown-item {
    color: var(--nx-text);
    border-radius: var(--nx-radius-sm);
    font-size: 13px;
    font-weight: 500 !important;
}
html.nx-theme .dropdown-item:hover { background: var(--nx-surface-2); color: var(--nx-text); }
html.nx-theme .dropdown-item.text-danger { color: var(--nx-danger-fg) !important; }
html.nx-theme .dropdown-divider { border-color: var(--nx-border); }

/* ---------- BADGE-LƏR (açıq fon + tünd mətn) ---------- */
html.nx-theme .count-badge,
html.nx-theme .badge-daily,
html.nx-theme .badge-monthly,
html.nx-theme .nx-badge {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 8px;
    border-radius: var(--nx-radius-sm) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    border: 0 !important;
    box-shadow: none !important;
}
html.nx-theme .count-badge { background: var(--nx-surface-2) !important; color: var(--nx-text-2) !important; }
html.nx-theme .badge-daily { background: var(--nx-info-bg) !important; color: var(--nx-info-fg) !important; }
html.nx-theme .badge-monthly { background: var(--nx-success-bg) !important; color: var(--nx-success-fg) !important; }
html.nx-theme .alert { border: 0; border-radius: var(--nx-radius); font-size: 13px; }
html.nx-theme .alert-danger { background: var(--nx-danger-bg); color: var(--nx-danger-fg); }
html.nx-theme .alert-success { background: var(--nx-success-bg); color: var(--nx-success-fg); }

/* ---------- QRAFİKLƏR ---------- */
html.nx-theme .chart-card-header { margin-bottom: 12px; padding: 0; border: 0; }
html.nx-theme .chart-card-title { color: var(--nx-text) !important; font-size: 14px; font-weight: 600; gap: 8px; }
html.nx-theme .chart-card-title .title-icon {
    width: 28px; height: 28px;
    border-radius: var(--nx-radius);
    background: var(--nx-accent-soft) !important;
    color: var(--nx-accent-text) !important;
    font-size: 14px;
    box-shadow: none;
}
html.nx-theme .chart-container { height: 280px; }

/* ---------- CƏDVƏL ---------- */
html.nx-theme .table-header {
    padding: 12px 16px;
    border-bottom: 1px solid var(--nx-border);
    background: transparent;
    gap: 12px;
}
html.nx-theme .table-header h5 { color: var(--nx-text) !important; font-size: 14px; font-weight: 600; gap: 8px; margin: 0; }
html.nx-theme .table-header h5 i { color: var(--nx-text-3); background: none; -webkit-text-fill-color: currentColor; }

/* tablar */
html.nx-theme .detail-tabs {
    display: flex;
    gap: 0;
    padding: 0 16px;
    margin: 0;
    background: transparent;
    border-bottom: 1px solid var(--nx-border);
    border-radius: 0;
    overflow-x: auto;
}
html.nx-theme .detail-tab {
    position: relative;
    padding: 0 12px !important;
    height: 40px;
    display: inline-flex;
    align-items: center;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--nx-text-2) !important;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
}
html.nx-theme .detail-tab:hover { color: var(--nx-text) !important; }
html.nx-theme .detail-tab.active { color: var(--nx-text) !important; }
html.nx-theme .detail-tab.active::after {
    content: '';
    position: absolute;
    left: 12px; right: 12px; bottom: -1px;
    height: 2px;
    background: var(--nx-accent);
}

html.nx-theme .table-responsive { padding: 0; margin: 0; border-radius: 0; }
html.nx-theme .table { margin: 0; color: var(--nx-text); --bs-table-bg: transparent; --bs-table-color: var(--nx-text); }
html.nx-theme .table thead th {
    height: var(--nx-row-h);
    padding: 0 16px !important;
    vertical-align: middle;
    background: var(--nx-surface-2) !important;
    color: var(--nx-text-3) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .06em;
    border-bottom: 1px solid var(--nx-border) !important;
    border-top: 0 !important;
    white-space: nowrap;
}
html.nx-theme .table tbody td {
    height: var(--nx-row-h);
    padding: 0 16px !important;
    vertical-align: middle;
    background: transparent !important;
    color: var(--nx-text) !important;
    font-size: 13px;
    border-bottom: 1px solid var(--nx-border) !important;
    border-top: 0 !important;
}
html.nx-theme[data-density="comfortable"] .table tbody td { font-size: 14px; }
html.nx-theme .table tbody tr,
html.nx-theme .table tbody tr:nth-child(even) { background: transparent !important; }
html.nx-theme .table tbody tr:hover { background: var(--nx-surface-2) !important; }
html.nx-theme .table tbody tr:last-child td { border-bottom: 0 !important; }
html.nx-theme .table td strong { color: var(--nx-text) !important; font-weight: 600; }

/* sıxlıq seçimi */
html.nx-theme .nx-density {
    display: inline-flex;
    border: 1px solid var(--nx-border-strong);
    border-radius: var(--nx-radius);
    overflow: hidden;
    height: var(--nx-ctl-h);
}
html.nx-theme .nx-density button {
    border: 0;
    background: var(--nx-surface);
    color: var(--nx-text-2);
    padding: 0 10px;
    font-size: 15px;
    min-width: 36px;
    cursor: pointer;
}
html.nx-theme .nx-density button + button { border-left: 1px solid var(--nx-border-strong); }
html.nx-theme .nx-density button:hover { background: var(--nx-surface-2); }
html.nx-theme .nx-density button.active { background: var(--nx-accent-soft); color: var(--nx-accent-text); }

/* ---------- SƏHİFƏLƏMƏ ---------- */
html.nx-theme .pagination-wrapper { padding: 12px 16px; border-top: 1px solid var(--nx-border); margin: 0; }
html.nx-theme .pagination-wrapper:empty { display: none; }
html.nx-theme .pagination { gap: 4px; margin: 0; }
html.nx-theme .pagination .page-link {
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--nx-surface) !important;
    border: 1px solid var(--nx-border) !important;
    border-radius: var(--nx-radius) !important;
    color: var(--nx-text-2) !important;
    font-family: var(--nx-mono);
    font-size: 12px;
    box-shadow: none !important;
}
html.nx-theme .pagination .page-link:hover { background: var(--nx-surface-2) !important; color: var(--nx-text) !important; }
html.nx-theme .pagination .page-item.active .page-link {
    background: var(--nx-accent) !important;
    border-color: var(--nx-accent) !important;
    color: var(--nx-on-accent) !important;
}
html.nx-theme .pagination .page-item.disabled .page-link { opacity: .5; }

/* ---------- MODAL ---------- */
html.nx-theme .modal-backdrop { background: var(--nx-overlay); }
html.nx-theme .modal-backdrop.show { opacity: 1; }
html.nx-theme .modal-content {
    background: var(--nx-surface);
    color: var(--nx-text);
    border: 1px solid var(--nx-border);
    border-radius: var(--nx-radius-lg);
    box-shadow: var(--nx-shadow-pop);
}
html.nx-theme .modal-header,
html.nx-theme .modal-footer { border-color: var(--nx-border); padding: 12px 16px; }
html.nx-theme .modal-title { font-size: 15px; font-weight: 600; }
html.nx-theme .modal-body { padding: 16px; }

/* ---------- YÜKLƏNMƏ / BOŞ ---------- */
html.nx-theme .spinner-border { color: var(--nx-accent) !important; width: 28px; height: 28px; border-width: 3px; }
html.nx-theme .empty-state { color: var(--nx-text-3); }
html.nx-theme .empty-state i { color: var(--nx-border-strong); background: none; -webkit-text-fill-color: currentColor; }

/* ---------- FOOTER ---------- */
html.nx-theme .nx-footer {
    max-width: 1440px;
    margin: 0 auto;
    padding: 16px 20px 24px;
    color: var(--nx-text-3);
    font-size: 12px;
    text-align: center;
}

/* ==========================================================================
   MOBİL
   ========================================================================== */
@media (max-width: 1199px) {
    html.nx-theme .nx-burger { display: inline-flex; }
    html.nx-theme .nx-menu {
        display: none;
        position: fixed;
        top: var(--nx-nav-h);
        left: 0; right: 0; bottom: 0;
        height: auto;
        flex-direction: column;
        gap: 0;
        padding: 8px 12px 24px;
        background: var(--nx-surface);
        border-top: 1px solid var(--nx-border);
        overflow-y: auto;
        z-index: 1029;
    }
    html.nx-theme.nx-menu-open .nx-menu { display: flex; }
    html.nx-theme.nx-menu-open body { overflow: hidden; }
    html.nx-theme .nx-menu-link { height: 48px; padding: 0 12px; font-size: 15px; border-radius: var(--nx-radius); }
    html.nx-theme .nx-menu-link.active { background: var(--nx-accent-soft); color: var(--nx-accent-text); }
    html.nx-theme .nx-menu-link.active::after { display: none; }
    html.nx-theme .nx-mega-wrap { flex-direction: column; }
    html.nx-theme .nx-mega-wrap > .nx-menu-link { display: none; }
    html.nx-theme .nx-mega {
        display: block;
        position: static;
        box-shadow: none;
        border: 0;
        border-top: 1px solid var(--nx-border);
        margin-top: 8px;
        padding: 16px 0 0;
    }
    html.nx-theme .nx-mega-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    html.nx-theme .nx-mega-col a { min-height: 44px; }
}

@media (max-width: 768px) {
    html.nx-theme .navbar-custom { padding: 0 12px; }
    html.nx-theme .navbar-custom .container-fluid { gap: 8px; }
    html.nx-theme .btn-logout span,
    html.nx-theme .btn-logout { font-size: 0; gap: 0; }
    html.nx-theme .btn-logout i { font-size: 16px; }
    html.nx-theme .main-content { padding: 16px 12px; }
    html.nx-theme .stat-value { font-size: 22px !important; }
    html.nx-theme .chart-container { height: 220px; }
    html.nx-theme .nx-mega-grid { grid-template-columns: minmax(0, 1fr); }

    /* toxunma ölçüləri + iOS zoom qarşısı */
    html.nx-theme { --nx-ctl-h: 40px; }
    html.nx-theme .form-control,
    html.nx-theme .form-select,
    html.nx-theme input,
    html.nx-theme select,
    html.nx-theme textarea { font-size: 16px !important; }
    html.nx-theme .btn,
    html.nx-theme button,
    html.nx-theme .btn-logout,
    html.nx-theme .theme-toggle { min-height: 40px; }
    html.nx-theme .filter-card .d-flex > * { flex: 1 1 auto; }
    html.nx-theme .filter-card .btn,
    html.nx-theme .filter-card .btn-group { width: 100%; justify-content: center; }
    html.nx-theme .table-header { flex-direction: column; align-items: stretch !important; }
    html.nx-theme .table-header > .d-flex:last-child > * { flex: 1 1 auto; justify-content: center; }
    html.nx-theme .nx-density { display: none; }

    /* cədvəl → kart görünüşü */
    html.nx-theme .table thead { display: none; }
    html.nx-theme .table,
    html.nx-theme .table tbody { display: block; }
    html.nx-theme .table tbody tr {
        display: block;
        margin: 12px;
        border: 1px solid var(--nx-border);
        border-radius: var(--nx-radius-lg);
        background: var(--nx-surface) !important;
        overflow: hidden;
    }
    html.nx-theme .table tbody td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        height: auto;
        min-height: 40px;
        padding: 8px 12px !important;
        border-bottom: 1px solid var(--nx-border) !important;
        text-align: right;
    }
    html.nx-theme .table tbody tr td:last-child { border-bottom: 0 !important; }
    html.nx-theme .table tbody td::before {
        content: attr(data-label);
        color: var(--nx-text-3);
        font-family: var(--nx-font);
        font-size: 11px;
        font-weight: 600;
        letter-spacing: .06em;
        text-align: left;
    }
    html.nx-theme .pagination { flex-wrap: wrap; justify-content: center; }

    /* modal tam ekran */
    html.nx-theme .modal-dialog { margin: 0; max-width: none; width: 100%; height: 100%; }
    html.nx-theme .modal-content { height: 100%; border: 0; border-radius: 0; }
    html.nx-theme .modal-body { overflow-y: auto; }
}

/* ==========================================================================
   LOGIN
   ========================================================================== */
html.nx-theme body.nx-login {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    overflow-x: hidden;
}
html.nx-theme .nx-login .bg-shapes { display: none !important; }
html.nx-theme .nx-login .login-container {
    width: 100%;
    max-width: 420px;
    padding: 0;
    margin: 0;
    min-height: 0;
    display: block;
}
html.nx-theme .nx-login .login-card {
    width: 100%;
    max-width: 420px;
    padding: 28px;
    background: var(--nx-surface) !important;
    border: 1px solid var(--nx-border) !important;
    border-radius: var(--nx-radius-lg) !important;
    box-shadow: var(--nx-shadow) !important;
    backdrop-filter: none !important;
    animation: none !important;
    color: var(--nx-text);
}
html.nx-theme .nx-login .login-logo,
html.nx-theme .nx-login .login-header,
html.nx-theme .nx-login .login-footer,
html.nx-theme .nx-login .step-indicator { display: none !important; }

/* brend bloku */
html.nx-theme .nx-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
html.nx-theme .nx-brand-mark {
    width: 40px; height: 40px;
    flex: 0 0 40px;
    display: flex; align-items: center; justify-content: center;
    border-radius: var(--nx-radius);
    background: var(--nx-accent);
    color: var(--nx-on-accent);
    font-size: 20px;
}
html.nx-theme .nx-brand-name { font-size: 17px; font-weight: 600; color: var(--nx-text); line-height: 1.2; }
html.nx-theme .nx-brand-sub { font-size: 13px; color: var(--nx-text-3); }
html.nx-theme .nx-steps { margin-left: auto; font-family: var(--nx-mono); font-size: 11px; color: var(--nx-text-3); }

/* ikonlu sahələr */
html.nx-theme .nx-login .form-group { margin-bottom: 16px; }
html.nx-theme .nx-field { position: relative; }
html.nx-theme .nx-field > .nx-field-icon {
    position: absolute;
    left: 12px; top: 50%;
    transform: translateY(-50%);
    color: var(--nx-text-3);
    font-size: 16px;
    pointer-events: none;
    z-index: 2;
}
html.nx-theme .nx-login .form-control,
html.nx-theme .nx-login .form-select {
    height: 44px;
    padding-left: 38px !important;
    font-size: 15px;
}
html.nx-theme .nx-login .otp-input {
    padding-right: 44px !important;
    font-family: var(--nx-mono) !important;
    letter-spacing: .4em;
    text-align: left;
    font-size: 18px !important;
}
html.nx-theme .nx-login .otp-input::placeholder { letter-spacing: .3em; }
html.nx-theme .nx-eye {
    position: absolute;
    right: 4px; top: 50%;
    transform: translateY(-50%);
    width: 36px; height: 36px;
    display: flex; align-items: center; justify-content: center;
    border: 0;
    border-radius: var(--nx-radius);
    background: transparent;
    color: var(--nx-text-3);
    cursor: pointer;
    z-index: 2;
}
html.nx-theme .nx-eye:hover { color: var(--nx-text); background: var(--nx-surface-2); }

/* remember me */
html.nx-theme .nx-check {
    display: flex; align-items: center; gap: 8px;
    margin: -4px 0 16px;
    font-size: 13px;
    color: var(--nx-text-2);
    cursor: pointer;
    user-select: none;
}
html.nx-theme .nx-check input { width: 16px; height: 16px; accent-color: var(--nx-accent); margin: 0; }

/* email info */
html.nx-theme .nx-login .email-info {
    display: flex; align-items: flex-start; gap: 12px;
    padding: 12px;
    margin-bottom: 16px;
    background: var(--nx-info-bg) !important;
    border: 0 !important;
    border-radius: var(--nx-radius) !important;
    color: var(--nx-info-fg) !important;
    text-align: left;
}
html.nx-theme .nx-login .email-info .icon-wrapper {
    width: auto; height: auto; margin: 0;
    background: none !important;
    color: var(--nx-info-fg) !important;
    font-size: 18px;
    box-shadow: none;
}
html.nx-theme .nx-login .email-info p { margin: 0; font-size: 13px; color: inherit !important; }
html.nx-theme .nx-login .email-info strong { display: block; font-family: var(--nx-mono); color: inherit !important; word-break: break-all; }

/* spinnerli düymə */
html.nx-theme .nx-login .btn-primary-gradient {
    width: 100%;
    height: 44px;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    background: var(--nx-accent) !important;
    border: 0 !important;
    border-radius: var(--nx-radius) !important;
    color: var(--nx-on-accent) !important;
    font-size: 15px;
    font-weight: 500;
    box-shadow: none !important;
    transform: none !important;
}
html.nx-theme .nx-login .btn-primary-gradient:hover { background: var(--nx-accent-hover) !important; }
html.nx-theme .nx-login .btn-primary-gradient:disabled { opacity: .7; }
html.nx-theme .nx-login .btn-primary-gradient::before,
html.nx-theme .nx-login .btn-primary-gradient::after { display: none !important; }
html.nx-theme .nx-login .spinner {
    width: 16px; height: 16px;
    border: 2px solid rgba(255, 255, 255, .35);
    border-top-color: var(--nx-on-accent);
    border-radius: 50%;
    animation: nx-spin .7s linear infinite;
}
@keyframes nx-spin { to { transform: rotate(360deg); } }
html.nx-theme .nx-login .btn-back {
    width: 100%;
    height: 40px;
    margin-top: 8px;
    display: flex; align-items: center; justify-content: center; gap: 6px;
    background: transparent !important;
    border: 1px solid var(--nx-border-strong) !important;
    border-radius: var(--nx-radius) !important;
    color: var(--nx-text-2) !important;
    font-size: 14px;
    box-shadow: none !important;
}
html.nx-theme .nx-login .btn-back:hover { background: var(--nx-surface-2) !important; color: var(--nx-text) !important; }

/* kartın altı */
html.nx-theme .nx-login-meta {
    width: 100%;
    max-width: 420px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
    padding: 0 4px;
    font-size: 12px;
    color: var(--nx-text-3);
}
html.nx-theme .nx-online { display: inline-flex; align-items: center; gap: 6px; color: var(--nx-success-fg); font-weight: 500; }
html.nx-theme .nx-online::before {
    content: '';
    width: 8px; height: 8px;
    border-radius: 50%;
    background: currentColor;
}
html.nx-theme .nx-login .nx-theme-btn {
    position: fixed;
    top: 12px; right: 12px;
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid var(--nx-border);
    border-radius: var(--nx-radius);
    background: var(--nx-surface);
    color: var(--nx-text-2);
    cursor: pointer;
}

@media (max-width: 480px) {
    html.nx-theme body.nx-login { justify-content: flex-start; padding-top: 64px; }
    html.nx-theme .nx-login .login-card { padding: 20px; }
    html.nx-theme .nx-login-meta { flex-direction: column; gap: 6px; }
}
html.nx-theme .nx-login .otp-input.nx-masked { -webkit-text-security: disc; }
