/* Autoria portal_dns: controles das extensões DNS, limitados às superfícies sd*. */
.sdOperacao {
  margin: 24px 0;
  border: 1px solid var(--line-2);
  background: var(--surface);
  border-radius: var(--r-p);
}

/* Proxy próprio: painel administrativo da infraestrutura de borda. */
.pxIndicadores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:0 0 16px}
.pxIndicadores>div{background:var(--surface);padding:16px;display:flex;flex-direction:column;gap:5px;min-width:0}
.pxIndicadores span{font-size:var(--t-nota);color:var(--ink-2)}
.pxIndicadores strong{font-family:var(--display);font-size:clamp(22px,2vw,30px);line-height:1.1;color:var(--ink)}
.pxIndicadores small{color:var(--ink-2)}
.pxSecao{margin-top:16px}
.pxPendencias{margin:14px 0 0;padding-left:22px;display:grid;gap:8px}
.pxPolitica{margin-top:16px}
.pxNos{grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}
.pxNo .sdMeta{grid-template-columns:repeat(2,minmax(0,1fr))}
.pxPassos{counter-reset:px-passo;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.pxPassos li{counter-increment:px-passo;background:var(--surface);padding:16px;display:grid;grid-template-columns:32px 1fr;column-gap:10px;align-items:start}
.pxPassos li::before{content:counter(px-passo);width:28px;height:28px;border:1px solid var(--line-2);display:grid;place-items:center;font-family:var(--mono);font-size:var(--t-nota)}
.pxPassos strong,.pxPassos span{grid-column:2}
.pxPassos span{margin-top:4px;color:var(--ink-2);line-height:1.45}
.pxChave{margin:16px 0;padding:14px;border:1px solid var(--line-2);background:var(--surface-2);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 14px;align-items:center}
.pxChave>span{grid-column:1/-1;color:var(--ink-2);font-size:12px}
.pxChave code{min-width:0;overflow-wrap:anywhere;font:11px/1.65 var(--mono);color:var(--ink)}
@media(max-width:850px){.pxIndicadores{grid-template-columns:repeat(2,minmax(0,1fr))}.pxPassos{grid-template-columns:1fr}}
@media(max-width:520px){.pxIndicadores{grid-template-columns:1fr}.pxNo .sdMeta{grid-template-columns:1fr}.pxChave{grid-template-columns:1fr}.pxChave .btn{width:100%}}
.sdOperacaoCab {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 20px;
  border-bottom: 1px solid var(--line-2);
}
.sdOperacaoCab h3 { font-size: 17px; margin: 5px 0 8px; }
.sdOperacaoCab p { max-width: 85ch; color: var(--ink-3); font-size: 13px; line-height: 1.7; margin: 0; }
.sdOperacaoCorpo { padding: 20px; }
.sdOperacao .sdAviso:first-child { margin-top: 0; }
.sdOperacao .sdAviso:last-child { margin-bottom: 0; }
.sdEtapasFluxo {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 20px 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--line-2);
  background: var(--surface-2);
}
.sdEtapasFluxo li { padding: 16px; min-width: 0; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.sdEtapasFluxo li + li { border-left: 1px solid var(--line-2); }
.sdEtapasFluxo li[aria-current="step"] { box-shadow: inset 0 3px var(--accent); background: var(--surface); }
.sdEtapasFluxo span { display: block; color: var(--ink-3); font: 10px var(--mono); letter-spacing: .04em; }
.sdEtapasFluxo strong { display: block; font-size: 13px; line-height: 1.6; margin-top: 9px; }
.sdEtapasFluxo small { display: block; color: var(--ink-3); font-size: 11px; line-height: 1.65; margin-top: 6px; }
.sdNos { display: grid; gap: 12px; }
.sdNo { border: 1px solid var(--line-2); background: var(--surface-2); padding: 16px; min-width: 0; }
.sdNoCab { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 15px; }
.sdNoCab h4 { font-size: 14px; margin: 0 0 5px; }
.sdNoCab p { color: var(--ink-3); font-size: 12px; margin: 0; line-height: 1.65; }
.sdNo .campo input, .sdNo .campo select { background: var(--surface); }
.sdNo .sdGrade { gap: 14px; }
.sdNo .sdAcoes { margin-top: 14px; }
.sdNo code { font: 12px/1.7 var(--mono); overflow-wrap: anywhere; }
.sdMonitorGrade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.sdMonitorItem { padding: 15px; border: 1px solid var(--line-2); min-width: 0; }
.sdMonitorItem small { display: block; color: var(--ink-3); font-size: 11px; line-height: 1.6; }
.sdMonitorItem strong { display: block; margin: 8px 0; font-size: 15px; overflow-wrap: anywhere; }
.sdMonitorItem p { color: var(--ink-3); font-size: 12px; line-height: 1.7; margin: 0; }
.sdComparacao { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 18px 0; }
.sdComparacao > section { border: 1px solid var(--line-2); padding: 17px; min-width: 0; }
.sdComparacao h4 { font-size: 14px; margin: 0 0 12px; }
.sdComparacao p { color: var(--ink-3); font-size: 13px; line-height: 1.7; }
.sdComparacao code { display: block; font: 12px/1.8 var(--mono); overflow-wrap: anywhere; }
.sdDiferencas { width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 12px; }
.sdDiferencas th, .sdDiferencas td { text-align: left; vertical-align: top; border-bottom: 1px solid var(--line-2); padding: 11px 12px; }
.sdDiferencas th { font: 10px var(--mono); color: var(--ink-3); text-transform: uppercase; }
.sdDiferencas code { font: 11px/1.8 var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; }
.sdListaPendencias { padding-left: 20px; margin: 12px 0; color: var(--ink-2); }
.sdListaPendencias li { font-size: 13px; line-height: 1.8; margin-top: 6px; overflow-wrap: anywhere; }
.sdEventoOperacao { border-left: 2px solid var(--line-2); padding: 4px 0 16px 15px; }
.sdEventoOperacao h4 { margin: 0 0 6px; font-size: 13px; }
.sdEventoOperacao p { margin: 4px 0; font-size: 12px; color: var(--ink-3); line-height: 1.7; }
.sdOperacao .sdRisco { margin-top: 24px; }
.sdDialogo .sdAviso code { overflow-wrap: anywhere; }
.sdCampoTsig textarea { min-height: 64px; }
.sdEstadoDs { min-width: 0; margin: 18px 0; }
.sdEstadoDs h3 { font-size: 15px; }
.sdEstadoDs .sdCodigo { max-width: 100%; }
.sdEstadoDs p { color: var(--ink-3); font-size: 12px; line-height: 1.6; margin: 0; }
.sdJanelaOperacao { max-width: 100%; line-height: 1.8; overflow-wrap: anywhere; }
.sdJanelaOperacao .sitDialogoRodape { gap: 10px; }
.sdControleConfirmacao { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line-2); }

@media (max-width: 800px) {
  .sdEtapasFluxo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sdEtapasFluxo li:nth-child(3) { border-left: 0; }
  .sdEtapasFluxo li:nth-child(n+3) { border-top: 1px solid var(--line-2); }
  .sdMonitorGrade { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .sdOperacaoCab { flex-direction: column; padding: 16px; }
  .sdOperacaoCorpo { padding: 16px; }
  .sdComparacao { grid-template-columns: 1fr; }
  .sdNoCab { flex-direction: column; gap: 10px; }
  .sdNo { padding: 13px; }
  .sdDiferencas, .sdDiferencas tbody, .sdDiferencas tr, .sdDiferencas td { display: block; width: 100%; min-width: 0; }
  .sdDiferencas thead { display: none; }
  .sdDiferencas tr { border: 1px solid var(--line-2); padding: 10px; margin: 10px 0; }
  .sdDiferencas td { border: 0; padding: 7px 0; }
  .sdDiferencas td::before { content: attr(data-rotulo); display: block; font: 10px var(--mono); color: var(--ink-3); margin-bottom: 5px; }
  .sdJanelaOperacao .sitDialogoRodape .btn { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  .sdOperacao *, .sdJanelaOperacao * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* Monitor diário: síntese primeiro, evidências e histórico sob demanda. */
.dmPainel { min-width:0; }
.dmPainel .dmIndicadores { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.dmIndicadores>div { min-width:0; border:1px solid var(--line-2); background:var(--surface-2); padding:12px 14px; }
.dmIndicadores span { display:block; color:var(--ink-3); font:10px/1.6 var(--mono); text-transform:uppercase; letter-spacing:.04em; }
.dmIndicadores strong { display:block; margin:7px 0 3px; font-size:27px; line-height:1.2; font-variant-numeric:tabular-nums; }
.dmIndicadores small { display:block; color:var(--ink-3); font-size:11px; line-height:1.5; }
.dmAgenda { display:flex; flex-wrap:wrap; gap:7px 18px; align-items:center; padding:13px 0; color:var(--ink-3); font-size:11px; line-height:1.6; }
.dmAgenda b { color:var(--ink-2); font-weight:500; font-variant-numeric:tabular-nums; }
.dmCadencia { border-left:3px solid var(--accent); padding-left:8px; color:var(--ink); }
.dmAtraso { color:var(--ink); }
.dmFila:not(:empty) { border:1px solid var(--line-2); border-left:3px solid var(--accent); background:var(--surface-2); padding:10px 12px; font-size:12px; margin:0 0 12px; }
.dmFiltros { display:grid; grid-template-columns:minmax(190px,1.65fr) repeat(3,minmax(130px,1fr)) auto; align-items:end; gap:10px; margin:0 0 14px; padding:12px; background:var(--surface-2); border:1px solid var(--line-2); }
.dmFiltros .campo { margin:0; min-width:0; }
.dmFiltros .campo label { font-size:10px; }
.dmFiltros .campo input,.dmFiltros .campo select { height:36px; padding:7px 10px; font-size:12px; }
.dmFiltros>.btn { min-height:36px; }
.dmTabela { border:1px solid var(--line-2); }
.dmTabela>table { border-collapse:collapse; width:100%; table-layout:fixed; font-size:12px; }
.dmTabela>table>thead th { text-align:left; padding:10px 12px; font:10px/1.5 var(--mono); color:var(--ink-3); text-transform:uppercase; letter-spacing:.04em; background:var(--surface-2); border-bottom:1px solid var(--line-2); }
.dmTabela>table>thead th:nth-child(1) { width:22%; }
.dmTabela>table>thead th:nth-child(2) { width:15%; }
.dmTabela>table>thead th:nth-child(3) { width:25%; }
.dmTabela>table>thead th:nth-child(4) { width:21%; }
.dmTabela>table>thead th:nth-child(5) { width:17%; }
.dmTabela>table>tbody>tr>td { padding:12px 12px 8px; vertical-align:top; overflow-wrap:anywhere; }
.dmTabela td strong { font-size:13px; }
.dmTabela td small { display:block; color:var(--ink-3); margin-top:4px; line-height:1.5; font-size:11px; }
.dmTabela .selo { white-space:normal; }
.dmTabela .sdAcoes { gap:5px; flex-wrap:wrap; margin:0; }
.dmTabela td .dmMudou { color:var(--ink); border-left:2px solid var(--accent); padding-left:6px; }
.dmNs code,.dmNsComparacao code,.dmAlteracao code { display:block; font:11px/1.7 var(--mono); overflow-wrap:anywhere; }
.dmSemDado { color:var(--ink-3); font-size:11px; }
.dmTabela>table>tbody>.dmDetalheLinha>td { padding:0 12px 10px; border-bottom:1px solid var(--line-2); }
.dmTabela>table>tbody>.dmDetalheLinha:last-child>td { border-bottom:0; }
.dmPainel summary,.dmHistorico summary { cursor:pointer; font-size:12px; line-height:1.7; color:var(--ink-2); }
.dmDetalheLinha summary { display:list-item; width:fit-content; }
.dmDetalhe { border-top:1px solid var(--line-2); margin-top:10px; padding:12px 0 3px; }
.dmNsComparacao { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:10px; }
.dmNsComparacao>div>span:first-child,.dmAlteracao>div>span:first-child { display:block; color:var(--ink-3); font:10px/1.5 var(--mono); text-transform:uppercase; margin-bottom:4px; }
.dmAlteracao { padding:10px 12px; margin:12px 0; background:var(--surface-2); border-left:3px solid var(--accent); display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.dmAlteracao>strong { grid-column:1/-1; font-size:12px; }
.dmNota { color:var(--ink-3); font-size:12px; line-height:1.65; margin:8px 0; overflow-wrap:anywhere; }
.dmAvisos { padding-left:18px; color:var(--ink-2); font-size:12px; line-height:1.7; }
.dmServidores { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.dmServidores>section { padding:12px; border:1px solid var(--line-2); min-width:0; }
.dmServidores h4 { margin:0 0 5px; font-size:13px; overflow-wrap:anywhere; }
.dmConsultas { width:100%; border-collapse:collapse; font-size:11px; table-layout:fixed; }
.dmConsultas th,.dmConsultas td { text-align:left; border-top:1px solid var(--line-2); padding:8px 6px; vertical-align:top; overflow-wrap:anywhere; }
.dmConsultas th { font:10px/1.6 var(--mono); color:var(--ink-3); }
.dmConsultas th:last-child { width:17%; }
.dmConsultas code { font:10px/1.5 var(--mono); }
.dmConsultas td small { display:block; color:var(--ink-3); font-size:10px; line-height:1.5; margin-top:3px; }
.dmPaginacao { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:12px 0 0; color:var(--ink-3); font-size:11px; }
.dmPaginacao .sdAcoes { margin:0; }
.dmAlertas { margin-top:18px; padding-top:16px; border-top:1px solid var(--line-2); }
.dmAlertas h3 { font-size:14px; margin:0 0 10px; }
.dmAlertas h3>span { font:11px var(--mono); color:var(--ink-3); margin-left:8px; }
.dmAlerta { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; border-left:2px solid var(--line-2); padding:5px 12px 10px; margin:10px 0; font-size:12px; }
.dmAlerta p { color:var(--ink-2); line-height:1.6; margin:3px 0; }
.dmAlerta small { color:var(--ink-3); font-size:11px; }
.dmAlerta .btn { flex-shrink:0; }
.dmRecolhido { margin-top:12px; padding-top:12px; border-top:1px solid var(--line-2); }
.dmInfra>summary { font-weight:600; }
.dmHistoricoItem { padding:13px 0; border-top:1px solid var(--line-2); }
.dmHistoricoItem>div:first-child { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:8px; font-size:12px; }
.dmRegistro { border-left:3px solid var(--line-2); padding:8px 12px; margin:10px 0; font-size:12px; }
.dmRegistro strong { display:block; margin-bottom:4px; }
.dmRegistro p { margin:4px 0; color:var(--ink-3); line-height:1.6; }
.dmPainel :is(button,input,select,summary):focus-visible,.dmHistorico summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:1150px){.dmFiltros{grid-template-columns:repeat(3,minmax(0,1fr))}.dmFiltros>.campo:first-child{grid-column:1/3}.dmFiltros>.btn{grid-column:3}.dmTabela>table>thead th:nth-child(3){width:23%}.dmTabela>table>thead th:nth-child(5){width:19%}}
@media(max-width:850px){.dmPainel .dmIndicadores{grid-template-columns:repeat(2,minmax(0,1fr))}.dmServidores{grid-template-columns:1fr}.dmTabela>table>thead{display:none}.dmTabela>table,.dmTabela>table>tbody,.dmTabela>table>tbody>tr,.dmTabela>table>tbody>tr>td{display:block;width:100%;box-sizing:border-box}.dmTabela>table>tbody>tr:not(.dmDetalheLinha){display:grid;grid-template-columns:1fr 1fr;padding:10px 12px 0;gap:10px}.dmTabela>table>tbody>tr:not(.dmDetalheLinha)>td{padding:0}.dmTabela>table>tbody>tr:not(.dmDetalheLinha)>td:nth-child(1){grid-column:1/-1}.dmTabela>table>tbody>tr:not(.dmDetalheLinha)>td::before{content:attr(data-label);display:block;color:var(--ink-3);font:10px/1.5 var(--mono);margin-bottom:5px}.dmTabela>table>tbody>.dmDetalheLinha>td{padding:10px 12px 12px}.dmPaginacao{flex-wrap:wrap}}
@media(max-width:560px){.dmFiltros{grid-template-columns:1fr 1fr}.dmFiltros>.campo:first-child{grid-column:1/-1}.dmFiltros>.btn{grid-column:auto;align-self:end}.dmIndicadores>div{padding:10px}.dmIndicadores strong{font-size:24px}.dmNsComparacao,.dmAlteracao{grid-template-columns:1fr}.dmAlerta{flex-wrap:wrap}.dmPainel>.sdOperacaoCab>.sdAcoes{width:100%;flex-wrap:wrap}.dmTabela>table>tbody>tr:not(.dmDetalheLinha)>td:nth-child(3){grid-column:1/-1}.dmServidores>section{padding:9px}.dmAgenda{gap:6px 12px}}

.dmSr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.dmIncidentes:empty{display:none}.dmIncidentes>section{border:1px solid var(--line-2);border-left:3px solid var(--crit);padding:12px 14px;margin-bottom:14px;background:var(--surface-2)}
.dmIncidentes h3{font-size:14px;margin:0}.dmIncidentes h3 span{font:11px var(--mono);margin-left:7px;color:var(--ink-3)}.dmIncidentes .dmNota{margin:5px 0 8px}.dmIncidente{font-size:12px;padding:8px 0;border-top:1px solid var(--line-2)}.dmIncidente p{margin:4px 0;line-height:1.6}.dmIncidente small{color:var(--ink-3);font-size:11px}
.dmPainel .sdBom{color:var(--good)}.dmPainel .sdFalha{color:var(--crit)}
.sdValor .sdIpVps { margin-top:8px; max-width:100%; white-space:normal; overflow-wrap:anywhere; text-align:left; }
