:root{--bg: #f4f6f8;--card-bg: #ffffff;--text: #1a2733;--text-muted: #64748b;--border: #e2e8f0;--basico: #16a34a;--intermediario: #2563eb;--avancado: #c026d3;--ok: #16a34a;--pendente: #d97706;--atrasado: #dc2626;--shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}#root{max-width:1400px;margin:0 auto;padding:24px 16px}.topo{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:12px}.topo-titulo{display:flex;align-items:center;gap:12px}.logo-mb{width:34px;height:34px;flex-shrink:0}.topo h1{font-size:20px;margin:0}.topo .subtitulo{color:var(--text-muted);font-size:13px;margin-top:1px}.topo-direita{display:flex;align-items:center;gap:10px}.badge-master{background:#ede9fe;color:var(--avancado);font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.badge-master.operacional{background:var(--bg);color:var(--text-muted)}.usuario-chip{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.usuario-email{font-size:12px;color:var(--text);font-weight:600}.usuario-sessao{font-size:10.5px;color:var(--text-muted)}select.seletor-dealer,input.seletor-dealer{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;color:var(--text);box-shadow:var(--shadow)}.barra-seletor{margin-bottom:20px}.seletor-cascata{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}.campo-select{display:flex;flex-direction:column;gap:10px}.campo-select label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.seletor-cascata select.seletor-dealer{width:190px}.seletor-cascata select.seletor-unidade{width:550px;max-width:100%}.seletor-cascata select.seletor-dealer:disabled{background:var(--bg);color:var(--text-muted);cursor:not-allowed}.seletor-fixo{padding:8px 12px;min-width:220px}button{font-family:inherit;cursor:pointer}button:focus{outline:none}button:focus-visible{outline:2px solid var(--intermediario);outline-offset:2px}.botao-sair{background:none;border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;color:var(--text-muted)}.grupo-alternador{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.botao-alternar{background:var(--card-bg);border:none;padding:8px 14px;font-size:13px;font-weight:600;color:var(--text-muted)}.botao-alternar+.botao-alternar{border-left:1px solid var(--border)}.botao-alternar.ativo{background:var(--border);color:var(--text)}.cards-nivel{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px}.card-nivel{background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow);padding:20px;border-top:4px solid var(--cor)}.card-nivel-cabecalho{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.anel-progresso{position:relative;width:56px;height:56px;flex-shrink:0}.anel-progresso circle{transition:stroke-dashoffset .4s ease}.anel-progresso-pct{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--cor)}.card-nivel .titulo{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--cor);margin-bottom:8px}.card-nivel .numero{font-size:40px;font-weight:700;line-height:1}.card-nivel .rotulo{font-size:12px;color:var(--text-muted);margin-top:2px;margin-bottom:16px}.status-linha{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:14px}.status-item{text-align:center;flex:1;cursor:pointer;border-radius:8px;padding:4px 2px;transition:background .15s ease}.status-item:hover{background:var(--bg)}.status-item.selecionado{background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--cor)}.status-item .valor{font-size:20px;font-weight:700}.status-item .rotulo-status{font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.status-item.enviado .valor{color:var(--ok)}.status-item.pendente .valor{color:var(--pendente)}.status-item.nao-enviado .valor{color:var(--text-muted)}.tela-login{max-width:380px;margin:80px auto;background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow);padding:32px;text-align:center}.login-titulo{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:20px}.login-titulo .logo-mb{width:36px;height:36px;flex-shrink:0;margin-bottom:4px}.tela-login h1{font-size:18px;margin:0}.tela-login p{color:var(--text-muted);font-size:11px;margin:0}.tela-login input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;margin-bottom:12px}.tela-login button{width:100%;padding:10px 12px;border:none;border-radius:8px;background:var(--intermediario);color:#fff;font-size:14px;font-weight:600}.tela-login button:disabled{opacity:.6;cursor:default}.login-instrucao{font-size:13px!important;color:var(--text)!important;text-align:left;margin-bottom:14px!important;line-height:1.4}.login-link-secundario{background:none!important;color:var(--text-muted)!important;font-weight:500!important;font-size:12px!important;margin-top:8px;padding:6px 12px!important}.erro{color:var(--atrasado);font-size:13px;margin-top:8px}.botao-ver-detalhes{width:100%;margin-top:14px;padding:9px 0;border:none;border-radius:8px;background:var(--cor);color:#fff;font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.painel-detalhe{background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:24px}.painel-detalhe .cabecalho{background:var(--intermediario);color:#fff;padding:12px 18px;font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:space-between}.botao-fechar-painel{background:#ffffff2e;border:none;color:#fff;width:22px;height:22px;border-radius:6px;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center}.botao-fechar-painel:hover{background:#ffffff4d}.painel-conteudo{display:grid;grid-template-columns:.85fr 2fr}@media (max-width: 800px){.painel-conteudo{grid-template-columns:1fr}}.coluna{min-width:0;padding:16px 18px;overflow-x:auto}.coluna+.coluna{border-left:1px solid var(--border)}.requisitos-vazio{color:var(--text-muted);font-size:13px;text-align:center;padding:40px 12px}.linha-clicavel{cursor:pointer}.linha-clicavel:hover{background:var(--bg)}.linha-clicavel.selecionada{background:#eff6ff}.cabecalho-tabela-itens{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--text)}.tabela-grupo th.col-nivel-grupo,.tabela-grupo td.col-nivel-grupo{text-align:left;width:180px}.unidade-nome-grupo{font-weight:400}.unidade-cnpj-grupo{font-size:10.5px;color:var(--text-muted);margin-top:1px}.unidade-cidade-grupo{color:var(--text-muted);white-space:nowrap}.col-severidade-grupo{padding:0!important;width:4px}.faixa-severidade-grupo{width:4px;min-height:44px;height:100%}.col-geral-grupo{text-align:center;width:70px}.selo-geral-grupo{display:inline-block;min-width:40px;padding:4px 8px;border-radius:6px;font-size:12.5px;font-weight:700}.linha-cabecalho-grupo th{background:#111827;border-bottom:none;padding:12px 16px}.cabecalho-titulo-grupo{color:#fff;font-size:17px;font-weight:700;text-align:left;text-transform:none;letter-spacing:normal}.cabecalho-niveis-grupo{color:#fff;font-size:11px;font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:.04em}.contagem-unidades-grupo{align-self:flex-end;padding-bottom:9px;font-size:12.5px;color:var(--text-muted);font-weight:600}.celula-barra{display:flex;align-items:center;gap:8px}.trilho-barra{flex:1;height:7px;border-radius:999px;background:var(--bg);overflow:hidden}.preenchido-barra{height:100%;border-radius:999px}.pct-barra{width:34px;text-align:right;font-weight:700;font-size:12.5px;flex-shrink:0}.botao-limpar-filtro{background:none;border:1px solid var(--border);border-radius:6px;padding:3px 9px;font-size:11px;color:var(--intermediario);text-transform:none}@media (max-width: 800px){.coluna+.coluna{border-left:none;border-top:1px solid var(--border)}}table{width:100%;border-collapse:collapse;font-size:12.5px}th{text-align:left;color:var(--text-muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.02em;padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:8px;border-bottom:1px solid var(--border);white-space:nowrap}tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600}.badge.conforme{background:#dcfce7;color:var(--ok)}.badge.pendente{background:#fef3c7;color:var(--pendente)}.badge.reprovado{background:#fee2e2;color:var(--atrasado)}.vencimento-passado{color:var(--atrasado);font-weight:600}.rodape{font-size:11.5px;color:var(--text-muted);text-align:right}.estado-vazio{text-align:center;color:var(--text-muted);padding:60px 0}.carregando-linha{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);font-size:14px;padding:60px 0}.spinner-anel-pequeno{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--border);border-top-color:var(--intermediario);animation:girar .8s linear infinite;flex-shrink:0}@keyframes girar{to{transform:rotate(360deg)}}.estado-vazio-destaque{text-align:center;background:var(--card-bg);border:1px dashed var(--border);border-radius:14px;padding:56px 24px;box-shadow:var(--shadow)}.estado-vazio-icone{font-size:40px;margin-bottom:14px}.estado-vazio-titulo{font-size:16px;font-weight:700;color:var(--text);margin-bottom:6px}.estado-vazio-texto{font-size:13px;color:var(--text-muted);max-width:420px;margin:0 auto}.rodape-powered-by{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:32px;padding-top:16px}.rodape-powered-by img{height:14px;width:auto;display:block;opacity:.8}.rodape-powered-by span{font-size:10px;color:var(--text-muted)}.aviso-dados{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.rodape-login{align-items:center;margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.rodape-login img{height:10px}.rodape-login span{font-size:9px}
