/* Authentication styles are scoped so public page layouts stay unchanged. */
.auth-dialog{border:1px solid #dce4ef;border-radius:26px;background:#fbfcff;color:#17202d;box-shadow:0 24px 100px #18263e33;max-height:calc(100dvh - 32px);overflow:auto;font-family:inherit;line-height:1.5}
.auth-dialog:not([open]){display:none}.auth-dialog,.auth-dialog *{box-sizing:border-box}
.auth-dialog .button{display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:16px 22px;min-height:50px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.auth-dialog .primary{color:#fff;background:linear-gradient(110deg,#4786ff,#7fa7fa);box-shadow:0 6px 20px #447ef018}.auth-dialog .full{width:100%}.auth-dialog button:disabled{opacity:.55;cursor:wait}
.auth-dialog .text-button{border:0;background:transparent;color:#3f75cb;padding:10px 0;font:inherit;font-size:15px;font-weight:500;cursor:pointer}
.auth-dialog .auth-close{position:absolute;right:16px;top:14px;border:0;border-radius:10px;background:transparent;color:#17202d;width:40px;height:40px;font-size:28px;cursor:pointer}
.auth-dialog input{color:#17202d;background:#fff}.auth-dialog #auth-description{font-size:16px;line-height:1.6}.auth-dialog button:focus-visible{outline:3px solid #83aaff;outline-offset:3px}
.auth-dialog{padding:36px;max-width:460px;width:calc(100% - 32px)}.auth-dialog h2{font-size:32px;margin:0 0 12px;padding-right:24px}.auth-dialog form{display:grid;gap:18px;margin-top:24px}.auth-dialog label{display:grid;gap:8px;font-weight:600}.auth-dialog input:not([type=checkbox]){width:100%;padding:14px 16px;border:1px solid #cfdaf0;border-radius:12px;font:inherit;box-sizing:border-box}.auth-dialog input:focus-visible{outline:3px solid #83aaff;outline-offset:2px}.auth-dialog .auth-terms{display:flex;align-items:flex-start;font-size:14px;line-height:1.5;font-weight:400}.auth-dialog .auth-terms a{color:#3266d6;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.auth-dialog .auth-terms a:hover{color:#234ca5}.auth-dialog .auth-terms a:focus-visible{outline:2px solid #3266d6;outline-offset:3px;border-radius:2px}.auth-terms input{margin-top:4px;flex-shrink:0}.auth-dialog [hidden]{display:none!important}.auth-dialog .text-button{display:block;margin:18px auto 0}.auth-dialog #auth-feedback:empty{display:none}.auth-dialog #auth-feedback{margin:0;line-height:1.5}.auth-dialog::backdrop{background:#18263e80;backdrop-filter:blur(8px)}
.auth-dialog .auth-password-field{display:grid;gap:8px}.auth-password-control{position:relative;min-width:0}.auth-dialog .auth-password-control input{padding-right:54px}.auth-dialog .password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:42px;padding:10px;border:0;border-radius:8px;background:transparent;color:#5b7290;cursor:pointer}.auth-dialog .password-toggle:hover{background:#edf3fc;color:#3469c5}.auth-dialog .password-toggle:focus-visible{outline:3px solid #83aaff;outline-offset:1px}.auth-dialog .password-toggle svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.auth-dialog .auth-code{font-size:28px;font-weight:700;letter-spacing:.2em;text-align:center;font-variant-numeric:tabular-nums;padding:18px 12px}.auth-dialog input[readonly]{background:#f3f6fc;color:#45546a}
@media(max-width:520px){.auth-dialog{padding:28px 22px}.auth-dialog h2{font-size:28px}}

.auth-dialog #auth-feedback.auth-error{color:#b42318;font-weight:500}
