/* Independent authentication screen; existing workspace styles stay unchanged. */
body.auth-loading .layout{visibility:hidden}
body.login-mode{background:#fff;overflow:hidden}
body.login-mode .layout,body.login-mode .modal,body.login-mode .drawer,body.login-mode .mask,body.login-mode #batchBar{display:none!important}
.layout[hidden],.login-page[hidden],.login-page [hidden]{display:none!important}
.login-page{--login-muted:#627681;position:fixed;inset:0;z-index:200;overflow:auto;background:#fff;color:#183645;font-family:var(--font)}
.login-shell{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);min-height:100%;min-height:100dvh}
.login-story{display:flex;flex-direction:column;justify-content:space-between;gap:36px;padding:48px clamp(36px,5.3vw,92px) 32px;background:#0b2530;color:#fff;overflow:hidden}
.login-brand{display:flex;align-items:center;gap:13px}
.login-brand-mark{display:grid;place-items:center;flex:0 0 44px;height:44px;border:1px solid #3c6572;border-radius:11px;color:#c4e9ee;background:#163c49}
.login-brand-name{display:block;font-size:19px;font-weight:650;letter-spacing:.5px;line-height:1.4}
.login-brand-note{display:block;font-size:12px;color:#a3bfca;margin-top:5px}
.login-story-content{max-width:520px;margin:auto 0}
.login-story h1{font-size:clamp(34px,3.3vw,48px);font-weight:650;line-height:1.45;letter-spacing:1px;margin:12px 0 20px}
.login-story-copy{font-size:15px;line-height:1.9;color:#b9d0d9}
.login-illustration{display:block;width:100%;max-width:490px;margin:30px 0 8px;overflow:visible}
.login-features{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-top:20px;border-top:1px solid #31505c;color:#b9d0d9;font-size:13px}
.login-features span{display:flex;align-items:center;gap:8px;white-space:nowrap}
.login-features svg{color:#87b5c2;flex:none}
.login-side{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:56px clamp(32px,5vw,80px);background:#fff}
.login-form-wrap{width:100%;max-width:400px}
.login-form-heading{margin-bottom:38px}
.login-form-heading h2{font-size:30px;line-height:1.4;font-weight:650;letter-spacing:.3px;color:#183645;margin:0 0 12px}
.login-form-heading p{color:var(--login-muted);font-size:15px;line-height:1.8}
.login-field{margin-bottom:24px}
.login-field label{display:block;font-size:14px;font-weight:600;color:#304c5b;margin-bottom:9px}
.login-input-wrap{position:relative}
.login-input-icon{position:absolute;left:15px;top:17px;width:20px;height:20px;color:#78909d;pointer-events:none}
.login-input-wrap input{display:block;width:100%;height:54px;min-width:0;border:1px solid #d5e0e6;border-radius:8px;background:#f9fbfc;padding:0 16px 0 46px;color:#183645;font:400 15px var(--font);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}
.login-input-wrap input::placeholder{color:#627681;opacity:1}
.login-input-wrap input:focus{border-color:#0e7490;background:#fff;box-shadow:0 0 0 3px #0e749019}
.login-input-wrap input[aria-invalid="true"]{border-color:#bc3748}
.login-input-wrap input[readonly]{background:#f1f5f7}
.login-password-wrap input{padding-right:54px}
.login-password-toggle{position:absolute;right:5px;top:5px;display:grid;place-items:center;width:44px;height:44px;border-radius:6px;color:#627681}
.login-password-toggle:hover{color:#0e7490;background:#ecf8fb}
.login-page button:focus-visible{outline:3px solid #73b8c9;outline-offset:3px}
.login-password-toggle svg{width:20px;height:20px;pointer-events:none}
.login-caps{font-size:12px;color:#906417;margin-top:8px}
.login-error{display:flex;align-items:flex-start;padding:11px 13px;margin:0 0 20px;border:1px solid #efcbd1;border-radius:7px;background:#fff5f6;color:#a8273a;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.login-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:52px;border:1px solid #0e7490;border-radius:8px;background:#0e7490;color:#fff;font-size:16px;font-weight:600;letter-spacing:2px;transition:background .15s,box-shadow .15s}
.login-submit:hover:not(:disabled){background:#155e75;box-shadow:0 4px 12px #0e749020}
.login-submit:disabled{cursor:wait;background:#4c8d9e;border-color:#4c8d9e;letter-spacing:0}
.login-help{margin-top:24px;color:var(--login-muted);font-size:13px;line-height:1.9}
.login-help b{color:#435e6b;font-weight:500}
.login-form-foot{display:flex;align-items:center;gap:7px;color:#627681;font-size:12px;margin-top:46px;padding-top:22px;border-top:1px solid #e8eef1}
.login-form-foot svg{flex:none}
@media(min-width:821px) and (max-height:720px){.login-story{padding-top:30px;padding-bottom:24px;gap:20px}.login-story h1{font-size:36px;margin-top:0}.login-illustration{max-width:390px;margin-top:16px}.login-side{padding-top:36px;padding-bottom:36px}.login-form-heading{margin-bottom:28px}.login-form-foot{margin-top:28px}}
@media(max-width:1000px) and (min-width:821px){.login-story{padding-left:32px;padding-right:32px}.login-side{padding-left:32px;padding-right:32px}.login-features{gap:15px}}
@media(max-width:820px){.login-shell{display:flex;flex-direction:column;min-height:100dvh}.login-story{padding:24px 28px;gap:0;flex:none}.login-brand-mark{flex-basis:40px;height:40px}.login-brand-name{font-size:18px}.login-brand-note{font-size:11px}.login-story-content,.login-features{display:none}.login-side{flex:1;padding:42px 28px 30px;justify-content:flex-start}.login-form-heading{margin-bottom:30px}.login-form-heading h2{font-size:27px}.login-form-foot{margin-top:34px}}
@media(max-width:380px){.login-side{padding:32px 22px 24px}.login-story{padding:22px}.login-form-heading p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.login-page *{transition:none!important;animation:none!important}}
