/*
 * DSK GROUPE - Thème aux couleurs du logo
 * Bleu royal #2C5EB8 | Teal #2B8C80 | Blanc #FFFFFF | Gris #F5F5F5, #E0E0E0
 */

:root {
    --dsk-primary: #2C5EB8;
    --dsk-primary-dark: #234a8f;
    --dsk-teal: #2B8C80;
    --dsk-teal-dark: #216d63;
    --dsk-white: #FFFFFF;
    --dsk-bg: #F5F5F5;
    --dsk-border: #E0E0E0;
    --dsk-sidebar: #253555;
}

/* Preloader */
.preloader.themed-background {
    background-color: var(--dsk-primary) !important;
}

/* Page & content */
#page-container,
#sidebar,
#sidebar-alt {
    background-color: var(--dsk-sidebar) !important;
}

body {
    color: #394263;
    background-color: #222222;
}

#page-content {
    background-color: var(--dsk-bg) !important;
}

.content-header {
    background-color: var(--dsk-white) !important;
    border-top-color: var(--dsk-border) !important;
}

.content-header h1 {
    color: var(--dsk-primary) !important;
}

/* Themed utilities (override template theme) */
.themed-color,
.themed-color-default {
    color: var(--dsk-primary) !important;
}

.themed-border,
.themed-border-default {
    border-color: var(--dsk-primary) !important;
}

.themed-background,
.themed-background-default {
    background-color: var(--dsk-primary) !important;
}

.themed-background-success {
    background-color: var(--dsk-teal) !important;
}

/* Sidebar - Typographie et icônes */
#sidebar,
#sidebar .sidebar-content {
    font-family: 'Segoe UI', 'Roboto', 'Open Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

.sidebar-brand,
.sidebar-brand .sidebar-brand-text {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-brand img {
    max-height: 36px;
    width: auto;
    vertical-align: middle;
}

a.sidebar-brand:hover,
a.sidebar-brand:focus,
a.sidebar-title:hover,
a.sidebar-title:focus {
    background-color: var(--dsk-primary) !important;
    color: var(--dsk-white) !important;
}

/* Navigation principale - libellé toujours sur une seule ligne (sans retour à la ligne) */
.sidebar-nav > li > a,
.sidebar-nav ul a {
    display: flex;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
}
.sidebar-nav > li > a .sidebar-nav-mini-hide,
.sidebar-nav a .sidebar-nav-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sidebar-nav ul a .sidebar-nav-sub-icon {
    flex-shrink: 0;
}
.sidebar-nav > li > a {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.01em;
    min-height: 42px;
    line-height: 42px;
    padding: 0 14px;
}

.sidebar-nav a > .sidebar-nav-icon,
.sidebar-nav a > .sidebar-nav-indicator {
    flex-shrink: 0;
}
.sidebar-nav a > .sidebar-nav-icon {
    width: 22px;
    font-size: 18px;
    margin-right: 12px;
    opacity: 0.9;
    text-align: center;
}

.sidebar-nav a:hover > .sidebar-nav-icon,
.sidebar-nav a.active > .sidebar-nav-icon,
.sidebar-nav a.open > .sidebar-nav-icon,
.sidebar-nav li.active > a > .sidebar-nav-icon {
    opacity: 1;
}

/* Sous-menus - police et icônes (nowrap déjà sur .sidebar-nav ul a ci-dessus) */
.sidebar-nav ul a {
    font-size: 13px;
    font-weight: 400;
    min-height: 36px;
    line-height: 36px;
    padding-left: 44px;
}

.sidebar-nav a > .sidebar-nav-sub-icon {
    width: 18px;
    font-size: 14px;
    margin-right: 10px;
    opacity: 0.85;
    display: inline-block;
    text-align: center;
}

/* Indicateur sous-menu (flèche) - à la fin du libellé */
.sidebar-nav a > .sidebar-nav-indicator {
    font-size: 14px;
    margin-left: auto;
    margin-right: 0;
    transition: transform 0.2s ease;
}
.sidebar-nav a.open > .sidebar-nav-indicator,
.sidebar-nav li.open > a > .sidebar-nav-indicator {
    transform: rotate(180deg);
}

/* Zone utilisateur */
.sidebar-user-name {
    font-size: 15px;
    font-weight: 600;
}

.sidebar-user-links a > i {
    font-size: 16px;
}

.sidebar-nav a.active {
    border-left-color: var(--dsk-teal) !important;
    background: rgba(0, 0, 0, 0.25) !important;
}

.sidebar-nav ul a.active,
.sidebar-nav ul a.active:hover {
    border-left-color: var(--dsk-teal) !important;
}

.sidebar-nav a:hover,
.sidebar-nav a:focus {
    background: rgba(44, 94, 184, 0.25) !important;
}

/* Header navbar */
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus,
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus,
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus,
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus,
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
    color: var(--dsk-white) !important;
    background-color: var(--dsk-primary) !important;
}

.nav.navbar-nav-custom > li.open > a,
.nav.navbar-nav-custom > li > a:hover,
.nav.navbar-nav-custom > li > a:focus {
    background-color: var(--dsk-primary) !important;
}

/* Buttons */
.btn-primary {
    background-color: var(--dsk-primary) !important;
    border-color: var(--dsk-primary) !important;
    color: var(--dsk-white) !important;
}

.btn-primary.btn-alt {
    background-color: var(--dsk-white) !important;
    color: var(--dsk-primary) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary:active:hover,
.btn-primary:active:focus,
.btn-primary.active,
.btn-primary.active:hover,
.btn-primary.active:focus,
.open .btn-primary.dropdown-toggle,
.open .btn-primary.dropdown-toggle:hover,
.open .btn-primary.dropdown-toggle:focus,
.open .btn-primary.dropdown-toggle.focus {
    background-color: var(--dsk-primary-dark) !important;
    border-color: var(--dsk-primary-dark) !important;
    color: var(--dsk-white) !important;
}

.btn-success {
    background-color: var(--dsk-teal) !important;
    border-color: var(--dsk-teal) !important;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active {
    background-color: var(--dsk-teal-dark) !important;
    border-color: var(--dsk-teal-dark) !important;
}

/* Block headers (sections) */
.block-header.bg-default {
    background-color: var(--dsk-primary) !important;
    color: var(--dsk-white) !important;
    border-color: var(--dsk-primary) !important;
}

.block-header.bg-default .block-title,
.block-header.bg-default h3 {
    color: var(--dsk-white) !important;
}

/* Labels & badges */
.label-primary {
    background-color: var(--dsk-primary) !important;
}

.badge.badge-success {
    background-color: var(--dsk-teal) !important;
}

/* Links */
a {
    color: var(--dsk-primary);
}

a:hover,
a:focus {
    color: var(--dsk-primary-dark);
}

.text-primary {
    color: var(--dsk-primary) !important;
}

/* Progress bars */
.progress-bar-primary,
.progress-bar {
    background-color: var(--dsk-primary) !important;
}

.progress-bar-success {
    background-color: var(--dsk-teal) !important;
}

/* DataTables & tables */
.table > thead > tr > th {
    border-bottom-color: var(--dsk-border);
}

.table-bordered th,
.table-bordered td {
    border-color: var(--dsk-border);
}

/* Forms */
.form-control:focus {
    border-color: var(--dsk-primary);
    box-shadow: 0 0 0 0.2rem rgba(44, 94, 184, 0.25);
}

/* Options buttons in header (theme switcher) */
#options-header-default.btn-primary,
#options-header-inverse.btn-primary,
#options-main-style.btn-primary,
#options-main-style-alt.btn-primary {
    background-color: var(--dsk-primary) !important;
    border-color: var(--dsk-primary) !important;
}

/* To-top link */
#to-top {
    background-color: var(--dsk-primary);
}

#to-top:hover {
    background-color: var(--dsk-primary-dark);
}

/* Répartition : boutons d'action sur une seule ligne */
.repartition-actions-inline {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4px;
}
.repartition-actions-inline .repartition-action-form {
    display: inline-block;
    margin: 0;
}
.repartition-actions-inline .btn,
.repartition-actions-inline .repartition-action-form .btn {
    margin: 0 2px;
}
