/* Avaliação Blue R82 — hierarquia visual, tabelas consistentes e cartões mobile. */
body.r360-blue-ux {
  --blue-r82-border: color-mix(in srgb, var(--border, #d7e0ef) 88%, #a9bde1);
  --blue-r82-soft: color-mix(in srgb, var(--primary-soft, #eef4ff) 70%, var(--surface, #fff));
  --blue-r82-shadow: 0 10px 28px rgba(35, 61, 109, .09);
}

/* Cabeçalhos de todas as tabelas Blue seguem a mesma escala tipográfica. */
body.r360-blue-ux table.blue-ux-table thead th {
  box-sizing: border-box;
  padding: 12px 10px !important;
  color: var(--muted, #536784) !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
  vertical-align: middle !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body.r360-blue-ux table.blue-ux-table tbody td {
  padding: 12px 10px;
  font-size: 11px;
  line-height: 1.38;
  vertical-align: middle;
}

body.r360-blue-ux .blue-responsive-table-wrap,
body.r360-blue-ux .table-wrap:has(> table.blue-table) {
  container: blueTable / inline-size;
}

body.r360-blue-ux .blue-link-column-hidden { display: none !important; }

/* Gestores e acessos: identidade legível, matrícula compacta e ações previsíveis. */
@media (min-width: 901px) {
  body.r360-blue-ux .blue-manager-access-table th[data-blue-key="pessoa"],
  body.r360-blue-ux .blue-manager-access-table td[data-blue-key="pessoa"] { min-width: 205px; }

  body.r360-blue-ux .blue-manager-access-table th[data-blue-key="matricula"],
  body.r360-blue-ux .blue-manager-access-table td[data-blue-key="matricula"] {
    width: 88px;
    min-width: 88px;
    max-width: 96px;
    text-align: center;
    white-space: nowrap !important;
  }

  body.r360-blue-ux .blue-manager-access-table th[data-blue-key="e-mail"],
  body.r360-blue-ux .blue-manager-access-table td[data-blue-key="e-mail"] {
    min-width: 190px;
    max-width: 255px;
    overflow-wrap: anywhere;
  }

  body.r360-blue-ux .blue-manager-access-table th[data-blue-metric="true"],
  body.r360-blue-ux .blue-manager-access-table td[data-blue-metric="true"] {
    min-width: 72px;
    text-align: center;
    font-variant-numeric: tabular-nums;
  }

  body.r360-blue-ux .blue-manager-access-table th[data-blue-key="acoes"],
  body.r360-blue-ux .blue-manager-access-table td[data-blue-key="acoes"] {
    width: 292px;
    min-width: 292px;
  }
}

body.r360-blue-ux .blue-manager-actions-stack {
  min-width: 270px;
  display: grid !important;
  grid-template-columns: minmax(108px, .88fr) minmax(142px, 1.12fr) !important;
  grid-template-rows: repeat(3, minmax(34px, auto));
  align-items: stretch !important;
  gap: 6px 8px !important;
}

body.r360-blue-ux .blue-manager-actions-stack > button {
  width: 100%;
  min-width: 0;
  min-height: 34px;
  margin: 0 !important;
  justify-content: center;
  white-space: normal !important;
  text-align: center;
}

body.r360-blue-ux .blue-manager-actions-stack > .blue-action-secondary {
  grid-column: 1;
}

body.r360-blue-ux .blue-manager-actions-stack > .blue-action-view {
  grid-column: 2;
  grid-row: 1;
}

body.r360-blue-ux .blue-manager-access-summary {
  grid-column: 2;
  grid-row: 2 / span 2;
  min-width: 0;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 4px;
  padding: 7px 8px;
  border: 1px solid color-mix(in srgb, var(--green, #16a34a) 20%, var(--border, #d7e0ef));
  border-radius: 10px;
  background: color-mix(in srgb, #dcfce7 42%, var(--surface, #fff));
  color: var(--muted, #536784);
  font-size: 9px;
  line-height: 1.3;
  text-align: center;
}

body.r360-blue-ux .blue-manager-access-summary > * { margin: 0 !important; }
body.r360-blue-ux .blue-manager-access-summary small { display: block; font-size: 9px; }

/* Regras compartilhadas do cartão. O container query também protege telas estreitas
   dentro de sidebars, mesmo quando o viewport total ainda é grande. */
@media (max-width: 900px) {
  body.r360-blue-ux .blue-base-stats,
  body.r360-blue-ux .blue-kpi-grid,
  body.r360-blue-ux .blue-monitoring-summary,
  body.r360-blue-ux .blue-link-request-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.r360-blue-ux table.blue-ux-table,
  body.r360-blue-ux table.blue-ux-table tbody { display: block !important; width: 100% !important; }

  body.r360-blue-ux table.blue-ux-table thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
  }

  body.r360-blue-ux table.blue-ux-table tbody {
    display: grid !important;
    gap: 14px !important;
    padding: 2px !important;
  }

  body.r360-blue-ux table.blue-ux-table tbody tr {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 12px 12px !important;
    overflow: hidden;
    border: 1px solid var(--blue-r82-border) !important;
    border-radius: 17px !important;
    background: var(--surface, #fff) !important;
    box-shadow: var(--blue-r82-shadow) !important;
  }

  body.r360-blue-ux table.blue-manager-access-table tbody tr {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.r360-blue-ux table.blue-ux-table tbody td {
    position: relative;
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 5px !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 62px;
    padding: 9px 10px !important;
    border: 1px solid color-mix(in srgb, var(--border, #d7e0ef) 76%, transparent) !important;
    border-radius: 11px;
    background: var(--surface-2, #f8fafc) !important;
    color: var(--text, #0f172a);
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  body.r360-blue-ux table.blue-ux-table tbody td.blue-role-column-hidden,
  body.r360-blue-ux table.blue-ux-table tbody td.blue-link-column-hidden { display: none !important; }

  body.r360-blue-ux table.blue-ux-table tbody td::before {
    content: attr(data-blue-label) !important;
    display: block !important;
    width: auto !important;
    color: var(--muted, #64748b) !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    letter-spacing: .045em !important;
    text-align: left !important;
    text-transform: uppercase !important;
  }

  body.r360-blue-ux table.blue-ux-table td[data-blue-hero="true"] {
    grid-column: 1 / -1;
    min-height: 98px;
    margin: 0 -12px 3px;
    padding: 18px 16px !important;
    align-items: center;
    text-align: center !important;
    border: 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--primary, #155eef) 20%, var(--border, #d7e0ef)) !important;
    border-radius: 0 !important;
    background: linear-gradient(145deg, var(--blue-r82-soft), color-mix(in srgb, var(--surface, #fff) 92%, #dce8ff)) !important;
  }

  body.r360-blue-ux table.blue-ux-table td[data-blue-hero="true"]::before { display: none !important; }
  body.r360-blue-ux table.blue-ux-table td[data-blue-hero="true"] strong,
  body.r360-blue-ux table.blue-ux-table td[data-blue-hero="true"] > span:first-child {
    color: var(--text, #0f172a);
    font-size: 15px !important;
    font-weight: 900;
    line-height: 1.28;
  }
  body.r360-blue-ux table.blue-ux-table td[data-blue-hero="true"] small {
    color: var(--muted, #64748b);
    font-size: 10px;
  }

  body.r360-blue-ux table.blue-ux-table td[data-blue-key="e-mail"] { grid-column: 1 / -1; }
  body.r360-blue-ux table.blue-manager-access-table td[data-blue-key="matricula"] { grid-column: span 1; }
  body.r360-blue-ux table.blue-manager-access-table td[data-blue-key="e-mail"] { grid-column: span 2; }
  body.r360-blue-ux table.blue-ux-table td[data-blue-key="acoes"] {
    grid-column: 1 / -1;
    min-height: 0;
    padding: 12px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--border, #d7e0ef) !important;
    border-radius: 0;
    background: transparent !important;
  }
  body.r360-blue-ux table.blue-ux-table td[data-blue-key="acoes"]::before { display: none !important; }

  body.r360-blue-ux table.blue-ux-table td[data-blue-key="acoes"] > .table-actions {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px !important;
  }
  body.r360-blue-ux table.blue-ux-table td[data-blue-key="acoes"] > .table-actions > :is(button,a,[role="button"]) {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    justify-content: center;
    white-space: normal;
  }
  body.r360-blue-ux table.blue-ux-table td[data-blue-key="acoes"] > .table-actions > :is(button,a,[role="button"]):last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  body.r360-blue-ux table.blue-ux-table td[data-blue-metric="true"] {
    min-height: 70px;
    align-items: center;
    text-align: center !important;
    font-size: 14px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
  }
  body.r360-blue-ux table.blue-ux-table td[data-blue-metric="true"]::before { text-align: center !important; }
  body.r360-blue-ux table.blue-ux-table td[data-blue-tone="success"] { background: color-mix(in srgb, #dcfce7 55%, var(--surface, #fff)) !important; }
  body.r360-blue-ux table.blue-ux-table td[data-blue-tone="warning"] { background: color-mix(in srgb, #fef3c7 58%, var(--surface, #fff)) !important; }
  body.r360-blue-ux table.blue-ux-table td[data-blue-tone="danger"] { background: color-mix(in srgb, #fee2e2 58%, var(--surface, #fff)) !important; }
  body.r360-blue-ux table.blue-ux-table td[data-blue-tone="info"] { background: color-mix(in srgb, #dbeafe 62%, var(--surface, #fff)) !important; }

  body.r360-blue-ux .blue-manager-actions-stack {
    width: 100%;
    min-width: 0;
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    gap: 8px !important;
  }
  body.r360-blue-ux .blue-manager-actions-stack > .blue-action-view {
    order: 1;
    grid-column: 1 !important;
    grid-row: auto !important;
    min-height: 44px;
  }
  body.r360-blue-ux .blue-manager-access-summary {
    order: 2;
    grid-column: 1 !important;
    grid-row: auto !important;
    min-height: 52px;
  }
  body.r360-blue-ux .blue-manager-actions-stack > .blue-action-secondary {
    order: 3;
    grid-column: 1 !important;
    grid-row: auto !important;
    min-height: 42px;
  }

  body.r360-blue-ux table.blue-ux-table td[data-blue-key="matricula"] {
    width: auto;
    max-width: none;
    text-align: left !important;
  }

  body.r360-blue-ux table.blue-ux-table td[data-blue-key="andamento"] .blue-table-progress,
  body.r360-blue-ux table.blue-ux-table td[data-blue-key="concluido"] .blue-table-progress {
    width: 100%;
    max-width: none;
  }

  /* Os controles flutuantes estavam cobrindo dados e botões nas capturas mobile. */
  body.r360-blue-ux #r360-ia-test-entry,
  body.r360-blue-ux #r360-language-switcher { display: none !important; }

  body.r360-blue-ux .r360-blue-supervisor-modal-bg {
    place-items: stretch !important;
    padding: 0 !important;
  }
  body.r360-blue-ux .r360-blue-supervisor-modal,
  body.r360-blue-ux .r360-blue-supervisor-modal.r360-blue-detail-upgraded {
    width: 100% !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: none !important;
    display: flex;
    flex-direction: column;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
  }
  body.r360-blue-ux .r360-blue-detail-head {
    flex: 0 0 auto;
    padding: max(14px, env(safe-area-inset-top)) 16px 13px !important;
  }
  body.r360-blue-ux .r360-blue-detail-body {
    flex: 1 1 auto;
    max-height: none !important;
    padding: 14px 14px 24px !important;
    overscroll-behavior: contain;
  }
  body.r360-blue-ux .r360-blue-detail-summary { grid-template-columns: 1fr !important; }
  body.r360-blue-ux .r360-blue-detail-bar-row {
    grid-template-columns: minmax(90px, 1fr) minmax(92px, 1.2fr) 52px !important;
    gap: 7px !important;
  }
  body.r360-blue-ux .r360-blue-detail-theme-head { flex-direction: column; gap: 4px; }
  body.r360-blue-ux .r360-blue-detail-theme-note { white-space: normal; }
  body.r360-blue-ux .r360-blue-detail-footer,
  body.r360-blue-ux .r360-blue-supervisor-modal-footer {
    flex: 0 0 auto;
    position: sticky;
    bottom: 0;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    width: 100%;
    margin: 0 !important;
    padding: 11px 14px max(11px, env(safe-area-inset-bottom)) !important;
    border-top: 1px solid var(--border, #d7e0ef);
    background: color-mix(in srgb, var(--surface, #fff) 96%, transparent);
    box-shadow: 0 -8px 22px rgba(15, 23, 42, .08);
  }
  body.r360-blue-ux .r360-blue-detail-footer button,
  body.r360-blue-ux .r360-blue-supervisor-modal-footer button {
    width: 100%;
    min-height: 44px;
  }
}

@container blueTable (max-width: 980px) {
  body.r360-blue-ux table.blue-ux-table,
  body.r360-blue-ux table.blue-ux-table tbody { display: block !important; width: 100% !important; }
  body.r360-blue-ux table.blue-ux-table thead { display: none !important; }
  body.r360-blue-ux table.blue-ux-table tbody { display: grid !important; gap: 14px !important; padding: 2px !important; }
  body.r360-blue-ux table.blue-ux-table tbody tr {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 12px 12px !important;
    overflow: hidden;
    border: 1px solid var(--blue-r82-border) !important;
    border-radius: 17px !important;
    background: var(--surface, #fff) !important;
    box-shadow: var(--blue-r82-shadow) !important;
  }
  body.r360-blue-ux table.blue-manager-access-table tbody tr {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body.r360-blue-ux table.blue-ux-table tbody td {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 5px !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 62px;
    padding: 9px 10px !important;
    border: 1px solid color-mix(in srgb, var(--border, #d7e0ef) 76%, transparent) !important;
    border-radius: 11px;
    background: var(--surface-2, #f8fafc) !important;
    text-align: left !important;
  }
  body.r360-blue-ux table.blue-ux-table tbody td.blue-role-column-hidden,
  body.r360-blue-ux table.blue-ux-table tbody td.blue-link-column-hidden { display: none !important; }
  body.r360-blue-ux table.blue-ux-table tbody td::before {
    content: attr(data-blue-label) !important;
    display: block !important;
    color: var(--muted, #64748b) !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    letter-spacing: .045em !important;
    text-align: left !important;
    text-transform: uppercase !important;
  }
  body.r360-blue-ux table.blue-ux-table td[data-blue-hero="true"] {
    grid-column: 1 / -1;
    min-height: 98px;
    margin: 0 -12px 3px;
    padding: 18px 16px !important;
    align-items: center;
    text-align: center !important;
    border: 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--primary, #155eef) 20%, var(--border, #d7e0ef)) !important;
    border-radius: 0 !important;
    background: linear-gradient(145deg, var(--blue-r82-soft), color-mix(in srgb, var(--surface, #fff) 92%, #dce8ff)) !important;
  }
  body.r360-blue-ux table.blue-ux-table td[data-blue-hero="true"]::before { display: none !important; }
  body.r360-blue-ux table.blue-ux-table td[data-blue-key="e-mail"],
  body.r360-blue-ux table.blue-ux-table td[data-blue-key="acoes"] { grid-column: 1 / -1; }
  body.r360-blue-ux table.blue-manager-access-table td[data-blue-key="matricula"] { grid-column: span 1; }
  body.r360-blue-ux table.blue-manager-access-table td[data-blue-key="e-mail"] { grid-column: span 2; }
  body.r360-blue-ux table.blue-ux-table td[data-blue-key="acoes"] {
    min-height: 0;
    padding: 12px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--border, #d7e0ef) !important;
    border-radius: 0;
    background: transparent !important;
  }
  body.r360-blue-ux table.blue-ux-table td[data-blue-key="acoes"]::before { display: none !important; }
  body.r360-blue-ux table.blue-ux-table td[data-blue-key="acoes"] > .table-actions {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px !important;
  }
  body.r360-blue-ux table.blue-ux-table td[data-blue-key="acoes"] > .table-actions > :is(button,a,[role="button"]) {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    justify-content: center;
    white-space: normal;
  }
  body.r360-blue-ux table.blue-ux-table td[data-blue-key="acoes"] > .table-actions > :is(button,a,[role="button"]):last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
  body.r360-blue-ux table.blue-ux-table td[data-blue-metric="true"] {
    min-height: 70px;
    align-items: center;
    text-align: center !important;
    font-size: 14px;
    font-weight: 900;
  }
  body.r360-blue-ux table.blue-ux-table td[data-blue-metric="true"]::before { text-align: center !important; }
  body.r360-blue-ux table.blue-ux-table td[data-blue-tone="success"] { background: color-mix(in srgb, #dcfce7 55%, var(--surface, #fff)) !important; }
  body.r360-blue-ux table.blue-ux-table td[data-blue-tone="warning"] { background: color-mix(in srgb, #fef3c7 58%, var(--surface, #fff)) !important; }
  body.r360-blue-ux table.blue-ux-table td[data-blue-tone="danger"] { background: color-mix(in srgb, #fee2e2 58%, var(--surface, #fff)) !important; }
  body.r360-blue-ux table.blue-ux-table td[data-blue-tone="info"] { background: color-mix(in srgb, #dbeafe 62%, var(--surface, #fff)) !important; }
  body.r360-blue-ux .blue-manager-actions-stack {
    width: 100%; min-width: 0; grid-template-columns: 1fr !important; grid-template-rows: none !important; gap: 8px !important;
  }
  body.r360-blue-ux .blue-manager-actions-stack > .blue-action-view { order: 1; grid-column: 1 !important; grid-row: auto !important; min-height: 44px; }
  body.r360-blue-ux .blue-manager-access-summary { order: 2; grid-column: 1 !important; grid-row: auto !important; min-height: 52px; }
  body.r360-blue-ux .blue-manager-actions-stack > .blue-action-secondary { order: 3; grid-column: 1 !important; grid-row: auto !important; min-height: 42px; }
}

@media (max-width: 420px) {
  body.r360-blue-ux table.blue-ux-table tbody tr { padding-inline: 9px !important; gap: 7px; }
  body.r360-blue-ux table.blue-ux-table td[data-blue-hero="true"] { margin-inline: -9px; }
  body.r360-blue-ux table.blue-ux-table tbody td { padding: 8px !important; }
  body.r360-blue-ux .blue-base-stats > span { min-height: 58px; padding: 8px !important; }
}
