.status-ocupado { background: #fde1e1; color: #9d2020; }
.status-credenciada { background: #e8def8; color: #63368c; }
.status-encaixe { background: #fff0cf; color: #9a4d00; }
.slot.slot-ocupado { border-color: #e7a8a8; border-left-color: var(--red); background: #fff0f0; }
.slot.slot-credenciada { border-color: #c9afe2; border-left-color: #713b8c; background: #f5effb; }
.slot.slot-encaixe { border-color: #efbd78; border-left-color: #d97706; background: #fff7e8; }
.slot.slot-ocupado:hover:not(:disabled) { border-color: var(--red); background: #ffe5e5; }
.slot.slot-credenciada:hover:not(:disabled) { border-color: #713b8c; background: #ece0f7; }
.slot.slot-encaixe:hover:not(:disabled) { border-color: #d97706; background: #ffedcc; }
.slot.exam-admissional { border-color: #78c69b; border-left-color: #168452; background: #eaf8f0; }
.slot.exam-demissional { border-color: #e49a9a; border-left-color: #bf3131; background: #fff0f0; }
.slot.exam-periodico { border-color: #8eb9ec; border-left-color: #2366ad; background: #edf5ff; }
.slot.exam-retorno { border-color: #bba0d3; border-left-color: #713b8c; background: #f5effb; }
.slot.exam-avaliacao { border-color: #77c9c2; border-left-color: #087f78; background: #eaf9f7; }
.slot.exam-admissional:hover:not(:disabled) { border-color: #168452; background: #dcf3e6; }
.slot.exam-demissional:hover:not(:disabled) { border-color: #bf3131; background: #ffe3e3; }
.slot.exam-periodico:hover:not(:disabled) { border-color: #2366ad; background: #e0efff; }
.slot.exam-retorno:hover:not(:disabled) { border-color: #713b8c; background: #eadcf6; }
.slot.exam-avaliacao:hover:not(:disabled) { border-color: #087f78; background: #dcf4f1; }
.exam-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 16px 0; color: var(--muted); font-size: 13px; }
.exam-legend span { display: inline-flex; align-items: center; gap: 6px; }
.exam-legend i { width: 12px; height: 12px; border-radius: 3px; }
.exam-legend .admissional { background: #168452; }
.exam-legend .demissional { background: #bf3131; }
.exam-legend .periodico { background: #2366ad; }
.exam-legend .retorno { background: #713b8c; }
.exam-legend .avaliacao { background: #087f78; }
.modal-backdrop { position: fixed; inset: 0; z-index: 20; display: grid; place-items: center; padding: 18px; background: #10213c99; }
.slot-menu { width: min(420px, 100%); margin: 0; }
.slot-menu-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 18px 0; }
.status-choice.ocupado { border-color: var(--red); color: var(--red); }
.status-choice.credenciada { border-color: #713b8c; color: #713b8c; }
.status-choice.encaixe { grid-column: 1 / -1; border-color: #d97706; color: #a95805; }
.availability-list { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.availability-day { display:flex; align-items:center; gap:10px; padding:9px 11px; border:1px solid #9ac9ad; border-radius:9px; background:#eefaf3; color:#086137; font-weight:700; }
.availability-day button { padding:5px 8px; color:#9d2020; }
.extra-slot-panel { display:grid; grid-template-columns:minmax(220px,1fr) auto; gap:14px 24px; align-items:center; margin:20px 0 6px; padding:16px 18px; border:1px solid #d5e5e9; border-radius:14px; background:linear-gradient(135deg,#f4fafb,#fffaf0); }
.extra-slot-form { display:flex; gap:10px; align-items:center; }
.extra-slot-form input { width:130px; }
.extra-slot-list { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px; }
.extra-slot-chip { display:inline-flex; align-items:center; gap:8px; padding:6px 8px 6px 11px; border:1px solid #b8d8df; border-radius:999px; background:#fff; color:var(--blue-dark); font-weight:700; }
.extra-slot-chip button { padding:3px 7px; border-radius:999px; color:var(--red); font-size:12px; }
.slot.extra-slot { box-shadow:inset 0 0 0 1px rgba(174,128,38,.25); }
.extra-label { color:var(--gold); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
@media(max-width:700px) { .extra-slot-panel { grid-template-columns:1fr; } .extra-slot-list { grid-column:auto; } .extra-slot-form { align-items:stretch; flex-direction:column; } .extra-slot-form input { width:100%; } }
