body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
.card { background:#fff; border-radius:.75rem; box-shadow:0 1px 3px rgba(0,0,0,.08); }
table.tbl { width:100%; border-collapse:collapse; font-size:.875rem; }
table.tbl th { text-align:left; padding:.6rem .75rem; background:#f8fafc; color:#64748b; font-weight:600; border-bottom:1px solid #e5e7eb; }
table.tbl td { padding:.6rem .75rem; border-bottom:1px solid #f1f5f9; }
table.tbl tr:hover td { background:#f8fafc; }
.badge { display:inline-block; padding:.15rem .6rem; border-radius:9999px; font-size:.75rem; font-weight:600; }
.disease-tag {
  display:inline-block; padding:.35rem .75rem; border-radius:9999px;
  background:#f1f5f9; color:#475569; border:1px solid #e2e8f0;
  font-weight:500; transition:all .15s;
}
.disease-tag:hover { background:#e0f2fe; border-color:#7dd3fc; color:#0369a1; }

/* Odontogramma */
.dental-row { display:flex; align-items:flex-end; justify-content:center; gap:.5rem; flex-wrap:nowrap; overflow-x:auto; }
.dental-side { display:flex; gap:.35rem; }
.dental-divider { width:2px; align-self:stretch; background:#cbd5e1; margin:0 .25rem; }
.tooth-container { display:flex; flex-direction:column; align-items:center; gap:.15rem; cursor:pointer; }
.tooth-number { font-size:.7rem; font-weight:600; color:#64748b; }
.tooth-wrap { position:relative; }
.chart-badge-phys, .chart-badge-dis {
  position:absolute; width:9px; height:9px; border-radius:50%; border:1.5px solid #fff;
}
.chart-badge-phys { top:-2px; right:0; }
.chart-badge-dis { bottom:-2px; right:0; }
.dtb {
  display:flex; align-items:center; gap:8px; padding:8px 13px; border:2px solid #e5e7eb;
  border-radius:11px; cursor:pointer; font-size:13px; font-weight:500; color:#374151; background:#fff;
  transition:all .15s; user-select:none;
}
.dtb:hover { border-color:#94a3b8; background:#f8fafc; }
.dtb.on-phys { border-color:#06b6d4 !important; background:#ecfeff !important; color:#0e7490 !important; font-weight:700; box-shadow:0 0 0 3px rgba(6,182,212,.18) !important; }
.dtb.on-dis { border-color:#ef4444 !important; background:#fef2f2 !important; color:#991b1b !important; font-weight:700; box-shadow:0 0 0 3px rgba(239,68,68,.18) !important; }
.dtdot { width:11px; height:11px; border-radius:50%; flex-shrink:0; border:1px solid rgba(0,0,0,.15); }
