.client-appointment-wizard{--theme-gradient:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-dark) 100%)}.client-appointment-wizard .wizard-header{background:var(--theme-gradient)}.client-appointment-wizard .stepper-item.current .stepper-icon{background:var(--theme-primary);border-color:var(--theme-primary-40);box-shadow:0 0 0 4px var(--theme-primary-15)}.client-appointment-wizard .stepper-item.completed .stepper-icon{background:var(--theme-primary-dark)}.client-appointment-wizard .stepper-item.current .stepper-label{color:var(--theme-primary)}.client-appointment-wizard .stepper-item.completed .stepper-label{color:var(--theme-primary-dark)}.client-appointment-wizard .stepper-item.completed .stepper-line{background:var(--theme-primary-dark)}.client-appointment-wizard .form-control:focus,.client-appointment-wizard .form-select:focus{border-color:var(--theme-primary);box-shadow:0 0 0 3px var(--theme-primary-15)}.client-appointment-wizard .wizard-content .btn-next,.client-appointment-wizard .wizard-content .btn-primary,.client-appointment-wizard .wizard-footer .btn-next,.client-appointment-wizard .wizard-footer .btn-primary,.client-appointment-wizard .wizard-footer-inline .btn-next,.client-appointment-wizard .wizard-footer-inline .btn-primary{background:var(--theme-gradient);border-color:var(--theme-primary)}.client-appointment-wizard .wizard-content .btn-next:hover,.client-appointment-wizard .wizard-content .btn-primary:hover,.client-appointment-wizard .wizard-footer .btn-next:hover,.client-appointment-wizard .wizard-footer .btn-primary:hover,.client-appointment-wizard .wizard-footer-inline .btn-next:hover,.client-appointment-wizard .wizard-footer-inline .btn-primary:hover{background:linear-gradient(135deg,var(--theme-primary-dark) 0,var(--theme-primary-dark) 100%)}.client-appointment-wizard .wizard-content .btn-save,.client-appointment-wizard .wizard-content .btn-success,.client-appointment-wizard .wizard-footer .btn-save,.client-appointment-wizard .wizard-footer .btn-success,.client-appointment-wizard .wizard-footer-inline .btn-save,.client-appointment-wizard .wizard-footer-inline .btn-success{background:var(--theme-gradient);border-color:var(--theme-primary)}.client-appointment-wizard .wizard-content .btn-save:hover,.client-appointment-wizard .wizard-content .btn-success:hover,.client-appointment-wizard .wizard-footer .btn-save:hover,.client-appointment-wizard .wizard-footer .btn-success:hover,.client-appointment-wizard .wizard-footer-inline .btn-save:hover,.client-appointment-wizard .wizard-footer-inline .btn-success:hover{background:linear-gradient(135deg,var(--theme-primary-dark) 0,var(--theme-primary-dark) 100%)}.client-appointment-wizard .step-title svg{color:var(--theme-primary)}.client-appointment-wizard .animal-selection-card{cursor:pointer;border:2px solid var(--surface-100);border-radius:var(--radius-xl);transition:all .2s ease}.client-appointment-wizard .animal-selection-card.selected,.client-appointment-wizard .animal-selection-card:hover{border-color:var(--theme-primary);background:var(--theme-primary-10)}.client-appointment-wizard .animal-selection-card.selected{box-shadow:0 0 0 3px var(--theme-primary-15)}.client-appointment-wizard .animal-image-wrapper{width:80px;height:80px;margin:0 auto var(--spacing-3);border-radius:var(--radius-xl);overflow:hidden;background:var(--surface-50)}.client-appointment-wizard .animal-image-wrapper img{width:100%;height:100%}.client-appointment-wizard .animal-image-wrapper img.custom-image{object-fit:cover}.client-appointment-wizard .animal-image-wrapper img.default-image{object-fit:contain;padding:var(--spacing-2)}.client-appointment-wizard .animal-name{font-weight:600;color:var(--surface-800);margin-bottom:var(--spacing-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-appointment-wizard .animal-species{font-size:var(--font-size-xs)}.client-appointment-wizard .professional-selection-card{cursor:pointer;border:2px solid var(--surface-100);border-radius:var(--radius-xl);transition:all .2s ease}.client-appointment-wizard .professional-selection-card.selected,.client-appointment-wizard .professional-selection-card:hover{border-color:var(--theme-primary);background:var(--theme-primary-10)}.client-appointment-wizard .professional-selection-card.selected{box-shadow:0 0 0 3px var(--theme-primary-15)}.client-appointment-wizard .professional-name{font-weight:600;color:var(--surface-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-appointment-wizard .professional-type{font-size:.7rem;margin-top:var(--spacing-1)}.client-appointment-wizard .service-selection-card{cursor:pointer;border:2px solid var(--surface-100);border-radius:var(--radius-xl);transition:all .2s ease}.client-appointment-wizard .service-selection-card.selected,.client-appointment-wizard .service-selection-card:hover:not(.disabled){border-color:var(--theme-primary);background:var(--theme-primary-10)}.client-appointment-wizard .service-selection-card.selected{box-shadow:0 0 0 3px var(--theme-primary-15)}.client-appointment-wizard .service-selection-card.disabled{opacity:.5;cursor:not-allowed}.client-appointment-wizard .service-icon{color:var(--theme-primary);opacity:.7}.client-appointment-wizard .service-name{font-weight:600;color:var(--surface-800);font-size:.95rem}.client-appointment-wizard .service-description{margin-top:var(--spacing-1);line-height:1.4;font-size:.8rem}.client-appointment-wizard .service-badges .badge{font-size:.8rem;padding:.4em .7em}.client-appointment-wizard .selection-check{position:absolute;top:var(--spacing-2);right:var(--spacing-2);width:24px;height:24px;border-radius:50%;background:var(--theme-primary);color:var(--bg-white);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs)}.client-appointment-wizard .animal-selection-card,.client-appointment-wizard .professional-selection-card,.client-appointment-wizard .service-selection-card{position:relative}.client-appointment-wizard .confirmation-card{border:1px solid var(--surface-200);border-radius:var(--radius-xl);overflow:hidden}.client-appointment-wizard .confirmation-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.client-appointment-wizard .confirm-cell{padding:.75rem}.client-appointment-wizard .confirm-cell:nth-child(odd){border-right:1px solid var(--surface-200)}.client-appointment-wizard .confirm-cell:first-child,.client-appointment-wizard .confirm-cell:nth-child(2){border-bottom:1px solid var(--surface-200)}.client-appointment-wizard .confirm-section{background:var(--surface-50);border-radius:var(--radius-lg);padding:.75rem;height:100%}.client-appointment-wizard .confirm-section-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--surface-500);margin-bottom:.5rem;display:flex;align-items:center}.client-appointment-wizard .confirm-section-title svg{color:var(--theme-primary)}.client-appointment-wizard .confirm-extra-section{padding:0}.client-appointment-wizard .confirm-notes-input{font-size:.85rem;border-radius:var(--radius-lg);resize:none}.client-appointment-wizard .confirm-files-list{display:flex;flex-direction:column;gap:.35rem}.client-appointment-wizard .confirm-file-item{display:flex;align-items:center;justify-content:space-between;background:var(--surface-100);border-radius:var(--radius-md);padding:.4rem .6rem;font-size:.8rem}.client-appointment-wizard .confirm-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.client-appointment-wizard .confirm-file-remove{background:none;border:none;color:var(--surface-400);cursor:pointer;padding:2px var(--spacing-1);border-radius:var(--radius-sm);line-height:1}.client-appointment-wizard .confirm-file-remove:hover{color:var(--error);background:var(--danger-10)}.client-appointment-wizard .wizard-content{border:none}@media (max-width:48em){.client-appointment-wizard .animal-image-wrapper{width:60px;height:60px}.client-appointment-wizard .animal-name{font-size:.85rem}.client-appointment-wizard .confirmation-summary .card-body,.client-appointment-wizard .professional-selection-card .card-body,.client-appointment-wizard .service-selection-card .card-body{padding:.75rem}}@media (max-width:36em){.client-appointment-wizard .selection-check{width:20px;height:20px;font-size:var(--font-size-xs)}}