.picks-appointments .appointment-card{padding:16px;margin:14px 0;border:1px solid #dacfc4;border-radius:12px;background:#fffcf9}.picks-appointments .appointment-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.picks-appointments .appointment-actions>*{margin:0}.picks-appointments .appointment-feedback{padding:10px 0;overflow-wrap:anywhere}.picks-appointments .appointment-feedback:empty{display:none}.picks-appointments .appointment-feedback.error{color:#8a2929}.picks-appointments details{margin:16px 0}.picks-appointments summary{cursor:pointer;font-weight:700;padding:8px 0}.picks-appointments label{display:grid;gap:6px;margin:10px 0}.picks-appointments input,.picks-appointments select,.picks-appointments textarea{box-sizing:border-box;font:inherit;min-height:44px;max-width:100%;padding:10px;border:1px solid #b2a191;border-radius:8px;background:white}.picks-appointments .appointment-rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.picks-appointments .appointment-alert{background:#fff2df;padding:12px;border-radius:8px}.picks-appointments .appointment-toggle{display:flex;align-items:center;gap:8px}.picks-appointments .appointment-toggle input{min-height:24px;width:24px}.picks-appointments button:disabled{opacity:.6;cursor:default}@media(max-width:520px){.picks-appointments .appointment-actions{flex-direction:column;align-items:stretch}.picks-appointments button,.picks-appointments select{white-space:normal;overflow-wrap:anywhere}}

.picks-appointments .appointment-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0}.picks-appointments .appointment-toolbar label{flex:1 1 200px;margin:0}.picks-appointments .appointment-toolbar button{min-height:44px}
.picks-cancel-dialog{width:min(520px,calc(100% - 28px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #dacfc4;border-radius:16px;padding:22px;background:#fffcf9;color:#302c2b}.picks-cancel-dialog::backdrop{background:#302c2b80}.picks-cancel-dialog h2{margin:0 0 14px;font-family:Georgia,serif}.picks-cancel-dialog label{display:block;font-weight:700;margin:16px 0 8px}.picks-cancel-dialog textarea{font:inherit;width:100%;min-height:90px;padding:10px;border:1px solid #b2a191;border-radius:8px}.picks-cancel-dialog [data-cancel-summary]{font-weight:700}.picks-cancel-dialog [data-cancel-error]{color:#8a2929;overflow-wrap:anywhere}.picks-cancel-dialog [data-cancel-error]:empty{display:none}.picks-cancel-dialog .appointment-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.picks-cancel-dialog button{min-height:44px}.picks-cancel-dialog :focus-visible{outline:3px solid #315f8c;outline-offset:2px}@media(max-width:520px){.picks-cancel-dialog .appointment-actions{flex-direction:column}.picks-cancel-dialog button{width:100%}}

.picks-booking-dialog select{width:100%;min-height:46px;border:1px solid #b2a191;border-radius:8px;padding:10px;font:inherit;background:#fff}.picks-booking-dialog [data-booking-error]{color:#8a2929}.picks-booking-dialog [data-booking-error]:empty{display:none}

.appointment-send-status{margin:14px 0;padding:13px;border:1px solid #d5c7b9;border-radius:10px;background:#f7f3ee;overflow-wrap:anywhere}.appointment-send-status strong{display:block;font-size:1rem}.appointment-send-status p{margin:7px 0 0;line-height:1.5}.appointment-send-ready{border-color:#a6bea0;background:#f0f6ec;color:#314c2d}.appointment-send-review{border-color:#d5a17d;background:#fff1e5;color:#743c26}
.appointment-shopping-focus{margin:16px 0;padding:16px;border:1px solid #dfd1d6;border-radius:12px;min-width:0}
.appointment-shopping-focus legend{font-weight:700;padding:0 6px}
.appointment-shopping-focus .shopping-focus-choice{display:flex;align-items:flex-start;gap:12px;margin:14px 0;line-height:1.5;cursor:pointer}
.appointment-shopping-focus .shopping-focus-choice input{width:20px;min-width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:3px 0 0;padding:0}
.appointment-shopping-focus [hidden]{display:none!important}
.appointment-shopping-focus textarea{width:100%;max-width:100%;box-sizing:border-box}
.appointment-shopping-summary{margin:14px 0;padding:14px;border:1px solid #e6d8dd;border-radius:12px;background:#fcf7f9;overflow-wrap:anywhere}
.appointment-shopping-summary p{margin:8px 0 0;white-space:pre-wrap}
