.calendar[data-v-0dd3cd60]{background:var(--color-surface, white);border-radius:8px;box-shadow:0 2px 4px var(--color-shadow, rgba(41, 204, 173, .1));overflow:hidden;width:100%}.calendar-header[data-v-0dd3cd60]{display:flex;justify-content:space-between;align-items:center;color:var(--color-textPrimary, #0f6f62);padding:1rem}.nav-btn[data-v-0dd3cd60]{background:none;border:none;color:var(--color-textPrimary, #0f6f62);font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:4px}.nav-btn[data-v-0dd3cd60]:hover{background-color:var(--color-hover, rgba(255, 255, 255, .2))}.calendar-grid[data-v-0dd3cd60]{display:grid;grid-template-columns:repeat(7,minmax(50px,1fr));min-width:350px}.day-header[data-v-0dd3cd60]{background-color:var(--color-surfaceElevated, #d1fee9);padding:.8rem;font-weight:700;text-align:center;border-bottom:1px solid var(--color-border, #9fe8cb);color:var(--color-textPrimary, #0f6f62);background:linear-gradient(180deg,#f8fcfb,#eef7f6);color:var(--color-textPrimary, white);box-shadow:2px 0 8px var(--color-shadow, rgba(41, 204, 173, .1))}.calendar-day[data-v-0dd3cd60]{padding:.5rem;text-align:center;border-bottom:1px solid var(--color-borderLight, #d1fee9);border-right:1px solid var(--color-borderLight, #d1fee9);min-height:80px;display:flex;align-items:center;justify-content:center;background-color:#fff;color:var(--color-textPrimary, #0f6f62)}@media (max-width: 1200px){.calendar-day[data-v-0dd3cd60]{min-height:70px}}@media (max-width: 768px){.calendar[data-v-0dd3cd60]{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-right:1rem}.calendar-grid[data-v-0dd3cd60]{min-width:350px;margin-right:1rem}.calendar-day[data-v-0dd3cd60]{min-height:50px;min-width:50px;padding:.2rem}.day-header[data-v-0dd3cd60]{padding:.4rem;font-size:10px;min-width:50px}.day-number[data-v-0dd3cd60]{font-size:10px}.appointments-list[data-v-0dd3cd60]{max-height:40px}.appointment-row[data-v-0dd3cd60]{font-size:7px;padding:1px 2px}.appointment-time-display[data-v-0dd3cd60],.appointment-patient-name[data-v-0dd3cd60]{font-size:7px}}.day-content[data-v-0dd3cd60]{position:relative;width:100%;height:100%;display:flex;flex-direction:column;padding:2px}.calendar-day.clickable[data-v-0dd3cd60]{cursor:pointer;transition:background-color .2s}.calendar-day.clickable[data-v-0dd3cd60]:hover{background-color:var(--color-hover, rgba(41, 204, 173, .1))}.calendar-day.other-month[data-v-0dd3cd60]{color:var(--color-textMuted, #9fe8cb);background-color:#fff}.calendar-day.today[data-v-0dd3cd60]{background-color:var(--color-surface, #29ccad);color:var(--color-textPrimary, #0f6f62);font-weight:700}.calendar-day.has-appointments[data-v-0dd3cd60]{position:relative}.day-number[data-v-0dd3cd60]{font-weight:600;font-size:14px;text-align:center;padding:2px 0}.appointments-list[data-v-0dd3cd60]{display:flex;flex-direction:column;gap:2px;margin-top:2px;width:100%;overflow-y:auto;max-height:60px}.appointment-row[data-v-0dd3cd60]{display:flex;gap:3px;padding:2px 4px;border-radius:3px;font-size:9px;line-height:1.2;background-color:#006d6b26;border-left:2px solid var(--color-primary, #0f6f62);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;cursor:pointer}.appointment-row .delete-btn[data-v-0dd3cd60]{position:absolute;top:2px;right:2px;background:#fffffff2;border:1px solid var(--color-border, #9fe8cb);border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;font-weight:700;color:var(--color-textSecondary, #1a8c7a);opacity:0;transition:opacity .2s ease;z-index:1}.appointment-row:hover .delete-btn[data-v-0dd3cd60]{opacity:1}.appointment-row .delete-btn[data-v-0dd3cd60]:hover{background:var(--color-error, #d30000);color:#fff;border-color:var(--color-error, #d30000)}.appointment-time[data-v-0dd3cd60]{font-weight:600;color:var(--color-textPrimary, #0f6f62);flex-shrink:0}.appointment-patient[data-v-0dd3cd60]{color:var(--color-textSecondary, #333);overflow:hidden;text-overflow:ellipsis}.appointment-row.doctor-4[data-v-0dd3cd60]{background-color:#d3000026;border-left-color:#d30000}.appointment-row.doctor-4 .appointment-time[data-v-0dd3cd60]{color:#d30000}.appointment-row.doctor-3[data-v-0dd3cd60]{background-color:#29ccad26;border-left-color:#29ccad}.appointment-row.doctor-3 .appointment-time[data-v-0dd3cd60]{color:#29ccad}.appointment-row.doctor-0[data-v-0dd3cd60]{background-color:#9c27b026;border-left-color:#9c27b0}.appointment-row.doctor-0 .appointment-time[data-v-0dd3cd60]{color:#9c27b0}.appointment-row.doctor-2[data-v-0dd3cd60]{background-color:#ff980026;border-left-color:#ff9800}.appointment-row.doctor-2 .appointment-time[data-v-0dd3cd60]{color:#ff9800}.appointment-row.doctor-1[data-v-0dd3cd60]{background-color:#2196f326;border-left-color:#2196f3}.appointment-row.doctor-1 .appointment-time[data-v-0dd3cd60]{color:#2196f3}.calendar-day.today .appointment-row[data-v-0dd3cd60]{font-weight:600}.more-appointments[data-v-0dd3cd60]{padding:2px 4px;font-size:9px;color:var(--color-primary, #0f6f62);background-color:#0f6f621a;border-radius:3px;text-align:center;cursor:pointer;font-weight:600;transition:all .2s;-webkit-user-select:none;user-select:none}.more-appointments[data-v-0dd3cd60]:hover{background-color:#0f6f6240;color:#fff}.more-appointments[data-v-0dd3cd60]:active{transform:scale(.98)}.appointments-popup[data-v-0dd3cd60]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border:2px solid var(--color-primary, #0f6f62);border-radius:8px;box-shadow:0 8px 24px #0003;z-index:1000;min-width:280px;max-width:90vw;max-height:80vh;padding:8px;overflow-x:hidden;overflow-y:auto}.popup-header[data-v-0dd3cd60]{font-weight:700;color:var(--color-primary, #0f6f62);font-size:11px;padding:4px 8px;border-bottom:1px solid var(--color-border, #9fe8cb);margin-bottom:6px;display:flex;justify-content:space-between;align-items:center}.popup-close[data-v-0dd3cd60]{background:none;border:none;color:var(--color-primary, #0f6f62);font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.popup-close[data-v-0dd3cd60]:hover{background-color:#0f6f621a}.popup-list[data-v-0dd3cd60]{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.popup-appointment-row[data-v-0dd3cd60]{display:flex;flex-direction:row;gap:8px;align-items:center;padding:6px 8px;border-radius:4px;font-size:10px;line-height:1.4;background-color:#006d6b1a;border-left:3px solid var(--color-primary, #0f6f62);overflow:hidden;position:relative;cursor:pointer}.popup-appointment-row .delete-btn[data-v-0dd3cd60]{background:#fffffff2;border:1px solid var(--color-border, #9fe8cb);border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;font-weight:700;color:var(--color-textSecondary, #1a8c7a);margin-left:8px;flex-shrink:0;opacity:0;transition:opacity .2s ease;z-index:1}.popup-appointment-row:hover .delete-btn[data-v-0dd3cd60]{opacity:1}.popup-appointment-row .delete-btn[data-v-0dd3cd60]:hover{background:var(--color-error, #d30000);color:#fff;border-color:var(--color-error, #d30000)}.popup-appointment-row span[data-v-0dd3cd60]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popup-appointment-row .appointment-time[data-v-0dd3cd60]{font-weight:700;color:var(--color-textPrimary, #0f6f62);white-space:nowrap;flex-shrink:0}.popup-appointment-row .appointment-patient[data-v-0dd3cd60]{color:var(--color-textSecondary, #333);font-weight:500;flex:1;min-width:0}.popup-appointment-row .appointment-doctor[data-v-0dd3cd60]{color:var(--color-textMuted, #666);font-size:9px;font-style:italic;white-space:nowrap;flex-shrink:0}.popup-appointment-row.doctor-0[data-v-0dd3cd60]{background-color:#d300001a;border-left-color:#d30000}.popup-appointment-row.doctor-0 .appointment-time[data-v-0dd3cd60]{color:#d30000}.popup-appointment-row.doctor-1[data-v-0dd3cd60]{background-color:#29ccad1a;border-left-color:#29ccad}.popup-appointment-row.doctor-1 .appointment-time[data-v-0dd3cd60]{color:#29ccad}.popup-appointment-row.doctor-2[data-v-0dd3cd60]{background-color:#9c27b01a;border-left-color:#9c27b0}.popup-appointment-row.doctor-2 .appointment-time[data-v-0dd3cd60]{color:#9c27b0}.popup-appointment-row.doctor-3[data-v-0dd3cd60]{background-color:#ff98001a;border-left-color:#ff9800}.popup-appointment-row.doctor-3 .appointment-time[data-v-0dd3cd60]{color:#ff9800}.popup-appointment-row.doctor-4[data-v-0dd3cd60]{background-color:#2196f31a;border-left-color:#2196f3}.popup-appointment-row.doctor-4 .appointment-time[data-v-0dd3cd60]{color:#2196f3}@media (max-width: 768px){.more-appointments[data-v-0dd3cd60]{font-size:7px;padding:1px 2px}.appointments-popup[data-v-0dd3cd60]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin-left:0;max-width:90vw}}.modal-overlay[data-v-e459d745]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--color-overlay, rgba(0, 0, 0, .5));display:flex;justify-content:center;align-items:center;z-index:1000}.modal[data-v-e459d745]{background:#fff;border-radius:8px;width:90%;max-width:700px;max-height:90vh;overflow-y:auto}.modal-header[data-v-e459d745]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-border, #9fe8cb);background-color:var(--color-surfaceElevated, #d1fee9)}.modal-header h3[data-v-e459d745]{margin:0;color:var(--color-textPrimary, #0f6f62)}.close-btn[data-v-e459d745]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-textPrimary, #0f6f62);padding:.25rem}.close-btn[data-v-e459d745]:hover{background-color:var(--color-hover, rgba(255, 255, 255, .2));border-radius:4px}.appointment-form[data-v-e459d745]{padding:1.5rem}.form-group[data-v-e459d745]{margin-bottom:1rem}.form-group label[data-v-e459d745]{display:block;margin-bottom:.5rem;font-weight:700;color:var(--color-textPrimary, #0f6f62)}.form-group input[data-v-e459d745],.form-group select[data-v-e459d745],.form-group textarea[data-v-e459d745]{width:100%;padding:.75rem;border:1px solid var(--color-border, #9fe8cb);border-radius:4px;background:#fff;color:var(--color-textPrimary, #0f6f62);box-sizing:border-box}.form-group input[data-v-e459d745]:focus,.form-group select[data-v-e459d745]:focus,.form-group textarea[data-v-e459d745]:focus{outline:none;border-color:var(--color-primary, #29ccad);box-shadow:0 0 0 2px #29ccad33}.form-actions[data-v-e459d745]{display:flex;gap:1rem;margin-top:1.5rem}.cancel-btn[data-v-e459d745],.save-btn[data-v-e459d745],.delete-btn[data-v-e459d745]{flex:1;padding:.75rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:background-color .2s}.cancel-btn[data-v-e459d745]{background-color:var(--color-surface, #cff3f1);color:var(--color-textPrimary, #0f6f62);border:1px solid var(--color-border, #9fe8cb)}.cancel-btn[data-v-e459d745]:hover{background-color:var(--color-surfaceElevated, #d1fee9)}.save-btn[data-v-e459d745]{background-color:var(--color-primary, #29ccad);color:#fff}.save-btn[data-v-e459d745]:hover:not(:disabled){background-color:var(--color-primaryDark, #1a8c7a)}.save-btn[data-v-e459d745]:disabled{opacity:.6;cursor:not-allowed}.delete-btn[data-v-e459d745]{background-color:#d30000;color:#fff}.delete-btn[data-v-e459d745]:hover:not(:disabled){background-color:#a00000}.delete-btn[data-v-e459d745]:disabled{opacity:.6;cursor:not-allowed}.error-message[data-v-e459d745]{color:#d30000;margin-top:1rem;padding:.75rem;background-color:#fee;border:1px solid #fcc;border-radius:4px}.patient-section[data-v-e459d745]{background-color:#fff;padding:1rem;border-radius:6px;margin-bottom:1.5rem;border:1px solid var(--color-border, #9fe8cb)}.section-title[data-v-e459d745]{margin:0 0 1rem;color:var(--color-textPrimary, #0f6f62);font-size:1.1rem;font-weight:700}.form-row[data-v-e459d745]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media (max-width: 600px){.form-row[data-v-e459d745]{grid-template-columns:1fr}}.autocomplete-wrapper[data-v-e459d745]{position:relative}.autocomplete-dropdown[data-v-e459d745]{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:#fff;border:1px solid var(--color-border, #9fe8cb);border-top:none;border-radius:0 0 4px 4px;box-shadow:0 4px 6px #0000001a;z-index:1000}.autocomplete-item[data-v-e459d745]{padding:.75rem;cursor:pointer;border-bottom:1px solid var(--color-border, #e0e0e0);transition:background-color .2s}.autocomplete-item[data-v-e459d745]:last-child{border-bottom:none}.autocomplete-item[data-v-e459d745]:hover{background-color:var(--color-surfaceElevated, #f0f0f0)}.autocomplete-item.no-results[data-v-e459d745]{cursor:default;color:#999;font-style:italic}.autocomplete-item.no-results[data-v-e459d745]:hover{background-color:transparent}.patient-name[data-v-e459d745]{font-weight:700;color:var(--color-textPrimary, #0f6f62);margin-bottom:.25rem}.patient-details[data-v-e459d745]{font-size:.85rem;color:#666}.services-section[data-v-e459d745]{background-color:#fff;padding:1rem;border-radius:6px;margin-bottom:1.5rem;border:1px solid var(--color-border, #9fe8cb)}.service-row[data-v-e459d745]{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.service-row[data-v-e459d745]:last-child{margin-bottom:0}.service-select-group[data-v-e459d745]{flex:1;display:flex;flex-direction:column;gap:.5rem}.category-select-wrapper[data-v-e459d745]{width:100%}.category-select[data-v-e459d745]{width:100%;padding:.75rem;border:1px solid var(--color-border, #9fe8cb);border-radius:4px;background:#f8f9fa;color:var(--color-textPrimary, #0f6f62);font-weight:500;box-sizing:border-box}.category-select[data-v-e459d745]:focus{outline:none;border-color:var(--color-primary, #29ccad);box-shadow:0 0 0 2px #29ccad33}.service-select-wrapper[data-v-e459d745]{width:100%}.service-select[data-v-e459d745]{width:100%;padding:.75rem;border:1px solid var(--color-border, #9fe8cb);border-radius:4px;background:#fff;color:var(--color-textPrimary, #0f6f62);box-sizing:border-box}.service-select[data-v-e459d745]:focus{outline:none;border-color:var(--color-primary, #29ccad);box-shadow:0 0 0 2px #29ccad33}.add-service-btn[data-v-e459d745],.remove-service-btn[data-v-e459d745]{width:40px;height:40px;border:none;border-radius:50%;cursor:pointer;font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.add-service-btn[data-v-e459d745]{background-color:var(--color-primary, #29ccad);color:#fff}.add-service-btn[data-v-e459d745]:hover{background-color:var(--color-primaryDark, #1a8c7a);transform:scale(1.05)}.remove-service-btn[data-v-e459d745]{background-color:#d30000;color:#fff}.remove-service-btn[data-v-e459d745]:hover{background-color:#a00000;transform:scale(1.05)}.max-services-message[data-v-e459d745]{margin-top:.5rem;padding:.5rem;background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;font-size:.9rem;text-align:center}.validation-warning[data-v-e459d745]{color:#d30000;font-size:.85rem;margin-top:.25rem;padding:.5rem;background-color:#fff5f5;border-left:3px solid #d30000;border-radius:4px}.input-error[data-v-e459d745]{border:2px solid #d30000!important;background-color:#fff5f5!important}.input-error[data-v-e459d745]::placeholder{color:#d30000!important;font-weight:500}.input-error[data-v-e459d745]::-webkit-input-placeholder{color:#d30000!important;font-weight:500}.input-error[data-v-e459d745]::-moz-placeholder{color:#d30000!important;font-weight:500}.input-error[data-v-e459d745]:-ms-input-placeholder{color:#d30000!important;font-weight:500}.input-valid[data-v-e459d745]{border:2px solid #28a745!important}.input-valid[data-v-e459d745]:focus{border-color:#28a745!important;box-shadow:0 0 0 2px #28a74533!important}.input-error[data-v-e459d745]:focus{border-color:#d30000!important;box-shadow:0 0 0 2px #d3000033!important}.payment-section[data-v-e459d745]{background-color:#fff;padding:1rem;border-radius:6px;margin-bottom:1.5rem;border:1px solid var(--color-border, #9fe8cb)}.payment-row[data-v-e459d745]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:1rem}.readonly-input[data-v-e459d745]{background-color:#f5f5f5!important;cursor:not-allowed;font-weight:600;color:var(--color-textPrimary, #0f6f62)}.toggle-wrapper[data-v-e459d745]{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.toggle-switch[data-v-e459d745]{position:relative;display:inline-block;width:50px;height:26px;cursor:pointer}.toggle-switch input[data-v-e459d745]{opacity:0;width:0;height:0}.toggle-slider[data-v-e459d745]{position:absolute;inset:0;background-color:#ccc;border-radius:26px;transition:.3s}.toggle-slider[data-v-e459d745]:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider[data-v-e459d745]{background-color:var(--color-primary, #29ccad)}.toggle-switch input:checked+.toggle-slider[data-v-e459d745]:before{transform:translate(24px)}.toggle-label[data-v-e459d745]{font-weight:500;color:var(--color-textPrimary, #0f6f62)}.final-price-display[data-v-e459d745]{background-color:#e8f5e9;padding:.75rem;border-radius:4px;border-left:3px solid var(--color-primary, #29ccad);margin-top:.5rem}.final-price-display strong[data-v-e459d745]{color:var(--color-textPrimary, #0f6f62);font-size:1.1rem}.discount-saved[data-v-e459d745]{margin-left:.5rem;color:#28a745;font-weight:500;font-size:.9rem}.modal-overlay[data-v-0a7c6ea1]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal[data-v-0a7c6ea1]{background:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header[data-v-0a7c6ea1]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-border, #9fe8cb);background-color:var(--color-surfaceElevated, #d1fee9)}.modal-header h3[data-v-0a7c6ea1]{margin:0;color:var(--color-textPrimary, #0f6f62)}.close-btn[data-v-0a7c6ea1]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-textPrimary, #0f6f62);padding:.25rem}.close-btn[data-v-0a7c6ea1]:hover{background-color:var(--color-hover, rgba(255, 255, 255, .2));border-radius:4px}.service-form[data-v-0a7c6ea1]{padding:1.5rem}.form-group[data-v-0a7c6ea1]{margin-bottom:1rem}.form-group label[data-v-0a7c6ea1]{display:block;margin-bottom:.5rem;font-weight:700;color:var(--color-textPrimary, #0f6f62)}.form-group input[data-v-0a7c6ea1],.form-group select[data-v-0a7c6ea1]{width:100%;padding:.75rem;border:1px solid var(--color-border, #9fe8cb);border-radius:4px;background:#fff;color:var(--color-textPrimary, #0f6f62);box-sizing:border-box;font-size:1rem}.form-group input[data-v-0a7c6ea1]:focus,.form-group select[data-v-0a7c6ea1]:focus{outline:none;border-color:var(--color-primary, #29ccad);box-shadow:0 0 0 2px #29ccad33}.form-actions[data-v-0a7c6ea1]{display:flex;gap:1rem;margin-top:1.5rem}.cancel-btn[data-v-0a7c6ea1],.save-btn[data-v-0a7c6ea1]{flex:1;padding:.75rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:background-color .2s}.cancel-btn[data-v-0a7c6ea1]{background-color:var(--color-surface, #cff3f1);color:var(--color-textPrimary, #0f6f62);border:1px solid var(--color-border, #9fe8cb)}.cancel-btn[data-v-0a7c6ea1]:hover{background-color:var(--color-surfaceElevated, #d1fee9)}.save-btn[data-v-0a7c6ea1]{background-color:var(--color-primary, #29ccad);color:#fff}.save-btn[data-v-0a7c6ea1]:hover:not(:disabled){background-color:var(--color-primaryDark, #1a8c7a)}.save-btn[data-v-0a7c6ea1]:disabled{opacity:.6;cursor:not-allowed}.error-message[data-v-0a7c6ea1]{color:#d30000;margin-top:1rem;padding:.75rem;background-color:#fee;border:1px solid #fcc;border-radius:4px}.week-view[data-v-1aad1a43]{background:var(--color-surface, white);border-radius:8px;box-shadow:0 2px 4px var(--color-shadow, rgba(41, 204, 173, .1));overflow:hidden;width:100%}.week-header[data-v-1aad1a43]{display:flex;justify-content:space-between;align-items:center;color:var(--color-textPrimary, #0f6f62);padding:1rem}.week-header h2[data-v-1aad1a43]{color:var(--color-textPrimary, #0f6f62);margin:0;padding:1rem}.nav-btn[data-v-1aad1a43]{background:none;border:none;color:var(--color-textPrimary, #0f6f62);font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:4px}.nav-btn[data-v-1aad1a43]:hover{background-color:var(--color-hover, rgba(255, 255, 255, .2))}.week-content[data-v-1aad1a43]{max-height:600px;overflow-x:auto;overflow-y:auto}.week-grid[data-v-1aad1a43]{display:grid;grid-template-columns:100px repeat(7,minmax(80px,1fr));min-width:660px;border:1px solid var(--color-border, #9fe8cb);border-radius:6px;overflow:hidden}.time-column[data-v-1aad1a43]{background-color:#fff;border-right:2px solid var(--color-border, #92c8c2)}.time-header[data-v-1aad1a43]{padding:15px;background:linear-gradient(135deg,#f0f9f8,#e8f5f4);color:var(--color-textPrimary, #0f6f62);font-weight:700;text-align:center;border-bottom:1px solid var(--color-border, #9fe8cb);min-height:60px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.time-label-row[data-v-1aad1a43]{padding:8px 10px;font-size:.75rem;font-weight:700;color:#0f6f62;text-align:center;border-bottom:1px solid rgba(41,204,173,.15);height:60px;min-height:60px;max-height:60px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;background:linear-gradient(90deg,#29ccad08,#5bb5d108)}.day-column[data-v-1aad1a43]{border-right:1px solid var(--color-borderLight, #d1fee9);background:#fff}.day-column[data-v-1aad1a43]:last-child{border-right:none}.day-column.today[data-v-1aad1a43]{background:linear-gradient(180deg,#29ccad14,#5bb5d10d);box-shadow:inset 0 0 20px #29ccad1a}.day-header[data-v-1aad1a43]{padding:10px;background:linear-gradient(135deg,#f0f9f8,#e8f5f4);color:var(--color-textPrimary, #0f6f62);font-weight:700;text-align:center;border-bottom:1px solid rgba(41,204,173,.2);min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box}.day-column.today .day-header[data-v-1aad1a43]{background:linear-gradient(135deg,#29ccad,#5bb5d1);color:#fff;box-shadow:0 4px 15px #29ccad66}.day-name[data-v-1aad1a43]{font-size:.85rem;font-weight:600}.day-number[data-v-1aad1a43]{font-size:1.2rem;font-weight:700;margin-top:4px}.day-time-slot[data-v-1aad1a43]{height:60px;min-height:60px;max-height:60px;padding:4px;border-bottom:1px solid rgba(41,204,173,.1);cursor:pointer;transition:all .2s ease;position:relative;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;gap:2px;overflow:hidden;background:linear-gradient(90deg,#f8fcfb80,#fffc)}.day-time-slot[data-v-1aad1a43]:hover{background:linear-gradient(135deg,#29ccad1a,#5bb5d114);box-shadow:inset 0 0 10px #29ccad1a}.empty-slot[data-v-1aad1a43]{color:var(--color-textMuted, #9fe8cb);font-style:italic;text-align:center;display:flex;align-items:center;justify-content:center;height:100%;font-size:.7rem}.appointment-item[data-v-1aad1a43]{background-color:#006d6b1a;border-left:4px solid var(--color-primary, #29ccad);padding:4px 6px;border-radius:4px;position:relative;cursor:pointer;transition:all .2s;flex-shrink:0;min-height:0}.appointment-item[data-v-1aad1a43]:hover{transform:translate(2px);box-shadow:0 2px 6px #0000001a}.appointment-item .delete-btn[data-v-1aad1a43]{position:absolute;top:2px;right:2px;background:#fffffff2;border:1px solid var(--color-border, #9fe8cb);border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;font-weight:700;color:var(--color-textSecondary, #1a8c7a);opacity:0;transition:opacity .2s ease;z-index:1}.appointment-item:hover .delete-btn[data-v-1aad1a43]{opacity:1}.appointment-item .delete-btn[data-v-1aad1a43]:hover{background:var(--color-error, #d30000);color:#fff;border-color:var(--color-error, #d30000)}.appointment-content[data-v-1aad1a43]{display:flex;flex-direction:column;gap:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.appointment-time-display[data-v-1aad1a43]{font-weight:600;font-size:8px;color:var(--color-textPrimary, #0f6f62);overflow:hidden;text-overflow:ellipsis}.appointment-patient-name[data-v-1aad1a43]{font-size:8px;color:var(--color-textSecondary, #333);overflow:hidden;text-overflow:ellipsis}.more-appointments[data-v-1aad1a43]{background-color:#29ccad33;color:var(--color-primary, #0f6f62);text-align:center;cursor:pointer;font-weight:600;font-size:8px;padding:2px 4px;border-radius:3px;transition:background-color .2s;flex-shrink:0}.more-appointments[data-v-1aad1a43]:hover{background-color:#29ccad4d;text-decoration:underline}.appointments-popup[data-v-1aad1a43]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border:2px solid var(--color-primary, #0f6f62);border-radius:8px;box-shadow:0 8px 24px #0003;z-index:1000;min-width:280px;max-width:90vw;max-height:80vh;padding:8px;overflow-x:hidden;overflow-y:auto}.popup-header[data-v-1aad1a43]{font-weight:700;color:var(--color-primary, #0f6f62);font-size:11px;padding:4px 8px;border-bottom:1px solid var(--color-border, #9fe8cb);margin-bottom:6px;display:flex;justify-content:space-between;align-items:center}.popup-close[data-v-1aad1a43]{background:none;border:none;color:var(--color-primary, #0f6f62);font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.popup-close[data-v-1aad1a43]:hover{background-color:#0f6f621a}.popup-list[data-v-1aad1a43]{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.popup-appointment-row[data-v-1aad1a43]{display:flex;flex-direction:row;gap:8px;align-items:center;padding:6px 8px;border-radius:4px;font-size:10px;line-height:1.4;background-color:#006d6b1a;border-left:3px solid var(--color-primary, #0f6f62);overflow:hidden;position:relative;cursor:pointer}.popup-appointment-row .delete-btn[data-v-1aad1a43]{background:#fffffff2;border:1px solid var(--color-border, #9fe8cb);border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;font-weight:700;color:var(--color-textSecondary, #1a8c7a);margin-left:8px;flex-shrink:0;opacity:0;transition:opacity .2s ease;z-index:1}.popup-appointment-row:hover .delete-btn[data-v-1aad1a43]{opacity:1}.popup-appointment-row .delete-btn[data-v-1aad1a43]:hover{background:var(--color-error, #d30000);color:#fff;border-color:var(--color-error, #d30000)}.popup-appointment-row span[data-v-1aad1a43]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popup-appointment-row .appointment-time[data-v-1aad1a43]{font-weight:700;color:var(--color-textPrimary, #0f6f62);white-space:nowrap;flex-shrink:0}.popup-appointment-row .appointment-patient[data-v-1aad1a43]{color:var(--color-textSecondary, #333);font-weight:500;flex:1;min-width:0}.popup-appointment-row .appointment-doctor[data-v-1aad1a43]{color:var(--color-textMuted, #666);font-size:9px;font-style:italic;white-space:nowrap;flex-shrink:0}.appointment-item.doctor-4[data-v-1aad1a43]{background-color:#d300001a;border-left-color:#d30000}.appointment-item.doctor-4 .appointment-time-display[data-v-1aad1a43]{color:#d30000}.popup-appointment-row.doctor-4[data-v-1aad1a43]{background-color:#d300001a;border-left-color:#d30000}.popup-appointment-row.doctor-4 .appointment-time[data-v-1aad1a43]{color:#d30000}.appointment-item.doctor-3[data-v-1aad1a43]{background-color:#29ccad1a;border-left-color:#29ccad}.appointment-item.doctor-3 .appointment-time-display[data-v-1aad1a43]{color:#29ccad}.popup-appointment-row.doctor-3[data-v-1aad1a43]{background-color:#29ccad1a;border-left-color:#29ccad}.popup-appointment-row.doctor-3 .appointment-time[data-v-1aad1a43]{color:#29ccad}.appointment-item.doctor-0[data-v-1aad1a43]{background-color:#9c27b01a;border-left-color:#9c27b0}.appointment-item.doctor-0 .appointment-time-display[data-v-1aad1a43]{color:#9c27b0}.popup-appointment-row.doctor-0[data-v-1aad1a43]{background-color:#9c27b01a;border-left-color:#9c27b0}.popup-appointment-row.doctor-0 .appointment-time[data-v-1aad1a43]{color:#9c27b0}.appointment-item.doctor-2[data-v-1aad1a43]{background-color:#ff98001a;border-left-color:#ff9800}.appointment-item.doctor-2 .appointment-time-display[data-v-1aad1a43]{color:#ff9800}.popup-appointment-row.doctor-2[data-v-1aad1a43]{background-color:#ff98001a;border-left-color:#ff9800}.popup-appointment-row.doctor-2 .appointment-time[data-v-1aad1a43]{color:#ff9800}.appointment-item.doctor-1[data-v-1aad1a43]{background-color:#2196f31a;border-left-color:#2196f3}.appointment-item.doctor-1 .appointment-time-display[data-v-1aad1a43]{color:#2196f3}.popup-appointment-row.doctor-1[data-v-1aad1a43]{background-color:#2196f31a;border-left-color:#2196f3}.popup-appointment-row.doctor-1 .appointment-time[data-v-1aad1a43]{color:#2196f3}@media (max-width: 1200px){.week-grid[data-v-1aad1a43]{grid-template-columns:90px repeat(7,minmax(70px,1fr));min-width:580px}.time-label-row[data-v-1aad1a43]{font-size:.7rem;padding:6px 8px}.day-name[data-v-1aad1a43]{font-size:.75rem}.day-number[data-v-1aad1a43]{font-size:1rem}}@media (max-width: 768px){.week-view[data-v-1aad1a43]{width:100%;padding-right:1rem}.week-content[data-v-1aad1a43]{overflow-x:auto;-webkit-overflow-scrolling:touch}.week-grid[data-v-1aad1a43]{grid-template-columns:70px repeat(7,minmax(60px,1fr));min-width:490px;margin-right:1rem}.time-label-row[data-v-1aad1a43]{font-size:.6rem;padding:4px}.day-header[data-v-1aad1a43]{padding:6px 4px;min-height:50px}.day-name[data-v-1aad1a43]{font-size:.65rem}.day-number[data-v-1aad1a43]{font-size:.85rem}.appointment-time-display[data-v-1aad1a43],.appointment-patient-name[data-v-1aad1a43]{font-size:7px}.more-appointments[data-v-1aad1a43]{font-size:7px;padding:1px 2px}.appointments-popup[data-v-1aad1a43]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);max-width:90vw}}.day-view[data-v-4bbb4dc4]{background:var(--color-surface, white);border-radius:8px;box-shadow:0 2px 4px var(--color-shadow, rgba(41, 204, 173, .1));overflow:hidden;width:100%}.day-header[data-v-4bbb4dc4]{display:flex;justify-content:space-between;align-items:center;color:var(--color-textPrimary, #0f6f62);padding:1rem}.nav-btn[data-v-4bbb4dc4]{background:none;border:none;color:var(--color-textPrimary, #0f6f62);font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:4px}.nav-btn[data-v-4bbb4dc4]:hover{background-color:var(--color-hover, rgba(255, 255, 255, .2))}.day-content[data-v-4bbb4dc4]{display:flex;flex-direction:column;max-height:600px;border:1px solid var(--color-border, #9fe8cb);border-radius:6px;overflow:hidden}.grid-header-row[data-v-4bbb4dc4]{display:grid;grid-template-columns:120px repeat(var(--doctor-count, 2),minmax(120px,1fr));min-width:fit-content;flex-shrink:0;border-bottom:1px solid var(--color-border, #9fe8cb)}.grid-body-scroll[data-v-4bbb4dc4]{flex:1;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.doctors-grid[data-v-4bbb4dc4]{display:grid;grid-template-columns:120px repeat(var(--doctor-count, 2),minmax(120px,1fr));min-width:fit-content}.time-column[data-v-4bbb4dc4]{background-color:#fff;border-right:2px solid var(--color-border, #92c8c2)}.time-header[data-v-4bbb4dc4]{padding:15px;color:var(--color-textPrimary, #0f6f62);font-weight:700;text-align:center}.doctor-header[data-v-4bbb4dc4]{padding:15px;color:var(--color-textPrimary, #0f6f62);font-weight:700;text-align:center;position:relative;border-left:1px solid var(--color-borderLight, #d1fee9)}.doctor-header[data-v-4bbb4dc4]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.doctor-header.doctor-4[data-v-4bbb4dc4]:before{background-color:#d30000}.doctor-header.doctor-3[data-v-4bbb4dc4]:before{background-color:#29ccad}.doctor-header.doctor-0[data-v-4bbb4dc4]:before{background-color:#9c27b0}.doctor-header.doctor-2[data-v-4bbb4dc4]:before{background-color:#ff9800}.doctor-header.doctor-1[data-v-4bbb4dc4]:before{background-color:#2196f3}.time-label-row[data-v-4bbb4dc4]{padding:8px 10px;font-size:.85rem;font-weight:700;color:var(--color-textSecondary, #1a8c7a);text-align:center;border-bottom:1px solid var(--color-borderLight, #d1fee9);height:60px;min-height:60px;max-height:60px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.doctor-column[data-v-4bbb4dc4]{border-right:1px solid var(--color-borderLight, #d1fee9);background:#fff}.doctor-column[data-v-4bbb4dc4]:last-child{border-right:none}.doctor-time-slot[data-v-4bbb4dc4]{height:60px;min-height:60px;max-height:60px;padding:4px;border-bottom:1px solid var(--color-borderLight, #d1fee9);cursor:pointer;transition:background-color .2s;position:relative;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;gap:2px;overflow:hidden}.doctor-time-slot[data-v-4bbb4dc4]:hover{background-color:var(--color-surface, #cff3f1)}.empty-slot[data-v-4bbb4dc4]{color:var(--color-textMuted, #9fe8cb);font-style:italic;text-align:center;display:flex;align-items:center;justify-content:center;height:100%;font-size:.75rem}.appointment-item[data-v-4bbb4dc4]{background-color:#006d6b1a;border-left:4px solid var(--color-primary, #29ccad);padding:4px 6px;border-radius:4px;position:relative;cursor:pointer;transition:all .2s;flex-shrink:0;min-height:0}.appointment-item[data-v-4bbb4dc4]:hover{transform:translate(2px);box-shadow:0 2px 6px #0000001a}.appointment-item:hover .delete-appointment-btn[data-v-4bbb4dc4]{opacity:1}.delete-appointment-btn[data-v-4bbb4dc4]{position:absolute;top:2px;right:2px;background:#fffffff2;border:1px solid var(--color-border, #9fe8cb);border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;font-weight:700;color:var(--color-textSecondary, #1a8c7a);opacity:0;transition:opacity .2s ease;z-index:1}.delete-appointment-btn[data-v-4bbb4dc4]:hover{background:var(--color-error, #d30000);color:#fff;border-color:var(--color-error, #d30000)}.appointment-content[data-v-4bbb4dc4]{display:flex;gap:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.appointment-time-display[data-v-4bbb4dc4]{font-weight:600;font-size:8px;color:var(--color-textPrimary, #0f6f62);flex-shrink:0}.appointment-patient-name[data-v-4bbb4dc4]{font-size:8px;color:var(--color-textSecondary, #333);overflow:hidden;text-overflow:ellipsis}.appointment-item.doctor-4[data-v-4bbb4dc4]{background-color:#d300001a;border-left-color:#d30000}.appointment-item.doctor-4 .appointment-time-display[data-v-4bbb4dc4]{color:#d30000}.appointment-item.doctor-3[data-v-4bbb4dc4]{background-color:#29ccad1a;border-left-color:#29ccad}.appointment-item.doctor-3 .appointment-time-display[data-v-4bbb4dc4]{color:#29ccad}.appointment-item.doctor-0[data-v-4bbb4dc4]{background-color:#9c27b01a;border-left-color:#9c27b0}.appointment-item.doctor-0 .appointment-time-display[data-v-4bbb4dc4]{color:#9c27b0}.appointment-item.doctor-2[data-v-4bbb4dc4]{background-color:#ff98001a;border-left-color:#ff9800}.appointment-item.doctor-2 .appointment-time-display[data-v-4bbb4dc4]{color:#ff9800}.appointment-item.doctor-1[data-v-4bbb4dc4]{background-color:#2196f31a;border-left-color:#2196f3}.appointment-item.doctor-1 .appointment-time-display[data-v-4bbb4dc4]{color:#2196f3}@media (max-width: 1200px){.doctors-grid[data-v-4bbb4dc4]{grid-template-columns:100px repeat(var(--doctor-count, 2),minmax(130px,1fr))}.time-column[data-v-4bbb4dc4]{width:100px}.time-header[data-v-4bbb4dc4],.doctor-header[data-v-4bbb4dc4]{padding:10px;font-size:.9rem}}@media (max-width: 768px){.day-view[data-v-4bbb4dc4]{border-radius:4px;width:100%}.day-content[data-v-4bbb4dc4]{max-height:500px}.grid-header-row[data-v-4bbb4dc4],.doctors-grid[data-v-4bbb4dc4]{grid-template-columns:80px repeat(var(--doctor-count, 2),minmax(100px,1fr));min-width:fit-content}.time-column[data-v-4bbb4dc4]{width:80px;min-width:80px}.doctor-column[data-v-4bbb4dc4]{min-width:100px}.time-label-row[data-v-4bbb4dc4]{font-size:.65rem;padding:6px 4px}.time-header[data-v-4bbb4dc4],.doctor-header[data-v-4bbb4dc4]{padding:8px 4px;font-size:.75rem}.appointment-item[data-v-4bbb4dc4]{padding:4px}.appointment-time-display[data-v-4bbb4dc4],.appointment-patient-name[data-v-4bbb4dc4]{font-size:7px}}.todays-appointments[data-v-8bb1093f]{background:#fff;border-radius:8px;box-shadow:0 2px 4px var(--color-shadow, rgba(41, 204, 173, .1));padding:20px}.todays-appointments h3[data-v-8bb1093f]{margin:0 0 15px;color:var(--color-textPrimary, #0f6f62);font-size:1.2rem}.no-appointments p[data-v-8bb1093f]{color:var(--color-textSecondary, #1a8c7a);font-style:italic;text-align:center;margin:20px 0}.doctor-sections[data-v-8bb1093f]{display:flex;flex-direction:row;gap:20px}.doctor-section[data-v-8bb1093f]{border:1px solid var(--color-borderLight, #d1fee9);border-radius:8px;padding:15px;background:#fff;flex:1;min-width:0}@media (max-width: 768px){.doctor-sections[data-v-8bb1093f]{flex-direction:column;gap:25px}}.doctor-header[data-v-8bb1093f]{margin:0 0 15px;color:var(--color-primary, #29ccad);font-size:1.1rem;font-weight:600;padding-bottom:8px;border-bottom:2px solid var(--color-primary, #29ccad)}.no-doctor-appointments p[data-v-8bb1093f]{color:var(--color-textMuted, #9fe8cb);font-style:italic;text-align:center;margin:10px 0;font-size:.9rem}.appointments-list[data-v-8bb1093f]{display:flex;flex-direction:column;gap:12px}.appointment-item[data-v-8bb1093f]{padding:15px;border-radius:6px;border-left:4px solid var(--color-primary, #29ccad);background:var(--color-surface, white);transition:box-shadow .2s}.appointment-item[data-v-8bb1093f]:hover{box-shadow:0 2px 8px var(--color-shadowDark, rgba(41, 204, 173, .15))}.appointment-item.doctor-elda[data-v-8bb1093f]{border-left-color:var(--color-doctorElda, #d30000)}.appointment-item.doctor-soni[data-v-8bb1093f]{border-left-color:var(--color-doctorSoni, #29ccad)}.appointment-time[data-v-8bb1093f]{font-weight:700;color:var(--color-primary, #29ccad);font-size:.9rem;margin-bottom:8px}.appointment-details h4[data-v-8bb1093f]{margin:0 0 5px;color:var(--color-textPrimary, #0f6f62);font-size:1rem}.appointment-details p[data-v-8bb1093f]{margin:0 0 8px;color:var(--color-textSecondary, #1a8c7a);font-size:.9rem;line-height:1.4}.login-container[data-v-72975a2b]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(180deg,#f8fcfb,#eef7f6);color:var(--color-textPrimary, white);box-shadow:2px 0 8px var(--color-shadow, rgba(41, 204, 173, .1))}.login-card[data-v-72975a2b]{background:linear-gradient(180deg,#f8fcfb,#eef7f6);color:var(--color-textPrimary, white);box-shadow:2px 0 8px var(--color-shadow, rgba(41, 204, 173, .1));border-radius:12px;box-shadow:0 10px 30px var(--color-shadowDark, rgba(41, 204, 173, .15));padding:2.5rem;width:100%;max-width:450px}.login-header[data-v-72975a2b]{text-align:center;margin-bottom:2rem}.login-header h1[data-v-72975a2b]{color:var(--color-textPrimary, #0f6f62);margin-bottom:.5rem;font-size:1.8rem}.login-header p[data-v-72975a2b]{color:var(--color-textSecondary, #1a8c7a);margin:0}.login-form[data-v-72975a2b]{margin-bottom:2rem}.form-group[data-v-72975a2b]{margin-bottom:1.5rem}.form-group label[data-v-72975a2b]{display:block;margin-bottom:.5rem;font-weight:700;color:var(--color-textPrimary, #0f6f62)}.form-group input[data-v-72975a2b]{width:100%;padding:.8rem;border:2px solid var(--color-borderLight, #d1fee9);border-radius:6px;font-size:1rem;box-sizing:border-box;transition:border-color .3s;background-color:var(--color-surface, white);color:var(--color-textPrimary, #0f6f62)}.form-group input[data-v-72975a2b]:focus{outline:none;border-color:var(--color-primary, #29ccad);box-shadow:0 0 0 3px var(--color-focus, rgba(41, 204, 173, .2))}.error-message[data-v-72975a2b]{background:var(--color-backgroundLight, #d1fee9);border:1px solid var(--color-error, #d30000);color:var(--color-error, #d30000);padding:.75rem;border-radius:4px;margin-bottom:1rem;text-align:center}.login-btn[data-v-72975a2b]{width:100%;padding:.8rem;border:none;border-radius:6px;font-size:1.5rem;font-weight:700;cursor:pointer;transition:background-color .3s;border:1px solid var(--color-border, #9fe8cb);background:var(--color-surface, white);color:var(--color-textPrimary, #0f6f62)}.login-btn[data-v-72975a2b]:hover:not(:disabled){background-color:var(--color-hover, rgba(255, 255, 255, .2))}.login-btn[data-v-72975a2b]:disabled{background:var(--color-textMuted, #9fe8cb);cursor:not-allowed}.login-info[data-v-72975a2b]{margin-top:1.5rem;padding:1rem;background:var(--color-surfaceElevated, #d1fee9);border:1px solid var(--color-border, #9fe8cb);border-radius:6px;font-size:.9rem;color:var(--color-textSecondary, #5a9a8f);text-align:center}.login-info p[data-v-72975a2b]{margin:0}.searchable-table[data-v-0a26292e]{background:var(--color-surface, #cff3ea);border-radius:8px;box-shadow:0 2px 10px var(--color-shadow, rgba(41, 204, 173, .1));overflow:hidden}.table-header[data-v-0a26292e]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--color-surface, #cff3ea);border-bottom:1px solid var(--color-border, #9fe8cb)}.table-header h2[data-v-0a26292e]{margin:0;color:var(--color-textPrimary, #0f6f62);font-size:1.5rem}.search-box[data-v-0a26292e]{position:relative;width:300px}.search-input[data-v-0a26292e]{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:2px solid var(--color-borderLight, #d1fee9);border-radius:25px;font-size:.95rem;box-sizing:border-box;transition:border-color .3s;background-color:var(--color-surface, white);color:var(--color-textPrimary, #0f6f62)}.search-input[data-v-0a26292e]:focus{outline:none;border-color:var(--color-primary, #29ccad);box-shadow:0 0 0 3px var(--color-focus, rgba(41, 204, 173, .2))}.search-icon[data-v-0a26292e]{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--color-textSecondary, #1a8c7a);pointer-events:none}.table-container[data-v-0a26292e]{max-height:600px;overflow-y:auto}.data-table[data-v-0a26292e]{width:100%;border-collapse:collapse}.data-table th[data-v-0a26292e]{background:var(--color-primary, #29ccad);color:var(--color-textInverse, white);padding:1rem;text-align:left;font-weight:700;position:sticky;top:0;z-index:1}.data-table td[data-v-0a26292e]{padding:1rem;border-bottom:1px solid var(--color-borderLight, #d1fee9);color:var(--color-textPrimary, #0f6f62)}.table-row[data-v-0a26292e]:hover{background:var(--color-hover, rgba(41, 204, 173, .1))}.actions-cell[data-v-0a26292e]{display:flex;gap:.5rem}.action-btn[data-v-0a26292e]{padding:.4rem .8rem;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.edit-btn[data-v-0a26292e]{background:var(--color-primary, #29ccad);color:var(--color-textInverse, white)}.edit-btn[data-v-0a26292e]:hover{background:var(--color-primaryDark, #0f6f62)}.delete-btn[data-v-0a26292e]{background:var(--color-error, #d30000);color:var(--color-textInverse, white)}.delete-btn[data-v-0a26292e]:hover{background:var(--color-primaryDark, #0f6f62)}.empty-row .empty-message[data-v-0a26292e]{text-align:center;color:var(--color-textSecondary, #1a8c7a);font-style:italic;padding:2rem}.table-footer[data-v-0a26292e]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--color-surface, #cff3ea);border-top:1px solid var(--color-border, #9fe8cb)}.add-btn[data-v-0a26292e]{background:var(--color-primary, #29ccad);color:var(--color-textInverse, white);border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:700;cursor:pointer;transition:background-color .3s}.add-btn[data-v-0a26292e]:hover{background:var(--color-primaryDark, #0f6f62)}.results-count[data-v-0a26292e]{color:var(--color-textSecondary, #1a8c7a);font-size:.9rem}@media (max-width: 768px){.table-header[data-v-0a26292e]{flex-direction:column;gap:1rem}.search-box[data-v-0a26292e]{width:100%}.table-footer[data-v-0a26292e]{flex-direction:column;gap:1rem;text-align:center}}.modal-overlay[data-v-14f5a511]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal[data-v-14f5a511]{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header[data-v-14f5a511]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #9fe8cb;background-color:#d1fee9}.modal-header h3[data-v-14f5a511]{margin:0;color:#0f6f62}.close-btn[data-v-14f5a511]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#0f6f62;padding:.25rem}.close-btn[data-v-14f5a511]:hover{background-color:#fff3;border-radius:4px}.patient-form[data-v-14f5a511]{padding:1.5rem}.form-row[data-v-14f5a511]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group[data-v-14f5a511]{display:flex;flex-direction:column}.form-group label[data-v-14f5a511]{margin-bottom:.5rem;font-weight:700;color:#0f6f62}.form-group input[data-v-14f5a511]{padding:.75rem;border:1px solid #9fe8cb;border-radius:4px;background:#fff;color:#0f6f62;box-sizing:border-box}.form-group input[data-v-14f5a511]:focus{outline:none;border-color:#29ccad;box-shadow:0 0 0 2px #29ccad33}.form-actions[data-v-14f5a511]{display:flex;gap:1rem;margin-top:1.5rem}.cancel-btn[data-v-14f5a511],.save-btn[data-v-14f5a511]{flex:1;padding:.75rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:background-color .2s}.cancel-btn[data-v-14f5a511]{background-color:#cff3f1;color:#0f6f62;border:1px solid #9fe8cb}.cancel-btn[data-v-14f5a511]:hover{background-color:#d1fee9}.save-btn[data-v-14f5a511]{background-color:#29ccad;color:#fff}.save-btn[data-v-14f5a511]:hover:not(:disabled){background-color:#1a8c7a}.save-btn[data-v-14f5a511]:disabled{opacity:.6;cursor:not-allowed}.error-message[data-v-14f5a511]{color:#d30000;margin-top:1rem;padding:.75rem;background-color:#fee;border:1px solid #fcc;border-radius:4px}@media (max-width: 600px){.form-row[data-v-14f5a511]{grid-template-columns:1fr}}.patient-table-container[data-v-40164741]{padding:2rem;background:#fff;border-radius:8px;box-shadow:0 10px 30px var(--color-shadowDark, rgba(41, 204, 173, .15))}.table-header[data-v-40164741]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:#fff;border-bottom:1px solid var(--color-border, #9fe8cb);flex-wrap:wrap;gap:1rem;transition:background-color .3s ease}.table-header h2[data-v-40164741]{color:#0f6f62;margin:0}.search-patient[data-v-40164741],.add-patient-btn[data-v-40164741]{padding:8px 16px;border:1px solid var(--color-border, #9fe8cb);background:var(--color-surface, white);color:var(--color-textPrimary, #0f6f62);border-radius:4px;cursor:pointer;transition:all .2s;font-weight:500;justify-content:space-between}.add-patient-btn[data-v-40164741]:hover{background:var(--color-hover, rgba(41, 204, 173, .1));color:var(--color-textPrimary, #0f6f62);border-color:var(--color-secondary, #29ccad)}.add-patient-btn.active[data-v-40164741]{background:var(--color-secondary, #29ccad);color:var(--color-textPrimary, #0f6f62);border-color:var(--color-secondary, #29ccad)}.search-bar[data-v-40164741]{margin-bottom:1.5rem;display:flex;justify-content:space-between;margin-top:1.5rem}.search-bar input[data-v-40164741]{width:100%;max-width:400px;padding:.75rem;border:1px solid #9fe8cb;border-radius:4px;font-size:1rem}.search-bar input[data-v-40164741]:focus{outline:none;border-color:#29ccad;box-shadow:0 0 0 2px #29ccad33}.loading[data-v-40164741]{text-align:center;padding:2rem;color:#0f6f62}.error-message[data-v-40164741]{color:#d30000;padding:1rem;background-color:#fee;border:1px solid #fcc;border-radius:4px;margin-bottom:1rem}.table-wrapper[data-v-40164741]{overflow-x:auto}.patient-table[data-v-40164741]{width:100%;border-collapse:collapse;background:#fff}.patient-table th[data-v-40164741]{background:linear-gradient(180deg,#f8fcfb,#eef7f6);color:#0f6f62;padding:1rem;text-align:left;font-weight:700;border-bottom:2px solid #9fe8cb}.patient-table td[data-v-40164741]{padding:1rem;border-bottom:1px solid #e0e0e0;color:#333}.patient-table tbody tr[data-v-40164741]:hover{background-color:#f3f1ea}.actions[data-v-40164741]{display:flex;gap:.5rem}.action-btn[data-v-40164741]{padding:.5rem;border:none;background:none;cursor:pointer;font-size:1.2rem;transition:transform .2s}.action-btn[data-v-40164741]:hover{transform:scale(1.2)}.edit-btn[data-v-40164741]:hover,.delete-btn[data-v-40164741]:hover,.history-btn[data-v-40164741]:hover,.print-btn[data-v-40164741]:hover{filter:brightness(.8)}.no-data[data-v-40164741]{text-align:center;color:#999;font-style:italic;padding:2rem}.modal-overlay[data-v-40164741]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.confirm-modal[data-v-40164741]{background:#fff;padding:2rem;border-radius:8px;max-width:400px;text-align:center}.confirm-modal h3[data-v-40164741]{color:#d30000;margin-top:0}.confirm-actions[data-v-40164741]{display:flex;gap:1rem;margin-top:1.5rem}.cancel-btn[data-v-40164741]{flex:1;padding:.75rem;background-color:#cff3f1;color:#0f6f62;border:1px solid #9fe8cb;border-radius:4px;cursor:pointer;font-weight:700}.cancel-btn[data-v-40164741]:hover{background-color:#d1fee9}.delete-confirm-btn[data-v-40164741]{flex:1;padding:.75rem;background-color:#d30000;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:700}.delete-confirm-btn[data-v-40164741]:hover{background-color:#a00000}.patient-page[data-v-48088eff]{padding:0;max-width:100%;min-height:100%;color:#134e4a;background:linear-gradient(180deg,#f8fcfb,#eef7f6)}.page-header[data-v-48088eff]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:linear-gradient(180deg,#f8fcfb,#eef7f6);border-bottom:1px solid var(--color-border, #e0e0e0);color:#134e4a}.header-left[data-v-48088eff]{display:flex;align-items:center;gap:16px}.print-btn[data-v-48088eff]{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#29ccad,#5bb5d1);border:none;color:#fff;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.print-btn[data-v-48088eff]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #29ccad4d}.back-btn[data-v-48088eff]{display:flex;align-items:center;gap:6px;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;color:#0f6f62}.back-btn[data-v-48088eff]:hover{background:#ffffff4d}.page-title[data-v-48088eff]{font-size:20px;font-weight:600;color:#0f6f62;margin:0}.page-content[data-v-48088eff]{padding:24px}.patient-content[data-v-48088eff]{display:flex;flex-direction:column;gap:24px}.patient-details-section[data-v-48088eff]{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000f}.section-header-row[data-v-48088eff]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header-row h2[data-v-48088eff]{font-size:22px;font-weight:600;color:#0f6f62;margin:0}.edit-mode-btn[data-v-48088eff]{background:linear-gradient(135deg,#29ccad,#5bb5d1);color:#fff;border:none;padding:8px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.edit-mode-btn[data-v-48088eff]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #29ccad4d}.details-grid[data-v-48088eff]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.detail-item[data-v-48088eff]{display:flex;flex-direction:column;gap:4px}.detail-item label[data-v-48088eff]{font-size:12px;color:#29ccad;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.detail-item span[data-v-48088eff]{font-size:15px;color:#0f6f62;font-weight:500}.edit-form[data-v-48088eff]{display:flex;flex-direction:column;gap:16px}.form-row[data-v-48088eff]{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 600px){.form-row[data-v-48088eff]{grid-template-columns:1fr}}.form-group[data-v-48088eff]{display:flex;flex-direction:column;gap:6px}.form-group label[data-v-48088eff]{font-size:13px;color:#0f6f62;font-weight:500}.form-group input[data-v-48088eff],.form-group textarea[data-v-48088eff]{padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:border-color .2s ease}.form-group input[data-v-48088eff]:focus,.form-group textarea[data-v-48088eff]:focus{outline:none;border-color:#29ccad}.input-error[data-v-48088eff]{border-color:#d30000!important;background-color:#fff5f5}.input-error[data-v-48088eff]::placeholder{color:#d30000}.validation-warning[data-v-48088eff]{color:#d30000;font-size:12px;margin-top:4px}.edit-actions[data-v-48088eff]{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.cancel-btn[data-v-48088eff]{background:#f5f5f5;color:#0f6f62;border:1px solid #ddd;padding:10px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn[data-v-48088eff]:hover{background:#eee}.save-btn[data-v-48088eff]{background:linear-gradient(135deg,#29ccad,#5bb5d1);color:#fff;border:none;padding:10px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.save-btn[data-v-48088eff]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #29ccad4d}.save-btn[data-v-48088eff]:disabled{opacity:.6;cursor:not-allowed}.allergy-section[data-v-48088eff],.appointments-section[data-v-48088eff]{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000f}.allergy-section h3[data-v-48088eff],.appointments-section h3[data-v-48088eff]{font-size:18px;font-weight:600;color:#0f6f62;margin:0 0 16px}.accordion-header[data-v-48088eff]{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:8px 0}.accordion-icon[data-v-48088eff]{transition:transform .2s ease;color:#0f6f62}.accordion-icon.open[data-v-48088eff]{transform:rotate(180deg)}.accordion-content[data-v-48088eff]{padding-top:16px}.allergy-questions[data-v-48088eff]{display:flex;flex-direction:column;gap:16px}.allergy-item[data-v-48088eff]{border:1px solid #eee;border-radius:8px;padding:16px}.question-row[data-v-48088eff]{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.question-text[data-v-48088eff]{font-size:14px;color:#0f6f62;flex:1}.checkbox-group[data-v-48088eff]{display:flex;gap:16px}.checkbox-label[data-v-48088eff]{display:flex;align-items:center;gap:6px;cursor:pointer}.checkbox-text[data-v-48088eff]{font-size:13px}.true-label[data-v-48088eff]{color:#d30000}.false-label[data-v-48088eff]{color:#29ccad}.note-section textarea[data-v-48088eff]{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:13px;resize:vertical}.allergy-actions[data-v-48088eff]{margin-top:16px;display:flex;justify-content:flex-end}.save-allergy-btn[data-v-48088eff]{background:linear-gradient(135deg,#29ccad,#5bb5d1);color:#fff;border:none;padding:10px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.save-allergy-btn[data-v-48088eff]:disabled{opacity:.6;cursor:not-allowed}.appointments-list[data-v-48088eff]{display:flex;flex-direction:column;gap:16px}.appointment-card[data-v-48088eff]{border:1px solid #eee;border-radius:10px;padding:16px;transition:box-shadow .2s ease}.appointment-card[data-v-48088eff]:hover{box-shadow:0 4px 12px #00000014}.appointment-header[data-v-48088eff]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.appointment-date[data-v-48088eff]{font-weight:600;color:#0f6f62}.appointment-status[data-v-48088eff]{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;text-transform:uppercase}.status-completed[data-v-48088eff]{background:#e8f5e9;color:#2e7d32}.status-scheduled[data-v-48088eff]{background:#e3f2fd;color:#1565c0}.status-cancelled[data-v-48088eff]{background:#ffebee;color:#c62828}.appointment-details[data-v-48088eff]{display:flex;flex-direction:column;gap:8px}.detail-row[data-v-48088eff]{display:flex;gap:8px;font-size:14px}.detail-row strong[data-v-48088eff]{color:#0f6f62;min-width:80px}.services-numbered-list[data-v-48088eff]{margin:0;padding-left:20px;color:#29ccad}.paid[data-v-48088eff]{color:#2e7d32;font-weight:500}.unpaid[data-v-48088eff]{color:#c62828;font-weight:500}.loading[data-v-48088eff]{text-align:center;padding:40px;color:#666}.no-data[data-v-48088eff]{text-align:center;padding:24px;color:#999;font-style:italic}.error-message[data-v-48088eff]{color:#d30000;padding:16px;background:#fff5f5;border-radius:8px}.payment-section[data-v-48088eff]{margin-top:16px;padding-top:16px;border-top:1px solid #eee}.payment-section .section-title[data-v-48088eff]{font-size:14px;font-weight:600;color:#0f6f62;margin:0 0 12px}.payment-row[data-v-48088eff]{display:flex;gap:16px;flex-wrap:wrap}.payment-row .form-group[data-v-48088eff]{flex:1;min-width:140px}.payment-row label[data-v-48088eff]{display:block;font-size:12px;font-weight:500;color:#666;margin-bottom:6px}.payment-row input[data-v-48088eff]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px}.readonly-input[data-v-48088eff]{background:linear-gradient(180deg,#fff,#f9fafb);color:#0f6f62;cursor:default;font-weight:600;box-shadow:inset 0 1px 2px #0000000a}.editable-input[data-v-48088eff]{background:#fff;color:#333;font-weight:500;border:1px solid #29ccad;box-shadow:0 0 0 2px #29ccad1a}.editable-input[data-v-48088eff]:hover{border-color:#5bb5d1}.editable-input[data-v-48088eff]:focus{outline:none;border-color:#29ccad;box-shadow:0 0 0 3px #29ccad33}.toggle-wrapper[data-v-48088eff]{display:flex;align-items:center;gap:10px}.toggle-switch[data-v-48088eff]{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input[data-v-48088eff]{opacity:0;width:0;height:0}.toggle-slider[data-v-48088eff]{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:24px}.toggle-slider[data-v-48088eff]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider[data-v-48088eff]{background:linear-gradient(135deg,#29ccad,#5bb5d1)}.toggle-switch input:checked+.toggle-slider[data-v-48088eff]:before{transform:translate(20px)}.toggle-switch input:disabled+.toggle-slider[data-v-48088eff]{opacity:.6;cursor:default}.toggle-label[data-v-48088eff]{font-size:13px;font-weight:500}@media (max-width: 768px){.page-content[data-v-48088eff],.patient-details-section[data-v-48088eff],.allergy-section[data-v-48088eff],.appointments-section[data-v-48088eff]{padding:16px}.details-grid[data-v-48088eff]{grid-template-columns:1fr 1fr}}.doctor-elda{border-color:var(--color-doctorElda)!important}.doctor-soni{border-color:var(--color-doctorSoni)!important}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.2rem;color:var(--color-textSecondary, #006d6b);background-color:var(--color-background, #f3f1ea)}button{transition:background-color .3s ease,color .3s ease,transform .2s ease}button:hover{transform:translateY(-1px)}input,select,textarea{border-color:var(--color-border, #92c8c2);color:var(--color-textPrimary, #2c3e50);transition:border-color .3s ease,background-color .3s ease}input:focus,select:focus,textarea:focus{border-color:var(--color-primary, #92c8c2);box-shadow:0 0 0 3px var(--color-focus, rgba(146, 200, 194, .1))}.searchable-table,.todays-appointments,.modal{background-color:var(--color-surface, #cff3f1);border:1px solid var(--color-border, #92c8c2);box-shadow:0 4px 12px var(--color-shadow, rgba(0, 0, 0, .1));transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.data-table th{background-color:var(--color-primary, #92c8c2)!important;color:var(--color-textInverse, white)!important}.table-row:hover{background-color:var(--color-hover, rgba(146, 200, 194, .05))!important}.calendar-day.has-appointments .appointment-dot{background-color:var(--color-success, #006d6b)}.calendar-day.today{background-color:var(--color-primaryLight, #92c8c2);color:var(--color-textInverse, white)}.appointment-block{border-radius:4px;box-shadow:0 2px 4px var(--color-shadow, rgba(0, 0, 0, .1));transition:transform .2s ease,box-shadow .2s ease}.appointment-block:hover{transform:translateY(-1px);box-shadow:0 4px 8px var(--color-shadowDark, rgba(0, 0, 0, .15))}*{transition-property:background-color,border-color,color,box-shadow;transition-duration:.3s;transition-timing-function:ease}#app{font-family:Avenir,Helvetica,Arial,sans-serif;color:var(--color-textPrimary, #0f6f62);background-color:var(--color-background, #d1fee9);min-height:100vh;margin:0;padding:0;transition:background-color .3s ease,color .3s ease}.dashboard{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-background, #d1fee9)}.top-nav{background:linear-gradient(135deg,#4da3c4,#5bb5d1,#29ccad);background:linear-gradient(90deg,#aeebd2,#4a90e2);color:var(--color-textPrimary, white);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;box-shadow:0 2px 8px var(--color-shadow, rgba(41, 204, 173, .1));z-index:1000;transition:background-color .3s ease}.nav-left h1{margin:0;font-size:1.5rem;white-space:nowrap}.clinic-header{display:flex;align-items:center}.clinic-title{display:flex;align-items:center;gap:.75rem;margin:0;font-size:1.5rem;white-space:nowrap;color:#0f6f62}.title-left,.title-right{font-weight:600;letter-spacing:.5px}.dental-logo{height:40px;width:auto;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.clinic-title-mobile{display:none;align-items:center;gap:.5rem}.dental-logo-mobile{height:32px;width:auto;object-fit:contain}.initials-badge{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:#1a8c7a;color:#fff;border-radius:50%;font-weight:700;font-size:.85rem;letter-spacing:.5px}@keyframes subtle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.nav-center{flex:1;display:flex;justify-content:center;max-width:500px;min-width:200px}.nav-center .header-patient-search{width:100%;max-width:400px}.nav-center .header-search-input{background:#fffffff2;border:none;box-shadow:0 2px 8px #0000001a}.nav-center .header-search-input:focus{background:#fff;box-shadow:0 4px 16px #00000026}.nav-center .patient-autocomplete-dropdown{background:#fff;border:none;box-shadow:0 8px 24px #0003}.nav-right{display:flex;align-items:center;gap:1rem;white-space:nowrap}.language-selector{margin-right:.5rem}.language-select{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:.5rem;font-size:.9rem;cursor:pointer;transition:all .3s}.language-select-desktop{min-width:120px}.language-select-mobile{display:none;min-width:60px;padding:.4rem .5rem}.language-select:hover{background:#ffffff4d}.language-select option{background:var(--color-primary, #29ccad);color:var(--color-textInverse, white)}.user-info{display:flex;align-items:center;gap:1rem}.user-name{font-weight:500}.logout-btn{background:var(--color-error, #d30000);color:var(--color-textInverse, white);border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .3s}.logout-btn:hover{background:var(--color-primaryDark, #0f6f62);filter:brightness(.9)}.user-menu{position:relative;display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem .75rem;border-radius:4px;transition:background-color .2s}.user-menu:hover{background:#ffffff1a}.user-name-clickable{font-weight:500;color:#0f6f62}.user-menu-arrow{font-size:.7rem;color:#0f6f62}.user-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;min-width:220px;z-index:1000;overflow:hidden}.user-dropdown-header{padding:1rem;background:var(--color-surfaceElevated, #d1fee9);border-bottom:1px solid var(--color-border, #9fe8cb)}.dropdown-fullname{font-weight:600;color:var(--color-textPrimary, #0f6f62);font-size:1rem}.user-dropdown-item{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.25rem}.dropdown-label{font-size:.75rem;color:var(--color-textSecondary, #1a8c7a);text-transform:uppercase;letter-spacing:.5px}.dropdown-value{font-size:.9rem;color:var(--color-textPrimary, #0f6f62);word-break:break-word}.user-dropdown-divider{height:1px;background:var(--color-border, #9fe8cb);margin:0}.logout-btn-dropdown{width:100%;padding:.75rem 1rem;background:var(--color-error, #d30000);color:#fff;border:none;cursor:pointer;font-weight:500;font-size:.9rem;transition:background-color .2s}.logout-btn-dropdown:hover{background:#b00000}.main-layout{display:flex;flex:1;overflow:hidden}.sidebar{width:250px;background:linear-gradient(180deg,#f8fcfb,#eef7f6);color:var(--color-textPrimary, white);padding:0;box-shadow:2px 0 8px var(--color-shadow, rgba(41, 204, 173, .1));transition:background-color .3s ease}.nav-menu{list-style:none;padding:0;margin:0}.nav-item{padding:1rem 1.5rem;cursor:pointer;display:flex;align-items:center;gap:.75rem;transition:background-color .3s;border-bottom:1px solid var(--color-border, rgba(255, 255, 255, .1))}.nav-item:hover{background:var(--color-hover, rgba(255, 255, 255, .1))}.nav-item.active{background:#fff;border-left:4px solid var(--color-primaryDark, #0f6f62)}.nav-icon{font-size:1.2rem;width:24px;text-align:center}.nav-label{font-weight:500}.content-area{flex:1;padding:2rem;overflow-y:auto;background:#fff;transition:background-color .3s ease}.patient-search-card{border-radius:12px;box-shadow:0 8px 32px #29ccad1f,0 2px 8px #0000000f;padding:1.5rem;margin-bottom:2rem;transition:all .3s ease;max-width:1200px}.patient-search-card:hover{box-shadow:0 6px 16px #29ccad40}.search-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding:0 .5rem}.search-card-header .search-icon{font-size:1.5rem}.search-card-header h3{margin:0;color:var(--color-textPrimary, #0f6f62);font-size:1.2rem;font-weight:600}.section{background:#fff;border-radius:8px;box-shadow:0 4px 12px var(--color-shadow, rgba(41, 204, 173, .1));overflow:hidden;transition:background-color .3s ease,box-shadow .3s ease}.section-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:#fff;border-bottom:1px solid var(--color-border, #9fe8cb);flex-wrap:wrap;gap:1rem;transition:background-color .3s ease}.section-header h2{margin:0;color:var(--color-textPrimary, #0f6f62);font-size:1.8rem}.header-patient-search{position:relative;flex:1;max-width:400px;min-width:200px}.header-search-input{width:100%;padding:10px 16px;border:2px solid var(--color-borderLight, #9fe8cb);border-radius:50px;font-size:.95rem;transition:all .3s;background:#fff;color:#333;box-shadow:0 2px 4px #0000000d}.header-search-input::placeholder{color:#999}.header-search-input:focus{outline:none;border-color:var(--color-primary, #29ccad);background:#fff;box-shadow:0 4px 12px #29ccad33}.patient-autocomplete-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:300px;overflow-y:auto;background:#fff;border:1px solid var(--color-border, #e0e0e0);border-radius:8px;box-shadow:0 6px 20px #00000026;z-index:2000}.patient-autocomplete-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--color-border, #e0e0e0);transition:background-color .2s}.patient-autocomplete-item:last-child{border-bottom:none}.patient-autocomplete-item:hover{background-color:var(--color-surfaceElevated, #f0f0f0)}.patient-autocomplete-item.no-results{cursor:default;color:#999;font-style:italic}.patient-autocomplete-item.no-results:hover{background-color:transparent}.patient-autocomplete-item .patient-name{font-weight:600;color:var(--color-textPrimary, #0f6f62);margin-bottom:4px}.patient-autocomplete-item .patient-details{font-size:.875rem;color:#666}.view-controls{display:flex;align-items:center;gap:1rem}.view-selector{display:flex;gap:8px}.view-btn{padding:8px 16px;border:1px solid var(--color-border, #9fe8cb);background:var(--color-surface, white);color:var(--color-textPrimary, #0f6f62);border-radius:4px;cursor:pointer;transition:all .2s;font-weight:500}.view-btn:hover{background:var(--color-hover, rgba(41, 204, 173, .1))}.view-btn.active{background:var(--color-secondary, #29ccad);color:var(--color-textPrimary, #0f6f62);border-color:var(--color-secondary, #29ccad)}.quick-book-btn{display:flex;align-items:center;gap:.5rem;padding:10px 20px;border:1px solid var(--color-border, #9fe8cb);background:var(--color-surface, white);color:var(--color-textPrimary, #0f6f62);border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.quick-book-btn:hover{background:var(--color-hover, rgba(41, 204, 173, .1))}.quick-book-btn.active{background:var(--color-secondary, #29ccad);color:var(--color-textPrimary, #0f6f62);border-color:var(--color-secondary, #29ccad)}.plus-icon{width:16px;height:16px;flex-shrink:0}.btn-text-desktop{display:inline}.btn-text-mobile{display:none}.calendar-content{display:flex;flex-direction:column;gap:2rem;padding:2rem;width:100%}.calendar-container{width:90%;margin:0 auto;min-height:600px}.todays-appointments{max-width:600px;margin:0 auto;width:100%}@media (max-width: 1024px){.sidebar{width:200px}.section-header{flex-direction:column;align-items:flex-start}.section-title-desktop{display:none}.view-controls{width:100%;justify-content:space-between}}@media (max-width: 768px){.main-layout{flex-direction:column}.sidebar{width:100%;order:2}.nav-menu{display:flex;overflow-x:auto}.nav-item{white-space:nowrap;min-width:120px;justify-content:center}.content-area{order:1;padding:1rem;overflow-x:hidden}.nav-center{display:none}.top-nav{padding:.5rem .75rem;flex-wrap:nowrap;gap:.5rem}.nav-left h1{font-size:1rem}.clinic-title-desktop{display:none}.clinic-title-mobile{display:flex}.nav-right{flex-wrap:nowrap;gap:.25rem}.language-selector{margin-right:.25rem}.language-select-desktop{display:none}.language-select-mobile{display:block;font-size:.8rem}.user-menu{padding:.25rem .5rem}.user-name-clickable{font-size:.85rem;max-width:100px;overflow:hidden;text-overflow:ellipsis}.user-menu-arrow{font-size:.6rem}.user-dropdown{right:-10px;min-width:200px}.calendar-container{width:100%;overflow-x:auto}.calendar-content{padding:.5rem;gap:1rem}.patient-search-card{padding:.75rem;margin-bottom:.5rem}.section-header{padding:.75rem 1rem;gap:.5rem}.section{margin-bottom:.5rem}.view-btn{padding:6px 10px;font-size:.8rem}.quick-book-btn{padding:6px 12px;font-size:.8rem;white-space:nowrap}.btn-text-desktop{display:none}.btn-text-mobile{display:inline}}.patient-detail-section{height:100%;overflow-y:auto}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.2rem;color:var(--color-textSecondary, #1a8c7a)}.Vue-Toastification__container{z-index:9999;position:fixed;padding:4px;width:600px;box-sizing:border-box;display:flex;min-height:100%;color:#fff;flex-direction:column;pointer-events:none}@media only screen and (min-width : 600px){.Vue-Toastification__container.top-left,.Vue-Toastification__container.top-right,.Vue-Toastification__container.top-center{top:1em}.Vue-Toastification__container.bottom-left,.Vue-Toastification__container.bottom-right,.Vue-Toastification__container.bottom-center{bottom:1em;flex-direction:column-reverse}.Vue-Toastification__container.top-left,.Vue-Toastification__container.bottom-left{left:1em}.Vue-Toastification__container.top-left .Vue-Toastification__toast,.Vue-Toastification__container.bottom-left .Vue-Toastification__toast{margin-right:auto}@supports not (-moz-appearance: none){.Vue-Toastification__container.top-left .Vue-Toastification__toast--rtl,.Vue-Toastification__container.bottom-left .Vue-Toastification__toast--rtl{margin-right:unset;margin-left:auto}}.Vue-Toastification__container.top-right,.Vue-Toastification__container.bottom-right{right:1em}.Vue-Toastification__container.top-right .Vue-Toastification__toast,.Vue-Toastification__container.bottom-right .Vue-Toastification__toast{margin-left:auto}@supports not (-moz-appearance: none){.Vue-Toastification__container.top-right .Vue-Toastification__toast--rtl,.Vue-Toastification__container.bottom-right .Vue-Toastification__toast--rtl{margin-left:unset;margin-right:auto}}.Vue-Toastification__container.top-center,.Vue-Toastification__container.bottom-center{left:50%;margin-left:-300px}.Vue-Toastification__container.top-center .Vue-Toastification__toast,.Vue-Toastification__container.bottom-center .Vue-Toastification__toast{margin-left:auto;margin-right:auto}}@media only screen and (max-width : 600px){.Vue-Toastification__container{width:100vw;padding:0;left:0;margin:0}.Vue-Toastification__container .Vue-Toastification__toast{width:100%}.Vue-Toastification__container.top-left,.Vue-Toastification__container.top-right,.Vue-Toastification__container.top-center{top:0}.Vue-Toastification__container.bottom-left,.Vue-Toastification__container.bottom-right,.Vue-Toastification__container.bottom-center{bottom:0;flex-direction:column-reverse}}.Vue-Toastification__toast{display:inline-flex;position:relative;max-height:800px;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:22px 24px;border-radius:8px;box-shadow:0 1px 10px #0000001a,0 2px 15px #0000000d;justify-content:space-between;font-family:Lato,Helvetica,Roboto,Arial,sans-serif;max-width:600px;min-width:326px;pointer-events:auto;overflow:hidden;transform:translateZ(0);direction:ltr}.Vue-Toastification__toast--rtl{direction:rtl}.Vue-Toastification__toast--default{background-color:#1976d2;color:#fff}.Vue-Toastification__toast--info{background-color:#2196f3;color:#fff}.Vue-Toastification__toast--success{background-color:#4caf50;color:#fff}.Vue-Toastification__toast--error{background-color:#ff5252;color:#fff}.Vue-Toastification__toast--warning{background-color:#ffc107;color:#fff}@media only screen and (max-width : 600px){.Vue-Toastification__toast{border-radius:0;margin-bottom:.5rem}}.Vue-Toastification__toast-body{flex:1;line-height:24px;font-size:16px;word-break:break-word;white-space:pre-wrap}.Vue-Toastification__toast-component-body{flex:1}.Vue-Toastification__toast.disable-transition{animation:none!important}.Vue-Toastification__close-button{font-weight:700;font-size:24px;line-height:24px;background:transparent;outline:none;border:none;padding:0 0 0 10px;cursor:pointer;transition:.3s ease;align-items:center;color:#fff;opacity:.3;transition:visibility 0s,opacity .2s linear}.Vue-Toastification__close-button:hover,.Vue-Toastification__close-button:focus{opacity:1}.Vue-Toastification__toast:not(:hover) .Vue-Toastification__close-button.show-on-hover{opacity:0}.Vue-Toastification__toast--rtl .Vue-Toastification__close-button{padding-left:unset;padding-right:10px}@keyframes scale-x-frames{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Vue-Toastification__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:5px;z-index:10000;background-color:#ffffffb3;transform-origin:left;animation:scale-x-frames linear 1 forwards}.Vue-Toastification__toast--rtl .Vue-Toastification__progress-bar{right:0;left:unset;transform-origin:right}.Vue-Toastification__icon{margin:auto 18px auto 0;background:transparent;outline:none;border:none;padding:0;transition:.3s ease;align-items:center;width:20px;height:100%}.Vue-Toastification__toast--rtl .Vue-Toastification__icon{margin:auto 0 auto 18px}@keyframes bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes bounceOutRight{40%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(1000px,0,0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Vue-Toastification__bounce-enter-active.top-left,.Vue-Toastification__bounce-enter-active.bottom-left{animation-name:bounceInLeft}.Vue-Toastification__bounce-enter-active.top-right,.Vue-Toastification__bounce-enter-active.bottom-right{animation-name:bounceInRight}.Vue-Toastification__bounce-enter-active.top-center{animation-name:bounceInDown}.Vue-Toastification__bounce-enter-active.bottom-center{animation-name:bounceInUp}.Vue-Toastification__bounce-leave-active:not(.disable-transition).top-left,.Vue-Toastification__bounce-leave-active:not(.disable-transition).bottom-left{animation-name:bounceOutLeft}.Vue-Toastification__bounce-leave-active:not(.disable-transition).top-right,.Vue-Toastification__bounce-leave-active:not(.disable-transition).bottom-right{animation-name:bounceOutRight}.Vue-Toastification__bounce-leave-active:not(.disable-transition).top-center{animation-name:bounceOutUp}.Vue-Toastification__bounce-leave-active:not(.disable-transition).bottom-center{animation-name:bounceOutDown}.Vue-Toastification__bounce-leave-active,.Vue-Toastification__bounce-enter-active{animation-duration:.75s;animation-fill-mode:both}.Vue-Toastification__bounce-move{transition-timing-function:ease-in-out;transition-property:all;transition-duration:.4s}@keyframes fadeOutTop{0%{transform:translateY(0);opacity:1}to{transform:translateY(-50px);opacity:0}}@keyframes fadeOutLeft{0%{transform:translate(0);opacity:1}to{transform:translate(-50px);opacity:0}}@keyframes fadeOutBottom{0%{transform:translateY(0);opacity:1}to{transform:translateY(50px);opacity:0}}@keyframes fadeOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(50px);opacity:0}}@keyframes fadeInLeft{0%{transform:translate(-50px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeInRight{0%{transform:translate(50px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeInTop{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeInBottom{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.Vue-Toastification__fade-enter-active.top-left,.Vue-Toastification__fade-enter-active.bottom-left{animation-name:fadeInLeft}.Vue-Toastification__fade-enter-active.top-right,.Vue-Toastification__fade-enter-active.bottom-right{animation-name:fadeInRight}.Vue-Toastification__fade-enter-active.top-center{animation-name:fadeInTop}.Vue-Toastification__fade-enter-active.bottom-center{animation-name:fadeInBottom}.Vue-Toastification__fade-leave-active:not(.disable-transition).top-left,.Vue-Toastification__fade-leave-active:not(.disable-transition).bottom-left{animation-name:fadeOutLeft}.Vue-Toastification__fade-leave-active:not(.disable-transition).top-right,.Vue-Toastification__fade-leave-active:not(.disable-transition).bottom-right{animation-name:fadeOutRight}.Vue-Toastification__fade-leave-active:not(.disable-transition).top-center{animation-name:fadeOutTop}.Vue-Toastification__fade-leave-active:not(.disable-transition).bottom-center{animation-name:fadeOutBottom}.Vue-Toastification__fade-leave-active,.Vue-Toastification__fade-enter-active{animation-duration:.75s;animation-fill-mode:both}.Vue-Toastification__fade-move{transition-timing-function:ease-in-out;transition-property:all;transition-duration:.4s}@keyframes slideInBlurredLeft{0%{transform:translate(-1000px) scaleX(2.5) scaleY(.2);transform-origin:100% 50%;filter:blur(40px);opacity:0}to{transform:translate(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideInBlurredTop{0%{transform:translateY(-1000px) scaleY(2.5) scaleX(.2);transform-origin:50% 0%;filter:blur(240px);opacity:0}to{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideInBlurredRight{0%{transform:translate(1000px) scaleX(2.5) scaleY(.2);transform-origin:0% 50%;filter:blur(40px);opacity:0}to{transform:translate(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideInBlurredBottom{0%{transform:translateY(1000px) scaleY(2.5) scaleX(.2);transform-origin:50% 100%;filter:blur(240px);opacity:0}to{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideOutBlurredTop{0%{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 0%;filter:blur(0);opacity:1}to{transform:translateY(-1000px) scaleY(2) scaleX(.2);transform-origin:50% 0%;filter:blur(240px);opacity:0}}@keyframes slideOutBlurredBottom{0%{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}to{transform:translateY(1000px) scaleY(2) scaleX(.2);transform-origin:50% 100%;filter:blur(240px);opacity:0}}@keyframes slideOutBlurredLeft{0%{transform:translate(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}to{transform:translate(-1000px) scaleX(2) scaleY(.2);transform-origin:100% 50%;filter:blur(40px);opacity:0}}@keyframes slideOutBlurredRight{0%{transform:translate(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}to{transform:translate(1000px) scaleX(2) scaleY(.2);transform-origin:0% 50%;filter:blur(40px);opacity:0}}.Vue-Toastification__slideBlurred-enter-active.top-left,.Vue-Toastification__slideBlurred-enter-active.bottom-left{animation-name:slideInBlurredLeft}.Vue-Toastification__slideBlurred-enter-active.top-right,.Vue-Toastification__slideBlurred-enter-active.bottom-right{animation-name:slideInBlurredRight}.Vue-Toastification__slideBlurred-enter-active.top-center{animation-name:slideInBlurredTop}.Vue-Toastification__slideBlurred-enter-active.bottom-center{animation-name:slideInBlurredBottom}.Vue-Toastification__slideBlurred-leave-active:not(.disable-transition).top-left,.Vue-Toastification__slideBlurred-leave-active:not(.disable-transition).bottom-left{animation-name:slideOutBlurredLeft}.Vue-Toastification__slideBlurred-leave-active:not(.disable-transition).top-right,.Vue-Toastification__slideBlurred-leave-active:not(.disable-transition).bottom-right{animation-name:slideOutBlurredRight}.Vue-Toastification__slideBlurred-leave-active:not(.disable-transition).top-center{animation-name:slideOutBlurredTop}.Vue-Toastification__slideBlurred-leave-active:not(.disable-transition).bottom-center{animation-name:slideOutBlurredBottom}.Vue-Toastification__slideBlurred-leave-active,.Vue-Toastification__slideBlurred-enter-active{animation-duration:.75s;animation-fill-mode:both}.Vue-Toastification__slideBlurred-move{transition-timing-function:ease-in-out;transition-property:all;transition-duration:.4s}
