.appointment-planner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 14px;margin-top:24px;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.appointment-planner>label{font-size:13px;font-weight:600}
.appointment-planner>input{min-height:46px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:var(--cream);color:var(--ink);font:inherit}
.appointment-planner>.button{grid-column:1/-1;justify-self:start}
.appointment-status,.appointment-result{grid-column:1/-1;font-size:12px;line-height:1.7;color:var(--muted)}
.appointment-status[data-state=error]{color:#8c3828}
.appointment-status[data-state=success],.appointment-result[data-state=success]{color:var(--forest)}
.appointment-slots{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px}
.appointment-slot{min-width:76px;padding:10px 14px;border:1px solid var(--line);border-radius:4px;background:var(--cream);color:var(--forest);font-size:13px}
.appointment-slot:hover,.appointment-slot[aria-pressed=true]{border-color:var(--forest);background:var(--forest);color:var(--paper)}
.appointment-planner .button:disabled{opacity:.55}
.weekday-request{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr);gap:21px;margin-top:14px;padding:25px 27px;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius)}
.weekday-request-heading .eyebrow{display:block;margin-bottom:7px;color:var(--sage);font-size:9px;letter-spacing:1.5px}
.weekday-request-heading h4{margin:0;color:var(--forest);font-family:Georgia,'Times New Roman',serif;font-size:23px;font-weight:400;letter-spacing:-.35px;line-height:1.25}
.weekday-request-heading p{max-width:520px;margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.8}
.weekday-request-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.weekday-request-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.weekday-request-field-wide{grid-column:1/-1}
.weekday-request-field label{color:var(--ink);font-size:11px;line-height:1.5}
.weekday-request-field label>span{margin-left:2px;color:var(--forest)}
.weekday-request-field label small{margin-left:4px;color:var(--muted);font-size:10px;font-weight:400}
.weekday-request-field input,.weekday-request-field textarea{width:100%;min-width:0;min-height:46px;padding:11px 13px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);font:inherit;font-size:13px;line-height:1.5}
.weekday-request-field textarea{min-height:78px;resize:vertical}
.weekday-request-field input::placeholder,.weekday-request-field textarea::placeholder{color:#889184;font-size:12px}
.weekday-request-field input:focus-visible,.weekday-request-field textarea:focus-visible{outline:2px solid var(--forest);outline-offset:2px}
.weekday-request-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.weekday-request-actions .button{min-height:46px}
.weekday-request-actions .appointment-status{flex-basis:100%;margin:0}
.weekday-request-footnote{color:var(--muted);font-size:10px;line-height:1.6}
.weekday-request .appointment-status[data-state=error]{color:#8c3828}
.weekday-request .appointment-status[data-state=success]{color:var(--forest)}
@media(max-width:560px){.appointment-planner{grid-template-columns:1fr}.appointment-planner>.button{width:100%;justify-content:center}.appointment-planner>input{width:100%}}
@media(max-width:560px){.weekday-request{gap:18px;padding:20px 17px}.weekday-request-fields{grid-template-columns:minmax(0,1fr);gap:13px}.weekday-request-field-wide{grid-column:auto}.weekday-request-actions{align-items:stretch}.weekday-request-actions .button{width:100%;justify-content:center}.weekday-request-footnote{flex-basis:100%}}
