/* Custom styles for sidebar */
.sidebar,
.topbar {
    background-color: #ffffff !important;
    color: #2f3f64 !important;
}

.sidebar .navbar-brand .glpi-logo {
    background: url("../pics/logos/logo-GLPI-250-white.png") no-repeat !important;
    background-size: contain !important;
    width: 100px !important;
    height: 55px !important;
}

body.navbar-collapsed .sidebar .navbar-brand .glpi-logo {
    background: url("../pics/logos/logo-G-100-white.png") no-repeat !important;
    background-size: contain !important;
    width: 40px !important;
    height: 40px !important;
}

/* Ensure text is visible on white background */
.sidebar .nav-link {
    color: #2f3f64 !important;
}

.sidebar .nav-link:hover {
    color: #1a7ab2 !important;
}

.sidebar .nav-link.active {
    color: #1a7ab2 !important;
}

/* Override any existing sidebar background colors */
.sidebar {
    background-color: #ffffff !important;
}

.sidebar .navbar-brand {
    background-color: #ffffff !important;
}

/* Make all text in sidebar dark and visible */
.sidebar * {
    color: #2f3f64 !important;
}

.sidebar .nav-link,
.sidebar .dropdown-item,
.sidebar .dropdown-header,
.sidebar .menu-label,
.sidebar .nav-item,
.sidebar .navbar-nav,
.sidebar .navbar-brand,
.sidebar .btn,
.sidebar .form-control,
.sidebar input,
.sidebar select,
.sidebar textarea {
    color: #2f3f64 !important;
}

/* Ensure icons are also visible */
.sidebar i,
.sidebar .fas,
.sidebar .fa,
.sidebar .ti {
    color: #2f3f64 !important;
}

/* Hover states */
.sidebar .nav-link:hover,
.sidebar .dropdown-item:hover {
    color: #1a7ab2 !important;
}

.sidebar .nav-link:hover i,
.sidebar .dropdown-item:hover i {
    color: #1a7ab2 !important;
}

/* Active states */
.sidebar .nav-link.active,
.sidebar .dropdown-item.active {
    color: #1a7ab2 !important;
    font-weight: bold !important;
}

.sidebar .nav-link.active i,
.sidebar .dropdown-item.active i {
    color: #1a7ab2 !important;
}

/* Horizontal layout: apply sidebar look to the topbar only in horizontal mode */
.horizontal-layout .topbar {
    background-color: #ffffff !important;
    color: #2f3f64 !important;
}

.horizontal-layout .topbar .navbar-brand {
    background-color: #ffffff !important;
}

.horizontal-layout .topbar .navbar-brand .glpi-logo {
    background-size: contain !important;
    width: 100px !important;
    height: 55px !important;
}

.horizontal-layout .topbar *,
.horizontal-layout .topbar .nav-link,
.horizontal-layout .topbar .dropdown-item,
.horizontal-layout .topbar .dropdown-header,
.horizontal-layout .topbar .menu-label,
.horizontal-layout .topbar .nav-item,
.horizontal-layout .topbar .navbar-nav,
.horizontal-layout .topbar .navbar-brand,
.horizontal-layout .topbar .btn,
.horizontal-layout .topbar .form-control,
.horizontal-layout .topbar input,
.horizontal-layout .topbar select,
.horizontal-layout .topbar textarea {
    color: #2f3f64 !important;
}

.horizontal-layout .topbar i,
.horizontal-layout .topbar .fas,
.horizontal-layout .topbar .fa,
.horizontal-layout .topbar .ti {
    color: #2f3f64 !important;
}

.horizontal-layout .topbar .nav-link:hover,
.horizontal-layout .topbar .dropdown-item:hover {
    color: #1a7ab2 !important;
}

.horizontal-layout .topbar .nav-link:hover i,
.horizontal-layout .topbar .dropdown-item:hover i {
    color: #1a7ab2 !important;
}

.horizontal-layout .topbar .nav-link.active,
.horizontal-layout .topbar .dropdown-item.active {
    color: #1a7ab2 !important;
    font-weight: bold !important;
}

.horizontal-layout .topbar .nav-link.active i,
.horizontal-layout .topbar .dropdown-item.active i {
    color: #1a7ab2 !important;
}

/* Horizontal layout: style shortcut keys (e.g., Ctrl + Alt + E) */
.horizontal-layout .dropdown-menu kbd,
.horizontal-layout .modal kbd {
    background-color: #000000 !important;
    color: #ffffff !important;
}

/* Horizontal layout: ensure "Choisir une entité" search field is white */
.horizontal-layout .dropdown-menu .form-control,
.horizontal-layout .dropdown-menu input[type="text"],
.horizontal-layout .dropdown-menu select,
.horizontal-layout .dropdown-menu textarea {
    background-color: #ffffff !important;
    color: #2f3f64 !important;
    border-color: #e6e9ef !important;
}

.horizontal-layout .dropdown-menu .form-control::placeholder {
    color: #98a1b3 !important;
}

/* (removed) customlogin-like backgrounds */
/* Default GLPI login background with Revival image and opacity */
.welcome-anonymous .default-login-bg {
    position: relative;
}

.welcome-anonymous .default-login-bg::before {
    content: '';
    position: fixed;
    inset: 0;
    background: url('../pics/revivaltc.jpg') no-repeat center/cover,
                url('../pics/revivaltc.png') no-repeat center/cover,
                linear-gradient(180deg, rgba(0,0,0,0.04), rgba(0,0,0,0.04));
    opacity: 1;
    pointer-events: none;
    z-index: 0;
}

/* Dark vignette overlay over the background to improve login readability */
.welcome-anonymous .default-login-bg::after {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background: radial-gradient(
        circle at 50% 45%,
        rgba(0, 0, 0, 0.32) 0%,
        rgba(0, 0, 0, 0.28) 35%,
        rgba(0, 0, 0, 0.20) 60%,
        rgba(0, 0, 0, 0.10) 80%,
        rgba(0, 0, 0, 0.00) 100%
    );
}

.welcome-anonymous .page-anonymous,
.welcome-anonymous .page-anonymous .card {
    position: relative;
    z-index: 1;
}

/* Ensure footer is clearly visible on login background */
.welcome-anonymous .text-muted {
    color: rgba(255, 255, 255, 0.92) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
    opacity: 1 !important;
}

.welcome-anonymous .text-muted a {
    color: #ffffff !important;
    text-decoration: underline;
}

/* Ensure footer block sits above background layers */
.welcome-anonymous .text-center.text-muted.mt-3,
.welcome-anonymous .text-center.text-muted {
    position: relative;
    z-index: 1;
    display: block !important;
    visibility: visible !important;
}

/* Reduce and center login form width */
.welcome-anonymous .card.card-md {
    max-width: 26rem;
    margin-left: auto;
    margin-right: auto;
}

/* Center the login header text */
.welcome-anonymous .page-anonymous .card.card-md .card-header h2 {
    text-align: center !important;
    font-size: 1.375rem !important; /* ~22px */
    line-height: 1.3 !important;
    font-weight: 600 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

/* Vertically center header content within its container */
.welcome-anonymous .page-anonymous .card.card-md .card-header {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 3.25rem !important;
}

/* Login form outlines/borders in brand blue */
:root {
    --revival-blue: #1a7ab2; /* same blue as logo/button */
}

.welcome-anonymous .card.card-md .form-control,
.welcome-anonymous .card.card-md .form-select {
    border-color: rgba(26, 122, 178, 0.55);
}

.welcome-anonymous .card.card-md .form-control:focus,
.welcome-anonymous .card.card-md .form-select:focus {
    border-color: var(--revival-blue) !important;
    box-shadow: 0 0 0 0.2rem rgba(26, 122, 178, 0.25) !important;
}

.welcome-anonymous .card.card-md .btn-primary,
.welcome-anonymous .card.card-md .btn-primary:focus,
.welcome-anonymous .card.card-md .btn-primary:active {
    background-color: var(--revival-blue) !important;
    border-color: var(--revival-blue) !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Remove outline on hover/active, keep brand blue background */
.welcome-anonymous .card.card-md .btn-primary:hover,
.welcome-anonymous .card.card-md .btn-primary:active:focus {
    background-color: var(--revival-blue) !important;
    border-color: var(--revival-blue) !important;
    outline: none !important;
    box-shadow: none !important;
}

.welcome-anonymous .card.card-md .form-check-input:checked {
    background-color: var(--revival-blue) !important;
    border-color: var(--revival-blue) !important;
}

.welcome-anonymous .card.card-md .form-check-input:focus {
    border-color: var(--revival-blue) !important;
    box-shadow: 0 0 0 0.2rem rgba(26, 122, 178, 0.25) !important;
}

/* Emphasize focus ring for login source (connexion source) */
.welcome-anonymous .card.card-md select.form-select:focus,
.welcome-anonymous .card.card-md #dropdown_auth:focus,
.welcome-anonymous .card.card-md [id^="dropdown_auth"]:focus {
    border-color: var(--revival-blue) !important;
    box-shadow: 0 0 0 0.25rem rgba(26, 122, 178, 0.30) !important;
    outline: none !important;
}

/* Selected option color (native select when supported) */
.welcome-anonymous .card.card-md select.form-select option:checked {
    background-color: var(--revival-blue) !important;
    color: #ffffff !important;
}

/* Select2: focus ring and selected/highlighted options */
.welcome-anonymous .select2-container--default .select2-selection--single,
.welcome-anonymous .select2-container--default .select2-selection--multiple {
    border-color: rgba(26, 122, 178, 0.55);
}

.welcome-anonymous .select2-container--default .select2-selection--single:focus,
.welcome-anonymous .select2-container--default .select2-selection--multiple:focus,
.welcome-anonymous .select2-container--default.select2-container--focus .select2-selection--single,
.welcome-anonymous .select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: var(--revival-blue) !important;
    box-shadow: 0 0 0 0.25rem rgba(26, 122, 178, 0.30) !important;
    outline: none !important;
}

.welcome-anonymous .select2-container--default .select2-results__option--selected {
    background-color: var(--revival-blue) !important;
    color: #ffffff !important;
}

.welcome-anonymous .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #176c9d !important; /* slightly darker */
    color: #ffffff !important;
}

/* Reconnect modal: blue left bar */
.welcome-anonymous .modal .modal-content {
    border-left: 4px solid var(--revival-blue) !important;
}

/* Keep inputs and texts at full size inside the narrower card */
.welcome-anonymous .card.card-md .form-control,
.welcome-anonymous .card.card-md .btn,
.welcome-anonymous .card.card-md .form-label,
.welcome-anonymous .card.card-md h1,
.welcome-anonymous .card.card-md h2,
.welcome-anonymous .card.card-md h3,
.welcome-anonymous .card.card-md p {
    width: 100% !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
}

.welcome-anonymous .card.card-md .btn {
    white-space: nowrap;
}

/* Force desktop column to full width so inputs/text span 100% */
.welcome-anonymous .card.card-md .col-md-5 {
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

/* Login: make the login card background transparent to reveal main BG */
.welcome-anonymous .card.card-md,
.welcome-anonymous .card.card-md .card-body,
.welcome-anonymous .card.card-md .card-header {
    background-color: rgba(255, 255, 255, 0.2) !important;
    backdrop-filter: saturate(115%) blur(1px);
}

