/* Estrutura do Grupo — só tokens da skill gestao-visual (tokens.css), sem hex solto.
   Acompanha o tema claro/escuro sem regra própria em [data-theme]. */
.est-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.est-wrap{display:flex;flex-direction:column;gap:var(--space-7);position:relative;}
.est-top{display:flex;flex-wrap:wrap;gap:var(--space-7);align-items:center;justify-content:space-between;}
.est-kpis{display:flex;flex-wrap:wrap;gap:var(--space-5);}
.est-kpi{position:relative;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-4) var(--space-7);min-width:100px;box-shadow:var(--shadow-xs);overflow:hidden;}
.est-kpi::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--kpi-cor,var(--action-accent));}
.est-kpi b{display:block;font-family:var(--font-mono);font-size:var(--fs-2xl);line-height:1.25;font-variant-numeric:tabular-nums;color:var(--kpi-cor,var(--text-strong));}
.est-kpi span{font-size:var(--fs-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);}
.est-kpi-erro{--kpi-cor:var(--status-negative);} .est-kpi-aviso{--kpi-cor:var(--status-attention);} .est-kpi-ok{--kpi-cor:var(--status-positive);}
.est-acoes{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center;}
.est-busca{min-width:280px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-body);font:inherit;font-size:var(--fs-md);}
.est-btn{padding:8px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:transparent;color:var(--text-body);font:inherit;font-size:var(--fs-md);font-weight:600;cursor:pointer;transition:border-color var(--dur-control) var(--ease-standard),color var(--dur-control) var(--ease-standard),background var(--dur-control) var(--ease-standard);}
.est-btn:hover{border-color:var(--action-accent);color:var(--action-accent);}
.est-btn-sm{padding:4px 10px;font-size:var(--fs-sm);flex-shrink:0;}
.est-btn-icone{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;}
.est-btn-primario{background:var(--action-primary);border-color:var(--action-primary);color:var(--text-on-brand);}
.est-btn-primario:hover{background:var(--action-primary-hover);border-color:var(--action-primary-hover);color:var(--text-on-brand);}
.est-btn-perigo{background:var(--status-negative);border-color:var(--status-negative);color:var(--text-on-brand);}
.est-btn-perigo:hover{filter:brightness(.92);color:var(--text-on-brand);border-color:var(--status-negative);}
.est-btn[disabled]{opacity:.55;cursor:progress;}
.est-btn:focus-visible,.est-aba:focus-visible,.est-busca:focus-visible,.est-form input:focus-visible,.est-form select:focus-visible,.est-grupo>summary:focus-visible,.est-no>summary:focus-visible{outline:2px solid var(--action-accent);outline-offset:2px;}
.est-aviso-fonte,.est-pend-info{padding:var(--space-5) var(--space-7);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--status-attention) var(--status-soft),transparent);border:1px solid color-mix(in srgb,var(--status-attention) 40%,transparent);font-size:var(--fs-md);color:var(--text-body);}
.est-ok{padding:var(--space-5) var(--space-7);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--status-positive) var(--status-soft),transparent);border:1px solid color-mix(in srgb,var(--status-positive) 40%,transparent);font-size:var(--fs-md);display:flex;gap:var(--space-5);align-items:center;flex-wrap:wrap;}
.est-msg-erro{color:var(--status-negative);font-size:var(--fs-md);font-weight:600;} .est-msg-erro:empty{display:none;}
.est-abas{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border-default);overflow-x:auto;}
.est-aba{padding:10px 16px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--text-muted);font:inherit;font-size:var(--fs-md);font-weight:600;cursor:pointer;white-space:nowrap;}
.est-aba:hover{color:var(--text-body);} .est-aba.ativa{color:var(--action-accent);border-bottom-color:var(--action-accent);}
.est-corpo{display:flex;flex-direction:column;gap:var(--space-5);}
.est-vazio{padding:var(--space-10);text-align:center;color:var(--text-muted);background:var(--surface-card);border:1px dashed var(--border-strong);border-radius:var(--radius-md);}
.est-grupo{background:var(--surface-card);border:1px solid var(--border-default);border-left:4px solid var(--status-neutral);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);}
.est-grupo.est-erro{border-left-color:var(--status-negative);} .est-grupo.est-aviso{border-left-color:var(--status-attention);} .est-grupo.est-info{border-left-color:var(--status-info);}
.est-grupo>summary,.est-no>summary{display:flex;gap:var(--space-5);align-items:center;padding:var(--space-5) var(--space-7);cursor:pointer;list-style:none;}
.est-grupo>summary::-webkit-details-marker,.est-no>summary::-webkit-details-marker{display:none;}
.est-sev{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 10px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--status-neutral) var(--status-soft),transparent);color:var(--status-neutral);}
.est-grupo.est-erro .est-sev{background:color-mix(in srgb,var(--status-negative) var(--status-soft),transparent);color:var(--status-negative);}
.est-grupo.est-aviso .est-sev{background:color-mix(in srgb,var(--status-attention) var(--status-soft),transparent);color:var(--status-attention);}
.est-grupo.est-info .est-sev{background:color-mix(in srgb,var(--status-info) var(--status-soft),transparent);color:var(--status-info);}
.est-n{margin-left:auto;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);color:var(--text-muted);background:var(--surface-inset);border-radius:var(--radius-pill);padding:2px 10px;}
.est-no>summary .est-n{margin-left:0;}
.est-no>summary .est-btn{margin-left:auto;}
.est-ajuda{margin:0;padding:0 var(--space-7) var(--space-5);color:var(--text-muted);font-size:var(--fs-md);}
.est-lista,.est-folhas{list-style:none;margin:0;padding:0 var(--space-7) var(--space-5);display:flex;flex-direction:column;gap:var(--space-1);}
.est-lista li,.est-folhas li{display:flex;gap:var(--space-5);align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);background:var(--surface-sunken);border-radius:var(--radius-sm);}
.est-lista li>div,.est-folhas li>div{min-width:0;}
.est-lista li b,.est-folhas li b{font-size:var(--fs-md);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.est-lista small,.est-folhas small{display:block;color:var(--text-muted);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.est-no{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);}
.est-n2,.est-n3{margin:0 var(--space-5) var(--space-3);background:var(--surface-sunken);}
.est-n1>summary{font-size:var(--fs-lg);}
.est-tabela-wrap{overflow-x:auto;border:1px solid var(--border-default);border-radius:var(--radius-md);}
.est-tab{width:100%;border-collapse:collapse;background:var(--surface-card);font-size:var(--fs-sm);}
.est-tab th,.est-tab td{text-align:left;padding:var(--space-4) var(--space-5);vertical-align:middle;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.est-tab th{background:var(--table-head-bg);color:var(--table-head-text);font-weight:600;}
.est-tab tbody tr:nth-child(even){background:var(--surface-sunken);}
.est-acoes-sql{display:flex;gap:var(--space-3);flex-wrap:wrap;}
.est-overlay{position:fixed;inset:0;background:var(--surface-overlay);z-index:60;}
.est-editor{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);z-index:61;background:var(--surface-card);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;}
.est-editor header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-5);padding:var(--space-7) var(--space-8);border-bottom:1px solid var(--border-default);}
.est-editor header small{color:var(--text-muted);font-size:var(--fs-sm);} .est-editor h3{margin:2px 0 0;font-size:var(--fs-lg);font-weight:700;}
.est-form{flex:1;overflow:auto;padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-7);}
.est-form label span{display:block;font-size:var(--fs-sm);font-weight:600;color:var(--text-muted);margin-bottom:var(--space-1);}
.est-form input,.est-form select{width:100%;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-body);font:inherit;font-size:var(--fs-md);}
.est-nota{margin:0;font-size:var(--fs-sm);color:var(--text-muted);}
.est-editor footer{display:flex;gap:var(--space-3);padding:var(--space-7) var(--space-8);border-top:1px solid var(--border-default);}
@media (max-width:640px){.est-busca{min-width:0;width:100%;}.est-busca-wrap{flex:1 1 100%;}.est-kpi{min-width:calc(50% - 6px);flex:1;}}
@media (prefers-reduced-motion:reduce){.est-btn{transition:none;}}

/* ---------- Fluxo (SVG à mão; cor só por classe, nunca em atributo) ---------- */
.fl-barra{display:flex;flex-wrap:wrap;gap:var(--space-7);align-items:center;justify-content:space-between;}
.fl-escopo{display:flex;align-items:center;gap:var(--space-4);}
.fl-escopo span{font-size:var(--fs-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);}
.fl-escopo select{min-width:300px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-body);font:inherit;font-size:var(--fs-md);}
.fl-escopo select:focus-visible{outline:2px solid var(--action-accent);outline-offset:2px;}
.fl-leg{display:flex;flex-wrap:wrap;gap:var(--space-7);list-style:none;margin:0;padding:0;font-size:var(--fs-sm);color:var(--text-muted);}
.fl-leg li{display:flex;align-items:center;gap:var(--space-3);}
.fl-amostra{display:inline-block;width:22px;height:12px;border-radius:4px;border:1.5px solid var(--border-strong);background:var(--surface-card);}
.fl-amostra-falta{border-color:var(--status-negative);border-style:dashed;}
.fl-amostra-orfa{border-color:var(--status-attention);}
.fl-amostra-pend{border-color:var(--action-accent);border-width:2px;}
.fl-palco{overflow:auto;border:1px solid var(--border-default);border-radius:var(--radius-lg);background-color:var(--surface-card);background-image:var(--stage-glow);max-height:72vh;}
.fl-svg{display:block;width:100%;min-width:1000px;height:auto;}
.fl-col{font-size:var(--fs-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;fill:var(--text-muted);}
.fl-lig{fill:none;stroke:var(--border-strong);stroke-width:1.5;transition:opacity var(--dur-control) var(--ease-standard);}
.fl-lig-falta{stroke:var(--status-negative);stroke-dasharray:5 4;}
.fl-lig-pend{stroke:var(--action-accent);stroke-width:2.5;}
.fl-hit{fill:none;stroke:transparent;stroke-width:14;cursor:pointer;}
.fl-hit:hover+*,.fl-hit:hover{stroke:color-mix(in srgb,var(--action-accent) 25%,transparent);}
.fl-no rect{fill:var(--surface-card);stroke:var(--border-strong);stroke-width:1.5;transition:stroke var(--dur-control) var(--ease-standard);}
.fl-no[data-ac]{cursor:pointer;}
.fl-no[data-ac]:hover rect{stroke:var(--action-accent);}
.fl-no:focus{outline:none;}
.fl-no:focus-visible rect{stroke:var(--action-accent);stroke-width:3;}
.fl-t{font-size:var(--fs-sm);font-weight:600;fill:var(--text-body);}
.fl-s{font-size:var(--fs-xs);fill:var(--text-muted);}
.fl-s-alerta{fill:var(--status-negative);font-weight:600;}
.fl-orfa rect{stroke:var(--status-attention);stroke-width:2;}
.fl-orfa .fl-s{fill:var(--status-attention);font-weight:600;}
.fl-falta rect{stroke:var(--status-negative);stroke-width:2;stroke-dasharray:5 4;fill:color-mix(in srgb,var(--status-negative) var(--status-soft),var(--surface-card));}
.fl-falta .fl-t{fill:var(--status-negative);}
.fl-falta .fl-s{fill:var(--status-negative);}
.fl-holding rect{stroke:var(--status-info);}
.fl-pend rect{stroke:var(--action-accent);stroke-width:2.5;}
.fl-pend .fl-s{fill:var(--action-accent);font-weight:600;}
.fl-ativo .fl-no:not(.fl-sel),.fl-ativo .fl-aresta:not(.fl-sel){opacity:.22;}
.fl-ativo .fl-aresta.fl-sel .fl-lig{stroke:var(--action-accent);stroke-width:2.5;}
@media (prefers-reduced-motion:reduce){.fl-lig,.fl-no rect{transition:none;}}

/* ---------- Empresas, vínculo em lote e histórico ---------- */
.est-pill{display:inline-block;font-size:var(--fs-xs);font-weight:600;padding:2px 10px;border-radius:var(--radius-pill);white-space:nowrap;background:color-mix(in srgb,var(--status-neutral) var(--status-soft),transparent);color:var(--status-neutral);}
.est-pill-ok{background:color-mix(in srgb,var(--status-positive) var(--status-soft),transparent);color:var(--status-positive);}
.est-pill-atencao{background:color-mix(in srgb,var(--status-attention) var(--status-soft),transparent);color:var(--status-attention);}
.est-pill-info{background:color-mix(in srgb,var(--status-info) var(--status-soft),transparent);color:var(--status-info);}
.est-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700;}
.est-nowrap{white-space:nowrap;}
.est-tab td.est-quebra{white-space:normal;max-width:360px;}
.est-tab td.est-td-acoes{overflow:visible;text-align:right;white-space:nowrap;}
.est-sub{display:block;font-size:var(--fs-xs);font-weight:400;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;}
.est-tab code{font-family:var(--font-mono);font-size:var(--fs-xs);}
.est-emp-barra,.est-hist-barra{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5);justify-content:space-between;}
.est-emp-info{font-size:var(--fs-sm);color:var(--text-muted);margin-right:auto;}
.est-emp-novos{display:flex;gap:var(--space-3);}
.est-filtro{display:flex;align-items:center;gap:var(--space-4);}
.est-filtro span,.est-lote-alvo span{font-size:var(--fs-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);}
.est-filtro select,.est-lote-alvo select{padding:6px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-body);font:inherit;font-size:var(--fs-md);}
.est-filtro select:focus-visible,.est-lote-alvo select:focus-visible,.est-li-chk input:focus-visible,.est-lote-todas input:focus-visible{outline:2px solid var(--action-accent);outline-offset:2px;}
.est-lote{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5);margin:0 var(--space-7) var(--space-5);padding:var(--space-4) var(--space-5);background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-sm);}
.est-lote-todas{display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-sm);font-weight:600;}
.est-lote-alvo{display:flex;align-items:center;gap:var(--space-3);}
.est-lote-alvo select{min-width:260px;max-width:100%;}
.est-li-chk{display:flex;align-items:center;gap:var(--space-5);min-width:0;flex:1;cursor:pointer;}
.est-li-chk>span{min-width:0;display:block;}
.est-li-chk>span b{display:block;font-size:var(--fs-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.est-li-chk>span small{display:block;color:var(--text-muted);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.est-li-chk input,.est-lote-todas input{width:16px;height:16px;flex-shrink:0;accent-color:var(--action-accent);}
