.appointment-card[data-v-7f9798a0]{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-7f9798a0]:hover{border-color:#2a9d8f;box-shadow:0 4px 12px rgba(42,157,143,.15)}.appointment-card.selected[data-v-7f9798a0]{background:#e8f5f3;border-color:#2a9d8f}.appointment-header[data-v-7f9798a0]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;position:relative}.appointment-header-content[data-v-7f9798a0]{flex:1;min-width:0}.patient-name[data-v-7f9798a0]{font-size:26px;font-weight:700;color:#333;margin-bottom:4px}.clinic-name[data-v-7f9798a0]{font-size:14px;color:#666;margin-bottom:12px;font-weight:700}.appointment-summary[data-v-7f9798a0]{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.summary-item[data-v-7f9798a0]{display:flex;align-items:center;gap:8px;font-size:20px;color:#666;font-weight:600}.summary-item svg[data-v-7f9798a0]{width:20px;height:20px;color:#2a9d8f;flex-shrink:0}.summary-value[data-v-7f9798a0]{color:#333}.summary-value .date-pending[data-v-7f9798a0]{color:red}.appointment-type[data-v-7f9798a0]{display:inline-block;padding:4px 12px;border-radius:20px;font-size:16px;font-weight:700;background:#e8f5f3;color:#207868}.expand-btn[data-v-7f9798a0]{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-7f9798a0]{width:24px;height:24px;color:#2a9d8f}.expand-btn.expanded svg[data-v-7f9798a0]{transform:rotate(180deg)}.appointment-details[data-v-7f9798a0]{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-7f9798a0]{max-height:500px;opacity:1;margin-top:16px;padding-top:16px;border-top:2px solid #e9ecef;overflow:hidden}.appointment-info[data-v-7f9798a0]{display:grid;width:100%}.info-row[data-v-7f9798a0]{display:flex;justify-content:space-between;align-items:center;padding:8px 0;word-break:break-word}.info-row[data-v-7f9798a0]:not(:last-child){border-bottom:1px solid #d9d9d9;margin-bottom:12px;padding-bottom:12px}.info-label[data-v-7f9798a0]{font-size:20px;color:#666;font-weight:500;flex-shrink:0;margin-right:12px}.info-value[data-v-7f9798a0]{font-size:20px;color:#333;font-weight:600;text-align:right;word-break:break-word;white-space:pre-line}.info-value.status[data-v-7f9798a0]{display:inline-block;padding:4px 12px;border-radius:20px;font-size:16px;font-weight:700}.info-value.status.confirmed[data-v-7f9798a0]{background:#e8f5f3;color:#207868}.info-value.status.pending[data-v-7f9798a0]{background:#fef3e8;color:#f59e0b}.info-value.status.cancelled[data-v-7f9798a0]{background:#fce4ec;color:#dc2626}@media(max-width:767px){.appointment-card[data-v-7f9798a0]{padding:16px}.clinic-name[data-v-7f9798a0],.patient-name[data-v-7f9798a0]{font-size:20px}.summary-item[data-v-7f9798a0]{font-size:16px}.info-row[data-v-7f9798a0]{flex-direction:column;align-items:flex-start;gap:4px}.info-value[data-v-7f9798a0]{text-align:left}}.reservation-list[data-v-13b7a496]{position:relative;min-height:100vh}.main-content[data-v-13b7a496]{padding:24px 16px 0;min-height:calc(100vh - 200px);max-width:800px;margin:0 auto;overflow-x:hidden}.appointment-list[data-v-13b7a496]{display:flex;flex-direction:column}.tongxin-modal[data-v-13b7a496]{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-13b7a496]{display:flex}.tongxin-modal__content[data-v-13b7a496]{background:#fff;border-radius:16px;padding:32px;max-width:500px;width:90%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,.3);-webkit-animation:modalSlideIn-data-v-13b7a496 .3s ease-out;animation:modalSlideIn-data-v-13b7a496 .3s ease-out}.tongxin-modal__header[data-v-13b7a496]{text-align:center;margin-bottom:24px;flex-shrink:0}.tongxin-modal__icon[data-v-13b7a496]{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-13b7a496]{width:30px;height:30px;color:#dc2626}.tongxin-modal__title[data-v-13b7a496]{font-size:26px;font-weight:700;color:#333;margin-bottom:8px}.tongxin-modal__body[data-v-13b7a496]{margin-bottom:24px;overflow-y:auto;flex:1}.tongxin-modal__text[data-v-13b7a496]{font-size:20px;color:#666;line-height:1.6;text-align:center;margin-bottom:20px}.tongxin-modal__buttons[data-v-13b7a496]{display:flex;justify-content:center;gap:12px;flex-shrink:0}.tongxin-modal__buttons .btn+.btn[data-v-13b7a496]{margin-left:auto}.cancel-info-box[data-v-13b7a496]{background:#f8f9fa;border-radius:8px;padding:16px;margin-top:16px;border-left:4px solid #dc2626}.cancel-info-item[data-v-13b7a496]{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e9ecef}.cancel-info-item[data-v-13b7a496]:last-child{border-bottom:none}.cancel-info-label[data-v-13b7a496]{font-size:16px;color:#666;font-weight:500}.cancel-info-value[data-v-13b7a496]{font-size:19px;color:#333;font-weight:600;text-align:right}.empty-state[data-v-13b7a496]{text-align:center;padding:60px 20px}.empty-icon[data-v-13b7a496]{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-13b7a496]{width:50px;height:50px;color:#ccc}.empty-text[data-v-13b7a496]{font-size:20px;color:#999;margin-bottom:24px}.fixed-footer-navigation .button-group[data-v-13b7a496]{display:flex;justify-content:center;gap:20px;max-width:800px;margin:0 auto}.fixed-footer-navigation .button-group .btn[data-v-13b7a496]{flex:1}.fixed-footer-navigation .button-group .btn+.btn[data-v-13b7a496]{margin-left:auto}.btn-block[data-v-13b7a496]{width:100%;margin-bottom:12px}@media(max-width:767px){.main-content[data-v-13b7a496]{padding:20px}.tongxin-modal__content[data-v-13b7a496]{padding:24px}.tongxin-modal__title[data-v-13b7a496]{font-size:22px}.cancel-info-item[data-v-13b7a496]{flex-direction:column;align-items:flex-start;gap:4px;padding:10px 0}.cancel-info-label[data-v-13b7a496]{font-size:15px}.cancel-info-value[data-v-13b7a496]{font-size:19px;text-align:left}}@-webkit-keyframes modalSlideIn-data-v-13b7a496{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideIn-data-v-13b7a496{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.member-form form[data-v-76116c7b]{margin-top:40px}.member-form form .form-group[data-v-76116c7b]{margin-bottom:24px}.member-form form .form-group label[data-v-76116c7b]{display:block;font-size:16px;font-weight:600;color:#333;margin-bottom:8px}.member-form form .form-group label.required[data-v-76116c7b]:after{content:" *";color:#dc3545}.member-form form .form-group .form-control[data-v-76116c7b]{width:100%;padding:12px;font-size:16px;border:2px solid #e0e0e0;border-radius:8px;transition:border-color .3s}.member-form form .form-group .form-control[data-v-76116c7b]:focus{outline:none;border-color:#207868}.member-form form .form-group .form-control[data-v-76116c7b]::-moz-placeholder{color:#999}.member-form form .form-group .form-control[data-v-76116c7b]:-ms-input-placeholder{color:#999}.member-form form .form-group .form-control[data-v-76116c7b]::placeholder{color:#999}.member-form form .form-group select.form-control[data-v-76116c7b]{cursor:pointer}.member-form form .form-group .error-message[data-v-76116c7b]{color:#dc3545;font-size:14px;margin-top:4px}.member-form form .reminder-green[data-v-76116c7b]{background:#e8f5f3;border-left:4px solid #207868;padding:16px;margin-bottom:24px;border-radius:4px;font-size:14px;color:#333;line-height:1.6}.member-form form .btn[data-v-76116c7b]{padding:12px 24px;font-size:16px;font-weight:600;border-radius:8px;transition:all .3s}.member-form form .btn.btn-primary[data-v-76116c7b]{background:#207868;border:none;color:#fff}.member-form form .btn.btn-primary[data-v-76116c7b]:hover:not(:disabled){background:#186052}.member-form form .btn.btn-primary[data-v-76116c7b]:disabled{opacity:.6;cursor:not-allowed}.member-form form .btn.btn-secondary[data-v-76116c7b]{background:#6c757d;border:none;color:#fff}.member-form form .btn.btn-secondary[data-v-76116c7b]:hover{background:#5a6268}.member-form form .btn.btn-outline-danger[data-v-76116c7b]{background:#fff;border:2px solid #dc3545;color:#dc3545}.member-form form .btn.btn-outline-danger[data-v-76116c7b]:hover:not(:disabled){background:#dc3545;color:#fff}.member-form form .btn.btn-outline-danger[data-v-76116c7b]:disabled{opacity:.6;cursor:not-allowed}.member-form .search-result[data-v-76116c7b]{margin-top:40px}.member-form .search-result .result-title[data-v-76116c7b]{font-size:20px;font-weight:700;color:#207868;margin-bottom:20px;text-align:center}.member-form .search-result .appointment-list[data-v-76116c7b]{display:flex;flex-direction:column}.member-form .search-result .empty-state[data-v-76116c7b]{text-align:center;padding:40px 20px}.member-form .search-result .empty-state .empty-icon[data-v-76116c7b]{width:80px;height:80px;background:#f8f9fa;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.member-form .search-result .empty-state .empty-icon svg[data-v-76116c7b]{width:40px;height:40px;color:#ccc}.member-form .search-result .empty-state .empty-text[data-v-76116c7b]{font-size:18px;color:#999}[data-v-76116c7b] .app-datetime-picker .form-control{font-size:16px;border:2px solid #e0e0e0;border-radius:8px;transition:border-color .3s}[data-v-76116c7b] .app-datetime-picker .form-control:focus{outline:none;border:2px solid #207868}[data-v-76116c7b] .app-datetime-picker .form-control::-moz-placeholder{color:#999}[data-v-76116c7b] .app-datetime-picker .form-control:-ms-input-placeholder{color:#999}[data-v-76116c7b] .app-datetime-picker .form-control::placeholder{color:#999}.option-card[data-v-2ca1e487]{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:2px solid #e8f5f3;border-radius:12px;padding:18px;cursor:pointer;transition:all .3s ease;text-align:center;position:relative;overflow:hidden}.option-card[data-v-2ca1e487]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(32,120,104,.08),transparent);transition:left .5s ease}.option-card[data-v-2ca1e487]:hover{border-color:#207868;box-shadow:0 6px 18px rgba(32,120,104,.12);transform:translateY(-2px)}.option-card:hover .option-icon[data-v-2ca1e487]{transform:scale(1.06);box-shadow:0 5px 16px rgba(32,120,104,.18)}.option-card[data-v-2ca1e487]:active{transform:translateY(0)}.option-text[data-v-2ca1e487]{font-size:24px;color:#207868;font-weight:700}.option-description[data-v-2ca1e487]{margin-top:6px;font-size:18px;color:#666;line-height:1.4}.option-icon[data-v-2ca1e487]{font-size:40px;margin-bottom:12px;color:#2a9d8f;width:64px;height:64px;background:linear-gradient(135deg,#e8f5f3,#f0f9f7);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px auto;box-shadow:0 3px 12px rgba(32,120,104,.1);transition:all .3s ease}.icon-image[data-v-2ca1e487]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.selected[data-v-2ca1e487]{border-color:#207868;background:linear-gradient(135deg,#e8f5f3,#f0f9f7)}.pulse[data-v-2ca1e487]{-webkit-animation:pulse-data-v-2ca1e487 2s infinite;animation:pulse-data-v-2ca1e487 2s infinite}@-webkit-keyframes pulse-data-v-2ca1e487{0%{box-shadow:0 0 0 0 rgba(32,120,104,.35)}70%{box-shadow:0 0 0 10px rgba(32,120,104,0)}to{box-shadow:0 0 0 0 rgba(32,120,104,0)}}@keyframes pulse-data-v-2ca1e487{0%{box-shadow:0 0 0 0 rgba(32,120,104,.35)}70%{box-shadow:0 0 0 10px rgba(32,120,104,0)}to{box-shadow:0 0 0 0 rgba(32,120,104,0)}}.disabled[data-v-2ca1e487]{opacity:.5;cursor:not-allowed;background:#f5f5f5;border-color:#ccc}.disabled[data-v-2ca1e487]:hover{border-color:#ccc;box-shadow:none;transform:none}.disabled[data-v-2ca1e487]:hover:before{display:none}.disabled:hover .option-icon[data-v-2ca1e487]{transform:none;box-shadow:0 3px 12px rgba(32,120,104,.1)}.disabled .option-text[data-v-2ca1e487]{color:#999}.disabled .option-icon[data-v-2ca1e487]{color:#999;background:#f0f0f0;box-shadow:0 3px 12px rgba(0,0,0,.1)}.unavailable[data-v-2ca1e487]{opacity:.7;cursor:not-allowed;border-color:#a8d5c9;background:linear-gradient(135deg,#f8fcfb,#f5fbfa)}.unavailable[data-v-2ca1e487]:hover{border-color:#a8d5c9;box-shadow:0 3px 12px rgba(168,213,201,.12);transform:none}.unavailable[data-v-2ca1e487]:hover:before{display:none}.unavailable:hover .option-icon[data-v-2ca1e487]{transform:none;box-shadow:0 3px 12px rgba(168,213,201,.1)}.unavailable .option-text[data-v-2ca1e487]{color:#5a9b8a}.unavailable .option-icon[data-v-2ca1e487]{color:#5a9b8a;background:linear-gradient(135deg,#f8fcfb,#f5fbfa);box-shadow:0 3px 12px rgba(168,213,201,.1)}@media (max-width:768px){.option-icon[data-v-2ca1e487]{display:none}}.option-list[data-v-5f87e5a3]{width:100%;container-type:inline-size}.options-grid[data-v-5f87e5a3]{display:grid;gap:16px;margin-bottom:32px}@container (width <= 600px){.options-grid{grid-template-columns:repeat(1,minmax(0,1fr))}}@container (width > 600px){.options-grid{grid-template-columns:repeat(2,1fr)}}@container (width > 900px){.options-grid{grid-template-columns:repeat(3,1fr)}}@container (width > 1200px){.options-grid{grid-template-columns:repeat(4,1fr)}}.main-content[data-v-254c0dc3]{padding:0}.tongxin-layout[data-v-e9d6b40c]{padding-bottom:100px}.reservation-detail .empty-state[data-v-b2782f70]{text-align:center;padding:40px 20px;color:#999;font-size:16px}.reservation-detail .profile-card[data-v-b2782f70]{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:24px;margin-top:40px;margin-bottom:16px}.reservation-detail .profile-card .profile-header[data-v-b2782f70]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f0f0f0}.reservation-detail .profile-card .profile-header .profile-name[data-v-b2782f70]{font-size:24px;font-weight:700;color:#333;margin:0 0 4px 0}.reservation-detail .profile-card .profile-header .patient-name[data-v-b2782f70]{font-size:14px;color:#555}.reservation-detail .profile-card .profile-header .status-badge[data-v-b2782f70]{display:inline-block;padding:6px 16px;border-radius:12px;font-size:12px;font-weight:700;white-space:nowrap}.reservation-detail .profile-card .profile-header .status-badge.status-confirmed[data-v-b2782f70]{background:#e8f5f3;color:#207868}.reservation-detail .profile-card .profile-header .status-badge.status-pending[data-v-b2782f70]{background:#fef3e8;color:#f59e0b}.reservation-detail .profile-card .profile-header .status-badge.status-cancelled[data-v-b2782f70]{background:#fce4ec;color:#dc2626}.reservation-detail .profile-card .profile-header .status-badge.status-default[data-v-b2782f70]{background:#f5f5f5;color:#666}.reservation-detail .profile-card .profile-body .info-row[data-v-b2782f70]{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #f0f0f0}.reservation-detail .profile-card .profile-body .info-row[data-v-b2782f70]:last-child{border-bottom:none}.reservation-detail .profile-card .profile-body .info-row .label[data-v-b2782f70]{font-size:16px;color:#666;font-weight:500}.reservation-detail .profile-card .profile-body .info-row .value[data-v-b2782f70]{font-size:16px;color:#333;font-weight:600}.reservation-detail .modal-overlay[data-v-b2782f70]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.reservation-detail .modal-card[data-v-b2782f70]{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:24px;max-width:420px;width:100%}.reservation-detail .modal-card .modal-title[data-v-b2782f70]{font-size:20px;font-weight:700;color:#333;margin-bottom:8px;text-align:center}.reservation-detail .modal-card .modal-description[data-v-b2782f70]{font-size:14px;color:#666;margin-bottom:20px;text-align:center}.reservation-detail .modal-card .modal-body[data-v-b2782f70]{background:#f8f9fa;border-radius:8px;padding:4px 16px;margin-bottom:24px}.reservation-detail .modal-card .modal-body .info-row[data-v-b2782f70]{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.reservation-detail .modal-card .modal-body .info-row[data-v-b2782f70]:last-child{border-bottom:none}.reservation-detail .modal-card .modal-body .info-row .label[data-v-b2782f70]{font-size:14px;color:#666;font-weight:500}.reservation-detail .modal-card .modal-body .info-row .value[data-v-b2782f70]{font-size:14px;color:#333;font-weight:600}.reservation-detail .modal-card .modal-actions[data-v-b2782f70]{display:flex;gap:12px}.reservation-detail .modal-card .modal-actions .btn[data-v-b2782f70]{flex:1}.fade-enter-active[data-v-b2782f70],.fade-leave-active[data-v-b2782f70]{transition:opacity .3s ease}.fade-enter[data-v-b2782f70],.fade-leave-to[data-v-b2782f70]{opacity:0}