/* Final DECIVARA application coherence layer — 9 Aug 2026.
   Public marketing is owned by gocx.co.uk WordPress. This stylesheet is loaded
   last and deliberately limits itself to the secure application, participant,
   authentication and partner surfaces. It reduces visual noise, standardises
   spacing and keeps every operational page on the same design rail as the
   Consultant workbench. */

:root {
  --dx-final-ink: #171927;
  --dx-final-muted: #696979;
  --dx-final-navy: #11162f;
  --dx-final-purple: #5b259f;
  --dx-final-purple-soft: #f3eefb;
  --dx-final-gold: #f4b900;
  --dx-final-ivory: #fffdf6;
  --dx-final-line: rgba(52, 35, 91, 0.14);
  --dx-final-shadow: 0 14px 36px rgba(25, 17, 57, 0.075);
}

body.workspace-body,
body.participant-body,
body.auth-body,
body.partner-body {
  color: var(--dx-final-ink);
  font-family: "Ubuntu", Arial, sans-serif;
  text-rendering: optimizeLegibility;
}

.workspace-body :is(h1, h2, h3, h4, h5, h6),
.participant-body :is(h1, h2, h3, h4, h5, h6),
.auth-body :is(h1, h2, h3, h4, h5, h6),
.partner-body :is(h1, h2, h3, h4, h5, h6) {
  font-family: "Saira", "Ubuntu", Arial, sans-serif;
  text-wrap: balance;
}

/* One content rail throughout the authenticated product. */
.workspace-layout-topnav .workspace-main {
  width: min(1440px, calc(100% - 48px));
  padding-top: 36px;
  padding-bottom: 72px;
}

.workspace-layout-topnav .workspace-main > *,
.workspace-body :is(.wide-page, .page-shell, .operational-page, .consultant-page, .ecc-shell) {
  min-width: 0;
}

/* Consultant is the reference treatment: all operational heroes use the same
   inset, readable copy width and restrained illustration intensity. */
.workspace-body :is(.workspace-head, .page-head, .consultant-v2-hero, .ecc-hero) {
  min-height: 210px;
  padding: clamp(1.6rem, 3.25vw, 2.75rem) !important;
  align-items: center !important;
}

.workspace-body :is(.workspace-head, .page-head, .consultant-v2-hero, .ecc-hero) > div:first-child {
  min-width: 0;
  max-width: 900px;
}

.workspace-body :is(.workspace-head, .page-head, .consultant-v2-hero, .ecc-hero) h1 {
  max-width: 20ch;
  margin-bottom: 0.75rem;
}

.workspace-body :is(.workspace-head, .page-head, .consultant-v2-hero, .ecc-hero) p {
  max-width: 72ch !important;
  line-height: 1.6;
}

/* The earlier refresh used a different floating tech object on many pages.
   Keep the brand depth, but make the artwork supporting rather than dominant. */
.workspace-body :is(.workspace-head, .page-head, .consultant-v2-hero, .ecc-hero)::after,
.workspace-body .decision-hero::after {
  opacity: 0.13 !important;
  filter: saturate(0.8) !important;
}

.workspace-body .workspace-main::before {
  opacity: 0.018 !important;
}

/* Shared content surfaces. */
.workspace-body :is(.card, .panel, .table-card, .ecc-panel, .consultant-v2-panel, .release-identity, .pricing-admin-card, .pilot-card),
.partner-body .card,
.participant-body :is(.question-card, .review-section-card, .result-priority-card, .conversion-card) {
  border-color: var(--dx-final-line) !important;
  border-radius: 18px !important;
  box-shadow: var(--dx-final-shadow) !important;
}

.workspace-body :is(.card, .panel, .ecc-panel, .consultant-v2-panel) {
  background: #fff !important;
}

.workspace-body :is(.section-title, .section-heading, .consultant-v2-panel-header, .ecc-panel-header) {
  gap: 14px 20px;
}

.workspace-body :is(.section-title, .section-heading) h2,
.workspace-body :is(.card, .panel) h2 {
  margin-top: 0;
  line-height: 1.2;
}

.workspace-body :is(.card, .panel, .table-card, .ecc-panel, .consultant-v2-panel) p,
.workspace-body :is(.card, .panel, .table-card, .ecc-panel, .consultant-v2-panel) li {
  line-height: 1.58;
}

/* Metrics stay calm and comparable instead of looking like individual promo cards. */
.workspace-body :is(.metric-grid, .stat-grid, .workspace-metrics, .ecc-metrics, .consultant-v2-metrics) > * {
  border-color: var(--dx-final-line) !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(25, 17, 57, 0.055) !important;
}

.workspace-body :is(.metric-grid, .stat-grid, .workspace-metrics, .ecc-metrics, .consultant-v2-metrics) > *::after {
  opacity: 0.55;
}

/* Operational tables: a strong header without the previous almost-black slab. */
.workspace-body :is(.table-wrap, .data-table-wrap) {
  overflow: auto;
  border-color: var(--dx-final-line);
  border-radius: 14px;
}

.workspace-body table thead th {
  padding: 12px 14px !important;
  background: #292049 !important;
  color: #fff !important;
  font-family: "Saira", "Ubuntu", Arial, sans-serif;
  font-size: 0.76rem !important;
  font-weight: 750 !important;
  letter-spacing: 0.025em !important;
  text-transform: none !important;
}

.workspace-body table tbody td {
  padding: 12px 14px !important;
  line-height: 1.48;
  vertical-align: top;
}

.workspace-body table tbody tr:nth-child(even) {
  background: #faf9fc !important;
}

.workspace-body table tbody tr:hover {
  background: #fffaf0 !important;
}

/* Buttons and form fields share one hierarchy everywhere. Navigation controls
   are excluded so visual styling cannot interfere with the mobile menu shell. */
.workspace-body .button,
.workspace-body button:not(.workspace-nav-toggle):not(.workspace-nav-backdrop),
.participant-body :is(.button, button),
.auth-body :is(.button, button),
.partner-body :is(.button, button) {
  min-height: 42px;
  border-radius: 10px !important;
}

.workspace-body .button.primary,
.workspace-body button:not(.secondary):not(.danger):not(.tertiary):not(.consultant-v2-filter):not(.nav-cta):not(.workspace-nav-toggle):not(.workspace-nav-backdrop),
.participant-body .button.primary,
.auth-body .button.primary,
.partner-body .button.primary {
  background: #432279 !important;
  border-color: #432279 !important;
  color: #fff !important;
  box-shadow: none !important;
}

.workspace-body .button.primary:hover,
.workspace-body button:not(.secondary):not(.danger):not(.tertiary):not(.consultant-v2-filter):not(.nav-cta):not(.workspace-nav-toggle):not(.workspace-nav-backdrop):hover,
.participant-body .button.primary:hover,
.auth-body .button.primary:hover,
.partner-body .button.primary:hover {
  background: #2f1858 !important;
  border-color: #2f1858 !important;
}

.workspace-body .button.secondary,
.participant-body .button.secondary,
.partner-body .button.secondary {
  background: #fff !important;
  border-color: #cfc7dc !important;
  color: #35225f !important;
}

/* Do not apply text-field sizing to checkbox, radio or hidden controls. */
.workspace-body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea),
.participant-body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea),
.auth-body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea),
.partner-body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
  min-height: 42px;
  border-radius: 10px !important;
  border-color: rgba(58, 39, 98, 0.23) !important;
  background: #fff !important;
}

.workspace-body textarea,
.participant-body textarea,
.auth-body textarea,
.partner-body textarea {
  min-height: 110px;
}

.workspace-body :is(input[type="checkbox"], input[type="radio"]),
.participant-body :is(input[type="checkbox"], input[type="radio"]),
.auth-body :is(input[type="checkbox"], input[type="radio"]),
.partner-body :is(input[type="checkbox"], input[type="radio"]) {
  min-height: 0;
  width: auto;
}

/* Menus: every dropdown starts from exactly the same text rail as Consultant. */
.workspace-layout-topnav .workspace-menu-panel,
.workspace-layout-topnav .workspace-menu-group,
.workspace-layout-topnav .workspace-menu-panel a,
.workspace-layout-topnav .workspace-menu-panel a :is(strong, small) {
  text-align: left !important;
}

.workspace-layout-topnav .workspace-menu-panel a {
  align-items: start !important;
  justify-items: start !important;
}

.workspace-layout-topnav .workspace-menu-group > span {
  width: 100%;
  padding-left: 11px !important;
  text-align: left !important;
}

/* Authentication is a product entry point, not a generic utility form. */
.auth-body main {
  background:
    linear-gradient(135deg, rgba(17, 22, 47, 0.98), rgba(49, 26, 91, 0.94)),
    url('/static/media/public/dark-orbital-horizon-background.png') center/cover no-repeat !important;
}

.auth-body .login-card {
  padding: clamp(26px, 4vw, 38px) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.97) !important;
  box-shadow: 0 24px 70px rgba(5, 6, 19, 0.28) !important;
}

.auth-body .login-card h1 {
  color: var(--dx-final-navy);
}

/* Participant/result pages keep visual hierarchy but lose unnecessary glow. */
.participant-body .assessment-top::after,
.participant-body .result-hero::after,
.participant-body .result-next-action-card::after {
  opacity: 0.12 !important;
}

.participant-body .assessment-actions,
.participant-body .result-actions-bar {
  border-color: var(--dx-final-line) !important;
  box-shadow: 0 12px 34px rgba(25, 17, 57, 0.09) !important;
}

/* WordPress seamless embeds retain their dedicated shell, but the application
   content gets an internal reading gutter. This does not affect the standalone
   /assessment/new page because the classes only exist inside an embedded frame. */
html.gocx-embed-seamless body.gocx-embed-mode #main-content {
  width: 100%;
  padding-inline: clamp(28px, 3.25vw, 56px);
}

html.gocx-embed-seamless body.gocx-embed-mode .gocx-embed-assessment-start,
html.gocx-embed-seamless body.gocx-embed-mode .gocx-embed-assessment-form {
  width: min(100%, 1320px);
  margin-inline: auto;
}

@media (max-width: 760px) {
  html.gocx-embed-seamless body.gocx-embed-mode #main-content {
    padding-inline: 18px;
  }
}

@media (max-width: 980px) {
  .workspace-layout-topnav .workspace-main {
    width: min(100% - 28px, 1440px);
    padding-top: 22px;
  }

  .workspace-body :is(.workspace-head, .page-head, .consultant-v2-hero, .ecc-hero) {
    min-height: 0;
    padding: 1.5rem !important;
  }

  .workspace-body :is(.workspace-head, .page-head, .consultant-v2-hero, .ecc-hero)::after {
    opacity: 0.08 !important;
  }
}

@media (max-width: 680px) {
  .workspace-layout-topnav .workspace-main {
    width: min(100% - 20px, 1440px);
    padding-top: 16px;
    padding-bottom: 44px;
  }

  .workspace-body :is(.workspace-head, .page-head, .consultant-v2-hero, .ecc-hero) {
    display: block !important;
    border-radius: 20px !important;
    padding: 1.25rem !important;
  }

  .workspace-body :is(.workspace-head, .page-head, .consultant-v2-hero, .ecc-hero) .page-action-group,
  .workspace-body :is(.workspace-head, .page-head, .consultant-v2-hero, .ecc-hero) .consultant-v2-actions {
    margin-top: 18px;
    justify-content: flex-start;
  }

  .workspace-body :is(.card, .panel, .table-card, .ecc-panel, .consultant-v2-panel) {
    border-radius: 14px !important;
  }

  .workspace-body table thead th,
  .workspace-body table tbody td {
    padding: 10px 11px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .workspace-body *,
  .participant-body *,
  .auth-body *,
  .partner-body * {
    scroll-behavior: auto !important;
  }
}