/* Monthly calendar: current day is circled; selected day has a filled square. */
.flow-card[data-step="0"] .flow-help{display:none}
.flow-card[data-step="0"] .flow-content{padding:8px 18px 12px}
.flow-date-form{display:flex;flex-direction:column;gap:8px}
.flow-date-form .date-shortcuts{margin:0;gap:8px}
.flow-date-form .date-choice{height:62px;gap:2px;padding:6px 4px}
.flow-date-form .date-choice strong{text-transform:none;white-space:nowrap;font-size:18px!important}
.flow-date-form .date-choice span{font-size:16px!important;line-height:1.25}
.month-calendar{min-width:0}
.calendar-header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:4px;min-height:44px;margin-bottom:4px}
.calendar-header h2{font-family:var(--zon-font-body);font-size:20px;line-height:1.3;font-weight:650;letter-spacing:0;text-align:center;text-transform:capitalize;margin:0}
.calendar-nav{display:grid;place-items:center;width:44px;height:44px;padding:8px;color:var(--zon-navy);border:1px solid var(--zon-control-border);border-radius:6px;background:var(--zon-surface)}
.calendar-nav svg{height:22px;width:22px}.calendar-nav:disabled{color:var(--zon-muted);border-color:var(--zon-line);background:var(--zon-surface);opacity:.5;cursor:default}
.calendar-table{width:100%;table-layout:fixed;border-collapse:collapse;border:0;margin:0;font-variant-numeric:tabular-nums}
.calendar-table th,.calendar-table td{padding:0;border:0;text-align:center}
.calendar-table th{font-family:var(--zon-font-body);font-size:16px;font-weight:500;line-height:24px;height:24px;color:var(--zon-muted);text-transform:none;letter-spacing:0;background:none}
.calendar-table abbr{text-decoration:none;cursor:default}
.calendar-table td{height:44px;background:none}
.calendar-day{display:grid;place-items:center;width:100%;min-height:44px;padding:2px;border:2px solid transparent;border-radius:6px;background:transparent;color:var(--zon-navy);font:600 18px/1 var(--zon-font-body);font-variant-numeric:tabular-nums;opacity:1;cursor:pointer;scroll-margin-block:12px}
.calendar-number{display:grid;place-items:center;width:34px;height:34px;border:2px solid transparent}
.calendar-day.is-today .calendar-number{border-color:currentColor;border-radius:50%}
.calendar-day.is-selected{background:var(--zon-navy);color:var(--zon-surface)}
.calendar-day:disabled{color:#7b756c;background:transparent;cursor:default;font-weight:400}
.calendar-day:focus-visible,.calendar-nav:focus-visible{outline:3px solid var(--zon-focus);outline-offset:-3px}
.calendar-legend{display:flex;align-items:center;justify-content:center;gap:20px;font-size:16px;line-height:22px;color:var(--zon-muted);margin-top:6px}
.calendar-legend>span{display:inline-flex;align-items:center;gap:6px}.calendar-legend i{display:inline-block;width:16px;height:16px;flex:none}
.calendar-today-key{border:2px solid var(--zon-navy);border-radius:50%}.calendar-selected-key{background:var(--zon-navy);border-radius:3px}
.calendar-selection{font-size:16px;line-height:1.4;text-align:center;color:var(--zon-muted);margin:0;overflow-wrap:anywhere}.calendar-selection strong{color:var(--zon-navy);font-weight:600}
@media(hover:hover){.calendar-day:not(:disabled):not(.is-selected):hover,.calendar-nav:not(:disabled):hover{background:var(--zon-selection);color:var(--zon-navy)}}
@media(max-width:600px){.flow-card[data-step="0"] .flow-content{padding-inline:12px}.calendar-header h2{font-size:20px}}
@media(max-height:740px){.flow-card[data-step="0"] .flow-heading{padding-top:10px;padding-bottom:10px}.flow-date-form .date-choice{height:58px}.calendar-header{margin-bottom:0}.calendar-legend{margin-top:4px}.flow-date-form{gap:6px}}
@media(max-width:350px){.flow-date-form .date-choice strong{font-size:16px!important}.flow-card[data-step="0"] .flow-content{padding-inline:10px}.calendar-header h2{font-size:18px}.calendar-number{width:30px;height:30px}.calendar-legend{gap:16px}}

.calendar-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.calendar-meta .calendar-selection{text-align:left}.calendar-meta .calendar-legend{display:inline-flex;gap:6px;margin:0;flex:none}.calendar-day:disabled{opacity:1!important;-webkit-text-fill-color:#7b756c}
@media(max-height:740px){.flow-card[data-step="0"] .flow-heading{padding-top:6px;padding-bottom:6px}.flow-date-form{gap:4px}.flow-date-form .date-choice{height:54px;padding-block:4px}.flow-card[data-step="0"] .flow-content{padding-top:6px;padding-bottom:8px}}
