.hero{padding-bottom:28px}.availability-notice{background:#e7eadf;border-left:4px solid var(--green);padding:16px 22px;margin-bottom:30px}.availability-notice p{font-size:14px;line-height:1.9;margin:8px 0}.availability-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:30px;align-items:start}.calendar-panel,.selected-day{min-width:0;border:1px solid var(--line);background:#fffdf7;border-radius:10px;padding:22px}.calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-controls h2{font-size:23px;font-weight:500;margin:0}.calendar-controls button{font:inherit;border:1px solid var(--green);border-radius:6px;background:var(--green);color:white;min-width:44px;min-height:44px;cursor:pointer}.calendar-controls button:disabled{opacity:.35;cursor:default}.calendar-legend{display:flex;gap:6px 16px;flex-wrap:wrap;padding:0;list-style:none;font-size:12px}#calendar-message{font-size:13px;line-height:1.9}.availability-calendar{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:4px;margin-top:15px}.availability-calendar th,.availability-calendar td{padding:0;border:0;text-align:center;background:none}.availability-calendar th{font-size:12px;font-weight:500;padding:6px 0}.day-button{font:inherit;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;width:100%;min-height:62px;border:1px solid #c6ccbf;background:#f2f1eb;color:#4b5447;border-radius:6px;cursor:pointer}.day-button span{font-size:16px;line-height:1.5}.day-button small{font-size:15px;line-height:1.5}.day-button.available{background:#e6f0df;color:#28522d}.day-button.partial{background:#fff1d7;color:#75531d}.day-button.unavailable{background:#f6e4df;color:#7b3027}.day-button.past{opacity:.4;cursor:default}.day-button[aria-pressed=true]{outline:3px solid var(--green);outline-offset:0}.day-button[aria-current=date] span{text-decoration:underline;text-underline-offset:3px}.day-button:focus-visible,.calendar-controls button:focus-visible{outline:3px solid #bf633a;outline-offset:2px}.selected-day h2{font-size:21px;font-weight:500;margin:0 0 12px}.selected-day>p{font-size:13px;line-height:1.9}.slot-row{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0;margin:0;font-size:14px}.slot-status{font-size:13px;font-weight:500;white-space:nowrap}.slot-status.available{color:#28522d}.slot-status.unavailable{color:#7b3027}.slot-note{margin:25px 0}.selected-day .line-add-button{font-size:14px;width:100%;padding:14px 10px}.line-name-note,.calendar-updated{font-size:11px;color:var(--muted);line-height:1.8}.availability-links{padding:32px 0;font-size:13px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:800px){.availability-layout{grid-template-columns:1fr;gap:22px}.calendar-panel,.selected-day{padding:16px}.availability-notice{padding:14px 16px}.calendar-controls h2{font-size:21px}.availability-calendar{border-spacing:2px}.day-button{min-height:53px}.day-button span{font-size:14px}.day-button small{font-size:13px}.slot-row{font-size:13px;gap:10px}}

.day-button.consult{background:#f6eddf;color:#72532b;border-color:#cdb68e}.slot-status.consult{color:#72532b}.holiday-note{background:#f6eddf;color:#684721;padding:14px;border-radius:6px}[hidden]{display:none!important}
