:root{--bg-primary:#0a0a0a;--bg-secondary:#111;--bg-card:#1a1a1a;--bg-hover:#222;--text-primary:#fff;--text-secondary:#a0a0a0;--accent:#e67e22;--accent-hover:#f39c12;--border:#2a2a2a;--success:#27ae60;--error:#e74c3c}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;line-height:1.6}.container{max-width:1280px;margin:0 auto;padding:0 24px}.loading-container{background:var(--bg-primary);justify-content:center;align-items:center;min-height:70vh;padding:40px 20px;display:flex}.loading-content{text-align:center;flex-direction:column;align-items:center;gap:24px;display:flex}.loading-logo{background:linear-gradient(135deg, var(--accent), var(--accent-hover));-webkit-text-fill-color:transparent;letter-spacing:2px;-webkit-background-clip:text;background-clip:text;font-size:2.8rem;font-weight:800;animation:2s ease-in-out infinite logoPulse}@keyframes logoPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.loading-spinner-wrapper{width:60px;height:60px;position:relative}.loading-spinner{border:3px solid #e67e221a;border-top-color:var(--accent);border-radius:50%;width:60px;height:60px;animation:.8s linear infinite spin;position:absolute;top:0;left:0}.loading-spinner-ring{border:2px solid #e67e2233;border-color:#e67e2233 #e67e221a #0000 #0000;border-radius:50%;width:68px;height:68px;animation:1.5s linear infinite reverse spin;position:absolute;top:-4px;left:-4px}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-secondary);align-items:center;gap:4px;font-size:1.1rem;font-weight:500;display:flex}.loading-dots{gap:2px;display:inline-flex}.loading-dots span{color:var(--accent);font-size:1.3rem;animation:1.4s ease-in-out infinite dots}.loading-dots span:first-child{animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dots{0%,80%,to{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-6px)}}.loading-progress{background:#ffffff0d;border-radius:2px;width:200px;height:3px;overflow:hidden}.loading-progress-bar{background:linear-gradient(90deg, var(--accent), var(--accent-hover));border-radius:2px;width:0%;height:100%;animation:2s ease-in-out infinite progressBar}@keyframes progressBar{0%{width:0%;transform:translate(0)}50%{width:70%;transform:translate(0)}to{width:100%;transform:translate(0)}}.loading-subtitle{color:var(--text-secondary);opacity:.5;margin-top:-8px;font-size:.75rem}@media (prefers-color-scheme:dark){.loading-container{background:var(--bg-primary)}}@media (max-width:768px){.loading-logo{font-size:2.2rem}.loading-spinner-wrapper,.loading-spinner{width:50px;height:50px}.loading-spinner-ring{width:58px;height:58px}.loading-text{font-size:.95rem}.loading-progress{width:160px}}@media (max-width:480px){.loading-logo{font-size:1.8rem}.loading-spinner-wrapper{width:40px;height:40px}.loading-spinner{border-width:2px;width:40px;height:40px}.loading-spinner-ring{border-width:2px;width:48px;height:48px}.loading-text{font-size:.85rem}.loading-progress{width:120px}.loading-subtitle{font-size:.65rem}}@media (prefers-reduced-motion:reduce){.loading-logo,.loading-spinner,.loading-spinner-ring,.loading-dots span{animation:none}.loading-progress-bar{width:100%;animation:none}}.success-toast{background-color:var(--success);color:#fff;z-index:1000;border-radius:10px;padding:15px 25px;animation:.3s slideIn;position:fixed;bottom:30px;right:30px}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (max-width:768px){.container{padding:0 16px}.success-toast{text-align:center;bottom:20px;left:20px;right:20px}}.leaflet-container{background:#1a1a1a}.leaflet-popup-content-wrapper{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-radius:12px}.leaflet-popup-tip{background:var(--bg-card);border-top:1px solid var(--border);border-left:1px solid var(--border)}.leaflet-control-attribution{display:none}.booking-toast{background:linear-gradient(135deg, var(--success), #219a52);color:#fff;z-index:2000;border-radius:50px;padding:12px 24px;font-weight:500;animation:.3s slideUp;position:fixed;bottom:100px;left:50%;transform:translate(-50%);box-shadow:0 4px 15px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (max-width:768px){.booking-toast{white-space:nowrap;padding:10px 20px;font-size:.85rem;bottom:80px}}
