.app{width:100%;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:0}.container{background:#fff;border-radius:0;padding:20px 16px;box-shadow:0 0 #0000;max-width:100%;width:100%;min-height:100vh}.logo-container{display:flex;justify-content:center;align-items:center;margin-bottom:16px;padding-top:8px}.logo{max-width:160px;max-height:80px;height:auto;width:auto;object-fit:contain;border-radius:10px}.title{font-size:1.75rem;color:#333;text-align:center;margin-bottom:8px;font-weight:700;line-height:1.2}.subtitle{text-align:center;color:#666;margin-bottom:24px;font-size:1rem}.steps-indicator{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-bottom:24px;padding:12px 0;border-bottom:2px solid #eee;gap:4px;justify-content:space-between}.steps-indicator::-webkit-scrollbar{display:none}.step{flex:1;min-width:0;text-align:center;padding:8px 4px;color:#999;font-size:.7rem;font-weight:500;position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}.step-number{width:24px;height:24px;border-radius:50%;background:#e9ecef;color:#999;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.7rem;transition:all .3s ease}.step-label{font-size:.65rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.step.active .step-number{background:#667eea;color:#fff}.step.active .step-label{color:#667eea;font-weight:600}.step.current .step-number{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:scale(1.1);box-shadow:0 2px 8px #667eea66}.step.current .step-label{color:#667eea;font-weight:700}.step.active:after{content:"";position:absolute;bottom:-14px;left:50%;transform:translate(-50%);width:30px;height:3px;background:#667eea;border-radius:2px}.loading{text-align:center;padding:40px 20px}.spinner{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{background:#fee;color:#c33;padding:12px 16px;border-radius:8px;margin-bottom:20px;border-left:4px solid #c33;font-size:.9rem;line-height:1.5}.error-message code{background:#0000001a;padding:2px 6px;border-radius:4px;font-size:.85em}.button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:16px 24px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;margin-top:20px;min-height:52px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #667eea4d}.button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.button:active{transform:translateY(0);box-shadow:0 2px 8px #667eea4d}.button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.button-secondary{background:#f0f0f0;color:#333;box-shadow:0 2px 8px #0000001a}.button-secondary:hover{background:#e0e0e0;box-shadow:0 4px 12px #00000026}.button-secondary:active{box-shadow:0 1px 4px #0000001a}.button-group{display:flex;flex-direction:column;gap:12px;margin-top:24px}.button-group .button{margin-top:0}.button-group-fixed{position:fixed;bottom:0;left:0;right:0;display:flex;flex-direction:column;gap:12px;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -4px 20px #0000001a;z-index:100;margin:0;border-top:1px solid #e9ecef}.button-group-fixed .button{margin-top:0}.content-with-fixed-buttons{padding-bottom:120px}@media (min-width: 768px){.app{align-items:center;padding:20px}.container{border-radius:20px;padding:40px;box-shadow:0 20px 60px #0000004d;max-width:800px;min-height:auto}.logo{max-width:200px;max-height:100px}.title{font-size:2.5rem;margin-bottom:10px}.subtitle{font-size:1.2rem;margin-bottom:30px}.steps-indicator{justify-content:space-between;margin-bottom:40px;padding:20px 0;gap:8px}.step{flex:1;padding:10px 8px;gap:6px}.step-number{width:32px;height:32px;font-size:.85rem}.step-label{font-size:.8rem}.step.active:after{bottom:-22px;width:40px}.button-group{flex-direction:row;gap:10px}.button-secondary{margin-right:0}.button-group-fixed{position:relative;box-shadow:none;border-top:none;padding:0;background:transparent}.content-with-fixed-buttons{padding-bottom:0}}.menu-options{margin-top:24px}.menu-buttons{display:flex;flex-direction:column;gap:16px}.menu-button{display:flex;align-items:center;gap:16px;padding:20px 24px;text-align:left;margin-top:0;min-height:auto}.menu-icon{font-size:2rem;line-height:1}.menu-text{display:flex;flex-direction:column;gap:4px;flex:1}.menu-text strong{font-size:1.1rem;color:#fff;display:block}.menu-text small{font-size:.85rem;color:#ffffffe6;font-weight:400}@media (min-width: 768px){.menu-buttons{flex-direction:row;gap:20px}.menu-button{flex:1}}.professional-selector h2{color:#333;margin-bottom:20px;font-size:1.5rem;font-weight:700}.professionals-grid{display:grid;grid-template-columns:1fr;gap:16px}.professional-card{background:#f8f9fa;border:2px solid #e9ecef;border-radius:16px;padding:20px;cursor:pointer;transition:all .3s ease;text-align:center;min-height:180px;display:flex;flex-direction:column;justify-content:center;align-items:center}.professional-card:active{transform:scale(.98);border-color:#667eea}.professional-card:hover{border-color:#667eea;transform:translateY(-3px);box-shadow:0 8px 20px #667eea33}.professional-avatar{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;margin:0 auto 12px;box-shadow:0 4px 12px #667eea4d}.professional-card h3{color:#333;margin-bottom:12px;font-size:1.1rem;font-weight:600}.specializations{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:12px;max-width:100%}.specialization-tag{background:#667eea;color:#fff;padding:4px 10px;border-radius:16px;font-size:.75rem;font-weight:500}.services-count{color:#666;font-size:.85rem;margin-top:8px}@media (min-width: 768px){.professional-selector h2{font-size:1.8rem;margin-bottom:30px}.search-container{margin-bottom:30px}.search-input{padding:14px 18px;font-size:1.05rem}.professionals-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.professional-card{padding:25px;min-height:auto}.professional-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #667eea33}.professional-avatar{width:80px;height:80px;font-size:2rem;margin-bottom:15px}.professional-card h3{font-size:1.2rem;margin-bottom:15px}.specializations{gap:8px;margin-bottom:15px}.specialization-tag{padding:5px 12px;font-size:.85rem}.services-count{font-size:.9rem;margin-top:10px}}.service-selector{position:relative;min-height:100%}.service-selector h2{color:#333;margin-bottom:12px;font-size:1.5rem;font-weight:700}.professional-name{color:#666;margin-bottom:20px;font-size:.95rem;font-weight:500;padding:8px 12px;background:#f0f0f0;border-radius:8px;display:inline-block}.search-container{margin-bottom:20px}.search-input{width:100%;padding:12px 16px;border:2px solid #e9ecef;border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fff;box-sizing:border-box}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-input::placeholder{color:#999}.services-list{display:flex;flex-direction:column;gap:12px}.service-card{background:#f8f9fa;border:2px solid #e9ecef;border-radius:16px;padding:16px;cursor:pointer;transition:all .3s ease;display:flex;justify-content:space-between;align-items:center;min-height:80px}.service-card:active{transform:scale(.98);border-color:#667eea}.service-card:hover{border-color:#667eea;transform:translate(3px);box-shadow:0 4px 12px #667eea33}.service-info{flex:1;min-width:0}.service-info h3{color:#333;margin-bottom:8px;font-size:1.1rem;font-weight:600}.service-description{color:#666;margin-bottom:10px;font-size:.85rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.service-details{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.duration{color:#667eea;font-weight:600;font-size:.85rem}.price{color:#28a745;font-weight:700;font-size:1.1rem}.service-arrow{font-size:1.5rem;color:#667eea;font-weight:700;flex-shrink:0;margin-left:8px}@media (min-width: 768px){.service-selector h2{font-size:1.8rem;margin-bottom:15px}.professional-name{margin-bottom:30px;font-size:1.1rem;padding:10px 16px}.search-container{margin-bottom:30px}.search-input{padding:14px 18px;font-size:1.05rem}.services-list{gap:15px}.service-card{padding:20px;min-height:auto}.service-card:hover{transform:translate(5px);box-shadow:0 5px 15px #667eea33}.service-info h3{font-size:1.3rem;margin-bottom:10px}.service-description{font-size:.95rem;margin-bottom:15px}.service-details{gap:20px}.duration{font-size:.95rem}.price{font-size:1.2rem}}.date-picker{position:relative;min-height:100%}.date-picker h2{color:#333;margin-bottom:12px;font-size:1.5rem;font-weight:700}.service-info{color:#666;margin-bottom:20px;font-size:.9rem;padding:8px 12px;background:#f0f0f0;border-radius:8px;display:inline-block}.dates-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px;max-height:400px;overflow-y:auto;padding:4px;-webkit-overflow-scrolling:touch}.date-button{background:#fff;border:2px solid #e9ecef;border-radius:12px;padding:12px 8px;cursor:pointer;transition:all .2s ease;text-align:center;font-family:inherit;min-height:80px;display:flex;flex-direction:column;justify-content:center;align-items:center}.date-button:active:not(.disabled){transform:scale(.95);border-color:#667eea}.date-button:hover:not(.disabled){border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.date-button.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff;box-shadow:0 4px 12px #667eea4d}.date-button.disabled{opacity:.3;cursor:not-allowed}.date-button.today:not(.selected){border-color:#667eea;border-width:3px;background:linear-gradient(135deg,#f0f4ff,#e8edff);box-shadow:0 2px 8px #667eea26;position:relative}.date-button.today:not(.selected):before{content:"Hoje";position:absolute;top:4px;right:4px;font-size:.6rem;font-weight:700;color:#667eea;background:#fff;padding:2px 6px;border-radius:4px;text-transform:uppercase}.date-day{font-size:.7rem;font-weight:600;text-transform:uppercase;margin-bottom:4px;color:inherit}.date-number{font-size:1.4rem;font-weight:700;margin:4px 0;color:inherit}.date-month{font-size:.7rem;font-weight:500;text-transform:uppercase;color:inherit}.date-button.selected .date-day,.date-button.selected .date-number,.date-button.selected .date-month{color:#fff}@media (min-width: 768px){.date-picker h2{font-size:1.8rem;margin-bottom:15px}.service-info{margin-bottom:30px;font-size:1rem;padding:10px 16px}.dates-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:15px;margin-bottom:30px;max-height:none;overflow-y:visible}.date-button{padding:15px;min-height:auto}.date-button:hover:not(.disabled){transform:translateY(-3px);box-shadow:0 5px 15px #667eea33}.date-day{font-size:.85rem;margin-bottom:5px}.date-number{font-size:1.8rem;margin:5px 0}.date-month{font-size:.85rem}}.time-slot-selector{position:relative;min-height:100%}.time-slot-selector h2{color:#333;margin-bottom:12px;font-size:1.5rem;font-weight:700}.info-text{color:#666;margin-bottom:20px;font-size:.9rem;padding:8px 12px;background:#f0f0f0;border-radius:8px;display:inline-block}.time-slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px;max-height:400px;overflow-y:auto;padding:4px;-webkit-overflow-scrolling:touch}.time-slot-button{background:#fff;border:2px solid #e9ecef;border-radius:12px;padding:14px 12px;cursor:pointer;transition:all .2s ease;font-size:.95rem;font-weight:600;color:#333;font-family:inherit;min-height:50px;display:flex;align-items:center;justify-content:center}.time-slot-button:active{transform:scale(.95);border-color:#667eea}.time-slot-button:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.time-slot-button.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff;box-shadow:0 4px 12px #667eea4d}.empty-message{text-align:center;color:#999;padding:40px 20px;font-size:1rem}@media (min-width: 768px){.time-slot-selector h2{font-size:1.8rem;margin-bottom:15px}.info-text{margin-bottom:30px;font-size:1rem;padding:10px 16px}.time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:15px;margin-bottom:30px;max-height:none;overflow-y:visible}.time-slot-button{padding:15px 20px;font-size:1.1rem;min-height:auto}.time-slot-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea33}}.customer-form{position:relative;min-height:100%}.customer-form h2{color:#333;margin-bottom:12px;font-size:1.5rem;font-weight:700}.form-group input::placeholder{color:#999}@media (min-width: 768px){.customer-form h2{font-size:1.8rem;margin-bottom:15px}.info-text{margin-bottom:30px;font-size:1rem}.form-group{margin-bottom:25px}.form-group label{font-size:1rem}.form-group input{padding:15px}}.appointment-cart{position:relative;min-height:100%;display:flex;flex-direction:column}@media (max-width: 767px){.appointment-cart .content-with-fixed-buttons{padding-bottom:220px;flex:1}}.appointment-cart h2{color:#333;margin-bottom:12px;font-size:1.5rem;font-weight:700}.empty-cart{text-align:center;padding:40px 20px;color:#666}.cart-items{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.cart-item{background:#f8f9fa;border-radius:12px;padding:20px;border:2px solid #e9ecef;position:relative}.cart-item-agendamento-unico-conflict{border-color:#dc3545;background:#fff5f5}.cart-item-conflict-badge{font-size:.75rem;color:#dc3545;font-weight:600;margin-left:8px}.cart-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.cart-item-number{background:#667eea;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.remove-item-btn{background:#dc3545;color:#fff;border:none;border-radius:50%;width:32px;height:32px;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;font-weight:300}.remove-item-btn:hover{background:#c82333;transform:scale(1.1)}.cart-item-content{display:grid;grid-template-columns:1fr;gap:16px}.cart-item-section{padding-bottom:12px;border-bottom:1px solid #e9ecef}.cart-item-section:last-child{border-bottom:none;padding-bottom:0}.cart-item-section h4{color:#667eea;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.cart-item-customer-name{color:#333;font-size:1rem;font-weight:600;margin-bottom:4px}.cart-item-phone{color:#666;font-size:.9rem}.cart-item-professional{color:#333;font-size:1rem;font-weight:600;margin-bottom:4px}.cart-item-service{color:#666;font-size:.9rem}.cart-item-service-row{display:inline-flex;align-items:center;gap:8px;color:#666;font-size:.9rem;margin:0}.cart-item-service-info-wrap{position:relative;display:inline-flex;align-items:center}.cart-item-service-info-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:#e9ecef;color:#667eea;border-radius:50%;cursor:pointer;transition:background .2s,color .2s,transform .2s}.cart-item-service-info-btn:hover{background:#667eea;color:#fff;transform:scale(1.08)}.cart-item-service-info-btn[aria-expanded=true]{background:#667eea;color:#fff}.cart-item-service-info-icon{width:14px;height:14px}.cart-item-service-description-popover{position:absolute;left:0;top:calc(100% + 8px);z-index:10;min-width:220px;max-width:320px;padding:12px 14px;background:#fff;border-radius:10px;box-shadow:0 4px 20px #00000026;border:1px solid #e9ecef}.cart-item-service-description-text{margin:0 0 10px;font-size:.875rem;line-height:1.45;color:#333;white-space:pre-wrap;word-break:break-word}.cart-item-service-description-close{display:block;width:100%;padding:6px 10px;font-size:.8rem;font-weight:600;color:#667eea;background:#f0f0ff;border:1px solid #667eea;border-radius:6px;cursor:pointer;transition:background .2s,color .2s}.cart-item-service-description-close:hover{background:#667eea;color:#fff}@media (max-width: 767px){.cart-item-section{overflow:visible}.cart-item-service-row{flex-wrap:wrap}.cart-item-service-info-wrap{position:static;width:100%;margin-top:4px}.cart-item-service-description-popover{position:relative;left:auto;top:auto;min-width:0;max-width:none;width:100%;margin-top:8px;box-sizing:border-box}}.cart-item-date{color:#333;font-size:.95rem;margin-bottom:4px}.cart-item-time{color:#667eea;font-size:1.1rem;font-weight:700}.cart-item-unavailable-warning{color:#dc3545;font-size:.9rem;font-weight:600;margin-bottom:8px;padding:8px 12px;background:#fff5f5;border-radius:8px;border-left:4px solid #dc3545}.cart-item-reschedule-btn{margin-top:12px;font-size:.9rem;padding:10px 16px;background:#f8f9fa;color:#667eea;border:2px solid #667eea}.cart-item-reschedule-btn.cart-item-reschedule-urgent{background:#dc3545;color:#fff;border-color:#dc3545}.cart-item-suggestion-btn{margin-top:8px;margin-right:8px;font-size:.9rem;padding:8px 14px;background:#e8f4fd;color:#0d6efd;border:2px solid #0d6efd}.cart-unavailable-notice{color:#856404;padding:12px 16px;background:#fff3cd;border-radius:8px;font-size:.9rem;margin-bottom:20px;border-left:4px solid #ffc107}.cart-item-price-section{text-align:right}.cart-item-price{color:#28a745;font-size:1.3rem;font-weight:700}.cart-total{margin-top:24px}.total-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:center;color:#fff}.total-label{font-size:1.1rem;font-weight:600}.total-value{font-size:1.8rem;font-weight:700}.button-add-another{background:#f8f9fa;color:#667eea;border:2px dashed #667eea;font-weight:600;transition:all .2s ease}.button-add-another:hover{background:#667eea;color:#fff;border-color:#667eea}@media (min-width: 768px){.appointment-cart h2{font-size:1.8rem;margin-bottom:15px}.info-text{margin-bottom:30px;font-size:1rem}.cart-items{gap:20px;margin-bottom:30px}.cart-item{padding:25px}.cart-item-content{grid-template-columns:repeat(2,1fr);gap:20px}.cart-item-number{width:40px;height:40px;font-size:1rem}.remove-item-btn{width:36px;height:36px;font-size:1.6rem}.cart-item-section h4{font-size:.9rem}.cart-item-customer-name{font-size:1.1rem}.cart-item-phone{font-size:1rem}.cart-item-professional{font-size:1.1rem}.cart-item-service,.cart-item-date{font-size:1rem}.cart-item-time{font-size:1.2rem}.cart-item-price{font-size:1.5rem}.total-card{padding:25px}.total-label{font-size:1.2rem}.total-value{font-size:2rem}}.reschedule-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;overflow-y:auto}.reschedule-modal{background:#fff;border-radius:16px;padding:24px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.reschedule-modal h3{margin:0 0 8px;font-size:1.4rem;color:#333}.reschedule-modal-subtitle{margin:0 0 24px;color:#666;font-size:.95rem}.reschedule-modal-section{margin-bottom:24px}.reschedule-modal-section h4{margin:0 0 12px;font-size:1rem;color:#667eea;font-weight:600}.reschedule-dates-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:180px;overflow-y:auto}.reschedule-date-btn{background:#fff;border:2px solid #e9ecef;border-radius:10px;padding:10px 6px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;font-family:inherit}.reschedule-date-btn:hover:not(.disabled){border-color:#667eea}.reschedule-date-btn.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.reschedule-date-btn.disabled{opacity:.4;cursor:not-allowed}.reschedule-date-day{font-size:.65rem;font-weight:600}.reschedule-date-num{font-size:1.2rem;font-weight:700;margin:2px 0}.reschedule-date-month{font-size:.65rem}.reschedule-slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-height:200px;overflow-y:auto}.reschedule-slot-btn{background:#fff;border:2px solid #e9ecef;border-radius:10px;padding:12px;cursor:pointer;font-size:1rem;font-weight:600;font-family:inherit;transition:all .2s}.reschedule-slot-btn:hover{border-color:#667eea}.reschedule-slot-btn.selected{background:#667eea;border-color:#667eea;color:#fff}.reschedule-loading,.reschedule-empty{color:#666;font-size:.95rem;margin:0;padding:16px;text-align:center}.reschedule-modal-actions{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e9ecef}.reschedule-modal-actions .button{flex:1}.change-pro-svc-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;overflow-y:auto}.change-pro-svc-modal{background:#fff;border-radius:16px;padding:24px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.change-pro-svc-modal h3{margin:0 0 20px;font-size:1.4rem;color:#333}.change-pro-svc-steps{display:flex;align-items:center;gap:8px;margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid #e9ecef}.change-pro-svc-step{display:flex;align-items:center;gap:8px;color:#999;font-size:.9rem}.change-pro-svc-step.active{color:#667eea;font-weight:600}.change-pro-svc-step.done{color:#28a745}.change-pro-svc-step-num{width:28px;height:28px;border-radius:50%;background:#e9ecef;color:#999;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.change-pro-svc-step.active .change-pro-svc-step-num{background:#667eea;color:#fff}.change-pro-svc-step.done .change-pro-svc-step-num{background:#28a745;color:#fff}.change-pro-svc-step-line{flex:1;height:2px;background:#e9ecef;min-width:20px}.change-pro-svc-section{margin-bottom:24px}.change-pro-svc-section h4{margin:0 0 10px;font-size:1rem;color:#667eea;font-weight:600}.change-pro-svc-search{width:100%;padding:10px 14px;border:2px solid #e9ecef;border-radius:10px;font-size:1rem;margin-bottom:12px;font-family:inherit}.change-pro-svc-search:focus{outline:none;border-color:#667eea}.change-pro-svc-filters{margin-bottom:12px}.change-pro-svc-filters.collapsed{margin-bottom:8px}.change-pro-svc-filters-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;font-family:inherit;font-size:.9rem;font-weight:600;color:#667eea;background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s}.change-pro-svc-filters-toggle:hover{background:#f0f0ff;border-color:#667eea}.change-pro-svc-filters-label{font-size:.85rem;font-weight:600;color:#666}.change-pro-svc-filters-toggle .change-pro-svc-filters-label{color:inherit}.change-pro-svc-filters-active{font-weight:500;color:#333}.change-pro-svc-filters-chevron{font-size:.7rem;opacity:.8}.change-pro-svc-filters.expanded .change-pro-svc-filter-chips{margin-top:10px;padding-top:10px;border-top:1px solid #e9ecef}.change-pro-svc-filter-chips{display:flex;flex-wrap:wrap;gap:8px}.change-pro-svc-filter-chip{padding:6px 12px;font-size:.85rem;font-family:inherit;font-weight:500;border:2px solid #e9ecef;border-radius:20px;background:#fff;color:#666;cursor:pointer;transition:all .2s}.change-pro-svc-filter-chip:hover{border-color:#667eea;color:#667eea}.change-pro-svc-filter-chip.active{background:#667eea;border-color:#667eea;color:#fff}.change-pro-svc-list{max-height:280px;min-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.change-pro-svc-list-grouped{gap:16px}.change-pro-svc-group{display:flex;flex-direction:column;gap:8px}.change-pro-svc-group-title{margin:0;font-size:.85rem;font-weight:700;color:#667eea;text-transform:uppercase;letter-spacing:.5px;padding:4px 0;border-bottom:1px solid #e9ecef;position:sticky;top:0;background:#fff;z-index:1}.change-pro-svc-group-items{display:flex;flex-direction:column;gap:6px}.change-pro-svc-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:2px solid #e9ecef;border-radius:10px;background:#fff;cursor:pointer;transition:all .2s;text-align:left;font-family:inherit}.change-pro-svc-item:hover{border-color:#667eea}.change-pro-svc-item.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.change-pro-svc-avatar{width:36px;height:36px;border-radius:50%;background:#0000001a;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.change-pro-svc-item.selected .change-pro-svc-avatar{background:#ffffff4d}.change-pro-svc-name{font-weight:600;font-size:1rem}.change-pro-svc-service{flex-direction:column;align-items:flex-start}.change-pro-svc-svc-name{font-weight:600;font-size:1rem}.change-pro-svc-svc-details{font-size:.9rem;color:#666}.change-pro-svc-item.selected .change-pro-svc-svc-details{color:#ffffffe6}.change-pro-svc-hint{color:#666;font-size:.95rem;margin:0;padding:16px}.change-pro-svc-empty{color:#666;font-size:.95rem;margin:0;padding:24px 16px;text-align:center;background:#f8f9fa;border-radius:10px}.change-pro-svc-prof-selected{color:#666;font-size:.95rem;margin:0 0 12px;padding:10px 14px;background:#f8f9fa;border-radius:8px}.change-pro-svc-actions{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e9ecef}.change-pro-svc-actions .button{flex:1}.confirm-bookings-summary-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001;padding:16px;overflow-y:auto}.confirm-bookings-summary-modal{background:#fff;border-radius:16px;padding:24px;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.confirm-bookings-summary-header{text-align:center;margin-bottom:24px}.confirm-bookings-summary-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:28px;background:#fff3cd;color:#856404;border-radius:50%;margin-bottom:12px}.confirm-bookings-summary-modal h3{margin:0 0 8px;font-size:1.4rem;color:#333}.confirm-bookings-summary-subtitle{margin:0;color:#666;font-size:.95rem}.confirm-bookings-summary-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;max-height:40vh;overflow-y:auto}.confirm-bookings-summary-item{display:flex;gap:12px;background:#f8f9fa;border-radius:12px;padding:14px 16px;border:1px solid #e9ecef}.confirm-bookings-summary-item-number{flex-shrink:0;width:28px;height:28px;background:#667eea;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.confirm-bookings-summary-item-content{flex:1;font-size:.9rem;color:#333}.confirm-bookings-summary-item-content p{margin:0 0 4px}.confirm-bookings-summary-item-content p:last-child{margin-bottom:0}.confirm-bookings-summary-total{display:flex;justify-content:space-between;align-items:center;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-weight:600;font-size:.9rem;margin-bottom:24px}.confirm-bookings-summary-actions{display:flex;gap:12px;padding-top:16px;border-top:1px solid #e9ecef}.confirm-bookings-summary-actions .button{flex:1}.confirm-bookings-summary-actions .button:disabled{opacity:.6;cursor:not-allowed}.suggestion-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001;padding:16px;overflow-y:auto}.suggestion-modal{background:#fff;border-radius:16px;padding:24px;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003;box-sizing:border-box}.suggestion-modal h3{margin:0 0 8px;font-size:1.4rem;color:#333}.suggestion-modal-multi-hint{margin:0 0 8px;padding:8px 12px;background:#e8f4fd;color:#0d6efd;border-radius:8px;font-size:.9rem;font-weight:500}.suggestion-modal-subtitle{margin:0 0 20px;color:#666;font-size:.95rem}.suggestion-modal-sections{display:flex;flex-direction:column;gap:20px}.suggestion-modal-section{padding:16px;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef;min-width:0}.suggestion-modal-section h4{margin:0 0 8px;font-size:1rem;color:#667eea;font-weight:600}.suggestion-modal-desc{margin:0 0 12px;font-size:.9rem;color:#666}.suggestion-slots-grid{display:flex;flex-wrap:wrap;gap:10px;width:100%}.suggestion-slot-btn{background:#fff;border:2px solid #e9ecef;border-radius:10px;padding:12px 16px;cursor:pointer;font-size:.95rem;font-weight:600;font-family:inherit;transition:all .2s;min-width:72px;flex:0 0 auto}.suggestion-slot-btn:hover{border-color:#667eea;background:#f0f4ff}@media (min-width: 380px){.suggestion-slot-btn{min-width:80px}}.suggestion-pro-list{display:flex;flex-direction:column;gap:10px}.suggestion-pro-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:#fff;border-radius:10px;border:1px solid #e9ecef;min-width:0;flex-wrap:wrap}.suggestion-pro-card .suggestion-apply-btn{align-self:center}.suggestion-pro-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.suggestion-pro-info strong{font-size:.95rem}.suggestion-pro-service{font-size:.85rem;color:#666}.suggestion-pro-times{font-size:.8rem;color:#888}.suggestion-apply-btn{flex-shrink:0;padding:6px 10px;font-size:.8rem;white-space:nowrap;max-width:100%}.suggestion-modal-empty{padding:20px;text-align:center;color:#666}.suggestion-modal-hint{margin-top:12px;font-size:.9rem;color:#888}.suggestion-modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:16px}.suggestion-modal-loading p{margin:0;color:#666;font-size:.95rem}.suggestion-modal-loading .spinner{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:44px;height:44px;animation:suggestion-spin 1s linear infinite;margin:0}@keyframes suggestion-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.suggestion-modal-actions{margin-top:24px;padding-top:20px;border-top:1px solid #e9ecef}.confirmation{text-align:center}.success-icon{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;margin:0 auto 20px;animation:scaleIn .5s ease;box-shadow:0 4px 20px #28a7454d}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.confirmation h2{color:#333;margin-bottom:10px;font-size:1.75rem;font-weight:700}.success-message{color:#666;margin-bottom:30px;font-size:1rem;line-height:1.5}.confirmation-details{background:#f8f9fa;border-radius:16px;padding:20px;margin-bottom:24px;text-align:left}.confirmation-appointment-card{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;border:2px solid #e9ecef;position:relative}.confirmation-appointment-card:last-child{margin-bottom:0}.confirmation-appointment-number{position:absolute;top:-12px;left:16px;background:#667eea;color:#fff;min-width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;padding:0 6px}.detail-card{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e9ecef}.detail-card:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.detail-label{color:#666;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.detail-value{color:#333;font-size:1.1rem;font-weight:500;word-break:break-word}.detail-value.price{color:#28a745;font-size:1.4rem;font-weight:700}.detail-value strong{color:#667eea;font-size:1.2rem}@media (min-width: 768px){.success-icon{width:80px;height:80px;font-size:3rem}.confirmation h2{font-size:2rem}.success-message{margin-bottom:40px;font-size:1.1rem}.confirmation-details{padding:30px;margin-bottom:30px}.detail-card{margin-bottom:20px;padding-bottom:20px}.detail-label{font-size:.9rem;margin-bottom:8px}.detail-value{font-size:1.2rem}.detail-value.price{font-size:1.5rem}.detail-value strong{font-size:1.3rem}}.appointment-viewer{position:relative;min-height:100%}.appointment-viewer h2{color:#333;margin-bottom:12px;font-size:1.5rem;font-weight:700}.info-text{color:#666;margin-bottom:24px;font-size:.9rem;line-height:1.5}.info-text-small{color:#888;margin-top:8px;font-size:.85rem;line-height:1.4}.search-form{display:flex;flex-direction:column;min-height:100%}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:600;font-size:.95rem}.form-group input{width:100%;padding:16px;border:2px solid #e9ecef;border-radius:12px;font-size:1rem;font-family:inherit;transition:all .2s ease;background:#fff;min-height:52px}.form-group textarea{width:100%;padding:14px 16px;border:2px solid #e9ecef;border-radius:12px;font-size:1rem;font-family:inherit;line-height:1.45;transition:all .2s ease;background:#fff;resize:vertical;min-height:98px}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input.error{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.cancel-reason-group{margin-top:14px;margin-bottom:0}.cancel-reason-textarea{margin-top:2px}.error-message{display:block;color:#dc3545;font-size:.85rem;margin-top:6px;font-weight:500}.appointments-results{margin-top:24px}.appointments-results h3{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:16px}.no-appointments{padding:24px;text-align:center;background:#f8f9fa;border-radius:12px;color:#666}.appointments-list{display:flex;flex-direction:column;gap:16px}.appointment-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;padding:20px;transition:all .2s ease}.appointment-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea1a}.appointment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e9ecef}.appointment-header h4{color:#333;font-size:1.1rem;font-weight:600;margin:0}.status-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase}.status-scheduled{background-color:#fff3cd;color:#856404}.status-confirmed{background-color:#d1ecf1;color:#0c5460}.status-canceled{background-color:#f8d7da;color:#721c24}.status-completed{background-color:#d4edda;color:#155724}.status-default{background-color:#e9ecef;color:#495057}.appointment-details{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.detail-item{display:flex;justify-content:space-between;align-items:center}.detail-label{color:#666;font-size:.9rem;font-weight:500}.detail-value{color:#333;font-size:.9rem;font-weight:600;text-align:right}.button-cancel{width:100%;background-color:#dc3545;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:8px}.button-cancel:hover:not(:disabled){background-color:#c82333;transform:translateY(-1px);box-shadow:0 4px 8px #dc35454d}.button-cancel:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}@media (min-width: 768px){.appointment-viewer h2{font-size:1.8rem;margin-bottom:15px}.info-text{margin-bottom:30px;font-size:1rem}.form-group{margin-bottom:25px}.appointment-card{padding:24px}.appointment-header h4{font-size:1.2rem}.detail-item{font-size:1rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:24px 24px 16px;border-bottom:1px solid #e9ecef}.modal-header h3{margin:0;color:#333;font-size:1.5rem;font-weight:700}.modal-body{padding:24px}.modal-body p{margin:0;color:#666;font-size:1rem;line-height:1.6}.modal-body p+.form-group{margin-top:14px}.modal-footer{padding:16px 24px 24px;display:flex;gap:12px;justify-content:flex-end;border-top:1px solid #e9ecef}.modal-footer .button{margin-top:0;min-width:120px;width:auto}.modal-footer .button-danger{background-color:#dc3545!important;color:#fff!important;border:none;padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #dc35454d!important}.modal-footer .button-danger:hover{background-color:#c82333!important;transform:translateY(-1px);box-shadow:0 6px 20px #dc354566!important}.modal-footer .button-danger:active{transform:translateY(0);box-shadow:0 2px 8px #dc35454d!important}.modal-footer .button-danger:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (min-width: 768px){.modal-content{max-width:500px}.modal-header{padding:28px 28px 20px}.modal-header h3{font-size:1.75rem}.modal-body{padding:28px}.modal-body p{font-size:1.05rem}.modal-footer{padding:20px 28px 28px}}*{margin:0;padding:0;box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);background-attachment:fixed;min-height:100vh;padding:0}#root{width:100%;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:0}*{-webkit-tap-highlight-color:transparent}button,a,[role=button]{touch-action:manipulation}
