/* ---- Police typwrng (logo Solution19) ---- */
@font-face {
    font-family: 'typwrng';
    src: url('/fonts/typwrng/typwrng.eot');
    src: url('/fonts/typwrng/typwrng.eot?#iefix') format('embedded-opentype'),
         url('/fonts/typwrng/typwrng.woff') format('woff'),
         url('/fonts/typwrng/typwrng.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/*
 * Thème Solution19 — Sad's Group
 * ================================
 * Palette officielle (noms d'origine) :
 *   --bleu-sads:         #004750  → teal foncé, couleur principale Sad's Group
 *   --orange-sads:       #E45525  → orange vif Sad's, CTA / accents forts
 *   --orange-solution19: #eb7805  → orange ambré Solution19, accents doux / hover
 *   --black-solution19:  #273339  → charcoal marque, textes foncés / sidebar
 */

/* ===== Palette de marque (source de vérité) ===== */
:root {
    --bleu-sads:            #004750;
    --orange-sads:          #E45525;
    --orange-solution19:    #eb7805;
    --black-solution19:     #273339;

    /* ── Variables fonctionnelles (référencent la palette) ── */
    --color-primary:        var(--bleu-sads);
    --color-primary-soft:   rgba(0, 71, 80, 0.10);
    --color-primary-hover:  #005f6b;

    --color-accent:         var(--orange-sads);
    --color-accent-soft:    rgba(228, 85, 37, 0.10);
    --color-accent-hover:   var(--orange-solution19);   /* orange ambré au survol */

    --color-dark:           var(--black-solution19);
    --color-topnav-bg:      #ffffff;

    /* ── Bootstrap overrides ── */
    --bs-primary:           #004750;
    --bs-primary-rgb:       0, 71, 80;
    --bs-link-color:        #004750;
    --bs-link-hover-color:  #E45525;
    --bs-focus-ring-color:  rgba(0, 71, 80, 0.25);
    --bs-body-color:        var(--black-solution19);
}

/* ===== Topnav ===== */
.topnav {
    background-color: var(--color-topnav-bg) !important;
    border-bottom: 3px solid var(--color-accent);
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

.navbar-brand img {
    max-height: 52px;
}

/* ===== Contenu principal ===== */
#layoutSidenav_content {
    background-color: #f8f9fa !important;
}

/* ===== Sidenav ===== */
.sidenav {
    border-right: 1px solid #e9ecef;
}

.sidenav .nav-link {
    color: var(--black-solution19);
    border-radius: 6px;
    margin: 2px 8px;
    padding-left: 12px !important;
    transition: all .15s ease;
}

.sidenav .nav-link:hover {
    color: var(--color-primary) !important;
    background-color: var(--color-primary-soft) !important;
}

.sidenav .nav-link.active {
    border-left: 3px solid var(--color-primary);
    padding-left: 9px !important;
    color: var(--color-primary) !important;
    background-color: var(--color-primary-soft) !important;
    font-weight: 600;
}

.sidenav .nav-link.active .nav-link-icon i,
.sidenav .nav-link.active .nav-link-icon svg {
    color: var(--color-primary) !important;
}

.sidenav .sidenav-menu-heading {
    color: #adb5bd !important;
    font-weight: 700;
    font-size: .65rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 12px 20px 4px;
}

/* ===== Footer sidebar ===== */
.sidenav-footer {
    background-color: var(--color-primary-soft) !important;
    border-top: none;
}

.sidenav-footer .sidenav-footer-content,
.sidenav-footer .sidenav-footer-subtitle {
    color: var(--color-primary) !important;
    font-size: .75rem;
}

.sidenav-footer .sidenav-footer-title {
    color: var(--color-primary) !important;
    font-weight: 600;
}

/* ===== Footer body ===== */
.footer-admin {
    background-color: var(--color-primary-soft) !important;
    border-top: none !important;
    color: var(--color-primary) !important;
    font-size: .7rem;
}

/* ===== Boutons — hiérarchie claire ===== */

/* Primaire : teal foncé → actions principales (Enregistrer, Consulter) */
.btn-primary {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: #fff !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: var(--color-primary-hover) !important;
    border-color: var(--color-primary-hover) !important;
}

.btn-outline-primary {
    color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}
.btn-outline-primary:hover {
    background-color: var(--color-primary) !important;
    color: #fff !important;
}

/* Accent orange → CTA fort (Nouvelle commande, actions clés) */
.btn-accent {
    background-color: var(--color-accent) !important;
    border-color: var(--color-accent) !important;
    color: #fff !important;
}
.btn-accent:hover {
    background-color: var(--color-accent-hover) !important;
    border-color: var(--color-accent-hover) !important;
    color: #fff !important;
}

/* Secondaire : gris neutre → annuler, retour, actions secondaires */
.btn-secondary {
    background-color: #6c757d !important;
    border-color: #6c757d !important;
    color: #fff !important;
}
.btn-secondary:hover {
    background-color: #5a6268 !important;
    border-color: #545b62 !important;
}

.btn-outline-secondary {
    color: #6c757d !important;
    border-color: #dee2e6 !important;
    background-color: #fff !important;
}
.btn-outline-secondary:hover {
    color: #fff !important;
    background-color: #6c757d !important;
    border-color: #6c757d !important;
}

/* Danger : rouge → supprimer */
.btn-outline-danger:hover {
    color: #fff !important;
}

/* Info : bleu clair → actions informatives */
.btn-outline-info {
    color: #0dcaf0 !important;
    border-color: #0dcaf0 !important;
}
.btn-outline-info:hover {
    background-color: #0dcaf0 !important;
    color: #000 !important;
}

/* ===== Boutons — texte en gras ===== */
.btn,
.btn:hover,
.btn:focus,
a.btn,
button.btn,
input[type="button"].btn,
input[type="submit"].btn {
    font-weight: 700 !important;
}

/* ===== Taille des boutons sm ===== */
.btn-sm {
    font-size: .78rem;
    padding: .3rem .65rem;
    border-radius: 5px;
}

/* ===== Badges — texte en gras ===== */
.badge {
    font-weight: 700;
}

/* ===== Badges ===== */
.bg-primary {
    background-color: var(--color-primary) !important;
}
.text-primary {
    color: var(--color-primary) !important;
}
.bg-accent {
    background-color: var(--color-accent) !important;
}

/* Corriger bg-secondary → gris neutre (pas orange) */
.bg-secondary {
    background-color: #6c757d !important;
}
.badge.bg-secondary {
    background-color: #6c757d !important;
    color: #fff !important;
}

/* Badge workflow */
.badge {
    font-weight: 500;
    letter-spacing: .02em;
}

/* ===== Cards ===== */
.card {
    border: none;
    box-shadow: 0 1px 4px rgba(0,0,0,.08), 0 0 0 1px rgba(0,0,0,.04);
    border-radius: 8px;
}

.card-header {
    background-color: #fff;
    border-bottom: 1px solid #f0f0f0;
    border-radius: 8px 8px 0 0 !important;
    padding: .75rem 1.1rem;
    font-size: .88rem;
    color: var(--orange-solution19) !important;
}

.card-header.bg-light {
    background-color: #f8f9fa !important;
}

/* ===== Tables ===== */
.table {
    font-size: .875rem;
}

.table thead th {
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #6c757d;
    border-bottom: 2px solid #e9ecef;
    padding: .6rem .85rem;
}

.table tbody td {
    padding: .6rem .85rem;
    vertical-align: middle;
    border-color: #f5f5f5;
}

.table-hover tbody tr:hover {
    background-color: rgba(0, 71, 80, .04);
}

/* ===== Textes marque ===== */
.text-dark-brand {
    color: var(--black-solution19) !important;
}
.text-accent-solution19 {
    color: var(--orange-solution19) !important;
}
.text-accent-sads {
    color: var(--orange-sads) !important;
}

/* ===== Indicateurs workflow (toggles) ===== */
.toggle-workflow span {
    font-size: 1rem;
    opacity: .85;
    transition: transform .1s;
}
.toggle-workflow:hover span {
    transform: scale(1.2);
}

/* ===== Liens ===== */
a {
    color: var(--color-primary);
    text-decoration: none;
}
a:hover {
    color: var(--color-accent);
}

/* ===== Checkboxes & radios ===== */
.form-check-input:checked {
    background-color: var(--orange-solution19) !important;
    border-color:     var(--orange-solution19) !important;
}
.form-check-input:focus {
    border-color: var(--orange-solution19);
    box-shadow: 0 0 0 .2rem rgba(235, 120, 5, .25);
}

/* ===== Focus ===== */
.btn:focus-visible,
.form-control:focus,
.form-select:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 .2rem rgba(0, 71, 80, .2);
}

/* ===== Cards stats dashboard ===== */
.card-stat-primary { border-left: 4px solid var(--color-primary); }
.card-stat-accent  { border-left: 4px solid var(--color-accent); }
.card-stat-warning { border-left: 4px solid #f4a100; }
.card-stat-danger  { border-left: 4px solid #dc3545; }
.card-stat-success { border-left: 4px solid #198754; }
.card-stat-purple  { border-left: 4px solid #6f42c1; }

/* ===== DataTables ===== */
.datatable-wrapper .datatable-input:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 .2rem rgba(0, 71, 80, .2);
}
.datatable-wrapper .datatable-pagination .datatable-active a {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: #fff !important;
}

/* ===== Dropdown header ===== */
.dropdown-header {
    background-color: var(--color-primary) !important;
    color: #fff !important;
}

/* ===== Nav tabs ===== */
.nav-tabs .nav-link {
    color: #6c757d;
    border: none;
    border-bottom: 2px solid transparent;
    padding: .5rem 1rem;
    font-size: .875rem;
}
.nav-tabs .nav-link:hover {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary-soft);
}
.nav-tabs .nav-link.active {
    color: var(--color-primary);
    font-weight: 600;
    border-bottom: 2px solid var(--color-primary);
    background: transparent;
}
.nav-tabs {
    border-bottom: 1px solid #e9ecef;
}

/* ===== Alertes flash ===== */
.alert {
    border-left: 4px solid;
    border-radius: 6px;
    font-size: .875rem;
}
.alert-success { border-left-color: #198754; }
.alert-danger   { border-left-color: #dc3545; }
.alert-warning  { border-left-color: #ffc107; }
.alert-info     { border-left-color: #0dcaf0; }

/* ===== Sidenav menu-heading section ===== */
.sidenav .nav-link-icon {
    color: #adb5bd;
}
.sidenav .nav-link.active .nav-link-icon,
.sidenav .nav-link:hover .nav-link-icon {
    color: var(--color-primary) !important;
}

/* ===== Badge de statut agence (topnav) ===== */
.badge.bg-success { background-color: #198754 !important; }
.badge.bg-warning { background-color: #ffc107 !important; color: #000 !important; }
.badge.bg-danger  { background-color: #dc3545 !important; }
.badge.bg-info    { background-color: #0dcaf0 !important; color: #000 !important; }
