/* Nur Web-App (ADR-0070): Anmeldeseite. Nicht in der APK (scripts/strip-web-assets.mjs). */
.web-login {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: var(--space-5) var(--space-4);
}
.web-login-card {
  width: 100%;
  max-width: 26rem;
  display: grid;
  gap: var(--space-4);
  padding: var(--space-6) var(--space-5);
}
.web-login-card .pill {
  justify-self: start;
}
.web-login-card h1 {
  margin: 0;
  font-family: var(--font-display);
}
.web-login-card p {
  margin: 0;
}
.web-login-note {
  color: var(--c-muted);
  font-size: var(--type-small-size);
}
.web-callback {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  color: var(--c-muted);
}
.web-login-actions {
  display: grid;
  gap: var(--space-3);
}
.web-login-actions:empty {
  display: none;
}
/* Lernzettel drucken: unsichtbarer Rahmen, gedruckt wird sein Inhalt */
.web-print-frame {
  position: fixed;
  right: 0;
  bottom: 0;
  width: 1px;
  height: 1px;
  border: 0;
  opacity: 0;
  pointer-events: none;
}
/* Seite der Lernwebsite im Rahmen (WA-8) */
.website-page {
  display: grid;
  gap: var(--space-3);
}
.website-bar {
  display: grid;
  gap: var(--space-3);
}
.website-bar-title {
  display: grid;
  gap: var(--space-1);
}
.website-bar-actions,
.website-note-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.website-note {
  display: grid;
  gap: var(--space-2);
}
.website-note-text {
  white-space: pre-wrap;
  margin: 0;
}
.website-frame {
  width: 100%;
  height: calc(100dvh - var(--size-appbar) - var(--size-tabbar) - 12rem);
  min-height: 24rem;
  border: 1px solid var(--c-line);
  border-radius: var(--radius-md);
  background: #fff;
}
/* Kennzeichnung „Testbetrieb“ und Hinweis ohne Verbindung (WA-9) */
.web-test-badge {
  flex: none;
  font-size: var(--type-small-size);
}
.web-offline {
  margin: var(--space-2) auto 0;
  max-width: var(--size-max-content);
  width: calc(100% - 2 * var(--space-4));
}
.web-offline[hidden] {
  display: none;
}
