/* ═══════════════════════════════════════════════════════
   ENSIDEX Theme · Full DocuSeal Override
   Navy #001539 + Cyan #05B6FA · matches ensidex.com
   ═══════════════════════════════════════════════════════ */

:root, [data-theme="docuseal"], html, body {
  --en-navy:        #001539;
  --en-navy-deep:   #000A1F;
  --en-navy-soft:   #0E1A2E;
  --en-cyan:        #05B6FA;
  --en-cyan-soft:   #38C5FB;
  --en-white:       #FFFFFF;
  --en-cream:       #F6F8FB;
  --en-gold:        #D4A76A;
  --en-tm:          #3F4856;
  --en-tl:          #6B7280;
  --en-bdr:         rgba(255,255,255,0.12);
  --en-bg:          #001539;

  /* Override DaisyUI vars */
  --p:  202 96% 50%;          /* primary = cyan */
  --pc: 220 100% 11%;         /* primary content */
  --s:  220 100% 11%;         /* secondary = navy */
  --sc: 0 0% 100%;
  --a:  202 96% 50%;          /* accent = cyan */
  --ac: 220 100% 11%;
  --n:  220 100% 11%;
  --nc: 0 0% 100%;
  --b1: 220 100% 11%;         /* base-100 = navy */
  --b2: 220 100% 9%;
  --b3: 220 100% 7%;
  --bc: 0 0% 100%;            /* base content = white */
}

/* Body + main background */
html, body {
  background-color: var(--en-navy) !important;
  background-image:
    radial-gradient(ellipse at 20% 80%, rgba(5,182,250,0.08) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 20%, rgba(212,167,106,0.05) 0%, transparent 50%);
  color: var(--en-white) !important;
  font-family: 'Plus Jakarta Sans', 'Inter', -apple-system, system-ui, sans-serif !important;
}

/* Cards / panels — slightly lighter navy */
.bg-base-100, .bg-white, [class*="bg-white"]:not(.bg-white\/0) {
  background-color: var(--en-navy-soft) !important;
  color: var(--en-white) !important;
}

/* Borders */
.border, .border-base-200, .border-base-300, [class*="border-gray"] {
  border-color: var(--en-bdr) !important;
}

/* Headings + body text */
h1, h2, h3, h4, h5, h6, .text-base-content, .text-gray-800, .text-gray-900, .text-black {
  color: var(--en-white) !important;
}
.text-gray-500, .text-gray-600, .text-gray-700 {
  color: rgba(255,255,255,0.7) !important;
}
.text-gray-400 {
  color: rgba(255,255,255,0.5) !important;
}

/* Inputs */
input[type="text"], input[type="email"], input[type="password"], input[type="number"],
input[type="tel"], input[type="url"], input[type="search"], textarea, select,
.input, .input-bordered, .textarea, .select {
  background-color: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.18) !important;
  color: var(--en-white) !important;
}
input::placeholder, textarea::placeholder { color: rgba(255,255,255,0.4) !important; }

/* Buttons — Primary = cyan */
.btn, .base-button {
  border-radius: 9999px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  transition: all 0.2s ease !important;
}
.btn-primary, .base-button, button[type="submit"]:not(.btn-ghost):not(.btn-secondary) {
  background-color: var(--en-cyan) !important;
  border-color: var(--en-cyan) !important;
  color: var(--en-navy) !important;
}
.btn-primary:hover, .base-button:hover {
  background-color: var(--en-cyan-soft) !important;
  border-color: var(--en-cyan-soft) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(5,182,250,0.35) !important;
}
.btn-secondary, .btn-outline {
  background-color: transparent !important;
  border: 2px solid var(--en-cyan) !important;
  color: var(--en-cyan) !important;
}
.btn-ghost {
  color: var(--en-white) !important;
}
.btn-ghost:hover {
  background-color: rgba(255,255,255,0.08) !important;
}

/* Links */
a, .link {
  color: var(--en-cyan) !important;
}
a:hover, .link:hover {
  color: var(--en-cyan-soft) !important;
}

/* Top navbar / settings sidebar */
.navbar, .menu, nav {
  background-color: var(--en-navy-deep) !important;
  border-bottom-color: var(--en-bdr) !important;
}

/* Settings sidebar (left nav) */
.menu li > a, .menu li > .menu-item {
  color: rgba(255,255,255,0.75) !important;
}
.menu li > a:hover, .menu li > .menu-item:hover {
  background-color: rgba(255,255,255,0.06) !important;
  color: var(--en-white) !important;
}
.menu li > a.active, .menu li > .menu-item.active {
  background-color: rgba(5,182,250,0.15) !important;
  color: var(--en-cyan) !important;
}

/* Tables */
table, .table {
  background-color: var(--en-navy-soft) !important;
  color: var(--en-white) !important;
}
.table thead th {
  background-color: var(--en-navy-deep) !important;
  color: rgba(255,255,255,0.85) !important;
  border-bottom-color: var(--en-bdr) !important;
}
.table tbody tr {
  border-bottom-color: var(--en-bdr) !important;
}

/* Badges / pills */
.badge {
  border-color: var(--en-bdr) !important;
}
.badge-success { background-color: rgba(5,182,250,0.18) !important; color: var(--en-cyan) !important; }

/* Modals */
.modal-box {
  background-color: var(--en-navy-soft) !important;
  color: var(--en-white) !important;
  border: 1px solid var(--en-bdr) !important;
}

/* Dropzone / upload area */
.upload-zone, [class*="border-dashed"] {
  background-color: rgba(255,255,255,0.04) !important;
  border-color: rgba(5,182,250,0.4) !important;
  color: rgba(255,255,255,0.85) !important;
}

/* Right sidebar (template editor field palette) */
.template-builder-sidebar, .builder-sidebar {
  background-color: var(--en-navy-deep) !important;
}

/* Field type buttons in template editor */
.field-type-button, [class*="field-type"] {
  background-color: var(--en-navy-soft) !important;
  border: 1px solid var(--en-bdr) !important;
  color: var(--en-white) !important;
}
.field-type-button:hover { border-color: var(--en-cyan) !important; }

/* Toggle switches */
.toggle:checked { background-color: var(--en-cyan) !important; border-color: var(--en-cyan) !important; }

/* Checkboxes & radios */
.checkbox:checked, .radio:checked { background-color: var(--en-cyan) !important; border-color: var(--en-cyan) !important; }

/* Code blocks */
code, pre, .mono { font-family: 'JetBrains Mono', 'Menlo', monospace !important; }

/* Footer / attribution */
footer, .footer { background-color: var(--en-navy-deep) !important; color: rgba(255,255,255,0.6) !important; }

/* Logo container — bigger */
header img[src*="logo"], .navbar-brand img, [class*="logo"]:not(.upload-zone) {
  filter: none !important;
  max-height: 40px !important;
  width: auto !important;
}

/* Hide DocuSeal PRO attribution badges if any leak through */
[class*="powered-by"], [class*="docuseal-attribution"], a[href*="docuseal.com"] {
  display: none !important;
}

/* Signing page (what client sees) */
.submission-form, .submitter-form {
  background-color: var(--en-navy) !important;
  color: var(--en-white) !important;
}
.signature-pad, .signature-area {
  background-color: rgba(255,255,255,0.95) !important;
}

/* Sign-in / Sign-up forms */
.auth-card, .login-card, [class*="sign-in"] {
  background-color: var(--en-navy-soft) !important;
  border: 1px solid var(--en-bdr) !important;
  border-radius: 16px !important;
  box-shadow: 0 24px 60px rgba(0,0,0,0.4) !important;
}

/* Override the cream/light backgrounds Tailwind compiles in */
.bg-cream, .bg-warm, .bg-base-200, .bg-base-300, .bg-orange-50 {
  background-color: var(--en-navy-soft) !important;
}

/* DocuSeal default theme color #faf7f5 → navy */
[style*="#faf7f5"], [style*="#FAF7F5"] {
  background-color: var(--en-navy) !important;
}

/* === Additional mobile/form refinements === */
.flex-col input, input.input-bordered, .px-3.py-2 input {
  background-color: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.15) !important;
  color: var(--en-white) !important;
  border-radius: 9999px !important;
}

/* Form labels (Name, Email, Phone) */
label, .label, .label-text {
  color: rgba(255,255,255,0.85) !important;
  font-weight: 600 !important;
}

/* Cards in forms (the SARH offer card) */
.bg-base-200, [class*="bg-gray-50"], [class*="bg-gray-100"] {
  background-color: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
}

/* Headings on signing page */
.start_form h1, .start_form h2, h2.text-2xl, h2.text-xl {
  color: var(--en-white) !important;
}

/* The "You have been invited..." text */
.text-center.font-medium, .text-center.text-base, .text-center.text-lg {
  color: var(--en-white) !important;
}

/* SARH icon container */
.bg-orange-100, .bg-amber-100 {
  background: linear-gradient(135deg, rgba(5,182,250,0.2), rgba(5,182,250,0.05)) !important;
  border: 1px solid rgba(5,182,250,0.3) !important;
  color: var(--en-cyan) !important;
}

/* Error pages — apply same theme */
body.errors, body[data-controller*="error"] {
  background-color: var(--en-navy) !important;
  color: var(--en-white) !important;
}

/* 404 / status code text */
.text-9xl, .text-8xl {
  background: linear-gradient(135deg, var(--en-cyan), #38C5FB);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
