@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700&family=Cairo:wght@400;600;700&display=swap');

body,
.app-sidebar,
.app-main,
.nav,
.btn,
.form-control,
.form-select,
table,
input,
textarea,
select {
    font-family: 'Tajawal', 'Cairo', 'Source Sans 3', sans-serif !important;
}

/* ========================================================
   LINA RECRUITMENT SYSTEM — CENTRAL DARK MODE SYSTEM
   ======================================================== */
[data-bs-theme="dark"] {
    --lina-bg: #111827;
    --lina-surface: #1f2937;
    --lina-surface-2: #273244;
    --lina-surface-hover: #283548;
    --lina-border: #374151;
    --lina-border-subtle: #4b5563;
    --lina-text: #f3f4f6;
    --lina-text-muted: #9ca3af;
    --lina-primary: #3b82f6;
    --lina-primary-hover: #2563eb;
    --lina-input-bg: #1e293b;
    --lina-input-border: #475569;
    --lina-readonly-bg: #1a2234;

    /* Base bootstrap overrides */
    --bs-body-bg: var(--lina-bg);
    --bs-body-color: var(--lina-text);
    --bs-border-color: var(--lina-border);
    --bs-secondary-bg: var(--lina-surface-2);
    --bs-tertiary-bg: var(--lina-bg);
}

/* General Layout & Backgrounds */
[data-bs-theme="dark"] body,
[data-bs-theme="dark"] .app-main,
[data-bs-theme="dark"].bg-body-tertiary,
[data-bs-theme="dark"] .bg-body-tertiary {
    background-color: var(--lina-bg) !important;
    color: var(--lina-text) !important;
}

[data-bs-theme="dark"] .app-header {
    background-color: var(--lina-surface) !important;
    border-bottom: 1px solid var(--lina-border) !important;
}

[data-bs-theme="dark"] .app-footer {
    background-color: var(--lina-surface) !important;
    border-top: 1px solid var(--lina-border) !important;
    color: var(--lina-text-muted) !important;
}

/* Cards */
[data-bs-theme="dark"] .card {
    background-color: var(--lina-surface) !important;
    border: 1px solid var(--lina-border) !important;
    color: var(--lina-text) !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.25) !important;
}

[data-bs-theme="dark"] .card-header {
    background-color: var(--lina-surface-2) !important;
    border-bottom: 1px solid var(--lina-border) !important;
    color: var(--lina-text) !important;
}

[data-bs-theme="dark"] .card-footer {
    background-color: var(--lina-surface-2) !important;
    border-top: 1px solid var(--lina-border) !important;
    color: var(--lina-text) !important;
}

/* Candidate & General Tables */
[data-bs-theme="dark"] .table {
    --bs-table-bg: var(--lina-surface);
    --bs-table-striped-bg: #232d3d;
    --bs-table-striped-color: var(--lina-text);
    --bs-table-active-bg: var(--lina-surface-hover);
    --bs-table-active-color: #ffffff;
    --bs-table-hover-bg: var(--lina-surface-hover);
    --bs-table-hover-color: #ffffff;
    --bs-table-color: var(--lina-text);
    --bs-table-border-color: var(--lina-border);
    color: var(--lina-text) !important;
    border-color: var(--lina-border) !important;
    background-color: var(--lina-surface) !important;
}

[data-bs-theme="dark"] .table thead th {
    background-color: var(--lina-surface-2) !important;
    color: #ffffff !important;
    border-bottom: 2px solid var(--lina-border) !important;
}

[data-bs-theme="dark"] .table td,
[data-bs-theme="dark"] .table th {
    border-color: var(--lina-border) !important;
    vertical-align: middle;
}

[data-bs-theme="dark"] .table-bordered {
    border: 1px solid var(--lina-border) !important;
}

/* Form Controls & Readonly Fields */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] select.form-select,
[data-bs-theme="dark"] select.form-control {
    background-color: var(--lina-input-bg) !important;
    color: var(--lina-text) !important;
    border-color: var(--lina-input-border) !important;
}

[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
    background-color: var(--lina-input-bg) !important;
    color: #ffffff !important;
    border-color: var(--lina-primary) !important;
    box-shadow: 0 0 0 0.25rem rgba(59, 130, 246, 0.25) !important;
}

[data-bs-theme="dark"] select option {
    background-color: var(--lina-surface) !important;
    color: var(--lina-text) !important;
}

[data-bs-theme="dark"] select option:checked,
[data-bs-theme="dark"] select option:hover {
    background-color: #0d6efd !important;
    color: #ffffff !important;
}

/* Readonly fields must remain readable with crisp contrast */
[data-bs-theme="dark"] .form-control[readonly],
[data-bs-theme="dark"] .form-control:disabled,
[data-bs-theme="dark"] .form-select:disabled,
[data-bs-theme="dark"] .bg-light,
[data-bs-theme="dark"] .bg-body-secondary {
    background-color: var(--lina-readonly-bg) !important;
    color: #e2e8f0 !important;
    border-color: var(--lina-border) !important;
}

[data-bs-theme="dark"] .input-group-text {
    background-color: var(--lina-surface-2) !important;
    color: var(--lina-text) !important;
    border-color: var(--lina-input-border) !important;
}

/* Dropdowns & Navigation */
[data-bs-theme="dark"] .dropdown-menu {
    background-color: var(--lina-surface) !important;
    color: var(--lina-text) !important;
    border: 1px solid var(--lina-border) !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5) !important;
}

[data-bs-theme="dark"] .dropdown-item {
    color: var(--lina-text) !important;
}

[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus {
    background-color: var(--lina-surface-hover) !important;
    color: #ffffff !important;
}

[data-bs-theme="dark"] .dropdown-divider {
    border-color: var(--lina-border) !important;
}

/* Modals */
[data-bs-theme="dark"] .modal-content {
    background-color: var(--lina-surface) !important;
    color: var(--lina-text) !important;
    border: 1px solid var(--lina-border) !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.6) !important;
}

[data-bs-theme="dark"] .modal-header,
[data-bs-theme="dark"] .modal-footer {
    background-color: var(--lina-surface-2) !important;
    border-color: var(--lina-border) !important;
}

[data-bs-theme="dark"] .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%) !important;
}

/* Select2 in Dark Mode */
[data-bs-theme="dark"] .select2-container--default .select2-selection--single,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection {
    background-color: var(--lina-input-bg) !important;
    border-color: var(--lina-input-border) !important;
    color: var(--lina-text) !important;
    min-height: 38px !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection .select2-selection__rendered {
    color: var(--lina-text) !important;
    line-height: 36px !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--lina-text-muted) transparent transparent transparent !important;
}

[data-bs-theme="dark"] .select2-dropdown,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown {
    background-color: var(--lina-surface) !important;
    border-color: var(--lina-border) !important;
    color: var(--lina-text) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5) !important;
}

[data-bs-theme="dark"] .select2-search--dropdown .select2-search__field,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-search .select2-search__field {
    background-color: var(--lina-bg) !important;
    border-color: var(--lina-input-border) !important;
    color: var(--lina-text) !important;
}

[data-bs-theme="dark"] .select2-results__option,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-results__option {
    color: var(--lina-text) !important;
}

[data-bs-theme="dark"] .select2-results__option--highlighted[aria-selected],
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-results__option--highlighted {
    background-color: #0d6efd !important;
    color: #ffffff !important;
}

[data-bs-theme="dark"] .select2-results__option[aria-selected="true"] {
    background-color: #2563eb !important;
    color: #ffffff !important;
}

/* SweetAlert2 in Dark Mode (no CDN) */
[data-bs-theme="dark"] .swal2-popup {
    background: var(--lina-surface) !important;
    color: var(--lina-text) !important;
    border: 1px solid var(--lina-border) !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5) !important;
}

[data-bs-theme="dark"] .swal2-title,
[data-bs-theme="dark"] .swal2-html-container,
[data-bs-theme="dark"] .swal2-content {
    color: var(--lina-text) !important;
}

[data-bs-theme="dark"] .swal2-input,
[data-bs-theme="dark"] .swal2-textarea,
[data-bs-theme="dark"] .swal2-select {
    background-color: var(--lina-bg) !important;
    color: var(--lina-text) !important;
    border-color: var(--lina-input-border) !important;
}

[data-bs-theme="dark"] .swal2-input:focus,
[data-bs-theme="dark"] .swal2-textarea:focus {
    border-color: var(--lina-primary) !important;
    box-shadow: 0 0 0 0.25rem rgba(59, 130, 246, 0.25) !important;
}

[data-bs-theme="dark"] .swal2-validation-message {
    background: var(--lina-surface-2) !important;
    color: #f87171 !important;
}

[data-bs-theme="dark"] .swal2-close {
    color: var(--lina-text-muted) !important;
}

/* DataTables in Dark Mode */
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_filter input,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_length select {
    background-color: var(--lina-input-bg) !important;
    color: var(--lina-text) !important;
    border: 1px solid var(--lina-input-border) !important;
    border-radius: 0.375rem !important;
}

[data-bs-theme="dark"] .dataTables_wrapper .dataTables_info {
    color: var(--lina-text-muted) !important;
}

[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate .pagination .page-item .page-link {
    background-color: var(--lina-surface) !important;
    border-color: var(--lina-border) !important;
    color: #e5e7eb !important;
}

[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate .pagination .page-item.active .page-link {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    color: #ffffff !important;
}

[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate .pagination .page-item.disabled .page-link {
    background-color: var(--lina-bg) !important;
    border-color: var(--lina-border) !important;
    color: #6b7280 !important;
}

[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate .pagination .page-item .page-link:hover {
    background-color: var(--lina-surface-hover) !important;
    color: #ffffff !important;
}

[data-bs-theme="dark"] .dataTables_processing {
    background: rgba(31, 41, 55, 0.9) !important;
    color: var(--lina-text) !important;
    border: 1px solid var(--lina-border) !important;
}

/* Global Search & Badges */
[data-bs-theme="dark"] #globalSearchResults .list-group-item {
    background-color: var(--lina-surface) !important;
    color: var(--lina-text) !important;
    border-color: var(--lina-border) !important;
}

[data-bs-theme="dark"] #globalSearchResults .list-group-item:hover {
    background-color: var(--lina-surface-hover) !important;
    color: #ffffff !important;
}

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

[data-bs-theme="dark"] .badge.bg-light,
[data-bs-theme="dark"] .badge.text-bg-light {
    background-color: var(--lina-surface-2) !important;
    color: var(--lina-text) !important;
}

/* Focus & Accessibility */
[data-bs-theme="dark"] a:focus-visible,
[data-bs-theme="dark"] button:focus-visible,
[data-bs-theme="dark"] input:focus-visible,
[data-bs-theme="dark"] select:focus-visible {
    outline: 2px solid var(--lina-primary) !important;
    outline-offset: 2px !important;
}
/* =======================
   Mobile Fixes (RTL)
======================= */
@media (max-width: 768px) {
  .app-header .navbar-nav { flex-wrap: wrap; }
  .app-header .nav-link { padding: .35rem .5rem; }
  .app-header .dropdown-menu { width: 95vw; max-width: 95vw; }

  .card-header { flex-direction: column; align-items: stretch !important; gap: .5rem; }
  .card-header form, .card-header .d-flex { width: 100%; }
  .card-header .form-select, .card-header input, .card-header button { width: 100% !important; }

  .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .kpi-card .value { font-size: 20px !important; }
}

/* ========================================================
   AdminLTE RTL Sidebar - Spacing, Hierarchy & Overlap Fixes
   ======================================================== */
:root,
html,
body,
.app-wrapper,
.app-sidebar,
[data-bs-theme="light"],
[data-bs-theme="dark"] {
    --lte-sidebar-width: 285px !important;
}

/* Sidebar Container & Width */
.app-sidebar {
    width: var(--lte-sidebar-width) !important;
    min-width: var(--lte-sidebar-width) !important;
    max-width: var(--lte-sidebar-width) !important;
    transition: min-width 0.3s ease-in-out, max-width 0.3s ease-in-out, margin-right 0.3s ease-in-out !important;
}

/* Sidebar Brand Header */
.sidebar-brand {
    height: 3.75rem !important;
    padding: 0.75rem 1rem !important;
}
.sidebar-brand .brand-link {
    display: flex !important;
    align-items: center !important;
    gap: 0.6rem !important;
    width: 100% !important;
    text-decoration: none !important;
}
.sidebar-brand .brand-image {
    max-height: 32px !important;
    width: auto !important;
    float: none !important;
}
.sidebar-brand .brand-text {
    margin-right: 0 !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Sidebar Search Box */
.sidebar-wrapper .input-group-sm > .form-control,
.sidebar-wrapper .input-group-sm > .input-group-text {
    border-radius: 0.375rem !important;
}
.sidebar-wrapper .input-group-text {
    background-color: rgba(255, 255, 255, 0.07) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: rgba(255, 255, 255, 0.65) !important;
}
.sidebar-wrapper #sidebarMenuSearch {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
    font-size: 0.875rem !important;
}
.sidebar-wrapper #sidebarMenuSearch::placeholder {
    color: rgba(255, 255, 255, 0.45) !important;
}
.sidebar-wrapper #sidebarMenuSearch:focus {
    background-color: rgba(255, 255, 255, 0.09) !important;
    border-color: #0d6efd !important;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25) !important;
    color: #ffffff !important;
}

/* Sidebar Menu List Container */
.sidebar-wrapper .sidebar-menu {
    padding: 0 0.5rem 2rem 0.5rem !important;
}

.sidebar-wrapper .nav-item {
    margin-bottom: 0.2rem !important;
    width: 100% !important;
}

.sidebar-wrapper .group-tree {
    margin-bottom: 0.4rem !important;
}

/* Base Nav-Link Layout (Flex, centered, readable) */
.sidebar-wrapper .nav-link,
.sidebar-menu .nav-link {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    position: relative !important;
    width: 100% !important;
    min-height: 2.5rem !important;
    padding: 0.5rem 0.85rem !important;
    border-radius: 0.45rem !important;
    white-space: normal !important;
    text-align: right !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease !important;
}

/* Nav Links with Chevrons must reserve space on the left to avoid text collision */
.sidebar-wrapper .group-link,
.sidebar-wrapper .menu-tree > .nav-link,
.sidebar-menu .nav-link:has(.nav-arrow) {
    padding-left: 2.25rem !important;
}

/* Nav Icon alignment and sizing */
.sidebar-wrapper .nav-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 1.5rem !important;
    max-width: 1.5rem !important;
    width: 1.5rem !important;
    height: 1.5rem !important;
    font-size: 1.05rem !important;
    flex-shrink: 0 !important;
    margin-left: 0.65rem !important;
    margin-right: 0 !important;
    line-height: 1 !important;
    color: rgba(255, 255, 255, 0.75) !important;
}

.sidebar-wrapper .nav-link:hover .nav-icon,
.sidebar-wrapper .nav-link.active .nav-icon {
    color: #ffffff !important;
}

.sidebar-wrapper .nav-treeview .nav-icon.bi-circle {
    font-size: 0.45rem !important;
    opacity: 0.75 !important;
}

/* Nav Link Text Label (<p>) */
.sidebar-wrapper .nav-link p,
.sidebar-menu .nav-link p {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.45 !important;
    font-size: 0.915rem !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-overflow: clip !important;
    overflow: visible !important;
}

/* Treeview Chevron Arrow in RTL */
.sidebar-wrapper .nav-link .nav-arrow,
.sidebar-menu .nav-link .nav-arrow,
.sidebar-menu .nav-link > p > .nav-arrow {
    position: absolute !important;
    top: 50% !important;
    left: 0.75rem !important;
    right: auto !important;
    transform: translateY(-50%) rotate(180deg) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1rem !important;
    height: 1rem !important;
    font-size: 0.8rem !important;
    line-height: 1 !important;
    color: rgba(255, 255, 255, 0.6) !important;
    transition: transform 0.25s ease-in-out, color 0.2s ease !important;
    flex-shrink: 0 !important;
}

/* Expanded state: rotate arrow downwards */
.sidebar-wrapper .group-tree.menu-open > .nav-link .nav-arrow,
.sidebar-wrapper .menu-tree.menu-open > .nav-link .nav-arrow,
.sidebar-wrapper .nav-item.menu-open > .nav-link .nav-arrow {
    transform: translateY(-50%) rotate(90deg) !important;
    color: rgba(255, 255, 255, 0.95) !important;
}

/* ========================================================
   Submenu Indentation & Treeview Hierarchy (RTL)
   ======================================================== */

/* First-Level Submenu (Direct children of group) */
.sidebar-wrapper .group-tree > .nav-treeview {
    padding: 0.25rem 0 !important;
    margin: 0.15rem 0.75rem 0.35rem 0 !important;
    border-right: 2px solid rgba(255, 255, 255, 0.1) !important;
    list-style: none !important;
}

.sidebar-wrapper .group-tree > .nav-treeview > .nav-item > .nav-link {
    padding-right: 1.15rem !important;
    min-height: 2.35rem !important;
    font-size: 0.885rem !important;
}

.sidebar-wrapper .group-tree > .nav-treeview > .nav-item > .nav-link p {
    font-size: 0.885rem !important;
}

/* Second-Level Nested Submenu (e.g., Sponsored Ads sub-items or Master Data) */
.sidebar-wrapper .menu-tree > .nav-treeview {
    padding: 0.2rem 0 !important;
    margin: 0.15rem 0.85rem 0.25rem 0 !important;
    border-right: 2px solid rgba(255, 255, 255, 0.16) !important;
    list-style: none !important;
}

.sidebar-wrapper .menu-tree > .nav-treeview > .nav-item > .nav-link {
    padding-right: 1.25rem !important;
    min-height: 2.3rem !important;
    font-size: 0.84rem !important;
}

.sidebar-wrapper .menu-tree > .nav-treeview > .nav-item > .nav-link p {
    font-size: 0.84rem !important;
}

/* ========================================================
   Colors & Visual States (Dark Sidebar)
   ======================================================== */

/* Top Group Link */
.sidebar-wrapper .group-link {
    font-weight: 600 !important;
    color: rgba(255, 255, 255, 0.88) !important;
    background-color: transparent !important;
}

.sidebar-wrapper .group-link:hover {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.07) !important;
}

.sidebar-wrapper .group-tree.menu-open > .group-link {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Intermediate Nested Tree Links */
.sidebar-wrapper .menu-tree > .nav-link {
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.82) !important;
    background-color: transparent !important;
}

.sidebar-wrapper .menu-tree > .nav-link:hover {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.07) !important;
}

.sidebar-wrapper .menu-tree.menu-open > .nav-link {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.03) !important;
}

/* Leaf Links */
.sidebar-wrapper .sidebar-item-link {
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.75) !important;
}

.sidebar-wrapper .sidebar-item-link:hover {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.08) !important;
}

/* Active Leaf Link */
.sidebar-wrapper .sidebar-item-link.active,
.sidebar-wrapper .nav-treeview > .nav-item > .nav-link.active {
    color: #ffffff !important;
    background-color: #0d6efd !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 6px rgba(13, 110, 253, 0.35) !important;
}

.sidebar-wrapper .sidebar-item-link.active .nav-icon {
    color: #ffffff !important;
}

/* Badges alignment */
.sidebar-wrapper .nav-link > .nav-badge,
.sidebar-wrapper .nav-link > p > .nav-badge {
    position: absolute !important;
    top: 50% !important;
    left: 2rem !important;
    right: auto !important;
    transform: translateY(-50%) !important;
}


