/* Cabecalho, barra de contexto e rodape padrao dos modulos internos.
   Tudo escopado em .sgdi-*; variaveis no proprio elemento (sem escopo global). */
.sgdi-cabecalho, .sgdi-contexto, .sgdi-rodape {
    --sgdi-azul:#06469c; --sgdi-azul-hover:#053a81; --sgdi-claro:#e8f1fb;
    --sgdi-texto:#263747; --sgdi-muda:#596b7a; --sgdi-linha:#dce2e7; --sgdi-erro:#a31d26;
    font:14px/1.5 'Segoe UI', Arial, sans-serif; box-sizing:border-box;
}
.sgdi-cabecalho *, .sgdi-contexto *, .sgdi-rodape * { box-sizing:border-box; }

.sgdi-cabecalho { background:var(--sgdi-azul); color:#fff; border-bottom:1px solid #003779; position:relative; }
.sgdi-cab-in { max-width:1600px; margin:auto; display:flex; align-items:center; gap:16px; min-height:54px; padding:8px 24px; }
.sgdi-cabecalho a { color:#fff; text-decoration:none; padding:0; font-family:inherit; }
.sgdi-cabecalho a:hover { text-decoration:none; }
.sgdi-marca { display:flex; align-items:center; gap:9px; flex-shrink:0; }
.sgdi-marca img { object-fit:contain; background:#fff; border-radius:2px; }
.sgdi-marca strong { display:block; font-size:13px; line-height:1.3; }
.sgdi-marca small { display:block; font-size:10px; color:#d4e5fb; }
.sgdi-menu { display:flex; flex-wrap:wrap; gap:3px; min-width:0; margin:0; padding:0; }
.sgdi-cabecalho .sgdi-menu a { display:inline-flex; align-items:center; gap:6px; padding:8px 10px; border-radius:3px; font-size:12px; }
.sgdi-cabecalho .sgdi-menu a:hover, .sgdi-cabecalho .sgdi-menu a.ativo { background:rgba(255,255,255,.18); }
.sgdi-cabecalho .sgdi-menu a.ativo { font-weight:600; }
.sgdi-menu-botao { display:none; margin:0 0 0 auto; padding:7px 10px; border:0; border-radius:3px; background:rgba(255,255,255,.18); color:#fff; font:inherit; font-size:16px; line-height:1; cursor:pointer; }
.sgdi-busca { display:flex; align-items:center; gap:6px; flex:1; min-width:100px; max-width:230px; margin:0 0 0 auto; padding:5px 8px; background:rgba(255,255,255,.14); border-radius:3px; }
.sgdi-busca input[type=search] { width:100%; min-width:0; padding:3px; margin:0; background:transparent; border:0; box-shadow:none; color:#fff; font:inherit; font-size:12px; }
.sgdi-busca input::placeholder { color:#d6e6fc; }
.sgdi-busca button { margin:0; border:0; padding:4px; background:transparent; color:#fff; font:inherit; cursor:pointer; }
.sgdi-cabecalho .sgdi-sino { position:relative; display:inline-flex; align-items:center; padding:8px 10px; border-radius:3px; }
.sgdi-cabecalho .sgdi-sino:hover { background:rgba(255,255,255,.18); }
.sgdi-sino-qtd { position:absolute; top:0; right:0; min-width:16px; padding:0 4px; border-radius:8px; background:var(--sgdi-erro); color:#fff; font-size:10px; line-height:16px; text-align:center; }
.sgdi-usuario { position:relative; margin:0 0 0 auto; min-width:0; }
.sgdi-busca + .sgdi-usuario, .sgdi-sino + .sgdi-usuario { margin-left:0; }
.sgdi-cabecalho a.sgdi-entrar { display:inline-flex; align-items:center; gap:6px; margin-left:auto; padding:7px 14px; border-radius:3px; background:#fff; color:var(--sgdi-azul); font-size:13px; font-weight:600; }
.sgdi-cabecalho a.sgdi-entrar:hover { background:var(--sgdi-claro); }
.sgdi-usuario summary { display:flex; align-items:center; gap:7px; margin:0; padding:0; list-style:none; cursor:pointer; font:inherit; }
.sgdi-usuario summary::-webkit-details-marker { display:none; }
.sgdi-usuario-nome { font-size:12px; max-width:140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sgdi-seta { font-size:10px; }
.sgdi-avatar { display:inline-grid; place-items:center; width:32px; height:32px; flex-shrink:0; border-radius:4px; background:#e5effc; color:var(--sgdi-azul); font-weight:600; }
.sgdi-usuario-lista { position:absolute; right:0; top:calc(100% + 6px); z-index:50; min-width:220px; margin:0; padding:4px 0; list-style:none; background:#fff; border:1px solid var(--sgdi-linha); border-radius:4px; box-shadow:0 4px 12px rgba(20,38,56,.18); }
.sgdi-usuario-lista li { margin:0; padding:0; list-style:none; }
.sgdi-cabecalho .sgdi-usuario-lista a { display:flex; align-items:center; gap:8px; padding:9px 14px; color:var(--sgdi-texto); font-size:13px; }
.sgdi-cabecalho .sgdi-usuario-lista a:hover { background:var(--sgdi-claro); }
.sgdi-cabecalho .sgdi-usuario-lista a.sgdi-sair { color:var(--sgdi-erro); }

.sgdi-contexto { background:var(--sgdi-claro); border-bottom:1px solid #cddfed; color:var(--sgdi-texto); }
.sgdi-contexto-in { max-width:1600px; margin:auto; padding:8px 24px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px 18px; font-size:12px; }
.sgdi-caminho { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-width:0; overflow-wrap:anywhere; }
.sgdi-caminho a { color:var(--sgdi-azul); text-decoration:none; }
.sgdi-caminho a:hover { text-decoration:underline; }
.sgdi-contexto-dir { display:flex; align-items:center; flex-wrap:wrap; gap:7px; min-width:0; }

.sgdi-rodape { padding:14px 24px; border-top:1px solid var(--sgdi-linha); background:#fff; color:var(--sgdi-muda); font-size:11px; overflow-wrap:anywhere; }
.sgdi-rodape p { margin:0 0 2px; }
.sgdi-rodape a { color:var(--sgdi-azul); text-decoration:underline; }

@media (max-width:1200px) {
    /* Como o Protocolo: o menu desce para uma linha inteira; marca a esquerda e o resto
       (busca, sino, usuario, botao do menu) agrupado a direita, sem cair numa 2a linha solta. */
    .sgdi-cab-in { flex-wrap:wrap; gap:8px 14px; }
    .sgdi-marca { margin-right:auto; }
    .sgdi-busca, .sgdi-usuario, .sgdi-menu-botao { margin-left:0; }
    .sgdi-menu { order:5; width:100%; }
}
@media (max-width:900px) {
    .sgdi-menu { display:none; }
    .sgdi-menu-botao { display:inline-block; order:4; }
    .sgdi-menu.aberto { display:flex; flex-direction:column; }
}
@media (max-width:600px) {
    .sgdi-cab-in { padding:9px 14px; }
    .sgdi-busca, .sgdi-usuario-nome { display:none; }
    .sgdi-contexto-in { padding:8px 14px; }
    .sgdi-rodape { padding:14px; }
}
@media print {
    .sgdi-cabecalho, .sgdi-contexto, .sgdi-rodape { display:none; }
}
