body {
  background: var(--green-050);
}

.material-symbols-rounded {
  font-family: "Material Symbols Rounded", sans-serif;
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  white-space: nowrap;
  -webkit-font-feature-settings: "liga";
  font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

.admin-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 14px 20px;
  background: var(--green-900);
  color: var(--white);
}

.admin-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--white);
  font-weight: 800;
  font-size: 16px;
  text-decoration: none;
}

.admin-topbar-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.admin-ghost-button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 14px;
  color: var(--white);
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.admin-ghost-button:hover,
.admin-ghost-button:focus-visible {
  background: rgba(255, 255, 255, 0.18);
}

.admin-ghost-button .material-symbols-rounded {
  font-size: 18px;
}

.admin-main {
  max-width: 1280px;
  margin: 0 auto;
  padding: 24px 20px 60px;
}

.admin-loading {
  max-width: 1280px;
  margin: 40px auto;
  padding: 0 20px;
  color: var(--muted);
  font-size: 14px;
}

.admin-tabs {
  display: flex;
  flex-wrap: wrap;   /* V.331: com 11 abas, quebra a fileira em vez de espremer o texto dentro dos botões */
  gap: 8px;
  margin-bottom: 20px;
}

.admin-tab {
  flex: 0 0 auto;
  white-space: nowrap;
  line-height: 1.2;
  padding: 9px 16px;
  color: var(--green-900);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 999px;
  font: inherit;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
}

.admin-tab.is-active {
  color: var(--white);
  background: var(--green-900);
  border-color: var(--green-900);
}

.admin-panel {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 22px;
}

.admin-panel[hidden] {
  display: none;
}

.admin-panel-head h1 {
  margin: 0 0 6px;
  color: var(--green-900);
  font-size: 22px;
  letter-spacing: -0.03em;
}

.admin-panel-head p {
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.admin-inline-msg {
  margin: 0 0 14px;
  padding: 9px 13px;
  background: var(--green-100);
  color: var(--green-900);
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
}

.admin-inline-msg.is-error {
  background: #fbe6e6;
  color: #8a2020;
}

.admin-table-wrap {
  overflow-x: auto;
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.admin-table th,
.admin-table td {
  padding: 12px 15px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
}

.admin-table thead th {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.admin-table tbody th[scope="row"] {
  font-weight: 700;
  color: var(--ink);
}

.admin-cell-check {
  text-align: center;
  white-space: nowrap;
}

.admin-cell-check input {
  width: 17px;
  height: 17px;
  cursor: pointer;
}

.admin-cell-actions {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  justify-content: start;
  gap: 6px 8px;
  white-space: nowrap;
}

/* Ferramentas Externas (V.314, dona: "está cortando"): a URL quebra linha e os botões ficam inteiros dentro da célula */
.admin-tabela-ferramentas .ferr-url {
  min-width: 160px;
}

.admin-tabela-ferramentas .ferr-url a {
  white-space: normal;
  overflow-wrap: anywhere;
}

.admin-tabela-ferramentas td.ferr-acoes {
  width: 1%;
}

.admin-tabela-ferramentas td.ferr-acoes .admin-cell-actions {
  justify-content: end;
}

@media (max-width: 1180px) {
  .admin-tabela-ferramentas td.ferr-acoes .admin-cell-actions {
    grid-template-columns: max-content;
  }

  .admin-tabela-ferramentas th,
  .admin-tabela-ferramentas td {
    padding-left: 10px;
    padding-right: 10px;
  }

  .admin-tabela-ferramentas td:nth-child(2) {
    overflow-wrap: anywhere;
  }
}

.admin-account-perfis {
  margin-top: 4px;
  font-size: 12px;
  color: var(--admin-muted, #666);
}

.admin-check[hidden] { display: none; }

.admin-check {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  cursor: pointer;
}

.admin-table select {
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font: inherit;
  font-size: 13px;
  background: var(--white);
}

/* :not([hidden]) — mesmo cuidado de sempre com display:flex + [hidden]. */
.admin-filtro-chip:not([hidden]) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 10px;
  padding: 8px 12px;
  color: var(--green-900);
  background: var(--green-100);
  border-radius: 10px;
  font-size: 12.5px;
  font-weight: 700;
}

.admin-mini-button {
  padding: 6px 11px;
  color: var(--green-900);
  background: var(--green-050);
  border: 1px solid var(--line);
  border-radius: 8px;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.admin-mini-button:hover {
  background: var(--green-100);
}

.admin-mini-button.is-danger {
  color: #8a2020;
  background: #fbe6e6;
  border-color: #f0cccc;
}

.admin-mini-button.is-primary {
  color: var(--white);
  background: var(--green-900);
  border-color: var(--green-900);
}

.admin-mini-button.is-primary:hover {
  background: var(--green-800);
}

/* Popup de confirmação (ex.: tirar um papel que faria alguém perder acesso) */
.admin-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 400;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(18, 30, 25, 0.5);
}

.admin-modal {
  width: 100%;
  max-width: 440px;
  max-height: calc(100dvh - 40px);
  overflow-y: auto;
  padding: 22px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg, 18px);
  box-shadow: 0 30px 70px rgba(10, 10, 10, 0.28);
}

.admin-modal h3 {
  margin: 0 0 8px;
  color: var(--green-900);
  font-size: 16px;
}

.admin-modal-texto {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.admin-modal-lista {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 260px;
  margin-bottom: 18px;
  padding-right: 4px;
  overflow-y: auto;
}

.admin-modal-linha {
  padding: 8px 10px;
  background: var(--green-050);
  border-radius: 10px;
}

.admin-modal-acoes {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.admin-new-account {
  margin-bottom: 22px;
  padding: 16px;
  background: var(--green-050);
  border: 1px solid var(--line);
  border-radius: 14px;
}

.admin-new-account h2 {
  margin: 0 0 12px;
  font-size: 14px;
  color: var(--green-900);
}

.admin-field-row {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 12px;
}

.admin-field-row label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}

.admin-field-row input[type="text"],
.admin-field-row input[type="url"],
.admin-field-row input[type="email"],
.admin-field-row input[type="password"],
.admin-field-row input[type="number"],
.admin-field-row input[type="search"],
.admin-field-row select {
  min-width: 170px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 10px;
  font: inherit;
  font-size: 14px;
  text-transform: none;
  letter-spacing: normal;
  background: var(--white);
}

.admin-field-row .admin-check {
  flex-direction: row;
  align-self: center;
  font-size: 11px;
  text-transform: uppercase;
  color: var(--muted);
}

.admin-tree-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-right: 2px;
  padding: 0;
  color: var(--green-900);
  background: transparent;
  border: 0;
  font-size: 11px;
  line-height: 1;
  cursor: pointer;
}

.admin-item-tree-row td {
  padding: 16px 12px;
  border-bottom: 1px solid var(--line);
  background: var(--green-050);
}

.admin-item-tree {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.admin-item-row {
  padding: 10px 0;
  border-bottom: 1px dashed var(--line);
}

.admin-item-row:last-child {
  border-bottom: 0;
}

.admin-item-row-head {
  margin: 0 0 8px;
  font-size: 13px;
}

.admin-muted-inline {
  color: var(--muted);
  font-weight: 400;
  font-size: 12.5px;
}

/* Visibilidade > Por pessoa */

.vis-pessoa-linha th {
  vertical-align: top;
}

.vis-pessoa-categorias {
  max-width: 520px;
}

.vis-pessoa-resumo {
  margin-bottom: 6px;
  font-size: 12.5px;
  color: var(--muted);
}

.vis-pessoa-resumo strong {
  color: var(--green-900);
  font-size: 13.5px;
}

.vis-pessoa-grupo {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.vis-pessoa-grupo-rotulo {
  font-size: 11.5px;
  font-weight: 800;
  color: var(--green-900);
}

.vis-chip.is-off {
  color: #8a3a2a;
  background: #fbeeea;
  border-color: #f1d3cb;
  text-decoration: line-through;
}

/* Selo "+N / −N pessoas": cartão com os nomes no hover/foco/toque */
.vis-badges {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  vertical-align: middle;
}

.vis-chip-quem {
  position: relative;
  cursor: help;
}

.vis-chip-quem:focus-visible {
  outline: 2px solid var(--green-900);
  outline-offset: 2px;
}

.vis-quem {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 30;
  display: none;
  flex-direction: column;
  gap: 4px;
  min-width: 180px;
  max-width: 320px;
  max-height: 260px;
  overflow-y: auto;
  padding: 10px 12px;
  color: var(--green-900);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16);
  font-weight: 600;
  white-space: normal;
  text-align: left;
}

.vis-chip-quem:hover .vis-quem,
.vis-chip-quem:focus .vis-quem,
.vis-chip-quem:focus-within .vis-quem {
  display: flex;
}

.vis-quem-titulo {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted);
}

.vis-quem-nome {
  font-size: 13px;
  line-height: 1.35;
}

.vis-chip {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  color: var(--muted);
  background: var(--green-050);
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}

.vis-chip.is-on {
  color: var(--green-900);
  background: var(--green-100);
  border-color: var(--green-100);
}

.vis-chip-personalizado {
  color: #8a5a10;
  background: #fdf1de;
  border-color: #f5dfb8;
  font-weight: 800;
}

.vis-pessoa-detalhe {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 10px;
  align-items: start;
}

.vis-pessoa-categoria {
  padding: 10px 12px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.vis-pessoa-categoria.is-bloqueada {
  padding: 8px 12px;
  background: var(--green-050);
  opacity: 0.75;
}

.vis-pessoa-categoria.is-bloqueada .vis-pessoa-item {
  font-size: 12px;
  line-height: 1.3;
}

.vis-pessoa-categoria-titulo {
  margin: 0;
  font-size: 12.5px;
  font-weight: 800;
  color: var(--green-900);
}

.vis-pessoa-categoria-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.vis-pessoa-itens {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
}

.vis-pessoa-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  cursor: pointer;
}

.vis-pessoa-item.is-personalizado {
  padding: 3px 8px;
  background: #fdf1de;
  border-radius: 8px;
}

.vis-pessoa-tag {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #8a5a10;
}

.ferramenta-secret-input {
  flex: 1 1 320px;
  min-width: 0;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-family: monospace;
  font-size: 12.5px;
  background: var(--white);
}

.admin-ferramenta-acessos {
  margin-top: 22px;
  margin-bottom: 0;
}

.admin-ferramenta-acessos-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.admin-ferramenta-acessos-titulo {
  display: flex;
  align-items: center;
  gap: 4px;
}

.ferramenta-acesso-form {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.admin-primary-button {
  padding: 10px 20px;
  color: var(--white);
  background: var(--green-900);
  border: 0;
  border-radius: 10px;
  font: inherit;
  font-weight: 800;
  font-size: 13px;
  cursor: pointer;
}

.admin-primary-button:hover {
  background: var(--green-800);
}

@media (max-width: 640px) {
  .admin-panel { padding: 16px; }
  .admin-field-row label { width: 100%; }
  .admin-field-row input[type="text"],
  .admin-field-row input[type="url"],
  .admin-field-row input[type="email"],
  .admin-field-row input[type="password"],
  .admin-field-row input[type="number"],
  .admin-field-row input[type="search"],
  .admin-field-row select { width: 100%; min-width: 0; }

  /* Sem isto, a 5ª aba ("Atividade") ficava cortada fora da tela. */
  .admin-tabs { flex-wrap: wrap; }
  .admin-tab { padding: 8px 13px; font-size: 12px; }
  .atv-stats { grid-template-columns: 1fr; }
  .atv-periodo { flex-wrap: wrap; }
}

/* ---- Aba "Pergunta rápida" ---- */

.quiz-admin-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 24px;
  padding: 18px;
  background: var(--green-050);
  border: 1px solid var(--line);
  border-radius: 14px;
}

.quiz-admin-form h2 {
  margin: 0;
  font-size: 15px;
  color: var(--green-900);
}

.quiz-admin-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.quiz-admin-field > span {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}

.quiz-admin-form textarea,
.quiz-admin-form input[type="text"] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--white);
  font: inherit;
  font-size: 14px;
  resize: vertical;
}

.quiz-admin-alts {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.quiz-admin-alts-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}

.quiz-admin-alt {
  display: flex;
  align-items: center;
  gap: 10px;
}

.quiz-admin-alt input[type="radio"] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
}

.quiz-admin-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.quiz-admin-row .quiz-admin-field {
  flex: 1;
  min-width: 220px;
}

.quiz-admin-pub {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
}

.quiz-admin-form-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.quiz-admin-hint {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.qp-evo-graf { margin: 8px 0 10px; overflow-x: auto; overflow-y: hidden; display: flex; }
.qp-evo-mais { font-weight: 800; fill: var(--green-900); }
.qp-evo-bola.is-erro { cursor: pointer; }
.qp-evo-pop { position: fixed; z-index: 50; width: 330px; max-width: calc(100vw - 16px); padding: 12px 14px; border-radius: 12px; background: var(--white, #fff); border: 1px solid #e6b4b4; box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18); display: grid; gap: 6px; font-size: 13px; }
.qp-evo-pop[hidden] { display: none; }
.qp-evo-pop-tit { margin: 0; font-weight: 800; }
.qp-evo-pop-perg { margin: 0; line-height: 1.4; }
.qp-evo-pop-erro { margin: 0; color: #8a1c1c; } .qp-evo-pop-certa { margin: 0; color: #1f5a3a; }
.qp-evo-svg { display: block; background: var(--white, #fff); border: 1px solid var(--line, #dfe6e2); border-radius: 12px; }
.qp-evo-ini { font-size: 11px; font-weight: 700; fill: #fff; pointer-events: none; }
.qp-evo-faixa { fill: transparent; }
.qp-evo-faixa.is-par { fill: var(--green-050); }
.qp-evo-pos { font-weight: 800; fill: var(--green-900); }
.qp-evo-nome.is-sem-ponto { opacity: 0.6; cursor: default; }
.qp-evo-bola { cursor: pointer; }
.qp-evo-av { width: 18px; height: 18px; font-size: 8px; }
.qp-evo-grade { stroke: #e6ecе8; stroke: var(--line, #e3eae6); stroke-width: 1; }
.qp-evo-eixo { font-size: 11px; fill: var(--muted, #5c5c66); }
.qp-evo-pessoa { cursor: pointer; }
.qp-evo-pessoa.is-apagada { opacity: 0.1; }
.qp-evo-legenda { display: flex; flex-wrap: wrap; gap: 6px 10px; }
.qp-evo-nome { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; border: 1px solid var(--line, #dfe6e2); border-radius: 999px; background: var(--white, #fff); font: inherit; font-size: 12.5px; cursor: pointer; }
.qp-evo-nome.is-ativo { border-color: var(--green-900); box-shadow: 0 0 0 2px rgba(31, 90, 58, 0.15); }
.qp-evo-cor { width: 10px; height: 10px; border-radius: 50%; flex: 0 0 auto; }
.qp-pilulas { margin: 4px 0 14px; }
.qp-pilulas .admin-tab { padding: 7px 13px; font-size: 12.5px; }
.qp-rel-bloco[hidden] { display: none; }
.qp-dia-erro td strong { color: #8a1c1c; }
.qp-dia-ok td strong { color: #1f5a3a; }
.qp-dia-unidade, .qp-dia-cat { color: var(--muted, #5c5c66); font-size: 12px; }
.qp-dia-detalhe { margin-top: 2px; font-size: 12px; color: var(--muted, #5c5c66); line-height: 1.4; }
.quiz-admin-subtitle {
  margin: 26px 0 10px;
  font-size: 14px;
  color: var(--green-900);
}

.quiz-admin-import {
  margin-top: 26px;
  padding: 16px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 14px;
}

.quiz-admin-import h2 {
  margin: 0 0 8px;
  font-size: 15px;
  color: var(--green-900);
}

.quiz-admin-import-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}

.quiz-admin-import textarea {
  width: 100%;
  margin-bottom: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  font: inherit;
  font-size: 13px;
  resize: vertical;
}

.quiz-admin-report {
  margin-top: 26px;
}

.quiz-admin-modo {
  margin-bottom: 22px;
  padding: 16px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 14px;
}

.quiz-admin-modo h2 {
  margin: 0 0 10px;
  font-size: 15px;
  color: var(--green-900);
}

.quiz-admin-modo .admin-check {
  display: flex;
  margin-bottom: 6px;
  font-size: 13px;
  text-transform: none;
  letter-spacing: normal;
  color: var(--ink);
}

.quiz-admin-pessoa-detalhe {
  margin: 12px 0 4px;
  padding: 14px;
  background: var(--green-050);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.quiz-admin-pessoa-detalhe[hidden] {
  display: none;
}

.quiz-admin-pessoa-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.quiz-admin-pessoa-head .quiz-admin-subtitle {
  margin: 0;
}

/* ---- Aba "Acessos" / campo unidade nas contas ---- */

.admin-account-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin-top: 5px;
}

.admin-check-mini {
  font-size: 11px;
  text-transform: none;
  letter-spacing: normal;
  color: var(--muted);
}

.admin-mini-link {
  color: var(--green-700);
  font-size: 11px;
  white-space: nowrap;
}

.admin-table tr.is-attn td {
  background: rgba(192, 57, 43, 0.05);
}

.admin-table input[type="text"] {
  width: 100%;
  min-width: 180px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font: inherit;
  font-size: 13px;
}

/* ===== Aba "Atividade" — dashboard ===== */

.atv-periodo { display: flex; gap: 6px; margin: 4px 0 18px; }
.atv-periodo button {
  padding: 7px 14px; color: var(--green-900); background: var(--white);
  border: 1px solid var(--line); border-radius: 999px;
  font: inherit; font-size: 13px; font-weight: 600; cursor: pointer;
}
.atv-periodo button.is-active { color: #fff; background: var(--green-900); border-color: var(--green-900); }

.atv-filtros { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: -8px 0 18px; }
.atv-filtros-lbl { font-size: 11px; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; color: var(--muted); }
.atv-filtro-select {
  padding: 7px 11px; color: var(--green-900); background: var(--white);
  border: 1px solid var(--line); border-radius: 8px;
  font: inherit; font-size: 13px;
}
.atv-filtro-check {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 11px; color: var(--green-900); background: var(--white);
  border: 1px solid var(--line); border-radius: 8px;
  font-size: 13px; cursor: pointer;
}

.atv-corpo { display: flex; flex-direction: column; gap: 16px; }

/* KPIs */
.atv-kpis {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(148px, 1fr)); gap: 12px;
}
.atv-kpi {
  padding: 15px 16px; background: var(--white);
  border: 1px solid var(--line); border-radius: 16px;
  box-shadow: 0 8px 20px rgba(10, 10, 10, 0.05);
}
.atv-kpi strong { display: block; color: var(--green-900); font-size: 27px; line-height: 1.05; letter-spacing: -0.02em; }
.atv-kpi-lbl { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; }
.atv-kpi-delta { display: block; margin-top: 8px; font-size: 11px; font-weight: 700; color: var(--muted); }
.atv-kpi-delta.up { color: #1f7a4d; }
.atv-kpi-delta.down { color: #c9443a; }

/* Card genérico */
.atv-card {
  padding: 16px 18px; background: var(--white);
  border: 1px solid var(--line); border-radius: 18px;
  box-shadow: 0 8px 20px rgba(10, 10, 10, 0.05);
}
.atv-card-title { margin: 0 0 12px; color: var(--green-900); font-size: 14px; font-weight: 800; }
.atv-card-sub { margin: -6px 0 12px; color: var(--muted); font-size: 12px; }

.atv-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.atv-grid > .atv-card:first-child { grid-column: 1 / -1; } /* "por dia" ocupa a linha toda */

/* --- primitivas de gráfico (charts.js) --- */
/* Mapa de calor dia × hora (V.249, portado do Go Persol) (origem: Persol) */
.ch-calor-wrap { position: relative; }
.ch-calor { display: grid; grid-template-columns: 40px repeat(24, minmax(0, 1fr)); gap: 2px; font-size: 11px; color: var(--muted, #5c5c66); }
.ch-calor-cel { height: 22px; border-radius: 4px; background: var(--green-050); }
.ch-calor-cel.is-clicavel { cursor: pointer; }
.ch-calor-cel:hover, .ch-calor-cel:focus-visible { outline: 2px solid var(--green-900); outline-offset: 0; }
.ch-calor-dia { display: flex; align-items: center; font-weight: 700; }
.ch-calor-dia.is-fds { color: #c0392b; }
.ch-calor-hora { padding: 0; font: inherit; font-size: 11px; color: var(--muted, #5c5c66); text-align: center; font-variant-numeric: tabular-nums; background: none; border: 0; border-radius: 4px; }
button.ch-calor-hora { min-height: 18px; cursor: pointer; }
button.ch-calor-hora:hover, button.ch-calor-hora:focus-visible { color: var(--green-900); background: var(--green-050); outline: none; }
.ch-calor-escala { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 10px; font-size: 12px; color: var(--muted, #5c5c66); }
.ch-calor-degrau { width: 18px; height: 10px; border-radius: 3px; }
.ch-dica { position: absolute; z-index: 20; pointer-events: none; min-width: 140px; padding: 10px 12px; font-size: 12.5px; color: #173028; background: #fff; border: 1px solid rgba(10, 10, 10, 0.12); border-radius: 14px; box-shadow: 0 10px 28px rgba(23, 48, 40, 0.14); }
.ch-dica[hidden] { display: none; }
.ch-dica strong { display: block; font-size: 16px; color: var(--green-900); }
.ch-dica-titulo { margin-bottom: 4px; font-weight: 600; color: var(--muted, #5c5c66); }
.ch-dica-acao { margin-top: 6px; font-weight: 600; color: var(--green-700); }
@media (max-width: 720px) {
  .ch-calor { grid-template-columns: 30px repeat(24, minmax(0, 1fr)); gap: 1px; font-size: 9px; }
  .ch-calor-cel { height: 14px; border-radius: 3px; }
  .ch-calor-hora { font-size: 9px; }
}
/* Pessoas: uma lista só com filtro (V.249) */
.atv-pessoas-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 10px; }
.atv-pessoas-filtros input[type="search"] { flex: 0 1 260px; min-width: 0; min-height: 34px; padding: 0 10px; font: inherit; font-size: 13px; border: 1px solid rgba(0, 0, 0, 0.16); border-radius: 10px; }
.atv-chip-filtro { min-height: 32px; padding: 0 12px; font: inherit; font-size: 12.5px; font-weight: 700; color: var(--green-900); background: #fff; border: 1px solid rgba(10, 10, 10, 0.2); border-radius: 999px; cursor: pointer; }
.atv-chip-filtro.is-active { color: #fff; background: var(--green-900); border-color: var(--green-900); }
.atv-chip-filtro.is-parados:not(.is-active) { color: #a3321f; border-color: rgba(192, 57, 43, 0.4); }
.atv-chip-filtro.is-parados.is-active { background: #c0392b; border-color: #c0392b; }
.atv-enviar optgroup { font-weight: 700; }
.ch-bars { display: flex; flex-direction: column; gap: 9px; }
.ch-bar-row { display: grid; grid-template-columns: 130px 1fr auto; align-items: center; gap: 10px; }
.ch-bar-row-btn {
  width: 100%; background: none; border: 0; font: inherit; text-align: left; cursor: pointer;
  padding: 3px 4px; margin: -3px -4px; border-radius: 6px;
}
.ch-bar-row-btn:hover { background: var(--green-050); }
.ch-bar-row-btn:focus-visible { outline: 2px solid var(--green-600); outline-offset: 1px; }
.ch-bar-label { overflow: hidden; font-size: 12px; font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.ch-bar-track { height: 12px; background: var(--green-050); border-radius: 999px; overflow: hidden; }
.ch-bar-fill { display: block; height: 100%; border-radius: 999px; transition: width 0.5s ease; }
.ch-bar-val { color: var(--muted); font-size: 11px; font-weight: 700; white-space: nowrap; }

.ch-cols { display: flex; align-items: flex-end; gap: 4px; }
.ch-col { display: flex; flex: 1; flex-direction: column; align-items: center; height: 100%; min-width: 0; }
.ch-col-val { font-size: 10px; font-weight: 700; color: var(--muted); height: 13px; }
.ch-col-bararea { display: flex; flex: 1; align-items: flex-end; width: 100%; padding: 0 2px; }
.ch-col-bar { display: block; width: 100%; min-height: 2px; border-radius: 4px 4px 0 0; transition: height 0.5s ease; }
.ch-col-label { margin-top: 4px; font-size: 10px; color: var(--muted); white-space: nowrap; }

.ch-area { position: relative; display: flex; flex-direction: column; }
.ch-area-max {
  position: absolute; top: 0; right: 0; color: var(--muted);
  font-size: 10px; font-weight: 700;
}
.ch-area-svg { flex: 1; width: 100%; min-height: 0; overflow: hidden; display: block; }
.ch-area-fill { fill: rgba(91, 0, 204, 0.15); }
.ch-area-line { fill: none; stroke: var(--green-800); stroke-width: 1.4; vector-effect: non-scaling-stroke; }
.ch-area-x { display: flex; justify-content: space-between; margin-top: 6px; color: var(--muted); font-size: 10px; }

.ch-donut { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.ch-donut-ring { position: relative; flex: 0 0 auto; border-radius: 50%; }
.ch-donut-hole {
  position: absolute; inset: 26%; display: grid; place-content: center; text-align: center;
  background: var(--white); border-radius: 50%;
}
.ch-donut-hole strong { color: var(--green-900); font-size: 17px; }
.ch-donut-hole small { color: var(--muted); font-size: 10px; }
.ch-legend { flex: 1; min-width: 150px; margin: 0; padding: 0; list-style: none; }
.ch-legend li { display: flex; align-items: center; gap: 8px; padding: 3px 0; font-size: 12px; }
.ch-legend i { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 3px; }
.ch-legend-lbl { flex: 1; }
.ch-legend-val { color: var(--muted); font-weight: 700; }

.ch-spark { display: inline-block; width: 64px; height: 18px; margin-left: 8px; vertical-align: middle; }
.ch-spark-svg { width: 100%; height: 100%; }
.ch-spark-fill { fill: rgba(91, 0, 204, 0.16); }
.ch-spark-line { fill: none; stroke: var(--green-700); stroke-width: 1.2; vector-effect: non-scaling-stroke; }

/* --- tabelas --- */
.atv-scroll { max-height: 460px; overflow-y: auto; }
.atv-tabela tbody tr { cursor: pointer; }
.atv-tabela tbody tr:hover { background: var(--green-050); }
.atv-parado { background: #fdecea; }
.atv-parado:hover { background: #fbddd9; }
.atv-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.atv-email { color: var(--muted); font-size: 12px; font-weight: 400; }
.atv-vertodos {
  margin: 10px auto 0; display: block; padding: 6px 14px;
  background: var(--white); border: 1px solid var(--line); border-radius: 999px;
  font: inherit; font-size: 12px; font-weight: 600; color: var(--green-900); cursor: pointer;
}

.atv-drill-in { padding: 10px 4px; }
.atv-drill-in > strong { display: block; margin-bottom: 8px; font-size: 13px; }
.atv-log, .atv-feed { margin: 0; padding: 0; list-style: none; }
.atv-log li, .atv-feed-item { padding: 6px 0; border-top: 1px solid var(--line); font-size: 13px; }
.atv-log li:first-child { border-top: 0; }
.atv-log-tipo {
  display: inline-block; padding: 1px 7px; color: var(--green-800); background: var(--green-100);
  border-radius: 999px; font-size: 10px; font-weight: 700; text-transform: uppercase;
}
.atv-log-cat, .atv-log-data { color: var(--muted); font-size: 12px; }
.atv-feed-alvo { font-weight: 600; }
.atv-feed-nome {
  padding: 0; border: 0; background: none; font: inherit; font-weight: 800;
  color: var(--green-900); cursor: pointer; text-decoration: underline; text-decoration-color: transparent;
  transition: text-decoration-color 0.15s ease;
}
.atv-feed-nome:hover, .atv-feed-nome:focus-visible { text-decoration-color: currentColor; }
.atv-vazio { color: var(--muted); font-size: 13px; }

@media (max-width: 900px) {
  .atv-kpis { grid-template-columns: repeat(2, 1fr); }
  .atv-grid { grid-template-columns: 1fr; }
  .atv-grid > .atv-card:first-child { grid-column: auto; }
}
@media (max-width: 640px) {
  .atv-kpis { grid-template-columns: 1fr 1fr; }
  .atv-periodo { flex-wrap: wrap; }
  .ch-bar-row { grid-template-columns: 96px 1fr auto; }
}

/* --- bolinhas clicáveis no gráfico de área --- */
.ch-area-dots {
  position: absolute; left: 0; right: 0; top: 0; bottom: 20px; pointer-events: none;
}
.ch-dot {
  position: absolute; width: 7px; height: 7px; margin: -3.5px 0 0 -3.5px;
  border-radius: 50%; background: var(--green-800);
  border: 2px solid var(--white);
}
.ch-dot-btn {
  width: 11px; height: 11px; margin: -5.5px 0 0 -5.5px; padding: 0;
  cursor: pointer; pointer-events: auto;
  transition: transform 0.12s ease, background 0.12s ease;
}
.ch-dot-btn:hover { transform: scale(1.5); background: #c9443a; }
.ch-dot-btn:focus-visible { outline: 2px solid var(--green-600); outline-offset: 2px; }

.ch-col-btn { background: none; border: 0; font: inherit; cursor: pointer; padding: 0; }
.ch-col-btn:hover .ch-col-bar { filter: brightness(1.15); }
.ch-col-btn:focus-visible { outline: 2px solid var(--green-600); outline-offset: 1px; }

/* --- painel "fatia" (detalhe de um dia / uma hora) --- */
.atv-fatia {
  margin-bottom: 16px; padding: 14px 16px;
  background: var(--white); border: 1px solid var(--green-600);
  border-radius: 16px; box-shadow: 0 10px 26px rgba(10, 10, 10, 0.1);
}
.atv-fatia-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.atv-fatia-head strong { color: var(--green-900); font-size: 14px; }
.atv-fatia-x {
  width: 26px; height: 26px; border: 0; border-radius: 50%;
  background: var(--green-050); color: var(--muted); cursor: pointer; font-size: 13px;
}
.atv-fatia-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.atv-fatia-cols h4 { margin: 0 0 6px; font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em; }
.atv-mini { margin: 0; padding: 0; list-style: none; }
.atv-mini li { display: flex; justify-content: space-between; gap: 10px; padding: 4px 0; border-top: 1px solid var(--line); font-size: 13px; }
.atv-mini li:first-child { border-top: 0; }
.atv-mini b { font-variant-numeric: tabular-nums; color: var(--green-800); }
.atv-mini-horas { font-size: 11px; font-weight: 400; color: var(--muted); }

/* --- form "abrir na tela dele" no drill da pessoa --- */
.atv-enviar {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  margin: 10px 0; padding: 10px 12px;
  background: var(--green-050); border: 1px dashed var(--green-600); border-radius: 12px;
}
.atv-enviar-lbl { font-size: 12px; font-weight: 700; color: var(--green-900); }
.atv-enviar select, .atv-enviar input {
  padding: 6px 10px; border: 1px solid var(--line); border-radius: 8px;
  font: inherit; font-size: 13px; background: var(--white); min-width: 0;
}
.atv-enviar input { flex: 1; min-width: 120px; }
.atv-enviar-btn {
  padding: 7px 14px; border: 0; border-radius: 999px;
  background: var(--green-900); color: #fff; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer;
}
.atv-enviar-btn:disabled { opacity: 0.6; cursor: default; }
.atv-enviar-msg { flex-basis: 100%; font-size: 12px; color: var(--green-800); }

@media (max-width: 640px) {
  .atv-fatia-cols { grid-template-columns: 1fr; gap: 10px; }
}

.atv-drillbox .atv-email { display: block; margin: 2px 0 6px; }
.atv-drillbox .atv-log { margin-top: 4px; }
.atv-drillbox .atv-log.atv-scroll { max-height: 300px; }

/* ===== Pergunta rápida — sub-abas + lista editável ===== */
.quiz-subtabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 18px; } /* V.266: no celular as pílulas quebram linha (Segurança do login passava de 390 px) */
.quiz-subtab {
  padding: 8px 18px; color: var(--green-900); background: var(--white);
  border: 1px solid var(--line); border-radius: 999px;
  font: inherit; font-size: 13px; font-weight: 700; cursor: pointer;
}
.quiz-subtab.is-active { color: #fff; background: var(--green-900); border-color: var(--green-900); }
.quiz-sec[hidden] { display: none; }

.qp-label {
  display: block; margin-bottom: 6px;
  font-size: 11px; font-weight: 800; letter-spacing: 0.05em;
  text-transform: uppercase; color: var(--muted);
}
.qp-spacer { flex: 1; }

.qp-filtros {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 14px;
}
.qp-filtros select, .qp-filtros input[type="search"] {
  padding: 7px 11px; border: 1px solid var(--line); border-radius: 8px;
  font: inherit; font-size: 13px; background: var(--white);
}
.qp-filtros input[type="search"] { flex: 1; min-width: 160px; }
.qp-contador { white-space: nowrap; }

.qp-lista { display: flex; flex-direction: column; gap: 8px; margin-bottom: 22px; }

.qp-card {
  background: var(--white); border: 1px solid var(--line); border-radius: 12px;
  box-shadow: 0 4px 12px rgba(10, 10, 10, 0.04);
}
.qp-card[hidden] { display: none; }
.qp-card.is-open { box-shadow: 0 10px 26px rgba(10, 10, 10, 0.09); }

.qp-card-head { display: flex; align-items: stretch; width: 100%; }
.qp-card-toggle {
  display: flex; align-items: center; gap: 10px; width: 100%; min-width: 0;
  padding: 10px 14px 10px 2px; background: transparent; border: 0;
  font: inherit; text-align: left; cursor: pointer;
}
.qp-drag {
  flex: 0 0 auto; width: 30px; display: grid; place-items: center;
  padding: 0 4px 0 10px; background: transparent; border: 0;
  color: var(--muted); font-size: 16px; letter-spacing: -2px;
  cursor: grab; touch-action: none;
}
/* "Pergunta validada": branco = falta revisar (não vai pros usuários); verde = revisada e liberada. */
.qp-valida {
  flex: 0 0 auto; align-self: center; width: 26px; height: 26px; margin: 0 6px 0 2px; padding: 0;
  display: grid; place-items: center; border-radius: 50%;
  background: #fff; border: 2px solid #d4d4da; color: #d4d4da; cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.qp-valida .material-symbols-rounded { font-size: 18px; font-variation-settings: 'wght' 700; }
.qp-valida:hover:not(:disabled) { border-color: #2e9e5b; color: #2e9e5b; }
.qp-valida.is-on { background: #2e9e5b; border-color: #2e9e5b; color: #fff; }
.qp-valida.is-on:hover:not(:disabled) { background: #268049; border-color: #268049; color: #fff; }
.qp-valida:disabled { opacity: 0.45; cursor: not-allowed; }
.qp-valida:focus-visible { outline: 3px solid rgba(46, 158, 91, 0.35); outline-offset: 2px; }
.qp-drag:hover { color: var(--green-800); }
.qp-drag:active { cursor: grabbing; }
.qp-drag:disabled { opacity: 0.3; cursor: not-allowed; }
.qp-card--dragging {
  position: relative; z-index: 5; cursor: grabbing;
  box-shadow: 0 16px 34px rgba(10, 10, 10, 0.22);
}
body.qp-arrastando { user-select: none; }

/* Avatar (iniciais coloridas ou foto) — usado aqui e no modal "meu perfil"
   da home (src/css/styles.css tem a versão pro portal). */
.avatar {
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; background-color: var(--green-700);
  background-size: cover; background-position: center;
  color: #fff; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.02em; user-select: none; flex: 0 0 auto;
}
.avatar-xs { width: 22px; height: 22px; font-size: 9.5px; }

/* Ícone "quem respondeu" no card + popup rico no hover. */
.qp-resp-trigger {
  flex: 0 0 auto; width: 30px; display: grid; place-items: center;
  padding: 0 10px 0 0; background: transparent; border: 0;
  color: var(--muted); cursor: help;
}
.qp-resp-trigger:hover,
.qp-resp-trigger:focus-visible { color: var(--green-800); }
.qp-resp-trigger .material-symbols-rounded { font-size: 19px; }

.qp-resp-pop {
  position: absolute; z-index: 4200;
  padding: 14px 16px 16px;
  background: var(--white, #fff);
  border-radius: 14px;
  box-shadow: 0 20px 46px rgba(10, 10, 10, 0.24);
  border: 1px solid var(--line);
  max-height: 70vh; overflow-y: auto;
}
.qp-resp-pop[hidden] { display: none; }
.qp-resp-pergunta {
  margin: 0 0 10px; padding-bottom: 8px; border-bottom: 1px solid var(--line);
  font-size: 12.5px; font-weight: 700; color: var(--ink);
}
.qp-resp-grupo { margin-bottom: 12px; }
.qp-resp-grupo:last-child { margin-bottom: 0; }
.qp-resp-titulo {
  margin: 0 0 6px; font-size: 11px; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.04em; color: var(--muted);
}
.qp-resp-grupo.is-ok .qp-resp-titulo { color: #1f7a4d; }
.qp-resp-grupo.is-erro .qp-resp-titulo { color: #b3402f; }
.qp-resp-grupo.is-pulo .qp-resp-titulo { color: #a67c1f; }
.qp-resp-lista { display: flex; flex-direction: column; gap: 6px; }
.qp-resp-lista li { display: flex; align-items: center; gap: 8px; }
.qp-resp-nome { font-size: 12.5px; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qp-resp-vazio, .qp-resp-carregando, .qp-resp-erro {
  margin: 0; font-size: 12px; color: var(--muted); font-style: italic;
}
.qp-resp-erro { color: #b3402f; font-style: normal; }
/* V.265: Relatório — número de Acertos/Erros com hover "quem" */
.qp-resp-quando { margin-left: auto; padding-left: 8px; font-size: 11.5px; color: var(--muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.qp-rel-quem { cursor: help; font-weight: 700; border-bottom: 1px dashed currentColor; padding: 0 2px; }
.qp-rel-quem:hover, .qp-rel-quem:focus-visible { color: var(--green-900); background: var(--green-050); border-radius: 4px; outline: none; }
.qp-resumo {
  flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
  font-size: 13px; font-weight: 600; color: var(--ink);
}
.qp-chip {
  flex: 0 0 auto; padding: 2px 9px; border-radius: 999px;
  background: var(--green-100); color: var(--green-800);
  font-size: 10px; font-weight: 700;
}
.qp-chevron { flex: 0 0 auto; color: var(--muted); font-size: 11px; transition: transform 0.16s ease; }
.qp-card.is-open .qp-chevron { transform: rotate(180deg); }
.qp-inativa .qp-resumo { opacity: 0.45; }

.qp-card-body {
  display: flex; flex-direction: column; gap: 10px;
  padding: 6px 14px 14px; border-top: 1px solid var(--line);
}
.qp-card-body[hidden] { display: none; }
.qp-body-top { display: flex; align-items: center; gap: 12px; }
.qp-body-bottom {
  display: flex; justify-content: flex-end; padding-top: 8px;
  border-top: 1px solid var(--line);
}
.qp-body-bottom .qp-salvar { min-width: 120px; }

.qp-id { font-size: 11px; font-weight: 800; color: var(--muted); flex: 0 0 auto; }
/* V.324: posição na fila (1, 2, 3…) ≠ #código; bolinhas de quem parou nesta pergunta, à esquerda */
.qp-pos { flex: 0 0 auto; align-self: center; min-width: 40px; padding-left: 8px; text-align: center; font-size: 15px; font-weight: 800; color: var(--green-800); font-variant-numeric: tabular-nums; }
.qp-pos.is-fora { color: #d4d4da; font-weight: 600; }
.qp-onde { flex: 0 0 100px; display: flex; align-items: center; padding-left: 6px; overflow: hidden; }
.qp-onde.tem { cursor: pointer; }
.qp-onde .qp-onde-bolinha { margin-left: -7px; box-shadow: 0 0 0 2px var(--white); flex: 0 0 auto; }
.qp-onde .qp-onde-bolinha:first-child { margin-left: 0; }
.qp-onde-mais { margin-left: 3px; font-size: 10.5px; font-weight: 800; color: var(--green-800); }
.qp-onde-hint { margin: 2px 0 10px; }
@media (max-width: 640px) { .qp-onde { flex-basis: 54px; padding-left: 6px; } .qp-onde .qp-onde-bolinha:nth-child(n+3) { display: none; } }
.qp-ativa { font-size: 12px; }
.qp-status { font-size: 11px; font-weight: 700; color: var(--muted); flex: 0 0 auto; }
.qp-status.is-ok { color: #1f7a4d; }
.qp-status.is-saving { color: var(--green-700); }
.qp-status.is-error { color: #c9443a; }
/* V.308: dar nova chance a quem errou */
.qp-nova-chance { margin-right: 14px; padding: 0; border: 0; background: none; color: #2f5d4f; font: inherit; font-size: 12.5px; font-weight: 800; text-decoration: underline; cursor: pointer; }
.qp-del {
  border: 0; background: transparent; color: #a3352b; cursor: pointer;
  font: inherit; font-size: 12px; font-weight: 700; text-decoration: underline;
}

.qp-card textarea, .qp-card input[type="text"], .qp-card input[type="date"],
.qp-card input[type="number"] {
  width: 100%; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px;
  font: inherit; font-size: 14px; background: var(--white); resize: vertical;
}
.qp-enunciado { font-weight: 600; }
.qp-explic { font-size: 13px; }

.qp-alts-wrap { display: flex; flex-direction: column; gap: 6px; }
.qp-alts { display: flex; flex-direction: column; gap: 6px; }
.qp-alt { display: flex; align-items: center; gap: 8px; }
.qp-alt input[type="radio"] { flex: 0 0 auto; width: 16px; height: 16px; cursor: pointer; }
.qp-alt .qp-alt-txt { flex: 1; }
.qp-alt-x {
  flex: 0 0 auto; width: 24px; height: 24px; border: 0; border-radius: 6px;
  background: var(--green-050); color: var(--muted); cursor: pointer; font-size: 15px;
}
.qp-alt-add {
  align-self: flex-start; padding: 4px 10px; border: 1px dashed var(--line); border-radius: 8px;
  background: transparent; color: var(--green-800); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer;
}

.qp-meta { display: flex; flex-wrap: wrap; gap: 12px; }
.qp-meta label { display: flex; flex-direction: column; gap: 3px; font-size: 11px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 0.03em; }
.qp-meta input { min-width: 130px; text-transform: none; letter-spacing: normal; }
.qp-meta .qp-ordem, .qp-meta .qp-espalhar { max-width: 90px; }

.qp-pub { display: flex; flex-wrap: wrap; gap: 12px; }
.qp-pub .admin-check { font-size: 12px; }

.qp-erro { margin: 0; }

.quiz-admin-import summary {
  cursor: pointer; font-weight: 700; font-size: 14px; color: var(--green-900);
}

@media (max-width: 640px) {
  .qp-meta label { width: 100%; }
  .qp-meta input, .qp-meta .qp-ordem, .qp-meta .qp-espalhar { max-width: none; width: 100%; }
}

/* dicas dentro dos cards de pergunta */
.qp-meta label.dica { position: relative; overflow: visible; }
.qp-alts-wrap .qp-label.dica { display: inline-block; cursor: help; }
.qp-pub .qp-pub-lbl { flex-basis: 100%; cursor: help; }
.qp-ativa.dica { cursor: help; }

/* ---- Aba "Circular" ---- */

.circ-chip {
  display: inline-flex; padding: 2px 9px; border-radius: 999px;
  background: var(--green-100); color: var(--green-800);
  font-size: 10.5px; font-weight: 700;
}

.circ-form {
  display: flex; flex-direction: column; gap: 12px;
  margin-bottom: 22px; padding: 16px;
  background: var(--green-050); border: 1px solid var(--line); border-radius: 14px;
}
.circ-form > input[type="text"],
.circ-form textarea {
  padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px;
  background: var(--white); font: inherit; font-size: 13.5px; resize: vertical;
}
.circ-form > input[type="text"] { font-weight: 700; }
.circ-form-anexo { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.circ-form-anexo select, .circ-form-anexo input[type="url"], .circ-form-anexo input[type="text"] {
  padding: 7px 11px; border: 1px solid var(--line); border-radius: 8px;
  font: inherit; font-size: 13px; background: var(--white);
}
.circ-form-anexo input[type="url"] { flex: 1 1 200px; min-width: 160px; }

.circ-form > select,
.circ-form > input[type="url"],
.circ-form > input[type="number"],
.circ-form > input[type="file"] {
  padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px;
  background: var(--white); font: inherit; font-size: 13.5px;
}
.slide-preview-box { display: flex; }
.slide-preview {
  width: 100%; max-width: 320px; max-height: 160px;
  object-fit: cover; border-radius: 10px; border: 1px solid var(--line);
  background: var(--green-050);
}
td .slide-preview { width: 90px; max-width: 90px; height: 50px; max-height: 50px; }
/* Formulário do banner (mesmo padrão dos campos do painel: rótulo pequeno em cima, campo embaixo) */
.slide-form { max-width: 760px; }
.slide-form label {
  display: flex; flex-direction: column; gap: 4px;
  font-size: 11px; font-weight: 800; letter-spacing: 0.04em;
  text-transform: uppercase; color: var(--muted);
}
.slide-form input:not([type="file"]), .slide-form select, .slide-form textarea {
  width: 100%; box-sizing: border-box;
  padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px;
  background: var(--white); font: inherit; font-size: 14px;
  text-transform: none; letter-spacing: normal; color: var(--ink); font-weight: 500;
}
.slide-form input[type="file"] {
  max-width: 100%; padding: 6px; font: inherit; font-size: 13px;
  text-transform: none; letter-spacing: normal; color: var(--ink);
  background: var(--white); border: 1px dashed var(--line); border-radius: 10px; font-weight: 500;
}
.slide-form-linha { display: grid; grid-template-columns: 140px minmax(0, 1fr) 100px; gap: 12px; align-items: end; }
.slide-form-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.slide-form-acoes [hidden] { display: none; }
.slide-form .form-msg { margin: 0; font-size: 13px; font-weight: 600; color: var(--green-900); }
@media (max-width: 600px) {
  .slide-form-linha { grid-template-columns: 1fr; }
}
.slide-ordem-input { width: 56px; padding: 5px 6px; border: 1px solid var(--line); border-radius: 8px; }
.circ-form-unidades { display: flex; flex-direction: column; gap: 8px; }
/* Data do aviso (13/10/2026) */
.circ-form-data { display: flex; flex-direction: column; gap: 6px; max-width: 220px; }
.circ-form-data input, .circ-form-data select { padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; font: inherit; }
/* Publicar/Salvar + "Cancelar edição" lado a lado; o principal ocupa a largura como antes. */
.circ-form-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.circ-form-acoes .admin-primary-button { flex: 1 1 auto; }
.circ-form-acoes [hidden] { display: none; }
.circ-form-unid-lista { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.circ-form-unid-lista[hidden] { display: none; }

.circ-lista { display: flex; flex-direction: column; gap: 8px; }
.circ-linha {
  padding: 12px 14px; background: var(--white); border: 1px solid var(--line);
  border-radius: 12px; box-shadow: 0 4px 12px rgba(10, 10, 10, 0.04);
}
.circ-linha-inativa { opacity: 0.55; }
.circ-linha-topo { display: flex; align-items: flex-start; gap: 10px; }
.circ-linha-pin { color: #a67c1f; font-size: 17px; margin-top: 2px; }
.circ-linha-texto { flex: 1; min-width: 0; margin: 0; font-size: 13.5px; color: var(--ink); }
.circ-linha-ativa { flex: 0 0 auto; font-size: 12px; white-space: nowrap; }
.circ-linha-meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px;
  font-size: 11.5px; color: var(--muted);
}

.circ-perm-lista { display: flex; flex-direction: column; gap: 6px; }
.circ-perm-linha {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
  padding: 10px 14px; background: var(--white); border: 1px solid var(--line); border-radius: 10px;
}
.circ-perm-linha > div:first-child { flex: 1; min-width: 160px; font-size: 13px; }
.circ-perm-check { font-size: 12.5px; white-space: nowrap; }

/* Permissões por administrador (aba Acessos > Contas) */
.admin-tab[hidden], .quiz-subtab[hidden] { display: none !important; }
.admin-perms { margin-top: 6px; font-size: 12px; }
.admin-perms summary { cursor: pointer; opacity: .75; }
.admin-perms .admin-check { display: flex; margin-top: 4px; }

.ferramenta-edit-input { width: 100%; min-width: 180px; padding: 6px 8px; font: inherit; border: 1px solid #d4d4da; border-radius: 8px; }

/* Painel Agenda */
.ag-adm-linha { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: flex-end; margin-bottom: 10px; }
.ag-adm-campo { display: grid; gap: 4px; flex: 1 1 150px; min-width: 130px; font-size: 12px; font-weight: 700; }
.ag-adm-campo input, .ag-adm-campo select, .ag-adm-campo textarea { width: 100%; padding: 8px 10px; font: inherit; font-weight: 500; border: 1px solid #d4d4da; border-radius: 8px; }
.ag-adm-campo small { color: #5f6670; font-weight: 500; }
.ag-adm-campo .ag-adm-curto { max-width: 110px; }
.ag-adm-campo[hidden] { display: none; }
.ag-adm-fim { justify-content: space-between; }
.ag-adm-inativo { opacity: .55; }

.admin-reset-senha { display: grid; gap: 6px; min-width: 260px; }
.admin-reset-senha .admin-field-row { display: flex; gap: 6px; align-items: center; }

/* Ferramentas > Administradores: permissões que a ferramenta oferece (chips) */
.ferramenta-perm-subtitulo { margin: 18px 0 8px; font-size: 13px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--green-900); }
.ferramenta-perm-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.ferramenta-perm-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; background: var(--green-050); border: 1px solid var(--line); font-size: 12px; }
.ferramenta-perm-chip b { font-family: ui-monospace, Consolas, monospace; font-weight: 700; }

.slide-acoes { white-space: nowrap; }
.slide-acoes .admin-mini-button + .admin-mini-button { margin-left: 6px; }

/* Filtros das tabelas de contas (Acessos › Contas e O que veem › Por pessoa) */
.admin-filtros {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
  margin: 0 0 14px;
}
.admin-filtros input[type="search"],
.admin-filtros select {
  padding: 8px 11px; border: 1px solid var(--line); border-radius: 10px;
  background: var(--white); color: var(--ink); font: inherit; font-size: 13.5px;
}
.admin-filtros input[type="search"] { flex: 1 1 220px; min-width: 180px; max-width: 340px; }
.admin-filtros-contador { margin-left: auto; color: var(--muted); font-size: 12.5px; font-weight: 700; }
/* paginação das listas de contas (V.181): 50 por página */
.admin-paginacao { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.admin-paginacao[hidden] { display: none; }
.admin-paginacao-faixa { color: var(--muted); font-size: 12.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
.admin-paginacao button:disabled { opacity: .45; cursor: default; }
.vis-chip-unidade { color: var(--green-900); background: var(--green-100); border-color: var(--green-100); }
@media (max-width: 600px) {
  .admin-filtros-contador { margin-left: 0; flex-basis: 100%; }
  .admin-paginacao { flex-basis: 100%; }
}

/* Alerta de bloqueio por senha errada (topo de qualquer aba) */
.admin-alerta {
  position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 12px; margin: 0 0 14px; padding: 12px 16px;
  color: #6f1d1d; background: #fdeeee; border: 2px solid #d94b4b; border-radius: 14px; box-shadow: 0 10px 24px rgba(150, 40, 40, 0.16);
}
.admin-alerta[hidden] { display: none; }
.admin-alerta > .material-symbols-rounded { flex: 0 0 auto; font-size: 28px; color: #c0392b; }
.admin-alerta-corpo { display: grid; gap: 6px; flex: 1 1 auto; min-width: 0; font-size: 13.5px; }
.admin-alerta-item { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.admin-alerta-btn { padding: 5px 12px; color: #fff; background: #c0392b; border: 0; border-radius: 999px; font: inherit; font-size: 12.5px; font-weight: 800; cursor: pointer; }
.admin-alerta-btn:disabled { opacity: 0.6; cursor: default; }
.admin-alerta-ver { flex: 0 0 auto; color: #6f1d1d; background: #fff; border: 1px solid #d94b4b; }
.admin-bloqueios { margin: 0 0 18px; padding: 14px 16px; background: #fdeeee; border: 2px solid #d94b4b; border-radius: 16px; }
.admin-bloqueios[hidden] { display: none; }
.admin-bloqueios h2 { margin: 0 0 4px; color: #6f1d1d; font-size: 16px; }

/* Alertas dentro da plataforma: número piscando nos botões e linhas que precisam de atenção */
.admin-alerta-motivo { padding: 1px 8px; font-size: 12px; font-weight: 800; color: #6f1d1d; background: #fff; border: 1px solid #d94b4b; border-radius: 999px; }
.admin-badge-alerta {
  display: inline-grid; place-items: center; min-width: 20px; height: 20px; margin-left: 8px; padding: 0 6px; font-size: 12px; font-weight: 800;
  color: #fff; background: #c0392b; border-radius: 999px; animation: admin-pisca-badge 1.4s ease-in-out infinite;
}
@keyframes admin-pisca-badge { 0%, 100% { box-shadow: 0 0 0 0 rgba(192, 57, 43, 0.55); } 50% { box-shadow: 0 0 0 6px rgba(192, 57, 43, 0); } }
.admin-table tr.is-attn td { animation: admin-pisca-linha 1.8s ease-in-out infinite; }
.admin-bloqueios:not([hidden]) { animation: admin-pisca-borda 1.8s ease-in-out infinite; }
@keyframes admin-pisca-linha { 0%, 100% { background-color: transparent; } 50% { background-color: #fdeeee; } }
@keyframes admin-pisca-borda { 0%, 100% { border-color: #d94b4b; } 50% { border-color: #f3b4b4; } }
@media (prefers-reduced-motion: reduce) {
  .admin-badge-alerta, .admin-table tr.is-attn td, .admin-bloqueios:not([hidden]) { animation: none; }
}
/* Histórico de aparelhos da pessoa junto do aparelho novo (V.247) — faixa vermelha e tabela Dispositivos */
.admin-hist-ap { flex: 1 1 100%; display: grid; gap: 4px; margin: 6px 0 2px; padding: 8px 12px; font-size: 12.5px; font-weight: 500; color: #3a3a3a; background: rgba(255, 255, 255, 0.75); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 10px; }
.admin-hist-ap.is-compacto { min-width: 220px; padding: 6px 8px; }
.admin-hist-ap ul { margin: 0; padding-left: 18px; display: grid; gap: 2px; }
.admin-hist-ap-tit { margin: 2px 0 0; font-weight: 800; color: #2b2b2b; }
.admin-hist-ap-mais { margin: 0; color: #6b6b6b; }
.admin-hist-ap-pistas { display: flex; flex-wrap: wrap; gap: 6px; }
.admin-hist-ap-chip { padding: 2px 8px; font-size: 12px; font-weight: 800; border-radius: 999px; }
.admin-hist-ap-chip.is-ok { color: #1f5e3a; background: #dff3e6; }
.admin-hist-ap-chip.is-atencao { color: #7a4b00; background: #fff1d6; }
/* V.305: pistas em texto (sessão em outro lugar, senha errada, quem mais entrou pela mesma internet) */
/* V.307: comparação do computador (sinais) */
.admin-hist-ap-chip.is-alerta { color: #fff; background: #b3402f; }
.admin-hist-ap-pc { color: #4b5c55; }
.admin-hist-ap-comparar { margin-top: 6px; font-size: 13px; }
.admin-hist-ap-comparar summary { cursor: pointer; font-weight: 800; color: #24433a; }
.admin-hist-ap-comparar table { margin-top: 6px; border-collapse: collapse; width: 100%; max-width: 720px; }
.admin-hist-ap-comparar th, .admin-hist-ap-comparar td { text-align: left; padding: 4px 8px; border-bottom: 1px solid #e3ebe7; vertical-align: top; }
.admin-hist-ap-comparar th { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: #5c5c66; }
.admin-hist-ap-comparar tr.is-diferente td { color: #8a2c1f; font-weight: 700; }
.admin-hist-ap-comparar tr.is-igual td:last-child { color: #1f7a4d; }
.admin-hist-ap-pistas-texto { margin: 6px 0 2px; padding-left: 18px; display: grid; gap: 2px; font-size: 13px; color: #6b3f00; }
.admin-hist-ap-ok { color: #1f5e3a; font-weight: 700; }
.admin-hist-ap-pend { color: #a3420f; font-weight: 700; }
.admin-filtro-disp-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 10px; }
.admin-filtro-disp { flex: 0 1 320px; min-width: 0; min-height: 36px; padding: 0 10px; font: inherit; border: 1px solid rgba(0, 0, 0, 0.18); border-radius: 10px; }
.admin-link-pessoa { padding: 0; font: inherit; font-weight: 700; color: inherit; text-align: left; text-decoration: underline dotted; text-underline-offset: 3px; background: none; border: 0; cursor: pointer; }
.admin-link-pessoa:hover { color: #2e7d55; }
.admin-device-pista { margin-top: 4px; padding: 3px 8px; width: fit-content; font-size: 12px; font-weight: 700; color: #7a4b00; background: #fff4de; border-radius: 8px; }

/* cartão "quem" do +N/−N: ponte invisível (o mouse não perde o hover ao descer) e linhas com ação */
.vis-quem::before { content: ''; position: absolute; top: -8px; left: 0; right: 0; height: 8px; }
.vis-quem-linha { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 4px 0; border-top: 1px solid var(--line); }
.vis-quem-linha:first-of-type { border-top: 0; }
.vis-quem-quem { display: grid; min-width: 0; }
.vis-quem-quem b { font-size: 13px; }
.vis-quem-quem small { font-size: 11.5px; color: var(--muted); font-weight: 600; overflow-wrap: anywhere; }
.vis-quem .admin-mini-button { flex: 0 0 auto; white-space: nowrap; }
.vis-quem-guardados { margin: 6px 0 0; padding-top: 6px; font-size: 11.5px; color: var(--muted); border-top: 1px dashed var(--line); }

/* cartão "quem" do +N/−N: UMA linha por pessoa (nome · e-mail … botão), sem espremer */
.vis-quem { width: max-content; min-width: 320px; max-width: min(560px, 86vw); }
.vis-quem-linha { flex-wrap: nowrap; gap: 14px; }
.vis-quem-quem { display: flex; align-items: baseline; gap: 8px; min-width: 0; flex: 1 1 auto; white-space: nowrap; }
.vis-quem-quem b { flex: 0 0 auto; }
.vis-quem-quem small { min-width: 0; overflow: hidden; text-overflow: ellipsis; overflow-wrap: normal; }
.vis-quem-guardados { white-space: normal; max-width: 420px; }

/* V.183 — acesso unificado às ferramentas */
.vis-tag-ferramenta { background: #dfeae3; color: var(--green-900); margin-left: 6px; }
.ferramenta-transicao { border-left: 4px solid #c8a35a; }


/* faixa amarela de avisos do sistema (tamanho dos bancos etc.) */
.admin-alerta-aviso { background: #fdf4e3; border-left: 4px solid #c8a35a; color: #5a4a22; }
/* V.330: quadrinho da reserva da fábrica */
.admin-reserva { margin: 0 0 12px; padding: 7px 12px; border-radius: 10px; font-size: 13px; font-weight: 600; border-left: 4px solid; }
.admin-reserva::before { content: "●"; margin-right: 8px; }
.admin-reserva-verde { background: #eef7f1; border-color: #3f8f5f; color: #24553a; }
.admin-reserva-verde::before { color: #3f8f5f; }
.admin-reserva-laranja { background: #fff4e5; border-color: #d98a1c; color: #6b4410; }
.admin-reserva-laranja::before { color: #d98a1c; }
.admin-reserva-vermelho { background: #fdecea; border-color: #c0392b; color: #7a2018; }
.admin-reserva-vermelho::before { color: #c0392b; }
.admin-reserva-cinza { background: #f2f4f3; border-color: #a7b2ad; color: #55615c; }
.admin-reserva-cinza::before { color: #a7b2ad; }
.admin-alerta-aviso .admin-alerta-linha { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0; padding: 10px 14px; }

/* chip Logado/Deslogado na tabela de Dispositivos (QA V.186) */
.admin-sessao-chip { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; background: #ececec; color: #777; }
.admin-sessao-chip.is-on { background: #e8f2ea; color: #2e7d32; }

/* Outras funcionalidades (V.195) */
.of-corpo { display: flex; flex-direction: column; gap: 16px; max-width: 860px; }
.of-card { display: flex; flex-direction: column; gap: 10px; padding: 20px; background: var(--white); border: 1px solid var(--line); border-radius: 18px; }
.of-card h2 { margin: 0; font-size: 18px; color: var(--green-900); }
.of-card h3 { margin: 8px 0 0; font-size: 13px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--green-800); }
.of-link { margin-left: 8px; font-size: 13px; font-weight: 700; color: var(--green-700); }
.of-dica { margin: 0; color: var(--muted); font-size: 13px; }
.of-opcoes { display: flex; flex-direction: column; gap: 6px; }
.of-opcao { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }
.of-opcao:has(input:checked) { border-color: var(--green-700); background: var(--green-050); }
.of-opcao input { margin-top: 3px; accent-color: var(--green-800); }
.of-opcao span { display: flex; flex-direction: column; gap: 2px; }
.of-opcao small { color: var(--muted); }
.of-equipe { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.of-equipe li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; background: var(--green-050); border-radius: 10px; font-size: 13px; overflow-wrap: anywhere; }
.of-add { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.of-add select { min-width: 240px; max-width: 100%; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; font: inherit; }

/* Campo de conta com sugestões (Ferramentas Externas, V.202) */
.campo-conta { position: relative; min-width: 280px; }
.campo-conta-input { width: 100%; padding: 10px 12px; font: inherit; font-size: 14px; border: 1px solid #d4d4da; border-radius: 10px; background: #fff; }
.campo-conta-input:focus { outline: none; border-color: var(--green-600); box-shadow: 0 0 0 3px rgba(91, 0, 204, .18); }
.campo-conta-lista { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 50; margin: 0; padding: 4px; list-style: none; max-height: 300px; overflow-y: auto; background: #fff; border: 1px solid #d4d4da; border-radius: 10px; box-shadow: 0 12px 28px rgba(23, 48, 40, .16); }
.campo-conta-lista[hidden] { display: none; }
.campo-conta-opcao { display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; border-radius: 8px; cursor: pointer; }
.campo-conta-opcao strong { font-size: 13.5px; color: var(--green-900); }
.campo-conta-opcao span { font-size: 12px; color: var(--muted); overflow-wrap: anywhere; }
.campo-conta-opcao.is-ativo, .campo-conta-opcao:hover { background: var(--green-100); }
.campo-conta-vazio { padding: 8px 10px; font-size: 12.5px; color: var(--muted); }
@media (max-width: 680px) { .campo-conta { min-width: 0; width: 100%; } }

/* Pergunta rápida › Jornada: líder de cada categoria na tabela de craques */
.admin-table td.qj-lider { font-weight: 800; color: var(--green-900); background: var(--green-050); }

/* Celular: o aviso vermelho quebra em linhas — o botão "Abrir Acessos" desce para baixo do texto (pedido de 08/10). */
@media (max-width: 700px) {
  .admin-alerta { flex-wrap: wrap; align-items: flex-start; }
  .admin-alerta-corpo { flex: 1 1 calc(100% - 44px); }
  .admin-alerta-ver { width: 100%; }
}

/* Segurança do login › Landing pages (09/10/2026): número que pede atenção */
.lp-alerta { color: #b3261e; font-weight: 700; }

/* Faixa amarela (10/10/2026, print da dona no celular): ela herdava o "grudar no topo" e o "lado a lado" do aviso
   vermelho — com vários avisos longos ficava por cima de tudo e empurrava a tela para os lados. Agora: não gruda,
   empilha, quebra endereço longo e, no celular, o botão desce para baixo do texto. Com mais de 3 avisos, os outros
   ficam em "Ver mais". */
.admin-alerta.admin-alerta-aviso { position: static; display: grid; gap: 0; padding: 4px 0; box-shadow: none; border-width: 0 0 0 4px; border-radius: 12px; }
/* sem aviso = sem caixa (13/10: o display:grid acima vencia o [hidden] e aparecia uma faixa vazia) */
.admin-alerta.admin-alerta-aviso[hidden] { display: none; }
.admin-alerta-recusar { color: #6f1d1d; background: #fff; border: 1px solid #d94b4b; }
.admin-alerta-aviso .admin-alerta-linha > span { min-width: 0; overflow-wrap: anywhere; }
.admin-alerta-aviso .admin-alerta-linha + .admin-alerta-linha { border-top: 1px solid rgba(200, 163, 90, 0.35); }
.admin-alerta-aviso .admin-alerta-linha > .admin-mini-button { flex: 0 0 auto; }
.admin-alerta-aviso-mais { justify-self: start; margin: 4px 14px 8px; }
@media (max-width: 700px) {
  .admin-alerta-aviso .admin-alerta-linha { flex-wrap: wrap; }
  /* o vermelho também não gruda no celular: grudado, cobria a tela ao rolar */
  .admin-alerta { position: static; }
}

/* Celular (10/10/2026, "ainda consigo rolar para os lados"): na aba Atividade, a tabela de engajamento (Status)
   alargava a coluna do grid e empurrava todos os cartões para fora da tela. Coluna nunca maior que a tela; tabela
   larga rola dentro do próprio cartão. */
.atv-card { min-width: 0; }
.atv-card .sadm-tabela,
.atv-status-eng .sadm-tabela { display: block; max-width: 100%; overflow-x: auto; }
.atv-status-eng { min-width: 0; max-width: 100%; }
@media (max-width: 900px) {
  .atv-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Selo da versão no painel (V.250), igual ao da home */
.admin-build-badge {
  position: fixed; right: max(10px, env(safe-area-inset-right)); bottom: max(10px, env(safe-area-inset-bottom)); z-index: 90;
  padding: 4px 9px; color: #fff; background: rgba(10, 10, 10, 0.82); border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 999px;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 11px; font-weight: 700; letter-spacing: 0.04em;
  pointer-events: none; user-select: none;
}
.admin-build-badge[hidden] { display: none; }

/* Atividade: filtros de unidade e tipo de conta com seleção múltipla (V.250) */
.atv-filtros .atv-chip-filtro { min-height: 30px; padding: 0 11px; }
.atv-filtros .atv-chip-filtro.is-todas { color: var(--muted, #5c5c66); border-style: dashed; }
.atv-filtros-sep { width: 1px; height: 22px; margin: 0 4px; background: rgba(10, 10, 10, 0.18); }

/* Ficha de aparelhos e entradas da pessoa (V.250) */
.ficha-modal { max-width: 980px; }
.ficha-cab { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.ficha-x { flex: 0 0 auto; width: 34px; height: 34px; font-size: 16px; color: var(--green-900); background: var(--green-050); border: 1px solid var(--line); border-radius: 999px; cursor: pointer; }
.ficha-sec { margin: 18px 0 8px; font-size: 14px; color: var(--green-900); }
.ficha-chip { display: inline-block; padding: 1px 8px; font-size: 11.5px; font-weight: 800; border-radius: 999px; color: #555; background: #eee; }
.ficha-chip.is-ok { color: #1f5e3a; background: #dff3e6; }
.ficha-chip.is-atencao { color: #7a4b00; background: #fff1d6; }
.ficha-chip.is-erro { color: #8a2b2b; background: #fdeeee; }
.ficha-filtro { margin-bottom: 6px; }
.ficha-linha { max-height: 420px; overflow-y: auto; padding-right: 4px; }
.ficha-linha h4 { margin: 12px 0 4px; font-size: 12.5px; text-transform: capitalize; color: var(--muted); }
.ficha-linha ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.ficha-linha li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: 13px; padding: 4px 0; border-bottom: 1px solid var(--line); }
.ficha-hora { font-variant-numeric: tabular-nums; font-weight: 700; min-width: 42px; }
.admin-ficha-btn { margin-left: 4px; padding: 2px 8px; font-size: 11.5px; }
.atv-drill-acoes { margin: 6px 0; }
@media (max-width: 640px) { .ficha-modal { padding: 16px; } }

/* Última localização em destaque na ficha (V.252) */
.ficha-ultima { margin: 10px 0 2px; padding: 10px 12px; font-size: 13px; border-radius: 12px; background: #dff3e6; color: #1f3d30; }
.ficha-ultima.is-vazia { background: var(--green-050); color: var(--muted); }
.ficha-chip.is-uso { color: #1d4f73; background: #e3f0fa; }

/* Outras funcionalidades › Vídeos explicativos dos itens (V.253) */
#videosItens { margin-top: 18px; }
.vid-lista { display: grid; gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.vid-linha { display: grid; grid-template-columns: 64px minmax(140px, 1fr) minmax(220px, 2fr) auto; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 12px; }
.vid-thumb { width: 64px; height: 36px; border-radius: 6px; object-fit: cover; background: var(--green-050); display: block; }
.vid-url { min-width: 0; min-height: 34px; padding: 0 10px; font: inherit; font-size: 13px; border: 1px solid rgba(0, 0, 0, 0.16); border-radius: 10px; }
.vid-acoes { display: flex; gap: 6px; }
@media (max-width: 760px) { .vid-linha { grid-template-columns: 64px minmax(0, 1fr); } .vid-url, .vid-acoes { grid-column: 1 / -1; } }

/* Ferramentas Externas › Categorias e itens da home (V.317) */
.menu-home { margin-top: 28px; display: grid; gap: 12px; }
.menu-home-cabeca { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.menu-home-explica { margin: 0; color: var(--muted); font-size: 13px; max-width: 80ch; }
.menu-home-lista { display: grid; gap: 8px; }
.menu-home-cat { border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.menu-home-cat.is-oculta { opacity: 0.6; }
.menu-home-cat-cabeca { display: flex; align-items: center; gap: 10px; padding: 12px 14px; cursor: pointer; list-style: none; flex-wrap: wrap; }
.menu-home-cat-cabeca::-webkit-details-marker { display: none; }
.menu-home-cat-icone { font-size: 22px; color: var(--green-700); }
.menu-home-cat-titulo { font-weight: 800; color: var(--ink); }
.menu-home-cat-conta { color: var(--muted); font-size: 12px; }
.menu-home-cat-corpo { display: grid; gap: 6px; padding: 0 14px 14px; }
.menu-home-acoes { display: flex; gap: 6px; margin-left: auto; flex-wrap: wrap; }
.menu-home-selos { display: inline-flex; gap: 4px; }
.menu-home-selo { font-size: 10px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; padding: 2px 7px; border-radius: 999px; }
.menu-home-selo.is-novo { background: var(--green-100); color: var(--green-800); }
.menu-home-selo.is-editado { background: #eef1f6; color: #3f4f6b; }
.menu-home-selo.is-oculto { background: #fbe6e6; color: #8a2020; }
.menu-home-item { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--green-050); flex-wrap: wrap; }
.menu-home-item.is-oculto { opacity: 0.6; }
.menu-home-item-icone { font-size: 20px; color: var(--green-700); }
.menu-home-item-texto { display: grid; min-width: 0; flex: 1 1 220px; }
.menu-home-link { color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.menu-home-form { display: grid; gap: 10px; padding: 12px 14px; margin: 0 14px 10px; border: 1px dashed var(--line); border-radius: 12px; background: var(--green-050); }
.menu-home-form .admin-field-row .menu-home-campo-largo { flex: 1 1 280px; }
.menu-home-form .admin-field-row .menu-home-campo-largo input { width: 100%; }
.menu-home-form-acoes { display: flex; gap: 8px; }
.menu-home-campo-icone label { display: flex; flex-direction: column; gap: 4px; font-size: 11px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: var(--muted); }
.menu-home-icone-linha { display: flex; align-items: center; gap: 8px; text-transform: none; letter-spacing: normal; }
.menu-home-icone-linha input { min-width: 170px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; font: inherit; font-size: 14px; background: var(--white); }
.menu-home-icone-previa { font-size: 28px; color: var(--green-700); width: 36px; text-align: center; }
.menu-home-seletor { margin-top: 8px; display: grid; gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.menu-home-seletor input[type="search"] { padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; font: inherit; font-size: 14px; }
.menu-home-icones { display: grid; grid-template-columns: repeat(auto-fill, minmax(44px, 1fr)); gap: 4px; max-height: 220px; overflow-y: auto; }
.menu-home-icone-opcao { display: grid; place-items: center; height: 42px; border: 1px solid transparent; border-radius: 8px; background: var(--green-050); cursor: pointer; color: var(--ink); }
.menu-home-icone-opcao:hover, .menu-home-icone-opcao:focus-visible { border-color: var(--green-600); background: var(--green-100); }
.menu-home-dica { margin: 0; font-size: 12px; color: var(--muted); }
.menu-home-protegida { display: inline-flex; align-items: center; gap: 3px; font-size: 12px; font-weight: 700; color: var(--muted); padding: 0 6px; }
.menu-home-protegida .material-symbols-rounded { font-size: 16px; }
.menu-home-dica a { color: var(--green-700); }
@media (max-width: 640px) {
  .menu-home-acoes { margin-left: 0; }
  .menu-home-form { margin: 0 8px 10px; }
}

/* V.331: Painel › Revendas */
.rv-base { margin: 2px 0 10px; }
.rv-form, .rv-detalhe { background: var(--white); border: 1px solid var(--line); border-radius: 16px; padding: 18px 20px; margin: 0 0 16px; display: grid; gap: 10px; }
.rv-linha { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.rv-linha label { display: grid; gap: 4px; font-size: 12px; font-weight: 700; color: var(--muted); }
.rv-linha input, .rv-linha select { font: inherit; font-size: 14px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; min-width: 0; }
.rv-cresce { flex: 1 1 260px; }
.rv-cresce input { width: 100%; }
.rv-acoes { display: flex; gap: 8px; flex-wrap: wrap; }
.rv-resultados { display: grid; gap: 4px; }
.rv-resultados:empty { display: none; }
.rv-cliente { text-align: left; font: inherit; font-size: 13.5px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--green-050); cursor: pointer; }
.rv-cliente:hover:not(:disabled) { border-color: var(--green-700); }
.rv-cliente:disabled { opacity: 0.55; cursor: not-allowed; }
.rv-tabela tbody tr { cursor: pointer; }
.rv-tabela tbody tr.is-aberta { background: var(--green-050); }
.rv-chip { display: inline-block; font-size: 11.5px; font-weight: 700; padding: 2px 10px; border-radius: 99px; }
.rv-chip.is-ok { background: #e4f3e9; color: #2b7149; }
.rv-chip.is-off { background: #f2f4f3; color: #6a7570; }
.rv-detalhe-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.rv-contas { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.rv-contas li { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; }
.rv-email { font-weight: 700; }
.rv-contas li .admin-mini-button { margin-left: auto; }
.rv-perigo { color: #a33a2b; border-color: #e6c2bc; }
.rv-bloqueio { font-weight: 700; border-left: 4px solid #c0392b; padding-left: 10px; }
.rv-hist summary { cursor: pointer; font-weight: 700; font-size: 13px; color: var(--muted); }
.rv-historico { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 4px; font-size: 13px; }
.rv-historico li { display: flex; flex-wrap: wrap; gap: 4px 10px; }
.rv-quando { font-variant-numeric: tabular-nums; color: var(--muted); }

/* V.331: bolinha na aba "Outras funcionalidades" quando a reserva da fábrica precisa de olho */
.admin-tab { position: relative; }
.admin-tab-bolinha { position: absolute; top: 6px; right: 8px; width: 10px; height: 10px; border-radius: 50%; box-shadow: 0 0 0 2px #fff; }
.admin-tab-bolinha.is-vermelho { background: #c0392b; animation: admin-tab-pisca 1.6s ease-in-out infinite; }
.admin-tab-bolinha.is-laranja { background: #d98a1c; }
@keyframes admin-tab-pisca { 50% { opacity: 0.35; } }
@media (prefers-reduced-motion: reduce) { .admin-tab-bolinha.is-vermelho { animation: none; } }
.admin-panel > .admin-reserva { margin-top: 4px; }

/* V.336: Ferramentas Externas › Dados de pedidos (CRM) */
.dados-pedidos { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line, rgba(10, 10, 10,.12)); }
.dados-pedidos-intro { margin: 0 0 10px; color: var(--muted, #5c5c66); font-size: 13px; line-height: 1.5; max-width: 900px; }
.dados-pedidos-id { color: var(--muted, #5c5c66); font-size: 11px; }
.dados-pedidos-sit { display: inline-block; padding: 3px 10px; color: #fff; border-radius: 999px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.dados-pedidos-novo { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 12px; }
.dados-pedidos-novo input, .dados-pedidos td input { min-width: 220px; flex: 1 1 220px; padding: 7px 10px; border: 1px solid var(--line, rgba(10, 10, 10,.2)); border-radius: 8px; font: inherit; }
.dados-pedidos select { padding: 7px 10px; border: 1px solid var(--line, rgba(10, 10, 10,.2)); border-radius: 8px; font: inherit; }
.dados-pedidos-detalhes { margin-top: 14px; }
.dados-pedidos-detalhes summary { cursor: pointer; color: var(--green-800); font-weight: 700; font-size: 13px; }
.dados-pedidos-hist { margin: 8px 0 0; padding-left: 18px; color: var(--muted, #5c5c66); font-size: 12.5px; line-height: 1.6; }
.dados-pedidos .admin-mini-button--danger { color: #c62828; border-color: rgba(198, 40, 40, 0.35); }
.dados-pedidos-sit--ligado { background: #2e7d4f; }
.dados-pedidos-sit--teste { background: #b7791f; }
.dados-pedidos-sit--desligado { background: #6b7570; }
.dados-pedidos-sit--bloqueado { background: #c62828; }

/* V.391 — faixa de pedidos esperando liberação, repaginada (dona, 03/11/2026: "ta mt ruim de olhar"): fundo branco com
   borda de destaque, cabeçalho com total + atalho, um cartão por pedido; lista rola por dentro quando passa da tela. */
.admin-alerta.admin-alerta--casos {
  display: block; padding: 0; overflow: hidden; color: #2b2b2b; background: #fff;
  border: 1px solid #efc4be; border-left: 5px solid #c0392b; border-radius: 16px; box-shadow: 0 14px 32px rgba(120, 30, 20, 0.12);
}
.admin-alerta.admin-alerta--casos[hidden] { display: none; }
.admin-alerta-cab { display: flex; align-items: center; gap: 10px; padding: 12px 18px; background: #fdf0ee; border-bottom: 1px solid #f3d3ce; }
.admin-alerta-cab strong { flex: 1 1 auto; font-size: 15px; color: #7a2018; }
.admin-alerta-cab-ic { font-size: 22px; color: #c0392b; }
.admin-alerta-lista { display: grid; gap: 12px; padding: 14px 18px 16px; max-height: min(64vh, 680px); overflow-y: auto; overscroll-behavior: contain; }
.admin-alerta-mais { margin: 0; font-size: 13px; color: #6b6b6b; }
.admin-alerta-link { padding: 4px 2px; font: inherit; font-size: 13px; font-weight: 700; color: #2e6b52; background: none; border: 0; cursor: pointer; text-decoration: underline; text-decoration-color: rgba(46, 107, 82, 0.35); text-underline-offset: 3px; }
.admin-alerta-link:hover { color: #1d4d3a; text-decoration-color: currentColor; }
.admin-alerta-cab .admin-alerta-link { flex: 0 0 auto; color: #7a2018; text-decoration-color: rgba(122, 32, 24, 0.35); }

.admin-alerta-caso { display: grid; gap: 12px; padding: 14px 16px; background: #fff; border: 1px solid #e6e9e7; border-radius: 14px; }
.admin-alerta-caso-topo { display: flex; align-items: center; gap: 12px; }
.admin-alerta-caso-ic { flex: 0 0 auto; display: grid; place-items: center; width: 40px; height: 40px; font-size: 22px; color: #a8331f; background: #fdeeec; border-radius: 12px; }
.admin-alerta-caso-quem { display: grid; gap: 3px; flex: 1 1 auto; min-width: 0; }
.admin-alerta-caso-nome { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.admin-alerta-caso-nome strong { font-size: 15.5px; color: #1f2a26; }
.admin-alerta--casos .admin-alerta-motivo { padding: 2px 9px; font-size: 11.5px; font-weight: 700; color: #a8331f; background: #fdeeec; border: 0; }
.admin-alerta-caso-linha { font-size: 13px; color: #66716c; overflow-wrap: anywhere; }
.admin-alerta-caso-acoes { flex: 0 0 auto; display: flex; gap: 8px; }
.admin-alerta--casos .admin-alerta-btn { padding: 8px 16px; font-size: 13px; font-weight: 800; color: #fff; background: #2e7d55; border: 1px solid #2e7d55; border-radius: 10px; }
.admin-alerta--casos .admin-alerta-btn:hover:not(:disabled) { background: #256846; }
.admin-alerta--casos .admin-alerta-recusar { color: #a8331f; background: #fff; border-color: #e3b5ad; }
.admin-alerta--casos .admin-alerta-recusar:hover:not(:disabled) { background: #fdf0ee; }
.admin-alerta-caso-rodape { display: flex; flex-wrap: wrap; gap: 4px 18px; padding-top: 10px; border-top: 1px solid #eef1ef; }

/* bloco de histórico dentro do cartão */
.admin-alerta-caso .admin-hist-ap { margin: 0; padding: 0; gap: 12px; font-size: 13px; color: #333; background: none; border: 0; border-radius: 0; }
.admin-hist-ap-pistas { gap: 6px; }
.admin-hist-ap-chip { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px 3px 7px; font-weight: 700; line-height: 1.3; }
.admin-hist-ap-chip .material-symbols-rounded { font-size: 15px; }
.admin-hist-ap-chip.is-ok { color: #1f5e3a; background: #e6f4eb; }
.admin-hist-ap-chip.is-atencao { color: #7a4b00; background: #fff3dc; }
.admin-hist-ap-chip.is-alerta { color: #fff; background: #b3402f; }
.admin-hist-ap-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 12px; }
.admin-hist-ap-col { display: grid; align-content: start; gap: 8px; padding: 12px 14px; background: #f7f9f8; border-radius: 12px; }
.admin-hist-ap-col h4 { margin: 0; font-size: 11.5px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #5b6b64; }
.admin-hist-ap-fatos { display: grid; gap: 6px; margin: 0; }
.admin-hist-ap-fatos dt { font-size: 12px; font-weight: 700; color: #5b6b64; }
.admin-hist-ap-fatos dd { margin: -4px 0 0; color: #1f2a26; overflow-wrap: anywhere; }
.admin-hist-ap-lista { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.admin-hist-ap-lista li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid #e6ebe8; }
.admin-hist-ap-lista li:first-child { border-top: 0; padding-top: 2px; }
.admin-hist-ap-ic { flex: 0 0 auto; font-size: 20px; color: #4b5c55; }
.admin-hist-ap-ap { display: grid; gap: 1px; flex: 1 1 auto; min-width: 0; }
.admin-hist-ap-ap strong { color: #1f2a26; }
.admin-hist-ap-ap .admin-hist-ap-pc { font-size: 12px; color: #6b7a73; overflow-wrap: anywhere; }
.admin-hist-ap-estado { flex: 0 0 auto; display: grid; justify-items: end; gap: 2px; font-size: 12px; }
.admin-hist-ap-uso { color: #6b7a73; white-space: nowrap; }
.admin-hist-ap-uso.is-on { color: #2e7d55; font-weight: 700; }
.admin-hist-ap-uso.is-on::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 5px; background: #2e9d63; border-radius: 50%; vertical-align: 1px; }
.admin-alerta-caso .admin-hist-ap-comparar { margin-top: 2px; font-size: 12.5px; }
.admin-alerta-caso .admin-hist-ap-comparar summary { color: #2e6b52; font-weight: 700; }
.admin-hist-ap-entradas { display: grid; gap: 3px; margin: 6px 0 0; padding-left: 18px; }
.admin-alerta-caso .admin-hist-ap-comparar table { background: #fff; border-radius: 8px; }

@media (max-width: 700px) {
  .admin-alerta-cab { flex-wrap: wrap; padding: 12px 14px; }
  .admin-alerta-lista { padding: 12px 12px 14px; max-height: none; }
  .admin-alerta-caso { padding: 12px; }
  .admin-alerta-caso-topo { flex-wrap: wrap; align-items: flex-start; }
  .admin-alerta-caso-quem { flex: 1 1 calc(100% - 52px); }
  .admin-alerta-caso-acoes { flex: 1 1 100%; }
  .admin-hist-ap-lista li { flex-wrap: wrap; align-items: flex-start; }
  .admin-hist-ap-ap { flex-basis: calc(100% - 30px); }
  .admin-hist-ap-estado { display: flex; flex-basis: 100%; gap: 10px; padding-left: 30px; }
  .admin-alerta-caso-acoes > * { flex: 1 1 0; }
  .admin-hist-ap-grade { grid-template-columns: 1fr; }
}

/* Central da agência (V.1): degradê da marca embaixo da barra do painel (decorativo). */
.admin-topbar { border-bottom: 3px solid transparent; border-image: var(--marca-degrade) 1; }
