/* Estilos só da tela competencia (matriz empresa × obrigação, 6 estados do painel da Emanuela). */
.g2-matriz { padding: 0; overflow: hidden; }
.g2-matriz-rolagem { overflow: auto; max-height: calc(100dvh - 260px); }
.g2-matriz table { border-collapse: separate; border-spacing: 0; width: 100%; font-size: 0.84rem; }
.g2-matriz th { position: sticky; top: 0; z-index: 2; background: #fff; font-weight: 600; text-align: left; padding: 10px; border-bottom: 1px solid var(--linha); white-space: nowrap; }
.g2-matriz th small { display: block; font-weight: 500; color: var(--texto-3); }
.g2-matriz td { padding: 6px 10px; border-bottom: 1px solid var(--linha); white-space: nowrap; }
.g2-matriz tbody tr:last-child td { border-bottom: 0; }
.g2-matriz th:first-child, .g2-matriz td:first-child { position: sticky; left: 0; background: #fff; z-index: 1; min-width: 190px; max-width: 260px; white-space: normal; box-shadow: 1px 0 0 var(--linha); }
.g2-matriz th:first-child { z-index: 3; }
.g2-matriz td:first-child b { display: block; font-weight: 600; }
.g2-matriz td:first-child small { color: var(--texto-3); display: block; }
.g2-resp { display: inline-flex; align-items: center; gap: 4px; font-size: 0.74rem; color: var(--texto-2); margin-top: 2px; }
.g2-cel { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px; font-weight: 600; font-size: 0.76rem; border: 0; font-family: inherit; min-height: 28px; }
button.g2-cel { cursor: pointer; }
button.g2-cel:hover { box-shadow: inset 0 0 0 1px rgba(11, 31, 42, 0.18); }
.c-ok { background: var(--ok-fundo); color: var(--verde); }
.c-meta { background: var(--alerta-fundo); color: var(--alerta); }
.c-meta-ab { background: var(--alerta-fundo); color: var(--alerta); box-shadow: inset 0 0 0 1px rgba(168, 100, 0, 0.35); }
.c-pos { background: #fbe3d9; color: #9c3d16; }
.c-atr { background: var(--perigo); color: #fff; }
.c-pen { background: #eef2f0; color: var(--texto-2); }
.c-na { background: none; color: var(--texto-3); border: 1px dashed var(--linha-forte); font-weight: 500; }
.g2-matriz .g2-leg { padding: 10px 14px 14px; }
