.login-page{min-height:100vh;min-height:100dvh;background:var(--canvas)}
.login-layout{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px 24px}
.login-brand{display:flex;align-items:center;gap:11px;margin-bottom:30px;font-weight:600;font-size:16px;letter-spacing:-.3px;color:#3a3d43}
.login-brand .brand-mark{width:35px;height:35px;border-radius:11px;font-size:21px}
.login-panel{width:100%;max-width:430px;padding:38px 38px 34px;background:var(--surface);border:1px solid #e6e8ed;border-radius:24px;box-shadow:0 12px 40px #25334a06}
.login-heading{margin-bottom:28px}.login-heading .eyebrow{display:block;font-size:9px;letter-spacing:2px;margin-bottom:13px;color:#7b818c}
.login-heading h1{font-size:32px;letter-spacing:-.9px;line-height:1.3;margin:0 0 9px}.login-heading p{font-size:13px;color:var(--secondary);margin:0;line-height:1.8}
.login-field{display:block;font-size:13px;font-weight:600;color:#3e424b;margin-bottom:8px}.login-field:not(:first-child){margin-top:19px}
.login-panel input:not([type=checkbox]){min-height:46px;font-size:14px;border-color:#dce0e6;border-radius:10px;padding:11px 13px;background:#fff}
.login-panel input:not([type=checkbox]):focus{border-color:#6b9fd8;outline:3px solid #0071e31c;outline-offset:0;box-shadow:none}
.password-field{position:relative}.password-field input:not([type=checkbox]){padding-right:60px}
#password-toggle{position:absolute;top:4px;right:5px;bottom:4px;padding:0 11px;border:0;background:transparent;border-radius:7px;font-size:12px;font-weight:500;color:#606a77}
#password-toggle:hover{background:#f1f4f8;color:var(--ink)}
.captcha-area{margin-top:25px;min-height:52px}.captcha-area[hidden]{display:none}
cap-widget{display:block;width:100%;--cap-widget-width:100%;--cap-widget-height:54px;--cap-widget-padding:14px;--cap-border-radius:10px;--cap-font:var(--font);--cap-border-color:#dfe4eb;--cap-background:#fafbfc;--cap-color:#3b414b;--cap-checkbox-size:20px;--cap-checkbox-border-radius:5px;--cap-checkbox-border:1px solid #aab4c2;--cap-focus-ring:#0071e3}
.login-status{min-height:21px;font-size:12px;line-height:1.75;color:#747c89;margin:10px 0 18px}
.login-error{padding:11px 13px;margin:0 0 17px;border:1px solid #f0d1d5;border-radius:9px;background:var(--red-soft);color:#9c2e39;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.login-error[hidden]{display:none}.login-submit{width:100%;min-height:46px;padding:12px 16px;font-size:14px;border-radius:10px;gap:14px;font-weight:550}
.login-submit svg{width:17px;height:17px}.login-submit:disabled{opacity:1;color:#818b98;background:#e9edf2;border-color:#e9edf2;cursor:not-allowed}
.retry-connection{width:100%;margin-top:10px;font-size:13px}.retry-connection[hidden]{display:none}
.login-footer{font-size:11px;letter-spacing:.3px;color:#8a919c;margin:25px 0 0;text-align:center}
@media(max-width:480px){.login-layout{padding:30px 20px;justify-content:center}.login-brand{margin-bottom:25px}.login-panel{padding:29px 24px;border-radius:20px;max-width:390px}.login-heading h1{font-size:29px}.login-heading{margin-bottom:26px}.login-panel input:not([type=checkbox]){font-size:16px}.login-footer{font-size:10px;margin-top:22px}}
@media(max-height:700px){.login-layout{justify-content:flex-start;padding-top:26px;padding-bottom:26px}.login-brand{margin-bottom:22px}}
