*{box-sizing:border-box}body{margin:0;padding:0;overflow-x:hidden}html,body{-webkit-overflow-scrolling:touch;height:100%;overflow-x:hidden;overflow-y:auto}@media (max-width:768px){.container{margin:.5rem auto!important;padding:1rem!important}.section-card{margin:1rem auto!important;padding:1.5rem 1rem!important}h1,h2,h3{font-size:max(1.2rem,min(5vw,2rem))!important}.input-field{font-size:16px!important}.button{padding:.8rem 1.5rem!important;font-size:1rem!important}}@media (min-width:769px) and (max-width:1024px){.container{padding:2rem!important}}
.loading-container{box-sizing:border-box;min-height:100vh;font-family:var(--font-sans);background:linear-gradient(135deg,#09c2c1 0%,#044954 100%);justify-content:center;align-items:center;padding:24px;display:flex}.loading-content{text-align:center;background:#fefbf8;border:2px solid #09c2c1;border-radius:24px;width:100%;max-width:720px;padding:40px;animation:.8s ease-out fadeInUp;position:relative;box-shadow:0 24px 48px rgba(4,73,84,.18),0 1px #09c2c1}.loading-content:before{content:"";z-index:-1;filter:blur(8px);background:linear-gradient(135deg,rgba(9,194,193,.35),rgba(4,73,84,.35));border-radius:26px;position:absolute;top:-2px;bottom:-2px;left:-2px;right:-2px}.loading-header h2{color:#044954;letter-spacing:.2px;margin-bottom:8px;font-size:max(22px,min(3vw,30px));font-weight:700}.loading-header p{color:#252628;opacity:.85;margin-bottom:28px;line-height:1.6}.loading-animation{margin:30px 0}.travel-icons{justify-content:center;align-items:center;margin:20px 0;display:flex}.icon-container{background:#fefbf8;border:2px solid #09c2c1;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 10px;animation:2s infinite bounce;display:flex;box-shadow:0 6px 16px rgba(9,194,193,.18)}.icon-container:first-child{animation-delay:0s}.icon-container:nth-child(3){animation-delay:.3s}.icon-container:nth-child(5){animation-delay:.6s}.travel-icon{font-size:30px}.icon-container.filled{color:#fefbf8;background:#09c2c1;box-shadow:0 8px 22px rgba(9,194,193,.35)}.icon-container.active{color:#fefbf8;background:linear-gradient(135deg,#09c2c1,#044954);transform:scale(1.1);box-shadow:0 10px 26px rgba(9,194,193,.45)}.icon-container.completed{color:#fefbf8;background:#09c2c1}.validation-mode .icon-container{color:#fefbf8;background:linear-gradient(135deg,#09c2c1,#044954)}.icon-container.pending{color:#fefbf8;background:linear-gradient(135deg,#09c2c1,#044954);animation:2.6s ease-in-out infinite breathingGlow;box-shadow:0 8px 22px rgba(9,194,193,.28)}.icon-container .travel-icon{line-height:1;transform:translateY(1px)}.phase-indicator{margin:25px 0}.phase-steps{justify-content:center;align-items:center;gap:40px;display:flex}.phase-step{opacity:.5;flex-direction:column;align-items:center;transition:all .3s;display:flex}.phase-step.active{opacity:1;transform:scale(1.05)}.phase-step.completed{opacity:.8;color:#09c2c1}.phase-number{color:#252628;background:#fefbf8;border:2px solid #09c2c1;border-radius:50%;justify-content:center;align-items:center;width:35px;height:35px;margin-bottom:8px;font-weight:700;transition:all .3s;display:flex;box-shadow:inset 0 0 0 2px rgba(9,194,193,.15)}.phase-step.active .phase-number{color:#fefbf8;background:linear-gradient(135deg,#09c2c1,#044954);border-color:#09c2c1;animation:2s infinite pulse}.phase-step.completed .phase-number{color:#fefbf8;background:#09c2c1;border-color:#09c2c1}.phase-label{text-align:center;color:#252628;font-size:12px;font-weight:600}.route-line{background:linear-gradient(90deg,#09c2c1,#044954);border-radius:2px;width:40px;height:3px;position:relative;overflow:hidden}.route-line:after{content:"";background:linear-gradient(90deg,transparent,rgba(254,251,248,.8),transparent);width:100%;height:100%;animation:2s infinite shimmer;position:absolute;top:0;left:-100%}.loading-spinner{margin:30px 0}.spinner{border:4px solid #fefbf8;border-top-color:#09c2c1;border-radius:50%;width:50px;height:50px;margin:0 auto;animation:1s linear infinite spin;box-shadow:0 0 0 2px rgba(9,194,193,.15)}.loading-tips{text-align:left;margin:30px 0}.loading-tips h3{color:#044954;text-align:center;margin-bottom:16px;font-size:18px;font-weight:700}.tips-list p{color:#252628;opacity:.8;margin:8px 0;padding-left:20px;line-height:1.4}.progress-indicator{margin-top:30px}.progress-bar{background:#fefbf8;border:2px solid #09c2c1;border-radius:3px;width:100%;height:6px;margin-bottom:10px;overflow:hidden;box-shadow:inset 0 0 0 2px rgba(9,194,193,.12)}.progress-fill{background:linear-gradient(90deg,#09c2c1,#044954);border-radius:3px;height:100%;animation:8s ease-in-out infinite progress}.progress-fill.validation-phase{background:linear-gradient(90deg,#09c2c1,#044954);animation:6s ease-in-out infinite validationProgress}.progress-text{color:#252628;opacity:.8;margin:0;font-size:14px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes shimmer{0%{left:-100%}to{left:100%}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes progress{0%{width:0%}50%{width:60%}to{width:85%}}@keyframes validationProgress{0%{width:85%}50%{width:95%}to{width:100%}}@keyframes breathingGlow{0%{transform:scale(1);box-shadow:0 6px 16px rgba(9,194,193,.24)}50%{transform:scale(1.06);box-shadow:0 10px 24px rgba(9,194,193,.44)}to{transform:scale(1);box-shadow:0 6px 16px rgba(9,194,193,.24)}}@media (max-width:768px){.loading-container{padding:10px}.loading-content{padding:30px 20px}.loading-header h2{font-size:20px}.travel-icons{flex-wrap:wrap;gap:10px}.icon-container{width:50px;height:50px;margin:5px}.travel-icon{font-size:24px}.route-line{width:30px;display:none}.tips-list p{padding-left:15px;font-size:14px}}
