.appointment-action-modal{width:640px}.appointment-action-modal header{margin-bottom:17px}.appointment-action-modal h2{font-size:27px}.appointment-action-modal .eyebrow{margin:0}
.appointment-summary{display:flex;align-items:start;justify-content:space-between;gap:14px;padding:18px;background:linear-gradient(120deg,#f1f6e9,#fafcf6);border:1px solid #dae5ce;border-radius:15px;margin-bottom:18px}.appointment-summary>div{min-width:0}.appointment-summary strong{font:23px Georgia,serif;color:#31553d;overflow-wrap:anywhere}.appointment-summary p{font-size:12px;color:#6d7c63;margin:9px 0 5px;line-height:1.6}.appointment-summary small{font-size:11px;line-height:1.6;color:#8a987f;overflow-wrap:anywhere}
.appointment-stage{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:10px;font-weight:600;line-height:1.4;padding:6px 9px;border-radius:20px;background:#eef2e9;color:#76866a}.appointment-stage:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.appointment-stage-confirmed{background:#e6f0e1;color:#587a47}.appointment-stage-arrived{background:#fbf1d9;color:#a88b45}.appointment-stage-in_progress{background:#e0eee7;color:#3e7258}.appointment-stage-completed{background:#edf1e8;color:#718a63}.appointment-stage-cancelled{background:#f8ede9;color:#a27266}
.appointment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.appointment-option{display:flex;align-items:start;gap:12px;text-align:left;border:1px solid #dfe6d8;border-radius:13px;background:#fffefb;color:#5f8052;padding:16px;min-height:84px;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.appointment-option svg{width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.appointment-option span{display:grid;gap:6px;min-width:0}.appointment-option strong{font:600 12px 'Manrope',sans-serif;color:#3c5d40;line-height:1.5}.appointment-option small{font-size:10px;color:#8a9880;line-height:1.6}.appointment-option:not(:disabled):hover{background:#f5f9ef;border-color:#b5c7a0;transform:translateY(-1px)}.appointment-option-danger{color:#a98673;border-color:#eadfd3}.appointment-option-danger strong{color:#8c6a55}.appointment-option:disabled{opacity:.55;background:#f7f8f3}
.appointment-patient-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 20px}.appointment-patient-data>div{min-width:0;padding-bottom:13px;border-bottom:1px solid #e6ecdf}.appointment-patient-data dt{font-size:10px;color:#96a189;margin-bottom:7px}.appointment-patient-data dd{font-size:12px;color:#4a6244;line-height:1.6;margin:0;overflow-wrap:anywhere}.appointment-registration-ready{font-size:12px;color:#648151;padding:12px;background:#f2f7e9;border-radius:10px}.appointment-cancellation-history,.appointment-cancel-note{padding:14px 16px;border:1px solid #e7dfcc;border-radius:12px;background:#fcf8ed;font-size:12px;line-height:1.7;color:#8c7a52}.appointment-cancellation-history{margin-top:17px}.appointment-cancellation-history p{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}.appointment-cancellation-history small{font-size:10px}.appointment-cancel-note{margin-bottom:17px}#appointment-cancel-form textarea{resize:vertical}#appointment-cancel-form .form-actions{margin-top:15px}.appointment-cancel-submit{background:#805f48}.appointment-patient-link{text-align:left;font-weight:600}.na-booking-actions{display:none}
.na-status-scheduled{background:#f2f6ee;border-color:#dfe8d6;border-left-color:#a2b58e}.na-status-scheduled .na-booking-open strong{color:#648053}.na-status-arrived{background:#fcf4e2;border-color:#ecdfbe;border-left-color:#c6aa61}.na-status-arrived .na-booking-open strong{color:#927635}.na-status-arrived .na-booking-time,.na-status-arrived .na-treatment,.na-status-arrived .na-booking-status{color:#ad985f}.na-status-completed .na-booking-status{color:#748a62}.na-dot-scheduled{background:#a2b58e}.na-dot-completed{background:#748a62}
@media(max-width:650px){.appointment-action-modal{padding:20px 16px}.appointment-action-modal h2{font-size:25px}.appointment-summary{padding:14px;flex-direction:column;gap:10px}.appointment-summary strong{font-size:22px}.appointment-options{grid-template-columns:minmax(0,1fr);gap:8px}.appointment-option{padding:14px;min-height:72px}.appointment-option strong{font-size:13px}.appointment-option small{font-size:11px}.appointment-patient-data{grid-template-columns:minmax(0,1fr);gap:12px}#appointment-cancel-form textarea{font-size:16px;min-height:120px}#appointment-cancel-form .form-actions{display:grid;grid-template-columns:minmax(0,1fr)}#appointment-cancel-form button{min-height:44px}}
@media(prefers-reduced-motion:reduce){.appointment-option{transition:none}.appointment-option:not(:disabled):hover{transform:none}}
