/* CalcGPT dark brand for Listmonk PUBLIC pages (optin/confirm, subscription,
 * unsubscribe, message, archive). Applied via the `appearance.public.custom_css`
 * setting (settings table, listmonk DB) — NOT a static-dir file, because
 * Listmonk injects this string into every public page head. Re-apply with:
 *   docker exec -i cgpt-postgres psql -U cgpt_app -d listmonk  (see README)
 *   then restart cgpt-listmonk.
 * Mirrors the email branding (emailLayout.mjs / base.html): #0a0a0f bg,
 * #12121a card, #ececf1 text, gradient wordmark, #8b5cf6 accent. */

html, body {
  background: #0a0a0f !important;
  color: #ececf1 !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, sans-serif !important;
}
a { color: #8b5cf6 !important; text-decoration-color: rgba(139,92,246,0.4) !important; }
a:hover { color: #a78bfa !important; }
label { color: #b4b4c8 !important; }
h1, h2, h3, h4 { color: #ececf1 !important; font-weight: 600 !important; }

.container { max-width: 520px !important; }
.wrap {
  background: #12121a !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
.header {
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  text-align: center !important;
}
/* Replace the stock Listmonk logo with the CalcGPT gradient wordmark. */
.header .logo img { display: none !important; }
.header .logo a {
  display: inline-block !important;
  text-decoration: none !important;
}
.header .logo a::after {
  content: "CalcGPT";
  font-size: 24px;
  font-weight: 700;
  background: linear-gradient(135deg, #8b5cf6, #6366f1, #3b82f6);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

input[type="text"], input[type="email"], input[type="password"], select {
  background: #0a0a0f !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #ececf1 !important;
  box-shadow: none !important;
}
input:focus, select:focus { border-color: #8b5cf6 !important; }
input::placeholder { color: #6b6b80 !important; }

.button {
  background: linear-gradient(135deg, #8b5cf6, #6366f1) !important;
  color: #fff !important;
  border-radius: 10px !important;
  border: 0 !important;
}
.button:hover { background: #6366f1 !important; color: #fff !important; }
.button.button-outline {
  background: transparent !important;
  border: 1px solid #8b5cf6 !important;
  color: #8b5cf6 !important;
}
.button.button-outline:hover { background: #8b5cf6 !important; color: #fff !important; }

.lists { list-style: none; padding: 0; }
.lists .description { color: #8a8a9e !important; }
.unsub-all { border-top: 1px solid rgba(255,255,255,0.08) !important; }
.error { color: #f87171 !important; }

footer.container, footer.container a { color: #6b6b80 !important; }
footer.container a:hover { color: #a78bfa !important; }
