/**
 * INAED — Consultoria Externa Design System 2.4
 * Arquitetura: Primitive -> Semantic -> Component Scoped Tokens
 * Base visual: marca existente do plugin (laranja #FF7500 + azul institucional)
 * Acessibilidade: contraste elevado, focus-visible, reduced-motion e touch targets >= 44px.
 */

/* --------------------------------------------------------------------------
   1. GLOBAL / PRIMITIVE TOKENS
   -------------------------------------------------------------------------- */
:root {
  /* Brand primitives */
  --ce-brand-orange-50: #fff1e6;
  --ce-brand-orange-100: #ffe0c7;
  --ce-brand-orange-500: #ff7500;
  --ce-brand-orange-600: #d97706;
  --ce-brand-orange-800: #6b3c00;
  --ce-brand-blue-50: #e8f3fb;
  --ce-brand-blue-100: #d5e9f7;
  --ce-brand-blue-600: #00629b;
  --ce-brand-blue-700: #005282;
  --ce-brand-blue-800: #004b81;

  /* Slate / neutral primitives */
  --ce-slate-950: #0b1220;
  --ce-slate-900: #0f172a;
  --ce-slate-800: #1e293b;
  --ce-slate-700: #334155;
  --ce-slate-600: #475569;
  --ce-slate-500: #536176;
  --ce-slate-400: #8794a7;
  --ce-slate-300: #b7c2d2;
  --ce-slate-200: #d8e0ea;
  --ce-slate-150: #e8eef6;
  --ce-slate-100: #eef3f8;
  --ce-slate-50: #f8fafc;
  --ce-white: #ffffff;

  /* Feedback primitives */
  --ce-green-800: #0f5d3d;
  --ce-green-700: #146c43;
  --ce-green-50: #ecfdf5;
  --ce-red-800: #8b1e2d;
  --ce-red-700: #b4233a;
  --ce-red-50: #fff0f2;
  --ce-amber-800: #6b3c00;
  --ce-amber-50: #fff4e8;

  /* OKLCH references for Figma/code parity */
  --ce-oklch-slate-900: oklch(20.77% 0.0398 265.75);
  --ce-oklch-slate-800: oklch(27.95% 0.0368 260.03);
  --ce-oklch-brand-blue-800: oklch(40.42% 0.1105 248.65);
  --ce-oklch-brand-blue-600: oklch(47.87% 0.1192 244.49);
  --ce-oklch-brand-orange-500: oklch(71.59% 0.1931 48.62);
  --ce-oklch-brand-orange-600: oklch(66.58% 0.1574 58.32);
  --ce-oklch-slate-50: oklch(98.42% 0.0034 247.86);

  /* Typography primitives */
  --ce-font-ui: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ce-font-display: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ce-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

  /* Fluid type scale */
  /* Escala refinada: autoridade sem excesso de volume no desktop. */
  --ce-type-display: clamp(2.35rem, 3.35vw, 3.50rem);
  --ce-type-h1: clamp(1.95rem, 2.65vw, 2.85rem);
  --ce-type-h2: clamp(1.65rem, 2.15vw, 2.30rem);
  --ce-type-h3: clamp(1.25rem, 1.55vw, 1.55rem);
  --ce-type-h4: clamp(1.075rem, 1.25vw, 1.30rem);
  --ce-type-body-lg: clamp(1rem, .95vw, 1.075rem);
  --ce-type-body: 1rem;
  --ce-type-small: 0.875rem;
  --ce-type-caption: 0.75rem;

  /* 4pt subgrid / 8pt primary grid */
  --ce-space-1: 0.25rem;
  --ce-space-2: 0.5rem;
  --ce-space-3: 0.75rem;
  --ce-space-4: 1rem;
  --ce-space-5: 1.25rem;
  --ce-space-6: 1.5rem;
  --ce-space-8: 2rem;
  --ce-space-10: 2.5rem;
  --ce-space-12: 3rem;
  --ce-space-16: 4rem;
  --ce-space-20: 5rem;
  --ce-space-24: 6rem;

  /* Radius / borders */
  --ce-radius-xs: 0.5rem;
  --ce-radius-sm: 0.75rem;
  --ce-radius-md: 1rem;
  --ce-radius-lg: 1.5rem;
  --ce-radius-xl: 2rem;
  --ce-radius-full: 999px;
  --ce-border-hairline: 1px;
  --ce-border-strong: 2px;

  /* Motion */
  --ce-motion-fast: 120ms;
  --ce-motion-base: 180ms;
  --ce-motion-slow: 240ms;
  --ce-ease-standard: cubic-bezier(.2, .8, .2, 1);
  --ce-ease-emphasized: cubic-bezier(.16, 1, .3, 1);

  /* Elevation */
  --ce-shadow-1: 0 1px 2px rgba(15, 23, 42, .05), 0 8px 24px rgba(15, 23, 42, .06);
  --ce-shadow-2: 0 2px 5px rgba(15, 23, 42, .06), 0 18px 44px rgba(15, 23, 42, .09);
  --ce-shadow-3: 0 10px 30px rgba(15, 23, 42, .09), 0 30px 76px rgba(15, 23, 42, .13);
  --ce-shadow-dark-1: 0 1px 2px rgba(0, 0, 0, .22), 0 12px 30px rgba(0, 0, 0, .24);
  --ce-shadow-dark-2: 0 2px 8px rgba(0, 0, 0, .26), 0 24px 64px rgba(0, 0, 0, .32);
  --ce-shadow-dark-3: 0 12px 36px rgba(0, 0, 0, .30), 0 38px 96px rgba(0, 0, 0, .42);

  /* Layering */
  --ce-z-base: 0;
  --ce-z-sticky: 40;
  --ce-z-header: 50;
  --ce-z-overlay: 80;
  --ce-z-modal: 90;
  --ce-z-toast: 100;
}

/* --------------------------------------------------------------------------
   2. SEMANTIC / ALIAS TOKENS — LIGHT MODE
   -------------------------------------------------------------------------- */
.consultoria_externa-page {
  --ce-bg-canvas: #f2f7fb;
  --ce-bg-subtle: #e9f2f9;
  --ce-bg-surface: var(--ce-white);
  --ce-bg-surface-raised: rgba(255, 255, 255, .94);
  --ce-bg-glass: rgba(248, 252, 255, .84);
  --ce-bg-inverse: var(--ce-slate-950);

  --ce-text-primary: var(--ce-slate-950);
  --ce-text-secondary: var(--ce-slate-600);
  --ce-text-tertiary: var(--ce-slate-600);
  --ce-text-inverse: var(--ce-white);
  --ce-text-link: var(--ce-brand-blue-800);

  --ce-border-default: rgba(15, 23, 42, .12);
  --ce-border-strong: rgba(15, 23, 42, .22);
  --ce-border-accent: rgba(255, 117, 0, .42);

  --ce-interactive-primary: var(--ce-brand-blue-800);
  --ce-interactive-primary-hover: var(--ce-brand-blue-700);
  --ce-interactive-primary-active: #003e6b;
  --ce-interactive-accent: var(--ce-brand-orange-500);
  --ce-accent-text: #6b3c00;
  --ce-focus-ring: #005282;

  --ce-success-text: var(--ce-green-800);
  --ce-success-bg: var(--ce-green-50);
  --ce-success-border: rgba(15, 93, 61, .38);
  --ce-danger-text: var(--ce-red-800);
  --ce-danger-bg: var(--ce-red-50);
  --ce-danger-border: rgba(139, 30, 45, .38);
  --ce-warning-text: var(--ce-amber-800);
  --ce-warning-bg: var(--ce-amber-50);

  /* Compatibility mapping to existing plugin tokens */
  --consultoria_externa-font: var(--ce-font-ui);
  --consultoria_externa-bg: var(--ce-bg-canvas);
  --consultoria_externa-surface: var(--ce-bg-surface);
  --consultoria_externa-surface-soft: var(--ce-bg-glass);
  --consultoria_externa-surface-strong: var(--ce-bg-subtle);
  --consultoria_externa-text: var(--ce-text-primary);
  --consultoria_externa-text-soft: var(--ce-text-secondary);
  --consultoria_externa-line: var(--ce-border-default);
  --consultoria_externa-line-strong: var(--ce-border-strong);
  --consultoria_externa-primary: var(--ce-interactive-primary);
  --consultoria_externa-primary-2: var(--ce-interactive-primary-hover);
  --consultoria_externa-accent: var(--ce-interactive-accent);
  --consultoria_externa-accent-soft: #fff1e7;
  --consultoria_externa-success: var(--ce-success-text);
  --consultoria_externa-danger: var(--ce-danger-text);
  --consultoria_externa-shadow-sm: var(--ce-shadow-1);
  --consultoria_externa-shadow-md: var(--ce-shadow-2);
  --consultoria_externa-shadow-lg: var(--ce-shadow-3);
  --consultoria_externa-radius-sm: var(--ce-radius-sm);
  --consultoria_externa-radius-md: var(--ce-radius-lg);
  --consultoria_externa-radius-lg: var(--ce-radius-xl);

  color-scheme: light;
  background:
    radial-gradient(circle at 10% 7%, rgba(0, 75, 129, .14), transparent 31rem),
    radial-gradient(circle at 91% 25%, rgba(255, 117, 0, .12), transparent 27rem),
    linear-gradient(180deg, #edf5fb 0%, #f7fafc 30%, #fff8f2 66%, #f3f7fb 100%);
}

/* --------------------------------------------------------------------------
   3. SEMANTIC / ALIAS TOKENS — DARK MODE
   -------------------------------------------------------------------------- */
.consultoria_externa-page[data-theme="dark"] {
  --ce-bg-canvas: #08111f;
  --ce-bg-subtle: #111c2f;
  --ce-bg-surface: #0f1a2b;
  --ce-bg-surface-raised: rgba(17, 28, 47, .92);
  --ce-bg-glass: rgba(15, 26, 43, .76);
  --ce-bg-inverse: var(--ce-white);

  --ce-text-primary: #f8fafc;
  --ce-text-secondary: #b7c2d2;
  --ce-text-tertiary: #d8e0ea;
  --ce-text-inverse: var(--ce-slate-950);
  --ce-text-link: #8ecbf4;

  --ce-border-default: rgba(232, 238, 246, .13);
  --ce-border-strong: rgba(232, 238, 246, .24);
  --ce-border-accent: rgba(255, 117, 0, .46);

  --ce-interactive-primary: #8ecbf4;
  --ce-interactive-primary-hover: #b8e1ff;
  --ce-interactive-primary-active: #d4edff;
  --ce-interactive-accent: var(--ce-brand-orange-500);
  --ce-accent-text: #ffd08b;
  --ce-focus-ring: #ff9a4d;

  --ce-success-text: #92e7bf;
  --ce-success-bg: rgba(20, 108, 67, .20);
  --ce-success-border: rgba(146, 231, 191, .42);
  --ce-danger-text: #ffb2bd;
  --ce-danger-bg: rgba(180, 35, 58, .20);
  --ce-danger-border: rgba(255, 178, 189, .44);
  --ce-warning-text: #ffd08b;
  --ce-warning-bg: rgba(217, 119, 6, .18);

  --consultoria_externa-shadow-sm: var(--ce-shadow-dark-1);
  --consultoria_externa-shadow-md: var(--ce-shadow-dark-2);
  --consultoria_externa-shadow-lg: var(--ce-shadow-dark-3);
  --consultoria_externa-accent-soft: rgba(255, 117, 0, .12);

  color-scheme: dark;
  background:
    radial-gradient(circle at 10% 9%, rgba(0, 98, 155, .18), transparent 32rem),
    radial-gradient(circle at 92% 28%, rgba(255, 117, 0, .10), transparent 28rem),
    var(--ce-bg-canvas);
}

@supports (color: oklch(50% .1 240)) {
  .consultoria_externa-page {
    --ce-interactive-primary: var(--ce-oklch-brand-blue-800);
    --ce-interactive-accent: var(--ce-oklch-brand-orange-500);
  }
}

/* --------------------------------------------------------------------------
   4. TYPOGRAPHY / HIERARCHY
   -------------------------------------------------------------------------- */
.consultoria_externa-page,
.consultoria_externa-admin {
  font-family: var(--ce-font-ui);
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.consultoria_externa-page h1,
.consultoria_externa-page h2,
.consultoria_externa-page h3,
.consultoria_externa-page h4,
.consultoria_externa-admin h1,
.consultoria_externa-admin h2,
.consultoria_externa-admin h3 {
  color: var(--ce-text-primary, var(--consultoria_externa-admin-text));
  text-wrap: balance;
}

.consultoria_externa-hero h1,
.consultoria_externa-app-access-story h1 {
  font-family: var(--ce-font-ui);
  font-size: var(--ce-type-display);
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -.035em;
}

.consultoria_externa-section-heading h2,
.consultoria_externa-experience-copy h2,
.consultoria_externa-cta-copy h2,
.consultoria_externa-app-welcome h1,
.consultoria_externa-app-page-title h1,
.consultoria_externa-app-result-card h1,
.consultoria_externa-app-visualize-heading h1 {
  font-family: var(--ce-font-ui);
  font-size: var(--ce-type-h1);
  font-weight: 700;
  line-height: 1.10;
  letter-spacing: -.03em;
}

.consultoria_externa-module-card h3,
.consultoria_externa-journey-card h3,
.consultoria_externa-app-section-head h2,
.consultoria_externa-app-auth-heading h2,
.consultoria_externa-app-profile-challenges h2 {
  font-size: var(--ce-type-h3);
  line-height: 1.18;
  letter-spacing: -.025em;
}

.consultoria_externa-hero-lead,
.consultoria_externa-section-heading p,
.consultoria_externa-experience-copy > p,
.consultoria_externa-app-page-title p,
.consultoria_externa-app-welcome p {
  max-width: 68ch;
  font-size: var(--ce-type-body-lg);
  line-height: 1.72;
}

/* --------------------------------------------------------------------------
   5. ACCESSIBILITY — WCAG 2.2 FOCUS / TARGET / SKIP LINK
   -------------------------------------------------------------------------- */
.consultoria_externa-skip-link {
  position: fixed;
  left: var(--ce-space-4);
  top: var(--ce-space-4);
  z-index: 99999;
  padding: .75rem 1rem;
  border: 2px solid currentColor;
  border-radius: var(--ce-radius-sm);
  color: #fff;
  background: var(--ce-slate-950);
  box-shadow: var(--ce-shadow-2);
  font-size: .875rem;
  font-weight: 800;
  text-decoration: none;
  transform: translateY(-180%);
  transition: transform var(--ce-motion-fast) var(--ce-ease-standard);
}

.consultoria_externa-skip-link:focus {
  transform: translateY(0);
}

.consultoria_externa-page :where(a, button, input, select, textarea, [tabindex]):focus-visible,
.consultoria_externa-admin :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--ce-focus-ring, #005282) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--ce-focus-ring, #005282) 18%, transparent) !important;
}

.consultoria_externa-page :where(button, .consultoria_externa-button, .consultoria_externa-app-primary-button, .consultoria_externa-app-secondary-button, .consultoria_externa-app-card-action, .consultoria_externa-app-profile-challenge-action),
.consultoria_externa-admin :where(button, .consultoria_externa-admin-primary, .consultoria_externa-admin-secondary, .consultoria_externa-admin-tab) {
  min-height: 44px;
}

.consultoria_externa-page [aria-disabled="true"],
.consultoria_externa-page :disabled,
.consultoria_externa-admin :disabled {
  cursor: not-allowed !important;
  opacity: .56;
}

/* --------------------------------------------------------------------------
   6. GLASS / ELEVATION / SURFACES
   -------------------------------------------------------------------------- */
.consultoria_externa-topbar,
.consultoria_externa-app-header {
  z-index: var(--ce-z-header);
  border-bottom: 1px solid var(--ce-border-default);
  background: color-mix(in srgb, var(--ce-bg-canvas) 80%, transparent);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);
}

.consultoria_externa-module-card,
.consultoria_externa-journey-card,
.consultoria_externa-float-card,
.consultoria_externa-dialog-panel,
.consultoria_externa-app-auth-card,
.consultoria_externa-app-challenge-card,
.consultoria_externa-app-kpis article,
.consultoria_externa-app-profile-card,
.consultoria_externa-app-ranking-card,
.consultoria_externa-app-question-card,
.consultoria_externa-app-result-card,
.consultoria_externa-app-visualize-card,
.consultoria_externa-app-video-panel {
  border-color: var(--ce-border-default) !important;
  background: var(--ce-bg-surface-raised);
  box-shadow: var(--ce-shadow-2);
}

@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .consultoria_externa-float-card,
  .consultoria_externa-dialog-panel,
  .consultoria_externa-app-auth-card,
  .consultoria_externa-app-ranking-card {
    background: var(--ce-bg-glass);
    -webkit-backdrop-filter: blur(18px) saturate(135%);
    backdrop-filter: blur(18px) saturate(135%);
  }
}

.consultoria_externa-module-card,
.consultoria_externa-journey-card,
.consultoria_externa-app-challenge-card,
.consultoria_externa-app-kpis article {
  transition:
    transform var(--ce-motion-base) var(--ce-ease-emphasized),
    box-shadow var(--ce-motion-base) var(--ce-ease-emphasized),
    border-color var(--ce-motion-base) var(--ce-ease-standard);
}

@media (hover: hover) and (pointer: fine) {
  .consultoria_externa-module-card:hover,
  .consultoria_externa-journey-card:hover,
  .consultoria_externa-app-challenge-card:hover,
  .consultoria_externa-app-kpis article:hover {
    transform: translateY(-4px);
    border-color: var(--ce-border-accent) !important;
    box-shadow: var(--ce-shadow-3);
  }
}

/* --------------------------------------------------------------------------
   7. COMPONENT TOKENS — BUTTON SYSTEM
   -------------------------------------------------------------------------- */
.consultoria_externa-button,
.consultoria_externa-app-primary-button,
.consultoria_externa-app-secondary-button,
.consultoria_externa-app-card-action,
.consultoria_externa-app-profile-challenge-action,
.consultoria_externa-admin-primary,
.consultoria_externa-admin-secondary {
  --ce-button-radius: .875rem;
  --ce-button-height: 3rem;
  --ce-button-padding-x: 1.125rem;
  min-height: var(--ce-button-height);
  padding-inline: var(--ce-button-padding-x);
  border-radius: var(--ce-button-radius) !important;
  font-weight: 700;
  letter-spacing: -.01em;
  transition:
    transform var(--ce-motion-fast) var(--ce-ease-standard),
    background-color var(--ce-motion-base) var(--ce-ease-standard),
    border-color var(--ce-motion-base) var(--ce-ease-standard),
    color var(--ce-motion-base) var(--ce-ease-standard),
    box-shadow var(--ce-motion-base) var(--ce-ease-standard);
}

.consultoria_externa-button-primary,
.consultoria_externa-app-primary-button,
.consultoria_externa-admin-primary {
  color: #fff !important;
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, #003e6b, var(--ce-brand-blue-800)) !important;
  box-shadow: 0 10px 24px rgba(0, 75, 129, .20), inset 0 1px rgba(255, 255, 255, .18) !important;
}

.consultoria_externa-page[data-theme="dark"] .consultoria_externa-app-primary-button,
.consultoria_externa-page[data-theme="dark"] .consultoria_externa-button-primary {
  color: var(--ce-slate-950) !important;
  background: linear-gradient(135deg, #b8e1ff, #8ecbf4) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .55) !important;
}

.consultoria_externa-button-ghost,
.consultoria_externa-app-secondary-button,
.consultoria_externa-admin-secondary {
  color: var(--ce-text-primary, var(--ce-slate-950)) !important;
  border: 1px solid var(--ce-border-strong, rgba(15,23,42,.20)) !important;
  background: var(--ce-bg-surface, #fff) !important;
  box-shadow: var(--ce-shadow-1) !important;
}

.consultoria_externa-button-outline-light {
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.55) !important;
  background: rgba(255,255,255,.08) !important;
}

@media (hover: hover) and (pointer: fine) {
  .consultoria_externa-button:hover,
  .consultoria_externa-app-primary-button:hover,
  .consultoria_externa-app-secondary-button:hover,
  .consultoria_externa-app-card-action:hover,
  .consultoria_externa-app-profile-challenge-action:hover,
  .consultoria_externa-admin-primary:hover,
  .consultoria_externa-admin-secondary:hover {
    transform: translateY(-1px);
  }
}

.consultoria_externa-button:active,
.consultoria_externa-app-primary-button:active,
.consultoria_externa-app-secondary-button:active,
.consultoria_externa-app-card-action:active,
.consultoria_externa-app-profile-challenge-action:active {
  transform: translateY(0) scale(.985);
}

.consultoria_externa-is-loading,
.consultoria_externa-is-loading * {
  cursor: progress !important;
}

.consultoria_externa-is-loading {
  position: relative;
  overflow: hidden;
}

.consultoria_externa-is-loading::after {
  content: "";
  width: 1rem;
  height: 1rem;
  margin-left: .5rem;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  display: inline-block;
  vertical-align: -.15rem;
  animation: ce-spin .7s linear infinite;
}

@keyframes ce-spin { to { transform: rotate(360deg); } }

/* --------------------------------------------------------------------------
   8. FORM INPUTS / SELECTS / CONTROLS
   -------------------------------------------------------------------------- */
.consultoria_externa-field,
.consultoria_externa-app-field,
.consultoria_externa-admin-field {
  gap: .45rem;
}

.consultoria_externa-field label,
.consultoria_externa-app-field label,
.consultoria_externa-admin-field label {
  color: var(--ce-text-primary, var(--ce-slate-950));
  font-size: .8125rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.005em;
}

.consultoria_externa-page :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.consultoria_externa-admin :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  min-height: 48px;
  border: 1px solid var(--ce-border-strong, rgba(15,23,42,.20)) !important;
  border-radius: .875rem !important;
  color: var(--ce-text-primary, var(--ce-slate-950)) !important;
  background: color-mix(in srgb, var(--ce-bg-surface, #fff) 94%, transparent) !important;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .035) !important;
  transition:
    border-color var(--ce-motion-fast) var(--ce-ease-standard),
    box-shadow var(--ce-motion-fast) var(--ce-ease-standard),
    background-color var(--ce-motion-fast) var(--ce-ease-standard);
}

.consultoria_externa-page :where(input, select, textarea)::placeholder,
.consultoria_externa-admin :where(input, textarea)::placeholder {
  color: color-mix(in srgb, var(--ce-text-secondary, #536176) 82%, transparent);
  opacity: 1;
}

.consultoria_externa-page :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus,
.consultoria_externa-admin :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus {
  border-color: var(--ce-focus-ring, #005282) !important;
  background: var(--ce-bg-surface, #fff) !important;
}

.consultoria_externa-field-invalid input,
.consultoria_externa-app-field.consultoria_externa-is-invalid input,
.consultoria_externa-app-field.consultoria_externa-is-invalid select,
.consultoria_externa-page [aria-invalid="true"] {
  border-color: var(--ce-danger-text) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ce-danger-text) 12%, transparent) !important;
}

.consultoria_externa-field-error,
.consultoria_externa-app-field > small[data-error-for]:not(:empty),
.consultoria_externa-app-auth-feedback.consultoria_externa-is-error {
  color: var(--ce-danger-text) !important;
  font-weight: 650;
}

.consultoria_externa-app-auth-feedback.consultoria_externa-is-success,
.consultoria_externa-form-feedback.consultoria_externa-success-message {
  color: var(--ce-success-text) !important;
}

.consultoria_externa-app-select-wrap {
  position: relative;
}

.consultoria_externa-app-select-wrap select {
  appearance: none;
  padding-right: 2.8rem !important;
}

.consultoria_externa-app-select-wrap > svg {
  pointer-events: none;
}

.consultoria_externa-consent,
.consultoria_externa-app-consent {
  min-height: 44px;
  align-items: flex-start;
}

.consultoria_externa-app-consent input,
.consultoria_externa-consent input {
  width: 1.25rem;
  height: 1.25rem;
  accent-color: var(--ce-interactive-primary);
}

/* --------------------------------------------------------------------------
   9. NAVIGATION SUITE
   -------------------------------------------------------------------------- */
.consultoria_externa-app-nav a,
.consultoria_externa-admin-tab {
  border-radius: .75rem;
  transition:
    color var(--ce-motion-fast) var(--ce-ease-standard),
    background-color var(--ce-motion-fast) var(--ce-ease-standard),
    transform var(--ce-motion-fast) var(--ce-ease-standard);
}

.consultoria_externa-app-nav a.consultoria_externa-is-active,
.consultoria_externa-app-nav a[aria-current="page"] {
  color: var(--ce-text-primary);
  background: color-mix(in srgb, var(--ce-interactive-primary) 10%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ce-interactive-primary) 18%, transparent);
}

.consultoria_externa-app-header-inner {
  min-height: 76px;
}

.consultoria_externa-app-user-chip {
  border-color: var(--ce-border-default) !important;
  background: color-mix(in srgb, var(--ce-bg-surface) 84%, transparent) !important;
}

/* --------------------------------------------------------------------------
   10. EXECUTIVE CARDS / KPIs / STATUS
   -------------------------------------------------------------------------- */
.consultoria_externa-modules-grid,
.consultoria_externa-app-challenge-grid,
.consultoria_externa-app-kpis,
.consultoria_externa-journey-grid {
  container-type: inline-size;
}

.consultoria_externa-module-card,
.consultoria_externa-app-challenge-card,
.consultoria_externa-app-kpis article {
  container-type: inline-size;
}

.consultoria_externa-app-status,
.consultoria_externa-admin-status,
.consultoria_externa-app-profile-approval {
  border: 1px solid currentColor;
  font-weight: 800;
  letter-spacing: .035em;
}

.consultoria_externa-app-status.consultoria_externa-is-completed,
.consultoria_externa-app-profile-approval.consultoria_externa-is-approved,
.consultoria_externa-admin-status {
  color: var(--ce-success-text) !important;
  background: var(--ce-success-bg) !important;
}

.consultoria_externa-app-profile-approval.consultoria_externa-is-not-approved,
.consultoria_externa-admin-danger,
.consultoria_externa-admin-danger-button {
  color: var(--ce-danger-text) !important;
}

.consultoria_externa-app-profile-approval.consultoria_externa-is-pending {
  color: var(--ce-warning-text) !important;
  background: var(--ce-warning-bg) !important;
}

.consultoria_externa-app-progress,
.consultoria_externa-app-progress-large {
  overflow: hidden;
  border-radius: var(--ce-radius-full);
  background: color-mix(in srgb, var(--ce-text-primary) 9%, transparent);
}

.consultoria_externa-app-progress > span,
.consultoria_externa-app-progress-large > span {
  background: linear-gradient(90deg, var(--ce-brand-blue-800), var(--ce-brand-orange-500)) !important;
}

/* --------------------------------------------------------------------------
   11. DIALOGS / OVERLAYS / FEEDBACK
   -------------------------------------------------------------------------- */
.consultoria_externa-dialog {
  z-index: var(--ce-z-modal);
}

.consultoria_externa-dialog::backdrop {
  background: rgba(3, 10, 20, .70);
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}

.consultoria_externa-dialog-panel {
  border: 1px solid var(--ce-border-strong) !important;
  border-radius: var(--ce-radius-xl) !important;
}

.consultoria_externa-dialog-close,
.consultoria_externa-theme-toggle,
.consultoria_externa-app-icon-button,
.consultoria_externa-app-password-toggle,
.consultoria_externa-app-captcha-refresh {
  min-width: 44px;
  min-height: 44px;
  border-color: var(--ce-border-default) !important;
}

/* --------------------------------------------------------------------------
   12. HERO / BRAND AUTHORITY
   -------------------------------------------------------------------------- */
.consultoria_externa-kicker,
.consultoria_externa-eyebrow,
.consultoria_externa-app-eyebrow,
.consultoria_externa-admin-eyebrow,
.consultoria_externa-app-access-kicker {
  color: var(--ce-brand-blue-800);
  font-weight: 800;
  letter-spacing: .11em;
}

.consultoria_externa-page[data-theme="dark"] :where(
  .consultoria_externa-kicker,
  .consultoria_externa-eyebrow,
  .consultoria_externa-app-eyebrow,
  .consultoria_externa-app-access-kicker
) {
  color: #9bd1f4;
}

.consultoria_externa-module-icon,
.consultoria_externa-float-icon,
.consultoria_externa-app-challenge-icon,
.consultoria_externa-app-result-icon {
  color: var(--ce-brand-orange-800);
  background: #fff4e8;
}

.consultoria_externa-page[data-theme="dark"] :where(
  .consultoria_externa-module-icon,
  .consultoria_externa-float-icon,
  .consultoria_externa-app-challenge-icon,
  .consultoria_externa-app-result-icon
) {
  color: #ffc17e;
  background: rgba(255, 117, 0, .13);
}

.consultoria_externa-cta-card {
  color: #fff;
  background:
    radial-gradient(circle at 90% 0%, rgba(255, 117, 0, .30), transparent 28rem),
    linear-gradient(135deg, #071827, #004b81 70%, #0b5a88) !important;
  box-shadow: var(--ce-shadow-3);
}

/* --------------------------------------------------------------------------
   13. AUTH / CAPTCHA / VIDEO EXPERIENCE
   -------------------------------------------------------------------------- */
.consultoria_externa-app-access-page {
  background:
    radial-gradient(circle at 7% 12%, rgba(0, 75, 129, .20), transparent 30rem),
    radial-gradient(circle at 92% 84%, rgba(255, 117, 0, .12), transparent 28rem),
    linear-gradient(135deg, color-mix(in srgb, var(--ce-bg-canvas) 94%, #004b81 6%), var(--ce-bg-canvas)) !important;
}

.consultoria_externa-app-auth-tabs {
  padding: .25rem;
  border: 1px solid var(--ce-border-default);
  border-radius: .875rem;
  background: var(--ce-bg-subtle);
}

.consultoria_externa-app-auth-tabs [role="tab"][aria-selected="true"] {
  color: #fff !important;
  background: var(--ce-brand-blue-800) !important;
  box-shadow: var(--ce-shadow-1);
}

.consultoria_externa-page[data-theme="dark"] .consultoria_externa-app-auth-tabs [role="tab"][aria-selected="true"] {
  color: var(--ce-slate-950) !important;
  background: #b8e1ff !important;
}

.consultoria_externa-app-captcha {
  border-color: var(--ce-border-strong) !important;
  border-radius: .875rem !important;
  background: var(--ce-bg-subtle) !important;
}

.consultoria_externa-app-video-frame {
  overflow: hidden;
  border: 1px solid var(--ce-border-default);
  border-radius: var(--ce-radius-lg);
  box-shadow: var(--ce-shadow-2);
}


.consultoria_externa-cta-card h2,
.consultoria_externa-page[data-theme="light"] .consultoria_externa-cta-card h2 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
}

.consultoria_externa-app-video-frame {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(circle at 18% 18%, rgba(76, 140, 255, .22), transparent 18rem),
    radial-gradient(circle at 84% 100%, rgba(255, 117, 0, .14), transparent 18rem),
    linear-gradient(150deg, #07162f 0%, #0a2c5f 58%, #123a77 100%);
}

.consultoria_externa-app-video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  z-index: 3;
}

.consultoria_externa-app-video-cover {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  width: 100%;
  padding: 0;
  border: 0;
  overflow: hidden;
  cursor: pointer;
  text-align: left;
  color: #ffffff;
  background: transparent;
  transition: transform var(--ce-motion-fast) var(--ce-ease-standard);
}

.consultoria_externa-app-video-cover::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(5, 18, 41, .16) 0%, rgba(5, 18, 41, .26) 34%, rgba(3, 13, 30, .84) 100%),
    linear-gradient(135deg, rgba(0, 82, 130, .48) 0%, rgba(0, 82, 130, .08) 42%, rgba(255, 117, 0, .14) 100%);
}

.consultoria_externa-app-video-cover-media,
.consultoria_externa-app-video-cover-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.consultoria_externa-app-video-cover-media img {
  object-fit: cover;
  filter: saturate(1.08) contrast(1.02);
  transform: scale(1.02);
  transition: transform var(--ce-motion-base) var(--ce-ease-emphasized), filter var(--ce-motion-base) var(--ce-ease-standard);
}

.consultoria_externa-app-video-cover-badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .5rem .8rem;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  background: rgba(5, 16, 36, .48);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  backdrop-filter: blur(10px) saturate(140%);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
}

.consultoria_externa-app-video-cover-content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: clamp(1rem, 2.6vw, 1.6rem);
}

.consultoria_externa-app-video-cover-copy {
  display: grid;
  gap: .4rem;
  max-width: min(72%, 24rem);
}

.consultoria_externa-app-video-cover-copy strong {
  font-size: clamp(1rem, 2vw, 1.25rem);
  line-height: 1.2;
  letter-spacing: -.02em;
}

.consultoria_externa-app-video-cover-copy small {
  color: rgba(255, 255, 255, .82);
  font-size: .84rem;
  line-height: 1.55;
}

.consultoria_externa-app-video-play {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: clamp(4rem, 7vw, 5.6rem);
  height: clamp(4rem, 7vw, 5.6rem);
  border-radius: 999px;
  background: linear-gradient(145deg, #005282 0%, #2d72bc 100%);
  box-shadow:
    0 18px 34px rgba(0, 82, 130, .34),
    inset 0 1px 0 rgba(255, 255, 255, .18),
    0 0 0 10px rgba(255, 255, 255, .08);
  transition: transform var(--ce-motion-base) var(--ce-ease-emphasized), box-shadow var(--ce-motion-base) var(--ce-ease-standard);
}

.consultoria_externa-app-video-play > span {
  width: 1.9rem;
  height: 1.9rem;
  display: grid;
  place-items: center;
}

.consultoria_externa-app-video-play svg {
  width: 100%;
  height: 100%;
  color: #ffffff;
}

@media (hover: hover) and (pointer: fine) {
  .consultoria_externa-app-video-cover:hover .consultoria_externa-app-video-cover-media img {
    transform: scale(1.05);
    filter: saturate(1.12) contrast(1.05);
  }

  .consultoria_externa-app-video-cover:hover .consultoria_externa-app-video-play {
    transform: translateY(-2px) scale(1.03);
    box-shadow:
      0 22px 40px rgba(0, 82, 130, .40),
      inset 0 1px 0 rgba(255, 255, 255, .20),
      0 0 0 12px rgba(255, 255, 255, .10);
  }
}

.consultoria_externa-app-video-cover:focus-visible {
  outline: 3px solid rgba(184, 225, 255, .95);
  outline-offset: -3px;
}

.consultoria_externa-app-video-frame.consultoria_externa-is-playing .consultoria_externa-app-video-cover {
  opacity: 0;
  pointer-events: none;
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-app-video-panel {
  background:
    linear-gradient(180deg, rgba(0, 82, 130, .06) 0%, rgba(248, 250, 252, .94) 100%);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-app-video-frame {
  border-color: rgba(0, 82, 130, .18);
  box-shadow: 0 24px 48px rgba(6, 27, 63, .14);
}

.consultoria_externa-page[data-theme="dark"] .consultoria_externa-app-video-panel {
  background:
    linear-gradient(180deg, rgba(45, 114, 188, .10) 0%, rgba(8, 17, 31, .86) 100%);
}

@media (max-width: 680px) {
  .consultoria_externa-app-video-cover-content {
    align-items: center;
  }

  .consultoria_externa-app-video-cover-copy {
    max-width: calc(100% - 5.4rem);
  }

  .consultoria_externa-app-video-cover-copy strong {
    font-size: 1rem;
  }

  .consultoria_externa-app-video-cover-copy small {
    font-size: .78rem;
  }

  .consultoria_externa-app-video-cover-badge {
    top: .8rem;
    left: .8rem;
    font-size: .62rem;
    letter-spacing: .12em;
  }
}

/* --------------------------------------------------------------------------
   14. ADMIN DESIGN ENGINE
   -------------------------------------------------------------------------- */
.consultoria_externa-admin {
  --ce-bg-canvas: #f4f7fb;
  --ce-bg-surface: #ffffff;
  --ce-bg-subtle: #f8fafc;
  --ce-text-primary: #0f172a;
  --ce-text-secondary: #475569;
  --ce-border-default: rgba(15, 23, 42, .11);
  --ce-border-strong: rgba(15, 23, 42, .20);
  --ce-focus-ring: #005282;
  --ce-success-text: #0f5d3d;
  --ce-success-bg: #ecfdf5;
  --ce-danger-text: #8b1e2d;
  --ce-danger-bg: #fff0f2;

  --consultoria_externa-admin-bg: var(--ce-bg-canvas);
  --consultoria_externa-admin-surface: var(--ce-bg-surface);
  --consultoria_externa-admin-text: var(--ce-text-primary);
  --consultoria_externa-admin-muted: var(--ce-text-secondary);
  --consultoria_externa-admin-line: var(--ce-border-default);
  --consultoria_externa-admin-primary: var(--ce-brand-blue-800);
  --consultoria_externa-admin-primary-hover: var(--ce-brand-blue-700);
  --consultoria_externa-admin-accent: var(--ce-brand-orange-500);
  --consultoria_externa-admin-success: var(--ce-success-text);
  --consultoria_externa-admin-danger: var(--ce-danger-text);

  background:
    radial-gradient(circle at 92% 5%, rgba(255,117,0,.05), transparent 28rem),
    radial-gradient(circle at 4% 0%, rgba(0,75,129,.06), transparent 30rem),
    var(--ce-bg-canvas) !important;
}

.consultoria_externa-admin-card,
.consultoria_externa-admin-stat,
.consultoria_externa-admin-tabs,
.consultoria_externa-admin-sticky-actions,
.consultoria_externa-admin-maintenance-card,
.consultoria_externa-admin-question {
  border-color: var(--ce-border-default) !important;
  background: var(--ce-bg-surface) !important;
  box-shadow: var(--ce-shadow-1) !important;
}

.consultoria_externa-admin-card,
.consultoria_externa-admin-maintenance-card {
  border-radius: 1.125rem !important;
}

.consultoria_externa-admin-stat {
  border-radius: 1rem !important;
  border-top: 3px solid var(--ce-brand-blue-800) !important;
}

.consultoria_externa-admin-tabs {
  max-width: calc(100% - 2px);
  overflow-x: auto;
  scrollbar-width: thin;
}

.consultoria_externa-admin-tab-active,
.consultoria_externa-admin-tab-active:hover {
  color: #fff !important;
  background: var(--ce-brand-blue-800) !important;
}

.consultoria_externa-admin-table th {
  color: #334155 !important;
  background: #f1f5f9 !important;
}

.consultoria_externa-admin-table tbody tr:hover {
  background: #f8fafc !important;
}

.consultoria_externa-admin-notice {
  color: var(--ce-success-text) !important;
  border-color: rgba(15,93,61,.22) !important;
  background: var(--ce-success-bg) !important;
}

.consultoria_externa-admin-notice-error,
.consultoria_externa-admin-danger-box {
  color: var(--ce-danger-text) !important;
  border-color: rgba(139,30,45,.24) !important;
  background: var(--ce-danger-bg) !important;
}

/* --------------------------------------------------------------------------
   15. CONTAINER QUERIES — RESPONSIVE MICRO-LAYOUTS
   -------------------------------------------------------------------------- */
@container (max-width: 740px) {
  .consultoria_externa-module-card,
  .consultoria_externa-app-challenge-card {
    padding: 1.25rem !important;
  }

  .consultoria_externa-app-challenge-meta {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: .5rem !important;
  }
}

@container (max-width: 440px) {
  .consultoria_externa-app-challenge-meta {
    grid-template-columns: 1fr;
  }

  .consultoria_externa-module-card h3,
  .consultoria_externa-app-challenge-card h3 {
    font-size: 1.25rem !important;
  }
}

/* --------------------------------------------------------------------------
   16. VIEWPORT RESPONSIVENESS
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .consultoria_externa-app-header-inner {
    min-height: auto;
    padding-block: .75rem;
  }

  .consultoria_externa-app-nav {
    order: 3;
    width: 100%;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .consultoria_externa-app-nav::-webkit-scrollbar { display: none; }

  .consultoria_externa-app-nav a {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
}

@media (max-width: 640px) {
  .consultoria_externa-container,
  .consultoria_externa-app-shell {
    width: min(100% - 28px, 1220px) !important;
  }

  .consultoria_externa-hero,
  .consultoria_externa-section {
    padding-block: clamp(3.5rem, 12vw, 5.25rem) !important;
  }

  .consultoria_externa-button,
  .consultoria_externa-app-primary-button,
  .consultoria_externa-app-secondary-button {
    width: 100%;
    justify-content: center;
  }

  .consultoria_externa-app-auth-card,
  .consultoria_externa-dialog-panel,
  .consultoria_externa-app-profile-card,
  .consultoria_externa-app-result-card,
  .consultoria_externa-app-question-card,
  .consultoria_externa-app-visualize-card {
    border-radius: 1.25rem !important;
  }

  .consultoria_externa-admin {
    padding-inline: 18px !important;
  }

  .consultoria_externa-admin-header {
    align-items: flex-start !important;
  }

  .consultoria_externa-admin-header-actions {
    width: 100%;
  }

  .consultoria_externa-admin-header-actions a,
  .consultoria_externa-admin-header-actions button {
    flex: 1 1 100%;
  }
}

/* --------------------------------------------------------------------------
   17. REDUCED MOTION / HIGH CONTRAST / PRINT
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .consultoria_externa-page *,
  .consultoria_externa-page *::before,
  .consultoria_externa-page *::after,
  .consultoria_externa-admin *,
  .consultoria_externa-admin *::before,
  .consultoria_externa-admin *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media (prefers-contrast: more) {
  .consultoria_externa-page,
  .consultoria_externa-admin {
    --ce-border-default: rgba(15, 23, 42, .35);
    --ce-border-strong: rgba(15, 23, 42, .55);
  }

  .consultoria_externa-page[data-theme="dark"] {
    --ce-border-default: rgba(255, 255, 255, .34);
    --ce-border-strong: rgba(255, 255, 255, .56);
  }
}

@media print {
  .consultoria_externa-topbar,
  .consultoria_externa-app-header,
  .consultoria_externa-app-footer,
  .consultoria_externa-theme-toggle,
  .consultoria_externa-app-logout,
  .consultoria_externa-admin-header-actions,
  .consultoria_externa-admin-tabs {
    display: none !important;
  }

  .consultoria_externa-page,
  .consultoria_externa-admin {
    color: #000 !important;
    background: #fff !important;
  }

  .consultoria_externa-module-card,
  .consultoria_externa-app-challenge-card,
  .consultoria_externa-app-result-card,
  .consultoria_externa-admin-card {
    box-shadow: none !important;
    break-inside: avoid;
  }
}


/* AAA text-safe brand accent: keep #FF7500 for decorative UI, use contrast-safe text aliases. */
.consultoria_externa-hero-metrics strong,
.consultoria_externa-value-stack span,
.consultoria_externa-app-access-badges span:nth-child(3) {
  color: var(--ce-accent-text) !important;
}

.consultoria_externa-app-answer-feedback.consultoria_externa-is-wrong {
  border-color: var(--ce-danger-border) !important;
  background: var(--ce-danger-bg) !important;
  color: var(--ce-text-primary) !important;
}

.consultoria_externa-app-answer-feedback.consultoria_externa-is-correct {
  border-color: var(--ce-success-border) !important;
  background: var(--ce-success-bg) !important;
  color: var(--ce-text-primary) !important;
}

/* --------------------------------------------------------------------------
   17.1 QUESTION EXPERIENCE — TYPOGRAPHY / READING RHYTHM
   A seção FAÇA herda a linguagem do Hero: Inter, peso 700, tracking negativo
   moderado e uma escala desktop contida para reduzir carga cognitiva.
   -------------------------------------------------------------------------- */
.consultoria_externa-app-question-card h2,
.consultoria_externa-app-question-sidebar h1 {
  font-family:var(--ce-font-ui);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

.consultoria_externa-app-question-card h2 {
  color:var(--ce-text-primary);
  font-weight:700;
  letter-spacing:-.03em;
}

.consultoria_externa-app-choice-list span,
.consultoria_externa-app-match-row > div span,
.consultoria_externa-app-match-row select,
.consultoria_externa-app-answer-feedback p,
.consultoria_externa-app-question-actions > span {
  font-family:var(--ce-font-ui);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-app-question-sidebar {
  border-color:rgba(0,75,129,.14);
  background:
    radial-gradient(circle at 0 0,rgba(0,98,155,.10),transparent 14rem),
    linear-gradient(155deg,#eef7fc 0%,#f8fbfd 58%,#fff8f1 100%);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-app-question-card {
  border-color:rgba(0,75,129,.14);
  background:
    radial-gradient(circle at 100% 0,rgba(0,98,155,.055),transparent 20rem),
    linear-gradient(180deg,#fbfdff 0%,#ffffff 32%);
  box-shadow:0 2px 5px rgba(15,23,42,.04),0 24px 60px rgba(27,66,108,.085);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-app-choice-list span {
  background:linear-gradient(180deg,#fbfdff,#f5f9fc);
}

.consultoria_externa-page[data-theme="dark"] .consultoria_externa-app-question-sidebar {
  background:
    radial-gradient(circle at 0 0,rgba(45,114,188,.16),transparent 15rem),
    linear-gradient(155deg,rgba(15,34,62,.96),rgba(8,17,31,.94));
}

.consultoria_externa-page[data-theme="dark"] .consultoria_externa-app-question-card {
  background:
    radial-gradient(circle at 100% 0,rgba(45,114,188,.10),transparent 22rem),
    linear-gradient(180deg,rgba(14,30,53,.98),rgba(8,17,31,.98) 34%);
}

@media (min-width:1100px) {
  .consultoria_externa-app-question-layout {
    grid-template-columns:minmax(280px,320px) minmax(0,1fr);
  }

  .consultoria_externa-app-question-card h2 {
    font-size:clamp(1.75rem,2vw,2rem);
    line-height:1.16;
  }

  .consultoria_externa-app-choice-list span {
    min-height:68px;
  }
}

@container (max-width:720px) {
  .consultoria_externa-app-question-card h2 {
    max-width:none;
    font-size:clamp(1.5rem,4.2cqw,1.85rem);
  }
}

@media (max-width:960px) {
  .consultoria_externa-app-question-card h2 {
    max-width:34ch;
  }

  .consultoria_externa-app-question-sidebar h1 {
    max-width:none;
  }
}

@media (max-width:640px) {
  .consultoria_externa-app-question-card {
    padding:24px 18px !important;
  }

  .consultoria_externa-app-question-card::before {
    left:18px;
    right:18px;
  }

  .consultoria_externa-app-question-card h2 {
    max-width:none;
    margin-bottom:24px;
    font-size:clamp(1.45rem,7vw,1.75rem);
    line-height:1.18;
  }

  .consultoria_externa-app-choice-list span {
    min-height:62px;
    padding:13px 14px;
    gap:12px;
    font-size:14px;
  }

  .consultoria_externa-app-choice-list span b {
    width:36px;
    height:36px;
    flex-basis:36px;
  }

  .consultoria_externa-app-matching-head {
    display:none;
  }

  .consultoria_externa-app-match-row {
    grid-template-columns:1fr;
  }

  .consultoria_externa-app-match-row > div {
    min-height:0;
    border-right:0;
    border-bottom:1px solid var(--consultoria_externa-line);
  }

  .consultoria_externa-app-match-row select {
    min-height:50px;
    margin:12px;
    font-size:13px;
  }

  .consultoria_externa-app-question-actions {
    align-items:stretch;
    flex-direction:column;
  }
}

/* --------------------------------------------------------------------------
   18. SECOND VISUAL REFINEMENT — DESKTOP HARMONY / LIGHT MODE / FOOTER
   Objetivo: reduzir escala excessiva, unificar tipografia e aumentar presença
   cromática do Light Mode sem comprometer a clareza Enterprise.
   -------------------------------------------------------------------------- */

/* Header principal: proporção mais editorial e menos "banner" no desktop. */
.consultoria_externa-topbar,
.consultoria_externa-app-header {
  box-shadow: 0 1px 0 rgba(0, 75, 129, .06), 0 12px 34px rgba(15, 23, 42, .055);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-topbar,
.consultoria_externa-page[data-theme="light"] .consultoria_externa-app-header {
  border-bottom-color: rgba(0, 75, 129, .16);
  background:
    linear-gradient(90deg, rgba(232, 243, 251, .94), rgba(255, 255, 255, .94) 48%, rgba(255, 241, 230, .92));
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-topbar::after,
.consultoria_externa-page[data-theme="light"] .consultoria_externa-app-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  pointer-events: none;
  background: linear-gradient(90deg, #004b81 0%, #00629b 38%, #ff7500 100%);
  opacity: .78;
}

/* Marca mais compacta para preservar respiro no topo. */
.consultoria_externa-brand-copy strong,
.consultoria_externa-app-brand strong {
  font-family: var(--ce-font-ui);
  font-weight: 700;
  letter-spacing: -.012em;
}

/* Hero: mesma família tipográfica do header e do restante da experiência. */
.consultoria_externa-hero h1,
.consultoria_externa-app-access-story h1 {
  font-family: var(--ce-font-ui) !important;
  max-width: 720px;
  text-wrap: balance;
}

.consultoria_externa-hero-lead {
  max-width: 650px;
}

/* O light mode ganha cor por planos, não por saturação de texto. */
.consultoria_externa-page[data-theme="light"] .consultoria_externa-hero {
  background:
    radial-gradient(circle at 82% 20%, rgba(0, 98, 155, .10), transparent 29rem),
    radial-gradient(circle at 18% 78%, rgba(255, 117, 0, .09), transparent 24rem);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-hero-grid {
  border-color: rgba(0, 75, 129, .18);
  background:
    linear-gradient(138deg, rgba(235, 247, 255, .96) 0%, rgba(255, 255, 255, .95) 48%, rgba(255, 241, 230, .91) 100%);
  box-shadow:
    0 34px 84px rgba(0, 75, 129, .12),
    0 9px 24px rgba(15, 23, 42, .055),
    inset 0 1px rgba(255,255,255,.96);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-hero-grid::before {
  background:
    linear-gradient(115deg, rgba(0, 75, 129, .055), transparent 32%),
    radial-gradient(circle at 90% 12%, rgba(255, 117, 0, .11), transparent 25rem);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-kicker {
  color: #004b81;
  border-color: rgba(0, 75, 129, .20);
  background: linear-gradient(135deg, rgba(232, 243, 251, .96), rgba(255, 244, 235, .92));
  box-shadow: 0 9px 24px rgba(0, 75, 129, .08), inset 0 1px rgba(255,255,255,.9);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-kicker-icon {
  color: #b65300;
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-proof-pill {
  color: #334155;
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-hero-metrics {
  border-color: rgba(0, 75, 129, .18);
  background: rgba(255,255,255,.44);
  border-radius: .85rem;
  overflow: hidden;
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-hero-metrics > div {
  padding-inline: 1rem;
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-hero-metrics > div + div {
  border-color: rgba(0, 75, 129, .14);
}

/* Seções com identidade cromática suficiente para diferenciar o fluxo. */
.consultoria_externa-page[data-theme="light"] .consultoria_externa-overview {
  border-block-color: rgba(0, 75, 129, .12);
  background:
    radial-gradient(circle at 94% 12%, rgba(0, 98, 155, .10), transparent 24rem),
    linear-gradient(180deg, #eaf3fa 0%, #f5f9fc 56%, rgba(255,255,255,.55) 100%);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-experience {
  background:
    radial-gradient(circle at 6% 30%, rgba(255, 117, 0, .105), transparent 25rem),
    radial-gradient(circle at 92% 75%, rgba(0, 75, 129, .08), transparent 28rem),
    linear-gradient(180deg, #fffaf5 0%, #f8fbfd 100%);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-journey {
  border-color: rgba(0, 75, 129, .13);
  background:
    radial-gradient(circle at 10% 92%, rgba(255, 117, 0, .08), transparent 22rem),
    linear-gradient(180deg, #e9f3fa 0%, #f3f8fc 100%);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-module-card,
.consultoria_externa-page[data-theme="light"] .consultoria_externa-journey-card,
.consultoria_externa-page[data-theme="light"] .consultoria_externa-value-stack > div {
  border-color: rgba(0, 75, 129, .14) !important;
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-module-card:nth-child(1),
.consultoria_externa-page[data-theme="light"] .consultoria_externa-journey-card:nth-child(1) {
  background: linear-gradient(145deg, #ffffff 22%, #edf7fd 100%);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-module-card:nth-child(2),
.consultoria_externa-page[data-theme="light"] .consultoria_externa-journey-card:nth-child(2) {
  background: linear-gradient(145deg, #ffffff 18%, #fff3e8 100%);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-module-card:nth-child(3),
.consultoria_externa-page[data-theme="light"] .consultoria_externa-journey-card:nth-child(3) {
  background: linear-gradient(145deg, #ffffff 18%, #eef6f5 100%);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-module-icon {
  border-color: rgba(0, 75, 129, .16);
  color: #004b81;
  background: linear-gradient(145deg, #e7f3fb, #fff4ea);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-value-stack > div {
  background: linear-gradient(90deg, rgba(232,243,251,.92), rgba(255,255,255,.94) 62%, rgba(255,241,230,.68));
  box-shadow: 0 8px 20px rgba(0, 75, 129, .045);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-eyebrow,
.consultoria_externa-page[data-theme="light"] .consultoria_externa-module-kicker {
  color: #005282;
}

/* Experiência autenticada: Light Mode mais vivo, mantendo densidade executiva. */
.consultoria_externa-app-access-page[data-theme="light"] {
  background:
    radial-gradient(circle at 7% 13%, rgba(0, 98, 155, .20), transparent 31rem),
    radial-gradient(circle at 93% 84%, rgba(255, 117, 0, .16), transparent 29rem),
    linear-gradient(135deg, #e8f3fb 0%, #f7fafc 50%, #fff2e8 100%);
}

.consultoria_externa-app-access-page[data-theme="light"] .consultoria_externa-app-access-shell {
  border-color: rgba(0, 75, 129, .19);
  background: rgba(255,255,255,.68);
  box-shadow: 0 34px 90px rgba(0,75,129,.14), 0 8px 22px rgba(15,23,42,.05);
}

.consultoria_externa-app-access-page[data-theme="light"] .consultoria_externa-app-access-story {
  background: linear-gradient(150deg, rgba(232,243,251,.76), rgba(255,255,255,.40) 64%);
}

.consultoria_externa-app-access-page[data-theme="light"] .consultoria_externa-app-auth-card {
  border-color: rgba(255,117,0,.18) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(255,244,235,.88)) !important;
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-app-welcome {
  border-color: rgba(0,75,129,.17);
  background:
    radial-gradient(circle at 92% 10%, rgba(255,117,0,.11), transparent 18rem),
    linear-gradient(135deg, #eaf5fc 0%, #ffffff 58%, #fff4eb 100%);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-app-kpis article:nth-child(1) {
  background: linear-gradient(145deg, #ffffff, #e9f5fc);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-app-kpis article:nth-child(2) {
  background: linear-gradient(145deg, #ffffff, #edf8f3);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-app-kpis article:nth-child(3) {
  background: linear-gradient(145deg, #ffffff, #fff2e7);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-app-challenge-card:nth-child(3n + 1) {
  background: linear-gradient(145deg, #ffffff 20%, #eef7fc 100%);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-app-challenge-card:nth-child(3n + 2) {
  background: linear-gradient(145deg, #ffffff 20%, #fff4ea 100%);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-app-challenge-card:nth-child(3n + 3) {
  background: linear-gradient(145deg, #ffffff 20%, #eef7f5 100%);
}

.consultoria_externa-page[data-theme="light"] .consultoria_externa-app-footer {
  border-top-color: rgba(0,75,129,.14);
  background: linear-gradient(90deg, rgba(232,243,251,.78), rgba(255,255,255,.72) 54%, rgba(255,241,230,.74));
}

/* Footer com presença de marca e contraste, mantendo leitura confortável. */
.consultoria_externa-footer {
  position: relative;
  overflow: hidden;
  padding: 34px 0 38px;
  background:
    radial-gradient(circle at 82% 18%, rgba(255, 117, 0, .22), transparent 24rem),
    radial-gradient(circle at 12% 120%, rgba(0, 132, 204, .25), transparent 29rem),
    linear-gradient(115deg, #061426 0%, #063458 52%, #004b81 100%) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.06);
}

.consultoria_externa-footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #004b81 0%, #00a0d8 46%, #ff7500 100%);
}

.consultoria_externa-footer::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  right: -80px;
  bottom: -190px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 50%;
  pointer-events: none;
}

.consultoria_externa-footer-inner {
  position: relative;
  z-index: 1;
}

.consultoria_externa-footer img {
  width: min(220px, 43vw);
  max-height: 48px;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.16));
}

.consultoria_externa-footer p {
  color: rgba(248,250,252,.82) !important;
  font-size: .8125rem;
  line-height: 1.55;
}

/* Desktop: escala, ritmo e densidade revisados minuciosamente. */
@media (min-width: 901px) {
  .consultoria_externa-topbar-inner {
    min-height: 68px;
  }

  .consultoria_externa-brand-logo {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
    padding: 4px;
    border-radius: 14px;
  }

  .consultoria_externa-brand {
    gap: 10px;
  }

  .consultoria_externa-brand-copy strong {
    font-size: 13px;
  }

  .consultoria_externa-brand-copy small {
    margin-top: 3px;
    font-size: 10px;
    letter-spacing: .055em;
  }

  .consultoria_externa-app-header-inner {
    min-height: 68px;
  }

  .consultoria_externa-app-brand-logo {
    width: 42px;
    height: 42px;
    border-radius: 13px;
  }

  .consultoria_externa-hero {
    padding-top: clamp(52px, 5vw, 72px) !important;
    padding-bottom: clamp(68px, 6vw, 92px) !important;
  }

  .consultoria_externa-hero-grid {
    gap: clamp(42px, 5vw, 68px);
    padding: clamp(34px, 3.4vw, 46px);
  }

  .consultoria_externa-hero h1 {
    margin: 20px 0 18px;
    font-size: clamp(2.75rem, 3.35vw, 3.50rem) !important;
    line-height: 1.045;
    letter-spacing: -.035em;
  }

  .consultoria_externa-hero-lead {
    margin-bottom: 26px;
    font-size: clamp(1rem, 1.05vw, 1.075rem) !important;
    line-height: 1.66;
  }

  .consultoria_externa-hero-metrics {
    margin-top: 32px;
  }

  .consultoria_externa-hero-visual {
    width: min(100%, 470px);
  }

  .consultoria_externa-section-heading h2,
  .consultoria_externa-experience-copy h2,
  .consultoria_externa-cta-copy h2,
  .consultoria_externa-app-welcome h1,
  .consultoria_externa-app-page-title h1,
  .consultoria_externa-app-result-card h1,
  .consultoria_externa-app-visualize-heading h1 {
    font-size: clamp(2rem, 2.4vw, 2.65rem);
  }

  .consultoria_externa-section-heading p,
  .consultoria_externa-experience-copy > p {
    font-size: 1rem;
    line-height: 1.70;
  }

  .consultoria_externa-app-access-story h1 {
    font-size: clamp(2.75rem, 3.45vw, 3.55rem) !important;
    line-height: 1.04;
  }
}

@media (max-width: 640px) {
  .consultoria_externa-hero h1,
  .consultoria_externa-app-access-story h1 {
    font-size: clamp(2.25rem, 10.5vw, 3rem) !important;
    line-height: 1.04;
  }

  .consultoria_externa-footer {
    padding-block: 30px 34px;
  }
}

