*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--crema);color:var(--texto);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Poppins,system-ui,-apple-system,sans-serif}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.login-bg{pointer-events:none;position:absolute;inset:0;overflow:hidden}.orb{filter:blur(80px);opacity:.55;border-radius:50%;position:absolute}.orb-1{background:var(--sage-2);width:480px;height:480px;top:-120px;left:-120px}.orb-2{background:var(--sage-3);width:360px;height:360px;bottom:-100px;right:-80px}.login-card{background:var(--blanco);border-radius:var(--r-xl);width:min(420px,100%);box-shadow:var(--shadow-lg);padding:48px 40px 36px;position:relative}.login-logo{justify-content:center;margin-bottom:12px;display:flex}.login-logo img{width:200px;height:auto;display:block}.login-tag{letter-spacing:3px;text-transform:uppercase;color:var(--verde-2);text-align:center;margin-bottom:32px;font-size:9.5px;font-weight:500}.alerta-login{background:var(--error-bg);color:var(--error);border-radius:var(--r-md);text-align:center;text-wrap:balance;border:1px solid #c0392b26;margin-bottom:20px;padding:12px 16px;font-size:13px;font-weight:500}.alerta-login.info{background:var(--info-bg);color:var(--info);border-color:#6b849733}.login-form{flex-direction:column;gap:18px;display:flex}.campo{flex-direction:column;gap:7px;display:flex}.campo-input{position:relative}.campo-input input{width:100%;padding-right:44px}.toggle-pwd{color:var(--texto-secundario);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:4px;transition:color .15s,background .15s;display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.toggle-pwd:hover{color:var(--verde-3);background:var(--sage-1)}.toggle-pwd:focus-visible{outline:2px solid var(--verde-2);outline-offset:2px}.toggle-pwd .icono-ocultar,.toggle-pwd.activo .icono-mostrar{display:none}.toggle-pwd.activo .icono-ocultar{display:inline-block}.label{color:var(--verde-4);text-transform:uppercase;letter-spacing:1.2px;font-size:10.5px;font-weight:600}input[type=text],input[type=email],input[type=password]{border:1.5px solid var(--sage-1);border-radius:var(--r-md);color:var(--texto);background:var(--crema);padding:13px 16px;font-family:inherit;font-size:14px;transition:border-color .2s,background-color .2s,box-shadow .2s}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus{border-color:var(--verde-2);background:var(--blanco);outline:none;box-shadow:0 0 0 4px #586d5b1f}.btn-login{background:var(--verde-2);color:var(--blanco);border-radius:var(--r-pill);letter-spacing:1.8px;text-transform:uppercase;cursor:pointer;border:none;margin-top:12px;padding:15px 24px;font-family:inherit;font-size:12px;font-weight:500;transition:background-color .2s,transform .15s,box-shadow .2s;box-shadow:0 8px 24px #586d5b47}.btn-login:hover{background:var(--verde-4);transform:translateY(-2px);box-shadow:0 12px 32px #485b4b5c}.btn-login:active{transform:translateY(0)}.btn-login:focus-visible{outline:none;box-shadow:0 0 0 4px #586d5b3d,0 8px 24px #586d5b47}.login-foot{color:var(--texto-secundario);text-align:center;letter-spacing:.4px;margin-top:28px;font-size:10.5px}.login-olvide{text-align:center;margin-top:16px}.login-link{cursor:pointer;color:var(--verde-2);background:0 0;border:none;padding:0;font-family:inherit;font-size:12.5px;font-weight:500;text-decoration:none;transition:color .15s}.login-link:hover{color:var(--verde-4);text-decoration:underline}.login-link:focus-visible{outline:2px solid var(--verde-2);outline-offset:4px;border-radius:4px}.login-modal-bg{z-index:1000;background:#2d3a3073;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.login-modal-bg[hidden]{display:none}.login-modal-card{background:var(--blanco);border-radius:var(--r-lg);width:100%;max-width:400px;box-shadow:var(--shadow-lg);overflow:hidden}.login-modal-barra{background:var(--verde-3);align-items:center;gap:10px;padding:11px 12px 11px 18px;display:flex}.login-modal-barra h2{color:var(--blanco);text-transform:uppercase;letter-spacing:.8px;flex:1;margin:0;font-size:12px;font-weight:600}.login-modal-x{color:#ffffffbf;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;transition:background-color .14s,color .14s;display:inline-flex}.login-modal-x:hover{color:var(--blanco);background:#ffffff29}.login-modal-cuerpo{padding:18px 20px 20px}.login-modal-cuerpo p{color:var(--texto-secundario);margin:0 0 14px;font-size:13px;line-height:1.55}.login-modal-input{border:1px solid var(--gris-2);border-bottom:2.5px solid var(--sage-3);border-radius:var(--r-md);width:100%;color:var(--texto);background:var(--blanco);outline:none;margin-bottom:12px;padding:10px 13px;font-family:inherit;font-size:14px}.login-modal-input:focus{border-color:var(--verde-2);box-shadow:var(--shadow-focus)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--blanco) inset;box-shadow:0 0 0 1000px var(--blanco) inset;-webkit-text-fill-color:var(--texto);caret-color:var(--texto);transition:background-color 9999s ease-in-out}.login-modal-msg{color:var(--texto-secundario);align-items:flex-start;gap:7px;margin:2px 0 0;font-size:12.5px;line-height:1.5;display:flex}.login-modal-msg:before{content:"✓";color:var(--verde-2);flex:none;font-weight:700}.login-modal-msg.error{color:var(--error)}.login-modal-msg.error:before{content:"⚠";color:var(--error)}.login-modal-msg[hidden],.login-modal-input[hidden]{display:none}.login-modal-acciones{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.login-modal-btn{background:var(--verde-2);color:var(--blanco);border-radius:var(--r-pill);cursor:pointer;border:none;padding:9px 18px;font-family:inherit;font-size:12.5px;font-weight:500;transition:background-color .16s,border-color .16s,color .16s}.login-modal-btn:hover{background:var(--verde-3)}.login-modal-btn:disabled{opacity:.6;cursor:default}.login-modal-btn.secundario{background:var(--blanco);color:var(--verde-3);border:1px solid var(--sage-2)}.login-modal-btn.secundario:hover{background:var(--sage-1);border-color:var(--verde-2);color:var(--verde-4)}.btn-login.secundario{background:var(--blanco);color:var(--verde-3);border:1.5px solid var(--sage-2);box-shadow:none;padding:11px 22px;font-size:11px}.btn-login.secundario:hover{background:var(--sage-1);border-color:var(--verde-2);color:var(--verde-4);box-shadow:none;transform:none}@media (prefers-reduced-motion:reduce){.btn-login:hover{transform:none}}
