/* login.jckbn.de -- app-spezifische Layouts. Nur Tokens aus jckbn-ui nutzen,
 * keine festen Farben/Fonts (CD-Wechsel bleibt ein reiner Variablen-Tausch). */

.ui-main {
  max-width: 38rem;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  padding-bottom: calc(2rem + var(--safe-bottom));
}

.ui-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 2rem;
}

.ui-card h2 {
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 1rem;
}

.ui-card p { color: var(--text2); margin-bottom: 1rem; }

.ui-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--touch-min);
  padding: 0 1.25rem;
  background: var(--accent);
  color: var(--bg);
  border: none;
  border-radius: var(--radius);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: .8rem;
  cursor: pointer;
}

.ui-field {
  display: block;
  width: 100%;
  min-height: var(--touch-min);
  padding: 0 .75rem;
  margin-bottom: 1rem;
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  font-family: var(--font-sans);
  font-size: 1rem;
}

.ui-hint { color: var(--text3); font-size: .8rem; }
.ui-ok { color: var(--accent); }
.ui-error {
  color: var(--bg);
  background: var(--accent);
  padding: .5rem .75rem;
  margin-bottom: 1rem;
  font-size: .85rem;
}

form label { display: block; margin-bottom: .25rem; font-size: .85rem; color: var(--text2); }

.ui-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.ui-sub { margin: 1.5rem 0 .5rem; font-weight: 300; text-transform: uppercase; letter-spacing: 1px; font-size: .9rem; border-top: 1px solid var(--border); padding-top: 1rem; }

.ui-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.ui-table th, .ui-table td { text-align: left; padding: .5rem .4rem; border-bottom: 1px solid var(--surface2); }
.ui-table th { color: var(--text3); font-weight: 400; text-transform: uppercase; font-size: .7rem; letter-spacing: 1px; }

.ui-list { list-style: none; margin-bottom: .75rem; }
.ui-list li { display: flex; align-items: center; justify-content: space-between; padding: .35rem 0; border-bottom: 1px solid var(--surface2); }

.ui-inline { display: flex; gap: .5rem; align-items: flex-start; margin-bottom: .5rem; }
.ui-inline .ui-field { margin-bottom: 0; }

.ui-check { display: flex; align-items: center; gap: .5rem; }
.ui-check input { width: auto; min-height: 0; }

.ui-link { background: none; border: none; color: var(--text2); text-decoration: underline; cursor: pointer; font-size: .8rem; padding: 0; }
.ui-danger { background: var(--accent); }
