/* =============================================================================
   SCOON THEME — Ultima-inspired, AdminLTE override
   Brand: #f85900  Dark: #1e1e1e  Gray: #626262  Light: #cac8c8
   Font: Inter (Google Fonts)
   ============================================================================= */

/* ─── 1. CSS Custom Properties — Light Theme ─────────────────────────────── */
:root {
    --color-primary:       #f85900;
    --color-primary-hover: #e04d00;
    --color-primary-dark:  #cc4a00;
    --color-primary-light: #fff3ec;
    --color-primary-ring:  rgba(248, 89, 0, 0.18);

    --surface:      #ffffff;
    --surface-alt:  #f5f5f5;
    --surface-hover:#fafafa;
    --border:       #e4e4e4;
    --border-light: #f0f0f0;

    --text:           #1e1e1e;
    --text-secondary: #626262;
    --text-muted:     #9ca3af;
    --text-inverse:   #ffffff;

    --sidebar-bg:          #1e1e1e;
    --sidebar-text:        #cac8c8;
    --sidebar-text-hover:  #ffffff;
    --sidebar-active-bg:   rgba(248, 89, 0, 0.14);
    --sidebar-active-text: #f85900;
    --sidebar-border:      rgba(255, 255, 255, 0.06);
    --sidebar-icon:        #888888;

    --topbar-bg:     #ffffff;
    --topbar-border: #e4e4e4;
    --topbar-text:   #1e1e1e;
    --topbar-icon:   #626262;

    --content-bg:    #f0f0f0;

    --card-bg:       #ffffff;
    --card-border:   #e4e4e4;
    --card-shadow:   0 1px 4px rgba(0, 0, 0, 0.07), 0 0 0 1px rgba(0,0,0,0.03);
    --card-header-bg:#ffffff;

    --input-bg:      #ffffff;
    --input-border:  #cac8c8;
    --input-text:    #1e1e1e;

    --table-header-bg: #f8f8f8;
    --table-border:    #e8e8e8;
    --table-hover:     #fef6f0;
    --table-stripe:    #fbfbfb;

    --footer-bg:     #ffffff;
    --footer-border: #e4e4e4;
    --footer-text:   #626262;

    --badge-radius:  20px;
    --btn-radius:    6px;
    --card-radius:   10px;
    --input-radius:  6px;
    --modal-radius:  12px;
}

/* ─── 2. Dark Mode Overrides ────────────────────────────────────────────── */
html.dark-mode {
    --color-primary-light: rgba(248, 89, 0, 0.12);
    --color-primary-ring:  rgba(248, 89, 0, 0.25);

    --surface:      #2b2b2b;
    --surface-alt:  #222222;
    --surface-hover:#333333;
    --border:       #3a3a3a;
    --border-light: #303030;

    --text:           #f0f0f0;
    --text-secondary: #a0a0a0;
    --text-muted:     #6b7280;

    --sidebar-bg:          #161616;
    --sidebar-text:        #9ca3af;
    --sidebar-text-hover:  #f0f0f0;
    --sidebar-active-bg:   rgba(248, 89, 0, 0.18);
    --sidebar-border:      rgba(255, 255, 255, 0.04);
    --sidebar-icon:        #6b7280;

    --topbar-bg:     #2b2b2b;
    --topbar-border: #3a3a3a;
    --topbar-text:   #f0f0f0;
    --topbar-icon:   #a0a0a0;

    --content-bg:    #1a1a1a;

    --card-bg:       #2b2b2b;
    --card-border:   #3a3a3a;
    --card-shadow:   0 1px 6px rgba(0, 0, 0, 0.4);
    --card-header-bg:#2b2b2b;

    --input-bg:      #232323;
    --input-border:  #4a4a4a;
    --input-text:    #f0f0f0;

    --table-header-bg: #222222;
    --table-border:    #3a3a3a;
    --table-hover:     #363636;
    --table-stripe:    #272727;

    --footer-bg:     #2b2b2b;
    --footer-border: #3a3a3a;
    --footer-text:   #a0a0a0;
}

/* ─── 3. Global ──────────────────────────────────────────────────────────── */
*, *::before, *::after {
    box-sizing: border-box;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-size: 14px;
    color: var(--text);
    background-color: var(--content-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Smooth colour transitions for dark mode switch */
body, .main-sidebar, .main-header, .card, .form-control,
.table, .modal-content, .dropdown-menu, .main-footer,
.nav-sidebar .nav-link, .content-wrapper {
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

a { color: var(--color-primary); }
a:hover { color: var(--color-primary-hover); }

h1, h2, h3, h4, h5, h6 { color: var(--text); font-weight: 600; }

hr { border-color: var(--border); }

/* ─── 4. Sidebar ─────────────────────────────────────────────────────────── */
.main-sidebar {
    background: var(--sidebar-bg) !important;
    border-right: 1px solid var(--sidebar-border) !important;
    box-shadow: 2px 0 12px rgba(0, 0, 0, 0.18) !important;
    width: 250px;
    overflow-x: hidden;
}

.brand-link {
    background: var(--sidebar-bg) !important;
    border-bottom: 1px solid var(--sidebar-border) !important;
    padding: 14px 16px !important;
    display: flex;
    align-items: center;
    gap: 10px;
}

.brand-link:hover {
    background: rgba(255, 255, 255, 0.04) !important;
}

.brand-image {
    max-height: 32px;
    width: auto;
    opacity: 0.9;
}

.brand-text {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    letter-spacing: -0.01em;
}

.sidebar {
    padding: 8px 0;
    overflow-y: auto;
    overflow-x: hidden;
}

/* Remove AdminLTE's default white sidebar text colour overrides */
.nav-sidebar .nav-item > .nav-link {
    color: var(--sidebar-text) !important;
    border-radius: 6px;
    margin: 2px 8px;
    padding: 9px 12px !important;
    font-size: 0.875rem;
    font-weight: 400;
    transition: background 0.18s, color 0.18s;
    display: flex;
    align-items: center;
    gap: 10px;
    border-left: 3px solid transparent;
}

.nav-sidebar .nav-item > .nav-link .nav-icon {
    color: var(--sidebar-icon) !important;
    font-size: 0.9rem;
    width: 18px;
    text-align: center;
    flex-shrink: 0;
    transition: color 0.18s;
}

.nav-sidebar .nav-item > .nav-link:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--sidebar-text-hover) !important;
}

.nav-sidebar .nav-item > .nav-link:hover .nav-icon {
    color: var(--sidebar-text-hover) !important;
}

.nav-sidebar .nav-item > .nav-link.active,
.nav-sidebar .nav-item.menu-open > .nav-link {
    background: var(--sidebar-active-bg) !important;
    color: var(--sidebar-active-text) !important;
    border-left-color: var(--color-primary) !important;
    font-weight: 500;
}

.nav-sidebar .nav-item > .nav-link.active .nav-icon,
.nav-sidebar .nav-item.menu-open > .nav-link .nav-icon {
    color: var(--color-primary) !important;
}

/* Sub-menus */
.nav-sidebar .nav-treeview {
    padding: 0 0 4px 0;
    background: rgba(0, 0, 0, 0.1);
}

.nav-sidebar .nav-treeview .nav-item > .nav-link {
    padding: 7px 12px 7px 36px !important;
    font-size: 0.8375rem;
}

/* Sidebar section headers */
.nav-header {
    color: rgba(255, 255, 255, 0.3) !important;
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 12px 20px 4px !important;
}

/* Mini sidebar */
.sidebar-mini .main-sidebar .sidebar {
    overflow-x: hidden !important;
    width: 250px;
}

/* ─── 5. Topbar ──────────────────────────────────────────────────────────── */
.main-header {
    background: var(--topbar-bg) !important;
    border-bottom: 1px solid var(--topbar-border) !important;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06) !important;
    height: 56px;
    z-index: 1035;
    overflow: visible !important;
}

.main-header .navbar {
    background: transparent !important;
    padding: 0 16px;
    height: 56px;
}

.main-header .navbar-nav .nav-link {
    color: var(--topbar-icon) !important;
    padding: 0 10px;
    font-size: 0.875rem;
    transition: color 0.18s;
}

.main-header .navbar-nav .nav-link:hover {
    color: var(--color-primary) !important;
}

/* Sidebar toggle button */
.nav-link[data-widget="pushmenu"] {
    font-size: 1rem;
    width: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Topbar dropdown menus */
.main-header .dropdown-menu {
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
    margin-top: 4px;
    z-index: 1050 !important;
}

.main-header .navbar-nav .nav-item {
    display: flex;
    align-items: center;
    height: 56px;
}

.main-header .dropdown-item {
    color: var(--text) !important;
    font-size: 0.875rem;
    padding: 8px 16px;
    transition: background 0.15s;
}

.main-header .dropdown-item:hover {
    background: var(--surface-hover) !important;
    color: var(--color-primary) !important;
}

/* User menu */
.user-panel .info {
    color: var(--sidebar-text) !important;
}

/* ─── 6. Content Wrapper + Breadcrumbs ───────────────────────────────────── */
.content-wrapper {
    background: var(--content-bg) !important;
    min-height: calc(100vh - 56px - 48px);
}

.content-header {
    padding: 16px 24px 8px;
}

.content-header h1 {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--text);
    margin: 0;
}

.breadcrumb {
    background: transparent !important;
    padding: 0;
    margin: 4px 0 0 0;
    font-size: 0.8rem;
}

.breadcrumb-item a {
    color: var(--color-primary);
}

.breadcrumb-item.active {
    color: var(--text-secondary);
}

.breadcrumb-item + .breadcrumb-item::before {
    color: var(--text-muted);
}

/* ─── 7. Cards ───────────────────────────────────────────────────────────── */
.card {
    background: var(--card-bg) !important;
    border: 1px solid var(--card-border) !important;
    border-radius: var(--card-radius) !important;
    box-shadow: var(--card-shadow) !important;
    margin-bottom: 1.25rem;
}

.card-header {
    background: var(--card-header-bg) !important;
    border-bottom: 1px solid var(--border) !important;
    border-radius: var(--card-radius) var(--card-radius) 0 0 !important;
    padding: 14px 18px !important;
    display: flex;
    align-items: center;
}

.card-title {
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    color: var(--text) !important;
    margin: 0;
}

.card-body {
    padding: 18px !important;
    color: var(--text);
}

.card-footer {
    background: var(--surface-alt) !important;
    border-top: 1px solid var(--border) !important;
    border-radius: 0 0 var(--card-radius) var(--card-radius) !important;
    padding: 12px 18px !important;
    color: var(--text-secondary);
}

/* Card colour variants */
.card.card-primary.card-outline {
    border-top: 3px solid var(--color-primary) !important;
}
.card.card-success.card-outline { border-top: 3px solid #22c55e !important; }
.card.card-warning.card-outline { border-top: 3px solid #f59e0b !important; }
.card.card-danger.card-outline  { border-top: 3px solid #ef4444 !important; }
.card.card-info.card-outline    { border-top: 3px solid #3b82f6 !important; }

/* Remove AdminLTE coloured header stripes */
.card.bg-primary   { background: var(--color-primary) !important; }
.card.bg-secondary { background: #626262 !important; }

/* Card tools */
.card-tools .btn-tool {
    color: var(--text-muted) !important;
    background: transparent !important;
    border: none;
    padding: 4px 8px;
    border-radius: 4px;
    transition: background 0.15s, color 0.15s;
}

.card-tools .btn-tool:hover {
    color: var(--text) !important;
    background: var(--surface-alt) !important;
}

/* ─── 8. Buttons ─────────────────────────────────────────────────────────── */
.btn {
    border-radius: var(--btn-radius) !important;
    font-weight: 500 !important;
    font-size: 0.875rem !important;
    padding: 7px 16px;
    transition: all 0.2s ease !important;
    letter-spacing: 0.01em;
}

.btn:focus { box-shadow: 0 0 0 3px var(--color-primary-ring) !important; }

/* Primary */
.btn-primary, .btn-primary:visited {
    background: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: #fff !important;
}
.btn-primary:hover, .btn-primary:active {
    background: var(--color-primary-hover) !important;
    border-color: var(--color-primary-hover) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(248, 89, 0, 0.35) !important;
}

/* Secondary */
.btn-secondary {
    background: var(--surface) !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
}
.btn-secondary:hover {
    background: var(--surface-alt) !important;
    border-color: var(--border) !important;
    transform: translateY(-1px);
}

/* Success */
.btn-success {
    background: #22c55e !important;
    border-color: #22c55e !important;
    color: #fff !important;
}
.btn-success:hover {
    background: #16a34a !important;
    border-color: #16a34a !important;
    transform: translateY(-1px);
}

/* Danger */
.btn-danger {
    background: #ef4444 !important;
    border-color: #ef4444 !important;
    color: #fff !important;
}
.btn-danger:hover {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    transform: translateY(-1px);
}

/* Warning */
.btn-warning {
    background: #f59e0b !important;
    border-color: #f59e0b !important;
    color: #fff !important;
}
.btn-warning:hover {
    background: #d97706 !important;
    border-color: #d97706 !important;
    transform: translateY(-1px);
}

/* Info */
.btn-info {
    background: #3b82f6 !important;
    border-color: #3b82f6 !important;
    color: #fff !important;
}
.btn-info:hover {
    background: #2563eb !important;
    border-color: #2563eb !important;
    transform: translateY(-1px);
}

/* AdminLTE bg-* colour buttons */
.btn.bg-blue, .bg-blue { background: #3b82f6 !important; }
.btn.bg-green { background: #22c55e !important; }
.btn.bg-red { background: #ef4444 !important; }
.btn.bg-primary { background: var(--color-primary) !important; }
.btn.bg-secondary { background: #626262 !important; }

/* Small buttons */
.btn-sm, .btn-xs { padding: 4px 10px !important; font-size: 0.8rem !important; }
.btn-xs { padding: 2px 8px !important; font-size: 0.75rem !important; }

/* Remove flat style */
.btn-flat { border-radius: var(--btn-radius) !important; }

/* Block button */
.btn-block { width: 100%; display: block; }

/* ─── 9. Form Inputs ─────────────────────────────────────────────────────── */
.form-control {
    border-radius: var(--input-radius) !important;
    border: 1px solid var(--input-border) !important;
    background: var(--input-bg) !important;
    color: var(--input-text) !important;
    font-size: 0.875rem;
    padding: 8px 12px;
    height: auto;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.form-control:focus {
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 3px var(--color-primary-ring) !important;
    background: var(--input-bg) !important;
    color: var(--input-text) !important;
    outline: none;
}

.form-control::placeholder {
    color: var(--text-muted) !important;
}

.form-control[readonly] {
    background: var(--surface-alt) !important;
    color: var(--text-secondary) !important;
    cursor: default;
}

.input-group-text {
    background: var(--surface-alt) !important;
    border: 1px solid var(--input-border) !important;
    color: var(--text-secondary) !important;
    border-radius: var(--input-radius) !important;
    font-size: 0.875rem;
}

.input-group > .form-control:not(:first-child),
.input-group > .form-control:not(:last-child) {
    border-radius: 0 !important;
}

.input-group > .form-control:last-child,
.input-group > .input-group-append > .input-group-text {
    border-radius: 0 var(--input-radius) var(--input-radius) 0 !important;
}

.input-group > .form-control:first-child,
.input-group > .input-group-prepend > .input-group-text {
    border-radius: var(--input-radius) 0 0 var(--input-radius) !important;
}

textarea.form-control {
    height: auto !important;
}

label {
    color: var(--text-secondary);
    font-size: 0.8375rem;
    font-weight: 500;
    margin-bottom: 5px;
}

.form-text {
    color: var(--text-muted) !important;
}

/* Required field indicator */
.form-group.required .col-form-label::after,
label.required::after {
    content: " *";
    color: #ef4444;
    font-weight: 700;
}

/* icheck-bootstrap override */
.icheck-primary > input:first-child:checked + label::before,
.icheck-primary > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

/* ─── Select2 ──────────────────────────────────────────────────────────── */
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple {
    height: 38px !important;
    border-radius: var(--input-radius) !important;
    border: 1px solid var(--input-border) !important;
    background: var(--input-bg) !important;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--input-text) !important;
    line-height: 36px !important;
    padding-left: 12px;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    padding: 4px 8px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 6px !important;
    right: 8px;
}

.select2-container--focus .select2-selection--single,
.select2-container--focus .select2-selection--multiple {
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 3px var(--color-primary-ring) !important;
}

.select2-dropdown {
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
}

.select2-results__option {
    color: var(--text) !important;
    font-size: 0.875rem;
    padding: 8px 12px;
}

.select2-results__option--highlighted {
    background: var(--color-primary-light) !important;
    color: var(--color-primary) !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: var(--color-primary-light) !important;
    border: 1px solid rgba(248, 89, 0, 0.3) !important;
    color: var(--color-primary) !important;
    border-radius: 4px !important;
    font-size: 0.8rem;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--color-primary) !important;
    margin-right: 4px;
}

.select2-search__field {
    background: var(--input-bg) !important;
    color: var(--text) !important;
    border: 1px solid var(--border) !important;
    border-radius: 4px !important;
}

/* ─── 10. Tables ─────────────────────────────────────────────────────────── */
.table {
    color: var(--text) !important;
    font-size: 0.875rem;
    border-color: var(--table-border) !important;
}

.table thead th {
    background: var(--table-header-bg) !important;
    color: var(--text-secondary) !important;
    font-weight: 600;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 2px solid var(--border) !important;
    border-top: none !important;
    padding: 10px 12px !important;
    white-space: nowrap;
}

.table td {
    color: var(--text) !important;
    vertical-align: middle !important;
    padding: 10px 12px !important;
    border-color: var(--table-border) !important;
}

.table-striped tbody tr:nth-of-type(odd) {
    background: var(--table-stripe) !important;
}

.table-hover tbody tr:hover {
    background: var(--table-hover) !important;
}

.table-bordered {
    border: 1px solid var(--table-border) !important;
}

/* DataTables */
.dataTables_wrapper {
    color: var(--text);
}

.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
    background: var(--input-bg) !important;
    color: var(--input-text) !important;
    border: 1px solid var(--input-border) !important;
    border-radius: var(--input-radius) !important;
    padding: 4px 10px;
}

.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label {
    color: var(--text-secondary) !important;
    font-size: 0.8375rem;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: 5px !important;
    color: var(--text) !important;
    border: none !important;
    background: transparent !important;
    padding: 4px 10px;
    font-size: 0.875rem;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: var(--surface-alt) !important;
    color: var(--color-primary) !important;
    border: none !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--color-primary) !important;
    color: #fff !important;
    border: none !important;
    font-weight: 600;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
    color: var(--text-muted) !important;
    opacity: 0.5;
}

/* ─── 11. Badges ─────────────────────────────────────────────────────────── */
.badge {
    border-radius: var(--badge-radius) !important;
    font-weight: 500 !important;
    font-size: 0.75rem !important;
    padding: 4px 10px !important;
    letter-spacing: 0.02em;
}

.badge-primary, .badge.bg-primary { background: var(--color-primary) !important; color: #fff !important; }
.badge-success { background: #22c55e !important; color: #fff !important; }
.badge-danger  { background: #ef4444 !important; color: #fff !important; }
.badge-warning { background: #f59e0b !important; color: #fff !important; }
.badge-info    { background: #3b82f6 !important; color: #fff !important; }
.badge-secondary { background: #626262 !important; color: #fff !important; }
.badge-light   { background: var(--surface-alt) !important; color: var(--text) !important; border: 1px solid var(--border) !important; }

/* ─── 12. Modals ─────────────────────────────────────────────────────────── */
.modal-content {
    background: var(--card-bg) !important;
    border: none !important;
    border-radius: var(--modal-radius) !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25) !important;
    color: var(--text);
}

.modal-header {
    background: var(--card-bg) !important;
    border-bottom: 1px solid var(--border) !important;
    border-radius: var(--modal-radius) var(--modal-radius) 0 0 !important;
    padding: 16px 20px !important;
}

.modal-title {
    font-weight: 600 !important;
    font-size: 1rem !important;
    color: var(--text) !important;
}

.modal-body {
    padding: 20px !important;
    color: var(--text);
}

.modal-footer {
    background: var(--surface-alt) !important;
    border-top: 1px solid var(--border) !important;
    border-radius: 0 0 var(--modal-radius) var(--modal-radius) !important;
    padding: 12px 20px !important;
}

.modal-backdrop {
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

/* ─── 13. Alerts ─────────────────────────────────────────────────────────── */
.alert {
    border-radius: 8px !important;
    border: none !important;
    padding: 12px 16px !important;
    font-size: 0.875rem;
}

.alert-success { background: #dcfce7 !important; color: #166534 !important; border-left: 4px solid #22c55e !important; }
.alert-danger  { background: #fee2e2 !important; color: #991b1b !important; border-left: 4px solid #ef4444 !important; }
.alert-warning { background: #fef9c3 !important; color: #854d0e !important; border-left: 4px solid #f59e0b !important; }
.alert-info    { background: #dbeafe !important; color: #1e40af !important; border-left: 4px solid #3b82f6 !important; }

html.dark-mode .alert-success { background: rgba(34, 197, 94, 0.1) !important; color: #86efac !important; }
html.dark-mode .alert-danger  { background: rgba(239, 68, 68, 0.1) !important; color: #fca5a5 !important; }
html.dark-mode .alert-warning { background: rgba(245, 158, 11, 0.1) !important; color: #fde68a !important; }
html.dark-mode .alert-info    { background: rgba(59, 130, 246, 0.1) !important; color: #93c5fd !important; }

/* ─── 14. Footer ─────────────────────────────────────────────────────────── */
.main-footer {
    background: var(--footer-bg) !important;
    border-top: 1px solid var(--footer-border) !important;
    color: var(--footer-text) !important;
    font-size: 0.8125rem;
    padding: 12px 24px !important;
    box-shadow: none !important;
}

.main-footer a {
    color: var(--color-primary) !important;
}

/* ─── 15. Login Page ─────────────────────────────────────────────────────── */
.login-wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #1a1a1a 0%, #2a2a2a 40%, #1e1e1e 70%, #111111 100%);
    padding: 24px;
    position: relative;
    overflow: hidden;
}

/* Subtle texture overlay */
.login-wrapper::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 20% 80%, rgba(248, 89, 0, 0.08) 0%, transparent 50%),
                      radial-gradient(circle at 80% 20%, rgba(248, 89, 0, 0.05) 0%, transparent 40%);
    pointer-events: none;
}

.login-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
    z-index: 1;
}

.login-brand img {
    height: 40px;
    width: auto;
    opacity: 0.9;
}

.login-brand-text {
    color: #ffffff;
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.login-card {
    width: 100%;
    max-width: 420px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255,255,255,0.05);
    overflow: hidden;
    z-index: 1;
}

.login-card-header {
    padding: 32px 32px 16px;
    background: #ffffff;
}

.login-card-header h2 {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1e1e1e;
    margin: 0 0 6px;
    letter-spacing: -0.02em;
}

.login-card-header p {
    color: #626262;
    margin: 0;
    font-size: 0.9rem;
}

.login-card-body {
    padding: 16px 32px 28px;
    background: #ffffff;
}

.login-card-body .form-control {
    border-radius: var(--input-radius) !important;
    border: 1px solid #cac8c8 !important;
    background: #ffffff !important;
    color: #1e1e1e !important;
    height: 44px;
    font-size: 0.9rem;
}

.login-card-body .form-control:focus {
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 3px rgba(248, 89, 0, 0.15) !important;
}

.login-card-body .input-group-text {
    background: #f5f5f5 !important;
    border: 1px solid #cac8c8 !important;
    color: #626262 !important;
    height: 44px;
}

.login-card-body .btn-primary {
    background: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    height: 44px;
    font-weight: 600;
    font-size: 0.9rem;
    letter-spacing: 0.01em;
    box-shadow: 0 4px 12px rgba(248, 89, 0, 0.3);
}

.login-card-body .btn-primary:hover {
    background: var(--color-primary-hover) !important;
    box-shadow: 0 6px 16px rgba(248, 89, 0, 0.4) !important;
}

.login-card-footer {
    padding: 14px 32px;
    background: #f8f8f8;
    border-top: 1px solid #e8e8e8;
    text-align: center;
    font-size: 0.8rem;
    color: #626262;
}

/* Keep AdminLTE login-box class working */
.login-page {
    background: linear-gradient(145deg, #1a1a1a 0%, #2a2a2a 40%, #1e1e1e 70%, #111111 100%) !important;
}

/* ─── 16. Dark Mode Toggle ───────────────────────────────────────────────── */
#darkModeToggle .nav-link {
    width: 36px;
    height: 36px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    transition: background 0.18s !important;
}

#darkModeToggle .nav-link:hover {
    background: var(--surface-alt) !important;
    color: var(--color-primary) !important;
}

/* ─── 17. Section Headers (page h1) ─────────────────────────────────────── */
.content-header h1 {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--text);
}

/* ─── 18. Utility ────────────────────────────────────────────────────────── */

/* Z-index fixes preserved */
html { overflow: visible; }
.modal { z-index: 1110; }
.select2-dropdown { z-index: 1200 !important; }

/* Shadows */
.elevation-1 { box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important; }
.elevation-2 { box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important; }
.elevation-3 { box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important; }
.elevation-4 { box-shadow: 0 6px 20px rgba(0,0,0,0.15) !important; }

/* Toastr */
#toast-container > div {
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.875rem !important;
}

/* SweetAlert */
.swal2-popup {
    border-radius: 12px !important;
    font-family: 'Inter', sans-serif !important;
}

.swal2-confirm {
    background: var(--color-primary) !important;
    border-radius: 6px !important;
}

/* Scrollbar (WebKit) */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--text-muted); }

/* Language dropdown */
.top-bar-language-nav-link { min-width: 65px; }

/* User image */
.nav-user-menu .user-image { width: 20px; margin-right: 4px; margin-top: -4px; }

/* Famfamfam */
.famfamfam-flags { display: inline-block; }

/* Dropdown divider */
.dropdown-divider { border-color: var(--border) !important; }

/* List groups */
.list-group-item {
    background: var(--card-bg) !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
    font-size: 0.875rem;
}

.list-group-item:hover {
    background: var(--surface-hover) !important;
}

/* Checkbox icheck dark override */
html.dark-mode .icheck-primary > label::before {
    background: var(--input-bg) !important;
    border-color: var(--input-border) !important;
}

/* ─── 19. Responsive / Mobile ────────────────────────────────────────────── */
@media (max-width: 768px) {
    .content-wrapper {
        padding-bottom: 60px;
    }

    .card-body {
        padding: 14px !important;
    }

    .content-header {
        padding: 12px 16px 6px;
    }

    .login-card-header { padding: 24px 20px 12px; }
    .login-card-body   { padding: 12px 20px 20px; }
    .login-card-footer { padding: 12px 20px; }

    .table-responsive { border-radius: var(--card-radius); }
}

@media (max-width: 576px) {
    .login-wrapper { padding: 16px; }
    .login-brand-text { font-size: 1rem; }
    .login-card-header h2 { font-size: 1.3rem; }
}

/* tui editor */
.tui-image-editor-container .tui-image-editor-submenu .tui-image-editor-submenu-item .tui-image-editor-button.apply label, 
.tui-image-editor-container .tui-image-editor-submenu .tui-image-editor-submenu-item .tui-image-editor-button.cancel label
{
    vertical-align: 0 !important;
}

.tui-image-editor-container .tui-image-editor-menu > .tui-image-editor-item, 
.tui-image-editor-container .tui-image-editor-help-menu > .tui-image-editor-item {
    padding: 0 8px 3px 8px !important;
}