@charset "UTF-8";
/* ============================================================================
 * CEDAR · BOTÕES DO LAUDO (motor de regras) — cedar_report_rules_botoes.css
 * ----------------------------------------------------------------------------
 * Folha do cedar_report_rules_botoes_addon.js (§7 do contrato). Namespace
 * .cedar-rr-* — não colide com .ld-* (laudo), .lf-* (fechamento) nem .cds-*.
 *
 * REGRAS DA CASA APLICADAS AQUI:
 *  · iPad, sem mouse: alvo de toque ≥ 44 px em TODO botão; nenhum estado que só
 *    exista em :hover (o :hover fica como enfeite em quem tem mouse);
 *  · a barra é IN-FLOW (não flutua sobre o texto): entra depois do laudo, dentro
 *    do próprio contêiner. Nada de position:absolute com matemática de rect —
 *    o laudo é reflowado por zoom/impressão e a barra acompanharia errado;
 *  · o destaque da frase é uma CLASSE no bloco (.cedar-rr-sel), nunca um <span>
 *    injetado dentro do texto do laudo (UM NÓ, UM DONO);
 *  · @media print: barra, painel e destaque SOMEM — nada disto pode vazar para
 *    o PDF do paciente nem para o papel timbrado.
 * Versão: 1.0.0 · 2026-09-05
 * ========================================================================= */

:root {
  --cedar-rr-bd: var(--cds-line, #E6D8C8);
  --cedar-rr-bg: var(--cds-surface, #ffffff);
  --cedar-rr-bg2: var(--cds-surface-2, #F6F0EA);
  --cedar-rr-ink: var(--cds-ink, #2B211B);
  --cedar-rr-soft: var(--cds-ink-soft, #6F6258);
  --cedar-rr-brand: var(--cds-brand, #785533);
  --cedar-rr-warn: var(--cds-c-warn, #d97706);
  --cedar-rr-danger: var(--cds-c-danger, #dc2626);
  --cedar-rr-ok: var(--cds-c-ok, #16a34a);
}

/* ---- destaque da frase tocada (mutação de ATRIBUTO, não de conteúdo) ---- */
.cedar-rr-sel {
  background: #FFF6E0 !important;
  box-shadow: inset 3px 0 0 var(--cedar-rr-brand);
  border-radius: 3px;
}

/* ---- barra ------------------------------------------------------------- */
.cedar-rr-bar {
  margin: 10px 0 2px;
  padding: 8px 10px;
  border: 1px solid var(--cedar-rr-bd);
  border-left: 4px solid var(--cedar-rr-brand);
  border-radius: 10px;
  background: var(--cedar-rr-bg2);
  font: 13px/1.35 var(--cds-font, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif);
  color: var(--cedar-rr-ink);
}
.cedar-rr-bar-frase {
  display: block;
  margin-bottom: 8px;
  font-style: italic;
  color: var(--cedar-rr-soft);
  overflow-wrap: anywhere;
}
.cedar-rr-bar-tag {
  display: inline-block;
  margin-right: 6px;
  padding: 1px 7px;
  border-radius: 9px;
  background: var(--cedar-rr-brand);
  color: #fff;
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
}
.cedar-rr-bar-acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.cedar-rr-bar-nota { margin-top: 6px; font-size: 12px; color: var(--cedar-rr-warn); }

/* ---- botões (alvo de toque ≥ 44 px) ------------------------------------ */
.cedar-rr-btn {
  min-height: 44px;
  min-width: 44px;
  padding: 10px 14px;
  border: 1px solid var(--cedar-rr-bd);
  border-radius: 8px;
  background: var(--cedar-rr-bg);
  color: var(--cedar-rr-ink);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(120, 85, 51, .18);
}
.cedar-rr-btn:active { background: var(--cedar-rr-bg2); }
.cedar-rr-btn:focus-visible { outline: none; box-shadow: var(--cds-focus, 0 0 0 3px rgba(179, 134, 79, .4)); }
.cedar-rr-btn--forte { background: var(--cedar-rr-brand); border-color: var(--cedar-rr-brand); color: #fff; }
.cedar-rr-btn--perigo { border-color: var(--cedar-rr-danger); color: var(--cedar-rr-danger); }
.cedar-rr-btn--off, .cedar-rr-btn[disabled] { opacity: .45; cursor: not-allowed; }
.cedar-rr-btn--x { padding: 10px 12px; font-weight: 700; }
@media (hover: hover) { .cedar-rr-btn:hover { background: var(--cedar-rr-bg2); } }

/* ---- painel lateral ---------------------------------------------------- */
.cedar-rr-panel {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(560px, 94vw);
  z-index: 9600;
  display: none;
  flex-direction: column;
  background: var(--cedar-rr-bg);
  border-left: 1px solid var(--cedar-rr-bd);
  box-shadow: var(--cds-shadow-md, 0 10px 30px rgba(43, 33, 27, .16));
  font: 13px/1.45 var(--cds-font, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif);
  color: var(--cedar-rr-ink);
}
.cedar-rr-panel--on { display: flex; }
.cedar-rr-panel-hd {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--cedar-rr-bd);
  background: var(--cedar-rr-bg2);
  font-size: 15px;
}
.cedar-rr-panel-bd { flex: 1 1 auto; overflow: auto; padding: 12px; -webkit-overflow-scrolling: touch; }

/* ---- blocos internos --------------------------------------------------- */
.cedar-rr-frase {
  padding: 8px 10px; margin-bottom: 10px;
  border-left: 4px solid var(--cedar-rr-brand);
  background: #FFF6E0; border-radius: 6px;
  font-style: italic; overflow-wrap: anywhere;
}
.cedar-rr-run { margin-bottom: 10px; font-size: 12px; color: var(--cedar-rr-soft); }
.cedar-rr-card { margin: 0 0 12px; padding: 10px; border: 1px solid var(--cedar-rr-bd); border-radius: 10px; }
.cedar-rr-card-hd { margin-bottom: 6px; font-weight: 700; overflow-wrap: anywhere; }
.cedar-rr-txt { margin-bottom: 8px; overflow-wrap: anywhere; }
.cedar-rr-sub { margin: 4px 0 8px; font-size: 12px; color: var(--cedar-rr-soft); }
.cedar-rr-ul { margin: 4px 0 0 18px; padding: 0; }
.cedar-rr-pre {
  max-height: 240px; overflow: auto; margin: 6px 0 0;
  padding: 8px; border-radius: 6px; background: var(--cedar-rr-bg2);
  font: 11px/1.4 var(--cds-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  white-space: pre-wrap; overflow-wrap: anywhere;
}
.cedar-rr-tab { width: 100%; border-collapse: collapse; }
.cedar-rr-tab th, .cedar-rr-tab td { padding: 5px 6px; border-top: 1px solid var(--cedar-rr-bd); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.cedar-rr-tab th { width: 38%; font-weight: 600; color: var(--cedar-rr-soft); }
.cedar-rr-tab--diff th { width: 22%; }
.cedar-rr-d-a { color: var(--cedar-rr-danger); }
.cedar-rr-d-b { color: var(--cedar-rr-ok); }
.cedar-rr-d-alterada th { color: var(--cedar-rr-warn); }
.cedar-rr-esc { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
.cedar-rr-esc label { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; cursor: pointer; }
.cedar-rr-esc input { width: 20px; height: 20px; }
.cedar-rr-lab { display: block; margin: 8px 0; font-weight: 600; }
.cedar-rr-in {
  display: block; width: 100%; margin-top: 4px; min-height: 44px;
  padding: 8px 10px; border: 1px solid var(--cedar-rr-bd); border-radius: 8px;
  font: inherit; font-weight: 400; background: var(--cedar-rr-bg); color: var(--cedar-rr-ink);
}
textarea.cedar-rr-in { min-height: 66px; resize: vertical; }
.cedar-rr-acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.cedar-rr-acoes--fim { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--cedar-rr-bd); }
.cedar-rr-saida { margin-top: 10px; }
.cedar-rr-aviso {
  padding: 8px 10px; border-radius: 8px;
  background: #FEF6E7; border: 1px solid #F3E0BD; color: #92610C;
}
.cedar-rr-aviso--forte { border-left: 4px solid var(--cedar-rr-warn); font-weight: 600; }
.cedar-rr-ok { padding: 8px 10px; border-radius: 8px; background: #EDF7F1; border: 1px solid #C4E3D2; color: #177245; }

/* ---- nada disto existe no papel --------------------------------------- */
@media print {
  .cedar-rr-bar, .cedar-rr-panel { display: none !important; }
  .cedar-rr-sel { background: transparent !important; box-shadow: none !important; }
}
