:root {
    --bs-body-bg: #f6f7fb;
    --bs-body-color: #4C5261;
    --bs-link-color-rgb:#006ABD;
    --bs-link-hover-color-rgb: #006ABDD8;


}

a {
    color: var(--bs-link-color-rgb);
}
/* SaftyScan global theme overrides (OneUI 5.12 base) */
/*body { background-color: #f6f7fb;color:#4C5261 }*/

.block { border-radius: 12px; box-shadow: 0 8px 24px rgba(24, 39, 75, 0.08); }
.block-header { border-bottom: 1px solid #eef1f7; }
.block-title { font-weight: 700; }

.table-dashboard td,
.table-dashboard th { padding: 0.9rem 0.75rem; vertical-align: middle; }
.table-dashboard thead { background: #f8f9fb; }
.table-dashboard tbody tr { border-bottom: 1px solid #f1f3f7; }
.badge-risky { min-width:100px;text-align: center;
}
.search-dashboard .form-control { min-width: 220px; }

.text-black { color: var(--bs-body-color); }
.pill { border-radius: 999px; padding: 0.25rem 0.9rem; font-weight: 700; font-size: 0.9rem; display: inline-block; }
.pill-circle { width:2rem;height:2rem;text-align: center;padding: 0;    line-height: 2rem;}
.pill-ok { background: var(--bs-success); color: #fff; }
.pill-ko { background: var(--bs-danger); color: #fff; }
.pill-done { background: var(--bs-success);; color: #fff; }
.pill-pending { background: var(--bs-warning); color: #fff; }
.risk-icon {
    font-size:1rem;
    margin-right:6px;
    vertical-align: middle;
}
.risk-low {
    color: var(--bs-success);
}
.risk-medium {
    color: var(--bs-warning);
}
.risk-high {
    color: var(--bs-danger);
}

.pill-risk-low { background: var(--bs-success); color: #fff; }
.pill-risk-med { background: var(--bs-warning); color: #fff; }
.pill-risk-high { background: var(--bs-danger); color: #fff; }
.pill-risk-na { background: var(--bs-gray-600); color: #fff; }
.pill-risk-retry { background: var(--bs-primary); color: #fff; }

.badge-link { color: #6c757d; }
.badge-link:hover { color: #0b6cf4; }

.table-actions .btn-link { padding: 0; }

.page-bg-light { background: #f6f7fb; }

/** Toggle Input Switch **/
.form-switch .form-check-input { width: 2.5em; height: 1.5em; border-radius: 1.5em; }
.form-switch .form-check-input:checked { background-color: #4CAF50; border-color: #4CAF50; }
.form-switch .form-check-input:focus { box-shadow: 0 0 0 0.1rem rgba(76, 175, 80, 0.25); }
.form-check-input {
    --bs-form-check-bg: #B0BEC5;
}


/* Sidebar light palette (maquette) */
/*html:not(.dark) #page-container.sidebar-dark #sidebar .content-side { background-color: #fff; }*/
/*html:not(.dark) #page-container.sidebar-dark #sidebar .content-header { background-color: #fff; border-bottom: 1px solid #e5e7eb; }*/
/*html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-heading { color: #6b7280; padding-top: 1rem; padding-bottom: 0.35rem; font-size: 0.78rem; }*/
/*html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-link { color: #1f2937; margin: 0.1rem 0.5rem; padding: 0.55rem 1rem; border-radius: 10px; }*/
/*html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-link > .nav-main-link-icon { color: #6b7280; }*/
/*html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-link:hover,*/
/*html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-link:focus { color: #0b1f33; background-color: #f0f4ff; }*/
/*html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-link:hover > .nav-main-link-icon,*/
/*html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-link:focus > .nav-main-link-icon { color: #0b6cf4; }*/
/*html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-link.active { color: #0b6cf4; background-color: #e6efff; font-weight: 600; box-shadow: inset 3px 0 0 #0b6cf4; }*/
/*html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-link.active > .nav-main-link-icon { color: #0b6cf4; }*/
/*html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-submenu { background-color: #f8fafc; }*/
/*html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-submenu .nav-main-link { color: #374151; }*/
/*html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-submenu .nav-main-link:hover,*/
/*html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-submenu .nav-main-link:focus,*/
/*html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-submenu .nav-main-link.active { color: #0b6cf4; background-color: #e6efff; }*/

/* Sidebar light palette (maquette) */
html:not(.dark) #page-container.sidebar-dark #sidebar { background-color: #fff; color: var(--bs-body-color); border-right: 1px solid #e5e7eb; }
html:not(.dark) #page-container.sidebar-dark #sidebar .content-side { background-color: #fff; }
html:not(.dark) #page-container.sidebar-dark #sidebar .content-header { background-color: #fff; border-bottom: 1px solid #e5e7eb; }
html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-heading { color: var(--bs-body-color); padding-top: 1rem; padding-bottom: 0.35rem; font-size: 0.78rem; }
html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-link { color: var(--bs-body-color); margin: 0.1rem 0.5rem; padding: 0.55rem 1rem; border-radius: 10px; font-weight: 500; }
html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-link > .nav-main-link-icon { color: var(--bs-body-color); }
html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-link:hover,
html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-link:focus { color: var(--bs-body-color); background-color: #e5e7eb; }
html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-link:hover > .nav-main-link-icon,
html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-link:focus > .nav-main-link-icon { color: var(--bs-body-color); }
html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-link.active { color: var(--bs-body-color); background-color: transparent; font-weight: 700; box-shadow: none; }
html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-link.active > .nav-main-link-icon { color: var(--bs-body-color); }
html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-submenu { background-color: transparent; }
html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-submenu .nav-main-link { color: var(--bs-body-color); }
html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-submenu .nav-main-link:hover,
html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-submenu .nav-main-link:focus,
html:not(.dark) #page-container.sidebar-dark #sidebar .nav-main-submenu .nav-main-link.active { color: var(--bs-body-color); background-color: #e5e7eb; font-weight: 700; }

/* Auth pages shared styles (login/forgot/reset) */
.auth-page { padding: 1rem 0 0; }
.auth-card { background: #fff; border-radius: 16px; box-shadow: 0 10px 30px rgba(24, 39, 75, 0.08); overflow: hidden; }
.auth-card-body { padding: 2rem 1.75rem; }
@media (min-width: 768px) { .auth-card-body { padding: 3rem 3rem; } }
.auth-title { color: #0b1f33; font-weight: 700; font-size: 1.05rem; margin-bottom: 1rem; }
.auth-logo { height: 52px; }
.auth-eyebrow { color: #7d879c; letter-spacing: 0.08em; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; }
.auth-input .form-control { background: #f4f5f9; border: 1px solid #e6e8ee; border-radius: 10px; height: 50px; }
.auth-input .form-control:focus { box-shadow: 0 0 0 0.1rem rgba(11, 108, 244, 0.12); border-color: #0b6cf4; }
.auth-btn { background-color: #0b6cf4; border-color: #0b6cf4; color:#ffffff;padding: 0.75rem; border-radius: 10px; letter-spacing: 0.02em; }
.auth-btn:hover,.auth-btn:focus,.auth-btn:active,.auth-btn:first-child:active { background-color: #0958c5; color:#ffffff;border-color: #0958c5; }
.auth-link { color: #0b1f33; font-weight: 600; text-decoration: underline; }
.auth-link:hover { color: #0958c5; }

/* Reset password page (maquette) */
.hero-static.bg-body-extra-light { background-color: #f3f5fb; }
.auth-reset-page { padding: 1rem 0 0; }
.auth-reset-eyebrow { color: #7d879c; letter-spacing: 0.08em; font-size: 0.78rem; font-weight: 700; }
.auth-reset-card { background: #fff; border-radius: 16px; box-shadow: 0 10px 30px rgba(24, 39, 75, 0.08); overflow: hidden; }
.auth-reset-card-body { padding: 2rem 1.75rem; }
@media (min-width: 768px) { .auth-reset-card-body { padding: 3rem 3rem; } }
.auth-reset-logo { height: 52px; }
.auth-reset-welcome { font-size: 1.05rem; color: #0b1f33; }
.auth-reset-desc { color: #6b7280; }
.auth-reset-input .form-control { background: #f4f5f9; border: 1px solid #e6e8ee; border-radius: 10px; height: 50px; }
.auth-reset-input .form-control:focus { box-shadow: 0 0 0 0.1rem rgba(11, 108, 244, 0.12); border-color: #0b6cf4; }
.auth-reset-btn { background-color: #0b6cf4; border-color: #0b6cf4; padding: 0.75rem; border-radius: 10px; letter-spacing: 0.02em; }
.auth-reset-btn:hover { background-color: #0958c5; border-color: #0958c5; }
.auth-password-rules { margin: 1.25rem auto 0; max-width: 340px; color: #6b7280; }
.auth-password-rules li { display: flex; align-items: flex-start; gap: 0.65rem; padding: 0.25rem 0; }
.auth-password-rules .fa-check-circle { color: #cbd1dd; font-size: 1rem; margin-top: 0.2rem; }
.auth-password-rules li.is-valid { color: #21b26f; font-weight: 600; }
.auth-password-rules li.is-valid .fa-check-circle { color: #21b26f; }

/* Bouton submit désactivé quand mot de passe invalide */
button[type="submit"]:disabled {
    cursor: not-allowed !important;
    opacity: 0.5 !important;
    pointer-events: none;
}

button[type="submit"]:disabled:hover {
    transform: none !important;
}


/* Dashboard stat cards */
.dashboard-stat-card { padding: 0; overflow: hidden; background: #fff; border-radius: 12px; }
.dashboard-stat-header { padding: 18px 20px 10px 20px;margin-bottom:1rem; }
.dashboard-stat-title { color: var(--bs-body-color); font-size: 28px; font-weight: 700; line-height: 1.2; }
.dashboard-stat-subtitle { color: #6a6f78; font-size: 18px; font-weight: 400; line-height: 1.2; }
.dashboard-stat-icon { background: #F6F7F9; width: 52px; height: 52px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; color: #0a6fdc; }
.dashboard-stat-footer { padding: 14px 16px; background: #F6F7F9; border-top: 1px solid #eef1f5; border-radius: 0 0 12px 12px; }
.dashboard-stat-link { color: #0a6fdc; font-size: 0.95rem; font-weight: 500; text-decoration: none; }
.dashboard-stat-link:hover { color: #095cbb; text-decoration: none; }
.dashboard-stat-arrow { width: 30px; height: 30px; background: #BABEC4; color: #ffffff; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }


.table {
    --bs-table-bg: #ffffff;
}

.badge-risk { color: #fff; font-weight: 700; display: inline-flex; align-items: center; gap: 6px; padding: 0.35rem 0.9rem; border-radius: 999px; line-height: 1; }
.badge-risk-low { background: #21b26f; }
.badge-risk-medium { background: #f5a524; }
.badge-risk-high { background: #e53935; }

/* Header compact controls */
.header-compact-btn { display: inline-flex; align-items: center; gap: 0.35rem; height: 32px; padding: 0 0.65rem; font-size: 0.9rem; line-height: 1; }
.header-compact-btn .fa, .header-compact-btn .si { font-size: 0.95rem; line-height: 1; }
.header-compact-btn.dropdown-toggle::after { margin-left: 0.25rem; vertical-align: middle; }

/* Locale Switcher - Flag Icons (SVG) */
.flag-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.flag-icon {
    width: 20px;
    height: auto;
    border-radius: 2px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    vertical-align: middle;
    display: block;
}

.dropdown-item .flag-icon {
    width: 18px;
}

/* Amélioration du dropdown de langue */
#locale-dropdown {
    min-width: 120px;
}

.dropdown-menu .dropdown-item {
    padding: 0.5rem 1rem;
}

.dropdown-menu .dropdown-item:hover .flag-icon {
    transform: scale(1.05);
    transition: transform 0.15s ease;
}
