/* GOCO theme adapter for the app's own signed-out / error / sign-out pages.
   Tokens from /workspace/contact-app/login-theme/README.md (GOCO Authentik brand, light-locked).
   Assets (logo.svg, goco-wave-dots-v2*.svg, ...) are copied next to this file at build time — all self-hosted (strict CSP). */
:root, html, body { color-scheme: light; }
:root {
  --theme-bg: #f8fafc; --theme-surface: #ffffff; --theme-text: #000000; --theme-muted: #475569;
  --theme-primary: #b91c1c; --theme-primary-hover: #991b1b; --theme-primary-text: #ffffff;
  --theme-link: #1e40af; --theme-border: #cbd5e1; --theme-danger: #b91c1c;
  --theme-radius: 8px; --theme-font: -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --theme-logo: url("logo.svg");
}
body.theme {
  margin: 0; min-height: 100vh; display: grid; place-items: center;
  background: var(--theme-bg) url("goco-wave-dots-v2.svg") center / cover no-repeat;
  color: var(--theme-text); font-family: var(--theme-font);
}
@media (prefers-reduced-motion: reduce) { body.theme { background-image: url("goco-wave-dots-v2-static.svg"); } }
.theme-card { background: var(--theme-surface); border: 1px solid var(--theme-border); border-radius: var(--theme-radius); padding: 2rem; max-width: 26rem; width: 90%; box-shadow: 0 2px 12px rgba(0,0,0,.08); text-align: center; }
.theme-logo { width: 72px; height: 72px; margin: 0 auto 1rem; background: var(--theme-logo) center / contain no-repeat; }
@media (max-width: 640px) { .theme-logo { width: 96px; height: 96px; } }
.theme-btn { display: inline-block; padding: .7rem 1.4rem; border-radius: var(--theme-radius); background: var(--theme-primary); color: var(--theme-primary-text); text-decoration: none; border: 0; font: inherit; cursor: pointer; }
.theme-btn:hover, .theme-btn:focus { background: var(--theme-primary-hover); }
.theme-btn:disabled { opacity: .5; cursor: not-allowed; }
.theme-card a { color: var(--theme-link); }
.theme-muted { color: var(--theme-muted); } .theme-error { color: var(--theme-danger); }
