/* rx.css — Visualizador de radiografia (A1). Namespace .rx-* (não colide com o resto). */
.rx-viewer { position: relative; display: block; width: 100%; background: #0b0b0d; border-radius: 8px; overflow: hidden; }
.rx-image { display: block; width: 100%; height: auto; }
.rx-overlay { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.rx-finding { stroke-width: var(--rx-lw, 2px); stroke-opacity: var(--rx-lo, 0.9); stroke-linejoin: round; stroke-linecap: round; }
/* A2 — estado da validação humana: proposto = tracejado; rejeitado = oculto; validado = sólido */
.rx-finding[data-status="PROPOSED"] { stroke-dasharray: 5 4; }
.rx-finding[data-status="REJECTED"] { display: none; }
.rx-cat { pointer-events: none; }
.rx-overlay.rx-selectable .rx-finding { pointer-events: stroke; cursor: pointer; }
.rx-overlay .rx-finding.is-picked { stroke-opacity: 1; stroke-width: calc(var(--rx-lw, 2px) + 1.5px); }

/* filtro por categoria: se data-hide contém a categoria, esconde o grupo correspondente */
.rx-viewer[data-hide~="DENTAL_ELEMENT"] .rx-cat[data-category="DENTAL_ELEMENT"],
.rx-viewer[data-hide~="DENTAL_ANATOMY"] .rx-cat[data-category="DENTAL_ANATOMY"],
.rx-viewer[data-hide~="BONE_STRUCTURE"] .rx-cat[data-category="BONE_STRUCTURE"],
.rx-viewer[data-hide~="PATHOLOGY"]      .rx-cat[data-category="PATHOLOGY"],
.rx-viewer[data-hide~="TREATMENT"]      .rx-cat[data-category="TREATMENT"],
.rx-viewer[data-hide~="SIGN"]           .rx-cat[data-category="SIGN"] { display: none; }

/* tela cheia */
.rx-viewer:fullscreen { display: flex; align-items: center; justify-content: center; background: #000; }
.rx-viewer:fullscreen .rx-image { width: auto; height: 100%; max-width: 100%; }

/* A3 — odontograma FDI acoplado (grade compacta de status) */
.rxo { display: flex; flex-direction: column; gap: 4px; margin: 10px 0; }
.rxo-arch { display: flex; gap: 3px; flex-wrap: nowrap; overflow-x: auto; }
.rxo-tooth { position: relative; flex: 0 0 auto; width: 30px; padding: 4px 0; border: 0.5px solid #d7dbe6; border-radius: 6px; background: #fff; cursor: pointer; font-size: 11px; color: #374151; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.rxo-tooth:hover { background: #f0f3fb; }
.rxo-tooth.is-selected { outline: 2px solid #2563eb; outline-offset: 1px; }
.rxo-dot { width: 8px; height: 8px; border-radius: 50%; background: transparent; border: 1px solid #e5e7eb; }
.rxo-tooth.is-pathology .rxo-dot { background: #ef4444; border-color: #ef4444; }
.rxo-tooth.is-treatment .rxo-dot { background: #f59e0b; border-color: #f59e0b; }
.rxo-tooth.is-pathology.is-treatment .rxo-dot { background: linear-gradient(90deg,#ef4444 50%,#f59e0b 50%); border-color: #ef4444; }
.rxo-count { position: absolute; top: -4px; right: -4px; background: #2563eb; color: #fff; font-size: 9px; line-height: 1.4; border-radius: 8px; padding: 0 4px; }
/* realce de achados quando um dente é selecionado */
.rx-overlay.is-focusing .rx-finding { stroke-opacity: 0.12; }
.rx-overlay.is-focusing .rx-finding.is-active { stroke-opacity: 1; }
