.booking-main{padding-block:50px 100px}.booking-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:40px}.booking-card,.booking-grid article,#booking-panel,#confirmation,#cancel-panel{background:#f1efe5;border-radius:18px;padding:25px;margin-bottom:22px;box-shadow:0 5px 20px #2a2f1f0d}.booking-main input,.booking-main textarea,.booking-main select{display:block;width:100%;padding:12px;margin:5px 0 18px;border:1px solid #ccc7b5;border-radius:8px;background:#fff;font:inherit}.booking-main input[type=checkbox]{display:inline;width:auto;margin-right:8px}.booking-main label{display:block;font-size:15px;font-weight:600}.booking-main button{cursor:pointer;font:inherit}.booking-main button.button{font:600 15px Raleway,Arial,sans-serif}.booking-grid h2{font-size:28px}.booking-grid p{font-size:16px}.booking-main [hidden]{display:none!important}.form-row{display:flex;gap:18px;align-items:end}.form-row>*{flex:1}.booking-main #message,.booking-main #editor-message,.booking-main #login-message{color:var(--mud)}.event-actions{display:flex;gap:8px;flex-wrap:wrap}.event-actions button,#reset-editor,#logout{background:#e4dfcd;color:var(--pine);border:0;border-radius:8px;padding:8px 12px}.booking-main table{width:100%;border-collapse:collapse;background:#f1efe5}.booking-main td,.booking-main th{padding:12px;text-align:left;vertical-align:top}.booking-main tr+tr{border-top:1px solid #d7d2c3}@media(max-width:760px){.form-row{display:block}.booking-main table{display:block;overflow-x:auto}}

/* Agenda mensual */
#events{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:32px;align-items:start;margin-top:34px}
.calendar-shell,.day-events{background:#f1efe5;border-radius:20px;padding:24px;box-shadow:0 6px 24px #2a2f1f0d}
.calendar-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
.calendar-month{font-size:clamp(24px,3vw,34px);margin:0;text-transform:capitalize;text-align:center}
.booking-main .calendar-nav{width:42px;height:42px;border:0;border-radius:50%;background:#e3dfcf;color:var(--pine);font-size:23px;line-height:1}
.booking-main .calendar-nav:hover{background:var(--nude)}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.calendar-weekdays{margin-bottom:8px;text-align:center;color:var(--mud);font-size:13px;font-weight:700;text-transform:capitalize}
.calendar-day,.calendar-blank{min-height:76px}
.booking-main .calendar-day{position:relative;display:flex;align-items:flex-start;justify-content:flex-start;padding:11px;border:0;border-radius:12px;background:#faf8f3;color:var(--pine);font-size:16px;font-weight:600;text-align:left}
.booking-main .calendar-day:hover{background:#e8e5d6}
.booking-main .calendar-day.has-event{background:#e4e8d9}
.booking-main .calendar-day[aria-pressed="true"]{background:var(--fern);color:#fff}
.event-count{position:absolute;right:9px;bottom:8px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--pine);color:#fff;font-size:12px}
.calendar-day[aria-pressed="true"] .event-count{background:#fff;color:var(--pine)}
.day-title{font-size:26px;text-transform:capitalize;margin:0 0 22px}
.empty-day{color:var(--mud)}
.event-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0}
.event-row+.event-row{border-top:1px solid #d9d4c6}
.event-row h3{font-size:22px;margin:2px 0 8px}
.event-row p{font-size:15px;margin:0 0 7px}
.event-row .event-time{font-weight:700;color:var(--mud)}
.event-row .event-places{color:var(--fern);font-weight:700}
.event-row .button{flex:none}
.event-row .button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:900px){#events{grid-template-columns:1fr}.calendar-day,.calendar-blank{min-height:68px}}
@media(max-width:520px){.calendar-shell,.day-events{padding:15px}.calendar-weekdays,.calendar-days{gap:3px}.booking-main .calendar-day,.calendar-blank{min-height:49px}.booking-main .calendar-day{padding:6px;font-size:13px}.event-count{width:19px;height:19px;right:3px;bottom:3px;font-size:10px}.event-row{align-items:flex-start;flex-direction:column}}
.calendar-month,.day-title{text-transform:none}
