/* The sign-in page. Self-contained on purpose: the dashboard's stylesheet and fonts are behind the
   session, so this page carries its own small copy of the elemental_v3 look. */

:root {
  color-scheme: dark;
  --page: #0b1220;
  --card: #0f1729;
  --text: #e5eaf2;
  --muted: #8c96a8;
  --sky: #38bdf8;
  --sky-strong: #0ea5e9;
  --on-sky: #041018;
  --rule: #334155;
  --danger: #f87171;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 16px;
  background: var(--page);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.login { width: 100%; display: grid; place-items: center; }

.login-card {
  width: min(100%, 420px);
  padding: 32px 28px 28px;
  background: var(--card);
  border-top: 2px solid var(--sky);
  border-radius: 2px;
}

h1 {
  margin: 0 0 10px;
  color: var(--sky);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.login-lede { margin: 0 0 22px; color: var(--muted); font-size: 0.9rem; line-height: 1.5; }

.login-wallets { display: grid; gap: 8px; }

.login-wallet {
  width: 100%;
  padding: 11px 14px;
  border: 0;
  border-radius: 2px;
  background: var(--sky);
  color: var(--on-sky);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
}
.login-wallet:hover { background: #7dd3fc; }
.login-wallet:disabled { background: #1e293b; color: #475569; cursor: not-allowed; }
.login-wallet:focus-visible { outline: 2px solid var(--sky); outline-offset: 2px; }

.login-status { min-height: 1.4em; margin: 16px 0 0; color: var(--muted); font-size: 0.82rem; }
.login-status.is-error { color: var(--danger); }
