/* Módulo Empresa (.em) — usa os tokens de tema.css; cabe em 1280×720 (escala proporcional do sistema). */
.em{min-width:0}
.em .cab p{margin:2px 0 0;color:var(--suave);font-size:13px}
.em-c{padding:16px}
.em-c h3{font-size:16px;margin:0}
.em-c .sub{margin:3px 0 0;color:var(--suave);font-size:12.5px;max-width:760px}
.em-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.em-carregando{padding:30px;color:var(--suave)}
.em-grade{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px 12px;align-items:start}
.em-grade .c1{grid-column:span 1}.em-grade .c2{grid-column:span 2}.em-grade .c3{grid-column:span 3}.em-grade .c4{grid-column:span 4}
.em-grade .c5{grid-column:span 5}.em-grade .c6{grid-column:span 6}.em-grade .c7{grid-column:span 7}.em-grade .c9{grid-column:span 9}.em-grade .c12{grid-column:1/-1}
.em .campo,.em-modal .campo{min-width:0}
.em .campo>label,.em .rot,.em-modal label,.em-modal .rot{display:block;font-size:12.5px;font-weight:700;margin-bottom:5px}
.em input[type=text],.em input[type=email],.em input[type=password],.em input[type=date],.em input[type=file],.em select,
.em-modal input[type=text],.em-modal input[type=email],.em-modal select{width:100%;min-height:40px;border:0;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px #d5d9e0;padding:8px 12px;font:600 13px var(--fonte);color:var(--tinta)}
.em input[type=file]{padding:7px 10px}
.em input:disabled,.em select:disabled{background:var(--app);box-shadow:none;color:var(--tinta2)}
.em input:focus,.em select:focus,.em-modal input:focus,.em-modal select:focus{outline:none;box-shadow:inset 0 0 0 2px var(--azul)}
.em .campo.erro input,.em .campo.erro select,.em-modal .campo.erro input,.em-modal .campo.erro select{box-shadow:inset 0 0 0 2px var(--verm);background:var(--verm2)}
.em .msg-erro,.em-modal .msg-erro{color:var(--verm);font-size:12px;font-weight:700;margin-top:4px}
.em .msg-erro:empty,.em-modal .msg-erro:empty{display:none}
.em-linha{display:flex;gap:8px}.em-linha input{flex:1}
.em-sep{font-size:11px;font-weight:700;color:var(--suave);text-transform:uppercase;letter-spacing:.06em;margin-top:6px}
.em-pe{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:6px}
.em-pe .em-erro{flex:1 1 220px;margin:0}
.em-dica{font-size:12px;color:var(--suave);margin:0}
.em-tabela{overflow-x:auto}
.em table{width:100%;border-collapse:collapse;font-size:13px}
.em th{font-size:11px;font-weight:700;color:var(--suave);text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:9px 10px;background:var(--app);white-space:nowrap}
.em td{padding:9px 10px;border-top:1px solid var(--linha);vertical-align:middle}
.em td small{display:block;color:var(--suave);font-size:12px;margin-top:2px}
.em th.r,.em td.r{text-align:right}.em th.ce,.em td.ce{text-align:center}
.em tr.off{opacity:.55}
.em-ac{display:inline-flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.em .em-perigo{color:var(--verm)}
.em .tag.t-bad{background:var(--verm2);color:var(--verm)}
.em-vazio{padding:26px 10px}
.em-vazio b{display:block;color:var(--tinta)}
.em-vazio span{color:var(--suave);font-size:13px}
.em-embutida .cab h1{display:none}

/* permissões */
.em-perm{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px;align-items:start}
.em-grupos ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.em-grupos li button{width:100%;text-align:left;border:0;border-radius:14px;background:var(--app);padding:10px 12px;cursor:pointer;font:inherit;color:var(--tinta)}
.em-grupos li button b{display:block;font-size:13px}
.em-grupos li button small{font-size:11.5px;color:var(--suave)}
.em-grupos li button.on{background:var(--preto);color:#fff}
.em-grupos li button.on small{color:#c9ccd3}
.em-grupos li button.off{opacity:.6}
.em-chk{display:inline-grid;place-items:center;margin:0;cursor:pointer}
.em-chk input{width:20px;height:20px;accent-color:var(--azul);cursor:pointer}
.em-chk input:disabled{cursor:not-allowed}
.em-chk span{display:none}

/* fiscal */
.em-fiscal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.em-amb{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.em-op{display:flex;gap:10px;align-items:flex-start;background:var(--app);border-radius:16px;padding:11px 13px;cursor:pointer;margin:0}
.em-op input{width:18px;height:18px;margin-top:2px;accent-color:var(--azul)}
.em-op b{display:block;font-size:13px}
.em-op small{font-size:11.5px;color:var(--suave);font-weight:500}
.em-op:has(input:checked){background:var(--azul4);box-shadow:inset 0 0 0 2px var(--azul)}
.em-op.prod:has(input:checked){background:var(--verm2);box-shadow:inset 0 0 0 2px var(--verm)}
.em-ro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:0 0 12px}
.em-ro dt{font-size:11px;font-weight:700;color:var(--suave);text-transform:uppercase;letter-spacing:.06em}
.em-ro dd{margin:2px 0 0;font-weight:700;overflow-wrap:anywhere}
.em-cert{border-top:1px solid var(--linha);padding-top:12px}

/* matriz */
.em-mat{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}
.em-pv-res{background:var(--app);border-radius:14px;padding:12px;font-size:13px;min-height:44px}
.em-sw{display:flex;align-items:center;gap:8px;min-height:40px;font-weight:700}
.em-sw input{width:18px;height:18px;accent-color:var(--azul)}

/* registro */
.em-filtros{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}
.em-filtros label{margin:0;display:flex;flex-direction:column;gap:5px}
.em-filtros select,.em-filtros input{min-width:160px}

/* modais */
.em-modal h2{font-size:18px;margin:0 0 6px}
.em-modal .em-dica{margin-bottom:8px}
.tl-modal.pequeno{width:min(460px,94vw)}

@media (max-width:1000px){
  .em-perm,.em-fiscal,.em-mat{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .em-grade [class^="c"],.em-grade [class*=" c"]{grid-column:1/-1}
  .em-amb,.em-ro{grid-template-columns:minmax(0,1fr)}
}
/* formulário de dados: largura própria, campos no tamanho do que recebem */
/* o cartão do formulário ocupa a largura da página (alinhado ao topo e às abas); a grade interna dá a largura dos campos */
.em .btn.borda,.em-modal .btn.borda{background:#fff;box-shadow:inset 0 0 0 1px var(--linha)}
.em-linha .btn{flex:none;min-height:40px}
.em-bk{grid-column:1/-1}
