.login{--lg-accent:#255dee;--lg-accent-dark:#1b4bc9;--lg-ink:#0f172a;--lg-ink-2:#334155;--lg-muted:#475569;font-optical-sizing:auto;min-height:100dvh;color:var(--lg-ink);-webkit-font-smoothing:antialiased;background:#0b1b3a;margin:0;font-family:Onest,ui-sans-serif,system-ui,sans-serif;overflow-x:hidden}.login-bg{grid-template-columns:1fr 1fr;display:grid;position:fixed;inset:0}.login-side{position:relative;overflow:hidden}.login-slide{opacity:0;background-position:50%;background-size:cover;transition:opacity 1.8s,transform 10s ease-out;position:absolute;inset:0;transform:scale(1.08)}.login-slide.is-active{opacity:1;transform:scale(1)}.login-side[data-side=riviera-nayarit] .is-empty{background:linear-gradient(160deg,#00afcb 0%,#0e7490 55%,#0f3d5c 100%)}.login-side[data-side=puerto-vallarta] .is-empty{background:linear-gradient(200deg,#f6b400 0%,#da0081 58%,#4a1250 100%)}.login-place{z-index:1;display:block;position:absolute;bottom:32px;left:50%;translate:-50%}.login-place img{width:auto;height:52px;display:block}.login-shade{pointer-events:none;background:linear-gradient(#0000 62%,#00000059 84%,#000000b8 100%),radial-gradient(#080f280f 0%,#080f2852 100%);position:absolute;inset:0}.login-bg:after{content:"";opacity:.9;background:linear-gradient(#00afcb 0 25%,#97be1d 25% 50%,#f6b400 50% 75%,#da0081 75% 100%);width:3px;position:absolute;top:0;bottom:0;left:50%;translate:-1.5px}.login-main{box-sizing:border-box;place-items:center;min-height:100dvh;padding:32px 16px;display:grid;position:relative}.login-card{isolation:isolate;box-sizing:border-box;-webkit-backdrop-filter:blur(26px)saturate(175%);backdrop-filter:blur(26px)saturate(175%);background:linear-gradient(145deg,#ffffffa3 0%,#ffffff61 100%);border:1px solid #ffffff80;border-radius:28px;width:min(420px,100%);padding:32px 32px 26px;position:relative;overflow:hidden;box-shadow:0 30px 80px #06102d61,0 2px 8px #06102d1f,inset 0 1px #ffffffe6,inset 0 -1px #ffffff47}.login-card:before{content:"";z-index:-1;pointer-events:none;border-radius:inherit;background:radial-gradient(120% 70% at 12% -10%,#fffc 0%,#fff0 55%),radial-gradient(90% 60% at 110% 115%,#ffffff73 0%,#fff0 60%);position:absolute;inset:0}.login-card:after{content:"";pointer-events:none;border-radius:inherit;-webkit-mask-composite:xor;background:linear-gradient(135deg,#fffffff2,#ffffff14 38% 62%,#ffffffb3);padding:1.5px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.login-card{background:#fffffff0}}.login-logo{width:176px;margin:0 auto 14px;display:block}.login-logo img{width:100%;height:auto;display:block}.login-card h1{text-align:center;letter-spacing:-.01em;color:var(--lg-ink);margin:0 0 18px;font-size:18px;font-weight:600}.login-status{color:#166534;background:#f0fdf4e0;border:1px solid #16a34a59;border-radius:12px;align-items:flex-start;gap:8px;margin:0 0 14px;padding:10px 12px;font-size:13px;line-height:1.4;display:flex}.login-status svg{flex:none;width:16px;height:16px;margin-top:1px}.login-form{gap:14px;display:grid}.lf-field{gap:6px;display:grid}.lf-field label{color:var(--lg-ink-2);font-size:13px;font-weight:500}.lf-field input{box-sizing:border-box;width:100%;height:44px;font:inherit;color:var(--lg-ink);background:#fffc;border:1px solid #0f172a24;border-radius:12px;outline:none;padding:0 14px;font-size:14px;transition:border-color .15s,box-shadow .15s,background-color .15s}.lf-field input:hover{border-color:#0f172a3d}.lf-field input:focus{border-color:var(--lg-accent);background:#fff;box-shadow:0 0 0 4px #255dee2e}.lf-field input[aria-invalid=true]{border-color:#dc2626}.lf-error{color:#b91c1c;margin:0;font-size:12.5px}.lf-password{position:relative}.lf-password input{padding-right:50px}.lf-eye{width:36px;height:36px;color:var(--lg-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;transition:color .15s,background-color .15s;display:grid;position:absolute;top:50%;right:5px;translate:0 -50%}.lf-eye:hover{color:var(--lg-accent);background:#255dee17}.lf-eye:focus-visible{outline:2px solid var(--lg-accent);outline-offset:1px}.lf-eye svg{width:18px;height:18px}.lf-eye .lf-eye-hide,.lf-eye[aria-pressed=true] .lf-eye-show{display:none}.lf-eye[aria-pressed=true] .lf-eye-hide{display:block}.lf-check{color:var(--lg-ink-2);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.lf-check input{width:16px;height:16px;accent-color:var(--lg-accent);margin:0}.lf-submit{height:46px;font:inherit;color:#fff;cursor:pointer;background:linear-gradient(180deg, #3a70f3 0%, var(--lg-accent) 100%);border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:4px;font-size:14px;font-weight:600;transition:filter .15s,transform 60ms;display:inline-flex;box-shadow:0 10px 24px #255dee59,inset 0 1px #ffffff59}.lf-submit:hover{filter:brightness(1.06)}.lf-submit:active{transform:translateY(1px)}.lf-submit:disabled{opacity:.7;cursor:progress}.lf-submit:focus-visible{outline-offset:2px;outline:3px solid #255dee73}.lf-submit svg{width:18px;height:18px}.login-links{text-align:center;color:var(--lg-muted);justify-items:center;gap:8px;margin-top:20px;font-size:13px;display:grid}.login-links a{color:var(--lg-accent-dark);font-weight:500;text-decoration:none}.login-links a:hover{text-decoration:underline}@media (width<=720px){.login-bg{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.login-bg:after{background:linear-gradient(90deg,#00afcb 0 25%,#97be1d 25% 50%,#f6b400 50% 75%,#da0081 75% 100%);width:auto;height:3px;inset:50% 0 auto;translate:0 -1.5px}.login-side[data-side=riviera-nayarit] .login-place{top:18px;bottom:auto}.login-side[data-side=puerto-vallarta] .login-place{bottom:18px}.login-place img{height:34px}.login-shade{background:linear-gradient(#0000 74%,#000000b8 100%),linear-gradient(#0009 0%,#0000 20%)}.login-card{border-radius:24px;padding:26px 22px 22px}.login-logo{width:150px}}@media (prefers-reduced-motion:reduce){.login-slide{transition:none;transform:none}}
