@import url('/brand/brand.css?v=4');
*{box-sizing:border-box}body{margin:0;padding:24px;min-height:100dvh;background:#eaf2f5;color:#0f2747;font:16px/1.6 Inter,system-ui,sans-serif}
main{width:min(500px,100%);margin:6vh auto;padding:32px;background:white;border:1px solid #d4e1e8;border-radius:24px}
h1{font:700 32px/1.2 'Plus Jakarta Sans',sans-serif;color:#0f2747}label,input,button{display:block}
input{width:100%;margin:10px 0 20px;padding:14px;border:1px solid #a9bcc9;border-radius:16px;background:#fff;color:#0f2747;font:inherit}
button{padding:14px 24px;background:#14b8a6;color:#fff;border:0;border-radius:16px;font:600 16px Inter,sans-serif;cursor:pointer;min-height:48px}
button:disabled{opacity:.5}#error{color:#9c2f28}a{color:#087f75}.agendate-logo{margin-bottom:24px}[hidden]{display:none!important}

.auth-link{background:transparent;color:#087f75;padding:10px 0;text-decoration:underline;text-underline-offset:4px;font-weight:600}.brand-auth h2{font-size:22px;line-height:1.3}#recover-message{overflow-wrap:anywhere}@media(max-width:480px){body{padding:16px}main{padding:24px;margin:3vh auto}}

/* Acceso compacto: una acción principal, recuperación y errores junto al formulario. */
html body.brand-auth main{margin:clamp(20px,5vh,56px) auto;padding:clamp(20px,5vw,36px)}
html body.brand-auth h1{font-size:clamp(26px,6vw,32px);margin:12px 0}
html body.brand-auth .agendate-logo{margin-bottom:12px;width:180px;max-width:100%}
html body.brand-auth .auth-intro{margin:0 0 24px;line-height:1.6;color:#50697b}
html body.brand-auth :is(#login,#recover-form)>button[type=submit],html body.brand-auth #recover-form>button{width:100%;background:#08796e;color:#fff}
.password-field{position:relative;margin:8px 0 20px}.password-field input{margin:0;padding-right:90px}
html body.brand-auth #show-password{position:absolute;right:4px;top:50%;transform:translateY(-50%);padding:8px 10px;min-height:44px;background:transparent;color:#075e57;border:0;font-size:13px;border-radius:10px}
html body.brand-auth .auth-link{margin:12px auto 0;min-height:44px}
html body.brand-auth :is(#error,#recover-message):not(:empty){padding:14px 16px;border-radius:12px;line-height:1.6;font-size:14px}
html body.brand-auth #error:not(:empty){background:#fff2ef;border:1px solid #ebc3ba;color:#8a3023}
html body.brand-auth #recover-message:not(:empty){background:#edf7f6;border:1px solid #c6e5df;color:#244e49}
html body.brand-auth :is(input,button):focus-visible{outline:3px solid #08796e;outline-offset:3px}
@media(max-width:480px){html body.brand-auth{padding:14px}html body.brand-auth main{margin:18px auto}}

html body.brand-auth #show-password{width:auto;margin:0;box-shadow:none}
html body.brand-auth:has(#recovery:not([hidden])) .auth-intro{display:none}

/* Activar/restablecer: mismo patrón de acceso, estados y acción siguiente visibles. */
html body.password-setup{align-content:start}
html body.password-setup .auth-eyebrow{font-size:11px;letter-spacing:.1em;font-weight:600;color:#526d7d;margin:4px 0 10px}
html body.password-setup h1{font-size:clamp(25px,5.5vw,30px)}
html body.password-setup .auth-intro{margin-bottom:22px;font-size:15px}
html body.password-setup label{font-weight:600;font-size:15px}
html body.password-setup .password-field{margin:6px 0 16px}
html body.password-setup .password-field input{padding-right:83px;min-height:52px}
html body.password-setup [data-password-toggle]{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:auto;min-height:44px;padding:8px 10px;margin:0;background:transparent;color:#075e57;font-size:13px;box-shadow:none}
html body.password-setup .password-help{font-size:13px;line-height:1.5;color:#526d7d;margin:-7px 0 20px}
html body.password-setup button[type=submit],html body.password-setup .auth-success-link{background:#08796e;color:white;min-height:48px;border-radius:14px;font-weight:600}
html body.password-setup #login-link{display:flex;justify-content:center;align-items:center;min-height:44px;margin-top:14px;text-align:center;text-underline-offset:4px}
html body.password-setup .auth-success-link{text-decoration:none;padding:12px 18px}
html body.password-setup .auth-security-note{margin:24px 0 0;padding-top:18px;border-top:1px solid #dbe6eb;color:#526d7d;font-size:13px;line-height:1.6}
html body.password-setup #message:empty{display:none}
html body.password-setup #message:not(:empty){padding:14px;border-radius:14px;margin:18px 0 8px;font-size:14px;line-height:1.6;background:#fff2ef;color:#8a3023;border:1px solid #ebc3ba;overflow-wrap:anywhere}
html body.password-setup #message[data-state=success],html body.password-setup #message[data-state=pending]{background:#edf7f6;color:#244e49;border-color:#b9ddd3}
html body.password-setup [aria-invalid=true]{border:2px solid #9c392d}
html body.password-setup a:focus-visible{outline:3px solid #08796e;outline-offset:3px}
