/* Onglet Calendrier (STY-0022) : couleur = canal d'origine, aspect = statut. Contrastes >= 4,5:1 avec du texte blanc. */
.cal-src-site{background:#15803d;color:#fff}
.cal-src-telephone{background:#475569;color:#fff}
.cal-src-booking{background:#1d4ed8;color:#fff}
.cal-src-airbnb{background:#be123c;color:#fff}
.cal-src-expedia{background:#a16207;color:#fff}
.cal-src-ota{background:#6d28d9;color:#fff}
.cal-src-api{background:#0f766e;color:#fff}
.cal-src-autre{background:#78716c;color:#fff}
.cal-bloque{background:#d1d5db;color:#4b5563}

/* Barre du planning */
.cal-bar{box-sizing:border-box}
.cal-st-nouvelle{outline:2px dashed #fcd34d;outline-offset:-3px}
.cal-st-nouvelle::before{content:"?";font-weight:700;margin-right:2px}
.cal-st-refusee{opacity:.5;text-decoration:line-through}
.cal-st-no_show{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.35) 0 4px,transparent 4px 8px);outline:2px dashed #fb923c;outline-offset:-3px}

/* Pastille (légende, liste) */
.cal-dot{display:inline-block;width:14px;height:14px;border-radius:4px;flex:0 0 auto;vertical-align:middle}
.cal-dot.cal-st-nouvelle::before{content:none}
.cal-dot.cal-st-nouvelle{outline-offset:-2px}
.cal-dot.cal-st-refusee{text-decoration:none}

/* Légende */
.cal-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px;color:#6b7280;margin:0 0 12px}
.cal-legend-title{font-weight:600;color:#16304f;text-transform:uppercase;letter-spacing:.04em;font-size:11px}
.cal-legend-item{display:inline-flex;align-items:center;gap:6px;min-height:20px}
.cal-legend-sep{flex:0 0 1px;align-self:stretch;background:#e5e7eb;margin:0 4px}

/* Bascule Calendrier / Liste et navigation par mois */
.cal-switch-item{text-decoration:none}
.cal-months{display:flex;gap:6px;overflow-x:auto;max-width:100%;padding-bottom:2px;-webkit-overflow-scrolling:touch}
.cal-month-pill{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 14px;border:1px solid #d1d5db;border-radius:9999px;background:#fff;color:#16304f;font-size:13px;text-decoration:none;white-space:nowrap}
.cal-month-pill:hover{background:#faf6ee}
.cal-month-pill[aria-current="true"]{background:#16304f;color:#fff;border-color:#16304f;font-weight:600}
.cal-nav-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 12px;color:#16304f;font-size:18px;text-decoration:none}
.cal-nav-btn:hover{background:#faf6ee}
.cal-period{font-family:inherit;font-size:18px;font-weight:600;color:#16304f;text-transform:capitalize}
.cal-grid-frame{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:640px){
  .cal-tool{min-height:44px}
}
