/* ===== GLOBAL ===== */
body{
  font-size:.95rem;
  background:#f5f7fb;
}

/* ===== NAVBAR BORDEAUX ===== */
.navbar{
  background:#a0012a !important; /* bordeaux */
}

.navbar .navbar-brand{
  letter-spacing:.5px;
  font-weight:700;
  color:#fff !important;
}

.navbar .nav-link,
.navbar .navbar-text{
  color:#fff !important;
}

.navbar .nav-link:hover{
  color:#ffd6e0 !important;
}

/* Bouton menu mobile */
.navbar .navbar-toggler{
  border-color:rgba(255,255,255,.4)!important;
}
.navbar .navbar-toggler-icon{
  filter:invert(1);
}

/* ===== CARTES ===== */
.card{
  border:none;
  border-radius:1rem;
  box-shadow:0 8px 24px rgba(17,24,39,.06);
}

.card-header{
  border-bottom:1px solid #eef2f7;
  border-radius:1rem 1rem 0 0;
  background:#fff;
}

/* ===== FORMULAIRES ===== */
.btn{
  border-radius:.75rem;
}

.form-control,
.form-select{
  border-radius:.7rem;
}

.form-control:focus,
.form-select:focus{
  box-shadow:0 0 0 .2rem rgba(59,130,246,.15);
  border-color:#93c5fd;
}

/* ===== KPI ===== */
.card-kpi{
  min-height:110px;
}

/* ===== TIMELINE ===== */
.timeline-row{
  display:flex;
  align-items:center;
  margin-bottom:.5rem;
}

.timeline-time{
  width:60px;
  color:#6c757d;
  font-size:.9rem;
}

.timeline-bar{
  flex:1;
  background:#f8f9fa;
  border-radius:.5rem;
  position:relative;
  height:38px;
  display:flex;
  align-items:center;
  padding:.25rem .5rem;
}

.timeline-block{
  background:#d1e7dd;
  border:1px solid #badbcc;
  border-radius:.4rem;
  padding:.25rem .5rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  display:inline-block;
  min-width:140px;
  width:calc(var(--span,1)*18%);
}

/* ===== BANNIÈRE BIENVENUE ===== */
.welcome-banner{
  background:linear-gradient(90deg,#7b0017,#a855f7);
  color:#fff;
  border-radius:1rem;
  padding:.35rem 1rem;
}

/* ===== SIDEBAR ===== */
aside a{
  display:block;
  padding:.25rem 0;
  color:#374151;
  text-decoration:none;
}

aside a:hover{
  color:#111827;
}

/* ===== FULLCALENDAR STATUS ===== */
.fc-status-planifiee{
  background:#2563eb !important;
  border-color:#1d4ed8 !important;
  color:#fff !important;
}

.fc-status-en-cours{
  background:#f59e0b !important;
  border-color:#d97706 !important;
  color:#fff !important;
}

.fc-status-realisee{
  background:#16a34a !important;
  border-color:#15803d !important;
  color:#fff !important;
}

.fc-status-annulee{
  background:#dc2626 !important;
  border-color:#b91c1c !important;
  color:#fff !important;
}
