.clinic-calendar{margin:0 0 38px;padding:30px;border:1px solid #e8dfd6;border-radius:6px;background:#fff;color:#302a28}.cal-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 24px}.cal-heading h2{font-size:26px;font-weight:650;letter-spacing:-1px;margin:8px 0}.cal-heading p{font-size:10px;color:#997e6e;letter-spacing:2px;margin:0}.cal-controls{display:flex;align-items:center;gap:12px}.cal-controls button{padding:10px 14px;border:1px solid #e3d9cf;border-radius:4px;background:white;color:#643349;cursor:pointer}.cal-controls strong{font-size:19px;white-space:nowrap}.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-week{font-size:12px;text-align:center;color:#8b8078;padding-bottom:12px}.cal-week span:first-child{color:#ad4354}.cal-day,.cal-empty{min-width:0;min-height:108px;border:0;border-top:1px solid #ece6e0;border-right:1px solid #ece6e0;padding:11px 8px;background:#fff;text-align:left;font-family:inherit;color:#51473f;display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere}.cal-day:nth-child(7n),.cal-empty:nth-child(7n){border-right:0}.cal-number{display:flex;justify-content:space-between;gap:3px;font-size:15px;font-weight:600}.cal-number small{font-size:9px;font-weight:500;color:#782f43}.cal-day strong{font-size:11px;font-weight:550}.cal-time,.cal-note{font-size:10px;line-height:1.5}.cal-note{color:#8d7e71}.cal-closed{background:#fcf2f2;color:#a1384b}.cal-changed{background:#f9f2e6;color:#89601e}.cal-holiday{font-size:10px;color:#a1384b;line-height:1.4}.cal-day.is-selected{outline:2px solid #782f43;outline-offset:-2px;background:#f4ecef}.cal-day.is-today .cal-number{color:#782f43}.cal-day[data-date]{cursor:pointer}.cal-day[data-date]:hover{box-shadow:inset 0 0 0 1px #ab8693}.cal-day:focus-visible{outline:3px solid #782f43;outline-offset:-3px}.cal-legend{display:flex;flex-wrap:wrap;gap:15px;font-size:11px;margin:18px 0;color:#7b6d63}.cal-legend span:before{content:'';display:inline-block;width:9px;height:9px;background:#eee7e0;margin-right:5px;border:1px solid #dbcfc5}.cal-legend .closed:before{background:#f1cfd2}.cal-legend .changed:before{background:#eeddbd}.cal-notice,.cal-unavailable{font-size:13px;line-height:1.8;color:#7e6d62;white-space:pre-line}.cal-footer-note{font-size:11px;color:#99897d;line-height:1.8;margin-bottom:0}.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.schedule-layout .clinic-calendar{padding:22px;margin:0}.schedule-editor{position:sticky;top:24px}.schedule-editor h2{margin-top:0;font-size:20px}.schedule-editor label{display:block;margin:16px 0 8px;font-size:13px;color:#6e5a50}.schedule-editor input,.schedule-editor select,.schedule-editor textarea,.schedule-toolbar input,.schedule-notice{display:block;width:100%;padding:11px;border:1px solid #ded3c8;border-radius:4px;font:inherit;background:white;color:#302a28}.schedule-editor textarea,.schedule-notice{resize:vertical}.schedule-editor .time-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.schedule-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:24px}.schedule-toolbar input{width:auto}.schedule-toolbar label{font-size:13px}.schedule-help{line-height:1.8;font-size:13px;color:#8c786b}.schedule-publish{display:flex;gap:10px;align-items:center;margin:22px 0;font-size:14px}.schedule-preview{margin-top:32px;padding-top:25px;border-top:1px solid #dfd3c9}.schedule-preview>h2{font-size:22px}.schedule-preview .clinic-calendar{max-width:900px}.schedule-message{font-size:14px;line-height:1.7;color:#782f43}.schedule-error{color:#b12f44}.schedule-save-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px}.schedule-editor .secondary-button{width:100%;margin-top:15px}#schedule-app [disabled]{opacity:.55;cursor:wait}.review-banner{padding:16px 5%;background:#782f43;color:white;font-size:14px;line-height:1.7}.schedule-publish input{width:18px;height:18px}.cal-today-button{font-size:12px}
@media(max-width:760px){.schedule-layout{grid-template-columns:1fr}.schedule-editor{position:static}.clinic-calendar,.schedule-layout .clinic-calendar{padding:16px 10px}.cal-heading{flex-wrap:wrap;margin-bottom:18px}.cal-heading h2{font-size:23px}.cal-controls{gap:7px}.cal-controls strong{font-size:17px}.cal-controls button{padding:8px 11px}.cal-day,.cal-empty{min-height:92px;padding:8px 3px;gap:4px}.cal-number{font-size:13px}.cal-number small{font-size:8px}.cal-day strong{font-size:10px}.cal-time{font-size:9px;letter-spacing:-.5px}.cal-note,.cal-holiday{font-size:9px}.cal-legend{gap:10px}.schedule-toolbar{gap:10px}.clinic-calendar{margin-bottom:25px}.schedule-help{font-size:12px}}
/* Visitor calendar: clear status labels within the clinic's wine/ivory palette. */
.calendar-visitor{border-color:#d8c9bd;box-shadow:0 8px 28px #5a354009}.calendar-visitor .cal-heading p{color:#735947}.calendar-visitor .cal-heading h2,.calendar-visitor .cal-controls strong{color:#3e292e}.calendar-visitor .cal-controls button{border-color:#bda99b;color:#642239;font-weight:650;min-width:42px;min-height:42px}.calendar-visitor .cal-week{color:#54453d;font-weight:650}.calendar-visitor .cal-week span:first-child{color:#872c47}.calendar-visitor .cal-day{background:#fbf8f3;border-color:#ded2c7;min-height:120px;color:#40332d;gap:7px}.calendar-visitor .cal-empty{background:#fff;border-color:#ded2c7}.calendar-visitor .cal-number{font-size:17px;color:#34272c;font-weight:700}.calendar-visitor .cal-day strong{align-self:flex-start;font-size:12px;line-height:1.4;font-weight:700;padding:4px 7px;border-radius:4px;background:#e9e1d7;color:#493a30}.calendar-visitor .cal-closed{background:#f8eaf0}.calendar-visitor .cal-closed strong{background:#782f43;color:#fff}.calendar-visitor .cal-closed .cal-number,.calendar-visitor .cal-holiday{color:#872c47}.calendar-visitor .cal-changed{background:#faf0dd}.calendar-visitor .cal-changed strong{background:#79531c;color:#fff}.calendar-visitor .cal-time{font-size:12px;font-weight:600;color:#493a30;letter-spacing:-.3px;font-variant-numeric:tabular-nums}.calendar-visitor .cal-note{font-size:11px;color:#655247}.calendar-visitor .cal-holiday{font-size:11px;font-weight:650}.calendar-visitor .cal-legend{font-size:12px;font-weight:550;color:#534239}.calendar-visitor .cal-legend span:before{background:#e9e1d7;border-color:#bba48e}.calendar-visitor .cal-legend .closed:before{background:#782f43;border-color:#782f43}.calendar-visitor .cal-legend .changed:before{background:#79531c;border-color:#79531c}.calendar-visitor .cal-notice{padding:15px 18px;background:#f6f0e9;border-left:3px solid #782f43;color:#514037;border-radius:3px}.calendar-visitor .cal-footer-note,.calendar-visitor .cal-unavailable{color:#655247}.calendar-visitor .cal-number small{font-size:10px;font-weight:700;color:#782f43}.calendar-visitor .cal-day.is-today{box-shadow:inset 0 0 0 2px #782f43}
@media(max-width:760px){.calendar-visitor .cal-day,.calendar-visitor .cal-empty{min-height:114px;padding:9px 4px}.calendar-visitor .cal-number{font-size:15px;flex-wrap:wrap}.calendar-visitor .cal-number small{font-size:9px}.calendar-visitor .cal-day strong{font-size:10px;padding:4px 3px}.calendar-visitor .cal-time{display:flex;flex-direction:column;font-size:11px;line-height:1.45;letter-spacing:0}.calendar-visitor .cal-dash{display:none}.calendar-visitor .cal-holiday,.calendar-visitor .cal-note{font-size:10px}.calendar-visitor .cal-legend{font-size:11px;gap:12px}.calendar-visitor .cal-notice{padding:12px;font-size:12px}}

/* Shared public calendar card and administrator visitor preview. */
.calendar-visitor{padding:0;overflow:hidden;border-radius:12px}.calendar-visitor .monthly-title{background:#782f43;padding:27px 32px;color:white;display:flex;align-items:center;justify-content:space-between;gap:16px}.calendar-visitor .monthly-title .section-heading{display:flex;align-items:center;gap:18px;border:0;padding:0;margin:0}.calendar-visitor .monthly-title h2{font:700 29px/1.25 Pretendard,sans-serif;letter-spacing:-1px;color:white;margin:0}.calendar-visitor .monthly-title .eyebrow{color:#ecd6dc;font-size:10px;letter-spacing:2.5px;margin:0 0 9px}.calendar-visitor .section-number{width:46px;height:46px;display:grid;place-items:center;flex-shrink:0;color:#fff;background:#ffffff0e;border:1px solid #b48291;border-radius:50%;font-size:15px;font-weight:650}.calendar-visitor .monthly-chip{font-size:12px;white-space:nowrap;border:1px solid #b48291;border-radius:30px;padding:9px 13px;color:#f6e9ed}.calendar-visitor .monthly-inner{padding:28px;background:#fff}.calendar-visitor .cal-heading{justify-content:flex-end}@media(max-width:650px){.calendar-visitor .monthly-title{padding:23px 18px}.calendar-visitor .monthly-chip{display:none}.calendar-visitor .monthly-title .section-heading{gap:12px}.calendar-visitor .section-number{width:36px;height:36px;font-size:12px}.calendar-visitor .monthly-title h2{font-size:24px}.calendar-visitor .monthly-title .eyebrow{font-size:8px;letter-spacing:2px}.calendar-visitor .monthly-inner{padding:19px 10px}}
