/* Login dialog styles are isolated so the login keeps its layout if the main page CSS is cached. */
.login-dialog{position:fixed;inset:0;width:min(440px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 24px);overflow:auto;margin:auto;padding:38px 42px 32px;border:1px solid #e4e8e8;border-radius:8px;background:#fff;color:var(--navy);box-shadow:0 24px 80px #061b2b38}
.login-dialog::backdrop{background:#061b2bcc;backdrop-filter:blur(3px)}
.login-close{position:absolute;top:12px;right:15px;width:36px;height:36px;border:0;border-radius:50%;background:#f3f5f4;color:var(--navy);font-size:25px;line-height:1;cursor:pointer}
.login-brand{display:flex;justify-content:center;margin:0 auto 20px}
.login-brand img{width:150px;height:90px;object-fit:contain}
.login-kicker{margin:0 0 8px;color:#a66b13;text-align:center;font-size:10px;font-weight:800;letter-spacing:.16em}
.login-dialog h2{margin:0;text-align:center;font:700 27px/1.2 var(--display)}
.login-intro{margin:9px 0 26px;color:#6c7880;text-align:center;font-size:13px}
.login-form{display:grid;gap:17px}
.login-form label{display:grid;gap:8px;color:#263c4a;font-size:12px;font-weight:700}
.login-form input{width:100%;height:48px;padding:0 14px;border:1px solid #d9e0e3;border-radius:4px;background:#fff;color:var(--navy);font:400 14px var(--sans)}
.login-form select{width:100%;height:48px;padding:0 14px;border:1px solid #d9e0e3;border-radius:4px;background:#fff;color:var(--navy);font:400 14px var(--sans)}
.login-form .password-control{position:relative;display:block}
.login-form .password-control input{padding-right:50px}
.password-toggle{position:absolute;top:50%;right:8px;display:grid;width:34px;height:34px;place-items:center;transform:translateY(-50%);border:0;border-radius:4px;background:transparent;color:#647580;cursor:pointer}
.password-toggle:hover{background:#f1f4f4;color:var(--navy)}
.password-toggle:focus-visible{outline:2px solid #bc821f;outline-offset:1px}
.password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.login-form .phone-control input[type="tel"]{height:48px;border-radius:4px 0 0 4px}
.login-form .phone-control .phone-country{height:48px;border-radius:4px 0 0 4px}
.login-form input:focus{outline:2px solid #d9a14466;border-color:#bc821f}
.login-submit{height:48px;margin-top:3px;border:0;border-radius:4px;background:var(--navy);color:#fff;font-size:12px;font-weight:800;letter-spacing:.04em;cursor:pointer}
.login-submit:hover{background:#123d5c}
.login-feedback{min-height:0;margin:0;color:#8a4b13;font-size:12px;line-height:1.5}
.login-feedback:not(:empty){padding:11px 12px;border-radius:4px;background:#fff6e9}
.login-help{margin:20px 0 0;color:#6c7880;text-align:center;font-size:12px}
.login-help a{color:#97600c;font-weight:700;text-decoration:underline}
@media(max-width:480px){.login-dialog{padding:34px 24px 26px}.login-brand img{width:130px;height:78px}.login-dialog h2{font-size:24px}}
.login-dialog [hidden]{display:none!important}
.login-dialog.is-fallback{z-index:1000;box-shadow:0 0 0 100vmax #061b2bcc,0 24px 80px #061b2b38}
.login-switch{margin:17px 0 0;color:#6c7880;text-align:center;font-size:12px}
.login-switch button{padding:0;border:0;background:none;color:#97600c;font:700 12px var(--sans);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.login-forgot{margin:0;text-align:right;font-size:11px}
.login-forgot button{padding:0;border:0;background:none;color:#97600c;font:600 11px var(--sans);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
