:root { color-scheme: light dark; }
body { font-family: system-ui, sans-serif; display: flex; justify-content: center;
       align-items: center; min-height: 100vh; margin: 0; background: #f4f4f5; }
@media (prefers-color-scheme: dark) { body { background: #18181b; color: #e4e4e7; } }
.card { background: #fff; border-radius: 10px; padding: 2rem; width: 22rem;
        box-shadow: 0 1px 8px rgba(0,0,0,.08); }
@media (prefers-color-scheme: dark) { .card { background: #27272a; } }
h1 { font-size: 1.2rem; margin-top: 0; }
label { display: block; margin: .8rem 0 .25rem; font-size: .9rem; }
input[type=email], input[type=password] { width: 100%; box-sizing: border-box;
  padding: .5rem; border: 1px solid #d4d4d8; border-radius: 6px; font-size: 1rem; }
.tenant-list { display: grid; gap: .5rem; margin-top: 1rem; }
.tenant-option { display: flex; align-items: center; gap: .6rem; margin: 0; padding: .7rem;
  border: 1px solid #d4d4d8; border-radius: 6px; cursor: pointer; }
.tenant-option input { margin: 0; }
.tenant-option span { display: grid; gap: .15rem; }
.tenant-option small { color: #71717a; }
button { margin-top: 1rem; width: 100%; padding: .6rem; border: 0; border-radius: 6px;
         background: #2563eb; color: #fff; font-size: 1rem; cursor: pointer; }
button.secondary { background: #52525b; }
.error { color: #dc2626; font-size: .9rem; margin: .5rem 0; }
.alt { margin-top: 1rem; font-size: .9rem; text-align: center; }
a { color: #2563eb; }
ul.scopes { padding-left: 1.2rem; }
.provider-btn { display: block; margin-top: .6rem; padding: .6rem; text-align: center;
  border: 1px solid #d4d4d8; border-radius: 6px; text-decoration: none; color: inherit; }
.lang-switcher { text-align: right; font-size: .8rem; margin-bottom: .5rem; }
.lang-switcher a { color: #71717a; text-decoration: none; }
.lang-switcher a.active { color: #2563eb; font-weight: 600; }
.lang-switcher span { color: #d4d4d8; margin: 0 .2rem; }
.hint { font-size: .9rem; line-height: 1.5; }
.hint.spaced { margin: .5rem 0 1rem; }
.code-input { letter-spacing: .2em; font-size: 1.4rem; text-align: center; }
.form-inline { margin-top: .5rem; }
.btn-resend { margin-top: 0; width: auto; padding: .4rem 1rem; font-size: .9rem; }
