body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]){background:#0f2341;color:#fff}
body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]) .auth-shell{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;background:linear-gradient(180deg,#0f2341 0%,#19345c 43%,#476592 72%,#142640 100%);padding:54px 22px;overflow:hidden}
.login-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}#login-stars{position:absolute;inset:0;width:100%;height:100%}.login-landscape{position:absolute;inset:0;background:url("login-landscape.svg") center bottom/cover no-repeat}
body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]) .modern-login-wrap{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:430px;padding:0;background:transparent;min-height:0}
body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]) .modern-login-card{position:relative;max-width:none;width:100%;padding:35px 36px 33px;background:#0f234154;color:#fff;border:1px solid #dfe9f740;border-radius:18px;box-shadow:0 20px 65px #021c2440,inset 0 1px 0 #ffffff0c;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.modern-login-brand{display:flex;justify-content:center;align-items:center;gap:9px;margin-bottom:24px;font-size:16px;letter-spacing:3px;font-weight:700;color:#fff}.modern-login-brand small{display:none}.login-mark{width:31px;height:31px;display:grid;place-items:center;color:#dee7f4}.login-mark svg{width:28px;height:28px}.modern-login-card h1{font-size:30px;font-weight:650;letter-spacing:-.6px;margin:0 0 9px;color:#fff;text-align:center}.login-intro{font-size:12px;color:#d0d9e6;margin:0 0 29px;text-align:center}.modern-login-card .form-label{display:block;font-size:11px;font-weight:500;color:#e1e7ef;margin:0 0 8px 15px}.login-input{position:relative;margin-bottom:20px}.login-input>svg{position:absolute;left:17px;top:17px;width:18px;height:18px;stroke:#e2e8f2;stroke-width:1.6;pointer-events:none;z-index:1}.modern-login-card .login-input .form-control{height:52px;border:1px solid #e3ebf645;border-radius:28px;background:#ffffff07;color:#fff;padding:12px 17px 12px 46px;font-size:13px;box-shadow:none}.modern-login-card .login-input .form-control::placeholder{color:#d8e0ebb3}.modern-login-card .login-input .form-control:focus{border-color:#e7effba6;background:#ffffff0b;box-shadow:0 0 0 3px #c4d2e610}.modern-login-card .login-password .form-control{padding-right:51px}.login-eye{position:absolute;right:8px;top:8px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:#e2e8f2;display:grid;place-items:center;cursor:pointer}.login-eye:hover{background:#ffffff10}.login-eye svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.6}.login-eye[aria-pressed="true"]{color:#b6d1fa}.login-eye:focus-visible,.login-recovery a:focus-visible{outline:2px solid #e1e9f6;outline-offset:3px}.login-recovery{text-align:right;font-size:11px;margin:-4px 6px 25px}.login-recovery a{color:#eff4fb;text-decoration:none}.login-recovery a:hover{text-decoration:underline}body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]) #auth-error{color:#ffe0d8!important}#auth-error:not(:empty){background:#5e201e66;padding:10px 12px;border-radius:10px;margin-bottom:15px;line-height:1.5}.modern-login-card .login-submit{display:flex;align-items:center;justify-content:center;gap:12px;height:49px;border-radius:28px;background:#f7f9fc;border:1px solid #f7f9fc;color:#142642;font-size:13px;font-weight:700;box-shadow:0 5px 14px #031e2318;transition:background .2s,transform .2s}.modern-login-card .login-submit:hover{background:#dee7f4;border-color:#dee7f4;color:#0f2341;transform:translateY(-1px)}.modern-login-card .login-submit:disabled{background:#d4dbe5;border-color:#d4dbe5;color:#505c6d;transform:none}.login-submit svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8}.modern-login-card .divider{margin:24px 0 18px;color:#d0d9e6}.modern-login-card .divider:before,.modern-login-card .divider:after{background:#ffffff20}.modern-login-card .login-google{border:1px solid #e3ebf645;color:#fff;background:#ffffff07;height:46px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:12px;border-radius:28px}.modern-login-card .login-google:hover{background:#ffffff15}.login-google strong{font-size:17px}.login-footer{display:flex;align-items:center;gap:7px;color:#ced8e7b3;font-size:10px;letter-spacing:.3px;margin-top:20px}.login-footer svg{width:13px;height:13px;stroke:currentColor;stroke-width:1.5}body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]) .modern-login-wrap>.theme-cycle{position:fixed;right:24px;top:22px;background:#ffffff0c;border-color:#ffffff30;color:#fff;z-index:2}
:root[data-bs-theme="dark"] body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]) .auth-shell{background:linear-gradient(180deg,#0a182e 0%,#132744 43%,#334b6e 72%,#0e1c30 100%)}
:root[data-bs-theme="dark"] body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]) .modern-login-card{background:#0a182d6e}
@supports not (backdrop-filter:blur(15px)){body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]) .modern-login-card{background:#12284ae8}}
@media(max-width:480px){body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]) .auth-shell{padding:66px 20px 30px}body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]) .modern-login-card{padding:29px 24px;border-radius:16px}.modern-login-card h1{font-size:27px}body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]) .modern-login-wrap>.theme-cycle{top:16px;right:18px}.login-landscape{background-position:46% bottom}}
@media(prefers-reduced-motion:reduce){.modern-login-card .login-submit{transition:none}}
:root[data-bs-theme] body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]) .modern-login-wrap{background:transparent;color:#fff}

.modern-login-card .recovery-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:24px;font-size:11px}.modern-login-card .recovery-links a{color:#e8eef8;text-decoration:none}.modern-login-card .recovery-links a:hover{text-decoration:underline}.modern-login-card .recovery-links a:focus-visible{outline:2px solid #e1e9f6;outline-offset:4px}.modern-login-card .form-error{color:#ffe0d8!important}.modern-login-card .form-error:not(:empty){background:#5e201e66;padding:10px 12px;border-radius:10px;margin-bottom:16px;line-height:1.5}.modern-login-card #recovery-result{margin:20px 0 0;padding:15px;border:1px solid #b3cbee4d;background:#b8d1f717;color:#f0f6fe;font-size:13px;line-height:1.7;border-radius:12px}.modern-login-card #recovery-result[hidden]{display:none}.modern-login-card .login-intro{line-height:1.65}.modern-login-card .recovery-title{font-size:25px;line-height:1.25}.modern-login-card .login-input:last-of-type{margin-bottom:25px}

/* Apariencia de campos completados por el navegador. */
body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]) .modern-login-card .login-input .form-control{--autofill-green:#213451;}
:root[data-bs-theme="dark"] body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]) .modern-login-card .login-input .form-control{--autofill-green:#162741;}
body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]) .modern-login-card .login-input .form-control:-webkit-autofill{
 -webkit-box-shadow:0 0 0 1000px var(--autofill-green) inset!important;
 box-shadow:0 0 0 1000px var(--autofill-green) inset!important;
 -webkit-text-fill-color:#fff!important;
 color:#fff!important;caret-color:#fff!important;
 border-color:#e3ebf645!important;
 background-clip:padding-box;
 }
body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]) .modern-login-card .login-input .form-control:-webkit-autofill:focus{
 -webkit-box-shadow:0 0 0 1000px var(--autofill-green) inset,0 0 0 3px #c4d2e610!important;
 box-shadow:0 0 0 1000px var(--autofill-green) inset,0 0 0 3px #c4d2e610!important;
 border-color:#e7effba6!important;
 }
body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]) .modern-login-card .login-input .form-control:autofill{
 -webkit-box-shadow:0 0 0 1000px var(--autofill-green) inset!important;
 box-shadow:0 0 0 1000px var(--autofill-green) inset!important;
 -webkit-text-fill-color:#fff!important;
 color:#fff!important;caret-color:#fff!important;
 border-color:#e3ebf645!important;
 background-clip:padding-box;
 }
body:is([data-page="login"],[data-page="forgot"],[data-page="reset"]) .modern-login-card .login-input .form-control:autofill:focus{
 -webkit-box-shadow:0 0 0 1000px var(--autofill-green) inset,0 0 0 3px #c4d2e610!important;
 box-shadow:0 0 0 1000px var(--autofill-green) inset,0 0 0 3px #c4d2e610!important;
 border-color:#e7effba6!important;
 }
