/* Acessibilidade compartilhada: não muda a impressão nem o tamanho dos menus. */
:where(button,a,input,select,textarea,summary,[tabindex],[role=button]):focus-visible{outline:3px solid #d97706!important;outline-offset:2px;box-shadow:0 0 0 2px #fff!important}
tr[tabindex]:focus-visible{outline-offset:-3px;background:#fff3cd!important}
label:has(input:focus-visible){outline:2px solid #d97706;outline-offset:2px}
.ke-teclado-dialog{width:min(800px,calc(var(--ke-teclado-largura,100vw) - 24px));max-height:calc(var(--ke-teclado-altura,100dvh) - 24px);box-sizing:border-box;padding:18px;border:1px solid #ccc;border-radius:10px;color:#292d34;background:#fff;font:14px Arial,sans-serif;overflow:auto}
.ke-teclado-dialog::backdrop{background:#0007}
.ke-teclado-dialog h2{font-size:20px;color:#991b1b;margin:0 0 10px;background:none;padding:0}
.ke-teclado-dialog p{line-height:1.4;margin:8px 0}
.ke-teclado-filtros{display:grid;grid-template-columns:130px 1fr;gap:12px;margin:12px 0}
.ke-teclado-filtros label{display:block;font-size:12px;font-weight:bold}
.ke-teclado-filtros input{box-sizing:border-box;display:block;width:100%;padding:9px;border:1px solid #bbb;border-radius:5px;font:14px Arial;margin-top:4px}
.ke-teclado-lista{display:grid;gap:5px;max-height:calc(var(--ke-teclado-altura,100vh) * .5);overflow:auto;margin:10px 0}
.ke-teclado-lista button{display:flex;align-items:center;gap:12px;text-align:left;padding:9px;background:white;color:#292d34;border:1px solid #ddd;border-radius:5px;font:14px Arial;cursor:pointer}
.ke-teclado-lista kbd{flex:none;min-width:28px;padding:3px;border:1px solid #aaa;border-radius:3px;font-weight:bold;background:#f8f3e9;text-align:center}
.ke-teclado-fechar{padding:9px 16px;background:#991b1b;color:#fff;border:0;border-radius:5px;cursor:pointer;font-weight:bold}
.ke-teclado-status{color:#991b1b;min-height:20px}
@media print{.ke-teclado-dialog{display:none!important}}

/* Padrão global de Voltar / Esc, inclusive botões gerados dinamicamente. */
.ke-botao-retorno,[data-ke-retorno]:not([data-ke-retorno=false]){background:#f8fafc!important;color:#475569!important;border:1px solid #cbd5e1!important;border-radius:4px!important;padding:6px 10px!important;font-family:inherit!important;font-size:12px!important;font-weight:600!important;line-height:1.25!important;letter-spacing:normal!important;text-transform:none!important;box-shadow:none;min-width:0!important;min-height:30px!important;width:auto!important;height:auto!important;max-width:100%;gap:5px!important;cursor:pointer;transition:background .15s,border-color .15s!important}
.ke-botao-retorno:hover:not(:disabled),[data-ke-retorno]:not([data-ke-retorno=false]):hover:not(:disabled){background:#eef2f6!important;color:#334155!important;border-color:#94a3b8!important;transform:none!important;box-shadow:none}
.ke-botao-retorno:disabled{cursor:default;opacity:.55}
.ke-botao-retorno.esc-badge>span{background:#fff!important;color:inherit!important;border:1px solid #cbd5e1!important;border-radius:3px!important;font-size:11px!important;font-weight:600!important;padding:1px 4px!important;box-shadow:none!important}
.ke-botao-retorno.pos-icon-btn,.ke-botao-retorno.btn-win-action{width:32px!important;height:32px!important;padding:6px!important}
.ke-botao-retorno.pos-icon-btn>svg{width:17px!important;height:17px!important}

/* Faixa única: 48 px visuais, independentemente da janela ou do zoom do conteúdo. */
html body .ke-faixa.ke-faixa{box-sizing:border-box!important;height:48px!important;min-height:48px!important;max-height:48px!important;flex:0 0 48px!important;background:#991b1b!important;background-image:none!important;color:#fff!important;padding:0 12px!important;gap:12px!important;border:0!important;border-radius:0!important;box-shadow:none!important;display:flex;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;line-height:1.2!important;overflow:visible;min-width:0}
html body .ke-faixa :is(h1,h2,h3,.brand-title,.window-header-brand,.ke-dialog-head){font-size:16px!important;font-weight:700!important;line-height:20px!important;color:#fff!important;margin:0!important;padding:0!important;background:none!important;border:0!important;letter-spacing:normal!important;min-width:0}
html body .ke-faixa> :not(.ke-faixa-acoes){min-width:0;flex:1 1 auto}
html body .ke-faixa :is(.brand-title-group,.window-header-brand){display:flex!important;align-items:center!important;gap:8px!important;min-width:0;white-space:nowrap}
html body .ke-faixa :is(h1,h2,h3,.ke-dialog-head){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .ke-faixa :is(small,p){font-size:10px!important;line-height:12px!important;color:#ffe4e6!important;margin:0!important}
html body .ke-faixa img{width:28px!important;height:28px!important;min-width:28px!important;object-fit:contain!important;flex:0 0 28px!important;margin:0 8px 0 0!important;border-radius:4px!important}
html body .ke-faixa .brand-tag,html body .ke-faixa .window-header-title{font-size:11px!important;line-height:14px!important;white-space:nowrap;flex:0 0 auto}
html body .ke-faixa .ke-faixa-acoes{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto!important;gap:6px!important;margin:0!important;padding:0!important}
html body .ke-faixa nav{margin:0!important;padding:0!important;border:0!important;background:none!important}
html body .ke-faixa nav[hidden]{display:none!important}
html body .ke-faixa .ke-pendencias-atalho{position:static!important;box-shadow:none!important;margin:0!important;padding:6px 10px!important;font-size:12px!important}
html body .ke-faixa .ke-botao-retorno{flex:0 0 auto!important;font-size:12px!important;line-height:15px!important;height:30px!important;min-height:30px!important;max-height:30px!important;padding:6px 10px!important;white-space:nowrap}
html body .ke-faixa .pos-icon-btn,html body .ke-faixa .btn-win-action{width:30px!important;padding:6px!important}
html body .ke-faixa-janela.ke-faixa{position:sticky;top:calc(-1 * var(--faixa-recuo-topo,0px));z-index:3;margin:calc(-1 * var(--faixa-recuo-topo,0px)) calc(-1 * var(--faixa-recuo-x,0px)) 12px!important}
.ke-retorno-repetido,.ke-rodape-sem-acoes{display:none!important}
.pos-sidebar-bottom:empty{display:none}
html body.ke-modulo-isolado>.top-bar.ke-faixa{display:none!important}
@media print{.ke-faixa{display:none!important}}

/* Rodapé de informações: a altura visual de 32 px nunca acompanha o conteúdo. */
body:has(>#ke-rodape-padrao){padding-bottom:var(--ke-rodape-espaco,32px)!important}
#ke-rodape-padrao{position:fixed;inset:auto 0 0;z-index:80;box-sizing:border-box;height:32px;min-height:32px;max-height:32px;padding:3px 12px;display:flex;align-items:center;gap:16px;background:#f8fafc;color:#475569;border-top:1px solid #dbe1e8;font:11px/16px Arial,sans-serif;box-shadow:none;overflow:hidden}
#ke-rodape-padrao .ke-rodape-zoom{display:flex;align-items:center;gap:4px;flex:0 0 auto}
#ke-rodape-padrao :is(#ke-escala-flutuante,#ke-zoom-modulo){position:static!important;inset:auto!important;display:flex;align-items:center;gap:4px}
#ke-rodape-padrao .ke-rodape-zoom button{box-sizing:border-box!important;width:24px!important;height:24px!important;min-height:24px!important;border:1px solid #cbd5e1!important;border-radius:3px!important;background:#fff!important;color:#475569!important;font:600 15px/20px Arial,sans-serif!important;padding:0!important;box-shadow:none!important;cursor:pointer}
#ke-rodape-informacoes{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:flex-end;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin;text-align:right}
#ke-rodape-padrao #resumo-rodape-finalizar{position:static!important;display:flex!important;flex:0 0 auto;flex-wrap:nowrap!important;align-items:center;justify-content:flex-end;gap:12px!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;font:11px/16px Arial,sans-serif!important;white-space:nowrap}
#ke-rodape-padrao #resumo-rodape-finalizar[hidden],#ke-rodape-mensagem[hidden]{display:none!important}
html body .app-window{bottom:calc(var(--ke-rodape-espaco,32px) + 20px)!important}
html.ke-modulo-autonomo body .app-window{bottom:var(--ke-rodape-espaco,32px)!important}
html body.ke-icon-menu-body .ke-icon-menu-main{padding-bottom:10px!important}
body.ke-modulo-isolado>#ke-rodape-padrao{display:none!important}
@media print{#ke-rodape-padrao{display:none!important}body:has(>#ke-rodape-padrao){padding-bottom:0!important}}
html body .ke-faixa-janela>div:not(.ke-faixa-acoes)>span{display:block;color:#ffe4e6!important;font-size:11px!important;line-height:14px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .ke-faixa [hidden]{display:none!important}

/* Uma composição e uma tipografia para as faixas de todos os módulos. */
html body .ke-faixa.ke-faixa{font-family:Arial,sans-serif!important}
html body .ke-faixa :is(.brand-title-group,.window-header-brand,.ke-faixa-identidade){display:flex!important;align-items:center!important;gap:8px!important;white-space:nowrap;min-width:0}
html body .ke-faixa :is(.brand-title,.window-header-brand){font-family:Arial,sans-serif!important;font-size:16px!important;font-weight:700!important;text-shadow:none!important;letter-spacing:normal!important;text-transform:none!important}
html body .ke-faixa :is(.brand-tag,.window-header-title){display:inline-flex;align-items:center;flex:0 0 auto!important;background:#fbbf24!important;color:#78350f!important;font:700 11px/14px Arial,sans-serif!important;border:0!important;border-radius:4px!important;padding:3px 8px!important;letter-spacing:normal!important;text-transform:uppercase!important}
html body .ke-faixa img{background:#fff!important;vertical-align:middle}
/* Sem variantes quadradas ou símbolos próprios herdados de cada módulo. */
html body .ke-botao-retorno{box-sizing:border-box!important;display:inline-flex;align-items:center!important;justify-content:center!important;flex-direction:row!important;font-family:Arial,sans-serif!important;font-size:12px!important;font-weight:600!important;line-height:16px!important;height:30px!important;min-height:30px!important;max-height:30px!important;width:auto!important;padding:6px 10px!important;gap:6px!important;white-space:nowrap!important;text-decoration:none!important;text-transform:none!important;box-shadow:none!important;transform:none!important}
html body .ke-botao-retorno::before{content:'←';display:inline-block;flex:0 0 12px;font:400 14px/16px Arial,sans-serif;color:inherit}
html body .ke-botao-retorno .ke-retorno-texto{display:inline!important;background:none!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important;color:inherit!important;font:inherit!important;box-shadow:none!important}
html body .ke-botao-retorno .ke-retorno-tecla{display:inline-block;flex:0 0 auto;background:#fff;border:1px solid #cbd5e1;border-radius:3px;padding:0 3px;color:inherit;font:600 10px/14px Arial,sans-serif}
html body .ke-faixa .ke-botao-retorno:is(.pos-icon-btn,.btn-win-action){width:auto!important;padding:6px 10px!important}
html body .ke-botao-retorno[hidden]{display:none!important}
