/* ==========================================================================
   WindSurf Sanitaire Collectif – Main stylesheet (clean)
   Chargé APRÈS Bootstrap & adminator.css
   ========================================================================== */

/* === Variables globales =================================================== */
:root{
    /* Palette */
    --primary-color:   #0275d8;
    --secondary-color: #6c757d;
    --success-color:   #5cb85c;
    --danger-color:    #d9534f;
    --warning-color:   #f0ad4e;
    --info-color:      #5bc0de;
    --light-color:     #f8f9fa;
    --dark-color:      #343a40;
  
    /* Sidebar */
    --sidebar-width:   264px;     /* largeur finale */
    --sb-pad-x:        1rem;      /* padding horizontal des liens */
    --sb-pad-y:        .625rem;   /* padding vertical des liens   */
    --sb-gap:          .5rem;     /* espace icône <-> texte       */
    --sb-icon:         1.1rem;    /* largeur icône                */
    --sb-sub-indent:   .9rem;     /* indentation sous-menus       */
  }
  
  /* === Styles généraux ====================================================== */
  body{
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f5f5f5;
    color: #333;
  }
  .navbar-brand{ font-weight: 700; }
  
  /* Cards */
  .card{
    margin-bottom: 20px;
    border-radius: 8px;
    box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,.075) !important;
    border: 1px solid rgba(0,0,0,.125) !important;
  }
  .card-header{
    font-weight: 600;
    border-bottom: 1px solid rgba(0,0,0,.125) !important;
  }
  .card-body{ padding: 20px !important; }
  
  /* Tables */
  .table-striped > tbody > tr:nth-of-type(odd) > td{ background-color: rgba(0,0,0,.02); }
  .table-hover tbody tr:hover{ background-color: rgba(0,123,255,.075) !important; }
  
  /* DataTables */
  .dataTables_wrapper .dataTables_length,
  .dataTables_wrapper .dataTables_filter,
  .dataTables_wrapper .dataTables_info,
  .dataTables_wrapper .dataTables_paginate{ margin-bottom: .5rem; }
  .dataTables_wrapper .top{
    padding: 1rem; background: #f8f9fa; border-bottom: 1px solid #dee2e6;
  }
  .dataTables_wrapper .bottom{
    padding: 1rem; background: #f8f9fa; border-top: 1px solid #dee2e6;
  }
  .dataTables_wrapper .dataTables_filter input,
  .dataTables_wrapper .dataTables_length select{
    border: 1px solid #ced4da; border-radius: .375rem; padding: .375rem .75rem;
  }
  .dataTables_wrapper .dataTables_filter input{ margin-left: .5rem; }
  .dataTables_wrapper .dataTables_length select{ margin: 0 .5rem; }
  
  /* Boutons généraux */
  .btn-primary{
    background-color: var(--primary-color);
    border-color: var(--primary-color);
  }
  .btn-primary:hover{
    background-color: #0269c2;
    border-color: #0269c2;
  }
  
  /* Action buttons (utilitaires) */
  .action-btn{
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 400; line-height: 1.5; user-select: none;
    border: 1px solid transparent; border-radius: 4px;
    padding: .375rem .75rem; font-size: 1rem;
    transition: all .2s ease;
    margin: 0 2px;
  }
  .action-btn i{ margin-right: 4px; }
  .action-btn-sm{ padding: .25rem .5rem; font-size: .875rem; }
  
  /* Variantes pleines */
  .action-btn-primary  { color:#fff; background:var(--primary-color);  border-color:var(--primary-color); }
  .action-btn-secondary{ color:#fff; background:var(--secondary-color); border-color:var(--secondary-color); }
  .action-btn-success  { color:#fff; background:var(--success-color);   border-color:var(--success-color); }
  .action-btn-danger   { color:#fff; background:var(--danger-color);    border-color:var(--danger-color); }
  .action-btn-info     { color:#fff; background:var(--info-color);      border-color:var(--info-color); }
  
  .action-btn-primary:hover   { background:#0269c2;  border-color:#0269c2;  transform: translateY(-2px); box-shadow:0 2px 5px rgba(0,0,0,.2); }
  .action-btn-secondary:hover { background:#5a6268;  border-color:#5a6268;  transform: translateY(-2px); box-shadow:0 2px 5px rgba(0,0,0,.2); }
  .action-btn-success:hover   { background:#4cae4c;  border-color:#4cae4c;  transform: translateY(-2px); box-shadow:0 2px 5px rgba(0,0,0,.2); }
  .action-btn-danger:hover    { background:#c9302c;  border-color:#c9302c;  transform: translateY(-2px); box-shadow:0 2px 5px rgba(0,0,0,.2); }
  .action-btn-info:hover      { background:#46b8da;  border-color:#46b8da;  transform: translateY(-2px); box-shadow:0 2px 5px rgba(0,0,0,.2); }
  
  /* Variantes outline */
  .action-btn-outline-primary{ color:var(--primary-color);  background:transparent; border-color:var(--primary-color); }
  .action-btn-outline-danger { color:var(--danger-color);   background:transparent; border-color:var(--danger-color);  }
  .action-btn-outline-primary:hover{ color:#fff; background:var(--primary-color);  transform: translateY(-2px); box-shadow:0 2px 5px rgba(0,0,0,.2); }
  .action-btn-outline-danger:hover { color:#fff; background:var(--danger-color);   transform: translateY(-2px); box-shadow:0 2px 5px rgba(0,0,0,.2); }
  
  /* Boutons d’action dans les tableaux */
  .table .action-btn{ width: 32px; height: 32px; padding: 0; }
  .table .action-btn i{ margin-right: 0; }
  
  /* Formulaires */
  .form-control:focus{
    border-color: var(--primary-color);
    box-shadow: 0 0 0 .2rem rgba(2,117,216,.25);
  }
  
  /* Badges */
  .badge-primary{  background: var(--primary-color); }
  .badge-success{  background: var(--success-color); }
  .badge-warning{  background: var(--warning-color); }
  .badge-danger{   background: var(--danger-color); }
  
  /* Layouts spécifiques */
  .login-container{ max-width: 400px; margin: 100px auto; }
  .dashboard-stat-card{ text-align:center; padding:20px; }
  .dashboard-stat-card .stat-value{ font-size:2.5rem; font-weight:700; margin:15px 0; }
  
  .list-action-buttons{ white-space: nowrap; }
  .required-field::after{ content:" *"; color: var(--danger-color); }
  .detail-label{ font-weight:700; }
  .export-options{ display:flex; gap:15px; margin:20px 0; }
  
  /* Footer */
  footer{
    margin-top: 50px; padding: 15px 0;
    background: var(--dark-color); color: #fff;
  }
  
  /* === Sidebar =============================================================== */
  
  /* Largeur + décalage contenu */
  .sidebar{ width: var(--sidebar-width); color: rgba(255,255,255,.8); }
  .main-content{ margin-left: var(--sidebar-width); }
  
  /* Neutralise Bootstrap pour les liens dans .sidebar */
  .sidebar a{ color: inherit !important; text-decoration: none !important; }
  .sidebar a:hover,
  .sidebar a:focus{ color:#fff !important; text-decoration:none !important; }
  
  /* Liens (niveau 1) */
  .sidebar .sidebar-link{
    display:flex; align-items:center;
    padding: var(--sb-pad-y) var(--sb-pad-x);
    margin: 2px .5rem;
    gap: var(--sb-gap);
    border-radius:.4rem;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .sidebar .sidebar-link .sidebar-icon{
    width: var(--sb-icon); min-width: var(--sb-icon);
    text-align:center; font-size:.95rem; margin:0;
  }
  /* Texte sans padding gauche */
  .sidebar .sidebar-link span{ flex:1; min-width:0; padding-left:0 !important; }
  
  /* Hover / actif */
  .sidebar .sidebar-link:hover{ background: rgba(59,125,221,.2); }
  .sidebar .sidebar-link.active{ background:#3b7ddd; color:#fff !important; font-weight:600; }
  
  /* Sous-menus */
  .sidebar-nav{ padding:.5rem 0; }
  .sidebar .sidebar-dropdown{
    margin:.25rem 0 .5rem; padding-left:0; border-left:none !important; background:transparent;
  }
  .sidebar .sidebar-dropdown .sidebar-link{
    padding-left: calc(var(--sb-pad-x) + var(--sb-sub-indent));
    margin: 2px .5rem;
  }
  
  /* === Responsive ============================================================ */
  @media (max-width: 768px){
    .sidebar{ left: calc(-1 * var(--sidebar-width)); }
    .main-content{ margin-left: 0; }
    .main-content.active{ margin-left: var(--sidebar-width); }
    .container{ padding-left:10px; padding-right:10px; }
    .card-body{ padding: 15px; }
  }
  
  /* === Utilitaires légers ==================================================== */
  .d-flex .btn + .btn{ margin-left: .25rem; }
/* ==== Sidebar - compact left spacing ==== */

/* moins de padding interne */
:root{
    --sb-pad-x: .5rem;      /* était 1rem */
    --sb-sub-indent: .7rem; /* sous-menus un poil moins indentés */
  }
  
  /* réduit aussi la marge externe gauche des liens */
  .sidebar .sidebar-link{
    margin-left: .25rem;    /* était .5rem */
    padding-left: var(--sb-pad-x) !important;
  }
  
  /* sous-menus : conserve une petite indentation */
  .sidebar .sidebar-dropdown .sidebar-link{
    padding-left: calc(var(--sb-pad-x) + var(--sb-sub-indent)) !important;
  }
  
/* ==== Kill Adminator's left/right padding on LI ==== */
.sidebar .sidebar-nav-list .sidebar-nav-item,
.sidebar .sidebar-dropdown .sidebar-item{
  padding: 0 !important;            /* supprime 10px 15px du LI */
}

/* Le confort de clic reste géré par le lien */
.sidebar .sidebar-nav-list .sidebar-nav-item > .sidebar-link{
  margin-left: .25rem;              /* ou 0 si tu veux collé au bord */
  padding-left: var(--sb-pad-x);    /* .5rem si tu utilises mon patch précédent */
}


    