.booking-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0 50%,#f1f5f9);position:relative;overflow-x:hidden}.booking-bg-elements{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.bg-element{position:absolute;border-radius:50%;filter:blur(60px);opacity:.1}.bg-element-1{width:300px;height:300px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);top:10%;left:-5%;animation:float 6s ease-in-out infinite}.bg-element-2{width:200px;height:200px;background:linear-gradient(135deg,#ef4444,#dc2626);top:60%;right:-5%;animation:float 8s ease-in-out infinite reverse}.bg-element-3{width:150px;height:150px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);bottom:20%;left:20%;animation:float 7s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(5deg)}}.booking-badge{background:rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:50px;padding:8px 20px;box-shadow:0 4px 20px rgba(0,0,0,.1)}.step-progress-line{position:absolute;top:50%;left:0;right:0;height:3px;background:rgba(59,130,246,.2);border-radius:2px;z-index:1}.step-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#ef4444);border-radius:2px;transition:width .5s ease}.step-indicator-item{position:relative;z-index:2;flex:1 1}.step-circle{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;font-weight:700;transition:all .3s ease;box-shadow:0 4px 15px rgba(0,0,0,.1)}.step-completed{background:linear-gradient(135deg,#10b981,#059669)}.step-active,.step-completed{color:white;transform:scale(1.1)}.step-active{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 0 20px rgba(59,130,246,.4)}.step-inactive{background:rgba(255,255,255,.8);color:#6b7280;border:2px solid #e5e7eb}.booking-form-container{background:rgba(255,255,255,.4);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.3);border-radius:24px;padding:2rem;box-shadow:0 8px 32px rgba(0,0,0,.1);position:relative;z-index:10}.step-content{min-height:500px}.step-header h2{position:relative}.step-header h2:after{content:"";position:absolute;bottom:-8px;left:0;width:60px;height:3px;background:linear-gradient(90deg,#3b82f6,#ef4444);border-radius:2px}.claymorphic-input{background:rgba(255,255,255,.6)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)!important;border-radius:12px!important;transition:all .3s ease;box-shadow:0 4px 15px rgba(0,0,0,.05)}.claymorphic-input:focus{background:rgba(255,255,255,.8)!important;border-color:#3b82f6!important;box-shadow:0 0 0 .2rem rgba(59,130,246,.25),0 4px 20px rgba(0,0,0,.1)!important;transform:translateY(-1px)}.claymorphic-alert{background:rgba(255,255,255,.5)!important;border:1px solid rgba(255,255,255,.3)!important;border-radius:16px!important;box-shadow:0 4px 20px rgba(0,0,0,.05)}.claymorphic-alert,.urgency-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.urgency-card{background:rgba(255,255,255,.5);border:2px solid rgba(255,255,255,.3);border-radius:16px;padding:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(0,0,0,.05)}.urgency-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.1)}.urgency-card.selected{border-color:#3b82f6;background:rgba(59,130,246,.1);box-shadow:0 0 20px rgba(59,130,246,.2)}.urgency-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:white}.urgency-radio{opacity:0;transition:opacity .3s ease}.urgency-card.selected .urgency-radio,.urgency-card:hover .urgency-radio{opacity:1}.department-card{background:rgba(255,255,255,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);border-radius:20px;padding:1.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(0,0,0,.05);position:relative;overflow:hidden;height:100%}.department-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.15)}.department-card.selected{border-color:#3b82f6;background:rgba(59,130,246,.1);box-shadow:0 0 25px rgba(59,130,246,.3)}.department-card.suggested{border-color:#10b981;background:rgba(16,185,129,.05)}.department-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.department-icon{width:50px;height:50px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:white;box-shadow:0 4px 15px rgba(0,0,0,.2)}.suggested-badge{background:linear-gradient(135deg,#10b981,#059669);color:white;font-size:.75rem;padding:4px 8px;border-radius:12px;font-weight:600}.department-stats{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.3)}.department-radio{position:absolute;top:1rem;right:1rem;opacity:0;transition:opacity .3s ease}.department-card.selected .department-radio,.department-card:hover .department-radio{opacity:1}.date-card,.time-card{background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);border-radius:12px;padding:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px rgba(0,0,0,.05);text-align:center}.date-card:hover,.time-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.1)}.date-card.selected,.time-card.selected{border-color:#3b82f6;background:rgba(59,130,246,.15);box-shadow:0 0 15px rgba(59,130,246,.3);color:#1d4ed8;font-weight:600}.patient-info-section{background:rgba(255,255,255,.3);border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px rgba(0,0,0,.05)}.patient-guide,.patient-info-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.patient-guide{background:rgba(59,130,246,.05);border:1px solid rgba(59,130,246,.2);border-radius:16px;padding:1rem;box-shadow:0 4px 15px rgba(59,130,246,.1)}.booking-success-card{background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.3);border-radius:24px;padding:3rem 2rem;box-shadow:0 12px 40px rgba(0,0,0,.1)}.success-icon{animation:successPulse 2s ease-in-out infinite}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.appointment-details-card,.next-steps-card,.patient-info-card,.symptoms-card{background:rgba(255,255,255,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px rgba(0,0,0,.05)}.btn{border-radius:12px!important;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px rgba(0,0,0,.1)}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.15)}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important;border:none!important}.btn-success{background:linear-gradient(135deg,#10b981,#059669)!important;border:none!important}.btn-outline-primary{background:rgba(59,130,246,.1)!important;border:2px solid #3b82f6!important;color:#3b82f6!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-outline-primary:hover{background:#3b82f6!important;color:white!important}.btn-outline-secondary{background:rgba(108,117,125,.1)!important;border:2px solid #6c757d!important;color:#6c757d!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-outline-secondary:hover{background:#6c757d!important;color:white!important}@media (max-width:768px){.booking-form-container{padding:1.5rem;margin:0 1rem}.step-circle{width:40px;height:40px;font-size:.9rem}.department-card{padding:1rem}.date-card,.time-card{padding:.75rem;font-size:.9rem}.booking-success-card{padding:2rem 1.5rem}}@media (max-width:576px){.bg-element-1,.bg-element-2,.bg-element-3{display:none}.step-indicator-item h6{font-size:.9rem}.step-indicator-item small{display:none!important}}.spinner-border-sm{width:1rem;height:1rem}.is-invalid{border-color:#dc3545!important;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)!important}.invalid-feedback{display:block;font-size:.875rem;color:#dc3545;margin-top:.25rem}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn:focus,.date-card:focus,.department-card:focus,.form-control:focus,.time-card:focus,.urgency-card:focus{outline:2px solid #3b82f6;outline-offset:2px}