/* The login gate. Its own sheet: it is a separate screen from the app shell and shares
   only the design tokens in app.css. */

/* ───────────── login ───────────── */
.login { display: flex; min-height: 100vh; align-items: center; justify-content: center; padding: 24px; }
.login-card { width: 100%; max-width: 380px; text-align: center; }
.login h1 { font-family: var(--font); letter-spacing: .28em; font-size: 22px; }
.sub { margin: 6px 0 30px; color: var(--teal); font-family: var(--font); letter-spacing: .3em; font-size: 11px; }
.footnote { margin-top: 26px; color: var(--faint); font-size: 12px; }
.err { color: var(--red); font-size: 13px; margin-top: 12px; }

.field { display: block; text-align: left; margin-bottom: 14px; }
.field > span { display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--dim); margin-bottom: 6px; }
input, textarea, select {
  width: 100%; padding: 12px 13px; font: inherit; color: var(--fg);
  background: var(--panel); border: 1px solid var(--line); border-radius: var(--r);
}
textarea { resize: vertical; font-family: var(--sans); }
input:focus, textarea:focus { outline: 2px solid var(--accent); outline-offset: -1px; }

button { font: inherit; cursor: pointer; }
.primary {
  width: 100%; padding: 13px; border: 0; border-radius: var(--r);
  background: var(--accent); color: var(--accent-ink); font-weight: 700; letter-spacing: .1em;
}
.primary.compact { width: auto; padding: 9px 20px; }
.primary:disabled { opacity: .5; cursor: default; }

