/* Login-only layout; authenticated screens keep their existing styles. */
body.login-mode{margin:0;background:#f3f7fa;color:#172b3b;font-family:Inter,"Segoe UI",Arial,sans-serif;min-height:100svh}
body.login-mode .topbar{display:none}
body.login-mode .page{box-sizing:border-box;display:grid;place-items:center;width:100%;min-height:calc(100svh - 54px);margin:0;padding:28px 16px}
#loginView{box-sizing:border-box;width:min(100%,430px);max-width:430px;margin:0;padding:clamp(24px,5vw,36px);background:#fff;border:1px solid #dce5ec;border-radius:16px;box-shadow:0 8px 28px #173b590b}
#loginView .login-brand{text-align:center;margin-bottom:26px}
#loginView .login-brand img{display:block;width:72px;height:72px;max-width:100%;object-fit:contain;margin:0 auto 14px}
#loginView .login-brand h1{font-size:28px;line-height:1.2;color:#143b5d;margin:0 0 8px}
#loginView .login-brand p{font-size:14px;color:#657789;line-height:1.5;margin:0}
#loginForm{display:grid;gap:18px;margin:0}
#loginForm .login-field{display:grid;gap:7px;min-width:0}
#loginForm label{font-size:14px;color:#42576a;font-weight:650}
#loginForm input{box-sizing:border-box;display:block;width:100%;min-width:0;height:48px;padding:11px 12px;border:1px solid #cbd8e1;border-radius:9px;background:#fff;color:#172b3b;font:inherit;font-size:16px}
#loginForm input:focus{outline:2px solid #3482b7;outline-offset:1px}
#loginForm .login-password{position:relative}
#loginForm #password{padding-right:52px}
#loginForm #togglePassword{position:absolute;right:2px;top:2px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:7px;background:transparent;color:#285c7e;cursor:pointer}
#loginForm #togglePassword:focus-visible{outline:2px solid #3482b7}
#loginForm #loginSubmit{box-sizing:border-box;display:block;width:100%;min-height:48px;border:0;border-radius:9px;background:#1d5d8f;color:white;font:inherit;font-weight:700;cursor:pointer}
#loginForm #loginSubmit:hover{background:#164d78}
#loginForm #loginSubmit:disabled{opacity:.65;cursor:wait}
#loginForm #loginStatus{min-height:20px;margin:0;font-size:13px;line-height:1.5;color:#42576a;overflow-wrap:anywhere}
#loginForm #loginStatus.login-error{color:#a12626}
body.login-mode footer{box-sizing:border-box;text-align:center;margin:0;padding:14px 16px;color:#657789;font-size:12px}
@media(max-width:440px){body.login-mode .page{padding:20px 16px}#loginView{padding:26px 22px}#loginView .login-brand h1{font-size:26px}}
@media(max-height:650px){body.login-mode .page{place-items:start center;padding-top:20px}#loginView .login-brand{margin-bottom:18px}}
