/* =========================================================================
   Tixar — Modern UI overlay (inspired by Boxxpro UI 2026)
   Overrides DashLite/Bootstrap with a fresh, clean, minimal aesthetic:
   - Inter typography
   - Soft layered shadows + subtle borders
   - Modern radii (14px cards / 9px controls)
   - Refined accent color, semantic states
   - Polished sidebar, topbar, tables, forms, cards, buttons
   ========================================================================= */

/* ---------- Helpers retained from original custom.css ---------- */
.cursor-pointer { cursor: pointer; }

/* =========================================================================
   1. Design Tokens
   ========================================================================= */
:root {
    /* Brand accent — modern saturated blue */
    --tx-accent:        #3b82f6;
    --tx-accent-soft:   #60a5fa;
    --tx-accent-strong: #2563eb;
    --tx-accent-tint:   rgba(59, 130, 246, 0.12);
    --tx-accent-ring:   rgba(59, 130, 246, 0.25);

    /* Surfaces (light mode / admin panel) */
    --tx-bg:            #f5f7fb;
    --tx-surface:       #ffffff;
    --tx-surface-elev:  #ffffff;
    --tx-border:        #e6e8ef;
    --tx-border-soft:   #eef0f5;

    /* Text */
    --tx-ink:           #1e2433;
    --tx-ink-strong:    #0b1020;
    --tx-ink-soft:      #6b7488;
    --tx-ink-mute:      #98a0b3;

    /* Semantic */
    --tx-success:       #10b981;
    --tx-success-tint:  rgba(16, 185, 129, 0.12);
    --tx-warning:       #f59e0b;
    --tx-warning-tint:  rgba(245, 158, 11, 0.14);
    --tx-danger:        #ef4444;
    --tx-danger-tint:   rgba(239, 68, 68, 0.12);
    --tx-info:          #06b6d4;
    --tx-info-tint:     rgba(6, 182, 212, 0.12);

    /* Radius */
    --tx-radius-card:    14px;
    --tx-radius-control: 9px;
    --tx-radius-pill:    9999px;

    /* Shadows */
    --tx-shadow-sm:  0 1px 2px rgba(15, 23, 42, 0.06);
    --tx-shadow:     0 1px 2px rgba(15, 23, 42, 0.05), 0 4px 16px rgba(15, 23, 42, 0.06);
    --tx-shadow-lg:  0 10px 30px rgba(15, 23, 42, 0.10);

    /* Type */
    --tx-font-sans: 'Inter', 'Roboto', system-ui, -apple-system, 'Segoe UI', sans-serif;

    /* Motion */
    --tx-ease: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Bootstrap overrides — make all primary buttons / links pick up the new accent */
:root,
[data-bs-theme=light] {
    --bs-primary:        #3b82f6;
    --bs-primary-rgb:    59, 130, 246;
    --bs-link-color:     #2563eb;
    --bs-link-hover-color: #1d4ed8;
    --bs-body-bg:        #f5f7fb;
    --bs-body-font-family: var(--tx-font-sans);
}

/* =========================================================================
   2. Global type
   ========================================================================= */
body,
.nk-body {
    font-family: var(--tx-font-sans);
    color: var(--tx-ink);
    font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.bg-lighter,
.nk-body.bg-lighter {
    background: var(--tx-bg) !important;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.nk-block-title,
.title,
.lead-text {
    color: var(--tx-ink-strong);
    letter-spacing: -0.01em;
    font-weight: 600;
}
.nk-block-title.page-title { font-weight: 600; letter-spacing: -0.015em; }

.text-soft,
.sub-text,
.nk-block-des p { color: var(--tx-ink-soft) !important; }

.fs-13px { font-size: 13px; }
.fs-14px { font-size: 14px; }
.fs-20px { font-size: 20px; }

/* =========================================================================
   3. Sidebar — clean, generous spacing, refined active state
   ========================================================================= */
.nk-sidebar.is-dark,
.nk-sidebar-fixed.is-dark {
    background: #0f1320 !important;
    border-right: 1px solid rgba(255, 255, 255, 0.04);
}

.nk-sidebar .nk-sidebar-head {
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    padding: 18px 22px;
    height: auto;
    min-height: 72px;
}

.nk-sidebar .nk-sidebar-brand .logo-img { max-height: 32px; }

.nk-menu { padding: 14px 12px; }

.nk-menu .nk-menu-item { margin-bottom: 2px; }

.nk-menu .nk-menu-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: var(--tx-radius-control);
    color: rgba(255, 255, 255, 0.66) !important;
    font-weight: 500;
    font-size: 0.875rem;
    transition: background 0.15s var(--tx-ease), color 0.15s var(--tx-ease);
}
.nk-menu .nk-menu-link:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.04);
}
.nk-menu .nk-menu-icon {
    color: inherit;
    opacity: 0.85;
}
.nk-menu .nk-menu-icon .icon { font-size: 18px; }

.nk-menu .nk-menu-item.active > .nk-menu-link,
.nk-menu .nk-menu-item.current-page > .nk-menu-link {
    color: #fff !important;
    background: var(--tx-accent-tint);
    box-shadow: inset 2px 0 0 var(--tx-accent);
}
.nk-menu .nk-menu-item.active > .nk-menu-link .nk-menu-icon { color: var(--tx-accent-soft); opacity: 1; }

.nk-menu-sub { padding-left: 26px; margin: 4px 0 6px; }
.nk-menu-sub .nk-menu-link { padding: 7px 10px; font-size: 0.825rem; }

/* =========================================================================
   4. Topbar
   ========================================================================= */
.nk-header.nk-header-fixed {
    background: var(--tx-surface) !important;
    border-bottom: 1px solid var(--tx-border);
    box-shadow: var(--tx-shadow-sm);
}
.nk-header-wrap { min-height: 64px; }

.nk-header-app-name .lead-text {
    color: var(--tx-ink-strong);
    font-weight: 600;
    letter-spacing: -0.005em;
}

.user-toggle .user-avatar,
.user-avatar {
    background: var(--tx-accent-tint);
    color: var(--tx-accent-strong);
    font-weight: 600;
}
.user-avatar.sm { width: 36px; height: 36px; }

/* =========================================================================
   5. Page header (nk-block-head)
   ========================================================================= */
.nk-block-head {
    padding-bottom: 1.5rem;
}
.nk-block-head-sm { padding-bottom: 1.25rem; }

.nk-block-head .page-title {
    font-size: 1.5rem;
    line-height: 1.25;
    margin-bottom: 0.25rem;
}
.nk-block-head .nk-block-des p { font-size: 0.875rem; margin: 0; }

.nk-content { padding-top: 1.5rem; padding-bottom: 2rem; }

/* =========================================================================
   6. Cards — soft elevation + 14px radius
   ========================================================================= */
.card {
    background: var(--tx-surface-elev);
    border: 1px solid var(--tx-border);
    border-radius: var(--tx-radius-card);
    box-shadow: var(--tx-shadow);
    transition: transform 0.18s var(--tx-ease), box-shadow 0.18s var(--tx-ease);
}
.card.card-bordered { border-color: var(--tx-border); box-shadow: var(--tx-shadow); }
.card-inner { padding: 1.5rem; }
.card-inner-sm { padding: 1rem 1.25rem; }
.card-inner-lg { padding: 2rem; }

.card-head,
.card-title-group {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 1rem;
}
.card-title h5,
.card-title h6,
.card-title .title {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--tx-ink-strong);
    margin: 0;
}
.card-title p {
    font-size: 0.8125rem;
    color: var(--tx-ink-soft);
    margin: 4px 0 0;
}

/* KPI / sale-data styling */
.nk-sale-data .amount {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--tx-ink-strong);
    letter-spacing: -0.02em;
    line-height: 1.15;
}
.nk-sale-data .amount small {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--tx-ink-soft);
    margin-left: 4px;
}
.nk-sale-data .amount.sm { font-size: 1.25rem; }
.nk-sale-data .sub-title {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--tx-ink-mute);
    font-weight: 500;
    margin-top: 4px;
    display: block;
}

/* gentle hover lift on KPI cards inside dashboard rows */
.row.g-gs .card.card-bordered:hover { transform: translateY(-2px); box-shadow: var(--tx-shadow-lg); }

/* Modern KPI card chrome */
.kpi-card .card-inner { padding: 1.25rem 1.35rem; }
.kpi-icon {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}
.kpi-icon .icon { font-size: 18px; line-height: 1; }
.kpi-label {
    font-size: 0.7rem !important;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--tx-ink-soft) !important;
    margin: 0;
}
.kpi-trend {
    font-size: 0.7rem;
    color: var(--tx-ink-mute) !important;
    text-align: right;
    text-transform: capitalize;
}

/* Tinted icon backgrounds for KPI chips */
.bg-primary-tint { background: var(--tx-accent-tint); }
.bg-success-tint { background: var(--tx-success-tint); }
.bg-warning-tint { background: var(--tx-warning-tint); }
.bg-danger-tint  { background: var(--tx-danger-tint); }
.bg-info-tint    { background: var(--tx-info-tint); }

.text-primary { color: var(--tx-accent-strong) !important; }
.text-success { color: var(--tx-success) !important; }
.text-warning { color: #b45309 !important; }
.text-danger  { color: #b91c1c !important; }
.text-info    { color: #0e7490 !important; }

/* =========================================================================
   7. Buttons
   ========================================================================= */
.btn {
    font-family: var(--tx-font-sans);
    font-weight: 500;
    font-size: 0.875rem;
    border-radius: var(--tx-radius-control);
    padding: 0.5rem 1rem;
    line-height: 1.45;
    transition: background 0.15s var(--tx-ease), border-color 0.15s var(--tx-ease),
                color 0.15s var(--tx-ease), box-shadow 0.15s var(--tx-ease),
                transform 0.1s var(--tx-ease);
    border: 1px solid transparent;
}
.btn:active { transform: translateY(1px); }
.btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px var(--tx-accent-ring);
}

.btn-sm { padding: 0.375rem 0.75rem; font-size: 0.8125rem; border-radius: 7px; }
.btn-lg { padding: 0.75rem 1.25rem; font-size: 0.95rem; border-radius: 10px; }
.btn-block { width: 100%; }

.btn-primary,
.btn.btn-primary {
    background: var(--tx-accent);
    border-color: var(--tx-accent);
    color: #fff;
    box-shadow: 0 1px 2px rgba(59, 130, 246, 0.25);
}
.btn-primary:hover,
.btn.btn-primary:hover {
    background: var(--tx-accent-strong);
    border-color: var(--tx-accent-strong);
    color: #fff;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35);
}
.btn-primary:focus, .btn-primary.focus { background: var(--tx-accent-strong); }

.btn-success { background: var(--tx-success); border-color: var(--tx-success); color: #fff; }
.btn-success:hover { background: #059669; border-color: #059669; color: #fff; }
.btn-warning { background: var(--tx-warning); border-color: var(--tx-warning); color: #fff; }
.btn-warning:hover { background: #d97706; border-color: #d97706; color: #fff; }
.btn-danger  { background: var(--tx-danger);  border-color: var(--tx-danger);  color: #fff; }
.btn-danger:hover  { background: #dc2626; border-color: #dc2626; color: #fff; }

.btn-white,
.btn-light,
.btn-outline-light,
.btn.btn-outline-light {
    background: var(--tx-surface);
    border-color: var(--tx-border);
    color: var(--tx-ink);
}
.btn-white:hover,
.btn-light:hover,
.btn-outline-light:hover {
    background: var(--tx-border-soft);
    border-color: var(--tx-border);
    color: var(--tx-ink-strong);
}

.btn-dim.btn-primary {
    background: var(--tx-accent-tint);
    border-color: transparent;
    color: var(--tx-accent-strong);
    box-shadow: none;
}
.btn-dim.btn-primary:hover {
    background: rgba(59, 130, 246, 0.18);
    color: var(--tx-accent-strong);
}
.btn-dim.btn-success { background: var(--tx-success-tint); color: #047857; border-color: transparent; }
.btn-dim.btn-warning { background: var(--tx-warning-tint); color: #b45309; border-color: transparent; }
.btn-dim.btn-danger  { background: var(--tx-danger-tint);  color: #b91c1c; border-color: transparent; }

.btn-link {
    color: var(--tx-accent-strong);
    padding: 0.5rem 0.25rem;
    font-weight: 500;
    text-decoration: none;
}
.btn-link:hover { color: var(--tx-accent); text-decoration: none; }

.btn-icon {
    width: 36px;
    height: 36px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.btn-trigger:hover { background: var(--tx-border-soft); }

/* Icon-with-text buttons need a real gap */
.btn .icon + span,
.btn span + .icon { margin-left: 0.4rem; }
.btn:not(.btn-icon) .icon { font-size: 1rem; }

/* =========================================================================
   8. Forms
   ========================================================================= */
.form-label {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--tx-ink);
    margin-bottom: 6px;
}

.form-control,
.form-select {
    font-family: var(--tx-font-sans);
    font-size: 0.875rem;
    color: var(--tx-ink-strong);
    background: var(--tx-surface);
    border: 1px solid var(--tx-border);
    border-radius: var(--tx-radius-control);
    padding: 0.5rem 0.875rem;
    min-height: 38px;
    transition: border-color 0.15s var(--tx-ease), box-shadow 0.15s var(--tx-ease);
}
.form-control:hover,
.form-select:hover { border-color: #cdd3df; }
.form-control:focus,
.form-select:focus {
    border-color: var(--tx-accent);
    box-shadow: 0 0 0 3px var(--tx-accent-ring);
    outline: none;
}
.form-control-lg,
.form-select-lg {
    min-height: 46px;
    font-size: 0.95rem;
    padding: 0.625rem 1rem;
    border-radius: 10px;
}
.form-control::placeholder { color: var(--tx-ink-mute); }

.form-control.is-invalid {
    border-color: var(--tx-danger);
    background-image: none;
    padding-right: 0.875rem;
}
.form-control.is-invalid:focus {
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.18);
}
.invalid-feedback { color: var(--tx-danger); font-size: 0.78rem; margin-top: 4px; }

.form-icon {
    color: var(--tx-ink-mute);
    transition: color 0.15s var(--tx-ease);
}
.form-control-wrap .form-control:focus + .form-icon,
.form-control-wrap:focus-within .form-icon { color: var(--tx-accent); }

.input-group-text {
    background: var(--tx-surface);
    border: 1px solid var(--tx-border);
    color: var(--tx-ink-soft);
    border-radius: var(--tx-radius-control);
}

/* Generous spacing for forms inside cards */
.card form .row.g-3.align-center {
    align-items: center !important;
    margin-bottom: 0.5rem;
}
.card form .form-group { margin-bottom: 0; }
.card form .row.g-3 + .row.g-3 { margin-top: 0.25rem; }
.card form .row.g-3 .col-lg-2 .form-label {
    margin-bottom: 0;
    font-size: 0.85rem;
    color: var(--tx-ink-strong);
}

/* Soft section divider before form action row */
.card form .row.g-3:last-child .col-8 { padding-top: 1rem; border-top: 1px solid var(--tx-border-soft); margin-top: 0.5rem; }

/* Card head separator on form pages */
.card .card-head + form,
.card .card-head { padding-bottom: 1rem; border-bottom: 1px solid var(--tx-border-soft); margin-bottom: 1.5rem; }
.card .card-head { margin-bottom: 1.5rem; }
.card .card-head h5.card-title { font-size: 1.1rem; font-weight: 600; color: var(--tx-ink-strong); }

/* =========================================================================
   9. Tables
   ========================================================================= */
.table {
    color: var(--tx-ink);
    border-color: var(--tx-border);
    margin-bottom: 0;
}
.table > thead {
    background: var(--tx-bg);
}
.table > thead th,
.table thead .sub-text {
    font-size: 0.72rem !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--tx-ink-soft) !important;
    border-bottom: 1px solid var(--tx-border);
    padding: 0.875rem 1rem;
    background: transparent;
}
.table > tbody > tr { border-color: var(--tx-border-soft); transition: background 0.15s var(--tx-ease); }
.table > tbody > tr:hover { background: var(--tx-bg); }
.table > tbody > tr > td {
    border-color: var(--tx-border-soft);
    padding: 0.875rem 1rem;
    font-size: 0.875rem;
    vertical-align: middle;
}

.card .card-inner.p-0 + .card-inner { border-top: 1px solid var(--tx-border-soft); }

/* DataTables overrides */
.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
    border-radius: var(--tx-radius-control);
    border: 1px solid var(--tx-border);
    padding: 0.375rem 0.625rem;
    font-size: 0.8125rem;
}
.dataTables_wrapper .pagination .page-link {
    border: 1px solid var(--tx-border);
    color: var(--tx-ink);
    border-radius: 7px;
    margin: 0 2px;
    padding: 0.375rem 0.6rem;
    font-size: 0.8125rem;
}
.dataTables_wrapper .pagination .page-item.active .page-link {
    background: var(--tx-accent);
    border-color: var(--tx-accent);
    color: #fff;
}

/* =========================================================================
   10. Badges
   ========================================================================= */
.badge {
    font-weight: 500;
    font-size: 0.7rem;
    letter-spacing: 0.02em;
    padding: 0.3em 0.65em;
    border-radius: var(--tx-radius-pill);
}
.badge-dim.bg-primary, .badge.bg-primary { background: var(--tx-accent-tint) !important; color: var(--tx-accent-strong) !important; }
.badge-dim.bg-success, .badge.bg-success { background: var(--tx-success-tint) !important; color: #047857 !important; }
.badge-dim.bg-warning, .badge.bg-warning { background: var(--tx-warning-tint) !important; color: #b45309 !important; }
.badge-dim.bg-danger,  .badge.bg-danger  { background: var(--tx-danger-tint)  !important; color: #b91c1c !important; }
.badge-dim.bg-info,    .badge.bg-info    { background: var(--tx-info-tint)    !important; color: #0e7490 !important; }

/* =========================================================================
   11. Alerts
   ========================================================================= */
.alert {
    border-radius: var(--tx-radius-control);
    border: 1px solid transparent;
    padding: 0.875rem 1rem;
    font-size: 0.875rem;
}
.alert-warning { background: var(--tx-warning-tint); border-color: rgba(245, 158, 11, 0.25); color: #92400e; }
.alert-success { background: var(--tx-success-tint); border-color: rgba(16, 185, 129, 0.25); color: #065f46; }
.alert-danger  { background: var(--tx-danger-tint);  border-color: rgba(239, 68, 68, 0.25);  color: #991b1b; }
.alert-info    { background: var(--tx-info-tint);    border-color: rgba(6, 182, 212, 0.25);  color: #155e75; }

/* =========================================================================
   12. Dropdowns
   ========================================================================= */
.dropdown-menu {
    border-radius: 12px;
    border: 1px solid var(--tx-border);
    box-shadow: var(--tx-shadow-lg);
    padding: 6px;
}
.dropdown-menu .dropdown-item,
.dropdown-menu .link-list a {
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 0.875rem;
    color: var(--tx-ink);
}
.dropdown-menu .link-list a:hover,
.dropdown-menu .dropdown-item:hover {
    background: var(--tx-border-soft);
    color: var(--tx-ink-strong);
}

/* =========================================================================
   13. Footer
   ========================================================================= */
.nk-footer {
    background: transparent;
    padding: 1.5rem 0;
    border-top: 1px solid var(--tx-border);
}
.nk-footer-copyright {
    color: var(--tx-ink-mute);
    font-size: 0.8125rem;
    z-index: auto !important;
}

/* =========================================================================
   14. Recent activity / notifications list (dashboard)
   ========================================================================= */
.nk-notification .nk-notification-item {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--tx-border-soft);
    border-radius: 0;
}
.nk-notification .nk-notification-item:last-child { border-bottom: none; }
.nk-notification .nk-notification-text { font-size: 0.875rem; color: var(--tx-ink); }
.nk-notification .nk-notification-time { font-size: 0.75rem; color: var(--tx-ink-mute); }

/* =========================================================================
   15. Auth pages — modern centered card
   ========================================================================= */
.nk-split.nk-split-page,
.nk-block-middle,
.nk-block-auth {
    background: var(--tx-bg);
}
.nk-auth-body {
    background: transparent;
    padding: 0;
    border: none;
    box-shadow: none;
}
.nk-auth-body .nk-block-title { font-size: 1.5rem; }

/* New, polished auth shell */
body.tx-auth-bg {
    background:
        radial-gradient(circle at 20% 0%, rgba(59, 130, 246, 0.09), transparent 45%),
        radial-gradient(circle at 100% 100%, rgba(96, 165, 250, 0.07), transparent 50%),
        var(--tx-bg) !important;
    min-height: 100vh;
}
body.tx-auth-bg .nk-content { padding: 4rem 1rem 2rem; }
body.tx-auth-bg .nk-footer-copyright,
body.tx-auth-bg .nk-auth-footer-full p { color: var(--tx-ink-mute); font-size: 0.8125rem; }

.tx-auth-shell { max-width: 460px; width: 100%; margin: 0 auto; }
.tx-auth-shell .brand-logo .logo-img-lg { max-height: 56px; }

.tx-auth-card {
    background: var(--tx-surface) !important;
    border: 1px solid var(--tx-border) !important;
    border-radius: 18px !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 24px 60px rgba(15, 23, 42, 0.10) !important;
}
.tx-auth-card .card-inner.card-inner-lg { padding: 2.5rem 2.25rem; }
.tx-auth-card .nk-block-title { font-size: 1.5rem; }
.tx-auth-card .nk-block-des p { color: var(--tx-ink-soft); font-size: 0.875rem; margin-top: 4px; }

.form-label-group {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}
.form-label-group .link-sm { font-size: 0.78rem; }
.link-primary, .link.link-primary { color: var(--tx-accent-strong) !important; font-weight: 500; }
.link-primary:hover { color: var(--tx-accent) !important; }

.form-note-s2 { font-size: 0.875rem; color: var(--tx-ink-soft); }
.form-note-s2 a { color: var(--tx-accent-strong); font-weight: 500; }

/* =========================================================================
   16. Public SITE (dark mode) — modern dark surface tokens
   ========================================================================= */
body.dark-mode.site-ui,
body.site-ui {
    --tx-bg-dark:          #0b1020;
    --tx-surface-dark:     #131a2b;
    --tx-surface-dark-2:   #1a2238;
    --tx-border-dark:      rgba(255, 255, 255, 0.07);
    --tx-border-dark-2:    rgba(255, 255, 255, 0.12);
    --tx-ink-light:        #f4f6fb;
    --tx-ink-light-soft:   #a8b0c4;

    background: var(--tx-bg-dark) !important;
    color: var(--tx-ink-light);
}

body.site-ui .nk-header.is-light,
body.site-ui .nk-header-fixed {
    background: rgba(11, 16, 32, 0.85) !important;
    backdrop-filter: saturate(140%) blur(14px);
    -webkit-backdrop-filter: saturate(140%) blur(14px);
    border-bottom: 1px solid var(--tx-border-dark);
    box-shadow: none;
}

body.site-ui .nk-sidebar.is-dark,
body.site-ui .nk-sidebar {
    background: var(--tx-bg-dark) !important;
    border-right: 1px solid var(--tx-border-dark);
}

body.site-ui .card {
    background: var(--tx-surface-dark) !important;
    border-color: var(--tx-border-dark) !important;
    color: var(--tx-ink-light);
    box-shadow: 0 1px 2px rgba(0,0,0,0.3), 0 10px 30px rgba(0,0,0,0.18);
}
body.site-ui .card.card-bordered { border-color: var(--tx-border-dark) !important; }
body.site-ui .card .text-muted,
body.site-ui .card .text-soft { color: var(--tx-ink-light-soft) !important; }

body.site-ui .form-control,
body.site-ui .form-select,
body.site-ui .input-group-text {
    background: var(--tx-surface-dark) !important;
    border-color: var(--tx-border-dark-2) !important;
    color: var(--tx-ink-light) !important;
}
body.site-ui .form-control::placeholder { color: var(--tx-ink-light-soft) !important; }
body.site-ui .form-control:focus,
body.site-ui .form-select:focus {
    border-color: var(--tx-accent) !important;
    box-shadow: 0 0 0 3px var(--tx-accent-ring);
}

body.site-ui .scroll-link {
    color: var(--tx-ink-light-soft) !important;
    padding: 6px 14px;
    border-radius: var(--tx-radius-pill);
    transition: color 0.15s var(--tx-ease), background 0.15s var(--tx-ease);
    font-weight: 500;
}
body.site-ui .scroll-link:hover { color: #fff !important; background: rgba(255,255,255,0.05); }
body.site-ui .scroll-link.active {
    color: #fff !important;
    background: var(--tx-accent) !important;
    border-bottom: none !important;
}

body.site-ui .scroll-section {
    border-bottom: 1px solid var(--tx-border-dark) !important;
    padding: 1.5rem 0 !important;
}
body.site-ui .scroll-section h3,
body.site-ui .scroll-section h6,
body.site-ui .scroll-section .nk-block-title {
    color: var(--tx-ink-light) !important;
}

body.site-ui .nk-footer {
    background: transparent;
    border-top: 1px solid var(--tx-border-dark);
}
body.site-ui .nk-footer-copyright { color: var(--tx-ink-light-soft); }

body.site-ui .btn-light,
body.site-ui .btn-white,
body.site-ui .btn-outline-light {
    background: rgba(255,255,255,0.06) !important;
    border-color: rgba(255,255,255,0.10) !important;
    color: var(--tx-ink-light) !important;
}
body.site-ui .btn-light:hover,
body.site-ui .btn-white:hover {
    background: rgba(255,255,255,0.12) !important;
    color: #fff !important;
}

/* Event card on public site */
body.site-ui .product-card {
    overflow: hidden;
    transition: transform 0.18s var(--tx-ease), box-shadow 0.18s var(--tx-ease);
}
body.site-ui .product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.4);
}
body.site-ui .product-card .product-thumb img {
    transition: transform 0.4s var(--tx-ease);
    border-top-left-radius: var(--tx-radius-card);
    border-top-right-radius: var(--tx-radius-card);
}
body.site-ui .product-card:hover .product-thumb img { transform: scale(1.04); }
body.site-ui .product-card .card-inner { padding: 1rem 1.1rem 1.1rem; }

body.site-ui .event-name {
    color: var(--tx-ink-light) !important;
    font-size: 1rem;
    letter-spacing: -0.005em;
}

body.site-ui .date-box {
    border-color: var(--tx-accent) !important;
    color: var(--tx-accent-soft) !important;
    background: var(--tx-accent-tint);
    font-size: 0.78rem;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

body.site-ui .product-badges .badge { backdrop-filter: blur(6px); }

body.site-ui .sticky-menu {
    background: rgba(11, 16, 32, 0.7);
    backdrop-filter: blur(10px);
    border-radius: var(--tx-radius-card);
    padding: 8px;
}

/* User dropdown in site header */
body.site-ui .user-toggle .user-avatar {
    background: var(--tx-accent);
    color: #fff;
}

/* =========================================================================
   17. Misc polish
   ========================================================================= */
hr { border-color: var(--tx-border); opacity: 1; }

.pagination { gap: 4px; }
.pagination .page-item .page-link {
    border-radius: 8px;
    border: 1px solid var(--tx-border);
    color: var(--tx-ink);
    min-width: 36px;
    text-align: center;
    font-size: 0.8125rem;
    padding: 0.4rem 0.6rem;
}
.pagination .page-item.active .page-link {
    background: var(--tx-accent);
    border-color: var(--tx-accent);
    color: #fff;
}

/* Modal */
.modal-content {
    border-radius: 16px;
    border: 1px solid var(--tx-border);
    box-shadow: var(--tx-shadow-lg);
}
.modal-header { border-bottom: 1px solid var(--tx-border-soft); padding: 1.25rem 1.5rem; }
.modal-body { padding: 1.5rem; }
.modal-footer { border-top: 1px solid var(--tx-border-soft); padding: 1rem 1.5rem; }

/* SimpleBar scroll in sidebar */
.simplebar-scrollbar:before { background: rgba(255,255,255,0.15); }

/* Capitalize helper kept from theme */
.ccap { text-transform: capitalize; }

/* Tighten the sale-data group on dashboard */
.nk-sale-data-group { gap: 1.5rem; }

/* Charts canvases breathing room */
.nk-sales-ck { margin-top: 0.5rem; }
.nk-sales-ck.large { margin-top: 1rem; }

/* Card head: align action button to right with proper gap */
.card-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }

/* Subtle backlight on focused/searched input wrappers */
.form-control-wrap { position: relative; }
.form-control-wrap .form-icon.form-icon-right { right: 12px; }
.form-control-wrap .form-icon.form-icon-left  { left: 12px; }
