.calendar-form [hidden]{display:none!important}
.calendar-form .form-grid{align-items:start}
.calendar-form-error{color:#b42318;font-weight:600;overflow-wrap:anywhere}
.calendar-form-error:empty{display:none}
.report-navigation{display:flex;gap:10px;flex-wrap:wrap}
.report-range{margin:18px 0;padding:18px;background:#e8f4f5;border-left:4px solid #008b8b;border-radius:10px;color:#0b3f70;font-weight:700}
.report-hint{font-size:14px;color:#5c7089;line-height:1.6}
.holiday-clinics{border:1px solid #d6e1ec;border-radius:12px;margin:16px 0;padding:16px}
.holiday-clinics legend{font-weight:700;padding:0 8px}
.holiday-choice{display:flex;gap:12px;align-items:center;padding:10px 0;cursor:pointer}
.holiday-choice input{width:20px;height:20px;flex:none;accent-color:#008b8b}
.cal-event.holiday{background:#fff1ce;color:#744d00;border-left:3px solid #d59c00}
.cal-event.birthday{background:#fbeaf5;color:#853866;border-left:3px solid #bd4c96}
.calendar-derived{font-size:12px;color:#667a91}
.office-closed-banner{background:#fff1ce;color:#744d00;padding:16px 22px;border-radius:14px;margin-bottom:20px}
/* Keep existing calendar day height/scroll unchanged; make its event labels accessible buttons. */
button.cal-event{display:block;width:100%;text-align:left;border-top:0;border-right:0;border-bottom:0;color:inherit}
button.cal-event:hover{box-shadow:inset 0 0 0 1px #738da6}
.calendar-entry-trigger{display:block;border:0;padding:0;background:transparent;text-align:left;font-weight:800;color:var(--navy);overflow-wrap:anywhere}
.calendar-entry-trigger:hover{text-decoration:underline}
button.cal-event:focus-visible,.calendar-entry-trigger:focus-visible{outline:2px solid #0b3f70;outline-offset:2px}
.calendar-entry-details{min-width:0;overflow-wrap:anywhere}
.calendar-entry-details>h3{margin-top:4px;font-size:1.3rem;line-height:1.5}
.calendar-entry-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin:24px 0}
.calendar-entry-facts dt{font-size:.75rem;font-weight:800;color:#65748a;text-transform:uppercase;letter-spacing:.04em}
.calendar-entry-facts dd{margin:6px 0 0;font-size:.95rem;line-height:1.5}
.calendar-entry-notes{background:#f2f7fb;border:1px solid #dbe4ec;border-radius:12px;padding:16px}
.calendar-entry-notes h3{margin:0 0 8px;font-size:1rem}
.calendar-entry-notes p{white-space:pre-wrap;margin:0;font-size:.95rem;line-height:1.7}
@media(max-width:480px){.calendar-entry-facts{grid-template-columns:1fr;gap:16px}.calendar-entry-details>h3{font-size:1.1rem}}
@media(max-width:600px){.report-navigation .btn{flex:1 1 40%;padding:12px}.calendar-form .form-grid{grid-template-columns:1fr}.calendar-form input,.calendar-form select{min-width:0;max-width:100%}.calendar-tools{flex-wrap:wrap}.modal-foot{flex-wrap:wrap}}
