.personal-data-modal .guest-user-info{padding:.75rem}.personal-data-modal .guest-user-info .guest-info-content{display:flex;align-items:center;flex-direction:row;justify-content:space-between;width:100%}@media(max-width:768px){.personal-data-modal .guest-user-info .guest-info-content{flex-direction:column;align-items:flex-start;gap:.5rem}}.personal-data-modal .guest-user-info .guest-email-info{display:flex;align-items:center;gap:.5rem}@media(max-width:768px){.personal-data-modal .guest-user-info .guest-email-info{width:100%;flex-direction:row;justify-content:space-between;gap:.5rem}}.personal-data-modal .guest-user-info .guest-email-info .guest-email{font-weight:500;color:var(--text-primary)}.personal-data-modal .guest-user-info .guest-email-info .guest-label{color:var(--text-secondary);opacity:.7}.personal-data-modal .guest-user-info .guest-actions{display:flex;align-items:center;gap:.75rem}.personal-data-modal .modal-content{border:none;border-radius:var(--card-border-radius);background:hsla(0,0%,100%,.95);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 24px 48px rgba(0,0,0,.1),0 12px 24px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.04);max-width:1000px;margin:20px auto;transform:translateY(0);transition:transform .4s cubic-bezier(.16,1,.3,1);overflow:hidden}.personal-data-modal .modal-header{background:linear-gradient(135deg,#0a84ff,#0066cc);padding:2.5rem 2rem 2rem;border:none;position:relative}.personal-data-modal .modal-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.1))}.personal-data-modal .header-content{color:#fff}.personal-data-modal .title{font-size:1.5rem;font-weight:600;margin:0;letter-spacing:-.025em;background:linear-gradient(90deg,#ffffff,rgba(255,255,255,.85));-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0)}.personal-data-modal .subtitle{font-size:1.1rem;opacity:.9;margin:.75rem 0 0;font-weight:400;color:hsla(0,0%,100%,.9)}.personal-data-modal .personal-data-modal-btn-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:1;transition:all .2s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10}.personal-data-modal .personal-data-modal-btn-close:hover{background:hsla(0,0%,100%,.3);border-color:hsla(0,0%,100%,.2);transform:scale(1.05);opacity:1}.personal-data-modal .personal-data-modal-btn-close:focus{box-shadow:0 0 0 3px hsla(0,0%,100%,.3);outline:none;opacity:1}.personal-data-modal .personal-data-modal-btn-close:active{transform:scale(.95)}.personal-data-modal .personal-data-modal-btn-close:before{content:"×";font-size:1.2rem;font-weight:300;color:#fff;line-height:1}.personal-data-modal .modal-body{padding:2.5rem;background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,.8))}.personal-data-modal .booking-form{margin-top:.5rem}.personal-data-modal .form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.75rem;gap:1.75rem;margin-bottom:1.75rem}.personal-data-modal .form-grid>.form-group{margin-bottom:0}.personal-data-modal .form-group label{display:block;font-weight:600;color:#1a1a1a;margin-bottom:.625rem;font-size:.9375rem;letter-spacing:-.01em}.personal-data-modal .guest-account-card{padding:1.5rem;border-radius:18px;background:hsla(0,0%,100%,.94);border:1px solid hsla(0,0%,100%,.6);box-shadow:0 12px 28px rgba(15,23,42,.08);margin-bottom:1.75rem}@media(max-width:768px){.personal-data-modal .guest-account-card{padding:1.25rem}}.personal-data-modal .guest-account-card .guest-account-intro{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}.personal-data-modal .guest-account-card .guest-account-intro .guest-account-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(10,132,255,.18),rgba(0,102,204,.1));color:#0a84ff}.personal-data-modal .guest-account-card .guest-account-intro h6{margin:0;font-size:1rem;font-weight:600;color:#0a172b}.personal-data-modal .guest-account-card .guest-account-intro p{margin:.2rem 0 0;font-size:.85rem;color:rgba(10,23,43,.7)}.personal-data-modal .password-hint{font-size:.8rem;margin-top:.5rem;color:rgba(10,23,43,.6)}.personal-data-modal .password-hint.valid{color:#0b8a56}.personal-data-modal .password-hint.invalid{color:#d14343}.personal-data-modal .guest-terms-check{font-size:.85rem;color:rgba(10,23,43,.72)}.personal-data-modal .guest-terms-check input{margin-right:.5rem}.personal-data-modal .input-wrapper{position:relative;transition:transform .2s cubic-bezier(.16,1,.3,1)}.personal-data-modal .input-wrapper:focus-within{transform:scale(1.01)}.personal-data-modal .form-input{width:100%;height:48px;padding:0 1.125rem;border:1px solid rgba(0,0,0,.06);border-radius:12px;font-size:1rem;transition:all .2s cubic-bezier(.16,1,.3,1);background:hsla(0,0%,100%,.8);color:#1a1a1a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.personal-data-modal .form-input::placeholder{color:rgba(0,0,0,.35)}.personal-data-modal .form-input:hover{background:hsla(0,0%,100%,.9);border-color:rgba(0,0,0,.1)}.personal-data-modal .form-input:focus{background:#fff;border-color:#0a84ff;box-shadow:0 0 0 4px rgba(10,132,255,.15),0 1px 2px rgba(0,0,0,.05);outline:none}.personal-data-modal .phone-input-group{display:flex;gap:.75rem;align-items:flex-start}.personal-data-modal .phone-input-group .input-wrapper{height:48px}.personal-data-modal .country-code-select{width:180px;flex-shrink:0}.personal-data-modal .country-code-select .country-select__control{border:1px solid rgba(0,0,0,.06);border-radius:12px;background:hsla(0,0%,100%,.8);height:48px;box-shadow:none;transition:all .2s cubic-bezier(.16,1,.3,1)}.personal-data-modal .country-code-select .country-select__control:hover{background:hsla(0,0%,100%,.9);border-color:rgba(0,0,0,.1)}.personal-data-modal .country-code-select .country-select__control--is-focused{background:#fff;border-color:#0a84ff;box-shadow:0 0 0 4px rgba(10,132,255,.15),0 1px 2px rgba(0,0,0,.05)}.personal-data-modal .country-code-select .country-select__value-container{padding:0 .75rem;height:46px}.personal-data-modal .country-code-select .country-select__single-value{color:#1a1a1a;font-size:1rem}.personal-data-modal .country-code-select .country-select__indicator-separator{display:none}.personal-data-modal .country-code-select .country-select__dropdown-indicator{color:rgba(0,0,0,.3);padding:0 .75rem}.personal-data-modal .country-code-select .country-select__menu{background:hsla(0,0%,100%,.98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.06);box-shadow:0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);border-radius:12px;margin-top:8px;overflow:hidden}.personal-data-modal .country-code-select .country-select__option{padding:.75rem 1rem;cursor:pointer;transition:all .2s ease;font-size:.9375rem;color:#1a1a1a}.personal-data-modal .country-code-select .country-select__option--is-focused{background:rgba(10,132,255,.06)}.personal-data-modal .country-code-select .country-select__option--is-selected{background:#0a84ff;color:#fff}.personal-data-modal .submit-button{width:100%;padding:1.125rem;border:none;border-radius:var(--card-border-radius);background:linear-gradient(135deg,#0a84ff,#0066cc);color:#fff;font-weight:600;font-size:1.0625rem;margin-top:1.5rem;transition:all .2s cubic-bezier(.16,1,.3,1);cursor:pointer}.personal-data-modal .submit-button:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(10,132,255,.25)}.personal-data-modal .submit-button:active{transform:translateY(1px)}.personal-data-modal .submit-button:disabled{opacity:.7;cursor:not-allowed;background:#a8a8a8}.personal-data-modal .appointment-summary{padding:.5rem 0}.personal-data-modal .appointment-summary .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.personal-data-modal .appointment-summary .loading-container .spinner-border{width:3rem;height:3rem;margin-bottom:1.5rem;color:#0a84ff}.personal-data-modal .appointment-summary .loading-container p{font-size:1.1rem;color:#6e6e73;margin:0}.personal-data-modal .appointment-summary .summary-section{border-radius:16px;padding:1rem;margin-bottom:1.5rem;transition:all .3s ease}.personal-data-modal .appointment-summary .section-title{font-size:1.25rem;font-weight:600;color:#1a1a1a;margin-bottom:1.25rem;letter-spacing:-.02em;position:relative}.personal-data-modal .appointment-summary .section-hint{font-size:.85rem;color:var(--medium-gray);margin-bottom:1rem;line-height:1.4}.personal-data-modal .appointment-summary .summary-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.25rem;gap:1.25rem}@media(max-width:576px){.personal-data-modal .appointment-summary .summary-grid{grid-template-columns:1fr;gap:.5rem}}.personal-data-modal .appointment-summary .summary-item{display:flex;flex-direction:column;gap:.375rem}.personal-data-modal .appointment-summary .summary-item .label{font-size:.875rem;color:#000;font-weight:400}.personal-data-modal .appointment-summary .summary-item .value{font-size:1rem;color:#1d1d1f;font-weight:500;word-break:break-word}.personal-data-modal .appointment-summary .summary-item.plan-covered-price .price-coverage{display:flex;flex-direction:row;align-items:center;gap:12px}.personal-data-modal .appointment-summary .summary-item.plan-covered-price .price-coverage .original-price{font-size:1rem;color:var(--soft-gray);text-decoration:line-through;text-decoration-thickness:1px;font-weight:500;white-space:nowrap}.personal-data-modal .appointment-summary .summary-item.plan-covered-price .price-coverage .covered-indicator{display:flex;flex-direction:row;align-items:center;gap:.375rem;background-color:var(--primary-color-25);padding:4px 8px;border-radius:8px}.personal-data-modal .appointment-summary .summary-item.plan-covered-price .price-coverage .covered-indicator .check-icon{color:var(--success-color)}.personal-data-modal .appointment-summary .summary-item.plan-covered-price .price-coverage .covered-indicator span{font-size:.9rem;color:var(--primary-color);font-weight:600;white-space:nowrap}.personal-data-modal .appointment-summary .summary-item.discounted-price-item .discounted-price-display{display:flex;flex-direction:column;gap:8px}.personal-data-modal .appointment-summary .summary-item.discounted-price-item .discounted-price-display .original-price{font-size:1rem;color:var(--soft-gray);text-decoration:line-through;text-decoration-thickness:1px;font-weight:500;white-space:nowrap}.personal-data-modal .appointment-summary .summary-item.discounted-price-item .discounted-price-display .discounted-price-row{display:flex;align-items:center;gap:12px}.personal-data-modal .appointment-summary .summary-item.discounted-price-item .discounted-price-display .discounted-price-row .discounted-price-value{font-size:1.2rem;color:var(--success-color);font-weight:700;white-space:nowrap}.personal-data-modal .appointment-summary .summary-item.discounted-price-item .discounted-price-display .discounted-price-row .discount-badge-modal{background:rgba(22,158,40,.1);color:var(--success-color);border:1px solid rgba(22,158,40,.2);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600;letter-spacing:.2px;white-space:nowrap;cursor:pointer;transition:all .2s ease}.personal-data-modal .appointment-summary .summary-item.discounted-price-item .discounted-price-display .discounted-price-row .discount-badge-modal:hover{background:rgba(22,158,40,.15);border-color:rgba(22,158,40,.3)}.personal-data-modal .appointment-summary .summary-actions{display:flex;gap:1rem;margin-top:2rem}.personal-data-modal .appointment-summary .summary-actions .back-button{flex:1 1;padding:1.125rem;border:1px solid rgba(0,0,0,.1);border-radius:14px;background:hsla(0,0%,100%,.8);color:#1a1a1a;font-weight:600;font-size:1.0625rem;transition:all .2s cubic-bezier(.16,1,.3,1);cursor:pointer}.personal-data-modal .appointment-summary .summary-actions .back-button:hover{background:hsla(0,0%,100%,.95);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}.personal-data-modal .appointment-summary .summary-actions .back-button:active{transform:translateY(1px)}.personal-data-modal .appointment-summary .summary-actions .submit-button{flex:1 1;margin-top:0}.personal-data-modal .appointment-summary .slot-peers-panel{margin-top:.75rem;border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(245,248,250,.9));border:1px solid rgba(0,0,0,.06);box-shadow:0 8px 24px rgba(1,96,117,.08),inset 0 1px 0 hsla(0,0%,100%,.6),inset 0 -1px 0 rgba(0,0,0,.04);overflow:hidden}.personal-data-modal .appointment-summary .slot-peers-panel .slot-peers-header{display:flex;align-items:center;gap:.375rem;padding:.65rem .85rem;font-weight:600;color:var(--text-color);background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,.4));border-bottom:1px solid rgba(0,0,0,.06)}.personal-data-modal .appointment-summary .slot-peers-panel .slot-peers-body{padding:.6rem .75rem .8rem}.personal-data-modal .appointment-summary .slot-peers-panel .slot-peers-loading{display:flex;align-items:center;gap:.5rem;color:#6e6e73;font-size:.9rem}.personal-data-modal .appointment-summary .slot-peers-panel .slot-peers-empty{color:#6e6e73;font-size:.92rem}.personal-data-modal .appointment-summary .slot-peers-panel .slot-peers-list{display:flex;flex-wrap:wrap;gap:.5rem}.personal-data-modal .appointment-summary .slot-peers-panel .slot-peer-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .6rem;border-radius:999px;background:linear-gradient(145deg,#f8fbfc,#eef4f6);border:1px solid rgba(0,0,0,.05);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.8),0 1px 2px rgba(0,0,0,.04);font-weight:500;color:var(--text-color)}.personal-data-modal .appointment-summary .slot-peers-panel .slot-peer-avatar{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--primary-color),var(--primary-color-dark));color:#fff;font-size:.8rem;box-shadow:0 2px 6px var(--primary-color-25)}.personal-data-modal .appointment-summary .slot-peers-panel .slot-peer-name{font-size:.9rem}.personal-data-modal .loading-content{display:flex;align-items:center;justify-content:center;gap:.75rem}.personal-data-modal .rut-input{height:48px;padding:0 1.125rem;border:1px solid rgba(0,0,0,.06);border-radius:12px;font-size:1rem;transition:all .2s cubic-bezier(.16,1,.3,1);background:hsla(0,0%,100%,.8);color:#1a1a1a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.personal-data-modal .rut-input::placeholder{color:rgba(0,0,0,.35)}.personal-data-modal .rut-input:hover{background:hsla(0,0%,100%,.9);border-color:rgba(0,0,0,.1)}.personal-data-modal .rut-input:focus{background:#fff;border-color:#0a84ff;box-shadow:0 0 0 4px rgba(10,132,255,.15),0 1px 2px rgba(0,0,0,.05);outline:none}.personal-data-modal .rut-input.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.personal-data-modal .rut-input.is-invalid:focus{box-shadow:0 0 0 4px rgba(220,53,69,.15),0 1px 2px rgba(0,0,0,.05)}.personal-data-modal .form-group{margin-bottom:1.75rem}.personal-data-modal .form-group .text-danger{font-size:.875rem;margin-top:.5rem;display:block}.personal-data-modal .plan-covered-price .price-coverage{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.personal-data-modal .plan-covered-price .original-price{font-size:.85rem;color:var(--medium-gray);text-decoration:line-through;margin-bottom:.25rem}.personal-data-modal .user-booking-info{background:var(--off-white);border-radius:var(--border-radius);margin-bottom:1rem;padding:.75rem}.personal-data-modal .user-booking-info.user-booking-info--compact{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(246,248,250,.9))}.personal-data-modal .user-booking-info.user-booking-info--compact .user-booking-row{display:inline-flex;align-items:center;gap:.6rem;min-width:0}.personal-data-modal .user-booking-info.user-booking-info--compact .user-avatar{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#fff;background:linear-gradient(145deg,var(--primary-color),var(--primary-color-dark));box-shadow:0 2px 8px var(--primary-color-25);flex:0 0 auto}.personal-data-modal .user-booking-info.user-booking-info--compact .user-identifiers{display:inline-flex;align-items:baseline;gap:.5rem;min-width:0}.personal-data-modal .user-booking-info.user-booking-info--compact .user-identifiers .user-name{font-weight:600;font-size:.9rem;color:var(--text-color);white-space:nowrap;max-width:18ch;overflow:hidden;text-overflow:ellipsis}.personal-data-modal .user-booking-info.user-booking-info--compact .user-identifiers .user-email{font-size:.8rem;color:var(--medium-gray);white-space:nowrap;max-width:24ch;overflow:hidden;text-overflow:ellipsis}.personal-data-modal .user-booking-info.user-booking-info--compact .user-actions{flex:0 0 auto;display:inline-flex;align-items:center}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media(max-width:640px){.personal-data-modal .form-grid{grid-template-columns:1fr;gap:1.25rem}.personal-data-modal .modal-header{padding:2rem 1.75rem 1.75rem}.personal-data-modal .modal-body{padding:1.75rem}.personal-data-modal .title{font-size:1.625rem}.personal-data-modal .subtitle{font-size:1rem}.personal-data-modal .form-group{margin-bottom:1.5rem}.personal-data-modal .user-booking-info.user-booking-info--compact{flex-direction:column;align-items:stretch;gap:.75rem;padding:.75rem}.personal-data-modal .user-booking-info.user-booking-info--compact .user-booking-row{justify-content:flex-start;width:100%}.personal-data-modal .user-booking-info.user-booking-info--compact .user-actions{width:100%;justify-content:flex-end}.personal-data-modal .user-booking-info.user-booking-info--compact .user-actions .slot-peers-summary-item{width:100%}.personal-data-modal .user-booking-info.user-booking-info--compact .user-actions .slot-peers-summary-item .slot-peers-header{justify-content:space-between}}.booking-progress-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:overlay-fade-in .3s cubic-bezier(.16,1,.3,1) forwards}.booking-progress-content{background:hsla(0,0%,100%,.98);border-radius:24px;padding:2.5rem 2rem;min-width:380px;max-width:90vw;box-shadow:0 24px 48px rgba(0,0,0,.15),0 12px 24px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.8),inset 0 -1px 0 rgba(0,0,0,.05);animation:content-scale-in .4s cubic-bezier(.175,.885,.32,1.275) .1s backwards}@media(max-width:576px){.booking-progress-content{min-width:auto;width:90%;padding:2rem 1.5rem}}.booking-progress-bar-container{width:100%;height:8px;background:linear-gradient(to right,rgba(var(--primary-color-rgb,1,96,117),.1),rgba(var(--primary-color-rgb,1,96,117),.15));border-radius:999px;overflow:hidden;margin-bottom:2rem;position:relative;box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 hsla(0,0%,100%,.8)}.booking-progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary-color,#016075),var(--primary-color-dark,#014a5a));border-radius:999px;transition:width .6s cubic-bezier(.16,1,.3,1);position:relative;box-shadow:0 1px 3px rgba(var(--primary-color-rgb,1,96,117),.4),inset 0 1px 0 hsla(0,0%,100%,.3)}.booking-progress-bar-fill:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer-sweep 2s infinite}.booking-progress-steps{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem;margin-bottom:2rem}@media(max-width:576px){.booking-progress-steps{grid-template-columns:repeat(2,1fr);gap:.75rem}}.booking-progress-step{flex-direction:column;gap:.5rem;text-align:center}.booking-progress-step,.booking-progress-step-icon{display:flex;align-items:center;transition:all .3s cubic-bezier(.16,1,.3,1)}.booking-progress-step-icon{width:48px;height:48px;border-radius:50%;justify-content:center;position:relative}@media(max-width:576px){.booking-progress-step-icon{width:40px;height:40px}}.booking-progress-step--pending .booking-progress-step-icon{background:linear-gradient(145deg,#f5f5f7,#e8e8ea);box-shadow:0 2px 4px rgba(0,0,0,.08),inset 0 1px 0 hsla(0,0%,100%,.8),inset 0 -1px 0 rgba(0,0,0,.05)}.booking-progress-step--pending .booking-progress-step-icon svg{opacity:.4;filter:grayscale(100%)}.booking-progress-step--pending .booking-progress-step-label{color:rgba(0,0,0,.4);font-size:.8rem;font-weight:500}.booking-progress-step--active .booking-progress-step-icon{background:linear-gradient(145deg,var(--primary-color,#016075),var(--primary-color-dark,#014a5a));box-shadow:0 4px 12px rgba(var(--primary-color-rgb,1,96,117),.4),0 2px 4px rgba(var(--primary-color-rgb,1,96,117),.2),inset 0 1px 0 hsla(0,0%,100%,.3);animation:icon-pulse-glow 2s ease-in-out infinite}.booking-progress-step--active .booking-progress-step-icon svg{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.booking-progress-step--active .booking-progress-step-label{color:var(--primary-color,#016075);font-size:.8rem;font-weight:600}.booking-progress-step--completed .booking-progress-step-icon{background:linear-gradient(145deg,var(--success-color,#169e28),var(--success-color-dark,#0f7a1e));box-shadow:0 4px 8px rgba(22,158,40,.3),0 2px 4px rgba(22,158,40,.2),inset 0 1px 0 hsla(0,0%,100%,.3);animation:icon-bounce .6s cubic-bezier(.175,.885,.32,1.275) forwards}.booking-progress-step--completed .booking-progress-step-icon svg{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.booking-progress-step--completed .booking-progress-step-label{color:var(--success-color,#169e28);font-size:.8rem;font-weight:600}.booking-progress-current{display:flex;align-items:center;justify-content:center;gap:1rem;padding-top:.5rem;border-top:1px solid rgba(0,0,0,.06);color:var(--text-color,#1a1a1a);font-size:1rem;font-weight:500}.booking-progress-current span{color:rgba(0,0,0,.7)}.booking-progress-spinner{width:20px;height:20px;border:2.5px solid rgba(var(--primary-color-rgb,1,96,117),.15);border-top-color:var(--primary-color,#016075);border-radius:50%;animation:spinner-rotate .8s linear infinite}@keyframes content-scale-in{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes shimmer-sweep{0%{left:-100%}to{left:100%}}@keyframes icon-pulse-glow{0%,to{box-shadow:0 4px 12px rgba(var(--primary-color-rgb,1,96,117),.4),0 2px 4px rgba(var(--primary-color-rgb,1,96,117),.2),inset 0 1px 0 hsla(0,0%,100%,.3)}50%{box-shadow:0 4px 20px rgba(var(--primary-color-rgb,1,96,117),.6),0 2px 8px rgba(var(--primary-color-rgb,1,96,117),.4),inset 0 1px 0 hsla(0,0%,100%,.3)}}@keyframes icon-bounce{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes spinner-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.booking-progress-bar-fill:after,.booking-progress-content,.booking-progress-overlay,.booking-progress-step--active .booking-progress-step-icon,.booking-progress-step--completed .booking-progress-step-icon{animation:none}.booking-progress-spinner{animation:spinner-rotate 1.5s linear infinite}}.booking-error-card{background:linear-gradient(145deg,rgba(255,245,245,.98),rgba(255,235,235,.98));border-radius:18px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid rgba(220,53,69,.2);box-shadow:0 8px 24px rgba(220,53,69,.12),0 4px 12px rgba(220,53,69,.08),inset 0 1px 0 hsla(0,0%,100%,.6),inset 0 -1px 0 rgba(220,53,69,.05);display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden}.booking-error-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--danger-color,#dc3545),rgba(220,53,69,.6))}@media(max-width:576px){.booking-error-card{padding:1.25rem;gap:.875rem}}.booking-error-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,rgba(220,53,69,.15),rgba(220,53,69,.08));margin:0 auto;animation:error-icon-pulse 2s ease-in-out infinite}.booking-error-icon svg{color:var(--danger-color,#dc3545);filter:drop-shadow(0 2px 4px rgba(220,53,69,.2))}@media(max-width:576px){.booking-error-icon{width:48px;height:48px}}.booking-error-content{text-align:center}.booking-error-title{font-size:1.2rem;font-weight:600;color:var(--danger-color,#dc3545);margin:0 0 .5rem;letter-spacing:-.02em}@media(max-width:576px){.booking-error-title{font-size:1.1rem}}.booking-error-message{font-size:.95rem;color:rgba(220,53,69,.8);margin:0;line-height:1.5}@media(max-width:576px){.booking-error-message{font-size:.9rem}}.booking-error-actions{display:flex;gap:.75rem;justify-content:center;align-items:center;margin-top:.5rem}@media(max-width:576px){.booking-error-actions{flex-direction:column;width:100%;gap:.5rem}.booking-error-actions button{width:100%}}@keyframes shake-in{0%{opacity:0;transform:translateX(-10px)}15%{transform:translateX(10px)}30%{transform:translateX(-8px)}45%{transform:translateX(6px)}60%{transform:translateX(-4px)}75%{transform:translateX(2px)}90%{transform:translateX(-1px)}to{opacity:1;transform:translateX(0)}}@keyframes error-icon-pulse{0%,to{box-shadow:0 0 0 0 rgba(220,53,69,.4);transform:scale(1)}50%{box-shadow:0 0 0 8px rgba(220,53,69,0);transform:scale(1.05)}}.animate-shake-in{animation:shake-in .6s cubic-bezier(.175,.885,.32,1.275) forwards}@media(prefers-reduced-motion:reduce){.animate-shake-in{animation:none;opacity:1;transform:translateX(0)}.booking-error-icon{animation:none}}.booking-receipt-container{background:hsla(0,0%,100%,.98);border-radius:24px;padding:2.5rem 2rem;min-width:480px;max-width:90vw;animation:receipt-slide-in .6s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 24px 48px rgba(0,0,0,.15),0 12px 24px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.8)}@media(max-width:576px){.booking-receipt-container{min-width:auto;width:90%;padding:2rem 1.5rem}}.receipt-header{text-align:center;margin-bottom:2rem}.receipt-icon-wrapper{width:72px;height:72px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,rgba(22,158,40,.1),rgba(22,158,40,.05));border-radius:20px;animation:icon-pulse 2s ease-in-out infinite}.receipt-icon-wrapper svg{color:var(--success-color,#169e28);filter:drop-shadow(0 4px 12px rgba(22,158,40,.2))}.receipt-title{font-size:2rem;font-weight:700;color:var(--success-color,#169e28);margin-bottom:.5rem;letter-spacing:-.03em}@media(max-width:576px){.receipt-title{font-size:1.75rem}}.receipt-subtitle{font-size:1rem;color:rgba(0,0,0,.65);margin:0}.receipt-details{background:hsla(0,0%,100%,.95);border-radius:18px;padding:1.5rem;margin-bottom:1.5rem}.receipt-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.75rem 0;opacity:0;animation:receipt-row-fade-in .4s cubic-bezier(.16,1,.3,1) forwards}.receipt-row:first-child{animation-delay:.2s}.receipt-row:nth-child(3){animation-delay:.3s}.receipt-row:nth-child(4){animation-delay:.4s}.receipt-row:nth-child(5){animation-delay:.5s}.receipt-row:nth-child(7){animation-delay:.6s}.receipt-row--primary{padding:1rem 0;border-bottom:2px solid rgba(0,0,0,.08);margin-bottom:.5rem}.receipt-row--price{padding:1rem 0;margin-top:.5rem}.receipt-row--covered{justify-content:center;padding:1rem 0}.receipt-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:rgba(0,0,0,.6);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.receipt-label svg{opacity:.7}.receipt-value{font-size:1rem;font-weight:600;color:rgba(0,0,0,.9);text-align:right}.receipt-value--large{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.receipt-value--large .receipt-date{font-size:1.5rem;font-weight:700;color:var(--primary-color,#016075);line-height:1.2}.receipt-value--large .receipt-time{font-size:1.25rem;font-weight:600;color:rgba(0,0,0,.7)}.receipt-value--price{font-size:1.5rem;font-weight:700;color:var(--success-color,#169e28)}.receipt-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent);margin:.5rem 0}.receipt-actions{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.receipt-confirmation-hint{text-align:center;font-size:.85rem;color:rgba(0,0,0,.55);margin:0;line-height:1.5}.receipt-confirmation-hint strong{color:rgba(0,0,0,.75);font-weight:600}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes receipt-slide-in{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes receipt-row-fade-in{0%{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}@keyframes icon-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@media(prefers-reduced-motion:reduce){.booking-receipt-container,.booking-receipt-overlay,.receipt-icon-wrapper,.receipt-row{animation:none}}