:root{
  --scam-navy-deep:#0B3552;
  --scam-navy:#0F4C75;
  --scam-blue-light:#3D7EA6;
  --scam-water:#E7F1F6;
  --scam-paper:#EEF1F3;
  --scam-accent:#E07A2E;
  --scam-accent-dark:#B85F1E;
}

body.bg-scam-paper{background:var(--scam-paper);}

/* ---------- Navbar ---------- */
.bg-scam-navy{background:linear-gradient(100deg, var(--scam-navy-deep), var(--scam-navy) 90%) !important;}
.scam-logo-badge{
  display:inline-flex;align-items:center;justify-content:center;
  background:#fff;border-radius:8px;padding:4px 8px;
}
.scam-logo-badge img{height:18px;width:auto;display:block;}
.scam-brand-text{font-size:13px;letter-spacing:.04em;color:#fff;font-weight:600;}
.navbar-dark .navbar-nav .nav-link{color:#CFE3F0;font-size:14px;}
.navbar-dark .navbar-nav .nav-link:hover{color:#fff;}

/* ---------- En-tete de page ---------- */
.scam-page-header{
  background:linear-gradient(100deg, var(--scam-navy-deep), var(--scam-navy) 90%);
  color:#fff;padding:22px 0 34px;
}
.scam-eyebrow{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8FBEDD;font-weight:600;margin:0 0 4px;}
.scam-page-title{font-size:24px;font-weight:700;margin:0;letter-spacing:-.01em;}

.scam-main{margin-top:-20px;margin-bottom:40px;}

/* ---------- Cartes ---------- */
.scam-card{
  background:#fff;border:none;border-radius:14px;
  box-shadow:0 6px 20px rgba(11,53,82,.08);
}

/* ---------- Boutons ---------- */
.btn-scam-primary{
  background:var(--scam-accent);border-color:var(--scam-accent);color:#fff;
  font-weight:600;border-radius:9px;padding:.65rem 1rem;
}
.btn-scam-primary:hover,.btn-scam-primary:focus{
  background:var(--scam-accent-dark);border-color:var(--scam-accent-dark);color:#fff;
}
.btn-scam-outline{
  background:#fff;border:1.5px solid #DC3545;color:#DC3545;font-weight:600;border-radius:9px;
}
.btn-scam-success{
  background:#2F7A54;border-color:#2F7A54;color:#fff;font-weight:600;border-radius:9px;
}

/* ---------- Soldes ---------- */
.scam-solde-card{
  background:#fff;border-radius:12px;box-shadow:0 2px 10px rgba(11,53,82,.06);
  padding:14px;text-align:center;
}
.scam-solde-card.scam-solde-zero{background:#FBEDEB;box-shadow:none;border:1px solid #F0C6BF;}
.scam-solde-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#6C757D;font-weight:600;display:block;margin-bottom:6px;}
.scam-solde-valeur{font-size:26px;font-weight:800;color:var(--scam-navy-deep);letter-spacing:-.02em;}
.scam-solde-card.scam-solde-zero .scam-solde-valeur{color:#B23A2E;}

/* ---------- Blocs motif (demande d'absence multi-motifs) ---------- */
.scam-motif-block{border:1px solid #DEE2E6;border-radius:10px;padding:10px 14px;}
.scam-motif-check{cursor:pointer;margin-bottom:0;font-size:14.5px;}
.scam-motif-detail{border-top:1px dashed #DEE2E6;margin-top:8px;}

/* ---------- Champs readonly ---------- */
.scam-readonly{background:var(--scam-water) !important;color:#6C757D !important;}

/* ---------- Champs sensibles (admin salarié) ---------- */
.scam-field-sensible input{background:#FCF3EC;border-color:#E3B896;}
.scam-field-sensible .badge-warning{background:#E3B896;color:#8A4A1E;font-weight:600;}

/* ---------- Chips (chantier/cause) ---------- */
.scam-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:20px;border:1.5px solid #DEE2E6;background:#fff;
  font-size:13px;cursor:pointer;
}
.scam-chip input{margin:0;}
.scam-chip:has(input:checked){background:var(--scam-navy);border-color:var(--scam-navy);color:#fff;}

/* ---------- Cartes demandes a valider ---------- */
.scam-demande-card{
  background:#fff;border-radius:14px;box-shadow:0 2px 12px rgba(11,53,82,.06);
  padding:18px;margin-bottom:14px;
}
.scam-demande-motif-badge{
  font-size:11px;font-weight:700;color:var(--scam-navy);background:var(--scam-water);
  padding:4px 10px;border-radius:20px;
}

/* ---------- Pages de connexion ---------- */
.scam-auth-wrap{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg, var(--scam-navy-deep), var(--scam-navy));padding:20px;
}
.scam-auth-card{
  background:#fff;border-radius:16px;padding:34px 28px;max-width:380px;width:100%;
  text-align:center;box-shadow:0 24px 48px rgba(0,0,0,.25);
}
.scam-auth-card img{height:44px;margin-bottom:14px;}

/* ---------- Solde / salarie mini-cards ---------- */
.scam-mini-card{
  border:1px solid #DEE2E6;border-radius:10px;background:#fff;
  padding:12px 14px;display:flex;justify-content:space-between;align-items:center;
}
