/* ==========================================================================
   IlMetodo - Glass Morphism UI
   macOS-inspired translucent sidebar & header
   ========================================================================== */

/* --------------------------------------------------------------------------
   CSS Variables
   -------------------------------------------------------------------------- */
:root {
    /* Glass surfaces */
    --glass-bg: rgba(15, 23, 42, 0.72);
    --glass-bg-hover: rgba(255, 255, 255, 0.08);
    --glass-bg-active: rgba(255, 255, 255, 0.12);
    --glass-border: rgba(255, 255, 255, 0.08);
    --glass-blur: 20px;
    --glass-text: rgba(255, 255, 255, 0.85);
    --glass-text-dim: rgba(255, 255, 255, 0.5);
    --glass-text-bright: #ffffff;
    --glass-accent: #60a5fa;
    --glass-accent-bg: rgba(96, 165, 250, 0.15);
    --glass-icon-bg: rgba(255, 255, 255, 0.07);
    --glass-icon-color: rgba(255, 255, 255, 0.55);
    --glass-divider: rgba(255, 255, 255, 0.06);

    /* Content area */
    --card-border: #e2e8f0;
    --card-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06);
    --card-shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.07);
    --accent-blue: #2563eb;
    --accent-blue-light: #dbeafe;
    --text-primary: #1e293b;
    --text-secondary: #64748b;
    --bg-subtle: #f0f4f8;
    --transition-fast: 0.15s ease;
    --transition-normal: 0.25s ease;
    --radius-sm: 8px;
    --radius-md: 12px;
}

/* --------------------------------------------------------------------------
   Body & Background
   -------------------------------------------------------------------------- */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 40%, #0f172a 100%) !important;
    background-attachment: fixed !important;
}

/* --------------------------------------------------------------------------
   SIDEBAR - Frosted Glass
   -------------------------------------------------------------------------- */
.navbar-vertical {
    background: var(--glass-bg) !important;
    backdrop-filter: blur(var(--glass-blur)) !important;
    -webkit-backdrop-filter: blur(var(--glass-blur)) !important;
    border-right: 1px solid var(--glass-border) !important;
    box-shadow: 1px 0 24px rgba(0, 0, 0, 0.15) !important;
}

.navbar-vertical-content {
    background: transparent !important;
    padding-top: 0 !important;
    top: -60px !important;
    position: fixed;
}

.navbar-vertical .navbar-collapse {
    background: transparent !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.navbar-vertical,
.navbar-vertical.navbar-expand-lg {
    padding-top: 0 !important;
}
.navbar-vertical-collapsed .navbar-logo-text {
    display: none !important;
}
.navbar-vertical .dropdown-indicator-icon {
    display: none !important;
}

.navbar-vertical-footer {
    background: transparent !important;
    border-top: 1px solid var(--glass-divider) !important;
}

.navbar-vertical-footer a,
.navbar-vertical-footer span {
    color: var(--glass-text-dim) !important;
}

.navbar-vertical-footer a:hover,
.navbar-vertical-footer span:hover {
    color: var(--glass-text) !important;
}

/* Navbar nav container */
.navbar-nav {
    background: transparent !important;
    padding: 6px 10px !important;
}

/* --------------------------------------------------------------------------
   NAV ITEMS
   -------------------------------------------------------------------------- */
.nav-item {
    margin-top: 0 !important;
    font-weight: 500 !important;
    font-size: 0.875rem !important;
    color: var(--glass-text) !important;
}

.nav-item-wrapper {
    margin-bottom: 1px !important;
    border: none !important;
    transition: none !important;
}

/* --------------------------------------------------------------------------
   NAV LINKS
   -------------------------------------------------------------------------- */
.nav-link {
    margin: 1px 0 !important;
    padding: 8px 12px !important;
    border-radius: var(--radius-sm) !important;
    transition: all var(--transition-fast) !important;
    border: none !important;
    color: var(--glass-text-dim) !important;
}

/* Top-level parent links */
.nav-item-wrapper > a.nav-link {
    background: transparent !important;
    box-shadow: none !important;
    color: var(--glass-text) !important;
    font-weight: 600 !important;
    padding: 9px 12px !important;
    border-radius: var(--radius-sm) !important;
    gap: 10px !important;
}

.nav-item-wrapper > a.nav-link:hover {
    background: var(--glass-bg-hover) !important;
    color: var(--glass-text-bright) !important;
    transform: none !important;
}

/* Expanded parent */
.nav-item-wrapper > a.nav-link[aria-expanded="true"] {
    background: var(--glass-bg-active) !important;
    color: var(--glass-text-bright) !important;
}

/* Kill old translateX animation */
.nav-link:hover .d-flex {
    transform: none !important;
    transition: none !important;
    color: inherit !important;
}

/* --------------------------------------------------------------------------
   NAV ICONS - Subtle glass squares
   -------------------------------------------------------------------------- */
.nav-link-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 8px !important;
    background: var(--glass-icon-bg) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    box-shadow: none !important;
    padding: 0 !important;
    padding-left: 0 !important;
    transition: all var(--transition-fast) !important;
    flex-shrink: 0 !important;
}

.nav-link-icon svg,
.nav-link-icon .fas,
.nav-link-icon .far,
.nav-link-icon [data-feather] {
    width: 16px !important;
    height: 16px !important;
    color: var(--glass-icon-color) !important;
    transition: color var(--transition-fast) !important;
}

/* Icon hover */
.nav-link:hover .nav-link-icon {
    background: var(--glass-accent-bg) !important;
    border-color: rgba(96, 165, 250, 0.15) !important;
    box-shadow: none !important;
}

.nav-link:hover .nav-link-icon svg,
.nav-link:hover .nav-link-icon .fas,
.nav-link:hover .nav-link-icon .far,
.nav-link:hover .nav-link-icon [data-feather] {
    color: var(--glass-accent) !important;
}

/* Active/expanded icon */
.nav-item-wrapper > a.nav-link[aria-expanded="true"] .nav-link-icon {
    background: var(--glass-accent-bg) !important;
    border-color: rgba(96, 165, 250, 0.2) !important;
}

.nav-item-wrapper > a.nav-link[aria-expanded="true"] .nav-link-icon svg,
.nav-item-wrapper > a.nav-link[aria-expanded="true"] .nav-link-icon .fas,
.nav-item-wrapper > a.nav-link[aria-expanded="true"] .nav-link-icon .far {
    color: var(--glass-accent) !important;
}

/* --------------------------------------------------------------------------
   NAV TEXT
   -------------------------------------------------------------------------- */
.nav-link-text {
    font-size: 0.84rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em !important;
    color: inherit !important;
    vertical-align: middle !important;
}

.nav-item-wrapper > a.nav-link .nav-link-text {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
}

.nav-item-wrapper > a.nav-link[aria-expanded="true"] .nav-link-text {
    color: var(--glass-text-bright) !important;
}

/* --------------------------------------------------------------------------
   SUBMENU / CHILD ITEMS
   -------------------------------------------------------------------------- */
.parent-wrapper {
    background: transparent !important;
}

.parent-wrapper .nav {
    padding-left: 6px !important;
    border-left: 2px solid rgba(255, 255, 255, 0.08) !important;
    margin-left: 16px !important;
    border-top: none !important;
}

.parent-wrapper .nav-item > a.nav-link {
    background: transparent !important;
    color: var(--glass-text-dim) !important;
    font-weight: 500 !important;
    padding: 5px 8px !important;
    border-radius: 6px !important;
    margin: 1px 0 !important;
    font-size: 0.78rem !important;
    box-shadow: none !important;
}

.parent-wrapper .nav-item > a.nav-link:hover {
    background: var(--glass-bg-hover) !important;
    color: var(--glass-text-bright) !important;
}

.parent-wrapper .nav-item > a.nav-link.active {
    background: var(--glass-accent-bg) !important;
    color: var(--glass-accent) !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.collapse {
    border-top: none !important;
}

/* --------------------------------------------------------------------------
   DROPDOWN CARET
   -------------------------------------------------------------------------- */
.dropdown-indicator-icon {
    transition: transform var(--transition-fast) !important;
    color: var(--glass-text-dim) !important;
    opacity: 0.5;
}

.dropdown-indicator-icon span {
    color: inherit !important;
}

.nav-link[aria-expanded="true"] .dropdown-indicator-icon {
    opacity: 0.8;
    color: var(--glass-accent) !important;
}

.nav-link[aria-expanded="true"] .dropdown-indicator-icon span {
    color: var(--glass-accent) !important;
}

.nav-link:hover .dropdown-indicator-icon,
.nav-link:hover .dropdown-indicator-icon span {
    color: var(--glass-text) !important;
    opacity: 0.8;
}

/* --------------------------------------------------------------------------
   SIDEBAR EXTRAS
   -------------------------------------------------------------------------- */

/* Brand */
.navbar-vertical .navbar-brand,
.navbar-vertical .navbar-brand span {
    color: var(--glass-text-bright) !important;
}

/* Hamburger */
.navbar-vertical .navbar-toggle-icon .toggle-line {
    background-color: var(--glass-text-dim) !important;
}

/* Scrollbar inside sidebar */
.navbar-vertical .simplebar-scrollbar::before {
    background: rgba(255, 255, 255, 0.15) !important;
}

/* Labels */
.navbar-vertical .label-1 {
    color: var(--glass-text) !important;
}

/* Collapsed title */
.collapsed-nav-item-title {
    color: var(--glass-text-dim) !important;
    font-size: 0.7rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
}

/* Badge */
.navbar-vertical .badge {
    background: var(--glass-accent-bg) !important;
    color: var(--glass-accent) !important;
}

/* Sidebar link text override for all children */
.navbar-vertical .nav-link,
.navbar-vertical .nav-link span:not(.nav-link-icon):not(.fas):not(.far):not(.icon) {
    color: inherit !important;
}

/* --------------------------------------------------------------------------
   HEADER - Frosted Glass
   -------------------------------------------------------------------------- */
.navbar-top {
    background: var(--sidebar-bg) !important;
    border-bottom: 1px solid var(--sidebar-border) !important;
    box-shadow: 0 1px 16px rgba(0, 0, 0, 0.2) !important;
    padding-top: 0.35rem !important;
    padding-bottom: 0.35rem !important;
}

/* Header text */
.navbar-top,
.navbar-top .nav-link,
.navbar-top .navbar-brand,
.navbar-top .navbar-brand span,
.navbar-top .dropdown-toggle {
    color: #e2e8f0 !important;
    font-size: 0.9rem !important;
}

/* User name in header */
.navbar-top #navbarDropdownUser {
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    color: #0f172a !important;
}

/* Header action buttons */
.header-btn-outline {
    background: linear-gradient(135deg, #1e3a5f, #1e40af) !important;
    border: none !important;
    color: #fff !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    padding: 0.25rem 0.75rem !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.25) !important;
}
.header-btn-outline:hover {
    background: linear-gradient(135deg, #1d4ed8, #2563eb) !important;
    box-shadow: 0 4px 16px rgba(37, 99, 235, 0.4) !important;
    color: #fff !important;
    transform: translateY(-1px);
}
.header-btn-filled {
    background: linear-gradient(135deg, #2563eb, #3b82f6) !important;
    border: none !important;
    color: #fff !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    padding: 0.25rem 0.75rem !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.3) !important;
}
.header-btn-filled:hover {
    background: linear-gradient(135deg, #1d4ed8, #2563eb) !important;
    box-shadow: 0 4px 16px rgba(37, 99, 235, 0.5) !important;
    color: #fff !important;
    transform: translateY(-1px);
}
.header-btn-filled option {
    background: #2563eb !important;
    color: #ffffff !important;
}
select.header-btn-filled {
    appearance: auto !important;
}
select.header-btn-outline {
    appearance: auto !important;
    background: linear-gradient(135deg, #1e3a5f, #1e40af) !important;
    border: none !important;
    color: #fff !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    padding: 0.25rem 0.75rem !important;
}
select.header-btn-outline option {
    background: #1e3a5f !important;
    color: #ffffff !important;
}

/* Nav tab pages - navbar style */
.nav-underline {
    background: linear-gradient(135deg, #0f172a, #1e293b) !important;
    border-radius: 8px !important;
    padding: 6px 12px !important;
    min-width: max-content !important;
}
.nav-underline .nav-link {
    color: rgba(255, 255, 255, 0.6) !important;
    border-bottom: 2px solid transparent !important;
    font-weight: 600 !important;
}
.nav-underline .nav-link:hover {
    color: #fff !important;
    border-bottom-color: rgba(96, 165, 250, 0.4) !important;
}
.nav-underline .nav-link.active {
    color: #fff !important;
    border-bottom-color: #60a5fa !important;
    background: rgba(96, 165, 250, 0.15) !important;
    border-radius: 6px 6px 0 0 !important;
}

/* App name */
.navbar-top .navbar-brand .text-1000,
.navbar-top .navbar-brand span.text-1000 {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* Header icons */
.navbar-top .nav-link svg,
.navbar-top .nav-link .feather {
    color: #94a3b8 !important;
    stroke: #94a3b8 !important;
    height: 16px !important;
    width: 16px !important;
    transition: all var(--transition-fast) !important;
}

.navbar-top .nav-link:hover svg,
.navbar-top .nav-link:hover .feather {
    color: #60a5fa !important;
    stroke: #60a5fa !important;
}

.navbar-top .nav-link:hover {
    color: #60a5fa !important;
    background: rgba(96, 165, 250, 0.08) !important;
    border-radius: 6px !important;
}

/* Theme toggle */
.navbar-top .theme-control-toggle-label,
.navbar-top .theme-control-toggle-label span {
    color: #94a3b8 !important;
}

.navbar-top .theme-control-toggle-label:hover,
.navbar-top .theme-control-toggle-label:hover span {
    color: #60a5fa !important;
}

/* Hamburger lines */
.navbar-top .navbar-toggle-icon .toggle-line {
    background-color: #94a3b8 !important;
}

.navbar-top .navbar-toggler:hover .toggle-line {
    background-color: #e2e8f0 !important;
}

/* Header dropdowns - glass style */
.navbar-top .dropdown-menu {
    background: rgba(15, 23, 42, 0.85) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
    border: 1px solid var(--glass-border) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.3) !important;
}

.navbar-top .dropdown-menu .dropdown-item {
    color: var(--glass-text) !important;
    transition: all var(--transition-fast) !important;
    border-radius: 6px !important;
    margin: 2px 6px !important;
    padding: 8px 12px !important;
}

.navbar-top .dropdown-menu .dropdown-item:hover {
    background: var(--glass-bg-hover) !important;
    color: var(--glass-text-bright) !important;
}

.navbar-top .dropdown-menu .dropdown-divider {
    border-color: var(--glass-divider) !important;
}

/* Notification dropdown - glass */
.navbar-top .dropdown-menu .card {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.navbar-top .dropdown-menu .card-header {
    background: rgba(255, 255, 255, 0.04) !important;
    border-bottom: 1px solid var(--glass-divider) !important;
}

.navbar-top .dropdown-menu .card-header h5 {
    color: var(--glass-text-bright) !important;
}

.navbar-top .dropdown-menu .card-header .btn-link {
    color: var(--glass-accent) !important;
}

.navbar-top .notification-card {
    border-color: var(--glass-divider) !important;
}

.navbar-top .notification-card h4 {
    color: var(--glass-text-bright) !important;
}

.navbar-top .notification-card p {
    color: var(--glass-text-dim) !important;
}

.navbar-top .badge {
    background: #ef4444 !important;
    color: #fff !important;
}

/* --------------------------------------------------------------------------
   CONTENT AREA
   -------------------------------------------------------------------------- */
.content {
    background: var(--bg-subtle) !important;
    border-radius: 16px 0 0 0 !important;
    min-height: 100vh;
    padding-bottom: 0 !important;
}

/* --------------------------------------------------------------------------
   CARDS - Clean with subtle glass touch
   -------------------------------------------------------------------------- */
.card {
    border: 1px solid var(--card-border) !important;
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: var(--card-shadow) !important;
    padding: 6px !important;
    color: var(--text-primary) !important;
    font-weight: normal !important;
    transition: box-shadow var(--transition-normal), transform var(--transition-normal) !important;
    will-change: auto !important;
    overflow: hidden;
}

.card:hover {
    box-shadow: var(--card-shadow-hover) !important;
}

.card-header {
    background: rgba(248, 250, 252, 0.8) !important;
    color: var(--text-primary) !important;
    font-weight: 600 !important;
    border-bottom: 1px solid var(--card-border) !important;
    border-top-left-radius: var(--radius-md) !important;
    border-top-right-radius: var(--radius-md) !important;
    padding: 14px 20px !important;
}

.card-body {
    padding: 16px 20px;
}

/* --------------------------------------------------------------------------
   BUTTONS
   -------------------------------------------------------------------------- */
.btn {
    /*border-radius: var(--radius-sm) !important;*/
    font-weight: 500 !important;
    transition: all var(--transition-fast) !important;
    letter-spacing: 0.01em !important;
}

.btn-info {
    background: var(--accent-blue) !important;
    border-color: var(--accent-blue) !important;
    color: #ffffff !important;
    box-shadow: 0 1px 3px rgba(37, 99, 235, 0.25) !important;
}

.btn-info:hover {
    background: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
    box-shadow: 0 3px 8px rgba(37, 99, 235, 0.35) !important;
}

.btn-outline-info {
    color: var(--accent-blue) !important;
    border-color: var(--accent-blue) !important;
    background: transparent !important;
}

.btn-outline-info:hover {
    background: var(--accent-blue) !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   PAGINATION
   -------------------------------------------------------------------------- */
.paginate_button {
    display: inline-block !important;
    padding: 6px 12px !important;
    margin: 2px !important;
    border-radius: var(--radius-sm) !important;
    background: #f1f5f9 !important;
    color: var(--text-secondary) !important;
    font-weight: 500 !important;
    border: 1px solid transparent !important;
    cursor: pointer !important;
    transition: all var(--transition-fast) !important;
    text-decoration: none !important;
}

.paginate_button:hover {
    background: var(--accent-blue-light) !important;
    color: var(--accent-blue) !important;
}

.paginate_button.current {
    background: var(--accent-blue) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    border-color: var(--accent-blue) !important;
    box-shadow: 0 1px 4px rgba(37, 99, 235, 0.3) !important;
}

/* --------------------------------------------------------------------------
   TABLES
   -------------------------------------------------------------------------- */
/* table styles removed - using Phoenix defaults */

/* --------------------------------------------------------------------------
   FORMS
   -------------------------------------------------------------------------- */
.form-control,
.form-select {
    /*border-radius: var(--radius-sm) !important;
    border: 1px solid #d1d5db !important;*/
    /*padding: 1px 12px !important;*/
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast) !important;
    font-size: 0.875rem !important;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--accent-blue) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
    outline: none !important;
}

/* --------------------------------------------------------------------------
   BADGES
   -------------------------------------------------------------------------- */
.badge {
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    border-radius: 6px !important;
    padding: 4px 10px !important;
}

/* --------------------------------------------------------------------------
   SCROLLBAR
   -------------------------------------------------------------------------- */
::-webkit-scrollbar {
    width: 8px !important;
}

::-webkit-scrollbar-track {
    background: transparent !important;
}

::-webkit-scrollbar-thumb {
    background-color: #cbd5e1 !important;
    border-radius: 4px !important;
    border: 2px solid transparent !important;
    background-clip: content-box !important;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #94a3b8 !important;
}

/* --------------------------------------------------------------------------
   ALERTS
   -------------------------------------------------------------------------- */
.alert {
    border-radius: var(--radius-sm) !important;
    border: none !important;
    font-weight: 500 !important;
    padding: 12px 16px !important;
}

.alert-danger {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border-left: 4px solid #ef4444 !important;
}

/* --------------------------------------------------------------------------
   LOADING MODAL
   -------------------------------------------------------------------------- */
#loadingModal,
#loadingModalManual {
    background-color: rgba(15, 23, 42, 0.4) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
}

.loader {
    border: 4px solid rgba(255, 255, 255, 0.15) !important;
    border-top: 4px solid var(--glass-accent) !important;
    width: 48px !important;
    height: 48px !important;
}

/* --------------------------------------------------------------------------
   SELECT2
   -------------------------------------------------------------------------- */
.select2-container--default .select2-selection--single {
    border-radius: var(--radius-sm) !important;
    border: 1px solid #d1d5db !important;
    height: 38px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 36px !important;
}

.select2-dropdown {
    border-radius: var(--radius-sm) !important;
    border: 1px solid #d1d5db !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

/* --------------------------------------------------------------------------
   TOASTR
   -------------------------------------------------------------------------- */
#toast-container > div {
    border-radius: var(--radius-sm) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
    padding: 14px 20px !important;
    font-weight: 500 !important;
}

/* --------------------------------------------------------------------------
   BREADCRUMBS
   -------------------------------------------------------------------------- */
.breadcrumb {
    font-size: 0.82rem !important;
    color: var(--text-secondary) !important;
}

.breadcrumb a {
    color: var(--accent-blue) !important;
    text-decoration: none !important;
}

.breadcrumb a:hover {
    text-decoration: underline !important;
}

/* --------------------------------------------------------------------------
   AVATAR HOVER
   -------------------------------------------------------------------------- */
.rounded-circle {
    transition: transform 0.2s ease !important;
}

.rounded-circle:hover {
    transform: scale(1.8) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* --------------------------------------------------------------------------
   SEARCH
   -------------------------------------------------------------------------- */
.search-box .form-control {
    border-radius: 20px !important;
    padding-left: 36px !important;
    background: #f1f5f9 !important;
    border: 1px solid transparent !important;
}

.search-box .form-control:focus {
    background: #ffffff !important;
    border-color: var(--accent-blue) !important;
}

/* --------------------------------------------------------------------------
   DATATABLES
   -------------------------------------------------------------------------- */
.dataTables_wrapper {
    padding: 8px 0 !important;
}

.dataTables_wrapper .dataTables_filter input {
    border-radius: var(--radius-sm) !important;
    border: 1px solid #d1d5db !important;
    padding: 6px 12px !important;
}

.dataTables_wrapper .dataTables_length select {
    border-radius: var(--radius-sm) !important;
    border: 1px solid #d1d5db !important;
    padding: 4px 8px !important;
}

.dataTables_info {
    color: var(--text-secondary) !important;
    font-size: 0.82rem !important;
}

/* ===== User Dropdown Profile ===== */
.dropdown-profile,
.dropdown-profile.dropdown-menu,
.navbar-top .dropdown-profile {
    background: #fff !important;
    background-color: #fff !important;
    border-color: #e2e8f0 !important;
}
.dropdown-profile .card,
.dropdown-profile .card.position-relative {
    background: #fff !important;
    background-color: #fff !important;
}
.dropdown-profile .card-body {
    background: #fff !important;
}
.dropdown-profile .card h6,
.dropdown-profile .card .text-black,
.dropdown-profile .card .text-900,
.dropdown-profile .card .text-1000 {
    color: #1e293b !important;
}
.dropdown-profile .card .text-600,
.dropdown-profile .card .text-700 {
    color: #64748b !important;
}
.dropdown-profile .card .form-control {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
    color: #1e293b !important;
}
.dropdown-profile .card .form-control::placeholder {
    color: #94a3b8 !important;
}
.dropdown-profile .nav-link {
    color: #1e293b !important;
}
.dropdown-profile .nav-link span,
.dropdown-profile .nav-link svg {
    color: #1e293b !important;
    stroke: #1e293b !important;
}
.dropdown-profile .nav-link:hover {
    color: #2563eb !important;
    background: #f1f5f9 !important;
}
.dropdown-profile .nav-link:hover span,
.dropdown-profile .nav-link:hover svg {
    color: #2563eb !important;
    stroke: #2563eb !important;
}
.dropdown-profile .card-footer {
    border-color: #e2e8f0 !important;
    background: #fff !important;
}
.dropdown-profile .card-footer hr {
    border-color: #e2e8f0 !important;
}
.dropdown-profile .overflow-auto,
.dropdown-profile .scrollbar {
    background: #fff !important;
}
.dropdown-profile .card-footer .text-600,
.dropdown-profile .card-footer .text-600 a {
    color: #64748b !important;
}
.dropdown-profile .btn-phoenix-secondary {
    background: #f1f5f9 !important;
    border-color: #e2e8f0 !important;
    color: #1e293b !important;
}
.dropdown-profile .btn-phoenix-secondary svg {
    stroke: #1e293b !important;
}
.dropdown-profile .btn-phoenix-secondary:hover {
    background: #2563eb !important;
    border-color: #2563eb !important;
    color: #fff !important;
}
.dropdown-profile .btn-phoenix-secondary:hover svg {
    stroke: #fff !important;
}

/* --------------------------------------------------------------------------
   MOBILE RESPONSIVE - Sidebar overlay on small screens
   -------------------------------------------------------------------------- */
@media (max-width: 991.98px) {
    /* Reset our desktop customizations */
    .navbar-vertical-content {
        position: relative !important;
        top: 0 !important;
    }

    /* Sidebar hidden off-screen by default */
    .navbar-vertical,
    .navbar-vertical.navbar-expand-lg,
    .navbar-vertical-collapsed .navbar-vertical,
    .navbar-vertical-collapsed .navbar-vertical.navbar-expand-lg {
        position: fixed !important;
        top: 0 !important;
        left: -280px !important;
        width: 280px !important;
        min-width: 280px !important;
        max-width: 280px !important;
        height: 100vh !important;
        z-index: 1050 !important;
        transition: left 0.3s ease !important;
    }

    /* Slide in when open */
    .navbar-vertical.mobile-open,
    .navbar-vertical.navbar-expand-lg.mobile-open,
    .navbar-vertical.mobile-open .navbar-vertical,
    .navbar-vertical.mobile-open .navbar-vertical.navbar-expand-lg {
        left: 0 !important;
        background: #0f172a !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    /* Force only the main sidebar collapse visible, NOT sub-menu collapses */
    .navbar-vertical.mobile-open .navbar-collapse,
    .navbar-vertical.mobile-open #navbarVerticalCollapse {
        display: block !important;
        visibility: visible !important;
        height: auto !important;
        max-height: calc(100vh - 60px) !important;
        overflow-y: auto !important;
        opacity: 1 !important;
    }
    .navbar-vertical.mobile-open .navbar-vertical-content {
        overflow-y: auto !important;
        position: relative !important;
        top: 0 !important;
    }
    .navbar-vertical.mobile-open .nav-link-text,
    .navbar-vertical.mobile-open .dropdown-indicator-icon,
    .navbar-vertical.mobile-open .navbar-vertical-footer-text,
    .navbar-vertical.mobile-open .navbar-vertical-label {
        display: inline !important;
    }
    .navbar-vertical.mobile-open .parent-wrapper,
    .navbar-vertical.mobile-open .parent-wrapper.label-1 {
        display: block !important;
    }
    .navbar-vertical.mobile-open .navbar-nav {
        display: flex !important;
        flex-direction: column !important;
    }

    /* Backdrop */
    .mobile-menu-backdrop {
        display: none;
        position: fixed;
        top: 0; left: 0; right: 0; bottom: 0;
        background: rgba(0,0,0,0.5);
        z-index: 1040;
    }
    .mobile-menu-backdrop.show {
        display: block;
    }

    /* Content no left margin but keep padding */
    .content {
        margin-left: 0 !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    /* Top navbar mobile: hide action buttons, show user */
    #headerActionButtons {
        display: none !important;
    }
    #topNavSlim {
        background: #0f172a !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        padding: 0 0.5rem !important;
    }
    #topNavSlim,
    #topNavSlim .nav-link,
    #topNavSlim #navbarDropdownUser {
        color: rgba(255, 255, 255, 0.85) !important;
    }
    .mobile-menu-toggle {
        background: transparent !important;
        border: none !important;
    }
    /* Hide all nav icons except user dropdown on mobile */
    .navbar-nav-icons > .nav-item:not(:last-child) {
        display: none !important;
    }
    /* Ensure user dropdown is visible and not cut off */
    .navbar-nav.navbar-nav-icons {
        flex-shrink: 0 !important;
        flex-wrap: nowrap !important;
    }
    #navbarDropdownUser {
        max-width: 200px;
        font-size: 0.8rem !important;
        display: flex !important;
        align-items: center !important;
    }
    #navbarDropdownUser .user-name-text {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        flex: 1;
    }
    #navbarDropdownUser .fa-user-circle {
        flex-shrink: 0;
    }
}
