/* Login page theme overrides */
:root {
  --brand-primary: #6b7280; /* neutral gray */
  --brand-primary-dark: #4b5563;
  --surface-bg: #f6f7f9;
  --surface-card: #ffffff;
  --surface-muted: #f0f2f5;
  --text-primary: #222;
  --text-muted: #6b7280;
  --focus-ring: rgba(75,85,99,0.35); /* neutral gray focus */
}

.loginBg { background-color: var(--surface-bg); }

.loginWrapper { background: var(--surface-card); box-shadow: 0 6px 24px rgba(0,0,0,0.06); border-radius: 8px; position: relative; z-index: 1; }
.alertBox { position: relative; z-index: 1; }
.loginFormWrapper { padding: 8px 12px; }

.loginTextBox {
  border: 1px solid #d1d5db !important;
  background: #fff !important;
  color: var(--text-primary) !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.loginTextBox::placeholder { color: var(--text-muted); }
.loginTextBox:focus {
  border-color: var(--brand-primary-dark) !important;
  box-shadow: 0 0 0 3px var(--focus-ring) !important;
}

.loginButton {
  background-color: #6b7280 !important; /* slate gray */
  border-color: #4b5563 !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
.loginButton:hover {
  background-color: #4b5563 !important;
}

.loginLogo img { filter: none; }

a { color: #4b5563; }
a:hover { color: #374151; }

/* checkbox refresh */
.checkbox-specific label:before { border-color: #cbd5e1 !important; }
.checkbox-specific-primary input[type="checkbox"]:checked + label::before {
  background-color: #4b5563 !important;
  border-color: #4b5563 !important;
}
.checkbox-specific-primary input[type="checkbox"]:checked + label::after { color: #fff !important; }

/* alert box softening */
.alert.error { background: var(--surface-muted) !important; color: var(--text-primary) !important; border: 1px solid #e5e7eb !important; }
