/* Simple styles for booking widget */
.as-booking { max-width: 820px; border:1px solid #ddd; padding:16px; background:#fff; font-family: Arial, sans-serif; }
.as-booking h3 { margin-top:0; }
.as-booking label { display:block; margin-bottom:8px; }
.as-booking input[type="text"], .as-booking input[type="date"], .as-booking input[type="time"], .as-booking input[type="number"], .as-booking input[type="email"] { width:100%; padding:6px; box-sizing:border-box; }
.as-loading { padding:10px; color:#666; }
.as-month-table { width:100%; border-collapse:collapse; }
.as-month-table th, .as-month-table td { border:1px solid #eee; width:14%; height:88px; vertical-align:top; padding:6px; }
.as-day { cursor:pointer; position:relative; transition: background .12s ease; }
.as-day .as-day-number { font-weight:bold; }
.as-badge { position:absolute; right:6px; top:6px; background:#2b9fd6; color:#fff; padding:2px 6px; border-radius:12px; font-size:12px; }
.as-badge.full { background:#999; }
.as-day-full { background:#f8f8f8; color:#999; }
.as-day-available { background: #e8f9ec; border: 1px solid #c7f0cf; } /* light green for available days */
.as-day.selected { outline:2px solid #2b9fd6; }
.as-slots-list { margin-top:12px; }
.as-aula-group { margin-bottom:12px; }
.as-success { padding:12px; background:#e6f7e6; border:1px solid #bfe8bf; color:#1f7a1f; }
button { cursor:pointer; }
.as-back, .as-next { margin:8px; }

/* small chips for aulas inside calendar */
.as-aulas { margin-top:22px; display:flex; gap:6px; flex-wrap:wrap; }
.as-aula-chip { background:#f0f0f0; padding:3px 6px; border-radius:12px; font-size:12px; color:#333; }