/**
 * Auth pages - premium island brand (login / register)
 * Dark glass form side. Role accents stay; no chalk white.
 */
body.oj-auth {
  --auth-bg: #05080f;
  --auth-panel: #0a101c;
  --auth-card: #0f1624;
  --auth-ink: #f1f5f9;
  --auth-muted: #94a3b8;
  --auth-faint: #64748b;
  --auth-line: rgba(148, 163, 184, 0.16);
  --auth-sky: #38bdf8;
  --auth-gold: #fbbf24;
  background:
    radial-gradient(900px 480px at 80% -10%, rgba(56, 189, 248, 0.08), transparent 55%),
    radial-gradient(700px 400px at 10% 100%, rgba(251, 191, 36, 0.04), transparent 50%),
    var(--auth-bg) !important;
  color: var(--auth-ink);
  -webkit-font-smoothing: antialiased;
}

/* Left brand column already dark - refine orbs slightly */
body.oj-auth .oj-auth-brand {
  background:
    radial-gradient(ellipse 70% 50% at 80% 0%, rgba(56, 189, 248, 0.12), transparent 55%),
    radial-gradient(ellipse 50% 40% at 10% 90%, rgba(251, 191, 36, 0.07), transparent 50%),
    linear-gradient(165deg, #05080f 0%, #0b1220 45%, #0a1628 100%) !important;
}

/* Logo - same brand asset as main site; sized, not cropped */
body.oj-auth .oj-site-logo,
body.oj-auth .oj-auth-logo,
body.oj-auth .oj-auth-brand-link > img:first-child,
body.oj-auth a[href="/index.php"] > img:first-child {
  height: 2.75rem;
  width: auto;
  max-width: min(14rem, 58vw);
  object-fit: contain;
  object-position: left center;
  border: 0 !important;
  border-radius: 0.35rem;
  box-shadow: none !important;
  filter: none !important;
  padding: 0 !important;
}
@media (min-width: 1024px) {
  body.oj-auth .oj-auth-brand .oj-site-logo,
  body.oj-auth .oj-auth-brand .oj-auth-logo,
  body.oj-auth .oj-auth-brand a[href="/index.php"] > img:first-child {
    height: 3.25rem;
    max-width: 15rem;
  }
}
body.oj-auth .oj-auth-brand-link {
  text-decoration: none;
}

/* Right form panel - was bg-slate-50 white-ish */
body.oj-auth .oj-auth-panel,
body.oj-auth .bg-slate-50 {
  background: var(--auth-panel) !important;
  color: var(--auth-ink) !important;
}

body.oj-auth .text-slate-900,
body.oj-auth h1,
body.oj-auth h2 {
  color: #f8fafc !important;
}
body.oj-auth .text-slate-700,
body.oj-auth .text-slate-600,
body.oj-auth .text-slate-500,
body.oj-auth .text-slate-400 {
  color: var(--auth-muted) !important;
}
body.oj-auth .text-sky-700,
body.oj-auth a.text-sky-700 {
  color: #7dd3fc !important;
}
body.oj-auth .text-red-600 {
  color: #f87171 !important;
}

/* Kill pure white surfaces on auth */
body.oj-auth .bg-white,
body.oj-auth .bg-white\/80 {
  background-color: var(--auth-card) !important;
  background-image: none !important;
  color: var(--auth-ink) !important;
}

/* Role cards */
body.oj-auth .role-card {
  background: var(--auth-card) !important;
  border-color: var(--auth-line) !important;
  color: var(--auth-ink);
}
body.oj-auth .role-card .role-title {
  color: #f1f5f9 !important;
}
body.oj-auth .role-card .role-sub {
  color: var(--auth-muted) !important;
}
body.oj-auth .role-card:hover {
  border-color: rgba(56, 189, 248, 0.35) !important;
}

/* Active role - dark glass + accent ring (not light pastel fills) */
body.oj-auth .role-card.active-customer {
  border-color: rgba(52, 211, 153, 0.55) !important;
  background: linear-gradient(145deg, rgba(16, 185, 129, 0.16), var(--auth-card) 55%) !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.14) !important;
}
body.oj-auth .role-card.active-tradie {
  border-color: rgba(56, 189, 248, 0.55) !important;
  background: linear-gradient(145deg, rgba(14, 165, 233, 0.16), var(--auth-card) 55%) !important;
  box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.14) !important;
}
body.oj-auth .role-card.active-medical {
  border-color: rgba(45, 212, 191, 0.55) !important;
  background: linear-gradient(145deg, rgba(15, 118, 110, 0.2), var(--auth-card) 55%) !important;
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.14) !important;
}
body.oj-auth .role-card.active-legal {
  border-color: rgba(129, 140, 248, 0.55) !important;
  background: linear-gradient(145deg, rgba(79, 70, 229, 0.18), var(--auth-card) 55%) !important;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.14) !important;
}
body.oj-auth .role-card.active-recruitment {
  border-color: rgba(232, 121, 249, 0.5) !important;
  background: linear-gradient(145deg, rgba(192, 38, 211, 0.16), var(--auth-card) 55%) !important;
  box-shadow: 0 0 0 3px rgba(217, 70, 239, 0.12) !important;
}
body.oj-auth .role-card.active-admin {
  border-color: rgba(251, 113, 133, 0.5) !important;
  background: linear-gradient(145deg, rgba(244, 63, 94, 0.14), var(--auth-card) 55%) !important;
  box-shadow: 0 0 0 3px rgba(244, 63, 94, 0.12) !important;
}
body.oj-auth .role-card.active-customer .role-sub { color: #6ee7b7 !important; }
body.oj-auth .role-card.active-tradie .role-sub { color: #7dd3fc !important; }
body.oj-auth .role-card.active-medical .role-sub { color: #5eead4 !important; }
body.oj-auth .role-card.active-legal .role-sub { color: #a5b4fc !important; }
body.oj-auth .role-card.active-recruitment .role-sub { color: #f0abfc !important; }
body.oj-auth .role-card.active-admin .role-sub { color: #fda4af !important; }

/* Soften light icon chips → dark glass */
body.oj-auth .role-icon,
body.oj-auth #auth-form-icon {
  border: 1px solid rgba(148, 163, 184, 0.12);
}
body.oj-auth .bg-emerald-100 { background: rgba(16, 185, 129, 0.15) !important; color: #6ee7b7 !important; }
body.oj-auth .bg-sky-100 { background: rgba(14, 165, 233, 0.15) !important; color: #7dd3fc !important; }
body.oj-auth .bg-teal-100 { background: rgba(20, 184, 166, 0.15) !important; color: #5eead4 !important; }
body.oj-auth .bg-indigo-100 { background: rgba(99, 102, 241, 0.18) !important; color: #a5b4fc !important; }
body.oj-auth .bg-fuchsia-100 { background: rgba(217, 70, 239, 0.15) !important; color: #f0abfc !important; }
body.oj-auth .text-emerald-600,
body.oj-auth .text-emerald-700 { color: #6ee7b7 !important; }
body.oj-auth .text-sky-600,
body.oj-auth .text-sky-700 { color: #7dd3fc !important; }
body.oj-auth .text-teal-700,
body.oj-auth .text-teal-800 { color: #5eead4 !important; }
body.oj-auth .text-indigo-700,
body.oj-auth .text-indigo-800 { color: #a5b4fc !important; }
body.oj-auth .text-fuchsia-700,
body.oj-auth .text-fuchsia-800 { color: #f0abfc !important; }

/* Form cards - dark glass, accent border only */
body.oj-auth #login-form,
body.oj-auth #register-form {
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.03), transparent 40%), var(--auth-card) !important;
  border-color: var(--auth-line) !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25) inset, 0 24px 48px -28px rgba(0, 0, 0, 0.65) !important;
  color: var(--auth-ink);
}
body.oj-auth #login-form.auth-theme-customer,
body.oj-auth #register-form.auth-theme-customer {
  border-color: rgba(52, 211, 153, 0.4) !important;
  background:
    linear-gradient(165deg, rgba(16, 185, 129, 0.1) 0%, transparent 45%),
    var(--auth-card) !important;
  box-shadow: 0 20px 40px -24px rgba(16, 185, 129, 0.25) !important;
}
body.oj-auth #login-form.auth-theme-tradesperson,
body.oj-auth #register-form.auth-theme-tradesperson {
  border-color: rgba(56, 189, 248, 0.4) !important;
  background:
    linear-gradient(165deg, rgba(14, 165, 233, 0.1) 0%, transparent 45%),
    var(--auth-card) !important;
  box-shadow: 0 20px 40px -24px rgba(14, 165, 233, 0.25) !important;
}
body.oj-auth #login-form.auth-theme-medical,
body.oj-auth #register-form.auth-theme-medical {
  border-color: rgba(45, 212, 191, 0.4) !important;
  background:
    linear-gradient(165deg, rgba(15, 118, 110, 0.12) 0%, transparent 45%),
    var(--auth-card) !important;
  box-shadow: 0 20px 40px -24px rgba(20, 184, 166, 0.22) !important;
}
body.oj-auth #login-form.auth-theme-legal,
body.oj-auth #register-form.auth-theme-legal {
  border-color: rgba(129, 140, 248, 0.4) !important;
  background:
    linear-gradient(165deg, rgba(79, 70, 229, 0.12) 0%, transparent 45%),
    var(--auth-card) !important;
  box-shadow: 0 20px 40px -24px rgba(99, 102, 241, 0.22) !important;
}
body.oj-auth #login-form.auth-theme-recruitment,
body.oj-auth #register-form.auth-theme-recruitment {
  border-color: rgba(232, 121, 249, 0.4) !important;
  background:
    linear-gradient(165deg, rgba(192, 38, 211, 0.12) 0%, transparent 45%),
    var(--auth-card) !important;
  box-shadow: 0 20px 40px -24px rgba(217, 70, 239, 0.2) !important;
}
body.oj-auth #login-form.auth-theme-admin {
  border-color: rgba(251, 113, 133, 0.4) !important;
  background:
    linear-gradient(165deg, rgba(244, 63, 94, 0.1) 0%, transparent 45%),
    var(--auth-card) !important;
  box-shadow: 0 20px 40px -24px rgba(244, 63, 94, 0.22) !important;
}

/* Badges */
body.oj-auth .auth-theme-customer .auth-form-badge {
  color: #6ee7b7 !important;
  background: rgba(16, 185, 129, 0.15) !important;
}
body.oj-auth .auth-theme-tradesperson .auth-form-badge {
  color: #7dd3fc !important;
  background: rgba(14, 165, 233, 0.15) !important;
}
body.oj-auth .auth-theme-medical .auth-form-badge {
  color: #5eead4 !important;
  background: rgba(20, 184, 166, 0.15) !important;
}
body.oj-auth .auth-theme-legal .auth-form-badge {
  color: #a5b4fc !important;
  background: rgba(99, 102, 241, 0.18) !important;
}
body.oj-auth .auth-theme-recruitment .auth-form-badge {
  color: #f0abfc !important;
  background: rgba(217, 70, 239, 0.15) !important;
}
body.oj-auth .auth-theme-admin .auth-form-badge {
  color: #fda4af !important;
  background: rgba(244, 63, 94, 0.15) !important;
}

/* Inputs */
body.oj-auth input.auth-focus,
body.oj-auth input[type="email"],
body.oj-auth input[type="password"],
body.oj-auth input[type="text"] {
  background: rgba(7, 11, 20, 0.75) !important;
  border-color: var(--auth-line) !important;
  color: #f8fafc !important;
}
body.oj-auth input.auth-focus::placeholder,
body.oj-auth input::placeholder {
  color: #64748b !important;
}
body.oj-auth label {
  color: #cbd5e1 !important;
}
body.oj-auth .auth-focus:focus {
  outline: none;
}
body.oj-auth .auth-theme-customer .auth-focus:focus {
  border-color: #34d399 !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2) !important;
}
body.oj-auth .auth-theme-tradesperson .auth-focus:focus {
  border-color: #38bdf8 !important;
  box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.2) !important;
}
body.oj-auth .auth-theme-medical .auth-focus:focus {
  border-color: #2dd4bf !important;
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.2) !important;
}
body.oj-auth .auth-theme-legal .auth-focus:focus {
  border-color: #818cf8 !important;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2) !important;
}
body.oj-auth .auth-theme-recruitment .auth-focus:focus {
  border-color: #e879f9 !important;
  box-shadow: 0 0 0 3px rgba(217, 70, 239, 0.2) !important;
}
body.oj-auth .auth-theme-admin .auth-focus:focus {
  border-color: #fb7185 !important;
  box-shadow: 0 0 0 3px rgba(244, 63, 94, 0.2) !important;
}

/* Submit buttons keep role colours; ensure readable */
body.oj-auth #login-btn,
body.oj-auth #submit-btn {
  color: #fff !important;
  font-weight: 800 !important;
  border-radius: 999px !important;
}
/* Customer primary can go gold to match marketing (optional polish) */
body.oj-auth .auth-theme-customer #login-btn,
body.oj-auth .auth-theme-customer #submit-btn {
  background: linear-gradient(135deg, #fde68a, #fbbf24 55%, #f59e0b) !important;
  color: #0b1220 !important;
  box-shadow: 0 12px 28px -12px rgba(251, 191, 36, 0.5) !important;
}
body.oj-auth .auth-theme-customer #login-btn:hover,
body.oj-auth .auth-theme-customer #submit-btn:hover:not(:disabled) {
  filter: brightness(1.05);
  background: linear-gradient(135deg, #fef3c7, #fbbf24) !important;
}

/* Links */
body.oj-auth .auth-theme-customer .auth-link { color: #6ee7b7 !important; }
body.oj-auth .auth-theme-tradesperson .auth-link { color: #7dd3fc !important; }
body.oj-auth .auth-theme-medical .auth-link { color: #5eead4 !important; }
body.oj-auth .auth-theme-legal .auth-link { color: #a5b4fc !important; }
body.oj-auth .auth-theme-recruitment .auth-link { color: #f0abfc !important; }
body.oj-auth .auth-theme-admin .auth-link { color: #fda4af !important; }
body.oj-auth a.font-bold.text-emerald-600,
body.oj-auth #auth-login-link,
body.oj-auth #join-link-mobile {
  color: #7dd3fc !important;
}
body.oj-auth a.font-bold.text-emerald-600:hover,
body.oj-auth #auth-login-link:hover,
body.oj-auth #join-link-mobile:hover {
  color: #e0f2fe !important;
}

/* Plan notes - dark glass */
body.oj-auth #tradie-plan-note > div,
body.oj-auth .bg-sky-50 {
  background: rgba(14, 165, 233, 0.1) !important;
  border-color: rgba(56, 189, 248, 0.25) !important;
  color: #bae6fd !important;
}
body.oj-auth #medical-plan-note > div,
body.oj-auth .bg-teal-50 {
  background: rgba(20, 184, 166, 0.1) !important;
  border-color: rgba(45, 212, 191, 0.25) !important;
  color: #99f6e4 !important;
}
body.oj-auth #legal-plan-note > div,
body.oj-auth .bg-indigo-50 {
  background: rgba(99, 102, 241, 0.12) !important;
  border-color: rgba(129, 140, 248, 0.28) !important;
  color: #c7d2fe !important;
}
body.oj-auth #recruitment-plan-note > div,
body.oj-auth .bg-fuchsia-50 {
  background: rgba(217, 70, 239, 0.1) !important;
  border-color: rgba(232, 121, 249, 0.25) !important;
  color: #f5d0fe !important;
}
body.oj-auth .text-sky-900,
body.oj-auth .text-teal-950,
body.oj-auth .text-indigo-950,
body.oj-auth .text-fuchsia-950 {
  color: #e2e8f0 !important;
}
body.oj-auth .border-sky-100,
body.oj-auth .border-teal-100,
body.oj-auth .border-indigo-100,
body.oj-auth .border-fuchsia-100 {
  border-color: rgba(148, 163, 184, 0.2) !important;
}

/* Banners */
body.oj-auth #access-banner,
body.oj-auth .bg-amber-50 {
  background: rgba(251, 191, 36, 0.1) !important;
  border-color: rgba(251, 191, 36, 0.28) !important;
  color: #fde68a !important;
}
body.oj-auth .text-amber-950 { color: #fde68a !important; }
body.oj-auth #info-banner {
  background: rgba(56, 189, 248, 0.1) !important;
  border-color: rgba(56, 189, 248, 0.25) !important;
  color: #e0f2fe !important;
}

/* Promo field */
body.oj-auth #promo_code,
body.oj-auth .bg-amber-50\/50 {
  background: rgba(251, 191, 36, 0.08) !important;
  border-color: rgba(251, 191, 36, 0.3) !important;
  color: #fde68a !important;
}

/* Password eye */
body.oj-auth #pw-icon,
body.oj-auth button[aria-label] i.fa-eye,
body.oj-auth .text-slate-400.hover\:text-slate-600 {
  color: #94a3b8 !important;
}

/* Footer line under form */
body.oj-auth .text-\[10px\].text-slate-400 {
  color: #475569 !important;
}

/* Offer blurb on register */
body.oj-auth #reg-offer-tag .text-slate-600,
body.oj-auth #reg-offer-tag .text-slate-800 {
  color: #94a3b8 !important;
}
body.oj-auth #reg-offer-tag strong {
  color: #f8fafc !important;
}

/* Mobile safe */
@media (max-width: 639px) {
  body.oj-auth .oj-auth-panel {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}
