/* Login page. Session-slot styles live in app.css. */
body.login{min-height:100vh;display:flex;flex-direction:column;}
body.login .top{grid-template-columns:1fr auto;grid-template-rows:auto;}
body.login .login-main{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 20px 72px;}
.login-card{width:min(420px,100%);padding:36px 32px 32px;background:linear-gradient(180deg,rgba(198,161,91,0.08),rgba(16,18,24,0.45));border:1px solid var(--line-2);border-radius:6px;}
.login-card .brand-mark{font-size:28px;letter-spacing:0.2em;margin-bottom:6px;}
.login-card .kicker{font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.login-card h1{font-family:var(--serif);font-size:32px;font-weight:500;margin:0 0 8px;line-height:1.15;}
.login-card .lead{margin:0 0 22px;color:var(--ink-2);font-size:13px;line-height:1.5;}
.login-card label{display:block;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;}
.login-card input[type=password]{display:block;width:100%;background:var(--bg);border:1px solid var(--line);color:var(--ink);padding:12px 12px;font-size:16px;font-family:var(--mono);letter-spacing:0.08em;border-radius:2px;}
.login-card input[type=password]:focus{outline:1px solid var(--gold);border-color:var(--gold);}
.login-card button.enter{margin-top:16px;width:100%;padding:12px 14px;font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:#1a160e;background:var(--gold);border-radius:2px;font-weight:500;}
.login-card button.enter:hover{filter:brightness(1.06);}
.login-card button.enter:disabled{opacity:0.45;cursor:default;}
.login-err{display:none;margin-top:14px;color:var(--down);font-size:12px;}
.login-err.is-on{display:block;}
.login-locked{display:none;margin-top:14px;color:var(--warn);font-size:13px;line-height:1.45;}
.login-locked.is-on{display:block;}
.login-in{display:none;margin-top:8px;}
.login-in.is-on{display:block;}
.login-in .loan-btn{margin-right:8px;}
body.login .pager{display:none;}
