.appointment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.appointment-modal{background-color:white;border-radius:var(--border-radius-large);box-shadow:0 25px 50px rgba(0,0,0,.25);max-width:700px;width:100%;max-height:90vh;overflow-y:auto;position:relative;margin:auto}.appointment-modal-header{background:var(--gradient-primary);padding:30px 40px;border-radius:var(--border-radius-large) var(--border-radius-large) 0 0;color:white;position:relative}.appointment-modal-title{font-size:1.8rem;font-weight:800;margin:0 0 10px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.appointment-psychologist-info{font-size:1.1rem;margin:0;opacity:.9;font-weight:500}.appointment-close-btn{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;border:none;background-color:rgba(255,255,255,.2);color:white;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.appointment-close-btn:hover{background-color:rgba(255,255,255,.3)}.appointment-form{padding:40px}.appointment-form-section{margin-bottom:40px}.appointment-section-title{color:var(--primary-color);font-size:1.4rem;font-weight:700;margin-bottom:25px;display:flex;align-items:center;gap:10px;border-bottom:2px solid rgba(79,125,249,.1);padding-bottom:10px}.appointment-loading-info{display:flex;align-items:center;gap:10px;padding:15px;background-color:rgba(79,125,249,.05);border-radius:var(--border-radius);margin-bottom:20px;border:1px solid rgba(79,125,249,.1)}.appointment-loading-spinner{width:20px;height:20px;border:2px solid rgba(79,125,249,.3);border-top:2px solid var(--primary-color);border-radius:50%;animation:appointmentSpin 1s linear infinite}.appointment-loading-text{color:var(--primary-color);font-weight:600}.appointment-form-group{margin-bottom:20px}.appointment-form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-bottom:20px}.appointment-form-label{display:block;margin-bottom:8px;color:var(--text-primary);font-weight:600;font-size:14px}.appointment-form-input,.appointment-form-select,.appointment-form-textarea{width:100%;padding:12px 16px;border:2px solid var(--bg-secondary);border-radius:var(--border-radius);font-size:16px;outline:none;transition:var(--transition);background-color:white;color:var(--text-primary);font-family:inherit}.appointment-form-input:focus,.appointment-form-select:focus,.appointment-form-textarea:focus{border-color:var(--primary-color)}.appointment-form-input:disabled,.appointment-form-select:disabled,.appointment-form-textarea:disabled{background-color:var(--bg-secondary);cursor:not-allowed}.appointment-form-textarea{resize:vertical;min-height:100px}.appointment-form-actions{display:flex;gap:15px;justify-content:flex-end;padding-top:20px;border-top:2px solid rgba(79,125,249,.1)}.appointment-submit-btn{min-width:180px}.appointment-cancel-btn{min-width:120px}.appointment-submit-loading{display:flex;align-items:center;gap:8px}.appointment-submit-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:appointmentSpin 1s linear infinite}.appointment-success-message{background-color:rgba(16,185,129,.1);border:2px solid rgba(16,185,129,.2);border-radius:var(--border-radius);color:#059669}.appointment-error-message,.appointment-success-message{margin-top:20px;padding:15px 20px;font-weight:600;display:flex;align-items:center;gap:10px}.appointment-error-message{background-color:rgba(239,68,68,.1);border:2px solid rgba(239,68,68,.2);border-radius:var(--border-radius);color:#dc2626}@keyframes appointmentSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.appointment-modal-overlay{padding:10px}.appointment-modal{max-height:95vh}.appointment-modal-header{padding:25px 20px}.appointment-form{padding:25px}.appointment-form-row{grid-template-columns:1fr;gap:15px}.appointment-modal-title{font-size:1.5rem}.appointment-section-title{font-size:1.2rem}.appointment-form-actions{flex-direction:column;align-items:stretch}.appointment-form-actions .btn{width:100%;min-width:unset}}@media (max-width:480px){.appointment-modal-header{padding:20px 15px}.appointment-form{padding:20px}.appointment-modal-title{font-size:1.3rem}.appointment-section-title{font-size:1.1rem}.appointment-form-input,.appointment-form-select,.appointment-form-textarea{font-size:16px}}.profile-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.profile-modal{background-color:white;border-radius:var(--border-radius-large);box-shadow:0 25px 50px rgba(0,0,0,.25);max-width:900px;width:100%;max-height:90vh;overflow-y:auto;position:relative;margin:auto}.profile-modal-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;border:none;background-color:rgba(0,0,0,.1);color:var(--text-primary);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);z-index:10}.profile-modal-close:hover{background-color:rgba(0,0,0,.2)}.profile-modal-header{background:var(--gradient-primary);padding:40px;border-radius:var(--border-radius-large) var(--border-radius-large) 0 0;color:white;text-align:center;position:relative}.profile-modal-header-content{display:flex;flex-direction:column;align-items:center;gap:20px}.profile-modal-avatar-container{position:relative}.profile-modal-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid white;box-shadow:0 8px 25px rgba(0,0,0,.2)}.profile-modal-status{position:absolute;bottom:10px;right:10px;width:20px;height:20px;border-radius:50%;border:3px solid white}.profile-modal-status.active{background-color:#10b981}.profile-modal-status.inactive{background-color:#6b7280}.profile-modal-name{font-size:2rem;font-weight:800;margin:0 0 8px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.profile-modal-title{font-size:1.1rem;margin:0 0 15px;opacity:.9}.profile-modal-stats{display:flex;justify-content:center;gap:30px;flex-wrap:wrap}.profile-modal-stat{text-align:center}.profile-modal-stat-number{font-size:1.5rem;font-weight:700}.profile-modal-stat-label{font-size:.9rem;opacity:.8}.profile-modal-content{padding:40px}.profile-modal-grid{display:grid;grid-template-columns:2fr 1fr;grid-gap:30px;gap:30px;align-items:start}.profile-modal-section{margin-bottom:30px}.profile-modal-section-title{color:var(--primary-color);font-size:1.4rem;font-weight:700;margin-bottom:15px;display:flex;align-items:center;gap:8px}.profile-modal-description{font-size:1rem;line-height:1.6;color:var(--text-primary);margin:0}.profile-modal-specialties{display:flex;flex-wrap:wrap;gap:10px}.profile-modal-specialty{background:var(--gradient-primary);color:white;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600;box-shadow:0 4px 15px rgba(79,125,249,.2)}.profile-modal-languages{display:flex;flex-wrap:wrap;gap:10px}.profile-modal-language{background:var(--bg-secondary);color:var(--primary-color);padding:6px 14px;border-radius:16px;font-size:13px;font-weight:600;border:2px solid rgba(79,125,249,.1)}.profile-modal-actions{display:flex;gap:15px;flex-wrap:wrap}.profile-modal-action-btn{flex:1 1;min-width:200px}.profile-modal-quick-info{background:rgba(79,125,249,.05);padding:25px;border-radius:var(--border-radius);border:2px solid rgba(79,125,249,.1);margin-bottom:20px}.profile-modal-quick-info-title{color:var(--primary-color);font-size:1.2rem;font-weight:700;margin-bottom:15px;text-align:center}.profile-modal-info-list{display:flex;flex-direction:column;gap:12px}.profile-modal-info-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(79,125,249,.1)}.profile-modal-info-label{color:var(--text-secondary);font-weight:600;font-size:14px}.profile-modal-info-value{color:var(--text-primary);font-weight:700;font-size:14px}.profile-modal-info-value.primary{color:var(--primary-color);font-size:15px}.profile-modal-info-value.success{color:#10b981;display:flex;align-items:center;gap:5px}.profile-modal-info-value.danger{color:#ef4444;display:flex;align-items:center;gap:5px}.profile-modal-status-dot{width:6px;height:6px;border-radius:50%}.profile-modal-availability-card,.profile-modal-contact-card{background:white;padding:20px;border-radius:var(--border-radius);border:1px solid var(--bg-secondary);margin-bottom:20px}.profile-modal-availability-title,.profile-modal-contact-title{color:var(--primary-color);font-size:1.1rem;font-weight:700;margin-bottom:12px;text-align:center;display:flex;align-items:center;justify-content:center;gap:6px}.profile-modal-availability-info{background:rgba(79,125,249,.05);padding:15px;border-radius:8px;border:1px solid rgba(79,125,249,.1);text-align:center}.profile-modal-availability-text{color:var(--text-primary);font-size:13px;line-height:1.5;margin:0;font-weight:600}.profile-modal-contact-list{display:flex;flex-direction:column;gap:8px}.profile-modal-contact-item{display:flex;align-items:center;gap:8px;padding:8px;background:var(--bg-secondary);border-radius:6px}.profile-modal-contact-icon{font-size:14px}.profile-modal-contact-text{color:var(--text-primary);font-size:12px;font-weight:600}@media (max-width:768px){.profile-modal-overlay{padding:10px}.profile-modal{max-height:95vh}.profile-modal-header{padding:30px 20px}.profile-modal-content{padding:25px}.profile-modal-grid{grid-template-columns:1fr;gap:25px}.profile-modal-name{font-size:1.6rem}.profile-modal-title{font-size:1rem}.profile-modal-stats{gap:15px}.profile-modal-section-title{font-size:1.2rem}.profile-modal-actions{flex-direction:column;align-items:center}.profile-modal-action-btn{min-width:150px}}@media (max-width:480px){.profile-modal-header{padding:25px 15px}.profile-modal-content{padding:20px}.profile-modal-avatar{width:80px;height:80px}.profile-modal-name{font-size:1.4rem}.profile-modal-section-title{font-size:1.1rem}.profile-modal-actions{flex-direction:column;align-items:center}.profile-modal-action-btn{width:100%;min-width:unset}}