/* Layout additions to the installed OpenClaw login-gate components. */
html, body { min-height: 100%; overflow: auto; }
.login-gate { min-height: 100svh; height: auto; max-height: none; }
.login-gate__card { width: min(440px, 100%); }
.login-gate__form .field { display: grid; }
.login-gate__form input:not([type="checkbox"]) { width: 100%; min-width: 0; min-height: 44px; }
.password-control { position: relative; }
.password-control input { padding-right: 60px; }
.password-toggle { position: absolute; inset-inline-end: 10px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: var(--muted); font-size: 12px; padding: 6px; border-radius: var(--radius-sm); cursor: pointer; }
.password-toggle:hover { color: var(--text-strong); background: var(--bg-hover); }
.password-toggle:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
.login-options { display: flex; justify-content: space-between; align-items: center; gap: 12px; color: var(--muted); font-size: 12px; }
.remember { display: flex; align-items: center; gap: 7px; cursor: pointer; }
.remember input { width: 15px; height: 15px; margin: 0; }
.login-options a { color: var(--muted); }
.login-options a:hover { color: var(--text-strong); }
.login-error { margin: 0; font-size: 13px; line-height: 1.5; color: var(--danger); }
.login-error[hidden] { display: none; }
.login-gate__body [hidden] { display: none !important; }
.auth-status { margin: 0; padding: 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--text); font-size: 13px; line-height: 1.6; background: var(--bg); overflow-wrap: anywhere; }
.auth-status[data-error="true"] { color: var(--danger); }
.auth-back { justify-self: center; color: var(--muted); font-size: 13px; }
.auth-success .btn { display: flex; text-decoration: none; }
.password-hint { color: var(--muted); font-size: 12px; }
.login-host { text-align: center; color: var(--muted); font-size: 12px; margin: 24px 0 0; }
.login-gate__connect { cursor: pointer; min-height: 44px; }
.login-gate__connect:disabled { cursor: wait; opacity: .65; }
@media (max-width: 480px) { .login-gate { padding: 20px; } .login-gate__card { padding: 24px; } }
@media (prefers-reduced-motion: reduce) { .login-gate__card { animation: none; } }
