/* Gerador de escala (escala.js) */
.esc-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0 20px}
.esc-campo{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#4C4C4C}
.esc-campo input,.esc-campo select,.esc-campo textarea{padding:8px 10px;border:1px solid #E0E0E0;border-radius:6px;font:inherit;background:#fff;color:#262626}
.esc-largo{grid-column:1/-1}
.esc-acoes{align-self:end}
.esc-barra{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.esc-tabela-wrap{overflow-x:auto;margin:12px 0;border:1px solid #E0E0E0;border-radius:8px}
.esc-grid{border-collapse:collapse;font-size:12px;width:max-content;min-width:100%}
.esc-grid th,.esc-grid td{border:1px solid #EEE;padding:4px 6px;text-align:center;white-space:nowrap}
.esc-grid tbody th{text-align:left;background:#FAFAFA;position:sticky;left:0}
.esc-dia small{display:block;font-weight:400;color:#999;font-size:10px}
.esc-t{background:#DDE7DF;color:#2D4A38;font-weight:600}
.esc-f{background:#FBE2D5;color:#9C3A14;font-weight:600}
.esc-legenda span{padding:1px 6px;border-radius:4px;margin:0 2px}
.esc-probl{padding-left:18px;font-size:13px;color:#7A3412}
.esc-probl li{margin:4px 0}
.esc-dica{font-size:13px;margin:-8px 0 16px}
.esc-ok{color:#2D4A38;font-weight:600;font-size:13px}
.esc-aviso{color:#9A3412;font-weight:600;font-size:13px}

/* Gestão de escalas: abas, importação, lista, detalhe e assinaturas */
.esc-abas{display:flex;gap:6px;margin:12px 0 8px;border-bottom:1px solid var(--line,#DCD7CC)}
.esc-abas button{background:none;border:0;padding:8px 12px;cursor:pointer;color:inherit;font:inherit;border-bottom:2px solid transparent}
.esc-abas button.ativa{border-bottom-color:var(--accent,#0F6B63);font-weight:700}
.esc-importa{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.esc-previa{margin-top:10px;border:1px solid var(--line,#DCD7CC);border-radius:10px;padding:12px}
.esc-previa .esc-barra{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.esc-lista{width:100%;border-collapse:collapse;font-size:13px}
.esc-lista th,.esc-lista td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line,#DCD7CC);vertical-align:top}
.esc-linha-erro td{background:rgba(180,35,24,.08)}
.esc-linha-clicavel{cursor:pointer}
.esc-linha-clicavel:hover td{background:rgba(15,107,99,.06)}
.esc-pill{display:inline-block;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--line,#DCD7CC)}
.esc-pill-publicada,.esc-pill-aprovada{background:#DDE7DF;color:#2D4A38}
.esc-pill-revisao{background:#FBE2D5;color:#9C3A14}
.esc-pill-simulacao{background:#EEE9E4;color:#4A4441}
.esc-editavel{cursor:pointer}
.esc-editavel:hover{outline:2px solid var(--accent,#0F6B63);outline-offset:-2px}
.esc-erro{color:#b42318;font-weight:600}

/* Feriados: azul-ardósia com listras diagonais (a listra também marca, sem depender só da cor). */
.esc-grid th.esc-feriado,.esc-feriado{color:#1F3A5C}
.esc-grid th.esc-feriado{background:#D6E2EE}
.esc-grid td.esc-feriado{background-color:#D6E2EE;background-image:repeating-linear-gradient(135deg,rgba(31,58,92,.14) 0 2px,transparent 2px 7px);font-weight:700}
.esc-grid th.esc-dom{color:#C2410C}
span.esc-feriado{display:inline-block;padding:0 6px;border-radius:4px;background:#D6E2EE;color:#1F3A5C;font-weight:600}
/* horário de trabalho (15/10/2026) */
.esc-horario{border:1px solid #E0E0E0;border-radius:8px;padding:10px 12px;display:flex;flex-flow:row wrap;gap:12px}
.esc-horario legend{padding:0 6px;font-size:13px;color:#4C4C4C}
.esc-horario label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#4C4C4C}
.esc-horario input{padding:7px 9px;border:1px solid #E0E0E0;border-radius:6px;font:inherit}
.esc-horarios input[type=time]{padding:5px 6px;border:1px solid #E0E0E0;border-radius:6px;font:inherit;max-width:110px}
.esc-horarios td,.esc-horarios th{white-space:nowrap}
.esc-folhas .btn{padding:5px 9px;font-size:12px}
/* EC 141/2026: aviso da fase legal (29/10/2026) */
.esc-lei{border-left:4px solid #2D4A38;background:#EEF4F0;border-radius:6px;padding:10px 12px;margin:0 0 14px;font-size:13px;color:#1C2721;line-height:1.45}
.esc-lei-prox{display:block;margin-top:4px;color:#9C3A14;font-weight:600}
.esc-lei small{display:block;margin-top:4px;color:#5F6F66}
/* Fase 1 (29/10/2026): perguntas simples, entenda a escala, o que fazer */
.esc-perguntas{border:1px solid #E0E0E0;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:10px}
.esc-perguntas legend{padding:0 6px;font-size:13px;color:#4C4C4C}
.esc-check{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.45}
.esc-check input{margin-top:3px}
.esc-dias{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:13px}
.esc-dias span{color:#4C4C4C}
.esc-dias label{display:flex;gap:4px;align-items:center}
.esc-tag{display:inline-block;background:#F3E8EF;color:#7A2E5A;border-radius:4px;padding:0 5px;font-size:10px;font-weight:600;vertical-align:1px}
.esc-dica-txt{display:block;margin-top:3px;color:#2D4A38;font-size:12.5px}
.esc-entenda{border:1px solid #D6DED9;border-radius:8px;margin:0 0 14px;background:#fff}
.esc-entenda summary{cursor:pointer;padding:10px 12px;font-weight:600;color:#2D4A38}
.esc-entenda-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;padding:0 12px}
.esc-entenda section{background:#F6F8F7;border-radius:6px;padding:8px 10px}
.esc-entenda h4{margin:0 0 4px;font-size:13px;color:#1C2721}
.esc-entenda p{margin:0;font-size:12.5px;line-height:1.5}
.esc-entenda>p{padding:8px 12px 12px}
.esc-nota-dom{border-left:3px solid #9C3A14;background:#FBF1EC;border-radius:6px;padding:8px 10px;font-size:13px;line-height:1.5;margin:8px 0}
/* modelo Econet (03/11/2026): abas de meses e escolha de pessoa no calendário */
.esc-meses{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.esc-mes-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid #D6DED9;background:#fff;border-radius:8px;padding:7px 12px;font:600 13px system-ui,sans-serif;color:#1C2721;cursor:pointer;text-transform:capitalize}
.esc-mes-btn small{font-weight:500;color:#5F6F66;font-size:11px;text-transform:none}
.esc-mes-btn.ativo{border-color:#2D4A38;background:#EEF4F0;box-shadow:inset 0 -3px 0 #2D4A38}
.esc-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.esc-chip{border:1px solid #D6DED9;background:#fff;border-radius:999px;padding:4px 12px;font:500 12.5px system-ui,sans-serif;cursor:pointer}
.esc-chip.ativo{background:#2D4A38;color:#fff;border-color:#2D4A38}
/* tela nova: equipe guardada e 3 meses (03/11/2026) */
.eq-equipes{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0}
.eq-equipes .muted{font-size:13px;margin-right:2px}
.esc-meses .eq-seta{padding:4px 10px;font-size:18px;line-height:1}
.eq-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2E8B57;margin-right:5px;vertical-align:middle}
.eq-dot.ruim{background:#C0502E}
.eq-saude{border-radius:10px;padding:10px 14px;margin:10px 0;font-size:14px}
.eq-saude.ok{background:#EEF6F0;border:1px solid #B9D8C4;color:#1E4D33}
.eq-saude.ruim{background:#FCF1EC;border:1px solid #EBC3B2;color:#6B2A14}
.eq-saude ul{margin:6px 0 0 18px;padding:0}
.eq-saude li{margin:3px 0}
.eq-corpo{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:16px;align-items:start}
@media (max-width:900px){.eq-corpo{grid-template-columns:1fr}}
.eq-painel{min-width:0}
.eq-titulo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}
.eq-titulo h2{font-size:17px;margin:4px 0}
.eq-acoes{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}
.eq-grade{border-collapse:collapse;font:12px system-ui,sans-serif;min-width:100%}
.eq-grade th,.eq-grade td{padding:0;text-align:center;border-bottom:1px solid #EEE}
.eq-grade thead th{padding:4px 1px;font-weight:600;color:#3A4A40;min-width:26px}
.eq-grade thead th small{display:block;font-weight:400;color:#7A877F;font-size:10px}
.eq-grade thead th.dom{background:#F4EDE4}
.eq-grade thead th.fer span{text-decoration:underline 2px #5A6B7A;text-underline-offset:3px}
.eq-grade .eq-nome{position:sticky;left:0;background:#fff;text-align:left;padding:3px 8px;white-space:nowrap;z-index:1;font-weight:500}
.eq-nome button{all:unset;cursor:pointer;color:#1C2721;font-weight:600}
.eq-nome button:hover,.eq-nome button:focus-visible{text-decoration:underline;outline:none}
.eq-alerta{color:#C0502E;margin-left:4px;font-size:10px}
.eq-c{width:26px;height:26px;border:0;margin:1px;border-radius:5px;background:#F3F5F3;font:700 11px system-ui,sans-serif;color:#fff;cursor:pointer}
.eq-c.f{background:#2D4A38}
.eq-c.fd{background:#B5653B}
.eq-c.ruim{box-shadow:inset 0 0 0 2px #C0502E}
.eq-c:hover:not(:disabled){outline:2px solid #0F6B63;outline-offset:-1px}
.eq-c:disabled{cursor:default;opacity:.9}
.eq-cont th,.eq-cont td{font-weight:600;color:#3A4A40;padding:4px 0;border-top:2px solid #DDD}
.eq-cont td.ruim{color:#C0502E;background:#FCF1EC}
.eq-legenda{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#5F6F66;margin:6px 0}
.eq-legenda i{display:inline-block;width:12px;height:12px;border-radius:3px;background:#F3F5F3;border:1px solid #DDD;margin-right:4px;vertical-align:-2px}
.eq-legenda i.lf{background:#2D4A38;border-color:#2D4A38}
.eq-legenda i.ld{background:#B5653B;border-color:#B5653B}
.eq-legenda .lfer{text-decoration:underline 2px #5A6B7A;text-underline-offset:3px;font-weight:600;margin-right:-8px}
.eq-dica{font-size:13px}
.eq-lado{border:1px solid #DCD7CC;border-radius:10px;padding:12px;background:#FCFBF8}
.eq-lado h3{margin:0 0 8px;font-size:15px}
.eq-pessoas{list-style:none;margin:0 0 10px;padding:0;max-height:340px;overflow:auto}
.eq-pessoas li{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid #EEE}
.eq-pn{all:unset;cursor:pointer;font-size:13.5px}
.eq-pn:hover{text-decoration:underline}
.eq-mt{cursor:pointer;opacity:.45;border:1px dashed #B5653B;background:transparent}
.eq-mt.on{opacity:1;border-style:solid}
.eq-add{display:flex;gap:6px}
.eq-add input{flex:1;min-width:0}
.eq-cfg{margin-top:12px}
.eq-cfg summary{cursor:pointer;font-weight:600;font-size:14px;margin-bottom:6px}
.eq-cfg .esc-campo{display:flex;flex-direction:column;gap:4px;margin:8px 0}
.eq-links{border:1px solid #B9D8C4;background:#EEF6F0;border-radius:10px;padding:10px 14px;margin:8px 0;font-size:13.5px}
.eq-links ul{list-style:none;padding:0;margin:6px 0 0}
.eq-links li{display:flex;justify-content:space-between;align-items:center;padding:3px 0}
.eq-gaveta{position:fixed;inset:0;background:rgba(20,30,25,.35);z-index:50;display:flex;justify-content:flex-end}
.eq-gaveta-in{width:min(560px,100%);height:100%;overflow:auto;background:#fff;padding:18px 20px;box-shadow:-6px 0 24px rgba(0,0,0,.15)}
.eq-gav-topo{display:flex;align-items:center;gap:8px}
.eq-gav-topo h2{margin:0;flex:1;font-size:19px}
.eq-gaveta-in h3{font-size:15px;margin:18px 0 4px}
.eq-hor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.eq-perigo{color:#A33A1A}
.eq-assist{max-width:620px;margin:14px auto;border:1px solid #DCD7CC;border-radius:12px;padding:20px 22px;background:#fff}
.eq-assist h2{margin:8px 0 2px;font-size:19px}
.eq-assist .esc-campo{display:flex;flex-direction:column;gap:5px;margin:12px 0;font-size:14px}
.eq-assist .esc-campo input,.eq-assist .esc-campo textarea{width:100%;box-sizing:border-box;font-size:15px}
.eq-assist .esc-check{display:flex;gap:8px;align-items:flex-start;margin:10px 0;font-size:14px}
.eq-passos{display:flex;gap:6px}
.eq-passos span{flex:1;height:5px;border-radius:3px;background:#E3E0D8}
.eq-passos span.on{background:#2D4A38}
.eq-opcoes{display:grid;gap:8px;margin:10px 0}
.eq-opcao{text-align:left;border:1px solid #D6DED9;background:#fff;border-radius:10px;padding:10px 14px;cursor:pointer;font:14px system-ui,sans-serif}
.eq-opcao small{display:block;color:#5F6F66;margin-top:2px}
.eq-opcao.on{border-color:#2D4A38;background:#EEF4F0;box-shadow:inset 3px 0 0 #2D4A38}
.eq-nav{display:flex;justify-content:space-between;margin-top:14px}
.eq-nota{border-radius:10px;padding:8px 14px;margin:10px 0;font-size:13.5px;background:#FBF7EC;border:1px solid #E6D8AE;color:#5A4712}
.eq-nota ul{margin:4px 0 0 18px;padding:0}
.eq-hor .esc-campo input{width:100%;box-sizing:border-box}
.eq-cnpj{display:flex;gap:8px;align-items:flex-end}
.eq-cnpj .esc-campo{flex:1;margin:12px 0 0}
.eq-cnpj .btn{margin-bottom:1px}
.eq-link{all:unset;cursor:pointer;color:#0F6B63;text-decoration:underline;font-size:13px;margin-top:8px;display:inline-block}
.eq-link:focus-visible{outline:2px solid #0F6B63}
.eq-ficha{border:1px solid #DCD7CC;border-radius:10px;margin:12px 0;background:#FCFBF8}
.eq-ficha-l{padding:10px 14px;border-top:1px solid #ECE8DF;font-size:13.5px;line-height:1.5}
.eq-ficha-l:first-child{border-top:0}
.eq-ficha-l .esc-check{margin:8px 0 2px}
.eq-ficha-alerta{background:#FCF1EC;color:#6B2A14}
.eq-ficha-alerta .btn{margin-left:6px}
.eq-fonte{font-size:11.5px;color:#7A877F;margin-top:3px}
.eq-trecho{margin:6px 0;padding:6px 10px;border-left:3px solid #B5653B;background:#fff;font-size:12.5px;line-height:1.45;color:#3A3A3A}
.eq-trecho small{display:block;color:#7A877F;margin-top:3px}
.eq-sug{display:block;color:#5F6F66;font-weight:400;margin-top:2px}
.eq-regra{display:inline;font-size:12.5px;color:#5F6F66}
.eq-regra summary{display:inline;cursor:pointer;color:#0F6B63;text-decoration:underline}
.eq-regra[open]{display:block;margin-top:4px}
.eq-emp{font-size:13px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #E6E1D6}
.eq-emp .eq-add{margin-top:6px}
.eq-sugs{font-size:12.5px;background:#FBF7EC;border:1px solid #E6D8AE;border-radius:8px;padding:8px 10px;margin-bottom:10px}
.eq-sugs ul{margin:4px 0 0 16px;padding:0}
.eq-sugs li{margin:4px 0}
.eq-sugs .eq-link{margin-top:0;font-size:12.5px}
.eq-conv{font-size:13px;margin:8px 0;padding:8px;border-radius:8px;background:#fff;border:1px solid #E6E1D6}
.eq-tipodoc{display:inline-flex;gap:0;margin-top:12px;border:1px solid #D6DED9;border-radius:10px;overflow:hidden;background:#fff}
.eq-tipodoc button{border:0;background:#fff;padding:7px 18px;cursor:pointer;font:14px system-ui,sans-serif;color:#1C2721;text-align:left}
.eq-tipodoc button+button{border-left:1px solid #D6DED9}
.eq-tipodoc button small{display:block;font-size:11px;color:#5F6F66}
.eq-tipodoc button.on{background:#2D4A38;color:#fff}
.eq-tipodoc button.on small{color:#D8E6DD}
.eq-tipodoc button:focus-visible{outline:2px solid #0F6B63;outline-offset:-2px}
.eq-emp .eq-tipodoc{margin:6px 0 0}
.eq-emp .eq-tipodoc button{padding:5px 12px;font-size:13px}
.eq-flag{margin-top:6px}
.eq-plan{border:1px dashed #C9C2B3;border-radius:10px;padding:10px 12px;margin:8px 0;background:#FCFBF8}
.eq-plan-res{margin-top:8px;font-size:13px}
.eq-plan-tab{max-height:240px;overflow:auto;margin:8px 0}
.eq-plan-tab table{border-collapse:collapse;width:100%;font-size:12.5px}
.eq-plan-tab th,.eq-plan-tab td{padding:4px 8px;border-bottom:1px solid #EEE;text-align:left}
.eq-plan-tab tr.ruim td{background:#FCF1EC;color:#6B2A14}
.eq-ruim{color:#A33A1A}
.eq-ok{color:#1E4D33;font-size:13.5px;margin:6px 0}
.eq-assist .alerta{margin:12px 0 0}
.eq-gav-topo small.muted{display:block;flex-basis:100%}
.eq-gav-topo{flex-wrap:wrap}
.eq-assist.eq-largo{max-width:900px}
.eq-tab-wrap{overflow-x:auto;margin:10px 0;border:1px solid #E3DED3;border-radius:10px}
.eq-tab-pessoas{border-collapse:collapse;width:100%;font-size:13.5px}
.eq-tab-pessoas th{background:#F6F4EF;text-align:left;font-weight:600;color:#3A4A40;padding:7px 6px;font-size:12.5px;white-space:nowrap}
.eq-tab-pessoas td{padding:4px 4px;border-top:1px solid #EEE;vertical-align:middle}
.eq-tab-pessoas input{width:100%;box-sizing:border-box;padding:6px 8px;border:1px solid #DDD;border-radius:6px;font:inherit;background:#fff}
.eq-tab-pessoas input:focus{outline:2px solid #0F6B63;outline-offset:-1px;border-color:#0F6B63}
.eq-tab-pessoas td:nth-child(2){width:80px}
.eq-tab-pessoas td:nth-child(3){min-width:200px}
.eq-tab-pessoas td:nth-child(4){width:140px}
.eq-tab-pessoas td:nth-child(5){width:150px}
.eq-num{color:#9AA39D;font-size:12px;text-align:center;width:24px}
.eq-obr{color:#B5653B}
.eq-sexo{display:inline-flex;border:1px solid #D6DED9;border-radius:8px;overflow:hidden}
.eq-sexo button{border:0;background:#fff;padding:6px 11px;cursor:pointer;font:600 13px system-ui,sans-serif;color:#3A4A40}
.eq-sexo button+button{border-left:1px solid #D6DED9}
.eq-sexo button.on{background:#2D4A38;color:#fff}
.eq-sexo.falta{border-color:#E0A58C;box-shadow:0 0 0 2px #FBE7DE}
.eq-del{border:0;background:transparent;color:#A33A1A;font-size:18px;cursor:pointer;padding:2px 6px;border-radius:6px}
.eq-del:hover{background:#FCF1EC}
.eq-cpf-ok{font-size:12.5px;color:#1E4D33;margin-right:6px;white-space:nowrap}
.eq-c.aus{display:inline-flex;align-items:center;justify-content:center;cursor:default;background:#E4E7EC;color:#3D4654;font-size:10px;font-style:italic}
.eq-c.aus-fora{background:repeating-linear-gradient(135deg,#F1F2F4 0 4px,#E4E7EC 4px 8px);color:#8A93A0}
.eq-legenda i.lau{width:auto;height:auto;padding:0 3px;background:#E4E7EC;border-color:#D5D9E0;color:#3D4654;font-size:10px;font-style:italic;vertical-align:0}
.eq-aus-lista{list-style:none;padding:0;margin:6px 0}
.eq-aus-lista li{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;border:1px solid #E6E1D6;border-radius:8px;margin:4px 0;font-size:13.5px;background:#FCFBF8}
.eq-aus-nova{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:8px;align-items:end}
.eq-aus-nova .esc-campo{margin:0}
.eq-aus-nova select,.eq-aus-nova input{width:100%;box-sizing:border-box}
@media (max-width:560px){.eq-aus-nova{grid-template-columns:1fr 1fr}}
.eq-wa{color:#128C4A;border-color:#B9DCC6;text-decoration:none}
.eq-wa:hover{background:#EAF7EF}
.eq-painel-alerta{background:#FCF1EC;border:1px solid #EBC3B2;color:#6B2A14;border-radius:10px;padding:10px 14px;margin:10px 0;font-size:14px}
.eq-painel{border-collapse:collapse;width:100%;font-size:13.5px}
.eq-painel th,.eq-painel td{padding:7px 8px;border-bottom:1px solid #EEE;text-align:left;vertical-align:middle}
.eq-painel thead th{background:#F6F4EF;font-size:12.5px;white-space:nowrap}
.eq-painel tbody th small{display:block;font-weight:400;font-size:11.5px}
.eq-painel-emp{font-size:14px;font-weight:600;color:#1C2721;margin:0}
.eq-sit{border:0;border-radius:999px;padding:4px 10px;font:600 12px system-ui,sans-serif;cursor:pointer;white-space:nowrap;display:inline-block}
.eq-sit-sem{background:#FBE3D9;color:#8A2E10}
.eq-sit-rasc{background:#FBF1D2;color:#6B5300}
.eq-sit-pub{background:#DCEBF7;color:#1D4E7A}
.eq-sit-ok{background:#DDF0E3;color:#1E4D33}
.eq-legenda .eq-sit{cursor:default}
