/* Administração operacional — uma extensão isolada do sistema Linhas. */
.op-painel, .op-side {
  --op-fundo: var(--void, #0f1012);
  --op-superficie: var(--sup, #141619);
  --op-elevado: var(--sup2, #1b1e22);
  --op-regra: var(--linha, rgba(235, 238, 243, .105));
  --op-regra-forte: var(--linha2, rgba(235, 238, 243, .19));
  --op-texto: var(--texto, #f7f8fa);
  --op-secundario: var(--texto2, #bac0c8);
  --op-acento: var(--marca-txt, #ff6868);
  color: var(--op-texto);
  font-family: Geist, Arial, sans-serif;
  font-size: .875rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.55;
  color-scheme: dark;
}
.op-painel { width: 100%; max-width: 1640px; min-width: 0; margin: 0 auto; padding: 6px 0 40px; }
:is(.op-painel, .op-side) *, :is(.op-painel, .op-side) *::before, :is(.op-painel, .op-side) *::after { box-sizing: border-box; }
:is(.op-painel, .op-side) [hidden] { display: none !important; }
:is(.op-painel, .op-side) ::selection { background: color-mix(in srgb, var(--marca-2, #d60000) 50%, var(--sup2, #1b1e22)); color: #fff; }
:is(.op-painel, .op-side) :is(h1, h2, h3, p, dl, dd) { margin: 0; }
:is(.op-painel, .op-side) :is(h1, h2, h3) { color: var(--op-texto); letter-spacing: -.025em; text-wrap: balance; }
.op-painel h1 { font-size: clamp(1.875rem, 2.1vw, 2.375rem); line-height: 1.2; font-weight: 600; }
:is(.op-painel, .op-side) h2 { font-size: 1.0625rem; line-height: 1.4; font-weight: 600; }
:is(.op-painel, .op-side) h3 { font-size: .9375rem; line-height: 1.45; font-weight: 600; }
:is(.op-painel, .op-side) small { font-size: .75rem; line-height: 1.55; }
:is(.op-painel, .op-side) a { color: var(--op-acento); text-underline-offset: 3px; overflow-wrap: anywhere; }
:is(.op-painel, .op-side) :is(button, input, select, textarea, summary, a):focus-visible { outline: 2px solid var(--linhas-foco, #ff4545); outline-offset: 3px; }
.dotti-shell .op-painel button, .op-side button {
  appearance: none; min-height: 44px; padding: 10px 14px; border: 1px solid var(--op-regra-forte);
  border-radius: 6px; background: var(--op-superficie); color: var(--op-texto);
  font: inherit; font-size: .8125rem; font-weight: 550; line-height: 1.4; cursor: pointer;
  box-shadow: none; transition: background-color 160ms ease-out, border-color 160ms ease-out, color 160ms ease-out;
}
:is(.op-painel, .op-side) button:hover:not(:disabled) { background: var(--sup3, #1b1e22); border-color: var(--op-secundario); }
:is(.op-painel, .op-side) button:active:not(:disabled) { background: var(--op-elevado); }
:is(.op-painel, .op-side) button:disabled { opacity: .5; cursor: not-allowed; }
:is(.op-painel, .op-side) button[aria-busy="true"] { cursor: progress; }
.dotti-shell .op-painel .op-primary, .op-side .op-primary { background: var(--marca-2, #d60000); border-color: var(--marca-2, #d60000); color: var(--sobre-marca, #fff); }
:is(.op-painel, .op-side) .op-primary:hover:not(:disabled) { background: color-mix(in srgb, var(--marca-2, #d60000) 80%, black); border-color: color-mix(in srgb, var(--marca-2, #d60000) 80%, black); color: #fff; }
.dotti-shell .op-painel .op-link, .op-side .op-link { background: transparent; color: var(--op-acento); border-color: transparent; padding-inline: 8px; }
.dotti-shell .op-painel .op-muted, .op-side .op-muted { background: transparent; color: var(--op-secundario); }
.dotti-shell .op-painel :is(input, select, textarea), .op-side :is(input, select, textarea) {
  min-height: 44px; max-width: 100%; min-width: 0; padding: 10px 12px;
  border: 1px solid var(--op-regra-forte); border-radius: 6px; background: var(--op-superficie);
  color: var(--op-texto); font: inherit; font-size: .8125rem; line-height: 1.5; caret-color: var(--op-acento); box-shadow: none;
}
:is(.op-painel, .op-side) :is(input, textarea)::placeholder { color: var(--op-secundario); opacity: 1; }
:is(.op-painel, .op-side) :is(input, select, textarea):disabled { opacity: .55; cursor: not-allowed; }
:is(.op-painel, .op-side) :is(input, select, textarea)[aria-invalid="true"] { border-color: var(--erro, #ff746a); }
:is(.op-painel, .op-side) textarea { width: 100%; min-height: 100px; resize: vertical; }
:is(.op-painel, .op-side) input[type="checkbox"] { width: 18px; min-height: 18px; height: 18px; padding: 0; accent-color: var(--marca, #ff2020); }
.op-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; margin: 0 0 24px; }
.op-header > :first-child { min-width: 0; }
.op-header p { margin-top: 9px; max-width: 72ch; color: var(--op-secundario); }
.op-tools { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.op-live { display: inline-flex; align-items: center; gap: 8px; color: var(--op-secundario); font-size: .75rem; white-space: nowrap; }
.op-live::before { content: ''; width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: var(--ok, #67d8a5); }
.op-live[data-estado="atrasado"]::before, .op-live[data-estado="stale"]::before, .op-live[data-estado="aguardando"]::before { background: var(--amarelo, #f3bf6b); }
.op-live[data-estado="erro"]::before, .op-live[data-estado="offline"]::before { background: var(--erro, #ff746a); }
.op-live[data-estado="carregando"]::before { background: var(--op-secundario); }
.op-search { display: flex; align-items: stretch; gap: 10px; width: 100%; margin-top: 13px; }
.op-search > :is(input, textarea, label) { flex: 1; min-width: 0; }
.op-search > button { flex: 0 0 auto; }
.op-search label { display: grid; gap: 6px; color: var(--op-secundario); font-size: .75rem; }
.op-search input { width: 100%; }
.dotti-shell .op-painel .op-tabs { display: flex; align-items: stretch; gap: 26px; overflow-x: auto; margin: 0; padding: 0; border: 0; border-bottom: 1px solid var(--op-regra-forte); border-radius: 0; background: transparent; box-shadow: none; scrollbar-width: thin; scrollbar-color: var(--op-regra-forte) transparent; }
.dotti-shell .op-painel .op-tabs button { position: relative; flex: 0 0 auto; min-height: 52px; padding: 12px 0; border: 0; border-radius: 0; background: transparent; color: var(--op-secundario); font-size: .875rem; }
.dotti-shell .op-painel .op-tabs button:hover { color: var(--op-texto); background: transparent; }
.dotti-shell .op-painel .op-tabs button[aria-selected="true"] { color: var(--op-texto); }
.op-tabs button[aria-selected="true"]::after { position: absolute; inset: auto 0 0; height: 2px; background: var(--marca, #ff2020); content: ''; }
.op-painel .op-metricas { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; padding: 30px 0; margin: 0 0 22px; border-bottom: 1px solid var(--op-regra); }
.op-metricas > div { min-width: 0; padding: 0 20px; border-left: 1px solid var(--op-regra); }
.op-metricas > div:first-child { padding-left: 0; border-left: 0; }
.op-metricas > div:last-child { padding-right: 0; }
.op-metricas dt { color: var(--op-secundario); font-size: .75rem; line-height: 1.45; }
.op-painel .op-metricas dd { margin-top: 7px; font-size: 2.125rem; font-weight: 550; line-height: 1.15; letter-spacing: -.025em; overflow-wrap: anywhere; }
.op-metricas small { display: block; margin-top: 6px; color: var(--op-secundario); font-size: .6875rem; }
.op-charts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 20px; margin: 22px 0 26px; }
.op-wide { grid-column: 1 / -1; }
.op-panel { min-width: 0; padding: 22px; background: var(--op-superficie); border: 1px solid var(--op-regra); border-radius: 12px; }
.op-panel > h2, .op-panel > h3 { margin-bottom: 14px; }
.op-panel > .op-secondary { margin-bottom: 16px; }
.op-panel .op-panel { padding: 16px 0 0; background: transparent; border: 0; border-radius: 0; }
.op-panel .op-grafico { margin: 0; }
.op-fatos { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 16px 32px; margin: 16px 0 0; padding-top: 16px; border-top: 1px solid var(--op-regra); }
.op-fatos > div { min-width: 110px; }
.op-fatos > div > :is(span, strong, small) { display: block; }
.op-fatos > div > span { color: var(--op-secundario); font-size: .75rem; }
.op-fatos > div > strong { margin: 6px 0; font-size: 1.25rem; font-weight: 550; }
.op-fatos > div > small { color: var(--op-secundario); }
.op-fatos dt { font-size: .75rem; color: var(--op-secundario); }
.op-fatos dd { margin-top: 4px; font-size: 1.125rem; font-weight: 550; }
.op-painel .op-alerta, .op-side .op-alerta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 18px; padding: 13px 16px; margin: 16px 0; border: 1px solid var(--op-regra-forte); border-radius: 6px; color: var(--amarelo, #f3bf6b); background: var(--op-superficie); font-size: .8125rem; }
.op-alerta > p { flex: 1; min-width: min(100%, 240px); }
.op-status { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; color: var(--op-secundario); font-size: .75rem; line-height: 1.4; }
.op-status::before { content: ''; flex: 0 0 5px; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.op-status:is([data-estado="ok"], [data-estado="concluido"], [data-estado="concluida"], [data-estado="concluidos"], [data-estado="finalizado"], [data-estado="sucesso"], [data-estado="ativo"], [data-estado="online"], [data-estado="pronto"]) { color: var(--ok, #67d8a5); }
.op-status:is([data-estado="aguardando"], [data-estado="pendente"], [data-estado="fila"], [data-estado="atrasado"], [data-estado="stale"], [data-estado="produzindo"], [data-estado="preparando"], [data-estado="pausado"], [data-estado="em_andamento"]) { color: var(--amarelo, #f3bf6b); }
.op-status:is([data-estado="erro"], [data-estado="falha"], [data-estado="offline"], [data-estado="bloqueado"], [data-estado="error"]) { color: var(--erro, #ff746a); }
.op-filtros { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 14px; margin: 22px 0 18px; }
.op-filtros label { display: grid; gap: 6px; min-width: 150px; max-width: 100%; color: var(--op-secundario); font-size: .75rem; }
.op-filtros label:has(input[type="search"]) { flex: 1 1 260px; }
.op-filtros :is(input, select) { width: 100%; }
.op-filtros > input { flex: 1 1 250px; width: auto; }
.op-filtros > select { flex: 0 1 205px; width: auto; }
.op-filtros > button { flex: 0 0 auto; }
.op-table-wrap { width: 100%; max-width: 100%; overflow: auto; border: 1px solid var(--op-regra); border-radius: 6px; scrollbar-width: thin; scrollbar-color: var(--op-regra-forte) transparent; }
:is(.op-tabela, .op-table) { width: 100%; border-collapse: collapse; border-spacing: 0; color: var(--op-texto); text-align: left; font-size: .8125rem; }
:is(.op-tabela, .op-table) :is(th, td) { padding: 15px 16px; vertical-align: middle; border-bottom: 1px solid var(--op-regra); }
:is(.op-tabela, .op-table) th { background: var(--op-superficie); color: var(--op-secundario); font-size: .75rem; font-weight: 500; white-space: nowrap; }
:is(.op-tabela, .op-table) td { min-width: 94px; }
:is(.op-tabela, .op-table) td:first-child { min-width: 170px; }
:is(.op-tabela, .op-table) td:first-child strong { display: block; font-weight: 550; }
:is(.op-tabela, .op-table) td small { display: block; margin-top: 3px; color: var(--op-secundario); }
:is(.op-tabela, .op-table) td > :is(p, span, small) { overflow-wrap: anywhere; }
:is(.op-tabela, .op-table) tbody tr { transition: background-color 150ms ease-out; }
:is(.op-tabela, .op-table) tbody tr:hover { background: var(--op-superficie); }
:is(.op-tabela, .op-table) tbody tr:last-child td { border-bottom: 0; }
:is(.op-tabela, .op-table) td:last-child { width: 1%; white-space: nowrap; }
.op-secondary, :is(.op-painel, .op-side) :is(.op-secondary, .op-muted) { color: var(--op-secundario); font-size: .8125rem; }
.op-tabela .op-secondary { display: block; margin: 3px 0; }
.op-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.op-status[data-estado="done"] { color: var(--ok, #67d8a5); }
.op-status:is([data-estado="running"], [data-estado="pending"]) { color: var(--amarelo, #f3bf6b); }
.op-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.op-paginacao { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 14px; color: var(--op-secundario); font-size: .75rem; }
.op-paginacao > div { display: flex; align-items: center; gap: 8px; }
.op-vazio { display: grid; justify-items: start; gap: 10px; padding: 32px 24px; border-top: 1px solid var(--op-regra); color: var(--op-secundario); }
.op-vazio h2, .op-vazio h3, .op-vazio strong { color: var(--op-texto); font-weight: 550; }
.op-vazio p { max-width: 64ch; }
.op-loading { position: relative; min-height: 172px; display: flex; align-items: center; justify-content: center; padding: 32px; color: var(--op-secundario); background: var(--op-superficie); border: 1px solid var(--op-regra); border-radius: 6px; }
.op-loading::before { content: ''; position: absolute; top: 0; left: 0; width: 30%; height: 2px; background: var(--op-regra-forte); }
.op-error { padding: 20px 0; color: var(--erro, #ff746a); }
.op-error p { max-width: 64ch; margin-bottom: 12px; }
.op-relatorio { min-width: 0; padding: 24px 0; border-bottom: 1px solid var(--op-regra); }
.op-relatorio > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 14px; }
.op-relatorio > p, .op-relatorio > header p { margin-top: 6px; color: var(--op-secundario); max-width: 70ch; }
.op-relatorio-lista { list-style: none; padding: 0; margin: 16px 0 0; }
.op-relatorio-lista > li { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 0; border-top: 1px solid var(--op-regra); }
.op-relatorio-lista > li p { margin-top: 3px; color: var(--op-secundario); font-size: .8125rem; }
.op-relatorio-lista > li strong { font-weight: 550; }
dialog.op-side { inset: 0 0 0 auto; width: 760px; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0 0 0 auto; padding: 0; border: 0; border-left: 1px solid var(--op-regra-forte); border-radius: 0; background: var(--op-fundo); overflow: auto; scrollbar-width: thin; scrollbar-color: var(--op-regra-forte) transparent; }
dialog.dotti-shell.op-side[open] { display: flex; flex-direction: column; align-items: stretch; animation: op-side-entrada 180ms ease-out; }
dialog.op-side:not([open]) { display: none; }
dialog.op-side::backdrop { background: rgba(0, 0, 0, .62); }
.op-side-head { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: flex-start; flex-shrink: 0; gap: 22px; padding: 24px 28px; border-bottom: 1px solid var(--op-regra); background: var(--op-fundo); }
.op-side-head > div { min-width: 0; }
.op-side-head h2 { font-size: 1.25rem; overflow-wrap: anywhere; }
.op-side-head p { margin-top: 5px; color: var(--op-secundario); font-size: .8125rem; overflow-wrap: anywhere; }
.op-side-head > button { flex: 0 0 auto; }
.op-side-content { padding: 24px 28px 36px; min-width: 0; width: 100%; }
.op-side-content > .op-actions { margin: 18px 0 24px; }
.op-side-content > section + section { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--op-regra); }
.op-side-content > section > h3 { margin-bottom: 14px; }
.op-side-content .op-charts { grid-template-columns: minmax(0, 1fr); }
.op-detalhe-metricas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding: 0 0 22px; margin-bottom: 22px; border-bottom: 1px solid var(--op-regra); }
.op-detalhe-metricas > div { min-width: 0; }
.op-detalhe-metricas dt { color: var(--op-secundario); font-size: .75rem; }
.op-detalhe-metricas dd { margin-top: 5px; font-size: 1.375rem; font-weight: 550; line-height: 1.3; overflow-wrap: anywhere; }
.op-detalhe-metricas small { display: block; margin-top: 3px; color: var(--op-secundario); }
.op-eventos { list-style: none; padding: 0; margin: 14px 0 0; }
.op-eventos > :is(li, div) { display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 5px 18px; padding: 14px 0; border-bottom: 1px solid var(--op-regra); }
.op-eventos time { color: var(--op-secundario); font-size: .75rem; }
.op-eventos p { grid-column: 2; color: var(--op-secundario); font-size: .8125rem; overflow-wrap: anywhere; }
.op-eventos span { min-width: 0; overflow-wrap: anywhere; }
.op-jev-previa, .op-jev-result { padding: 20px 0; margin-top: 12px; border-top: 1px solid var(--op-regra-forte); }
.op-jev-previa h3, .op-jev-result h3 { margin-bottom: 10px; }
.op-jev-previa p, .op-jev-result p { max-width: 74ch; margin-top: 8px; }
.op-jev-previa .op-actions, .op-jev-result .op-actions { margin-top: 16px; }
.op-jev-result ol, .op-jev-result ul { padding-left: 20px; margin: 14px 0; }
.op-jev-result li + li { margin-top: 8px; }
.op-jev-result pre { max-width: 100%; overflow: auto; padding: 14px; background: var(--op-superficie); font-size: .75rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.op-cobertura { max-width: 88ch; margin: 12px 0 18px; color: var(--op-secundario); font-size: .75rem; line-height: 1.6; }
:root[data-tema="claro"] :is(.op-painel, .op-side) { color-scheme: light; }
@keyframes op-side-entrada { from { transform: translateX(20px); } to { transform: translateX(0); } }
@media (max-width: 1200px) {
  .op-painel .op-metricas { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 22px; }
  .op-metricas > div:nth-child(3n + 1) { border-left: 0; padding-left: 0; }
  .op-metricas > div:nth-child(3n) { padding-right: 0; }
  .op-metricas > div:nth-child(n + 4) { padding-top: 18px; border-top: 1px solid var(--op-regra); }
}
@media (max-width: 900px) {
  .op-header { gap: 20px; flex-wrap: wrap; margin-bottom: 18px; }
  .op-tools { justify-content: flex-start; }
  .op-charts { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .op-panel { padding: 20px; }
  .op-filtros label { flex: 1 1 160px; }
  .op-side-content .op-panel { padding: 18px; }
}
@media (max-width: 600px) {
  .op-painel { padding-top: 2px; }
  .op-painel h1 { font-size: 1.625rem; }
  .op-header { gap: 16px; }
  .op-header p { font-size: .8125rem; }
  .op-tools { width: 100%; gap: 8px; }
  .op-tools .op-live { width: 100%; margin-top: 3px; }
  .op-search { flex-wrap: wrap; }
  .op-search > :is(input, textarea, label) { flex-basis: 100%; }
  .op-search > button { width: 100%; }
  .op-tabs { gap: 22px; }
  .op-painel .op-metricas { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 18px; padding: 20px 0; margin-bottom: 20px; }
  .op-metricas > div { padding: 0 14px; border-left: 1px solid var(--op-regra); }
  .op-metricas > div:nth-child(3n + 1) { padding-left: 14px; border-left: 1px solid var(--op-regra); }
  .op-metricas > div:nth-child(odd) { padding-left: 0; border-left: 0; }
  .op-metricas > div:nth-child(even) { padding-right: 0; }
  .op-metricas > div:nth-child(n + 3) { padding-top: 16px; border-top: 1px solid var(--op-regra); }
  .op-painel .op-metricas dd { font-size: 1.625rem; }
  .op-panel { padding: 16px; }
  .op-fatos { column-gap: 24px; }
  .op-filtros { gap: 12px; margin-top: 18px; }
  .op-filtros label { min-width: 0; flex: 1 1 calc(50% - 12px); }
  .op-filtros label:has(input[type="search"]) { flex-basis: 100%; }
  :is(.op-tabela, .op-table) :is(th, td) { padding: 13px 12px; }
  .op-paginacao { align-items: flex-start; flex-wrap: wrap; gap: 10px; }
  .op-relatorio > header, .op-relatorio-lista > li { align-items: flex-start; flex-wrap: wrap; gap: 10px; }
  .op-relatorio-lista .op-actions { width: 100%; }
  .op-vazio { padding: 26px 0; }
  .op-side-head { padding: 20px 18px; gap: 12px; }
  .op-side-content { padding: 20px 18px 30px; }
  .op-detalhe-metricas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .op-eventos > :is(li, div) { grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .op-eventos p { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .op-painel *, .op-side *, dialog.op-side[open] { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}


/* Hierarquia e acabamento da visão operacional. */
.op-icon { display: inline-flex; width: 18px; height: 18px; flex: 0 0 18px; align-items: center; justify-content: center; }
.op-icon svg { display: block; width: 100%; height: 100%; }
.op-tools button, .op-id-search > button, .op-tabs button { display: inline-flex; gap: 9px; align-items: center; justify-content: center; }
.op-header { align-items: center; padding-bottom: 22px; margin-bottom: 22px; border-bottom: 1px solid var(--op-regra); }
.op-tools { max-width: 480px; }
.op-tools .op-live { flex-basis: 100%; justify-content: flex-end; }
.op-live::before { width: 7px; height: 7px; flex-basis: 7px; }
.op-id-search { position: relative; margin-top: 0; gap: 12px; }
.op-id-search > .op-icon { position: absolute; top: 14px; left: 15px; color: var(--op-secundario); pointer-events: none; }
.dotti-shell .op-painel .op-search.op-id-search > input { padding-inline-start: 44px; background: var(--op-fundo); }
.op-metricas dd { font-variant-numeric: tabular-nums; }
.op-metricas [data-metrica="entregues"] dd { color: var(--ok, #67d8a5); }
.op-metricas[data-atencao="true"] [data-metrica="atencao"] dd { color: var(--erro, #ff746a); }
.op-tabs .op-icon { width: 16px; height: 16px; flex-basis: 16px; opacity: .75; }
.op-tabs button[aria-selected="true"] .op-icon { color: var(--op-acento); opacity: 1; }
.op-alerta { margin-top: 22px; padding: 20px 22px; border: 1px solid var(--op-regra); border-radius: 10px; background: var(--op-superficie); }
.op-alerta[data-atencao="true"] { border-color: color-mix(in srgb,var(--op-acento) 25%,var(--op-regra)); }
.op-alerta strong { font-size: .9375rem; font-weight: 550; }
.op-alerta p { margin-top: 5px; line-height: 1.65; }
.op-charts { gap: 24px; }
.op-panel { padding: 25px; }
.op-panel.op-wide { padding: 28px; }
.op-fatos { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 24px 0; gap: 24px; }
.op-fatos > div { min-width: 0; }
.op-fatos strong { font-size: 1.375rem; letter-spacing: -.025em; margin: 8px 0 5px; }
.op-filtros { padding: 18px 0; gap: 10px; }
.op-table-wrap { border: 1px solid var(--op-regra); border-radius: 10px; background: var(--op-superficie); }
.op-tabela thead { background: var(--op-fundo); }
.op-tabela th { font-size: .6875rem; letter-spacing: .03em; font-weight: 500; color: var(--op-secundario); }
.op-tabela td { padding-block: 22px; font-size: .8125rem; vertical-align: middle; }
.op-tabela td:first-child { min-width: 230px; max-width: 400px; }
.op-tabela td:first-child > strong { font-size: .875rem; line-height: 1.5; }
.op-tabela td code { display: inline-block; color: var(--op-secundario); margin-top: 9px; font-size: .6875rem; }
.op-tabela .op-secondary { margin-top: 6px; font-size: .75rem; }
.op-tabela tbody tr:hover { background: color-mix(in srgb, var(--op-elevado) 65%, transparent); }
.op-tabela td:last-child { text-align: right; }
.op-version { white-space: nowrap; font-size: .75rem; color: var(--op-secundario); }
.op-progress { display: block; appearance: none; width: 104px; height: 3px; margin-top: 10px; border: 0; border-radius: 3px; overflow: hidden; background: var(--op-regra); accent-color: var(--op-acento); }
.op-progress::-webkit-progress-bar { background: var(--op-regra); }
.op-progress::-webkit-progress-value { background: var(--op-acento); border-radius: 3px; }
.op-progress::-moz-progress-bar { background: var(--op-acento); }
.op-paginacao { padding: 8px 0; }
.op-cobertura summary { cursor: pointer; padding: 10px 0; color: var(--op-secundario); }
.op-cobertura[open] p { margin: 10px 0; }

/* Conversa: histórico rolável com composição sempre disponível. */
dialog.dotti-shell.op-chat { width: 650px; overflow: hidden; box-shadow: -24px 0 80px rgba(0,0,0,.25); }
.op-chat-head { display: flex; align-items: center; flex-shrink: 0; gap: 14px; padding: 24px; border-bottom: 1px solid var(--op-regra); }
.op-chat-head > div { flex: 1; min-width: 0; }
.op-chat .op-chat-head h2 { font-size: 1.25rem; letter-spacing: -.03em; }
.op-chat-head > .op-chat-head-actions { display: flex; gap: 8px; flex: 0 0 auto; }
.op-chat-head .op-chat-clear { color: var(--op-secundario); background: transparent; }
.op-chat-head p { font-size: .75rem; color: var(--op-secundario); margin-top: 4px; }
.op-chat-mark { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; }
.op-chat-mark img { display: block; width: 32px; height: 32px; object-fit: contain; }
:root[data-tema="claro"] .op-chat-mark img { filter: invert(1); }
.op-chat-context { display: flex; align-items: center; gap: 10px; padding: 12px 24px; background: var(--op-superficie); border-bottom: 1px solid var(--op-regra); }
.op-chat-context > div { min-width: 0; flex: 1; }
.op-chat-context span { display: block; color: var(--op-secundario); font-size: .6875rem; margin-bottom: 3px; }
.op-chat-context code { font-size: .6875rem; overflow-wrap: anywhere; }
.op-chat-context button { min-height: 36px; font-size: .75rem; padding: 6px 10px; }
.op-chat-messages { flex: 1; min-height: 0; overflow-y: auto; padding: 28px 24px; scrollbar-width: thin; scrollbar-color: var(--op-regra-forte) transparent; overscroll-behavior: contain; }
.op-chat-message { max-width: 100%; margin: 0 0 26px; }
.op-chat-author { display: block; margin-bottom: 8px; font-size: .6875rem; color: var(--op-secundario); font-weight: 550; }
.op-chat-bubble { font-size: .875rem; line-height: 1.75; overflow-wrap: anywhere; }
.op-chat-bubble > p { white-space: pre-wrap; }
.op-chat-bubble > * + * { margin-top: 16px; }
.op-chat-message--user { max-width: 88%; margin-left: auto; }
.op-chat-message--user .op-chat-author { text-align: right; }
.op-chat-message--user .op-chat-bubble { padding: 14px 18px; border: 1px solid var(--op-regra-forte); border-radius: 12px 12px 3px 12px; background: var(--op-elevado); }
.op-chat-suggestions, .op-chat-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.op-chat-suggestions button, .op-chat-actions button { min-height: 38px; font-size: .75rem; padding: 8px 12px; }
.op-chat-suggestions button { text-align: left; }
.op-chat-preview { padding: 20px; border: 1px solid var(--op-regra-forte); border-radius: 10px; background: var(--op-superficie); }
.op-chat-preview > * + * { margin-top: 12px; }
.op-chat-preview p { font-size: .8125rem; color: var(--op-secundario); }
.op-chat-preview-id { display: block; font-size: .6875rem; color: var(--op-secundario); overflow-wrap: anywhere; }
.op-chat-preview h3 { font-size: 1rem; }
.op-chat .op-chat-note { font-size: .75rem; color: var(--op-secundario); }
.op-chat-report-meta { display: flex; flex-wrap: wrap; gap: 14px; color: var(--op-secundario); font-size: .75rem; }
.op-chat-findings { padding-left: 20px; }
.op-chat-findings li + li { margin-top: 10px; }
.op-chat-report summary { min-height: 40px; cursor: pointer; padding: 8px 0; font-size: .8125rem; color: var(--op-acento); }
.op-chat .op-chat-link { border: 0; background: transparent; color: var(--op-acento); padding-inline: 0; font-size: .75rem; }
.op-chat-composer { padding: 16px 24px 20px; flex-shrink: 0; border-top: 1px solid var(--op-regra); background: var(--op-fundo); }
.op-chat-composer form { padding: 8px; border: 1px solid var(--op-regra-forte); border-radius: 12px; background: var(--op-superficie); }
.op-chat-composer form:focus-within { border-color: var(--op-acento); }
.op-chat-composer textarea { display: block; min-height: 68px; max-height: 120px; resize: vertical; border: 0; background: transparent; padding: 8px; font-size: .875rem; }
.op-chat-composer textarea:focus-visible { outline-offset: 0; }
.op-chat-send { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-left: 8px; }
.op-chat-send small { font-size: .6875rem; color: var(--op-secundario); }
.op-chat-send button { min-width: 82px; }
.op-chat-status { min-height: 0; font-size: .75rem; color: var(--op-secundario); }
.op-chat-status:not(:empty) { margin-bottom: 10px; }
.op-chat .op-chat-privacy { font-size: .6875rem; color: var(--op-secundario); line-height: 1.5; margin-top: 10px; }
@media (max-width: 900px) {
  .op-tools { max-width: none; }
  .op-tools .op-live { justify-content: flex-start; }
  .op-fatos { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .op-panel, .op-panel.op-wide { padding: 22px; }
}
@media (max-width: 600px) {
  .op-header { padding-bottom: 18px; margin-bottom: 18px; }
  .op-id-search { gap: 8px; }
  .op-id-search > .op-icon { top: 14px; }
  .op-id-search > button { justify-content: space-between; }
  .op-tools > select { flex: 1; }
  .op-painel .op-tabs { gap: 22px; }
  .op-tabs .op-icon { display: none; }
  .op-panel, .op-panel.op-wide { padding: 18px 14px; }
  .op-alerta { padding: 18px; }
  .op-fatos { gap: 22px 18px; }
  .op-chat-head { display: grid; grid-template-columns: 42px minmax(0,1fr); padding: 18px 16px; gap: 10px; }
  .op-chat-head > .op-chat-head-actions { grid-column: 1 / -1; justify-content: flex-end; }
  .op-chat .op-chat-head h2 { font-size: 1.125rem; }
  .op-chat-context { padding: 12px 16px; }
  .op-chat-messages { padding: 22px 16px; }
  .op-chat-composer { padding: 12px 16px max(16px,env(safe-area-inset-bottom)); }
  .op-chat-send small { max-width: 150px; line-height: 1.5; }
  .op-chat-composer textarea { font-size: 1rem; }
}

/* Detalhe e relatório — Linhas. */
.op-side .op-side-head { padding: 24px 28px 22px; align-items: flex-start; }
.op-side .op-side-head h2 { font-size: 1.375rem; font-weight: 650; line-height: 1.35; letter-spacing: -.025em; }
.op-side .op-detail-id { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 12px; }
.op-side .op-detail-id span { color: var(--op-secundario); font-size: .6875rem; }
.op-side .op-detail-id code { color: var(--op-secundario); font-size: .6875rem; letter-spacing: 0; overflow-wrap: anywhere; }
.op-side .op-detail-close { min-height: 40px; padding: 8px 12px; font-size: .8125rem; }
.op-side .op-detail-sync { margin-bottom: 24px; font-size: .6875rem; font-variant-numeric: tabular-nums; }
.op-side .op-detail-identity { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 24px; padding-bottom: 22px; }
.op-side .op-detail-identity > div { min-width: 0; }
.op-side .op-detail-identity span { display: block; margin-bottom: 6px; color: var(--op-secundario); font-size: .75rem; }
.op-side .op-detail-identity strong { font-size: 1rem; font-weight: 550; line-height: 1.5; overflow-wrap: anywhere; }
.op-side .op-detail-measures { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; padding: 0; margin: 0; border-bottom: 0; }
.op-side .op-detail-measures > div { padding: 17px 16px 17px 0; border-top: 1px solid var(--op-regra); }
.op-side .op-detail-measures > div:nth-child(even) { padding-right: 0; padding-left: 16px; }
.op-side .op-detail-measures dd { font-size: 1.25rem; font-weight: 550; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.op-side .op-detail-measures > div:nth-child(-n+2) dd,
.op-side .op-detail-measures > div:nth-last-child(-n+2) dd { font-size: .9375rem; letter-spacing: 0; line-height: 1.5; }
.op-side .op-detail-unknown dd { color: var(--op-secundario); font-size: .875rem; font-weight: 400; letter-spacing: 0; }
.op-side .op-detail-export { margin: 6px 0 24px; }
.op-side .op-detail-export button { color: var(--op-secundario); font-size: .75rem; }
.op-side .op-detail-section-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-bottom: 10px; }
.op-side .op-detail-section-head h3 { margin: 0; font-size: 1rem; }
.op-side .op-events-toggle { min-height: 36px; padding: 6px 10px; font-size: .75rem; }
.op-side .op-detail-events > .op-muted { font-size: .75rem; line-height: 1.6; }
.op-side .op-eventos { padding: 0; margin: 15px 0 0; }
.op-side .op-eventos > .op-detail-event { position: relative; display: grid; grid-template-columns: 104px minmax(0,1fr); gap: 16px; padding: 13px 0; border-bottom: 0; }
.op-side .op-detail-event + .op-detail-event { border-top: 1px solid var(--op-regra); }
.op-side .op-event-clock { padding-right: 15px; border-right: 1px solid var(--op-regra-forte); }
.op-side .op-event-clock time { display: block; line-height: 1.5; font-size: .6875rem; font-variant-numeric: tabular-nums; }
.op-side .op-event-sequence { display: block; margin-top: 4px; color: var(--op-secundario); font-size: .625rem; font-variant-numeric: tabular-nums; }
.op-side .op-event-message { min-width: 0; }
.op-side .op-event-message p { margin: 4px 0 0; color: var(--op-texto); font-size: .8125rem; line-height: 1.65; overflow-wrap: anywhere; }
.op-side .op-event-kind { color: var(--op-secundario); font-size: .6875rem; line-height: 1.4; }
.op-side .op-detail-event[data-level="erro"] .op-event-kind,
.op-side .op-detail-event[data-level="error"] .op-event-kind { color: var(--erro); }
.op-side .op-detail-event[data-level="aviso"] .op-event-kind,
.op-side .op-detail-event[data-level="warning"] .op-event-kind { color: var(--amarelo); }
.op-side .op-eventos[data-expanded="false"] .op-event-message p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.op-side .op-eventos[data-expanded="true"] { max-height: 420px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; scrollbar-width: thin; scrollbar-color: var(--op-regra-forte) transparent; padding-right: 10px; }
.op-side .op-detail-events > button { margin-top: 14px; }
.op-side .op-detail-jev { padding-top: 26px; }
.op-side .op-detail-jev > .op-muted { font-size: .8125rem; line-height: 1.7; max-width: 65ch; }
.op-side .op-detail-jev .op-detail-section-head button { font-size: .75rem; min-height: 40px; }
.op-side .op-jev-previa:empty,
.op-side .op-jev-result:empty { display: none; }
.op-side .op-jev-previa { margin-top: 20px; padding: 20px 0 0; border-top: 1px solid var(--op-regra-forte); }
.op-side .op-jev-previa h4 { margin: 0 0 14px; font-size: .9375rem; font-weight: 550; }
.op-side .op-preview-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 16px 0; margin: 0; }
.op-side .op-preview-metrics dd { font-size: 1rem; font-variant-numeric: tabular-nums; }
.op-side .op-preview-disclosure { margin-top: 18px; font-size: .8125rem; line-height: 1.7; }
.op-side .op-preview-disclosure p { margin: 0; }
.op-side .op-preview-disclosure p + p { margin-top: 10px; }
.op-side .op-preview-confirm { gap: 10px 16px; align-items: center; padding-top: 4px; }
.op-side .op-preview-confirm small { font-size: .75rem; }
.op-side .op-jev-result { padding-top: 26px; }
.op-relatorio { min-width: 0; color: var(--op-texto); }
.op-relatorio .op-report-head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px 18px; }
.op-relatorio .op-report-head h3 { margin: 0; font-size: 1.0625rem; font-weight: 600; letter-spacing: -.02em; }
.op-relatorio .op-report-head button { min-height: 36px; padding: 6px 10px; font-size: .75rem; }
.op-relatorio .op-report-date { margin: 5px 0 0; color: var(--op-secundario); font-size: .6875rem; font-variant-numeric: tabular-nums; }
.op-relatorio .op-report-status { display: flex; align-items: center; gap: 7px; margin: 20px 0 8px; font-size: .75rem; color: var(--op-secundario); }
.op-relatorio .op-report-status::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; flex: 0 0 auto; }
.op-relatorio .op-report-status[data-state="concluido"] { color: var(--ok); }
.op-relatorio .op-report-status[data-state="falhou"],
.op-relatorio .op-report-status[data-state="salvamento_pendente"] { color: var(--amarelo); }
.op-relatorio .op-report-summary { margin: 0; max-width: 65ch; font-size: 1.125rem; font-weight: 500; line-height: 1.6; letter-spacing: -.015em; text-wrap: pretty; }
.op-relatorio .op-report-runmetrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 24px; margin: 20px 0 0; padding: 16px 0; border-top: 1px solid var(--op-regra); border-bottom: 1px solid var(--op-regra); }
.op-relatorio .op-report-runmetrics > div:last-child { grid-column: 1 / -1; }
.op-relatorio .op-report-runmetrics dt { font-size: .6875rem; color: var(--op-secundario); }
.op-relatorio .op-report-runmetrics dd { margin: 4px 0 0; font-size: .8125rem; font-weight: 450; line-height: 1.5; letter-spacing: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.op-relatorio .op-report-provider { margin: 8px 0 0; font-size: .6875rem; color: var(--op-secundario); }
.op-relatorio .op-report-section { margin-top: 26px; }
.op-relatorio .op-report-section h4 { margin: 0 0 8px; color: var(--op-texto); font-size: .875rem; font-weight: 600; }
.op-relatorio .op-report-section > .op-muted { font-size: .75rem; line-height: 1.6; }
.op-relatorio .op-report-decisions { display: block; margin: 16px 0 0; }
.op-relatorio .op-report-decision { display: grid; grid-template-columns: minmax(100px,.65fr) minmax(0,1.65fr); gap: 10px 22px; padding: 16px 0; border-top: 1px solid var(--op-regra); }
.op-relatorio .op-report-decision > dt { font-size: .75rem; line-height: 1.6; color: var(--op-secundario); }
.op-relatorio .op-report-decision > dd { min-width: 0; margin: 0; }
.op-relatorio .op-report-reading { display: block; font-size: .875rem; font-weight: 550; line-height: 1.55; }
.op-relatorio .op-report-confidence { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 7px; font-size: .6875rem; color: var(--op-secundario); font-variant-numeric: tabular-nums; }
.op-relatorio .op-confidence-track { display: block; height: 3px; width: 56px; background: var(--op-regra); overflow: hidden; }
.op-relatorio .op-confidence-track > span { display: block; height: 100%; background: var(--op-secundario); }
.op-relatorio .op-report-review { display: block; margin-top: 8px; font-size: .6875rem; color: var(--amarelo); }
.op-relatorio .op-report-distribution { margin-top: 10px; font-size: .6875rem; color: var(--op-secundario); }
.op-relatorio .op-report-distribution summary { width: fit-content; cursor: pointer; min-height: 30px; padding: 5px 0; }
.op-relatorio .op-report-distribution dl { margin: 8px 0 0; }
.op-relatorio .op-report-distribution dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; margin-top: 6px; }
.op-relatorio .op-report-distribution dd { margin: 0; white-space: nowrap; font-variant-numeric: tabular-nums; }
.op-relatorio .op-report-findings { margin: 12px 0 0; padding-left: 20px; max-width: 70ch; font-size: .8125rem; line-height: 1.75; }
.op-relatorio .op-report-findings li + li { margin-top: 8px; }
.op-relatorio .op-report-findings li::marker { color: var(--op-secundario); }
.op-side .op-cobertura, .op-relatorio .op-cobertura { margin: 20px 0 14px; padding: 14px 0; border-top: 1px solid var(--op-regra); font-size: .75rem; line-height: 1.65; color: var(--op-secundario); }
.op-side .op-cobertura p, .op-relatorio .op-cobertura p { margin: 0; }
.op-side .op-cobertura .op-coverage-counts, .op-relatorio .op-cobertura .op-coverage-counts { display: flex; flex-wrap: wrap; gap: 5px 20px; margin-bottom: 6px; }
.op-side .op-coverage-counts strong, .op-relatorio .op-coverage-counts strong { font-weight: 550; color: var(--op-texto); font-variant-numeric: tabular-nums; }
.op-relatorio .op-report-limits { font-size: .75rem; color: var(--op-secundario); line-height: 1.7; }
.op-relatorio .op-report-limits summary { padding: 10px 0; cursor: pointer; }
.op-relatorio .op-report-limits ul { padding-left: 20px; margin: 6px 0 12px; }
.op-relatorio .op-report-limits li + li { margin-top: 6px; }

/* O diagnóstico dos registros vem antes da interpretação salva do modelo. */
.op-diagnostico { min-width: 0; padding: 0; }
.op-diagnostico .op-diagnostico-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; }
.op-side .op-diagnostico h3 { margin: 0; font-size: 1.0625rem; line-height: 1.45; letter-spacing: -.02em; }
.op-diagnostico-grau { color: var(--op-secundario); font-size: .6875rem; font-weight: 500; line-height: 1.6; }
.op-diagnostico-grau[data-grau="indicio"] { color: var(--amarelo, #f3bf6b); }
.op-side .op-diagnostico :is(.op-diagnostico-origem, .op-diagnostico-data) { margin: 5px 0 0; color: var(--op-secundario); font-size: .6875rem; line-height: 1.6; }
.op-side .op-diagnostico .op-diagnostico-resumo { margin: 18px 0 0; max-width: 65ch; font-size: 1.125rem; line-height: 1.6; font-weight: 500; letter-spacing: -.015em; text-wrap: pretty; }
.op-side .op-diagnostico .op-diagnostico-motivo { margin: 9px 0 0; max-width: 70ch; font-size: .8125rem; line-height: 1.75; color: var(--op-secundario); }
.op-diagnostico .op-diagnostico-acao { margin-top: 20px; padding: 16px 0; border-top: 1px solid var(--op-regra-forte); border-bottom: 1px solid var(--op-regra); }
.op-side .op-diagnostico h4 { margin: 0 0 7px; color: var(--op-texto); font-size: .8125rem; line-height: 1.5; font-weight: 600; }
.op-side .op-diagnostico-acao p { margin: 0; max-width: 70ch; font-size: .875rem; line-height: 1.7; }
.op-diagnostico-provas { margin-top: 18px; }
.op-side .op-diagnostico :is(.op-diagnostico-evidencias, .op-diagnostico-registros) { list-style: none; padding: 0; margin: 10px 0 0; }
.op-side .op-diagnostico-evidencias > li { position: relative; padding-left: 16px; }
.op-diagnostico-evidencias > li::before { position: absolute; top: .65em; left: 1px; width: 4px; height: 4px; border-radius: 50%; background: var(--op-secundario); content: ''; }
.op-side .op-diagnostico :is(.op-diagnostico-evidencias, .op-diagnostico-registros) li + li { margin-top: 12px; }
.op-side .op-diagnostico :is(.op-diagnostico-evidencias, .op-diagnostico-registros) p { margin: 0; font-size: .8125rem; line-height: 1.7; }
.op-diagnostico-recuperado { display: inline-block; margin-top: 4px; color: var(--ok, #67d8a5); font-size: .6875rem; line-height: 1.5; }
.op-side .op-diagnostico .op-diagnostico-evidencia-meta { margin-top: 5px; color: var(--op-secundario); font-size: .6875rem; line-height: 1.65; font-variant-numeric: tabular-nums; }
.op-diagnostico-detalhes { margin-top: 12px; }
.op-side :is(.op-diagnostico-detalhes, .op-chat-diagnostico, .op-chat-analise-opcional) > summary { min-height: 44px; padding: 11px 0; color: var(--op-secundario); font-size: .75rem; line-height: 1.7; cursor: pointer; text-underline-offset: 4px; }
.op-side :is(.op-diagnostico-detalhes, .op-chat-diagnostico, .op-chat-analise-opcional) > summary:hover { color: var(--op-texto); text-decoration: underline; }
.op-diagnostico-registros > li { padding: 12px 0; border-top: 1px solid var(--op-regra); }
.op-diagnostico-limites { padding-top: 16px; color: var(--op-secundario); font-size: .75rem; line-height: 1.7; }
.op-side .op-diagnostico-limites ul { padding-left: 18px; margin: 8px 0 0; }
.op-side .op-diagnostico-limites li + li { margin-top: 6px; }
.op-relatorio > .op-diagnostico { margin-top: 24px; }
.op-relatorio .op-report-model { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--op-regra-forte); }
.op-relatorio .op-report-model > h4 { margin: 0 0 8px; font-size: .875rem; font-weight: 600; }
.op-relatorio .op-report-model > .op-muted { margin: 0; max-width: 70ch; font-size: .75rem; line-height: 1.7; }
.op-relatorio .op-report-model .op-report-summary { font-size: .875rem; font-weight: 450; letter-spacing: 0; }
.op-relatorio .op-report-diagnostic-warning { margin-top: 18px; color: var(--amarelo, #f3bf6b); font-size: .8125rem; line-height: 1.7; }
.op-chat-diagnostico > .op-diagnostico { margin-top: 14px; }
.op-chat-analise-opcional { border-top: 1px solid var(--op-regra); }
.op-chat-analise-opcional > .op-chat-preview { margin-top: 8px; }
.op-side .op-jev-previa > .op-diagnostico { margin-bottom: 28px; }
@media (max-width: 600px) {
  .op-side .op-diagnostico .op-diagnostico-resumo { font-size: 1rem; }
  .op-diagnostico .op-diagnostico-head { align-items: flex-start; flex-direction: column; gap: 4px; }
}
.op-relatorio :is(button,summary):focus-visible { outline: 2px solid var(--linhas-foco); outline-offset: 3px; }
@media (max-width: 520px) {
  .op-side .op-events-toggle { min-height: 44px; }
  .op-side .op-side-head { padding: 20px 18px; gap: 12px; }
  .op-side .op-side-head h2 { font-size: 1.125rem; }
  .op-side .op-detail-id { gap: 3px; flex-direction: column; }
  .op-side .op-detail-identity { grid-template-columns: 1fr; }
  .op-side .op-detail-measures dd { font-size: 1.0625rem; }
  .op-side .op-detail-measures > div { padding-right: 10px; }
  .op-side .op-detail-measures > div:nth-child(even) { padding-left: 10px; }
  .op-side .op-eventos > .op-detail-event { grid-template-columns: 82px minmax(0,1fr); gap: 12px; }
  .op-side .op-event-clock { padding-right: 10px; }
  .op-relatorio .op-report-decision { grid-template-columns: 1fr; gap: 6px; }
  .op-relatorio .op-report-summary { font-size: 1rem; }
  .op-side .op-preview-confirm { align-items: flex-start; flex-direction: column; }
}
