html,body{margin:0;padding:0;height:100%;background:#eef1f3}*{box-sizing:border-box}
body{font-family:'Public Sans',system-ui,sans-serif;color:#3a3d42}a{color:#c43b22;text-decoration:none}
a:hover{color:#992c17;text-decoration:underline}input::placeholder{color:#9aa3ab}
.leaflet-container{background:#e8eaea;font-family:'Public Sans',sans-serif}
@keyframes gtrspin{to{transform:rotate(360deg)}}@keyframes gtrfade{from{opacity:0;transform:translateY(6px)}
to{opacity:1;transform:none}}.wrap{display:flex;flex-wrap:wrap;align-items:stretch;width:100%;min-height:100vh}
.hero{position:relative;flex:1 1 560px;min-width:0;min-height:300px;overflow:hidden}
#map{position:absolute;inset:0;z-index:0;isolation:isolate}.hero-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(28,22,20,0.3) 0,rgba(28,22,20,0.04) 45%,rgba(28,22,20,0) 100%)}
.hero-card{position:absolute;left:32px;right:32px;bottom:32px;padding:16px 18px 17px;border-radius:7px;background:rgba(26,20,18,0.92);display:flex;flex-direction:column;gap:7px;max-width:min(336px,calc(100% - 64px));pointer-events:none}
.status-row{display:flex;align-items:center;gap:6px}.status-dot{width:5px;height:5px;border-radius:50%;background:#ff6b45;box-shadow:0 0 0 2px rgba(255,107,69,0.25)}
.status-label{font-size:8px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,0.85)}
.hero-card h1{margin:0;font-family:'Archivo',sans-serif;font-weight:700;font-size:40px;line-height:1.08;letter-spacing:-0.02em;color:#fff}
.hero-card p{margin:0;font-size:16px;line-height:1.5;color:rgba(255,255,255,0.86);max-width:44ch}
aside{flex:1 1 420px;width:100%;max-width:520px;margin:0 auto;background:#fff;display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(24,32,38,0.14);z-index:1}
.top-bar{padding:34px 48px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.top-bar img{display:block;width:190px;height:auto}.lang-switch{display:flex;gap:4px;padding:3px;border:1px solid #e3e7ea;border-radius:8px;background:#f7f8f9}
.lang-switch button{border:0;cursor:pointer;padding:6px 10px;border-radius:6px;font-family:inherit;font-size:12px;font-weight:600;color:#6b7178;background:transparent}
.lang-switch button.active{color:#c43b22;background:#fff}.panel{flex:1 1 auto;padding:30px 48px 20px;display:flex;flex-direction:column;justify-content:center}
form{display:flex;flex-direction:column;gap:20px}.field{display:flex;flex-direction:column;gap:7px}
label.field-label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#6b7178}
input[type="text"],input[type="password"],input[type="email"]{border:1px solid #d5dade;border-radius:8px;outline:0;padding:13px 14px;font-family:inherit;font-size:15px;color:#23262a;background:#fff;width:100%}
input:focus{border-color:#c43b22}.pass-field{display:flex;align-items:stretch;border:1px solid #d5dade;border-radius:8px;background:#fff;overflow:hidden}
.pass-field input{flex:1 1 auto;min-width:0;border:0;outline:0;padding:13px 14px}
.pass-field:focus-within{border-color:#c43b22}.pass-toggle{flex:0 0 auto;border:0;background:transparent;padding:0 14px;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6b7178}
.pass-toggle:hover{color:#c43b22}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:-2px}
.remember{display:flex;align-items:center;gap:8px;font-size:14px;color:#5b6167;cursor:pointer}
.remember input{width:16px;height:16px;accent-color:#c43b22;cursor:pointer}.link-btn{border:0;background:transparent;padding:0;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;color:#c43b22}
.link-btn:hover{color:#992c17;text-decoration:underline}.field-error{font-size:12.5px;color:#c62828;display:none;align-items:center;gap:6px}
.field-error.show{display:flex}.err-badge{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:#c62828;color:#fff;font-size:10px;font-weight:700}
.form-error{display:none;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:8px;background:#fdecec;border:1px solid #f5c6c6}
.form-error.show{display:flex}.form-error .err-badge{width:18px;height:18px;font-size:11px;flex:0 0 auto;margin-top:1px}
.form-error span.msg{font-size:13.5px;line-height:1.45;color:#8e2222}.submit-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:0;border-radius:8px;padding:15px 20px;cursor:pointer;font-family:'Archivo',sans-serif;font-size:15px;font-weight:600;color:#fff;background:#c43b22;box-shadow:0 6px 16px rgba(196,59,34,0.28);transition:background 140ms ease,transform 140ms ease}
.submit-btn:hover{background:#a52e18;transform:translateY(-1px)}.submit-btn:active{transform:translateY(0)}
.submit-btn:disabled{cursor:default;opacity:.85}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,0.35);border-top-color:#fff;animation:gtrspin 700ms linear infinite;display:none}
.spinner.show{display:inline-block}.back-btn{align-self:flex-start;border:0;background:transparent;padding:0;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.04em;color:#6b7178}
.back-btn:hover{color:#c43b22}.check-circle{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:#fbeae5;color:#c43b22;font-size:22px;font-weight:700}
h2{margin:0;font-family:'Archivo',sans-serif;font-weight:600;font-size:24px;letter-spacing:-0.01em;color:#23262a}
.subtitle{margin:0;font-size:14px;color:#6b7178}.view{display:none;flex-direction:column;gap:22px}
.view.active{display:flex}.view.animated{animation:gtrfade 220ms ease both}.plain-btn{align-self:flex-start;border:1px solid #d5dade;border-radius:8px;background:#fff;padding:12px 18px;cursor:pointer;font-family:'Archivo',sans-serif;font-size:14px;font-weight:600;color:#3a3d42}
.plain-btn:hover{border-color:#c43b22;color:#c43b22}.metodo-btn{display:flex;align-items:center;gap:14px;width:100%;padding:13px 16px;border:1px solid #d5dade;border-radius:8px;background:#fff;cursor:pointer;font-family:inherit;text-align:left;transition:border-color 140ms ease,background 140ms ease}
.metodo-btn:hover{border-color:#c43b22;background:#fdf6f4}.metodo-btn img{width:36px;height:36px;flex:0 0 auto}
.metodo-txt{display:flex;flex-direction:column;gap:2px;min-width:0}.metodo-name{font-size:14px;font-weight:600;color:#c43b22}
.metodo-info{font-size:12.5px;color:#6b7178;word-break:break-all}.carousel{padding:0 48px 6px}
.carousel-inner{border-top:1px solid #eceff1;padding-top:18px;display:flex;flex-direction:column;gap:12px}
.slide-text{min-height:74px;display:flex;flex-direction:column;gap:6px}.slide-text h3{margin:0;font-family:'Archivo',sans-serif;font-size:16px;font-weight:600;color:#23262a}
.slide-text p{margin:0;font-size:13.5px;line-height:1.5;color:#6b7178}.dots{display:flex;gap:7px}
.dots button{border:0;padding:0;cursor:pointer;height:6px;width:6px;border-radius:99px;background:#d5dade;transition:width 200ms ease,background 200ms ease}
.dots button.active{width:26px;background:#c43b22}.captcha-field{display:flex;gap:10px;align-items:flex-start}
.captcha-field input{flex:1 1 auto}.captcha-image-wrapper{display:flex;flex-direction:column;gap:6px}
.captcha-image-wrapper img{border:1px solid #d5dade;border-radius:4px;height:40px;max-width:150px}
.captcha-refresh{border:0;background:transparent;padding:0;cursor:pointer;font-size:11px;color:#6b7178}
.captcha-refresh:hover{color:#c43b22}footer{padding:16px 48px 22px;display:flex;flex-direction:column;gap:3px}
footer span{font-size:11.5px;color:#9aa3ab}.gandola-wrap{background:transparent !important;border:none !important;transition:opacity 350ms ease,transform 350ms ease}
.gandola-wrap.fading{opacity:0;transform:scale(0.2)}.gandola-icon{display:block;width:100%;height:100%;object-fit:contain;transition:transform 80ms linear}
.route-start-wrap,.route-end-wrap{background:transparent !important;border:none !important}
.fireworks-wrap{background:transparent !important;border:none !important;transition:opacity 400ms ease}
.fireworks-wrap.fading{opacity:0}.leaflet-tooltip.timer-tooltip{background:rgba(26,20,18,0.95);color:#fff;border:0;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,0.4)}
.leaflet-tooltip.timer-tooltip::before{display:none}@media(max-width:980px){.top-bar{padding:20px 30px 0}
.top-bar img{width:160px}.panel{padding:20px 30px}.carousel{padding:0 30px 6px}footer{padding:12px 30px 18px}
}