body.academy-login{min-height:100svh;display:grid;place-items:center;background:var(--soft);padding:32px 20px}.academy-login main{padding:40px;min-height:0;margin:0;max-width:480px;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:16px}.login-logo{width:117px;height:auto;display:block;margin-bottom:28px}.login-card h1{font-size:32px;line-height:1.2;letter-spacing:-.7px}.login-intro{color:var(--secondary);margin:18px 0 28px}.login-card label{display:block;font-weight:700;margin-bottom:8px}.login-card input[type=password]{width:100%;height:48px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:18px}.login-card .btn-primary{width:100%;margin-top:20px}.login-error{color:var(--danger);font-size:16px;margin-top:14px}.login-hint{font-size:14px;color:var(--secondary);margin-top:24px}.academy-logout{margin:0 0 0 auto}.topbar{flex-wrap:wrap;height:auto;min-height:78px;padding-top:12px;padding-bottom:12px}.topbar>a{margin-left:auto}.academy-logout button{white-space:nowrap}@media(max-width:600px){.academy-login main{padding:28px 24px}.topbar{gap:12px;min-height:60px}.topbar>a{margin-left:0}.academy-logout{margin-left:auto}}@media print{.academy-logout{display:none}}
