.solarium-spectrum {
      color-scheme: light;
      --sol-orange: #ff6a00;
      --sol-blue: #129fe8;
      --sol-purple: #7140a8;
      --sol-red: #ef3340;
      --sol-gold: #ffb514;
      --sol-ink: #090d14;
      --sol-muted: #5f6671;
      --sol-line: #e8e9ec;
      --sol-dark: #090a0d;
      --sol-dark-2: #101217;
      --sol-white: #ffffff;
    }

    .solarium-spectrum, .solarium-spectrum * { box-sizing: border-box; }
.solarium-spectrum {
      margin: 0;
      min-width: 320px;
      background: #fff;
      color: var(--sol-ink);
      font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
      text-rendering: geometricPrecision;
    }

    .solarium-spectrum button, .solarium-spectrum input, .solarium-spectrum select, .solarium-spectrum textarea { font: inherit; }

    .solarium-spectrum {
      width: 100%;
      padding: clamp(24px, 4vw, 64px) clamp(16px, 4vw, 60px) clamp(34px, 5vw, 72px);
      background: #fff;
      overflow: hidden;
      isolation: isolate;
    }

    .solarium-spectrum__inner {
      width: min(1480px, 100%);
      margin: 0 auto;
    }

    .technical-grid {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: clamp(22px, 3vw, 52px);
      align-items: start;
    }

    .technical-item {
      min-width: 0;
      padding: 0 2px;
    }

    .technical-label {
      display: block;
      margin-bottom: 9px;
      color: #3d3f44;
      font-size: clamp(12px, .95vw, 16px);
      font-weight: 500;
      letter-spacing: -.01em;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .technical-value {
      display: block;
      color: #08090b;
      font-size: clamp(26px, 2.15vw, 34px);
      line-height: 1;
      font-weight: 850;
      letter-spacing: -.035em;
      white-space: nowrap;
    }

    .technical-progress {
      position: relative;
      height: 7px;
      margin-top: 16px;
      overflow: hidden;
      border-radius: 999px;
      background: #f0f1f3;
    }

    .technical-progress > i {
      display: block;
      width: var(--value, 50%);
      height: 100%;
      border-radius: inherit;
      background: var(--bar, var(--sol-blue));
      box-shadow: 0 0 14px color-mix(in srgb, var(--bar, var(--sol-blue)) 32%, transparent);
      transform-origin: left center;
      animation: solariumBarIn 1.15s cubic-bezier(.22,1,.36,1) both;
    }

    .technical-sub {
      display: block;
      margin-top: 13px;
      color: #383b40;
      font-size: clamp(11px, .9vw, 15px);
      line-height: 1.2;
      text-transform: uppercase;
      white-space: nowrap;
    }

    @keyframes solariumBarIn {
      from { transform: scaleX(0); opacity: .35; }
      to { transform: scaleX(1); opacity: 1; }
    }

    .identity-strip {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      margin-top: 0;
      border: 1px solid #e7e8eb;
      border-radius: 12px;
      background: #fff;
      box-shadow: 0 12px 34px rgba(12, 16, 24, .035);
    }

    .identity-item {
      position: relative;
      display: flex;
      align-items: center;
      gap: 14px;
      min-width: 0;
      min-height: 92px;
      padding: 18px clamp(16px, 2.1vw, 30px);
    }

    .identity-item:not(:last-child)::after {
      content: "";
      position: absolute;
      top: 20px;
      right: 0;
      bottom: 20px;
      width: 1px;
      background: #e7e8eb;
    }

    .identity-icon {
      position: relative;
      display: grid;
      place-items: center;
      width: 42px;
      height: 42px;
      flex: 0 0 42px;
      overflow: hidden;
      border: 1px solid #dfe2e7;
      border-radius: 8px;
      color: #090d14;
      background:
        radial-gradient(circle at 26% 18%, rgba(255,255,255,.98), rgba(255,255,255,0) 34%),
        linear-gradient(180deg, #fff 0%, #f6f7f9 100%);
      box-shadow:
        0 10px 22px rgba(9, 13, 20, .075),
        inset 0 1px 0 rgba(255,255,255,.82);
    }

    .identity-icon::after {
      content: "";
      position: absolute;
      right: -14px;
      bottom: -16px;
      width: 34px;
      height: 34px;
      border-radius: 999px;
      background: rgba(9, 13, 20, .045);
    }

    .identity-icon svg {
      position: relative;
      z-index: 1;
      display: block;
      width: 24px;
      height: 24px;
      stroke-width: 1.75;
    }

    .identity-copy {
      min-width: 0;
    }

    .identity-copy small {
      display: block;
      margin-bottom: 3px;
      color: #4b4e54;
      font-size: clamp(11px, .8vw, 14px);
      line-height: 1;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .identity-copy strong {
      display: block;
      overflow: hidden;
      color: #090a0d;
      font-size: clamp(16px, 1.25vw, 21px);
      line-height: 1.08;
      font-weight: 850;
      letter-spacing: -.02em;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .spectral-dashboard {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: clamp(26px, 3vw, 42px);
      margin-top: clamp(30px, 3vw, 42px);
      padding: clamp(28px, 3.5vw, 52px) clamp(26px, 3.6vw, 54px) clamp(28px, 3.4vw, 48px);
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 18px;
      color: #fff;
      background:
        radial-gradient(circle at 31% 31%, rgba(255,170,55,.13), transparent 20%),
        radial-gradient(circle at 68% 40%, rgba(255,53,36,.07), transparent 38%),
        linear-gradient(135deg, #08090b 0%, #0c0d0f 48%, #07080a 100%);
      box-shadow: 0 22px 58px rgba(5, 7, 10, .16), inset 0 1px 0 rgba(255,255,255,.06);
    }

    .spectral-dashboard::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: .30;
      background-image:
        linear-gradient(rgba(255,255,255,.015) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.014) 1px, transparent 1px);
      background-size: 32px 32px;
      mask-image: linear-gradient(90deg, transparent, #000 20%, #000 82%, transparent);
    }

    .dashboard-visual {
      position: relative;
      z-index: 1;
      min-width: 0;
    }

    .dashboard-visual {
      display: flex;
      flex-direction: column;
      width: 100%;
    }

    .range-headings {
      display: grid;
      grid-template-columns: 18fr 26fr 56fr;
      margin: 0 clamp(58px, 5vw, 70px) 6px clamp(54px, 5vw, 68px);
    }

    .range-heading {
      position: relative;
      min-height: 60px;
      padding: 4px 14px 10px;
      text-align: center;
    }

    .range-heading:not(:last-child)::after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      height: 54px;
      border-right: 1px dashed rgba(255,255,255,.48);
    }

    .range-heading strong {
      display: block;
      color: #fff;
      font-size: clamp(16px, 1.3vw, 20px);
      line-height: 1.1;
      font-weight: 800;
      text-transform: uppercase;
    }

    .range-heading span {
      display: block;
      margin-top: 5px;
      color: rgba(255,255,255,.86);
      font-size: clamp(12px, 1vw, 16px);
      line-height: 1.2;
    }

    .chart-stage {
      position: relative;
      width: 100%;
      min-height: clamp(460px, 34vw, 560px);
      border-radius: 10px;
      overflow: hidden;
      touch-action: none;
      user-select: none;
    }

    #spectralChart {
      display: block;
      width: 100%;
      height: clamp(460px, 34vw, 560px);
    }

    .chart-tooltip {
      position: absolute;
      z-index: 5;
      min-width: 164px;
      padding: 13px 15px;
      border: 1px solid rgba(255,255,255,.72);
      border-radius: 9px;
      color: #fff;
      background: rgba(8, 9, 11, .92);
      box-shadow: 0 15px 32px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06);
      backdrop-filter: blur(8px);
      pointer-events: none;
      transform: translate3d(0,0,0);
      opacity: 0;
      transition: opacity .12s ease;
    }

    .chart-tooltip.is-visible { opacity: 1; }

    .chart-tooltip::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: -8px;
      width: 14px;
      height: 14px;
      border-right: 1px solid rgba(255,255,255,.72);
      border-bottom: 1px solid rgba(255,255,255,.72);
      background: rgba(8, 9, 11, .92);
      transform: translateX(-50%) rotate(45deg);
    }

    .chart-tooltip strong {
      display: block;
      margin-bottom: 8px;
      font-size: 17px;
      line-height: 1.1;
    }

    .chart-tooltip span {
      display: block;
      font-size: 14px;
      line-height: 1.25;
    }

    .chart-tooltip b { font-weight: 800; }

    .chart-axis-title {
      margin-top: -5px;
      color: rgba(255,255,255,.93);
      font-size: clamp(11px, .9vw, 15px);
      font-weight: 750;
      letter-spacing: .07em;
      text-align: center;
      text-transform: uppercase;
    }

    .spectral-summary {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      margin-top: 20px;
      overflow: hidden;
      border-top: 1px solid rgba(255,255,255,.08);
      border-bottom: 1px solid rgba(255,255,255,.035);
      border-radius: 5px;
      background:
        linear-gradient(90deg, rgba(113,64,168,.13), rgba(18,159,232,.08) 45%, rgba(239,51,64,.13));
    }

    .summary-item {
      position: relative;
      min-height: 142px;
      padding: 21px 22px 18px;
      text-align: center;
    }

    .summary-item:not(:last-child)::after {
      content: "";
      position: absolute;
      top: 16px;
      right: 0;
      bottom: 16px;
      width: 1px;
      background: var(--summary-color);
      opacity: .85;
    }

    .summary-item strong {
      display: block;
      color: var(--summary-color);
      font-size: clamp(18px, 1.4vw, 22px);
      line-height: 1.05;
      font-weight: 850;
      text-transform: uppercase;
    }

    .summary-item span {
      display: block;
      margin-top: 7px;
      color: rgba(255,255,255,.64);
      font-size: clamp(12px, 1vw, 16px);
    }

    .summary-item b {
      display: block;
      margin-top: 9px;
      color: var(--summary-color);
      font-size: clamp(28px, 2.45vw, 40px);
      line-height: 1;
      font-weight: 850;
      letter-spacing: -.035em;
    }

    .summary-item em {
      display: block;
      margin-top: 9px;
      color: #fff;
      font-size: clamp(12px, .95vw, 16px);
      font-style: normal;
      font-weight: 750;
      text-transform: uppercase;
    }

    .technical-grid--dashboard {
      gap: 1px;
      margin-top: clamp(22px, 2.4vw, 34px);
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.11);
      border-radius: 8px;
      background: rgba(255,255,255,.10);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
    }

    .technical-grid--dashboard .technical-item {
      padding: clamp(18px, 1.9vw, 26px) clamp(16px, 1.9vw, 26px) clamp(17px, 1.7vw, 24px);
      background:
        linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.018)),
        rgba(8, 10, 14, .36);
    }

    .technical-grid--dashboard .technical-label {
      margin-bottom: 8px;
      color: rgba(255,255,255,.64);
      font-size: clamp(11px, .78vw, 13px);
      font-weight: 700;
      letter-spacing: 0;
      white-space: normal;
    }

    .technical-grid--dashboard .technical-value {
      color: #fff;
      font-size: clamp(25px, 2.05vw, 36px);
      line-height: .96;
      text-shadow: 0 10px 28px rgba(0,0,0,.32);
    }

    .technical-grid--dashboard .technical-progress {
      height: 5px;
      margin-top: 14px;
      background: rgba(255,255,255,.11);
    }

    .technical-grid--dashboard .technical-sub {
      margin-top: 10px;
      color: rgba(255,255,255,.68);
      font-size: clamp(10px, .75vw, 13px);
      line-height: 1.25;
      white-space: normal;
    }

    .screen-reader-only {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      padding: 0 !important;
      margin: -1px !important;
      overflow: hidden !important;
      clip: rect(0,0,0,0) !important;
      white-space: nowrap !important;
      border: 0 !important;
    }

    @media (max-width: 1180px) {
      .technical-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 30px; }
      .technical-grid--dashboard { gap: 1px; }
      .identity-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .identity-item:nth-child(3)::after { display: none; }
      .identity-item:nth-child(-n+3) { border-bottom: 1px solid #e7e8eb; }
      .chart-stage { min-height: 440px; }
      #spectralChart { height: 440px; }
    }

    @media (max-width: 760px) {
      .solarium-spectrum { padding-inline: 14px; }
      .technical-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 22px; }
      .technical-grid--dashboard { gap: 1px; }
      .technical-label, .technical-sub { white-space: normal; }
      .identity-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .identity-item:nth-child(3)::after { display: block; }
      .identity-item:nth-child(2n)::after { display: none; }
      .identity-item:nth-child(-n+4) { border-bottom: 1px solid #e7e8eb; }
      .identity-item:nth-child(5), .identity-item:nth-child(6) { border-bottom: 0; }
      .identity-item { min-height: 82px; padding: 16px; gap: 12px; }
      .identity-icon { width: 40px; height: 40px; flex-basis: 40px; }
      .identity-icon svg { width: 22px; height: 22px; }
      .spectral-dashboard { padding: 24px 16px 20px; gap: 24px; border-radius: 15px; }
      .range-headings { margin: 0 34px 4px 44px; }
      .range-heading { padding-inline: 6px; min-height: 50px; }
      .range-heading strong { font-size: 13px; }
      .range-heading span { font-size: 10px; }
      .chart-stage { min-height: 350px; }
      #spectralChart { height: 350px; }
      .technical-grid--dashboard .technical-item { padding: 17px 14px; }
      .technical-grid--dashboard .technical-value { font-size: 24px; }
      .chart-tooltip { min-width: 148px; padding: 11px 12px; }
      .chart-tooltip strong { font-size: 15px; }
      .chart-tooltip span { font-size: 12px; }
      .spectral-summary { grid-template-columns: 1fr; }
      .summary-item { min-height: 116px; }
      .summary-item:not(:last-child)::after {
        top: auto;
        right: 18px;
        bottom: 0;
        left: 18px;
        width: auto;
        height: 1px;
      }
    }

    @media (max-width: 420px) {
      .technical-grid { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
      .technical-grid--dashboard { gap: 1px; }
      .technical-value { font-size: 25px; }
      .technical-grid--dashboard .technical-value { font-size: 22px; }
      .identity-strip { grid-template-columns: 1fr; }
      .identity-item { border-bottom: 1px solid #e7e8eb !important; }
      .identity-item:last-child { border-bottom: 0 !important; }
      .identity-item::after { display: none !important; }
      .range-headings { margin-left: 38px; margin-right: 28px; }
      .range-heading strong { font-size: 11px; }
      .range-heading span { display: none; }
    }

    @media (prefers-reduced-motion: reduce) {
      .solarium-spectrum, .solarium-spectrum *, .solarium-spectrum *::before, .solarium-spectrum *::after {
        scroll-behavior: auto !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
      }
    }
  

/* Integração Solarium 2027: dados incompletos permanecem explicitamente sob consulta. */
.solarium-spectrum .chart-data-status {
  position: absolute;
  z-index: 6;
  top: 10px;
  right: 10px;
  left: auto;
  max-width: calc(100% - 20px);
  padding: 7px 12px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 999px;
  color: rgba(255,255,255,.88);
  background: rgba(7,8,10,.70);
  box-shadow: 0 9px 24px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(8px);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .035em;
  line-height: 1.15;
  text-align: center;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: none;
  transform: none;
}
.solarium-spectrum .chart-data-status.is-complete {
  border-color: rgba(21,185,239,.42);
  color: #dff8ff;
}
.solarium-spectrum .chart-data-status.is-partial {
  border-color: rgba(255,181,20,.42);
  color: #fff2c2;
}
.solarium-spectrum .chart-data-status.is-empty {
  border-color: rgba(255,255,255,.15);
  color: rgba(255,255,255,.66);
}
.solarium-spectrum .technical-item.is-unavailable .technical-value {
  font-size: clamp(18px, 1.55vw, 26px);
  line-height: 1.08;
  letter-spacing: -.015em;
  white-space: normal;
}
.solarium-spectrum .technical-item.is-unavailable .technical-progress > i {
  width: 0 !important;
  box-shadow: none;
  animation: none;
}
.solarium-spectrum .technical-item.is-unavailable .technical-progress {
  background: repeating-linear-gradient(90deg, rgba(255,255,255,.055) 0 9px, rgba(255,255,255,.105) 9px 18px);
}
.solarium-spectrum .identity-copy strong[data-field="technology"] {
  font-size: clamp(12px, .85vw, 15px);
}
@media (max-width: 760px) {
  .solarium-spectrum .chart-data-status {
    top: 7px;
    right: 7px;
    max-width: calc(100% - 14px);
    padding: 6px 9px;
    font-size: 9px;
  }
}

/* Evita truncar tecnologia, cor e campos sob consulta na faixa de identidade. */
.solarium-spectrum .identity-copy strong {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.solarium-spectrum .identity-copy small { white-space: normal; }

@media (min-width: 761px) and (max-width: 1280px) {
  .solarium-spectrum .identity-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .solarium-spectrum .identity-item:nth-child(3)::after { display: none; }
  .solarium-spectrum .identity-item:nth-child(-n+3) { border-bottom: 1px solid #e7e8eb; }
}

.solarium-spectrum .spectral-data-disclaimer {
  margin: 18px 0 0;
  padding: 14px 16px;
  border: 1px solid #e2e5e9;
  border-radius: 13px;
  background: #f7f8fa;
  color: #666d76;
  font-size: 12px;
  line-height: 1.55;
}
