.calendar-field{padding:22px;background:#f8f2e9;border:1px solid #e5dacb;border-radius:16px}
.calendar-field-header h2{margin:10px 0 5px}.calendar-field-header p{margin:0 0 18px;color:#746d65}
.calendar-picker{background:#fff;border:1px solid #e7ddd0;border-radius:18px;padding:18px;max-width:720px}
.calendar-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-bottom:14px;text-align:center}
.calendar-toolbar strong{text-transform:capitalize;font-size:20px;color:var(--forest)}
.calendar-nav{height:42px;border:0;border-radius:12px;background:#eef0e4;color:var(--forest);font-size:28px;cursor:pointer}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.calendar-weekdays{margin-bottom:8px}.calendar-weekdays span{text-align:center;font-size:12px;font-weight:750;color:#837c72}
.calendar-day{aspect-ratio:1/1;border:1px solid #e8dfd4;background:#fff;border-radius:12px;display:grid;place-items:center;font-weight:750;color:#514c45;cursor:pointer;transition:.15s ease}
.calendar-day:hover:not(:disabled):not(.blank){border-color:var(--olive);transform:translateY(-1px)}
.calendar-day.blank{border:0;background:transparent;cursor:default}
.calendar-day.selected{background:var(--olive);border-color:var(--olive);color:#fff;box-shadow:0 6px 15px rgba(112,123,69,.2)}
.calendar-selected-summary{margin-top:16px}.calendar-selected-summary>strong{display:block;margin-bottom:9px}
.calendar-selected-list{display:flex;flex-wrap:wrap;gap:8px}.date-chip{border:0;border-radius:999px;padding:8px 12px;background:#e6ead8;color:var(--forest);font-weight:750;cursor:pointer}.calendar-empty{color:#817970}
.participant-calendar .calendar-day.disabled{background:#f6f2ec;color:#c0b8ae;cursor:not-allowed;border-color:#eee6dd}
.participant-calendar .calendar-day.available{background:#f7fbf1;border-color:#d7e1c8;color:var(--forest)}
.participant-calendar .calendar-day.unavailable{background:#f5e9e9;border-color:#ead5d5;color:#a2797b;cursor:not-allowed}
.participant-calendar .calendar-day.selected{background:var(--olive);border-color:var(--olive);color:#fff}
.calendar-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px;color:#756e65;font-size:13px}.calendar-legend span{display:flex;align-items:center;gap:7px}
.legend-dot{width:11px;height:11px;border-radius:50%;display:inline-block}.legend-dot.available{background:#dce9ce}.legend-dot.selected{background:var(--olive)}.legend-dot.unavailable{background:#e7cccc}
.selected-date-details{margin-top:18px}.selected-date-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #eee5d9}.selected-date-row div{display:flex;flex-direction:column;gap:4px}.selected-date-row span{color:#786f66;font-size:14px}
.summary-dates{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.summary-dates small{opacity:.9}
.calendar-enrollment-layout form{grid-template-columns:minmax(0,1fr) 340px}
@media(max-width:980px){.calendar-enrollment-layout form{grid-template-columns:1fr}}
@media(max-width:640px){.calendar-picker{padding:12px}.calendar-weekdays,.calendar-grid{gap:5px}.calendar-day{border-radius:9px;font-size:13px}}
