/* Avaliação Blue R85 — formulário profissional, responsivo e impressão equilibrada. */

body.r360-blue-ux .blue-wizard {
  --blue-form-radius: 14px;
  --blue-form-gap: 12px;
  width: 100%;
  min-width: 0;
}

body.r360-blue-ux .blue-wizard .blue-theme-stepper {
  display: flex;
  width: 100%;
  gap: 8px;
  padding: 7px 5px 10px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}

body.r360-blue-ux .blue-wizard .blue-theme-stepper button {
  flex: 1 0 168px;
  min-width: 168px;
  min-height: 56px;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-content: center;
  column-gap: 9px;
  row-gap: 2px;
  padding: 9px 10px;
  border: 1px solid var(--border);
  border-radius: 12px;
  scroll-snap-align: start;
}

body.r360-blue-ux .blue-wizard .blue-theme-stepper button > span {
  grid-row: 1 / 3;
  width: 28px;
  height: 28px;
  border-radius: 9px;
}

body.r360-blue-ux .blue-wizard .blue-theme-stepper button strong,
body.r360-blue-ux .blue-wizard .blue-theme-stepper button small {
  grid-column: 2;
  min-width: 0;
  text-align: left;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: normal;
  word-break: normal;
}

body.r360-blue-ux .blue-wizard .blue-theme-stepper button strong {
  font-size: 10px;
  line-height: 1.25;
}

body.r360-blue-ux .blue-wizard .blue-theme-stepper button small {
  font-size: 8.5px;
  line-height: 1.2;
}

body.r360-blue-ux .blue-wizard .blue-theme-stepper button.active {
  border-color: color-mix(in srgb, var(--primary) 72%, #fff);
  box-shadow: 0 6px 18px color-mix(in srgb, var(--primary) 14%, transparent);
}

body.r360-blue-ux .blue-wizard .blue-question-panel {
  width: 100%;
  min-width: 0;
  padding: clamp(14px, 1.5vw, 22px);
  border-radius: 18px;
  background: var(--surface);
}

body.r360-blue-ux .blue-wizard .blue-section-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  margin-bottom: 14px;
  padding: 2px 2px 12px;
  border-bottom: 1px solid var(--border);
}

body.r360-blue-ux .blue-wizard .blue-section-header > div:first-child {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: 4px 10px;
  min-width: 0;
}

body.r360-blue-ux .blue-wizard .blue-section-header .eyebrow {
  grid-column: 1;
  align-self: center;
  white-space: nowrap;
}

body.r360-blue-ux .blue-wizard .blue-section-header h2 {
  grid-column: 2;
  min-width: 0;
  font-size: clamp(19px, 1.8vw, 26px);
  line-height: 1.15;
  letter-spacing: -.02em;
  overflow-wrap: normal;
  word-break: normal;
}

body.r360-blue-ux .blue-wizard .blue-section-header p {
  grid-column: 1 / -1;
  margin-top: 2px;
  max-width: 920px;
  font-size: 11px;
  line-height: 1.45;
  overflow-wrap: normal;
  word-break: normal;
}

body.r360-blue-ux .blue-wizard .blue-question-list {
  display: grid;
  width: 100%;
  min-width: 0;
  gap: var(--blue-form-gap);
}

body.r360-blue-ux .blue-wizard .blue-question-card {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: var(--blue-form-radius);
  background: var(--surface);
  overflow: hidden;
  box-shadow: 0 4px 14px rgb(15 23 42 / 4%);
}

body.r360-blue-ux .blue-wizard .blue-question-card > header {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  padding: 13px 14px 11px;
  background: color-mix(in srgb, var(--surface-2) 72%, var(--surface));
}

body.r360-blue-ux .blue-wizard .blue-question-card > header > span {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  font-size: 12px;
}

body.r360-blue-ux .blue-wizard .blue-question-card > header strong,
body.r360-blue-ux .blue-wizard .blue-question-card > header small {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none;
}

body.r360-blue-ux .blue-wizard .blue-question-card > header strong {
  font-size: 13px;
  line-height: 1.35;
}

body.r360-blue-ux .blue-wizard .blue-question-card > header small {
  margin-top: 4px;
  font-size: 9.5px;
  line-height: 1.4;
}

body.r360-blue-ux .blue-wizard .blue-rating {
  display: grid !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px;
  padding: 11px 12px 12px;
  border-top: 1px solid var(--border);
  background: color-mix(in srgb, var(--surface-2) 52%, var(--surface));
}

body.r360-blue-ux .blue-wizard .blue-rating button {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  align-items: center;
  gap: 8px;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 64px;
  margin: 0 !important;
  padding: 10px 11px !important;
  border: 1px solid var(--border) !important;
  border-radius: 11px !important;
  background: var(--surface) !important;
  color: var(--text);
  text-align: left;
  box-shadow: none !important;
  touch-action: manipulation;
  transition: border-color .16s, background .16s, box-shadow .16s, transform .16s;
}

body.r360-blue-ux .blue-wizard .blue-rating button:not(:has(> strong)) {
  grid-template-columns: minmax(0, 1fr) !important;
}

body.r360-blue-ux .blue-wizard .blue-rating button strong {
  width: 28px;
  height: 28px;
  flex: none;
}

body.r360-blue-ux .blue-wizard .blue-rating button span {
  display: block;
  min-width: 0;
  font-size: 10px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none;
}

body.r360-blue-ux .blue-wizard .blue-rating button:not(:disabled):hover {
  border-color: color-mix(in srgb, var(--primary) 48%, var(--border)) !important;
  background: color-mix(in srgb, var(--primary-soft) 45%, var(--surface)) !important;
  transform: translateY(-1px);
}

body.r360-blue-ux .blue-wizard .blue-rating button:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--primary) 28%, transparent);
  outline-offset: 2px;
}

body.r360-blue-ux .blue-wizard .blue-rating button.selected {
  border-color: var(--primary) !important;
  background: var(--primary-soft) !important;
  color: var(--primary) !important;
  box-shadow: 0 0 0 1px var(--primary), 0 7px 18px color-mix(in srgb, var(--primary) 13%, transparent) !important;
}

body.r360-blue-ux .blue-wizard .blue-rating button.selected span {
  color: var(--primary) !important;
  font-weight: 800;
}

body.r360-blue-ux .blue-wizard .blue-rating button:disabled {
  opacity: .72;
  cursor: not-allowed;
}

body.r360-blue-ux .blue-wizard .blue-inline-comment {
  gap: 7px;
  padding: 11px 12px 12px;
  background: color-mix(in srgb, #fff7df 60%, var(--surface));
}

body.r360-blue-ux .blue-wizard .blue-inline-comment > span,
body.r360-blue-ux .blue-wizard .blue-theme-comment > span {
  font-size: 10px;
  line-height: 1.35;
}

body.r360-blue-ux .blue-wizard .blue-inline-comment textarea,
body.r360-blue-ux .blue-wizard .blue-theme-comment textarea {
  width: 100%;
  min-width: 0;
  min-height: 82px;
  padding: 10px 11px;
  font-size: 14px;
  line-height: 1.45;
  resize: vertical;
}

body.r360-blue-ux .blue-wizard .blue-theme-comment {
  margin-top: 14px;
  padding: 13px;
  border-radius: var(--blue-form-radius);
  background: var(--surface-2);
}

body.r360-blue-ux .blue-wizard .blue-wizard-footer {
  position: static !important;
  margin-top: 2px;
  padding: 11px 12px;
  border-radius: 14px;
  background: var(--surface);
  backdrop-filter: none;
}

body.r360-blue-ux .blue-wizard .blue-wizard-footer button {
  min-height: 42px;
  justify-content: center;
}

@media (max-width: 900px) {
  body.r360-blue-ux .blue-wizard .blue-section-header {
    grid-template-columns: 1fr;
  }

  body.r360-blue-ux .blue-wizard .blue-theme-stepper button {
    flex-basis: min(72vw, 250px);
    min-width: min(72vw, 250px);
  }

  body.r360-blue-ux .blue-wizard .blue-question-card > header {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  body.r360-blue-ux .blue-wizard .blue-question-card > header > em {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 620px) {
  body.r360-blue-ux .blue-wizard { gap: 10px; }

  body.r360-blue-ux .blue-wizard .blue-question-panel {
    padding: 10px;
    border-radius: 14px;
  }

  body.r360-blue-ux .blue-wizard .blue-section-header {
    gap: 8px;
    margin-bottom: 10px;
    padding: 2px 2px 10px;
  }

  body.r360-blue-ux .blue-wizard .blue-section-header > div:first-child {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  body.r360-blue-ux .blue-wizard .blue-section-header :is(.eyebrow,h2,p) {
    grid-column: 1;
  }

  body.r360-blue-ux .blue-wizard .blue-section-header h2 {
    font-size: 19px;
  }

  body.r360-blue-ux .blue-wizard .blue-section-header p {
    font-size: 10px;
  }

  body.r360-blue-ux .blue-wizard .blue-question-list { gap: 9px; }

  body.r360-blue-ux .blue-wizard .blue-question-card > header {
    padding: 11px;
  }

  body.r360-blue-ux .blue-wizard .blue-question-card > header strong {
    font-size: 12.5px;
  }

  body.r360-blue-ux .blue-wizard .blue-rating {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px;
    padding: 9px;
  }

  body.r360-blue-ux .blue-wizard .blue-rating button {
    min-height: 76px;
    padding: 10px !important;
    border: 1px solid var(--border) !important;
  }

  body.r360-blue-ux .blue-wizard .blue-rating button span {
    font-size: 9.5px !important;
  }

  body.r360-blue-ux .blue-wizard .blue-inline-comment,
  body.r360-blue-ux .blue-wizard .blue-theme-comment {
    padding: 10px;
  }

  body.r360-blue-ux .blue-wizard .blue-inline-comment textarea,
  body.r360-blue-ux .blue-wizard .blue-theme-comment textarea {
    min-height: 105px;
    font-size: 16px;
  }

  body.r360-blue-ux .blue-wizard .blue-wizard-footer,
  body.r360-blue-ux .blue-wizard .blue-wizard-footer > div,
  body.r360-blue-ux .blue-wizard .blue-wizard-footer > div:last-child {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100%;
    gap: 8px;
  }

  body.r360-blue-ux .blue-wizard .blue-wizard-footer button {
    width: 100% !important;
    min-height: 46px;
  }
}

@media print {
  @page { size: A4 portrait; margin: 8mm; }

  body.printing-blue-document .blue-print-document > header {
    grid-template-columns: 60px minmax(0, 1fr) auto !important;
    gap: 14px !important;
    padding: 14px 18px !important;
  }

  body.printing-blue-document .blue-print-document > header img {
    width: 60px !important;
    height: 60px !important;
  }

  body.printing-blue-document .blue-print-document > header h1 {
    font-size: 20px !important;
  }

  body.printing-blue-document .blue-print-document > header p,
  body.printing-blue-document .blue-print-document > header > strong {
    font-size: 9.5px !important;
  }

  body.printing-blue-document .blue-print-person {
    padding: 10px 18px !important;
    gap: 10px !important;
  }

  body.printing-blue-document .blue-print-person span { font-size: 7px !important; }
  body.printing-blue-document .blue-print-person strong { font-size: 11px !important; }
  body.printing-blue-document .blue-print-person small { font-size: 7.5px !important; }

  body.printing-blue-document .blue-print-results {
    grid-template-columns: minmax(0, 1.5fr) minmax(205px, .78fr) !important;
    gap: 14px !important;
    padding: 14px 18px 12px !important;
    break-before: auto !important;
    page-break-before: auto !important;
  }

  body.printing-blue-document .blue-print-results h2 {
    margin-bottom: 6px !important;
    font-size: 12px !important;
  }

  body.printing-blue-document .blue-print-results article {
    padding: 6px 0 !important;
  }

  body.printing-blue-document .blue-print-results article > div > strong,
  body.printing-blue-document .blue-print-results article > div > span {
    font-size: 10px !important;
  }

  body.printing-blue-document .blue-print-results article p {
    margin-top: 3px !important;
    font-size: 7.5px !important;
    line-height: 1.3 !important;
  }

  body.printing-blue-document .blue-print-score-visual {
    display: contents !important;
  }

  body.printing-blue-document .blue-print-results > div:first-child {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
  }

  body.printing-blue-document .blue-print-final-average {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  body.printing-blue-document .blue-print-theme-chart {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
  }

  body.printing-blue-document .blue-print-final-average,
  body.printing-blue-document .blue-print-theme-chart {
    padding: 9px !important;
  }

  body.printing-blue-document .blue-print-final-average span,
  body.printing-blue-document .blue-print-theme-chart h3,
  body.printing-blue-document .blue-print-radar-card h3 {
    font-size: 8px !important;
  }

  body.printing-blue-document .blue-print-final-average strong {
    font-size: 28px !important;
  }

  body.printing-blue-document .blue-print-final-average small,
  body.printing-blue-document .blue-print-radar-card p {
    font-size: 6.2px !important;
  }

  body.printing-blue-document .blue-print-theme-chart-row {
    grid-template-columns: minmax(76px, 1fr) minmax(64px, 1.12fr) 41px !important;
    gap: 5px !important;
    margin: 4px 0 !important;
  }

  body.printing-blue-document .blue-print-theme-chart-row span,
  body.printing-blue-document .blue-print-theme-chart-row strong {
    font-size: 6.2px !important;
  }

  body.printing-blue-document .blue-print-radar-card {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    display: grid !important;
    grid-template-columns: minmax(150px, .4fr) minmax(0, 1fr) !important;
    grid-template-rows: auto 1fr !important;
    align-items: center !important;
    column-gap: 14px !important;
    height: auto !important;
    min-height: 0 !important;
    margin-top: 2px !important;
    padding: 12px !important;
  }

  body.printing-blue-document .blue-print-radar {
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    width: 100% !important;
    height: 285px !important;
    max-height: 285px !important;
    margin: 0 !important;
  }

  body.printing-blue-document .blue-print-radar .radar-label {
    font-size: 7px !important;
  }
}
