
*{box-sizing:border-box}
html,body{touch-action:pan-x pan-y}
body{margin:0;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px 12px;background:radial-gradient(circle at 70% 0%,#124a75,#071d3e 55%);color:#f1f8ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}
.card{width:min(100%,520px);margin:auto 0 0;overflow:hidden;border:1px solid #5688a9;border-radius:25px;background:#0f2b4a;box-shadow:0 28px 80px #0009;text-align:center}
.art{height:150px;background:#0b3b62 url('/assets/rio-manantial.png') center 55%/cover;position:relative}
.art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0f2b4a 0%,#0f2b4a22 55%,transparent)}
.content{padding:0 clamp(23px,5vw,40px) 36px}
.logo{position:relative;display:block;width:145px;height:145px;object-fit:contain;margin:-72px auto 5px;filter:drop-shadow(0 7px 14px #000a)}
.eyebrow{display:block;color:#8bdfff;font-size:.77rem;font-weight:850;letter-spacing:.17em}
h1{font-size:clamp(1.85rem,5vw,2.6rem);line-height:1.1;color:#fff;margin:8px 0 9px}
p{color:#d1e5f1;line-height:1.4;margin:0 auto 23px}
.login{display:grid;gap:15px;text-align:left;margin:0 auto}
.login label{display:grid;gap:7px;font-weight:750}
.login input,.login select{width:100%;border:1px solid #79bddf;border-radius:10px;background:#e9f5fd;padding:12px;font-family:inherit;font-size:16px;color:#0b2c4d;min-height:48px}
.login input:focus,.login select:focus{box-shadow:0 0 0 4px #2eb5ec5c}
.login button{border:0;border-radius:12px;background:#079bdc;color:#fff;min-height:48px;padding:11px 19px;font-family:inherit;font-size:1rem;font-weight:800;cursor:pointer;box-shadow:0 8px 20px #001b3990}
.login button:disabled{opacity:.5;cursor:not-allowed}
.error{padding:13px;border:1px solid #d58792;border-radius:11px;background:#613547;color:#fff}
.locked{margin:12px auto 18px;border:1px solid #e2a2a6;border-radius:16px;background:#522b3e;padding:18px}
.locked strong{display:block;color:#fff;font-size:1.35rem}
.locked p{margin:8px 0 0;color:#f8dce1}
.return-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;margin-top:19px;padding:8px 14px;border:1px solid #5a89a5;border-radius:9px;background:#123854;color:#c4e6f5;text-decoration:none;font-size:.82rem;font-weight:750}
.return-button:hover{background:#1a4e70;color:#fff}
.login-footer{width:min(100%,520px);margin:18px auto auto;padding:16px 0 0;border-top:1px solid rgba(155,211,245,.22);display:flex;flex-direction:column;align-items:center;gap:8px;color:#8fb8d0;text-align:center;font-size:.78rem}
.login-footer .footer-brand{display:flex;align-items:center;gap:8px}
.login-footer img{width:31px;height:31px;object-fit:contain}
.login-footer .footer-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}
.login-footer .back{color:#a4e1ff;text-decoration:none;font-weight:750}
.login-footer small{color:#7fa7bf;font-size:.75rem}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9ce9ff;outline-offset:3px}
@media(max-width:540px){body{padding:16px 10px}.card{border-radius:18px}.art{height:125px}.content{padding:0 22px 26px}.logo{width:128px;height:128px;margin-top:-64px}.login-footer{margin-top:13px;padding-top:13px}}
