/* Extraído de public_form_publico_styles.dtml — formulários públicos (consulta, senha, conferir, viewer). */
.public-form-page { width: 100%; max-width: 100%; }
  .public-form-page .form-shell {
    /* max-width: 42rem; */
    /* margin-left: auto; */
    /* margin-right: auto; */
  }
  .public-form-page .card-form-publico {
    border: 1px solid var(--bs-border-color-translucent, #dee2e6);
  }
  .public-form-page .card-form-publico .card-body { padding: 1.5rem; }
  .public-form-page .secao-captcha {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--bs-border-color-translucent, #dee2e6);
  }
  .public-form-page .secao-captcha .form-label,
  .public-form-page .secao-captcha .form-text {
    display: block;
  }
  .public-form-page .captcha-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    width: fit-content;
    max-width: 100%;
    padding: 0.75rem;
    border: 1px solid var(--bs-border-color-translucent, #dee2e6);
    border-radius: var(--bs-border-radius, 0.375rem);
    background: var(--bs-tertiary-bg, #f8f9fa);
  }
  .public-form-page .captcha-box img {
    display: block;
    max-height: 72px;
    border-radius: var(--bs-border-radius-sm, 0.25rem);
    background: #fff;
    transition: opacity 0.15s ease;
  }
  .public-form-page .captcha-box img.captcha-img-loading {
    opacity: 0.55;
  }
  .public-form-page .captcha-input {
    max-width: 8.5rem;
    font-family: ui-monospace, monospace;
    text-transform: uppercase;
  }
  .public-form-page .campo-codigo-publico .form-control {
    text-transform: uppercase;
    font-family: ui-monospace, monospace;
  }
  .public-form-page .campo-codigo-publico .form-control::placeholder,
  .public-form-page .captcha-input::placeholder {
    letter-spacing: 0;
    opacity: 1;
    color: #495057; /* AA ≥4,5:1 sobre branco / #f8f9fa */
  }
  /* Hints e ícones de addon: Bootstrap .form-text / .text-muted falham WAVE no fundo cinza */
  .public-form-page .form-text,
  .public-form-page .hint-formato-codigo,
  .public-form-page .hint-captcha-instrucao {
    color: #495057;
  }
  .public-form-page .input-group-text i,
  .public-form-page .input-group-text .fa,
  .public-form-page .input-group-text .fas {
    color: #495057;
  }
  .public-form-page .campo-codigo-publico .form-control:not(:placeholder-shown) {
    letter-spacing: 0.08em;
  }
  .public-form-page .captcha-input:not(:placeholder-shown) {
    letter-spacing: 0.2em;
  }
  .public-form-page .captcha-input-wrap {
    max-width: 100%;
  }
  .public-form-page .input-group.has-validation > .invalid-feedback {
    width: 100%;
  }
  .public-form-page .has-validation > .invalid-feedback {
    display: none;
    width: 100%;
  }
  .public-form-page.was-validated .has-validation:has(.form-control:invalid) > .invalid-feedback {
    display: block;
  }
  .public-form-page.was-validated .campo-codigo-publico:has(.form-control:invalid) .hint-formato-codigo {
    display: none;
  }
  .public-form-page.was-validated .secao-captcha:has(.captcha-input:invalid) .hint-captcha-instrucao {
    display: none;
  }
  .public-form-page .secao-captcha .has-validation .invalid-feedback {
    width: 100%;
  }
  .public-form-page .input-group-lg .form-control { font-size: 1.0625rem; padding: 0.6rem 0.85rem; }
  .public-form-page .input-group-lg .input-group-text { padding: 0.6rem 0.85rem; }
  .public-form-page .form-text { line-height: 1.45; }
  .public-form-page .btn-acao-principal { min-width: 10rem; font-weight: 500; }
  .public-form-page .form-label.required::after {
    content: " *";
    color: var(--bs-danger, #dc3545);
    font-weight: 700;
  }
  .public-form-page .alert-captcha-sistema {
    padding: 0.75rem 1rem;
    margin-bottom: 0.75rem;
  }
  .public-form-page .alert-captcha-sistema.alert-danger {
    border-left: 4px solid var(--bs-danger, #dc3545);
  }
  .public-form-page .resultado-wrap,
  .public-form-page .feedback-wrap {
    width: 100%;
    max-width: 100%;
  }
  .public-form-page .resultado-painel {
    border: 1px solid var(--bs-border-color-translucent, #dee2e6);
    border-left: 4px solid var(--bs-success);
    overflow: hidden;
  }
  .public-form-page .resultado-painel.negativo { border-left-color: var(--bs-secondary); }
  .public-form-page .resultado-painel.negativo:not(.resultado-empty) {
    border-left-color: var(--bs-danger);
  }
  .public-form-page .resultado-painel.resultado-empty {
    border-left: 1px solid var(--bs-border-color-translucent, #dee2e6);
    max-width: none;
    width: 100%;
    margin: 0 0 1.5rem;
  }
  .public-form-page .resultado-empty-wrap {
    display: block;
    width: 100%;
    padding: 0.25rem 0 0.5rem;
  }
  .public-form-page .resultado-empty-body {
    text-align: center;
    padding-top: 1.75rem;
    padding-bottom: 0.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .public-form-page .resultado-empty-icone {
    width: 3.25rem;
    height: 3.25rem;
    margin: 0 auto 1rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bs-secondary-bg, #e9ecef);
    color: var(--bs-secondary);
    font-size: 1.25rem;
  }
  .public-form-page .resultado-empty-msg {
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
    font-size: 0.95rem;
    line-height: 1.45;
  }
  .public-form-page .resultado-empty-codigo {
    margin: 0 auto 1.25rem;
    display: inline-block;
  }
  .public-form-page .resultado-empty-dicas {
    margin: 0 auto;
    padding: 0.85rem 1rem 0.85rem 1.35rem;
    max-width: 40rem;
    width: 100%;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--bs-secondary);
    background: var(--bs-tertiary-bg, #f8f9fa);
    border-radius: var(--bs-border-radius, 0.375rem);
    text-align: left;
  }
  .public-form-page .resultado-empty-dicas li + li {
    margin-top: 0.35rem;
  }
  .public-form-page .resultado-empty-footer {
    text-align: center;
    padding-bottom: 1.5rem;
  }
  .public-form-page .resultado-empty-print-nota {
    margin: 1.25rem auto 0;
    max-width: 40rem;
    font-size: 0.85rem;
    line-height: 1.45;
    color: #333;
    text-align: left;
  }
  .public-form-page .resultado-empty-print-meta {
    margin: 1rem auto 0;
    max-width: 40rem;
    text-align: left;
  }
  @media (max-width: 575.98px) {
    .public-form-page .resultado-empty-body {
      padding-left: 1rem;
      padding-right: 1rem;
    }
  }
  .public-form-page .resultado-painel .card-header {
    padding: 1rem 1.25rem;
    background: var(--bs-secondary-bg, var(--bs-tertiary-bg, #f8f9fa));
    border-bottom: 1px solid var(--bs-border-color-translucent, #dee2e6);
  }
  .public-form-page .resultado-painel .card-body { padding: 1.25rem; }
  .public-form-page .resultado-status-banner {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-radius: var(--bs-border-radius, 0.375rem);
    margin-bottom: 1.25rem;
    font-weight: 600;
    line-height: 1.45;
  }
  .public-form-page .resultado-status-banner.ok {
    background: var(--bs-success);
    color: #fff;
  }
  .public-form-page .resultado-status-banner.erro {
    background: var(--bs-danger);
    color: #fff;
  }
  .public-form-page .resultado-bloco {
    height: 100%;
    padding: 1rem 1.15rem;
    border: 1px solid var(--bs-border-color-translucent, #dee2e6);
    border-radius: var(--bs-border-radius, 0.375rem);
    background: var(--bs-tertiary-bg, #f8f9fa);
  }
  .public-form-page .resultado-bloco-titulo {
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--bs-secondary);
    margin-bottom: 0.75rem;
  }
  .public-form-page .resultado-codigo-badge {
    display: inline-block;
    padding: 0.65rem 1rem;
    font-family: ui-monospace, monospace;
    font-size: 1.125rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: var(--bs-body-bg, #fff);
    border: 1px solid var(--bs-border-color-translucent, #dee2e6);
    border-radius: var(--bs-border-radius, 0.375rem);
  }
  .public-form-page .resultado-link-card {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.85rem 1rem;
    background: var(--bs-body-bg, #fff);
    border: 1px solid var(--bs-border-color-translucent, #dee2e6);
    border-radius: var(--bs-border-radius, 0.375rem);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
  }
  .public-form-page button.resultado-link-card {
    cursor: pointer;
    font: inherit;
    text-align: left;
  }
  .public-form-page button.resultado-link-card:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
  }
  #documentoPublicoViewerModal .modal-body {
    min-height: 70vh;
    display: flex;
    flex-direction: column;
    padding: 0;
  }
  #documentoPublicoViewerModal #documentoPublicoViewerModalIframeWrap {
    flex: 1 1 auto;
    min-height: 70vh;
  }
  #documentoPublicoViewerModal #documentoPublicoViewerModalIframe {
    height: 100%;
    min-height: 70vh;
    border: 0;
  }
  #iFrameModal .modal-body {
    min-height: 70vh;
    display: flex;
    flex-direction: column;
    padding: 0;
  }
  #iFrameModal #iFrameModalIframeWrap {
    flex: 1 1 auto;
    min-height: 70vh;
  }
  #iFrameModal #iFrameModalIframeWrap iframe {
    height: 100%;
    min-height: 70vh;
    border: 0;
  }
  .public-form-page .resultado-link-card:hover {
    border-color: var(--bs-primary);
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.06);
    color: inherit;
  }
  .public-form-page .resultado-link-card--oficial {
    border-color: rgba(var(--bs-success-rgb, 25, 135, 84), 0.45);
    background: rgba(var(--bs-success-rgb, 25, 135, 84), 0.04);
  }
  .public-form-page .resultado-link-card--oficial:hover {
    border-color: var(--bs-success);
  }
  .public-form-page .resultado-link-card .link-icone {
    width: 2.25rem;
    text-align: center;
    flex-shrink: 0;
    font-size: 1.25rem;
  }
  .public-form-page .resultado-link-card .link-texto {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 600;
    line-height: 1.35;
  }
  .public-form-page .resultado-link-card .link-legenda {
    margin-top: 0.2rem;
    line-height: 1.3;
  }
  .public-form-page .resultado-links-stack { display: flex; flex-direction: column; gap: 0.75rem; }
  .public-form-page .loading-publico .card-body { padding: 2.5rem 1.5rem; }
  .public-form-page .loading-publico .spinner-border { width: 2.5rem; height: 2.5rem; }
  .public-form-page .loading-publico p { font-size: 0.9375rem; }
  .public-form-page .viewer-progress-panel .viewer-progress-status {
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--bs-body-color);
  }
  .public-form-page .viewer-progress-panel .viewer-progress-hint {
    font-size: 0.8125rem;
    line-height: 1.45;
    max-width: 28rem;
    margin-left: auto;
    margin-right: auto;
  }
  .public-form-page .viewer-progress-panel .viewer-progress-track {
    max-width: 28rem;
  }
  .public-form-page .viewer-progress-panel .viewer-progress-bar-wrap {
    height: 0.5rem;
  }
  .public-form-page .viewer-progress-panel .viewer-progress-pct {
    font-size: 0.8125rem;
    font-variant-numeric: tabular-nums;
    color: var(--bs-primary);
  }
  .public-form-page .viewer-progress-steps {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 1.25rem;
    max-width: 28rem;
    margin-left: auto;
    margin-right: auto;
  }
  .public-form-page .viewer-progress-step {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    color: var(--bs-secondary);
    opacity: 0.55;
    transition: opacity 0.15s ease, color 0.15s ease;
  }
  .public-form-page .viewer-progress-step.is-active {
    opacity: 1;
    color: var(--bs-primary);
    font-weight: 600;
  }
  .public-form-page .viewer-progress-step.is-done {
    opacity: 0.85;
    color: var(--bs-success);
  }
  .public-form-page .viewer-progress-panel--compact .viewer-progress-hint,
  .public-form-page .viewer-progress-panel--compact .viewer-progress-steps {
    display: none;
  }
  .public-form-page .viewer-progress-panel--compact .card-body {
    padding: 1.25rem 1rem;
  }
  .public-form-page .viewer-progress-panel--compact .spinner-border {
    width: 1.75rem;
    height: 1.75rem;
    margin-bottom: 0.75rem !important;
  }
  .public-form-page .alert-erro-publico { padding: 1.25rem 1.5rem; border-radius: var(--bs-border-radius, 0.375rem); }
  .public-form-page .alert-erro-publico .alert-link { font-weight: 500; }
  .public-form-page .resultado-card-publico {
    border: 1px solid var(--bs-border-color-translucent, #dee2e6);
    border-left: 4px solid var(--bs-success);
  }
  .public-form-page .resultado-card-publico.negativo { border-left-color: var(--bs-danger); }
  .public-form-page .resultado-card-publico .card-header { font-size: 1rem; padding: 1rem 1.25rem; }
  .public-form-page .resultado-card-publico .card-body { padding: 0 1.25rem 1.25rem; }
  .public-form-page .resultado-list {
    border-radius: var(--bs-border-radius, 0.375rem);
    overflow: hidden;
    background: var(--bs-tertiary-bg, #f8f9fa);
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
  }
  @media (min-width: 768px) {
    .public-form-page .resultado-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .public-form-page .resultado-list .resultado-item--full {
      grid-column: 1 / -1;
    }
  }
  .public-form-page .resultado-item {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--bs-border-color-translucent);
    border-right: 1px solid var(--bs-border-color-translucent);
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    background: var(--bs-body-bg, #fff);
  }
  .public-form-page .resultado-list .resultado-item:nth-child(odd) {
    background: var(--bs-body-bg, #fff);
  }
  .public-form-page .resultado-list .resultado-item:nth-child(even) {
    background: var(--bs-tertiary-bg, #f8f9fa);
  }
  .public-form-page .resultado-item:last-child { border-bottom: 0; }
  .public-form-page .resultado-item .icone {
    width: 1.5rem;
    text-align: center;
    color: var(--bs-secondary);
    flex-shrink: 0;
    margin-top: 0.1rem;
  }
  .public-form-page .resultado-item .rotulo {
    font-size: 0.8125rem;
    color: var(--bs-secondary);
    margin-bottom: 0.2rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
  }
  .public-form-page .resultado-item .valor {
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.4;
  }
  .public-form-page .resultado-item .valor.assunto {
    font-weight: 400;
    max-height: 4.5em;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }
  .public-form-page .resultado-item--full .valor.assunto {
    max-height: none;
    overflow: visible;
    display: block;
    -webkit-line-clamp: unset;
  }
  .public-form-page .resultado-item .badge { font-weight: 500; padding: 0.35em 0.65em; }
  .public-form-page .consulta-secao-titulo {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--bs-body-color);
    margin-bottom: 0.85rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--bs-border-color-translucent);
  }
  .public-form-page .consulta-secao {
    margin-bottom: 1.5rem;
  }
  .public-form-page .consulta-secao--tramitacao,
  .public-form-page .consulta-secao--processo {
    padding-top: 0.25rem;
  }
  .public-form-page .consulta-resultado-conteudo {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
  }
  .public-form-page .consulta-dados-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  @media (min-width: 576px) {
    .public-form-page .consulta-dados-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .public-form-page .consulta-dado-card {
    padding: 0.9rem 1rem;
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: var(--bs-border-radius, 0.375rem);
    background: var(--bs-body-bg, #fff);
    min-height: 100%;
  }
  .public-form-page .consulta-dado-card--full {
    grid-column: 1 / -1;
  }
  .public-form-page .consulta-dado-rotulo {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--bs-secondary);
    margin-bottom: 0.35rem;
  }
  .public-form-page .consulta-dado-valor {
    display: block;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.45;
    color: var(--bs-body-color);
  }
  .public-form-page .consulta-dado-assunto {
    font-weight: 400;
  }
  .public-form-page .consulta-status-badge {
    font-size: 0.8125rem;
    font-weight: 600;
  }
  .public-form-page .processo-derivado-panel {
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: var(--bs-border-radius, 0.375rem);
    background: var(--bs-secondary-bg, var(--bs-tertiary-bg, #f8f9fa));
    overflow: hidden;
  }
  .public-form-page .processo-derivado-resumo {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 1rem 1.15rem;
  }
  .public-form-page .processo-derivado-icone {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--bs-border-radius, 0.375rem);
    background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.12);
    color: var(--bs-primary);
    font-size: 1.1rem;
  }
  .public-form-page .processo-derivado-meta {
    flex: 1 1 auto;
    min-width: 0;
  }
  .public-form-page .processo-derivado-ident {
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.35;
    margin-bottom: 0.35rem;
  }
  .public-form-page .processo-derivado-tipo {
    font-size: 0.75rem;
    font-weight: 500;
  }
  .public-form-page .processo-derivado-acao {
    padding: 0 1.15rem 1.15rem;
  }
  .public-form-page .btn-pasta-digital {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
    text-align: left;
    padding: 0.85rem 1rem;
    border-radius: var(--bs-border-radius, 0.375rem);
  }
  .public-form-page .btn-pasta-digital-icone {
    flex-shrink: 0;
    width: 2.25rem;
    text-align: center;
    font-size: 1.15rem;
  }
  .public-form-page .btn-pasta-digital-texto {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
  }
  .public-form-page .btn-pasta-digital-titulo {
    font-weight: 600;
    line-height: 1.3;
  }
  .public-form-page .btn-pasta-digital-legenda {
    font-size: 0.8125rem;
    font-weight: 400;
    opacity: 0.9;
    line-height: 1.35;
  }
  .public-form-page .btn-pasta-digital-seta {
    flex-shrink: 0;
    opacity: 0.85;
    font-size: 0.875rem;
  }
  .public-form-page .consulta-sem-processo {
    padding: 0.85rem 1rem;
    border: 1px dashed var(--bs-border-color-translucent);
    border-radius: var(--bs-border-radius, 0.375rem);
    background: var(--bs-tertiary-bg, #f8f9fa);
    color: var(--bs-secondary);
    font-size: 0.9375rem;
  }
  .public-form-page .consulta-lgpd-box {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    padding: 1rem 1.15rem;
    border-radius: var(--bs-border-radius, 0.375rem);
    background: var(--bs-tertiary-bg, #f8f9fa);
    border: 1px solid var(--bs-border-color-translucent);
    font-size: 0.875rem;
    margin-top: 0.5rem;
  }
  .public-form-page .consulta-lgpd-ip {
    font-size: 0.8125rem;
  }
  .public-form-page .consulta-lgpd-icone {
    color: var(--bs-secondary);
    margin-top: 0.15rem;
    flex-shrink: 0;
  }
  .public-form-page .consulta-ip-registrado {
    font-size: 0.875rem;
    padding: 0.15rem 0.45rem;
    background: var(--bs-secondary-bg, var(--bs-body-bg, #fff));
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 0.25rem;
  }
  .public-form-page .resultado-link-card--destaque,
  .public-form-page .resultado-link-card--oficial {
    border-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.45);
    background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.04);
  }
  .public-form-page .resultado-link-card--destaque:hover {
    border-color: var(--bs-primary);
  }
  .public-form-page .processo-derivado-box {
    margin-top: 0;
    padding: 1.25rem;
    border-radius: var(--bs-border-radius, 0.375rem);
    background: var(--bs-secondary-bg, var(--bs-tertiary-bg, #f8f9fa));
    border: 1px solid var(--bs-border-color-translucent);
  }
  .public-form-page .processo-derivado-cabecalho {
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--bs-border-color-translucent);
  }
  .public-form-page .processo-derivado-ident {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.3;
  }
  .public-form-page .processo-derivado-texto-principal { margin-bottom: 1rem; }
  .public-form-page .processo-derivado-subsecao { margin-top: 1.25rem; }
  .public-form-page .processo-derivado-subsecao .subsecao-titulo {
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--bs-secondary);
    margin-bottom: 0.65rem;
  }
  .public-form-page .consulta-tramitacao-table {
    font-size: 0.875rem;
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: var(--bs-border-radius, 0.375rem);
    overflow: hidden;
    --bs-table-bg: var(--bs-body-bg);
    --bs-table-color: var(--bs-body-color);
    --bs-table-border-color: var(--bs-border-color-translucent);
    --bs-table-hover-bg: var(--bs-tertiary-bg);
    --bs-table-hover-color: var(--bs-body-color);
  }
  .public-form-page .consulta-tramitacao-table thead th {
    background: var(--bs-tertiary-bg, #f8f9fa);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--bs-secondary);
    border-bottom-width: 1px;
  }
  .public-form-page .processo-derivado-box .titulo-secao {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--bs-body-color);
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
  }
  .public-form-page .processo-derivado-box .resultado-item { background: transparent; padding: 0.6rem 0; }
  .public-form-page .processo-derivado-box .resultado-item .icone { color: var(--bs-secondary); }
  .public-form-page .tramitacao-lista {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0;
    font-size: 0.875rem;
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: var(--bs-border-radius, 0.375rem);
    overflow: hidden;
  }
  .public-form-page .tramitacao-lista li {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--bs-border-color-translucent);
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    align-items: baseline;
    background: var(--bs-body-bg, #fff);
  }
  .public-form-page .tramitacao-lista li:nth-child(even) {
    background: var(--bs-tertiary-bg, #f8f9fa);
  }
  .public-form-page .tramitacao-lista li:last-child { border-bottom: 0; }
  .public-form-page .tramitacao-lista .tram-data {
    color: var(--bs-secondary);
    white-space: nowrap;
    font-size: 0.8125rem;
  }
  .public-form-page .tramitacao-lista .tram-unidade { font-weight: 500; }
  .public-form-page .tramitacao-lista .tram-status { font-size: 0.8125rem; color: var(--bs-secondary); }
  .public-form-page .tramitacao-lista .tram-despacho-link { flex-shrink: 0; white-space: nowrap; }
  .public-form-page .resultado-link-card--muted {
    cursor: default;
    opacity: 0.85;
    background: var(--bs-tertiary-bg, #f8f9fa);
  }
  .public-form-page .processo-derivado-box .resultado-links-stack { margin-top: 0.75rem; }
  .public-form-page .signatarios-table { font-size: 0.9375rem; }
  .public-form-page .signatarios-table .table { margin-bottom: 0; }
  .public-form-page .signatarios-table .table,
  .public-form-page .signatarios-table thead.table-light {
    --bs-table-bg: var(--bs-body-bg);
    --bs-table-color: var(--bs-body-color);
    --bs-table-border-color: var(--bs-border-color-translucent);
    --bs-table-hover-bg: var(--bs-tertiary-bg);
  }
  .public-form-page .signatarios-table thead.table-light th {
    background-color: var(--bs-tertiary-bg, #f8f9fa);
    color: var(--bs-body-color);
    border-color: var(--bs-border-color-translucent);
  }
  .public-form-page .acoes-resultado { margin-top: 0; }
  .public-form-page .resultado-painel-acoes { display: flex; flex-wrap: wrap; gap: 0.5rem; }

  /* Resultado conferir_assinatura — leitor acompanha altura da sidebar */
  .public-form-page.conferir-assinatura-page .conferir-resultado-painel {
    border-left-width: 0;
    overflow: visible;
  }
  .public-form-page .conferir-btn-voltar {
    width: 2rem;
    height: 2rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .public-form-page .conferir-resultado-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 22rem);
    gap: 0;
    align-items: stretch;
    min-height: calc(100vh - 10rem);
  }
  .public-form-page .conferir-preview {
    position: relative;
    background: var(--bs-tertiary-bg, #f1f3f5);
    border-right: 1px solid var(--bs-border-color-translucent, #dee2e6);
    min-height: calc(100vh - 10rem);
    overflow: hidden;
  }
  .public-form-page .conferir-preview-frame {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #e9ecef;
  }
  .public-form-page .conferir-preview-fallback {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 2rem 1.5rem;
    text-align: center;
    color: var(--bs-secondary);
  }
  .public-form-page .conferir-preview-fallback .fa-file-pdf {
    font-size: 3rem;
    color: var(--bs-danger);
  }
  .public-form-page .conferir-sidebar {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 1.25rem 1.15rem 1.5rem;
    background: var(--bs-body-bg, #fff);
    min-height: 100%;
    height: 100%;
    overflow: auto;
  }
  .public-form-page .conferir-sidebar-titulo {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--bs-secondary);
    margin: 0 0 0.75rem;
  }
  .public-form-page .conferir-doc-status {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    font-size: 1.05rem;
    margin-bottom: 0.85rem;
  }
  .public-form-page .conferir-doc-status .status-icone {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 0.85rem;
    flex-shrink: 0;
  }
  .public-form-page .conferir-doc-status .status-icone.ok { background: var(--bs-success); }
  .public-form-page .conferir-doc-status .status-icone.atencao { background: #e6a817; }
  .public-form-page .conferir-acoes-doc {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.65rem;
    margin-bottom: 0;
  }
  .public-form-page .conferir-pdf-acao {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    text-decoration: none;
    color: inherit;
  }
  .public-form-page .conferir-pdf-acao:hover .conferir-pdf-label,
  .public-form-page .conferir-pdf-acao:focus-visible .conferir-pdf-label {
    text-decoration: underline;
    color: var(--bs-link-color, var(--bs-primary));
  }
  .public-form-page .conferir-pdf-thumb {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3.4rem;
    border-radius: 0.35rem;
    background: var(--bs-tertiary-bg, #f8f9fa);
    border: 1px solid var(--bs-border-color-translucent, #dee2e6);
    color: var(--bs-danger);
    font-size: 1.65rem;
    flex-shrink: 0;
  }
  .public-form-page .conferir-pdf-acao:hover .conferir-pdf-thumb,
  .public-form-page .conferir-pdf-acao:focus-visible .conferir-pdf-thumb {
    border-color: var(--bs-primary);
  }
  .public-form-page .conferir-pdf-baixar {
    position: absolute;
    right: -0.35rem;
    bottom: -0.35rem;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 50%;
    background: var(--bs-primary);
    color: #fff;
    font-size: 0.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--bs-body-bg, #fff);
  }
  .public-form-page .conferir-pdf-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--bs-link-color, var(--bs-primary));
  }
  .public-form-page .conferir-link-impressao {
    font-size: 0.8125rem;
    color: var(--bs-link-color, var(--bs-primary));
    text-decoration: none;
    line-height: 1.3;
  }
  .public-form-page .conferir-link-impressao:hover,
  .public-form-page .conferir-link-impressao:focus-visible {
    text-decoration: underline;
  }
  .public-form-page .conferir-sidebar-aviso {
    margin-top: auto;
    padding-top: 0.5rem;
  }
  .public-form-page .conferir-meta-lista {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.8125rem;
  }
  .public-form-page .conferir-meta-lista li {
    display: grid;
    grid-template-columns: minmax(5.5rem, 38%) 1fr;
    gap: 0.35rem 0.65rem;
    align-items: baseline;
    padding: 0.35rem 0;
    border-bottom: 1px solid var(--bs-border-color-translucent, #dee2e6);
  }
  .public-form-page .conferir-meta-lista li:last-child { border-bottom: 0; }
  .public-form-page .conferir-meta-lista .meta-rotulo {
    font-size: 0.75rem;
    color: var(--bs-secondary);
    font-weight: 600;
  }
  .public-form-page .conferir-meta-lista .meta-valor {
    word-break: break-word;
    text-align: right;
  }
  .public-form-page .conferir-meta-lista .meta-valor.codigo-mono {
    font-family: ui-monospace, monospace;
    letter-spacing: 0.04em;
    font-size: 0.75rem;
  }
  .public-form-page .conferir-signatarios-lista {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
  }
  .public-form-page .conferir-signatario-card {
    display: flex;
    gap: 0.75rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--bs-border-color-translucent, #dee2e6);
    border-radius: var(--bs-border-radius, 0.375rem);
    background: var(--bs-tertiary-bg, #f8f9fa);
  }
  .public-form-page .conferir-signatario-card .sig-icone {
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 0.75rem;
    flex-shrink: 0;
    margin-top: 0.1rem;
  }
  .public-form-page .conferir-signatario-card .sig-icone.ok { background: var(--bs-success); }
  .public-form-page .conferir-signatario-card .sig-icone.atencao { background: #e6a817; }
  .public-form-page .conferir-signatario-card .sig-corpo { min-width: 0; flex: 1; }
  .public-form-page .conferir-signatario-card .sig-nome {
    font-weight: 600;
    font-size: 0.9rem;
    line-height: 1.3;
    margin-bottom: 0.2rem;
  }
  .public-form-page .conferir-signatario-card .sig-linha {
    font-size: 0.8rem;
    color: var(--bs-secondary);
    line-height: 1.35;
  }
  .public-form-page .conferir-aviso-compacto {
    font-size: 0.8rem;
    line-height: 1.4;
    margin: 0;
    padding: 0.65rem 0.75rem;
    border-radius: var(--bs-border-radius, 0.375rem);
    background: var(--bs-info-bg-subtle, #cff4fc);
    color: var(--bs-info-text-emphasis, #055160);
    border: 1px solid var(--bs-info-border-subtle, #9eeaf9);
  }
  @media (max-width: 991.98px) {
    .public-form-page .conferir-resultado-grid {
      grid-template-columns: 1fr;
      min-height: 0;
    }
    .public-form-page .conferir-preview {
      border-right: 0;
      border-bottom: 1px solid var(--bs-border-color-translucent, #dee2e6);
      order: 2;
      height: 60vh;
      min-height: 22rem;
      max-height: 32rem;
    }
    .public-form-page .conferir-sidebar {
      order: 1;
      height: auto;
      min-height: 0;
      overflow: visible;
    }
  }
  @media print {
    @page {
      margin: 1.2cm 1.4cm;
    }
    body {
      background: #fff !important;
      color: #111 !important;
    }
    /* Esconde chrome do portal na impressão */
    .navbar-header,
    .topnav,
    .navbar,
    .footer,
    .footer-institutional,
    .page-title-box,
    .breadcrumb,
    .skip-link,
    #page-topbar,
    .vertical-menu,
    .right-bar,
    .d-print-none {
      display: none !important;
    }
    .main-content,
    .page-content,
    .container-fluid,
    #layout-wrapper {
      margin: 0 !important;
      padding: 0 !important;
      width: 100% !important;
      max-width: none !important;
    }
    .public-form-page.conferir-assinatura-page .conferir-resultado-painel {
      border: 0 !important;
      box-shadow: none !important;
      overflow: visible !important;
    }
    .public-form-page .conferir-preview { display: none !important; }
    .public-form-page .conferir-resultado-grid {
      display: block !important;
    }
    .public-form-page .conferir-sidebar {
      max-height: none !important;
      overflow: visible !important;
      padding: 0 !important;
      gap: 1rem !important;
    }
    .public-form-page .conferir-print-header {
      display: block !important;
      margin: 0 0 1.25rem;
    }
    .public-form-page .resultado-painel.resultado-empty {
      border: 0 !important;
      box-shadow: none !important;
      max-width: none !important;
      margin: 0 !important;
    }
    .public-form-page .resultado-empty-wrap {
      padding: 0 !important;
    }
    .public-form-page .resultado-empty-body {
      text-align: left !important;
      padding: 0 !important;
    }
    .public-form-page .resultado-empty-codigo {
      margin: 0.75rem 0 1rem !important;
      display: inline-block;
    }
    .public-form-page .resultado-empty-print-meta,
    .public-form-page .resultado-empty-print-nota {
      display: block !important;
    }
    .public-form-page .resultado-empty-msg {
      max-width: none !important;
      margin: 0 0 0.75rem !important;
      color: #333 !important;
    }
    .public-form-page .conferir-print-brand {
      display: flex;
      align-items: center;
      gap: 0.9rem;
    }
    .public-form-page .conferir-print-brasao {
      width: 72px;
      height: 72px;
      object-fit: contain;
      flex-shrink: 0;
    }
    .public-form-page .conferir-print-casa {
      font-size: 1.05rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.02em;
      line-height: 1.25;
      color: #111;
    }
    .public-form-page .conferir-print-relatorio {
      margin-top: 0.2rem;
      font-size: 0.8rem;
      font-weight: 600;
      color: #444;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }
    .public-form-page .conferir-print-doc-titulo {
      margin-top: 0.35rem;
      font-size: 1.15rem;
      font-weight: 700;
      line-height: 1.3;
      color: #111;
    }
    .public-form-page .conferir-print-doc-sub {
      margin-top: 0.15rem;
      font-size: 0.9rem;
      color: #333;
    }
    .public-form-page .conferir-print-linha {
      margin-top: 0.85rem;
      border-bottom: 2px solid #222;
    }
    .public-form-page .conferir-sidebar-titulo {
      font-size: 0.8rem;
      margin-bottom: 0.5rem;
      color: #222;
      border-bottom: 1px solid #ccc;
      padding-bottom: 0.25rem;
    }
    .public-form-page .conferir-doc-status {
      margin-bottom: 0.75rem;
      font-size: 1rem;
    }
    .public-form-page .conferir-meta-lista {
      font-size: 0.92rem;
      border: 1px solid #ccc;
      border-radius: 0.25rem;
      padding: 0.15rem 0.75rem;
      margin-bottom: 0.25rem;
    }
    .public-form-page .conferir-meta-lista li {
      display: grid;
      grid-template-columns: 10.5rem 1fr;
      gap: 0.5rem;
      align-items: baseline;
      padding: 0.4rem 0;
      border-bottom: 1px solid #e5e5e5;
    }
    .public-form-page .conferir-meta-lista li:last-child { border-bottom: 0; }
    .public-form-page .conferir-meta-lista .meta-rotulo {
      font-size: 0.78rem;
      color: #555;
    }
    .public-form-page .conferir-meta-lista .meta-valor {
      font-size: 0.92rem;
      color: #111;
    }
    .public-form-page .conferir-signatario-card {
      background: #fff !important;
      border: 1px solid #bbb !important;
      break-inside: avoid;
      page-break-inside: avoid;
    }
    .public-form-page .conferir-aviso-compacto {
      background: #f5f5f5 !important;
      color: #222 !important;
      border: 1px solid #bbb !important;
      break-inside: avoid;
    }
    .public-form-page .conferir-signatario-card .sig-icone,
    .public-form-page .conferir-doc-status .status-icone {
      -webkit-print-color-adjust: exact;
      print-color-adjust: exact;
    }
  }

  .public-form-page .resultado-passos {
    list-style: none;
    padding: 0;
    margin: 0 0 1.25rem;
    display: grid;
    gap: 0.75rem;
  }
  @media (min-width: 768px) {
    .public-form-page .resultado-passos:not(.resultado-passos--coluna) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .public-form-page .resultado-passos.resultado-passos--coluna {
    grid-template-columns: 1fr;
  }
  .public-form-page .hint-rodape-publico {
    margin-top: 0.5rem;
    margin-bottom: 0;
    line-height: 1.45;
  }
  .public-form-page .resultado-passos li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    background: var(--bs-tertiary-bg, #f8f9fa);
    border: 1px solid var(--bs-border-color-translucent, #dee2e6);
    border-radius: var(--bs-border-radius, 0.375rem);
    font-size: 0.9375rem;
    line-height: 1.45;
  }
  .public-form-page .resultado-passos .passo-num {
    flex-shrink: 0;
    width: 1.75rem;
    height: 1.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--bs-primary);
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 700;
  }
  .public-form-page .resultado-lead {
    font-size: 1rem;
    line-height: 1.55;
    margin-bottom: 1.25rem;
    color: var(--bs-body-color);
  }
  .public-form-page .resultado-painel h1:focus,
  .public-form-page .resultado-painel h2:focus,
  .public-form-page .resultado-painel h3:focus {
    outline: none;
    box-shadow: none;
  }
  .public-form-page .input-group-text.bg-light {
    background-color: var(--bs-secondary-bg, var(--bs-tertiary-bg, #f8f9fa)) !important;
    color: var(--bs-body-color);
    border-color: var(--bs-border-color-translucent, #dee2e6);
  }
  .public-form-page .btn-captcha-nova-imagem { min-height: 2.75rem; min-width: 2.75rem; }
  @media (max-width: 480px) {
    .public-form-page .captcha-box {
      width: 100%;
      flex-direction: column;
      align-items: stretch;
    }
    .public-form-page .captcha-box img { align-self: center; }
    .public-form-page .btn-captcha-nova-imagem { width: 100%; }
  }

  /* Hints/ícones/placeholder: #495057 do tema claro falha WAVE no fundo dark */
  html[data-bs-theme=dark] .public-form-page .form-text,
  html[data-bs-theme=dark] .public-form-page .hint-formato-codigo,
  html[data-bs-theme=dark] .public-form-page .hint-captcha-instrucao,
  html[data-bs-theme=dark] .public-form-page .hint-formato-codigo strong,
  body[data-bs-theme=dark] .public-form-page .form-text,
  body[data-bs-theme=dark] .public-form-page .hint-formato-codigo,
  body[data-bs-theme=dark] .public-form-page .hint-captcha-instrucao,
  body[data-bs-theme=dark] .public-form-page .hint-formato-codigo strong {
    color: #e2e6ea;
  }
  html[data-bs-theme=dark] .public-form-page .campo-codigo-publico .form-control::placeholder,
  html[data-bs-theme=dark] .public-form-page .captcha-input::placeholder,
  body[data-bs-theme=dark] .public-form-page .campo-codigo-publico .form-control::placeholder,
  body[data-bs-theme=dark] .public-form-page .captcha-input::placeholder {
    color: #cfd6dd;
    opacity: 1;
  }
  html[data-bs-theme=dark] .public-form-page .input-group-text i,
  html[data-bs-theme=dark] .public-form-page .input-group-text .fa,
  html[data-bs-theme=dark] .public-form-page .input-group-text .fas,
  body[data-bs-theme=dark] .public-form-page .input-group-text i,
  body[data-bs-theme=dark] .public-form-page .input-group-text .fa,
  body[data-bs-theme=dark] .public-form-page .input-group-text .fas {
    color: #e2e6ea;
  }
  body[data-bs-theme=dark] .public-form-page .resultado-link-card:hover {
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.35);
  }
  body[data-bs-theme=dark] .public-form-page .resultado-link-card--destaque {
    background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.12);
  }
  body[data-bs-theme=dark] .public-form-page .resultado-link-card--oficial {
    background: rgba(var(--bs-success-rgb, 25, 135, 84), 0.12);
  }
  body[data-bs-theme=dark] .public-form-page .resultado-link-card--muted {
    opacity: 0.75;
  }
  body[data-bs-theme=dark] .public-form-page .processo-derivado-box {
    background: var(--bs-tertiary-bg, #252936);
  }
  body[data-bs-theme=dark] .public-form-page .consulta-dado-card,
  body[data-bs-theme=dark] .public-form-page .processo-derivado-panel {
    background: var(--bs-tertiary-bg, #252936);
  }
  body[data-bs-theme=dark] .public-form-page .processo-derivado-icone {
    background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.2);
  }
  body[data-bs-theme=dark] .public-form-page .consulta-sem-processo {
    background: var(--bs-secondary-bg, #212530);
  }
  body[data-bs-theme=dark] .public-form-page .resultado-list {
    background: var(--bs-tertiary-bg, #252936);
  }
