/* G-MDS-D: Documentos por operadora (prefixo dc-) */
.dc-filtros { display: flex; gap: 10px; flex-wrap: wrap; align-items: end; margin-bottom: 14px; }
.dc-filtros label { display: grid; gap: 4px; font-size: 12px; color: var(--mds-apoio); }
.dc-filtros select { min-width: 190px; }
.dc-resumo { color: var(--mds-apoio); margin: 0 0 12px; }
.dc-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.dc-card { display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: inherit; padding: 0; overflow: hidden; transition: box-shadow .15s, transform .15s; }
.dc-card:hover, .dc-card:focus-visible { box-shadow: var(--mds-sombra); transform: translateY(-1px); }
.dc-mini { height: 170px; overflow: hidden; background: var(--mds-superficie); border-bottom: 1px solid var(--mds-borda); }
.dc-mini img { width: 100%; height: auto; display: block; }
.dc-card-txt { padding: 0 14px 14px; display: grid; gap: 6px; }
.dc-card-txt h2 { font-size: 14px; margin: 0; line-height: 1.3; }
.dc-card-txt small { color: var(--mds-apoio); }
.dc-selos { display: flex; gap: 6px; flex-wrap: wrap; }
.dc-fig-rolagem { border: 1px solid var(--mds-borda); border-radius: 8px; background: var(--mds-superficie); padding: 0 0 0 0; }
.dc-fig { position: relative; line-height: 0; }
.dc-fig img { width: 100%; height: auto; display: block; border-radius: 8px; }
.dc-mk { position: absolute; border: 2px solid var(--mds-acento); border-radius: 4px; background: color-mix(in srgb, var(--mds-acento) 10%, transparent); padding: 0; cursor: pointer; min-width: 14px; min-height: 14px; }
.dc-mk i { position: absolute; right: -7px; top: -10px; min-width: 18px; height: 18px; border-radius: 9px; background: var(--mds-primaria); color: var(--mds-sobre-cor); font: 700 10px/18px var(--mds-fonte); text-align: center; padding: 0 4px; font-style: normal; box-shadow: 0 1px 3px color-mix(in srgb, var(--mds-texto) 30%, transparent); }
.dc-mk-e i { right: auto; left: -20px; top: 50%; margin-top: -9px; }
.dc-mk:hover, .dc-mk.dc-ativo { background: color-mix(in srgb, var(--mds-acento) 28%, transparent); border-color: var(--mds-primaria-forte); }
.dc-mk.dc-ativo i { background: var(--mds-erro); }
.dc-dica { margin: 6px 2px 0; font-size: 12px; color: var(--mds-apoio); }
.dc-painel { display: grid; gap: 16px; margin-top: 16px; }
.dc-painel h2 { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.dc-campos { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.dc-campos li { display: grid; grid-template-columns: 30px minmax(120px, 1fr) minmax(0, 1.4fr); gap: 10px; align-items: start; padding: 8px 10px; border: 1px solid var(--mds-borda); border-radius: 8px; cursor: pointer; background: var(--mds-superficie); }
.dc-campos li.dc-ativo { border-color: var(--mds-primaria); background: var(--mds-acento-suave); }
.dc-n { width: 24px; height: 24px; border-radius: 12px; background: var(--mds-primaria); color: var(--mds-sobre-cor); font: 700 12px/24px var(--mds-fonte); text-align: center; }
.dc-campos small { display: block; color: var(--mds-apoio); font-size: 11px; text-transform: uppercase; letter-spacing: .03em; }
.dc-campos code { font: 600 13px/1.4 Menlo, Consolas, monospace; overflow-wrap: anywhere; }
.dc-regra { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--mds-borda); }
.dc-regra:last-child { border-bottom: 0; }
.dc-caminho { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.dc-caminho > div { border: 1px solid var(--mds-borda); border-radius: 8px; padding: 12px; display: grid; gap: 6px; align-content: start; }
.dc-caminho .dc-ok { border-left: 4px solid var(--mds-ok); } .dc-caminho .dc-div { border-left: 4px solid var(--mds-aviso); }
.dc-caminho p, .dc-origem p { margin: 0; }
.dc-origem summary { cursor: pointer; color: var(--mds-primaria); }
.dc-origem code { overflow-wrap: anywhere; font-size: 12px; }
.dc-soltar { display: block; margin-top: 10px; padding: 16px; border: 2px dashed var(--mds-borda); border-radius: 10px; text-align: center; color: var(--mds-apoio); cursor: pointer; }
.dc-soltar.dc-sobre { border-color: var(--mds-acento); background: var(--mds-acento-suave); }
.dc-soltar input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.dc-imp-corpo { display: grid; gap: 10px; margin-top: 12px; }
.dc-barra { height: 6px; border-radius: 3px; background: var(--mds-borda); overflow: hidden; }
.dc-barra b { display: block; height: 100%; width: 0; background: var(--mds-acento); transition: width .35s ease; }
.dc-lin { display: grid; grid-template-columns: 24px minmax(110px, .8fr) minmax(0, 1.2fr) 70px; gap: 10px; align-items: center; padding: 6px 10px; border: 1px solid var(--mds-borda); border-radius: 8px; background: var(--mds-superficie); animation: dc-entra .25s ease; }
.dc-lin .mds-selo { justify-self: start; }
.dc-lin code { font: 600 13px Menlo, Consolas, monospace; overflow-wrap: anywhere; }
.dc-lin.dc-regra-lin { grid-template-columns: 24px minmax(0, 1fr); background: var(--mds-fundo); }
@keyframes dc-entra { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .dc-lin { animation: none; } .dc-barra b { transition: none; } .dc-card { transition: none; } }
@media (max-width: 700px) {
  .dc-mk { min-width: 8px; min-height: 8px; border-width: 1px; } .dc-mk i { min-width: 14px; height: 14px; font-size: 8px; line-height: 14px; right: -5px; top: -7px; padding: 0 3px; } .dc-mk-e i { right: auto; left: -16px; top: 50%; margin-top: -7px; }
  .dc-campos li { grid-template-columns: 30px minmax(0, 1fr); } .dc-campos li > div:last-child { grid-column: 2; }
  .dc-regra { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .dc-caminho { grid-template-columns: minmax(0, 1fr); }
  .dc-lin { grid-template-columns: 24px minmax(0, 1fr); } .dc-lin > :nth-child(3), .dc-lin > :nth-child(4) { grid-column: 2; }
  .dc-filtros select { min-width: 0; width: 100%; } .dc-filtros label { flex: 1 1 100%; }
}
