/* ========================================================================
   DealCentral unified interface
   Loaded last on every page. This is the single visual contract for the
   public site, dashboards and legacy server-rendered pages.
   ======================================================================== */

:root {
  --dc-page: #f6f8fc;
  --dc-surface: #ffffff;
  --dc-surface-muted: #f0f5ff;
  --dc-ink: #10213d;
  --dc-text: #1d2b42;
  --dc-text-soft: #53647d;
  --dc-text-mute: #718198;
  --dc-rule: #dbe4f0;
  --dc-rule-strong: #b8c9df;
  --dc-brand: #1769d2;
  --dc-brand-hover: #0d52ad;
  --dc-brand-soft: #eaf2ff;
  --dc-signal: #e97820;
  --dc-signal-deep: #c85d10;
  --dc-success: #16805d;
  --dc-danger: #c43f4b;
  --dc-shadow: 0 10px 28px rgba(16, 33, 61, .08);
  --dc-shadow-raised: 0 16px 38px rgba(16, 33, 61, .13);
  --font-header: Archivo, Inter, ui-sans-serif, system-ui, sans-serif;
  --font-body: "Source Sans 3", Inter, ui-sans-serif, system-ui, sans-serif;
}

html { background: var(--dc-page) !important; }
body, .frontend-body, .app-container {
  min-height: 100%;
  background: var(--dc-page) !important;
  color: var(--dc-text) !important;
  font-family: var(--font-body) !important;
  -webkit-font-smoothing: antialiased;
}

/* Acquisition-only public rollout ---------------------------------------
   The disposition implementation is retained in source for a later launch,
   but no visitor can select, navigate to, or create that workspace today. */
#auth-group-role,
a[href="dispositions.php"],
a[href="post-deal.php"],
a[href$="#wizard"],
a[href$="#submit-property"],
button[onclick*="dispositions.php"],
button[onclick*="post-deal.php"],
#dc-panel-dispo,
.dispo-form-section,
#wizard-view,
#leadbuilder-view { display: none !important; }

main, .main-content, .page-v2, .view-panel {
  background: var(--dc-page) !important;
  color: var(--dc-text) !important;
}
/* The shared header is sticky but remains in document flow. Legacy templates
   added a second header-height margin, leaving a conspicuous blank band. */
.frontend-body .main-content { margin-top: 0 !important; }

/* Type and layout -------------------------------------------------------- */
h1, h2, h3, h4, h5, h6, .brand strong, .brand-main {
  color: var(--dc-ink) !important;
  font-family: var(--font-header) !important;
  letter-spacing: -.025em;
}
h1 { line-height: 1.08 !important; }
h2 { line-height: 1.16 !important; }
p, li, dd { color: var(--dc-text-soft); }
a { color: var(--dc-brand); }
a:hover { color: var(--dc-brand-hover); }
.container, .container-v2 { width: min(1200px, calc(100% - 40px)); padding-inline: 0 !important; }

/* Keep the document as the scrolling container so navigation remains sticky.
   Unlike hidden, clip does not create a separate scrolling ancestor. */
html:has(body.frontend-body),
body.frontend-body,
body.frontend-body > .app-container {
  overflow-x: clip !important;
  overflow-y: visible !important;
}
body.frontend-body #main-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  flex-shrink: 0;
}

/* Navigation ------------------------------------------------------------- */
.header, #main-header, .nav, .navbar-v2 {
  background: rgba(255, 255, 255, .96) !important;
  border-bottom: 1px solid var(--dc-rule) !important;
  box-shadow: 0 4px 18px rgba(16, 33, 61, .06) !important;
}
.topbar, .desk-header, .admin-header, .wizard-nav {
  background: rgba(255, 255, 255, .97) !important;
  color: var(--dc-ink) !important;
  border-bottom: 1px solid var(--dc-rule) !important;
  box-shadow: 0 4px 18px rgba(16, 33, 61, .06) !important;
}
.topbar :is(a, span, strong), .desk-header :is(a, span, strong),
.admin-header :is(a, span, strong), .wizard-nav :is(a, span, strong) {
  color: var(--dc-text-soft) !important;
}
.topbar a:hover, .desk-header a:hover, .admin-header a:hover, .wizard-nav a:hover {
  color: var(--dc-brand) !important;
}
.header .nav-link, .nav-link, .nav-links a, .navbar-v2 .nav-link {
  color: var(--dc-text-soft) !important;
}
.header .nav-link:hover, .header .nav-link.active,
.nav-link:hover, .nav-link.active, .nav-links a:hover, .nav-links a.active,
.navbar-v2 .nav-link:hover, .navbar-v2 .nav-link.active {
  background: var(--dc-brand-soft) !important;
  color: var(--dc-brand) !important;
}
.brand, .brand strong, .brand-main, .navbar-v2 .logo-text { color: var(--dc-ink) !important; }
.brand-tagline, .nav .brand small { color: var(--dc-text-mute) !important; }

/* Controls ---------------------------------------------------------------- */
.btn, button, input, select, textarea, .form-control, .input, .input-v2 {
  font-family: var(--font-body) !important;
}
.btn-primary, .btn.btn-primary, .btn-v2-primary, .nav-auth-btn {
  background: var(--dc-brand) !important;
  border-color: var(--dc-brand) !important;
  box-shadow: 0 7px 16px rgba(23, 105, 210, .22) !important;
  color: #fff !important;
}
.btn-primary:hover, .btn.btn-primary:hover, .btn-v2-primary:hover, .nav-auth-btn:hover {
  background: var(--dc-brand-hover) !important;
  border-color: var(--dc-brand-hover) !important;
  box-shadow: 0 9px 20px rgba(23, 105, 210, .28) !important;
  transform: translateY(-1px) !important;
}
.btn-accent, .btn.btn-accent, .nav-cta, .nav-links a.nav-cta {
  background: var(--dc-signal) !important;
  border-color: var(--dc-signal) !important;
  color: #fff !important;
}
.btn-accent:hover, .btn.btn-accent:hover, .nav-cta:hover, .nav-links a.nav-cta:hover {
  background: var(--dc-signal-deep) !important;
  border-color: var(--dc-signal-deep) !important;
}
.btn-secondary, .btn-outline, .btn-v2-secondary {
  background: var(--dc-surface) !important;
  color: var(--dc-brand) !important;
  border-color: var(--dc-rule-strong) !important;
}
input, select, textarea, .form-control, .input, .input-v2 {
  background: var(--dc-surface) !important;
  color: var(--dc-text) !important;
  border: 1px solid var(--dc-rule-strong) !important;
  border-radius: 8px !important;
}
input::placeholder, textarea::placeholder { color: var(--dc-text-mute) !important; }
input:focus, select:focus, textarea:focus, .form-control:focus, .input:focus {
  border-color: var(--dc-brand) !important;
  box-shadow: 0 0 0 3px rgba(23, 105, 210, .16) !important;
}
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid rgba(23, 105, 210, .35) !important;
  outline-offset: 2px;
}

/* Surfaces --------------------------------------------------------------- */
.card, .panel, .card-v2, .pricing-card, .admin-card, .modal-content,
.modal-card, .modal-box, .dc-modal, .glass-card, .dashboard-card {
  background: var(--dc-surface) !important;
  color: var(--dc-text) !important;
  border: 1px solid var(--dc-rule) !important;
  box-shadow: var(--dc-shadow) !important;
}
.wizard-card, .onboarding-shell, .admin-shell, .dashboard-shell,
.dashboard-content, .wrap {
  color: var(--dc-text) !important;
}
.wizard-card {
  background: var(--dc-surface) !important;
  border-color: var(--dc-rule) !important;
  box-shadow: var(--dc-shadow-raised) !important;
}
.onboarding-shell > :is(.card, .panel, section, form),
.admin-shell > :is(.card, .panel, section),
.dashboard-content > :is(.card, .panel, section) {
  border-color: var(--dc-rule) !important;
}
.card:hover, .card-v2:hover, .pricing-card:hover, .admin-card:hover {
  border-color: var(--dc-rule-strong) !important;
  box-shadow: var(--dc-shadow-raised) !important;
}
table { background: var(--dc-surface); border-color: var(--dc-rule); }
th { background: var(--dc-surface-muted) !important; color: var(--dc-text-soft) !important; }
td { border-color: var(--dc-rule) !important; color: var(--dc-text) !important; }
tbody tr:hover { background: #f8fbff !important; }

/* Legacy marketing pages use inline dark-card colors. Make their content
   match the shared light surface without changing page markup. */
.main-content div[style*="background: #0B1928" i],
.main-content div[style*="background:#0B1928" i],
.main-content div[style*="background: #132A40" i],
.main-content div[style*="background:#132A40" i],
.main-content div[style*="background: #081B2D" i],
.main-content div[style*="background:#081B2D" i] {
  background: var(--dc-surface) !important;
  border-color: var(--dc-rule) !important;
  box-shadow: var(--dc-shadow) !important;
}
.main-content div[style*="background: #0B1928" i] :is(h1,h2,h3,h4,h5,h6),
.main-content div[style*="background:#0B1928" i] :is(h1,h2,h3,h4,h5,h6),
.main-content div[style*="background: #132A40" i] :is(h1,h2,h3,h4,h5,h6),
.main-content div[style*="background:#132A40" i] :is(h1,h2,h3,h4,h5,h6),
.main-content div[style*="background: #081B2D" i] :is(h1,h2,h3,h4,h5,h6) { color: var(--dc-ink) !important; }
.main-content div[style*="background: #0B1928" i] :is(p,label,small,strong),
.main-content div[style*="background:#0B1928" i] :is(p,label,small,strong),
.main-content div[style*="background: #132A40" i] :is(p,label,small,strong),
.main-content div[style*="background:#132A40" i] :is(p,label,small,strong),
.main-content div[style*="background: #081B2D" i] :is(p,label,small,strong) { color: var(--dc-text-soft) !important; }

/* Convert legacy dark CTA bands into the same calm blue callout treatment. */
.main-content div[style*="#0F2D4A" i], .main-content div[style*="#0F2D52" i] {
  background: linear-gradient(135deg, #eaf2ff, #f8fbff) !important;
  border: 1px solid #c9daf3 !important;
  box-shadow: var(--dc-shadow) !important;
}
.main-content div[style*="#0F2D4A" i] :is(h1,h2,h3,h4,h5,h6),
.main-content div[style*="#0F2D52" i] :is(h1,h2,h3,h4,h5,h6) { color: var(--dc-ink) !important; }
.main-content div[style*="#0F2D4A" i] :is(p,small,strong),
.main-content div[style*="#0F2D52" i] :is(p,small,strong) { color: var(--dc-text-soft) !important; }

/* Preserve intentional dark hero bands while keeping their text legible. */
.main-content section[style*="radial-gradient" i], .hero, .split-hero-section {
  color: #fff;
}
.main-content section[style*="radial-gradient" i] :is(h1,h2,h3),
.hero :is(h1,h2,h3), .split-hero-section :is(h1,h2,h3) { color: #fff !important; }
.main-content section[style*="radial-gradient" i] p, .hero p, .split-hero-section p { color: rgba(255,255,255,.78) !important; }

/* The homepage workflow and metrics sections are intentional dark anchors. */
.dc-metrics, .dc-switch { color: rgba(255,255,255,.78) !important; }
.dc-metrics :is(h1,h2,h3,h4), .dc-switch :is(h1,h2,h3,h4) { color: #fff !important; }
.dc-metrics :is(p,li), .dc-switch :is(p,li) { color: rgba(255,255,255,.72) !important; }
.dc-switch-tab { color: rgba(255,255,255,.76) !important; }
.dc-switch-tab[aria-selected="true"] { color: var(--dc-ink) !important; }
.dc-switch-link { color: rgba(255,255,255,.78) !important; }
.dc-switch-link:hover { color: #fff !important; }

/* Footer and responsive rhythm ------------------------------------------ */
.footer.is-dark, .site-footer.is-dark {
  background: var(--dc-ink) !important;
  color: rgba(255,255,255,.72) !important;
  border-color: rgba(255,255,255,.12) !important;
}
.footer.is-dark :is(h1,h2,h3,h4,h5,h6), .site-footer.is-dark :is(h1,h2,h3,h4,h5,h6) { color: #fff !important; }
.footer.is-dark p, .footer.is-dark a, .site-footer.is-dark p, .site-footer.is-dark a { color: rgba(255,255,255,.72) !important; }
.footer.is-dark a:hover, .site-footer.is-dark a:hover { color: #fff !important; }

footer[style*="background"] p,
footer[style*="background"] a,
footer[style*="background"] span,
footer[style*="background"] div,
footer[style*="background"] li {
  background-color: #FFFFFF !important;
  color: #0F172A !important;
}

/* Legal pages have deliberately quiet, readable document styling. */
.content-wrapper {
  width: min(860px, calc(100% - 40px));
  margin: 40px auto 72px;
  padding: clamp(24px, 5vw, 56px);
  background: var(--dc-surface);
  border: 1px solid var(--dc-rule);
  border-radius: 14px;
  box-shadow: var(--dc-shadow);
}
.content-wrapper :is(h1,h2,h3) { margin-top: 1.5em; }
.content-wrapper h1 { margin-top: 0; }
.content-wrapper p, .content-wrapper li { max-width: 75ch; }

@media (max-width: 700px) {
  .container, .container-v2 { width: min(100% - 32px, 1200px); }
  h1 { font-size: clamp(2rem, 10vw, 3rem) !important; }
  .header, .nav, .navbar-v2 { min-height: 64px !important; }
  .card, .panel, .pricing-card, .admin-card { border-radius: 12px !important; }
  .topbar, .desk-header, .admin-header, .wizard-nav { padding-inline: 16px !important; }
  .wizard-card { padding: 22px !important; }
  main:has(#offer-amount) > .container > div[style*="grid-template-columns: 1.4fr" i] {
    grid-template-columns: 1fr !important;
  }
}

/* ------------------------------------------------------------------------
   DealCentral workspace refinement

   These rules sit at the end of the shared stylesheet intentionally. Older
   templates contain page-specific inline colours; the visual language below
   normalises those pages without changing their HTML, routes, or behaviour.
   ------------------------------------------------------------------------ */

/* A little more structure on application screens, while marketing pages
   retain their generous editorial layout. */
.dashboard-shell, .admin-shell, .onboarding-shell, .wizard-shell,
.dashboard-content, .page-v2, .view-panel {
  background:
    radial-gradient(circle at 88% 0, rgba(23, 105, 210, .075), transparent 28rem),
    var(--dc-page) !important;
}
.dashboard-shell, .admin-shell, .onboarding-shell, .wizard-shell { min-height: 100vh; }

/* Shared application heading and information cards. The class alternatives
   cover the current public, user dashboard, onboarding and admin templates. */
:is(.page-header, .dashboard-header, .admin-page-header, .section-header, .panel-header) {
  border-color: var(--dc-rule) !important;
}
:is(.page-subtitle, .subtitle, .helper-text, .form-help, .muted, .text-muted) {
  color: var(--dc-text-soft) !important;
}
:is(.stat-card, .metric-card, .summary-card, .info-card, .setting-card, .support-card,
    .invoice-card, .subscription-card, .lead-card, .deal-card, .disposition-card) {
  background: var(--dc-surface) !important;
  color: var(--dc-text) !important;
  border: 1px solid var(--dc-rule) !important;
  box-shadow: var(--dc-shadow) !important;
}
:is(.stat-card, .metric-card, .summary-card, .info-card, .setting-card, .support-card,
    .invoice-card, .subscription-card, .lead-card, .deal-card, .disposition-card):hover {
  border-color: #9ebae1 !important;
  box-shadow: var(--dc-shadow-raised) !important;
}

/* Consistent compact status language across tables and cards. */
:is(.badge, .status-badge, .tag, .chip, .pill) {
  border-radius: 999px !important;
  font-weight: 700 !important;
  letter-spacing: .01em;
}
:is(.notice, .alert, .info-banner, .callout) {
  border-color: #bdd2ee !important;
  background: #f2f7ff !important;
  color: var(--dc-text) !important;
}

/* Tables are easier to scan with an anchored header and roomy rows. */
table :is(th, td) { vertical-align: middle; }
table th { font-size: .74rem; letter-spacing: .055em; text-transform: uppercase; }
table td { padding-top: .8rem; padding-bottom: .8rem; }

/* Acquisition hub ------------------------------------------------------- */
.acq-page-hero {
  margin-top: 0 !important;
  padding: clamp(32px, 5vw, 50px) 24px clamp(28px, 4vw, 38px) !important;
  background:
    radial-gradient(circle at 50% -35%, rgba(23, 105, 210, .16), transparent 38rem),
    linear-gradient(180deg, #f3f8ff 0%, #fff 100%) !important;
  border-bottom: 1px solid var(--dc-rule) !important;
}
.acq-page-hero .eyebrow {
  background: var(--dc-brand-soft) !important;
  border-color: #9bbce8 !important;
  color: var(--dc-brand) !important;
}
.acq-page-hero p { color: var(--dc-text-soft) !important; }
.acq-section-panel .section { padding-top: 28px !important; }
.acq-filter-hub {
  background: var(--dc-surface) !important;
  border: 1px solid var(--dc-rule) !important;
  border-radius: 16px !important;
  box-shadow: var(--dc-shadow) !important;
}
.acq-filter-hub :is(input, select) { min-height: 40px; }
.acq-filter-hub [style*="border-right"] { border-color: var(--dc-rule) !important; }
.acq-subnav-btn {
  border-color: var(--dc-rule-strong) !important;
  color: var(--dc-text-soft) !important;
}
.acq-subnav-btn:hover { color: var(--dc-brand) !important; }
.acq-subnav-btn.active {
  background: var(--dc-brand) !important;
  border-color: var(--dc-brand) !important;
  box-shadow: 0 7px 16px rgba(23, 105, 210, .22) !important;
}

/* Lead rows: the legacy inline template used white copy, which disappears
   against its current white cards. These targeted rules restore the intended
   hierarchy while preserving the green list-type and verification badges. */
.acq-list-item {
  border-color: var(--dc-rule) !important;
  box-shadow: 0 5px 18px rgba(16, 33, 61, .055) !important;
}
.acq-list-item:hover {
  border-color: #78a2dc !important;
  box-shadow: 0 12px 28px rgba(23, 105, 210, .13) !important;
}
.acq-list-item > div:nth-child(1) > strong,
.acq-list-item > div:nth-child(1) > div > span,
.acq-list-item > div:nth-child(2) > div,
.acq-list-item > div:nth-child(2) > div > strong,
.acq-list-item > div:nth-child(3) > div:first-of-type {
  color: var(--dc-ink) !important;
}
.acq-list-item > div:nth-child(1) > div,
.acq-list-item > div:nth-child(2) > div > span,
.acq-list-item > div:nth-child(3) > div:nth-of-type(2),
.acq-list-item > div:nth-child(4) > span:last-child {
  color: var(--dc-text-soft) !important;
}
.acq-list-item .acq-col-label { color: var(--dc-brand) !important; }
.acq-list-item > div:nth-child(4) > span:first-child {
  background: var(--dc-brand-soft) !important;
  border-color: #9bbce8 !important;
  color: var(--dc-brand) !important;
}
.acq-gate-banner {
  background: linear-gradient(135deg, #f4f8ff, #fff) !important;
  border-color: #8eb2e4 !important;
  box-shadow: var(--dc-shadow) !important;
}
.acq-gate-banner :is(h1, h2, h3) { color: var(--dc-ink) !important; }
.acq-gate-banner p { color: var(--dc-text-soft) !important; }
.acq-modal-box { color: var(--dc-text) !important; border-color: var(--dc-rule) !important; }
.acq-modal-body :is(p, span, div) { color: inherit; }

/* Pagination and blank/error states follow the same calm card system. */
#acq-pagination :is(button, a) {
  background: var(--dc-surface) !important;
  border-color: var(--dc-rule-strong) !important;
  color: var(--dc-brand) !important;
}
#acq-pagination :is(button, a):hover {
  background: var(--dc-brand-soft) !important;
  border-color: var(--dc-brand) !important;
}

@media (max-width: 900px) {
  .acq-filter-hub > div:first-child { grid-template-columns: 1fr !important; }
  .acq-filter-hub [style*="grid-template-columns:1fr 1fr"] { grid-template-columns: 1fr !important; }
  .acq-filter-hub [style*="border-right"] {
    border-right: 0 !important;
    border-bottom: 1px solid var(--dc-rule) !important;
    padding-right: 0 !important;
    padding-bottom: 18px !important;
    margin-bottom: 18px;
  }
  .acq-list-item { grid-template-columns: 1fr 1fr !important; }
  .acq-list-item > div:nth-child(4) { align-items: flex-start !important; }
}

@media (max-width: 640px) {
  .acq-page-hero { text-align: left; }
  .acq-page-hero .container { max-width: none !important; }
  .acq-subnav-container { justify-content: flex-start; }
  .acq-subnav-btn { width: 100%; justify-content: center; }
  .acq-filter-hub { padding: 16px !important; }
  .acq-list-item { grid-template-columns: 1fr !important; gap: 14px !important; }
  .acq-list-item > div:nth-child(4) { align-items: flex-start !important; }
}

/* ========================================================================
   2026 visual refresh

   A final, deliberately small design layer for the live product. Older page
   templates bring their own CSS; these rules provide one clear visual system
   without touching markup, routes, forms, payments, or data behaviour.
   ======================================================================== */

:root {
  --dc-page: #f4f7fb;
  --dc-surface: #ffffff;
  --dc-surface-muted: #edf3fb;
  --dc-ink: #0b1f3a;
  --dc-text: #21334d;
  --dc-text-soft: #5b6d85;
  --dc-text-mute: #7b8ba1;
  --dc-rule: #dce6f2;
  --dc-rule-strong: #b6cae2;
  --dc-brand: #1e67d8;
  --dc-brand-hover: #124ea9;
  --dc-brand-soft: #e8f1ff;
  --dc-signal: #ef7f30;
  --dc-signal-deep: #c75d17;
  --dc-success: #13836a;
  --dc-shadow: 0 12px 32px rgba(15, 34, 63, .07);
  --dc-shadow-raised: 0 20px 44px rgba(15, 34, 63, .12);
}

html { background: #f4f7fb !important; }
body, .frontend-body, .app-container {
  background:
    radial-gradient(circle at 100% 0, rgba(50, 121, 224, .08), transparent 28rem),
    #f4f7fb !important;
}

/* Shared navigation: quiet, trustworthy and visibly interactive. */
.header, #main-header, .topbar, .admin-header, .wizard-nav {
  backdrop-filter: blur(18px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
  background: rgba(255, 255, 255, .91) !important;
  border-bottom-color: rgba(203, 216, 231, .9) !important;
  box-shadow: 0 8px 24px rgba(15, 34, 63, .06) !important;
}
.header .navbar, .container.navbar {
  max-width: 1380px !important;
}
.header .nav-link, .nav-link, .nav-links a, .navbar-v2 .nav-link {
  position: relative;
  border-radius: 999px !important;
  padding: 8px 13px !important;
  transition: color .18s ease, background .18s ease, transform .18s ease !important;
}
.header .nav-link:hover, .header .nav-link.active,
.nav-link:hover, .nav-link.active, .nav-links a:hover, .nav-links a.active,
.navbar-v2 .nav-link:hover, .navbar-v2 .nav-link.active {
  background: var(--dc-brand-soft) !important;
  color: var(--dc-brand) !important;
}
.nav-auth-btn, .btn-primary, .btn.btn-primary, .btn-v2-primary {
  border-radius: 10px !important;
  background: linear-gradient(135deg, #2778e8 0%, #1554b8 100%) !important;
  border-color: #1e67d8 !important;
  box-shadow: 0 9px 19px rgba(30, 103, 216, .25) !important;
}

/* Header brand lockup ---------------------------------------------------- */
/* The SVG is intentionally wide (logo plus acquisition descriptor). Give it
   a stable slot instead of allowing flexbox to squeeze it beside navigation. */
.header .brand-logo {
  flex: 0 0 190px !important;
  width: 190px !important;
  min-width: 190px !important;
  height: 46px !important;
  padding: 2px 0 !important;
  align-items: center !important;
}
.header .brand-logo img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: 42px !important;
}

/* Member/dashboard headers use .topbar instead of .header. Keep the same
   brand proportions so moving between pages never makes the logo jump. */
.topbar > .brand,
.topbar > .brand-logo {
  flex: 0 0 190px !important;
  width: 190px !important;
  min-width: 190px !important;
  height: 46px !important;
  padding: 2px 0 !important;
  align-items: center !important;
}
.topbar > .brand img,
.topbar > .brand-logo img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: 42px !important;
}

@media (min-width: 1101px) {
  .header .navbar,
  .header .container.navbar {
    display: grid !important;
    grid-template-columns: 190px minmax(0, 1fr) 190px !important;
    column-gap: 24px !important;
  }
  .header .navbar > .brand-logo { grid-column: 1; justify-self: start; }
  .header .navbar > .nav-menu { grid-column: 2; justify-self: center; }
  .header .navbar > .nav-account-actions { grid-column: 3; justify-self: end; }

  .topbar {
    display: grid !important;
    grid-template-columns: 190px minmax(0, 1fr) 190px !important;
    column-gap: 24px !important;
  }
  .topbar > .brand,
  .topbar > .brand-logo { grid-column: 1; justify-self: start; }
  .topbar > .topnav { grid-column: 2; justify-self: center; }
  .topbar > .account-cluster,
  .topbar > .nav-account-actions { grid-column: 3; justify-self: end; }
}

@media (max-width: 1100px) {
  .header .brand-logo,
  .topbar > .brand,
  .topbar > .brand-logo {
    flex-basis: 160px !important;
    width: 160px !important;
    min-width: 160px !important;
  }
  .header .brand-logo img,
  .topbar > .brand img,
  .topbar > .brand-logo img {
    width: auto !important;
    max-width: 100% !important;
    height: 35px !important;
  }
}

@media (max-width: 900px) {
  .header .brand-logo,
  .topbar > .brand,
  .topbar > .brand-logo {
    flex: 0 1 142px !important;
    width: 142px !important;
    min-width: 0 !important;
    height: 38px !important;
  }
  .header .brand-logo img,
  .topbar > .brand img,
  .topbar > .brand-logo img {
    width: auto !important;
    max-width: 100% !important;
    height: 32px !important;
  }
}
.btn-accent, .btn.btn-accent, .nav-cta, .nav-links a.nav-cta {
  border-radius: 10px !important;
  background: linear-gradient(135deg, #f08a3c 0%, #db6521 100%) !important;
  box-shadow: 0 9px 19px rgba(219, 101, 33, .22) !important;
}

/* The general application canvas and cards. */
.dashboard-shell, .admin-shell, .onboarding-shell, .wizard-shell,
.dashboard-content, .page-v2, .view-panel {
  background:
    radial-gradient(circle at 92% 2%, rgba(42, 111, 217, .09), transparent 28rem),
    linear-gradient(180deg, #f7faff 0%, #f2f6fb 100%) !important;
}
.card, .panel, .card-v2, .pricing-card, .admin-card, .modal-content,
.modal-card, .modal-box, .dc-modal, .glass-card, .dashboard-card,
.stat-card, .metric-card, .summary-card, .info-card, .setting-card,
.support-card, .invoice-card, .subscription-card, .lead-card, .deal-card,
.disposition-card {
  border-radius: 16px !important;
  border-color: var(--dc-rule) !important;
  box-shadow: var(--dc-shadow) !important;
}
.card:hover, .panel:hover, .pricing-card:hover, .admin-card:hover,
.stat-card:hover, .metric-card:hover, .summary-card:hover, .info-card:hover {
  transform: translateY(-2px);
  border-color: #9dbbe1 !important;
  box-shadow: var(--dc-shadow-raised) !important;
}

/* Acquisition hub: turn the formerly empty pale band into a purposeful
   product header, then place a clearly separated search workspace below it. */
body:has(.acq-page-hero) .main-content { padding-top: 0 !important; }
.acq-page-hero {
  position: relative;
  isolation: isolate;
  min-height: 258px;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 44px 24px 42px !important;
  background:
    radial-gradient(circle at 14% 18%, rgba(38, 143, 236, .34), transparent 22rem),
    radial-gradient(circle at 86% 14%, rgba(19, 186, 166, .20), transparent 24rem),
    linear-gradient(128deg, #091d39 0%, #102d59 52%, #154986 100%) !important;
  border: 0 !important;
}
.acq-page-hero::before,
.acq-page-hero::after {
  content: '';
  position: absolute;
  pointer-events: none;
  z-index: -1;
}
.acq-page-hero::before {
  width: 28rem;
  height: 28rem;
  right: -11rem;
  bottom: -20rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  box-shadow: 0 0 0 44px rgba(255,255,255,.035), 0 0 0 88px rgba(255,255,255,.025);
}
.acq-page-hero::after {
  width: 7px;
  height: 7px;
  left: 12%;
  bottom: 30%;
  border-radius: 50%;
  background: #4de0cd;
  box-shadow: 75px -56px 0 rgba(255,255,255,.46), 295px 70px 0 rgba(77,224,205,.52),
    565px -65px 0 rgba(255,255,255,.42), 820px 34px 0 rgba(77,224,205,.46);
}
.acq-page-hero .container { max-width: 900px !important; }
.acq-page-hero .eyebrow {
  background: rgba(255,255,255,.10) !important;
  color: #a8f3e6 !important;
  border-color: rgba(168,243,230,.6) !important;
  box-shadow: none !important;
}
.acq-page-hero h1 {
  color: #ffffff !important;
  font-size: clamp(2.15rem, 4.1vw, 3.45rem) !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.16);
}
.acq-page-hero p {
  color: rgba(235, 245, 255, .82) !important;
  font-size: clamp(1rem, 1.7vw, 1.12rem) !important;
  margin-bottom: 0 !important;
}
.acq-section-panel .section {
  padding-top: 28px !important;
  padding-bottom: 68px !important;
}
.acq-filter-hub {
  border-radius: 18px !important;
  border-color: #d6e1ef !important;
  box-shadow: 0 16px 36px rgba(15, 34, 63, .08) !important;
}
.acq-filter-hub input, .acq-filter-hub select {
  border-radius: 10px !important;
  background: #fbfdff !important;
}
.acq-filter-hub input:focus, .acq-filter-hub select:focus {
  background: #fff !important;
}
#county-checkboxes-container, #list-type-checkboxes-container {
  background: #fbfdff !important;
  border-color: #dce6f2 !important;
}
.acq-list-item {
  position: relative;
  overflow: hidden;
  border-radius: 14px !important;
  background: #fff !important;
}
.acq-list-item::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: linear-gradient(180deg, #2a7be5, #16a994);
  opacity: .9;
}
.acq-list-item:hover { transform: translateY(-2px); }
#acq-pagination-controls button {
  border-radius: 9px !important;
  min-width: 38px;
}

/* Pricing keeps the same content, but now reads as a composed conversion
   page rather than a set of disconnected strips. */
.pricing-hero-wrap {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 16% 12%, rgba(43, 116, 225, .13), transparent 25rem),
    radial-gradient(circle at 90% 14%, rgba(20, 184, 166, .12), transparent 22rem),
    linear-gradient(180deg, #fbfdff 0%, #eef5ff 100%) !important;
  border-bottom-color: #d5e3f4 !important;
}
.pricing-hero-wrap .main-heading { color: var(--dc-ink) !important; }
.pricing-hero-wrap .sub-heading { color: var(--dc-text-soft) !important; }
.county-plan-card {
  border-radius: 22px !important;
  border-color: #bcd1eb !important;
  box-shadow: 0 24px 50px rgba(19, 64, 123, .14) !important;
}
.card-header-bar { background: linear-gradient(125deg, #102e59, #1b66cf) !important; }
.trial-badge { color: #b45309 !important; }
.feature-strip-section,
.how-it-works-section {
  background:
    radial-gradient(circle at 80% 0, rgba(46, 134, 234, .22), transparent 24rem),
    #0c2445 !important;
}
.lead-type-card {
  background: #fff !important;
  border-color: #d8e4f1 !important;
  box-shadow: 0 8px 18px rgba(15, 34, 63, .06) !important;
}
.lead-type-card:hover { border-color: #71a5e8 !important; }
.lead-type-name { color: var(--dc-ink) !important; }

/* Compact dashboard and admin visual hierarchy. */
.pagehead, .admin-hero { margin-bottom: 28px !important; }
.pagehead h1, .admin-hero h1 { letter-spacing: -.04em !important; }
.stat, .admin-metric, .dc-dashboard-stat-grid > article {
  border-radius: 15px !important;
  border-color: var(--dc-rule) !important;
  box-shadow: var(--dc-shadow) !important;
}
.card > header, .dashboard-card > header {
  background: linear-gradient(180deg, #fbfdff, #f5f9fe) !important;
  border-bottom-color: var(--dc-rule) !important;
}
.admin-header { background: rgba(255,255,255,.93) !important; }
.admin-brand strong, .admin-brand small, .admin-back { color: var(--dc-ink) !important; }
.admin-back { border-color: var(--dc-rule-strong) !important; background: #fff !important; }
.admin-count { background: var(--dc-brand) !important; }

@media (max-width: 900px) {
  .acq-page-hero { min-height: 230px; padding: 38px 20px 36px !important; }
  .acq-page-hero::after { display: none; }
  .pricing-hero-wrap { padding-inline: 16px !important; }
}

@media (max-width: 640px) {
  .header .navbar, .container.navbar { padding-inline: 16px !important; }
  .acq-page-hero { min-height: 220px; }
  .acq-page-hero h1 { font-size: 2.15rem !important; }
  .acq-filter-hub { border-radius: 14px !important; }
  .card, .panel, .pricing-card, .admin-card { border-radius: 14px !important; }
}

/* Home-page footer contrast. The homepage footer is styled with a light white
   surface (#FFFFFF), so headings, text, and links require explicit dark slate
   (#0F172A) and sapphire blue (#1E40AF) for maximum 17.6:1 WCAG AAA contrast. */
footer:not(.footer):not(.site-footer) {
  background-color: #FFFFFF !important;
  color: #0F172A !important;
}
footer:not(.footer):not(.site-footer) :is(h1, h2, h3, h4, h5, h6) {
  color: #0F172A !important;
  background-color: #FFFFFF !important;
}
footer:not(.footer):not(.site-footer) :is(p, span, small, div, li) {
  color: #0F172A !important;
  background-color: #FFFFFF !important;
}
footer:not(.footer):not(.site-footer) a {
  color: #0F172A !important;
  background-color: #FFFFFF !important;
}
footer:not(.footer):not(.site-footer) a[href*="contact"],
footer:not(.footer):not(.site-footer) a:hover {
  color: #1E40AF !important;
  background-color: #FFFFFF !important;
}
footer:not(.footer):not(.site-footer) input {
  color: #0F172A !important;
  background-color: #FFFFFF !important;
}
footer:not(.footer):not(.site-footer) input::placeholder {
  color: #64748B !important;
}

/* A single dark footer treatment for the shared and homepage footers. The
   templates use different class names, so relying on their old inline text
   colours produced low-contrast links on some pages. */
.footer, footer.site-footer {
  background: linear-gradient(135deg, #081a33 0%, #0d2b51 100%) !important;
  border-top: 1px solid rgba(154, 192, 234, .28) !important;
}
.footer :is(h1, h2, h3, h4, h5, h6),
footer.site-footer :is(h1, h2, h3, h4, h5, h6) {
  color: #ffffff !important;
}
.footer :is(p, a, span, small),
footer.site-footer :is(p, a, span, small) {
  color: rgba(232, 242, 255, .84) !important;
}
.footer a:hover, footer.site-footer a:hover { color: #75e4d2 !important; }
.footer .footer-bottom, footer.site-footer .footer-bottom {
  border-top-color: rgba(154, 192, 234, .30) !important;
}

/* Registration stays deliberately short: name, email, password, agreement,
   and submit. The form remains spacious on desktop and compact on mobile. */
#login-modal .modal-content {
  border-radius: 20px !important;
  border-color: #c7d9ef !important;
  box-shadow: 0 28px 72px rgba(7, 26, 55, .28) !important;
}
#login-modal #auth-tabs-container { background: #eef5ff !important; }
#login-modal #auth-terms-checkbox-container {
  padding: 11px 12px;
  border: 1px solid #d7e5f5;
  border-radius: 10px;
  background: #f8fbff;
}
#login-modal #auth-submit-btn { min-height: 48px; }

/* County trial checkout: this is a confirmation step, not an admin panel.
   Keep the payment disclosure clear and use the same light acquisition surface
   as Pricing and the Acquisition Hub. */
body:has(.onboarding-shell) {
  background: #f4f7fb !important;
  color: var(--dc-text) !important;
}
.onboarding-shell {
  width: min(800px, calc(100% - 32px)) !important;
  max-width: 800px !important;
  padding: 46px 0 76px !important;
}
.onboarding-shell .brand-header {
  margin-bottom: 28px !important;
  padding-bottom: 18px !important;
  border-bottom-color: #dbe6f2 !important;
}
.onboarding-shell .badge-trial {
  background: #e9fbf5 !important;
  border-color: #a9e5d2 !important;
  color: #08755a !important;
}
.onboarding-shell .card {
  background: #ffffff !important;
  border: 1px solid #d9e5f2 !important;
  border-radius: 18px !important;
  padding: 30px 32px !important;
  box-shadow: 0 14px 34px rgba(16, 44, 81, .08) !important;
}
.onboarding-shell h1,
.onboarding-shell h2 { color: #10213d !important; }
.onboarding-shell h1 { letter-spacing: -.04em !important; }
.onboarding-shell h2 { font-size: 1.38rem !important; }
.onboarding-shell .step-circle {
  background: #1769d2 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 9px rgba(23,105,210,.22);
}
.onboarding-shell p { color: #53647d !important; }
.onboarding-shell .form-label { color: #334761 !important; }
.onboarding-shell .form-input,
.onboarding-shell .form-select {
  background: #ffffff !important;
  border-color: #bed0e5 !important;
  color: #10213d !important;
}
.onboarding-shell .county-slot-box {
  background: linear-gradient(135deg, #f2f8ff, #fbfdff) !important;
  border-color: #87b9ef !important;
  box-shadow: inset 0 0 0 1px rgba(23,105,210,.04);
}
.onboarding-shell .county-slot-box strong { color: #1256ad !important; }
.onboarding-shell .county-slot-box span {
  background: #e8fbf4 !important;
  border-color: #9edfc8 !important;
  color: #08755a !important;
}
.onboarding-shell .order-summary {
  background: #f8fbff !important;
  border: 1px solid #d7e4f2 !important;
  border-radius: 13px !important;
  padding: 16px 20px !important;
}
.onboarding-shell .order-row { border-bottom: 1px solid #e6eef7; }
.onboarding-shell .order-row > span:first-child { color: #60718a !important; }
.onboarding-shell .order-row > :is(span,strong):last-child,
.onboarding-shell .order-row strong { color: #10213d !important; font-weight: 750 !important; }
.onboarding-shell #summary-trial-county,
.onboarding-shell .order-row span[style*="22C55E"] { color: #08755a !important; }
.onboarding-shell .order-total {
  border-top-color: #cbdced !important;
  border-bottom: 0 !important;
  margin-top: 4px !important;
}
.onboarding-shell .trial-consent {
  margin: 18px 0 !important;
  padding: 14px 16px !important;
  font-size: .88rem !important;
  line-height: 1.55 !important;
  color: #40536d !important;
  background: #f3f8ff !important;
  border: 1px solid #d2e2f3 !important;
  border-radius: 12px !important;
}
.onboarding-shell .trial-consent strong { color: #10213d !important; }
.onboarding-shell .trial-consent p { margin: 9px 0 0 26px !important; font-size: .82rem !important; }
.onboarding-shell .btn-activate {
  min-height: 56px !important;
  background: linear-gradient(135deg, #2778e8, #1554b8) !important;
  box-shadow: 0 11px 23px rgba(27, 100, 211, .24) !important;
}
.onboarding-shell .btn-activate:hover { background: #0f55ba !important; }
@media (max-width: 640px) {
  .onboarding-shell { width: min(100% - 24px, 800px) !important; padding-top: 28px !important; }
  .onboarding-shell .card { padding: 24px 18px !important; }
  .onboarding-shell .county-slot-box > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .onboarding-shell .order-row { align-items: flex-start !important; gap: 10px; }
}

/* Shared navigation and interaction refinement. */
:root { --dc-rule: #dbe4f0 !important; }
body { -webkit-font-smoothing: antialiased; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #1769d2 !important;
  outline-offset: 3px !important;
}
.header .nav-link[aria-current="page"],
.header .nav-dropdown-item[aria-current="page"] {
  background: #eaf2ff !important;
  color: #0d52ad !important;
  box-shadow: none !important;
}
/* Use one active state; older themes added competing orange underlines. */
.header .nav-link {
  border-radius: 8px !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
.header .nav-link::before,
.header .nav-link::after {
  content: none !important;
  display: none !important;
}
.header .nav-link.active,
.header .nav-link[aria-current="page"] {
  background: #eaf2ff !important;
  color: #0d52ad !important;
}
.header .nav-dropdown-content {
  overflow: hidden;
  border: 1px solid #dbe4f0 !important;
  box-shadow: 0 16px 40px rgba(16,33,61,.12) !important;
}
.header .has-dropdown[aria-expanded="false"] + .nav-dropdown-content { display: none !important; }
.header .has-dropdown svg { transition: transform .18s ease; }
.header .has-dropdown[aria-expanded="true"] svg { transform: rotate(180deg); }
.dc-menu-toggle { display: none; }
.btn { transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.btn:disabled, button:disabled { opacity: .55; cursor: not-allowed !important; transform: none !important; }
input:not([type="checkbox"]):not([type="radio"]), select, textarea { max-width: 100%; }
.footer a:hover { text-decoration: underline !important; text-underline-offset: 4px; }
.footer-grid > * { min-width: 0; }
.footer a[href^="mailto:"] { overflow-wrap: anywhere; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .btn-primary:not(:disabled):hover { box-shadow: 0 8px 20px rgba(23,105,210,.22) !important; transform: translateY(-1px); }
}
@media (max-width: 1100px) {
  .dc-navigation-ready .navbar { display: flex !important; flex-wrap: wrap; gap: 10px !important; padding-block: 12px !important; }
  .dc-navigation-ready .brand-logo { margin-right: auto; min-width: 0; }
  .dc-navigation-ready .brand-logo img { max-width: min(190px, 42vw) !important; height: auto !important; }
  .dc-navigation-ready .dc-menu-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 44px; padding: 0 14px; border: 1px solid #b8c9df;
    border-radius: 10px; background: #f0f5ff; color: #10213d; font: inherit; font-weight: 700; cursor: pointer;
  }
  .dc-navigation-ready #nav-links { display: none !important; }
  .dc-navigation-ready #nav-links.open {
    display: flex !important; position: static !important; order: 10;
    width: 100%; flex: 0 0 100%; flex-direction: column; align-items: stretch !important;
    background: #fff !important; border-top: 1px solid #dbe4f0;
    padding: 12px 0 !important; max-height: 65vh; overflow-y: auto;
  }
  .dc-navigation-ready #nav-links .nav-link { min-height: 44px; display: flex; align-items: center; }
  .dc-navigation-ready #nav-links .nav-dropdown { width: 100%; padding: 0 !important; }
  .dc-navigation-ready #nav-links .nav-dropdown-content { position: static !important; box-shadow: none !important; margin: 4px 8px; }
  .footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 28px !important; }
}
@media (max-width: 540px) {
  .dc-navigation-ready .nav-account-actions { max-width: 45%; }
  .dc-navigation-ready .nav-auth-btn { padding: 8px 10px !important; min-height: 44px; overflow-wrap: anywhere; white-space: normal; }
  .footer .footer-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .footer { padding: 40px 20px 28px !important; }
  input, select, textarea { font-size: 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
