/* Manual de tela — lingueta "?" na borda direita + modal com índice, busca e texto (ver app/visao/manual.php). */
:root {
    --mt-cor: #16213A;
    --mt-cor-2: #1E9785;
    --mt-fundo: #ffffff;
    --mt-fundo-indice: #F4FBF9;
    --mt-borda: #DCEDEA;
    --mt-texto: #16213A;
    --mt-texto-2: #4b5a6b;
}
.mt-lingueta {
    position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 1900;
    width: 34px; height: 56px; border: 0; border-radius: 12px 0 0 12px;
    background: linear-gradient(160deg, var(--mt-cor-2), #18786B); color: #fff; font: 800 20px/1 'Nunito', sans-serif;
    box-shadow: -2px 2px 10px rgba(14, 68, 64, .3); cursor: pointer; transition: width .15s;
}
.mt-lingueta:hover, .mt-lingueta:focus-visible { width: 42px; outline: none; }
@media print { .mt-lingueta, .mt-modal { display: none !important; } }

.mt-modal[hidden] { display: none; }
.mt-modal { position: fixed; inset: 0; z-index: 2000; }
.mt-fundo-escuro { position: absolute; inset: 0; background: rgba(14, 23, 42, .5); }
.mt-caixa {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 94%; max-width: 1180px; height: 88vh; height: 88dvh;
    background: var(--mt-fundo); border-radius: 16px; overflow: hidden;
    display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0, 0, 0, .3);
    font-family: 'Nunito', -apple-system, 'Segoe UI', Roboto, sans-serif;
}
.mt-cabecalho {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 14px 20px; background: var(--mt-cor); color: #fff; flex-shrink: 0;
}
.mt-cabecalho h4 { margin: 0; font: 600 18px/1.3 'Fredoka', 'Nunito', sans-serif; }
.mt-cabecalho h4 i { color: #7DDAC8; margin-right: 4px; }
.mt-fechar {
    width: 34px; height: 34px; flex-shrink: 0; border: 0; border-radius: 50%; cursor: pointer;
    background: rgba(255, 255, 255, .15); color: #fff; font-size: 20px; line-height: 1;
}
.mt-fechar:hover { background: rgba(255, 255, 255, .28); }
.mt-busca { padding: 10px 20px; border-bottom: 1px solid var(--mt-borda); flex-shrink: 0; }
.mt-busca input { width: 100%; box-sizing: border-box; padding: 9px 12px; border: 1px solid var(--mt-borda); border-radius: 10px; font: inherit; font-size: 14px; }
.mt-busca input:focus { outline: 2px solid var(--mt-cor-2); outline-offset: -1px; }
.mt-corpo { display: flex; flex: 1; min-height: 0; }
.mt-indice {
    width: 240px; flex-shrink: 0; overflow-y: auto; padding: 14px 10px;
    background: var(--mt-fundo-indice); border-right: 1px solid var(--mt-borda);
}
.mt-indice a {
    display: block; padding: 7px 10px; border-radius: 8px; font-size: 13px;
    color: var(--mt-texto-2); cursor: pointer; text-decoration: none;
}
.mt-indice a:hover, .mt-indice a.ativo { background: #fff; color: var(--mt-texto); font-weight: 700; }
.mt-texto { flex: 1; overflow-y: auto; padding: 18px 28px 40px; font-size: 14px; line-height: 1.6; color: var(--mt-texto); }
.mt-texto section { margin-bottom: 28px; }
.mt-texto h3 { font: 600 19px/1.3 'Fredoka', 'Nunito', sans-serif; margin: 0 0 8px; color: var(--mt-cor); }
.mt-texto h4 { font-size: 14px; margin: 14px 0 4px; }
.mt-texto p { margin: 6px 0; }
.mt-texto ul, .mt-texto ol { padding-left: 20px; margin: 6px 0; }
.mt-texto li { margin-bottom: 4px; }
.mt-texto table { width: 100%; border-collapse: collapse; margin: 8px 0; font-size: 13px; }
.mt-texto th, .mt-texto td { border: 1px solid var(--mt-borda); padding: 6px 9px; text-align: left; vertical-align: top; }
.mt-texto th { background: var(--mt-fundo-indice); }
.mt-dica { background: #EEFBF8; border-left: 3px solid var(--mt-cor-2); padding: 8px 12px; border-radius: 8px; margin: 8px 0; }
.mt-atencao { background: #fffbeb; border-left: 3px solid #b45309; padding: 8px 12px; border-radius: 8px; margin: 8px 0; }
.mt-cor { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 5px; vertical-align: middle; }
.mt-texto mark { background: #fde68a; color: inherit; padding: 0 1px; border-radius: 2px; }
.mt-sem-resultado { padding: 30px 0; text-align: center; color: var(--mt-texto-2); }
body.mt-aberto { overflow: hidden; }
@media (max-width: 760px) {
    .mt-lingueta { width: 28px; height: 48px; font-size: 17px; }
    .mt-caixa { width: 100%; height: 100%; max-width: none; border-radius: 0; }
    .mt-indice { display: none; }
    .mt-busca { padding: 8px 14px; }
    .mt-texto { padding: 14px 16px 30px; }
    .mt-texto table { display: block; overflow-x: auto; }
}
