.appointment-card[data-v-15f2e281]{background:#f8f9fa;border-radius:12px;padding:20px;border:2px solid #e9ecef;margin-bottom:16px;transition:all .3s;position:relative;cursor:pointer}.appointment-card[data-v-15f2e281]:hover{border-color:#2a9d8f;box-shadow:0 4px 12px rgba(42,157,143,.15)}.appointment-card.selected[data-v-15f2e281]{background:#e8f5f3;border-color:#2a9d8f}.appointment-header[data-v-15f2e281]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;position:relative}.appointment-header-content[data-v-15f2e281]{flex:1;min-width:0}.patient-name[data-v-15f2e281]{font-size:24px;font-weight:700;color:#333;margin-bottom:4px}.clinic-name[data-v-15f2e281]{font-size:20px;color:#666;margin-bottom:12px;font-weight:700}.appointment-summary[data-v-15f2e281]{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.summary-item[data-v-15f2e281]{display:flex;align-items:center;gap:8px;font-size:20px;color:#666;font-weight:600}.summary-item svg[data-v-15f2e281]{width:20px;height:20px;color:#2a9d8f;flex-shrink:0}.summary-value[data-v-15f2e281]{color:#333}.appointment-type[data-v-15f2e281]{display:inline-block;padding:4px 12px;border-radius:20px;font-size:16px;font-weight:700;background:#e8f5f3;color:#207868}.expand-btn[data-v-15f2e281]{position:absolute;top:0;right:0;background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:transform .3s;flex-shrink:0}.expand-btn svg[data-v-15f2e281]{width:24px;height:24px;color:#2a9d8f}.expand-btn.expanded svg[data-v-15f2e281]{transform:rotate(180deg)}.appointment-details[data-v-15f2e281]{max-height:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease,margin-top .3s ease;opacity:0;width:100%}.appointment-details.show[data-v-15f2e281]{max-height:500px;opacity:1;margin-top:16px;padding-top:16px;border-top:2px solid #e9ecef;overflow:hidden}.appointment-info[data-v-15f2e281]{display:grid;gap:12px;width:100%}.info-row[data-v-15f2e281]{display:flex;justify-content:space-between;align-items:center;padding:8px 0;word-break:break-word}.info-label[data-v-15f2e281]{font-size:20px;color:#666;font-weight:500;flex-shrink:0;margin-right:12px}.info-value[data-v-15f2e281]{font-size:20px;color:#333;font-weight:600;text-align:right;word-break:break-word}.info-value.status[data-v-15f2e281]{display:inline-block;padding:4px 12px;border-radius:20px;font-size:16px;font-weight:700}.info-value.status.confirmed[data-v-15f2e281]{background:#e8f5f3;color:#207868}.info-value.status.pending[data-v-15f2e281]{background:#fef3e8;color:#f59e0b}.info-value.status.cancelled[data-v-15f2e281]{background:#fce4ec;color:#dc2626}@media(max-width:767px){.appointment-card[data-v-15f2e281]{padding:16px}.clinic-name[data-v-15f2e281],.patient-name[data-v-15f2e281]{font-size:20px}.summary-item[data-v-15f2e281]{font-size:16px}.info-row[data-v-15f2e281]{flex-direction:column;align-items:flex-start;gap:4px}.info-value[data-v-15f2e281]{text-align:left}}.reservation-list[data-v-80d92bfe]{position:relative;min-height:100vh}.main-content[data-v-80d92bfe]{padding:24px 16px 0;min-height:calc(100vh - 200px);max-width:800px;margin:0 auto;overflow-x:hidden}.appointment-list[data-v-80d92bfe]{display:flex;flex-direction:column}.tongxin-modal[data-v-80d92bfe]{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:2000;justify-content:center;align-items:center}.tongxin-modal.show[data-v-80d92bfe]{display:flex}.tongxin-modal__content[data-v-80d92bfe]{background:#fff;border-radius:16px;padding:32px;max-width:500px;width:90%;box-shadow:0 10px 40px rgba(0,0,0,.3);-webkit-animation:modalSlideIn-data-v-80d92bfe .3s ease-out;animation:modalSlideIn-data-v-80d92bfe .3s ease-out}.tongxin-modal__header[data-v-80d92bfe]{text-align:center;margin-bottom:24px}.tongxin-modal__icon[data-v-80d92bfe]{width:60px;height:60px;background:#fee2e2;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.tongxin-modal__icon svg[data-v-80d92bfe]{width:30px;height:30px;color:#dc2626}.tongxin-modal__title[data-v-80d92bfe]{font-size:26px;font-weight:700;color:#333;margin-bottom:8px}.tongxin-modal__body[data-v-80d92bfe]{margin-bottom:24px}.tongxin-modal__text[data-v-80d92bfe]{font-size:20px;color:#666;line-height:1.6;text-align:center;margin-bottom:20px}.tongxin-modal__buttons[data-v-80d92bfe]{display:flex;justify-content:center;gap:12px}.tongxin-modal__buttons .btn+.btn[data-v-80d92bfe]{margin-left:auto}.cancel-info-box[data-v-80d92bfe]{background:#f8f9fa;border-radius:8px;padding:16px;margin-top:16px;border-left:4px solid #dc2626}.cancel-info-item[data-v-80d92bfe]{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e9ecef}.cancel-info-item[data-v-80d92bfe]:last-child{border-bottom:none}.cancel-info-label[data-v-80d92bfe]{font-size:16px;color:#666;font-weight:500}.cancel-info-value[data-v-80d92bfe]{font-size:19px;color:#333;font-weight:600;text-align:right}.empty-state[data-v-80d92bfe]{text-align:center;padding:60px 20px}.empty-icon[data-v-80d92bfe]{width:100px;height:100px;background:#f8f9fa;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.empty-icon svg[data-v-80d92bfe]{width:50px;height:50px;color:#ccc}.empty-text[data-v-80d92bfe]{font-size:20px;color:#999;margin-bottom:24px}.fixed-footer-navigation .button-group[data-v-80d92bfe]{display:flex;justify-content:center;gap:20px;max-width:800px;margin:0 auto}.fixed-footer-navigation .button-group .btn[data-v-80d92bfe]{flex:1}.fixed-footer-navigation .button-group .btn+.btn[data-v-80d92bfe]{margin-left:auto}.btn-block[data-v-80d92bfe]{width:100%;margin-bottom:12px}@media(max-width:767px){.main-content[data-v-80d92bfe]{padding:20px}.tongxin-modal__content[data-v-80d92bfe]{padding:24px}.tongxin-modal__title[data-v-80d92bfe]{font-size:22px}.cancel-info-item[data-v-80d92bfe]{flex-direction:column;align-items:flex-start;gap:4px;padding:10px 0}.cancel-info-label[data-v-80d92bfe]{font-size:15px}.cancel-info-value[data-v-80d92bfe]{font-size:19px;text-align:left}}@-webkit-keyframes modalSlideIn-data-v-80d92bfe{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideIn-data-v-80d92bfe{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}