.appointment-calendar[hidden],#appointment-picker[hidden]{display:none}
.appointment-calendar{margin-bottom:20px;padding:16px;background:var(--navy-900);border:1px solid var(--line-strong);border-radius:14px;min-width:0}
.appointment-calendar__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}
.appointment-calendar__header h3{font-size:1.1rem;text-align:center}
.appointment-calendar__header button{background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:10px;width:40px;height:40px;font-size:1.5rem;cursor:pointer;flex-shrink:0}
.appointment-calendar__week,.appointment-calendar__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}
.appointment-calendar__week{font-size:.72rem;color:var(--muted);margin-bottom:8px}
.appointment-calendar__days button{padding:0;min-height:40px;background:transparent;color:var(--muted-2);border:1px solid transparent;border-radius:9px;font:inherit;font-size:.9rem}
.appointment-calendar__days button:not(:disabled){background:rgba(242,106,33,.12);border-color:rgba(242,106,33,.35);color:var(--text);cursor:pointer}
.appointment-calendar__days button:not(:disabled):hover{background:rgba(242,106,33,.3)}
.appointment-calendar__days button[aria-pressed=true]{background:var(--orange);color:white;border-color:var(--orange);font-weight:700}
.appointment-calendar button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.appointment-calendar__header button:disabled{opacity:.3;cursor:default}
.appointment-calendar__selection{margin-top:14px;font-size:.9rem;font-weight:600;color:var(--text)}
@media(max-width:420px){.appointment-calendar{padding:10px}.appointment-calendar__days{gap:3px}.appointment-calendar__days button{min-height:38px}}
