.login-page { min-height: 100svh; display: grid; place-items: center; padding: 24px; }
.login-card { width: min(100%,420px); background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 40px 32px; box-shadow: 0 16px 70px #30251508; }
.login-card h1 { font-size: 29px; letter-spacing: -.8px; margin: 16px 0 12px; }
.login-intro { color: var(--muted); margin-bottom: 30px; }
.login-card label { display: grid; gap: 8px; margin: 18px 0; }
.login-card input, .login-card select { width: 100%; min-height: 46px; }
.login-card .primary { width: 100%; min-height: 46px; }
.login-note { text-align: center; color: var(--muted); margin: 26px 0 0; font-size: 12px; }
body[data-role="student"] .main-nav [data-view="input"],
body[data-role="student"] #new-node,
body[data-role="student"] .tree-edit,
body[data-role="student"] #manage-node,
body[data-role="student"] .question-actions { display: none !important; }
.cloud-logout { white-space: nowrap; margin-left: 8px; }
@media(max-width:760px) { body[data-cloud] .masthead-meta { display: flex; } body[data-cloud] #today-label { display: none; } .cloud-logout { padding: 7px; margin: 0; } }
@media(max-width:400px) { .login-card { padding: 30px 22px; } .login-card h1 { font-size: 26px; } }
