/* ========================================
   Prevent content shift when scrollbar appears
   ======================================== */
html {
    scrollbar-gutter: stable;
}

/* ========================================
   Corporate Identity – Bleu Nuit sidebar & top bar
   ======================================== */
:root {
    --sidebar-bg: #1F1F2E;
    --sidebar-border-color: #171724;
    --sidebar-logo-color: #E0E0E0;
    --sidebar-menu-color: #E0E0E0;
    --sidebar-menu-icon-color: #00CFC1;
    --sidebar-menu-header-color: rgba(224, 224, 224, 0.55);
    --sidebar-menu-submenu-color: rgba(224, 224, 224, 0.80);
    --sidebar-menu-active-item-bg: rgba(160, 240, 208, 0.12);
    --sidebar-menu-active-item-color: #A0F0D0;
    --sidebar-menu-badge-bg: rgba(0, 207, 193, 0.18);
    --sidebar-menu-badge-color: #00CFC1;
    --responsive-header-bg: #1F1F2E;
    --responsive-header-border-color: #17172a;
    --responsive-header-logo-color: #E0E0E0;
    --content-top-border-color: #17172a;
    --user-avatar-icon-bg: rgba(224, 224, 224, 0.15);
    --user-avatar-icon-color: #E0E0E0;
    --user-name-color: #E0E0E0;
}

.ea-dark-scheme {
    --sidebar-bg: #1F1F2E;
    --sidebar-border-color: #17172a;
    --sidebar-logo-color: #E0E0E0;
    --sidebar-menu-color: #E0E0E0;
    --sidebar-menu-icon-color: #00CFC1;
    --sidebar-menu-header-color: rgba(224, 224, 224, 0.55);
    --sidebar-menu-submenu-color: rgba(224, 224, 224, 0.80);
    --sidebar-menu-active-item-bg: rgba(160, 240, 208, 0.12);
    --sidebar-menu-active-item-color: #A0F0D0;
    --responsive-header-bg: #1F1F2E;
    --responsive-header-border-color: #17172a;
    --responsive-header-logo-color: #E0E0E0;
    --content-top-border-color: #17172a;
}

/* Top bar: force bleu nuit background + palette text */
.content-top {
    background-color: #1F1F2E !important;
}

.content-top .content-search input[type="search"],
.content-top .content-search .content-search-icon {
    color: #E0E0E0;
}

.content-top .content-search input[type="search"]::placeholder {
    color: rgba(224, 224, 224, 0.50);
}

.content-top .navbar-custom-menu .user-name {
    color: #E0E0E0 !important;
}

.content-top .navbar-custom-menu .user-avatar {
    color: #E0E0E0;
}

/* ========================================
   EasyAdmin Dark Mode Support for Dropdowns
   ======================================== */

/* Fix for select/dropdown fields in dark mode */
[data-bs-theme="dark"] select.form-control,
[data-bs-theme="dark"] select.form-select {
    background-color: var(--bs-dark-bg-subtle);
    color: var(--bs-light);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] select.form-control option,
[data-bs-theme="dark"] select.form-select option {
    background-color: var(--bs-dark-bg-subtle);
    color: var(--bs-light);
}

/* Light mode - ensure good contrast */
[data-bs-theme="light"] select.form-control,
[data-bs-theme="light"] select.form-select {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    border-color: var(--bs-border-color);
}

[data-bs-theme="light"] select.form-control option,
[data-bs-theme="light"] select.form-select option {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
}

/* Tom-select (autocomplete) dropdown support for dark mode */
[data-bs-theme="dark"] .ts-wrapper .ts-dropdown {
    background-color: var(--bs-dark-bg-subtle);
    color: var(--bs-light);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .ts-wrapper .ts-dropdown .option {
    background-color: var(--bs-dark-bg-subtle);
    color: var(--bs-light);
}

[data-bs-theme="dark"] .ts-wrapper .ts-dropdown .option.active,
[data-bs-theme="dark"] .ts-wrapper .ts-dropdown .option:hover {
    background-color: var(--bs-primary);
    color: var(--bs-light);
}

[data-bs-theme="dark"] .ts-wrapper .ts-control {
    background-color: var(--bs-dark-bg-subtle);
    color: var(--bs-light);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .ts-wrapper .ts-control input {
    color: var(--bs-light);
}

[data-bs-theme="dark"] .ts-wrapper .item {
    background-color: var(--bs-secondary);
    color: var(--bs-light);
}

/* Light mode tom-select */
[data-bs-theme="light"] .ts-wrapper .ts-dropdown {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    border-color: var(--bs-border-color);
}

[data-bs-theme="light"] .ts-wrapper .ts-dropdown .option {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
}

[data-bs-theme="light"] .ts-wrapper .ts-dropdown .option.active,
[data-bs-theme="light"] .ts-wrapper .ts-dropdown .option:hover {
    background-color: var(--bs-primary);
    color: white;
}

[data-bs-theme="light"] .ts-wrapper .ts-control {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    border-color: var(--bs-border-color);
}

[data-bs-theme="light"] .ts-wrapper .ts-control input {
    color: var(--bs-body-color);
}

/* EasyAdmin specific select2 support (if used) */
[data-bs-theme="dark"] .select2-container--default .select2-selection--single {
    background-color: var(--bs-dark-bg-subtle);
    color: var(--bs-light);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--bs-light);
}

[data-bs-theme="dark"] .select2-dropdown {
    background-color: var(--bs-dark-bg-subtle);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .select2-results__option {
    background-color: var(--bs-dark-bg-subtle);
    color: var(--bs-light);
}

[data-bs-theme="dark"] .select2-results__option--highlighted {
    background-color: var(--bs-primary) !important;
    color: var(--bs-light) !important;
}

/* Ensure consistent styling for all form controls in dark mode */
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
    background-color: var(--bs-dark-bg-subtle);
    color: var(--bs-light);
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

/* EasyAdmin field groups in dark mode */
[data-bs-theme="dark"] .field-group {
    background-color: var(--bs-dark-bg-subtle);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .field-group legend {
    color: var(--bs-light);
}

/* ========================================
   Confirm modal header – force black text on warning bg
   ======================================== */
#adminConfirmModal .modal-header.bg-warning,
#adminConfirmModal .modal-header.bg-warning .modal-title,
#adminConfirmModal .modal-header.bg-warning i {
    color: #000 !important;
}

/* ========================================
   EasyAdmin table: horizontal scroll + compact headers
   ======================================== */
.content .datagrid {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Allow column headers to wrap so labels stay compact */
.datagrid thead th {
    white-space: normal;
    word-break: break-word;
    min-width: 4rem;
}

/* ========================================
   Action dropdown icon alignment
   ======================================== */
.dropdown-menu .dropdown-item span.icon {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-inline-size: 1.25em;
    inline-size: 1.25em;
    flex-shrink: 0;
    text-align: center;
}

/* Neutralize .btn class effects inside dropdown menus */
.dropdown-menu .dropdown-item.btn {
    gap: 0;
    justify-content: flex-start;
    min-inline-size: unset;
    font-weight: normal;
}

/* ========================================
   Action context groups (Order dropdown)
   ======================================== */
.dropdown-menu .dropdown-item.action-group-start {
    border-top: 1px solid var(--bs-border-color);
    margin-top: 0.25rem;
    padding-top: 0.5rem;
}

.dropdown-menu .dropdown-item.action-group-start:first-child {
    border-top: none;
    margin-top: 0;
    padding-top: 0.25rem;
}

.dropdown-menu .dropdown-item.action-sub {
    padding-left: 2rem;
    font-size: 0.9em;
}