/* RivoraHost SnappyMail branding */
:root {
  --rh-bg: #0b1220;
  --rh-panel: #111827;
  --rh-accent: #10b981;
  --rh-text: #e5e7eb;
  --rh-muted: #94a3b8;
}

html, body {
  background: radial-gradient(1200px 600px at 20% -10%, #12324a 0%, var(--rh-bg) 55%) !important;
  color: var(--rh-text) !important;
}

#rl-app,
.LoginView,
.loginFormWrapper,
.LoginPlace {
  background: transparent !important;
}

.LoginView .desc,
.LoginView .desc::before {
  content: none !important;
}

/* Login card */
.LoginView .loginForm,
.LoginPlace .loginForm,
form.loginForm {
  background: rgba(17, 24, 39, 0.92) !important;
  border: 1px solid rgba(16, 185, 129, 0.35) !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 50px rgba(0,0,0,.45) !important;
  padding: 28px 24px !important;
}

.LoginView h1,
.LoginView .header,
.LoginPlace h1 {
  color: #fff !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
}

.LoginView input,
.LoginPlace input,
.LoginView select {
  background: #0f172a !important;
  border: 1px solid #334155 !important;
  color: #f8fafc !important;
  border-radius: 10px !important;
}

.LoginView button,
.LoginView .button,
.LoginPlace button,
button[type="submit"] {
  background: var(--rh-accent) !important;
  border-color: var(--rh-accent) !important;
  color: #06281c !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
}

.LoginView a { color: var(--rh-accent) !important; }

/* Top brand line on login */
.LoginView::before {
  content: "RivoraHost";
  display: block;
  text-align: center;
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #fff;
  margin: 48px 0 8px;
  text-shadow: 0 2px 24px rgba(16,185,129,.35);
}

.LoginView::after {
  content: "Mail";
  display: block;
  text-align: center;
  color: var(--rh-muted);
  margin-bottom: 18px;
  font-size: 0.95rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
