/* Login gate: first stylesheet on every page, so it also fixes the layer order. */
@layer reset, legacy, features, ds, overrides;
@layer reset {
html.auth-pending body > :not(.auth-gate) { display: none !important; }
.auth-gate { display: none; }
html.auth-pending.auth-failed .auth-gate {
  display: grid; gap: 16px; max-width: 420px; margin: 15vh auto;
  padding: 24px; font: 16px/1.5 system-ui, sans-serif;
}
.auth-gate a { color: inherit; }
}
/* Impressum/Datenschutz (§ 5 DDG, Art. 13 DSGVO): auf Anmeldeschranke und in jeder App erreichbar. */
@layer reset {
.legal-links { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 0.85rem; padding: 12px 16px; opacity: 0.85; }
.legal-links a { color: inherit; text-decoration: underline; }
.auth-gate .legal-links { padding: 8px 0 0; }
}
