    .login { max-width:440px; margin:48px auto; padding:0 16px; }
    .login-card { background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:24px; display:flex; flex-direction:column; gap:14px; }
    .login-card h2 { margin:0; font-size:22px; }
    .gbtn { display:flex; align-items:center; justify-content:center; gap:10px; background:#fff; color:#1f1f1f; border:1px solid #dadce0;
            border-radius:8px; padding:11px 16px; font-weight:600; font-size:16px; text-decoration:none; }
    .gbtn:hover { box-shadow:0 1px 4px rgba(0,0,0,.4); }
    .gbtn svg { width:20px; height:20px; }
    .lmsg { border-radius:8px; padding:10px 12px; background:#1f242e; border:1px solid var(--line); }
    .lmsg.warn { border-color:var(--warn); color:#ffd88a; } .lmsg.bad { border-color:var(--err); color:#ffb3b3; }
    .dev { display:flex; gap:8px; } .dev input { flex:1; }
