/* Home (roadmap) e Pontualidade. Blocos copiados do HTML legado (linhas 337-393 e 404-435). */
.home{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);}
.rm-top{display:flex;align-items:center;gap:14px;padding:10px 18px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;overflow-x:auto;}
.rm-kpi{display:flex;flex-direction:column;padding-right:16px;border-right:1px solid var(--border);flex-shrink:0;}
.rm-kpi:last-of-type{border-right:none;}
.rm-kv{font-family:var(--mono);font-size:19px;font-weight:600;line-height:1;}
.rm-kk{font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:3px;white-space:nowrap;}
.rm-ctrls{margin-left:auto;display:flex;gap:6px;align-items:center;flex-shrink:0;}
.rm-body{flex:1;display:flex;overflow:hidden;}
.rm-scroll{flex:1;overflow:auto;position:relative;}
.rm-track{position:relative;}
.rm-hdr{position:sticky;top:0;z-index:6;background:var(--surface);}
.rm-hrow{display:flex;border-bottom:1px solid var(--border);}
.rm-corner{position:sticky;left:0;z-index:7;background:var(--surface);border-right:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;padding:0 12px;font-family:var(--mono);font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;}
.rm-ycell,.rm-mcell{flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);border-right:1px solid var(--border);}
.rm-ycell{height:26px;font-size:11.5px;font-weight:600;letter-spacing:.08em;color:var(--text);background:var(--surface2);}
.rm-mcell{height:24px;font-size:9.5px;color:var(--muted);}
.rm-mcell.q1{border-left:2px solid var(--border);}
.rm-mcell.cur{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);}
.rm-row{display:flex;border-bottom:1px solid rgba(37,42,56,.45);}
body.theme-light .rm-row{border-bottom-color:#e6e9f0;}
.rm-row:hover{background:rgba(255,255,255,.02);}
.rm-lbl{position:sticky;left:0;z-index:5;background:var(--surface);border-right:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 10px;cursor:pointer;overflow:hidden;}
.rm-row.proj .rm-lbl{background:var(--surface2);}
.rm-row.proj{border-bottom:1px solid var(--border);}
.rm-tog{width:14px;flex-shrink:0;font-size:9px;color:var(--muted);text-align:center;}
.rm-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.rm-nm{flex:1;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rm-row.proj .rm-nm{font-weight:600;}
.rm-row.ms .rm-nm{font-size:11.5px;color:var(--muted);padding-left:4px;}
.rm-row.ms:hover .rm-nm{color:var(--text);}
.rm-meta{font-family:var(--mono);font-size:9.5px;color:var(--muted);flex-shrink:0;}
.rm-lane{position:relative;flex-shrink:0;}
.rm-grid{position:absolute;top:0;bottom:0;width:1px;background:rgba(37,42,56,.5);}
.rm-grid.q{background:var(--border);}
body.theme-light .rm-grid{background:#e9ecf3;}
.rm-today{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--HOJE-tracejado);z-index:4;pointer-events:none;}
.rm-bar{position:absolute;height:14px;border-radius:4px;top:50%;transform:translateY(-50%);overflow:hidden;cursor:pointer;}
.rm-row.proj .rm-bar{height:18px;border-radius:5px;}
.rm-bar .rm-fill{position:absolute;left:0;top:0;bottom:0;background:var(--green);opacity:.85;}
.rm-bar .rm-pct{position:absolute;right:5px;top:0;bottom:0;display:flex;align-items:center;font-family:var(--mono);font-size:9px;color:#000;font-weight:600;}
.rm-dia{position:absolute;width:11px;height:11px;top:50%;margin-top:-5.5px;margin-left:-5.5px;transform:rotate(45deg);border:1.5px solid var(--bg);z-index:3;cursor:pointer;}
.rm-dia.late{box-shadow:0 0 0 2px #f43f5e;}
.rm-dlabel{position:absolute;top:50%;transform:translateY(-50%);margin-left:10px;font-family:var(--mono);font-size:9px;color:var(--muted);white-space:nowrap;pointer-events:none;}
.rm-nosched{position:absolute;left:6px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--muted);opacity:.6;font-style:italic;}
.rm-side{width:288px;flex-shrink:0;border-left:1px solid var(--border);background:var(--surface);overflow-y:auto;padding:12px;}
.rm-side h4{font-family:var(--mono);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:9px;}
.rm-mi{display:flex;gap:8px;align-items:flex-start;padding:7px 6px;border-radius:6px;cursor:pointer;}
.rm-mi:hover{background:var(--surface2);}
.rm-mi .mi-dot{width:8px;height:8px;border-radius:50%;margin-top:4px;flex-shrink:0;}
.rm-mi .mi-txt{flex:1;min-width:0;}
.rm-mi .mi-nm{font-size:11.5px;line-height:1.3;}
.rm-mi .mi-sub{font-family:var(--mono);font-size:9px;color:var(--muted);margin-top:2px;}
.rm-mi .mi-when{font-family:var(--mono);font-size:9.5px;flex-shrink:0;text-align:right;}
.rm-mi .mi-when.late{color:#f43f5e;}
.rm-legend{display:flex;gap:12px;flex-wrap:wrap;padding:8px 18px;border-top:1px solid var(--border);background:var(--surface);font-size:10px;color:var(--muted);flex-shrink:0;}
.rm-legend span{display:flex;align-items:center;gap:5px;}
.rm-lg-d{width:9px;height:9px;transform:rotate(45deg);}

/* ── RELATORIO DE PONTUALIDADE ───────────────────────────────────────────── */
.report{flex:1;overflow:auto;padding:18px 22px 40px;display:none;flex-direction:column;}
.report>*{margin-bottom:16px;}
.report>*:last-child{margin-bottom:0;}
.rp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;}
.rp-title{font-size:17px;font-weight:600;letter-spacing:-.2px;}
.rp-sub{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:3px;}
.rp-filters{display:flex;flex-wrap:wrap;align-items:center;}
.rp-filters>*{margin:0 8px 6px 0;}
.rp-filters label{font-family:var(--mono);font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-right:4px;}
.rp-filters select{font-family:var(--sans);font-size:11.5px;padding:5px 8px;background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:6px;}
.rp-kpis{display:flex;flex-wrap:wrap;}
.rp-kpi{margin:0 10px 10px 0;}
.rp-kpi{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:11px 15px;min-width:124px;}
.rp-kpi .v{font-size:21px;font-weight:600;line-height:1.1;}
.rp-kpi .l{font-family:var(--mono);font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:3px;}
.rp-card{background:var(--surface);border:1px solid var(--border);border-radius:9px;overflow:hidden;}
.rp-card h4{font-size:12.5px;font-weight:600;padding:11px 14px;border-bottom:1px solid var(--border);}
.rp-card h4 span{font-family:var(--mono);font-size:9.5px;color:var(--muted);font-weight:400;margin-left:8px;}
table.rp{width:100%;border-collapse:collapse;font-size:12px;}
table.rp th{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);text-align:right;padding:7px 12px;border-bottom:1px solid var(--border);font-weight:500;}
table.rp th:first-child,table.rp td:first-child{text-align:left;}
table.rp td{padding:7px 12px;border-bottom:1px solid rgba(37,42,56,.35);text-align:right;}
table.rp tr:last-child td{border-bottom:0;}
table.rp td.nm{font-weight:500;}
table.rp td.ok{color:var(--green);}
table.rp td.late{color:var(--yellow);}
table.rp td.bad{color:var(--red);}
table.rp td.pts{font-family:var(--mono);font-weight:600;}
.rp-bar{display:inline-block;height:5px;border-radius:3px;background:var(--green);vertical-align:middle;margin-right:6px;min-width:2px;}
.rp-empty{padding:26px;text-align:center;color:var(--muted);font-size:12px;}
.rp-note{font-family:var(--mono);font-size:9.5px;color:var(--muted);line-height:1.6;}

/* ── Novo ─────────────────────────────────────────────────────────────────── */
.report{display:flex;} /* no legado era ligado por JS; aqui a tela usa [hidden] */
.rm-dia.so-leitura{cursor:default;}
.rp-filters .btn{margin-left:2px;}

/* ── Performance: tabela redesenhada e ordenável ───────────────────────────── */
table.rp2{font-size:12.5px;}
table.rp2 th{padding:0;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface2) 50%,var(--surface));}
table.rp2 th button{width:100%;white-space:nowrap;display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:10px 16px;border:none;background:none;color:var(--muted);font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;}
table.rp2 th.esq button{justify-content:flex-start;}
table.rp2 th button:hover{color:var(--text);}
table.rp2 th.on button{color:var(--accent);}
table.rp2 th .seta{font-size:9px;opacity:.5;}
table.rp2 th.on .seta{opacity:1;}
table.rp2 td{padding:10px 16px;border-bottom:1px solid var(--grade,rgba(127,127,127,.12));vertical-align:middle;}
table.rp2 td.esq{text-align:left;}
table.rp2 tbody tr{transition:background .12s;}
table.rp2 tbody tr:hover td{background:color-mix(in srgb,var(--accent) 5%,var(--surface));}
table.rp2 td.num{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;width:130px;}
table.rp2 td.num.ok{color:var(--green);}
table.rp2 .zero{color:var(--muted);opacity:.6;font-weight:400;}
.rp-pessoa{display:flex;align-items:center;gap:11px;}
.rp-av{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:600;letter-spacing:.02em;}
.rp-nome{font-weight:500;font-size:13px;}
.rp-sub{font-size:10.5px;color:var(--muted);margin-top:1px;}
.rp-atraso{display:inline-block;min-width:26px;padding:2px 8px;border-radius:10px;background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red);font-weight:600;font-size:12.5px;text-align:center;}
table.rp2 td.rp-pt{width:220px;}
.rp-pt{white-space:nowrap;}
.rp-trilho{display:inline-block;width:120px;height:7px;border-radius:4px;background:var(--surface2);vertical-align:middle;margin-right:10px;overflow:hidden;}
.rp-trilho i{display:block;height:100%;border-radius:4px;}
.rp-pt b{display:inline-block;min-width:38px;text-align:right;font-size:13.5px;font-variant-numeric:tabular-nums;}
.rp-semmed{font-size:11px;color:var(--muted);font-style:italic;}
/* os blocos da aba não encolhem: quem rola é a aba (antes a tabela era cortada) */
.report>*{flex-shrink:0;}

/* horas alocadas x contratadas */
table.rp2 td.rp-aloc span{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:1px;}
table.rp2 td.rp-aloc.cheio span{color:var(--yellow);}
table.rp2 td.rp-aloc.sobre{color:var(--red);}
table.rp2 td.rp-aloc.sobre span{color:var(--red);font-weight:600;}
table.rp2 td.num{width:110px;}

/* ── Performance: menu lateral + linhas compactas ──────────────────────────── */
.report{display:grid;grid-template-columns:240px minmax(0,1fr);padding:0;overflow:hidden;}
.report>*{margin-bottom:0;}
.rp-main{overflow-y:auto;padding:16px 22px 30px;display:flex;flex-direction:column;gap:12px;}
.rp-main>*{flex-shrink:0;}
.rp-topo{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.rp-ks{display:flex;gap:6px;flex-wrap:wrap;}
.rp-k{display:flex;align-items:baseline;gap:5px;padding:5px 11px;border:1px solid var(--border);border-radius:16px;background:var(--surface);font-size:11px;color:var(--muted);}
.rp-k b{font-size:14px;font-weight:600;color:var(--text);}
table.rp2 td{padding:4px 16px;}
table.rp2 th button{padding:8px 16px;}
table.rp2 td.num{font-size:13px;}
.rp-pessoa{gap:9px;}
.rp-av{width:22px;height:22px;font-size:9px;}
.rp-nome{font-size:12.5px;}
.rp-pessoa .rp-sub{font-size:10.5px;color:var(--muted);margin:0 0 0 8px;}
.rp-atraso{padding:1px 7px;font-size:12px;}
.rp-trilho{height:6px;}
.rp-pt b{font-size:12.5px;}
table.rp2 td.rp-aloc span{display:inline;margin:0 0 0 6px;}
/* ajuste fino: 25 pessoas cabem numa tela de 900px de altura */
.rp-main{padding:12px 22px 30px;gap:10px;}
table.rp2 td{padding:3px 14px;}
table.rp2 th button{padding:7px 14px;}
.rp-av{width:20px;height:20px;font-size:8.5px;}
/* nome e resumo sempre numa linha; o resumo corta com "…" se faltar espaço */
.rp-pessoa{white-space:nowrap;min-width:0;}
.rp-nome{flex-shrink:0;}
.rp-pessoa .rp-sub{overflow:hidden;text-overflow:ellipsis;min-width:0;}
/* um pouco mais de respiro nas linhas (pedido: estava espremido) */
table.rp2 td{padding:5px 14px;}
.rp-av{width:22px;height:22px;font-size:9px;}
.rp-nome{font-size:13px;}
table.rp2 td.num{font-size:13.5px;}
/* hover na linha inteira (antes cada célula pintava o seu fundo e o destaque saía em faixas) */
table.rp2 tbody tr:hover td{background:transparent;}
table.rp2 tbody tr:hover{background:color-mix(in srgb,var(--accent) 6%,var(--surface));}

/* ── Pessoas (cadastro) — mesmo padrão da Performance ──────────────────────── */
.pessoas{flex:1;min-height:0;display:grid;grid-template-columns:240px minmax(0,1fr);background:var(--bg);}
.pp-main{overflow-y:auto;padding:12px 22px 30px;display:flex;flex-direction:column;gap:10px;}
.pp-main>*{flex-shrink:0;}
.pp-topo{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;}
table.pp th .th{display:block;padding:7px 14px;font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:right;white-space:nowrap;}
table.pp th.esq .th{text-align:left;}
table.pp td{text-align:right;font-size:12.5px;white-space:nowrap;}
table.pp td.esq{text-align:left;}
/* Pessoas: colunas de largura fixa, tudo à esquerda; texto longo corta com reticências */
table.rp2.pp{table-layout:fixed;}
table.pp th .th,table.pp th.esq .th{text-align:left;}
table.pp td,table.pp td.esq{text-align:left;max-width:none;width:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
table.pp td.c{text-align:center;}
table.pp th:last-child .th{text-align:center;}
table.pp col.pp-c-pessoa{width:27%;}
table.pp col.pp-c-email{width:24%;}
table.pp col.pp-c-time{width:12%;}
table.pp col.pp-c-carga{width:11%;}
table.pp col.pp-c-regime{width:9%;}
table.pp col.pp-c-perfil{width:9%;}
table.pp col.pp-c-login{width:8%;}
table.pp .rp-pessoa{display:flex;align-items:center;gap:10px;min-width:0;}
.pp-quem{min-width:0;}
.pp-nome{display:flex;align-items:center;min-width:0;}
.pp-nome .rp-nome{overflow:hidden;text-overflow:ellipsis;font-weight:500;}
.pp-cargo{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;}
.pp-corta{color:var(--text);}
table.pp tbody tr{cursor:pointer;}
table.pp tr.inativo td{opacity:.55;}
.pp-tag{margin-left:8px;font-size:10px;color:var(--muted);border:1px solid var(--border);border-radius:8px;padding:0 6px;}
.pp-perfil{font-size:11px;padding:1px 8px;border-radius:9px;background:var(--surface2);color:var(--muted);}
.pp-perfil.admin{background:color-mix(in srgb,var(--accent2) 18%,transparent);color:var(--accent2);}
.pp-perfil.lider{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);}
.pp-login-btn{font-family:var(--sans);font-size:11px;padding:2px 9px;border-radius:9px;border:1px dashed var(--border);background:transparent;color:var(--muted);cursor:pointer;}
.pp-login-btn:hover{border-color:var(--accent);color:var(--accent);}
.pp-login-btn.on{border:1px solid transparent;color:var(--green);font-weight:700;font-size:13px;padding:0 8px;}
.pp-login-btn.on:hover{border-color:var(--green);}

/* rótulos/losangos colados no fim da janela não criam rolagem horizontal */
.rm-lane{overflow:hidden;}

/* Geral: linha de trimestres no cabeçalho e linhas de projeto mais altas */
.rm-ycell{height:24px;}
.rm-qcell{flex-shrink:0;height:22px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;font-weight:600;color:var(--muted);border-right:1px solid var(--border);border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface2) 50%,var(--surface));letter-spacing:.06em;}
.rm-qcell.cur{color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface));}
.rm-row.proj .rm-bar{height:calc(var(--hp,38px) * .46);border-radius:6px;}
.rm-row.proj .rm-nm{font-size:13.5px;}
.rm-row.proj .rm-dot{width:11px;height:11px;}
.rm-row.proj .rm-dia{width:13px;height:13px;margin-top:-6.5px;margin-left:-6.5px;}
.rm-row.proj .rm-pct{font-size:10px;}
.rm-ycell{justify-content:flex-start;}
.rm-ycell span{position:sticky;padding:0 10px;}

/* Geral: menu lateral de projetos */
.home{display:grid;grid-template-columns:240px minmax(0,1fr);}
.rm-main{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;}
#rmProjetos .td-mi .n{color:var(--green);font-weight:600;}

/* ── Alocação de equipe: pessoa × semana / pessoa × projeto ───────────────── */
.al-card{overflow:auto;max-height:calc(100vh - 230px);}
table.al-tab{border-collapse:separate;border-spacing:0;font-size:12px;min-width:100%;}
.al-tab th,.al-tab td{border-bottom:1px solid var(--border);padding:6px 8px;text-align:center;white-space:nowrap;}
.al-tab thead th{position:sticky;top:0;z-index:2;background:var(--surface);font-family:var(--mono);font-size:10px;font-weight:600;color:var(--muted);vertical-align:bottom;}
.al-tab thead th span{display:block;color:var(--text);font-size:11px;}
.al-tab thead th small{display:block;font-weight:400;font-size:9px;opacity:.8;}
.al-tab thead th.cur{color:var(--accent);}
.al-tab thead th.cur span{color:var(--accent);}
.al-tab th.mes,.al-tab td.mes{border-left:1px solid var(--border);}
.al-tab .al-p{position:sticky;left:0;z-index:1;background:var(--surface);text-align:left;min-width:190px;border-right:1px solid var(--border);}
.al-tab thead .al-p{z-index:3;}
.al-tab .al-p .rp-pessoa{display:inline-flex;}
.al-tab .al-contr{margin-left:8px;font-size:10px;color:var(--muted);} /* na mesma linha do nome: linhas baixas */
.al-proj thead th{max-width:120px;}
.al-proj thead th i{display:block;width:8px;height:8px;border-radius:50%;margin:0 auto 4px;}
.al-proj thead th span{white-space:normal;line-height:1.25;font-weight:500;}
.al-c{min-width:58px;font-variant-numeric:tabular-nums;}
.al-c.vazio{color:var(--border);}
.al-c.clicavel{cursor:pointer;}
.al-c.clicavel:hover{box-shadow:inset 0 0 0 1px var(--accent);}
.al-c b{font-weight:600;}
.al-c b.so-n{color:var(--muted);font-weight:400;}
.al-c small{margin-left:4px;font-size:9.5px;color:var(--yellow);font-weight:600;}
.al-tot{font-weight:600;border-left:1px solid var(--border);min-width:84px;}
.al-tot small{display:block;font-size:9.5px;font-weight:400;color:var(--muted);}
/* níveis: fração da carga contratada */
.n-baixo{background:color-mix(in srgb,var(--green) 8%,transparent);}
.n-ok{background:color-mix(in srgb,var(--green) 22%,transparent);}
.n-cheio{background:color-mix(in srgb,var(--yellow) 26%,transparent);}
.n-sobre{background:color-mix(in srgb,var(--red) 30%,transparent);}
.n-sobre b{color:var(--red);}
.n-neutro{background:color-mix(in srgb,var(--accent) 10%,transparent);}
.al-leg{display:inline-block;padding:1px 7px;margin-right:6px;border-radius:8px;color:var(--text);}
/* Performance: % da carga em coluna própria (antes ia embaixo das horas e quebrava a linha) */
table.rp2 td.rp-carga{font-weight:600;}
table.rp2 td.rp-carga.cheio{color:var(--yellow);}
table.rp2 td.num,table.rp2 th{white-space:nowrap;}
/* tudo na largura da tela: colunas numéricas e cabeçalhos mais justos; a frase ao lado
   do nome encolhe com reticências (a dica completa está na coluna Pontualidade) */
table.rp2{width:100%;table-layout:auto;}
table.rp2 td.num{width:1%;}
table.rp2 th button{padding:7px 10px;gap:4px;}
table.rp2 td{padding-left:10px;padding-right:10px;}
.rp-trilho{width:72px;margin-right:8px;}
table.rp2 td.esq{max-width:0;width:40%;}
.rp-pessoa{min-width:0;}
.rp-pessoa .rp-nome{white-space:nowrap;}
.rp-pessoa .rp-sub{white-space:nowrap;}
table.rp2 td.centro{text-align:center;}
table.rp2 th.centro button{justify-content:center;}

/* ── Metas: grandes metas (cartões) com as metas de área derivadas abaixo ───── */
.mt-menu .mt-pdot{font-size:10px;}
.mt-lista{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;flex-shrink:0;}
.mt-bloco{padding:9px 0;}
.mt-bloco+.mt-bloco{border-top:1px solid var(--border);}
.mt-bloco.contexto .mt-grande{opacity:.5;}
.mt-grande,.mt-filha{display:flex;align-items:center;gap:8px;padding:6px 14px;cursor:pointer;}
.mt-grande:hover,.mt-filha:hover{background:var(--surface2);}
.mt-grande.sem{cursor:default;}
.mt-grande.sem:hover{background:none;}
.mt-nome{flex:1;min-width:0;font-size:14px;font-weight:400;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mt-filha{padding-top:4px;padding-bottom:4px;}
.mt-filha .mt-nome{font-size:12.5px;color:color-mix(in srgb,var(--text) 78%,var(--muted));}
.mt-filha .mt-info{font-size:11px;}
.mt-filha .mt-check{width:15px;height:15px;font-size:9px;line-height:12px;}
.mt-filha .mt-prog{height:4px;}
.mt-filha .mt-pct{color:var(--muted);}
.mt-sub{font-size:11.5px;color:var(--muted);margin-left:4px;}
.mt-tog{flex-shrink:0;width:16px;padding:0;border:none;background:none;color:var(--muted);font-size:11px;cursor:pointer;text-align:center;}
.mt-tog:hover{color:var(--text);}
.mt-filha{padding-left:38px;}
.mt-ramo{flex-shrink:0;width:22px;margin-left:8px;font-family:var(--mono,monospace);font-size:13px;color:var(--muted);opacity:.7;}
.mt-area{flex-shrink:0;font-size:11.5px;color:var(--muted);display:inline-flex;align-items:center;gap:5px;}
.mt-area::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--cor);}
.mt-info{display:flex;align-items:center;gap:12px;flex-shrink:0;font-size:12px;color:var(--muted);}
.mt-prazo{width:60px;text-align:right;font-variant-numeric:tabular-nums;}
.mt-prazo.late{color:var(--red);}
.mt-resp{width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* progresso: barra azul em andamento, verde quando cumprida */
.mt-prog{display:inline-block;width:110px;height:6px;border-radius:3px;background:var(--surface2);overflow:hidden;}
.mt-prog i{display:block;height:100%;background:var(--accent);border-radius:3px;}
.mt-prog.ok i{background:var(--green);}
.mt-pct{width:36px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text);}
/* check de cumprida (círculo vazio → verde com ✓) */
.mt-check{flex-shrink:0;width:18px;height:18px;padding:0;border-radius:50%;border:1.5px solid var(--muted);background:none;color:transparent;font-size:11px;line-height:15px;text-align:center;cursor:pointer;}
.mt-check:hover{border-color:var(--green);color:var(--green);}
.mt-check.on{background:var(--green);border-color:var(--green);color:#fff;}
.feita .mt-nome{text-decoration:line-through;color:var(--muted);}
.feita .mt-pct{color:var(--green);}
.cancelada .mt-nome{text-decoration:line-through;color:var(--muted);opacity:.7;}
.mt-addfilha{display:flex;align-items:center;gap:8px;width:100%;padding:2px 14px 2px 38px;border:none;background:none;color:var(--muted);font-family:var(--sans);font-size:11.5px;text-align:left;cursor:pointer;}
.mt-addfilha:hover{color:var(--accent);}

/* ── Alocação → Distribuir tarefas: demandas à esquerda, time à direita ─────── */
.ds-main{overflow:hidden;}
.ds{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(300px,400px) minmax(0,1fr);gap:16px;}
.ds-dem{display:flex;flex-direction:column;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;}
.ds-dem h3{display:flex;align-items:center;gap:8px;padding:12px 14px;font-size:13px;font-weight:600;border-bottom:1px solid var(--border);}
.ds-dem h3 span{margin-left:auto;font-size:11px;color:var(--muted);background:var(--surface2);padding:1px 8px;border-radius:8px;}
.ds-dem-lista{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:7px;}
.ds-time{min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;align-content:start;padding-bottom:10px;}
/* tarefa (arrastável) */
.ds-t{background:var(--surface2);border:1px solid var(--border);border-radius:7px;padding:7px 9px;cursor:grab;}
.ds-t:hover{border-color:var(--muted);}
.ds-t.arrastando{opacity:.4;}
.ds-t-l1{display:flex;align-items:flex-start;gap:6px;}
.ds-t-nome{font-size:12.5px;line-height:1.35;}
.ds-t-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:4px;font-size:10.5px;color:var(--muted);}
.ds-t-meta i{width:7px;height:7px;border-radius:50%;display:inline-block;}
.ds-t-meta .venc{color:var(--red);font-weight:600;}
.ds-t-meta .sem{color:var(--yellow);}
.ds-t-meta .andam{color:var(--accent);}
/* cartão da pessoa (alvo do arraste) */
.ds-p{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 12px;display:flex;flex-direction:column;gap:7px;transition:border-color .12s,box-shadow .12s;}
.ds-p.alvo{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent);}
.ds-p.acima{border-color:color-mix(in srgb,var(--orange) 60%,var(--border));}
.ds-p-topo{display:flex;align-items:center;gap:8px;font-size:13px;}
.ds-p-topo b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ds-p-n{margin-left:auto;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;}
.ds-barra{height:5px;border-radius:3px;background:var(--surface2);overflow:hidden;}
.ds-barra i{display:block;height:100%;background:var(--accent);border-radius:3px;}
.ds-p.acima .ds-barra i{background:var(--orange);}
.ds-p-ind{font-size:11px;color:var(--muted);}
.ds-p-ind .alerta{color:var(--orange);font-weight:600;}
.ds-p-ind .venc{color:var(--red);font-weight:600;}
.ds-p-ind .livre{color:var(--green);font-weight:600;}
.ds-p-lista{display:flex;flex-direction:column;gap:5px;}
.ds-p-lista .ds-t{padding:5px 8px;}
.ds-p-lista .ds-t-nome{font-size:11.5px;}
.ds-mais{font-size:10.5px;color:var(--muted);padding:2px 4px;}
.al-meu-time{margin:0 10px;padding:8px 10px;border-radius:7px;background:var(--surface2);font-size:13px;font-weight:600;}

/* Performance: período personalizado (de/até) */
.rp-periodo{display:flex;flex-direction:column;gap:6px;margin:6px 10px 0;}
.rp-periodo label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted);}
.rp-periodo input{flex:1;max-width:150px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface2);color:var(--text);font-family:var(--sans);font-size:12px;}

/* Alocação → pessoa × projeto: ✓ "envolvida no projeto" (0040) */
.al-proj td.al-c{position:relative;}
.al-proj td.al-c.env{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent);}
.al-inc{position:absolute;top:2px;right:2px;width:15px;height:15px;padding:0;border-radius:4px;border:1px solid var(--border);background:var(--surface);color:transparent;font-size:10px;font-weight:800;line-height:13px;cursor:pointer;opacity:.35;}
.al-proj td.al-c:hover .al-inc{opacity:1;}
.al-inc:hover{border-color:var(--accent);color:var(--accent);}
.al-inc.on{opacity:1;background:var(--accent);border-color:var(--accent);color:var(--on-accent);}
.al-nenv{display:block;font-size:9.5px;color:var(--accent);font-weight:600;}
.al-foco{display:block;font-size:10px;color:var(--accent);}

/* Alocação → pessoa × projeto: lote por categoria (0046) */
.al-lote{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px;}
.al-lote-b{font-family:var(--sans);font-size:9.5px;padding:1px 6px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;}
.al-lote-b:hover{border-color:var(--accent);color:var(--accent);}
.al-lote-b.parte{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);}
.al-lote-b.todos{border-color:var(--accent);background:var(--accent);color:var(--on-accent);}
.al-cat{display:block;font-size:9px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em;}

/* Alocação: grades simétricas (horas por projeto e quem está em cada projeto) — colunas de
   projeto com a mesma largura, linhas com a mesma altura, nome do projeto na vertical */
.al-grade{table-layout:fixed;width:auto;border-collapse:collapse;}
.al-grade th.al-p,.al-grade td.al-p{width:230px;min-width:230px;}
.al-grade th.al-pcol{width:52px;min-width:52px;max-width:52px;height:150px;padding:6px 0;vertical-align:bottom;}
.al-grade .al-pnome{display:flex;flex-direction:column;align-items:center;gap:5px;height:138px;justify-content:flex-end;}
.al-grade .al-pnome span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;font-weight:500;max-height:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.al-grade .al-pnome i{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.al-grade tbody tr{height:46px;}
.al-grade td.al-c,.al-grade td.al-dot-c{width:52px;text-align:center;vertical-align:middle;padding:0;}
.al-grade th.al-tot,.al-grade td.al-tot{width:96px;min-width:96px;}
.al-dot{width:18px;height:18px;padding:0;border-radius:50%;border:2px solid var(--border);background:transparent;cursor:pointer;vertical-align:middle;}
.al-dot:hover{border-color:var(--green);}
.al-dot.on{background:var(--green);border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 20%,transparent);}
.al-env td.al-p .al-lote{margin-top:3px;}
.al-dot.trava{display:inline-block;cursor:not-allowed;opacity:.55;box-shadow:none;}
.al-admin td.al-p .rp-nome{font-weight:600;}
.rm-empresa{margin:0 0 10px;}
.rm-empresa .cd-seg{display:flex;}
.rm-empresa .cd-seg button{flex:1;padding:5px 6px;}

/* ── Finanças (0061): painel, editais, custo por projeto, contas ─────────────── */
.fn-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;}
.fn-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;cursor:pointer;color:var(--text);font-family:var(--sans);display:flex;flex-direction:column;gap:7px;}
.fn-card:hover{border-color:var(--accent);}
.fn-card-tit{font-size:13.5px;font-weight:600;margin-bottom:4px;}
.fn-card-tit span{display:block;font-size:10.5px;font-weight:400;color:var(--muted);margin-top:2px;}
.fn-linha{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);}
.fn-linha b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums;}
.fn-barra{height:6px;border-radius:4px;background:var(--surface2);overflow:hidden;}
.fn-barra i{display:block;height:100%;background:var(--green);border-radius:4px;}
.fn-barra.sobre i{background:var(--red);}
.fn-duas{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:1200px){.fn-duas{grid-template-columns:1fr;}}
table.fn-tab{width:100%;border-collapse:collapse;font-size:12.5px;}
.fn-tab th{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:500;padding:9px 12px;border-bottom:1px solid var(--border);text-align:right;}
.fn-tab td{padding:8px 12px;border-bottom:1px solid var(--border);text-align:right;}
.fn-tab tr:last-child td{border-bottom:none;}
.fn-tab .esq,.fn-tab td:not(.num){text-align:left;}
.fn-tab td.num{font-variant-numeric:tabular-nums;white-space:nowrap;}
.fn-tab td small{display:block;font-size:10px;color:var(--muted);}
.fn-tab tr.clicavel{cursor:pointer;}
.fn-tab tr.clicavel:hover td{background:var(--surface2);}
.fn-tab tr.previsto td{color:var(--muted);font-style:italic;}
.fn-tab tr.inativo td{opacity:.5;}
.fn-tab tr.fn-total td{font-weight:600;background:color-mix(in srgb,var(--surface2) 50%,transparent);}
.fn-tab .ok{color:var(--green);}
.fn-tab .late,.fn-linha .late{color:var(--red);}
.fn-tab .fn-uso{display:flex;align-items:center;gap:8px;justify-content:flex-end;}
.fn-tab .fn-uso .fn-barra{width:80px;}
.fn-tab .fn-uso span{min-width:34px;font-size:11px;color:var(--muted);}
.fn-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:middle;}
.fn-subs,.fn-acoes{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.fn-esp{flex:1;}
.fn-sub{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--muted);font-family:var(--sans);font-size:12.5px;cursor:pointer;}
.fn-sub span{font-size:10.5px;background:var(--surface2);padding:0 6px;border-radius:8px;}
.fn-sub.on{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);}
.fn-sub.mini{padding:4px 11px;font-size:11.5px;}
.fn-sit{font-weight:500;color:var(--cor);}
.fn-ed{border:none;background:none;color:var(--muted);cursor:pointer;font-size:14px;padding:0 4px;border-radius:4px;}
.fn-ed:hover{color:var(--accent);background:var(--surface2);}
.rp-card h4{font-size:12.5px;font-weight:600;padding:11px 14px;border-bottom:1px solid var(--border);}

/* Finanças: card grande "Saldo por mês" (barras de uma série: soma das contas ligadas) */
:root{--fn-bar:#0b9fd0;}
body.theme-light{--fn-bar:#0891b2;}
.fn-grande{padding:16px 18px 14px;overflow:visible;}
.fn-grande-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:10px;}
.fn-grande h3{font-size:15px;font-weight:600;}
.fn-togs{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:70%;}
.fn-tog{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:14px;font-size:11.5px;color:var(--muted);cursor:pointer;user-select:none;}
.fn-tog input{accent-color:var(--fn-bar);margin:0;}
.fn-tog.on{color:var(--text);border-color:color-mix(in srgb,var(--fn-bar) 60%,var(--border));}
.fn-grafico{position:relative;display:flex;gap:6px;height:200px;padding:22px 0 0;}
.fn-zero{position:absolute;left:0;right:0;height:0;border-top:1px solid var(--border);margin-top:22px;pointer-events:none;}
.fn-col{position:relative;flex:1;display:flex;flex-direction:column;min-width:0;}
.fn-area{position:relative;flex:1;}
.fn-bar{position:absolute;left:18%;right:18%;background:var(--fn-bar);border-radius:4px 4px 0 0;}
.fn-col.neg .fn-bar{background:var(--red);border-radius:0 0 4px 4px;}
.fn-val{position:absolute;left:-20px;right:-20px;text-align:center;font-size:11px;font-weight:600;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums;}
.fn-mes{text-align:center;font-size:10.5px;color:var(--muted);padding-top:6px;}
.fn-col:hover .fn-area{background:color-mix(in srgb,var(--fn-bar) 7%,transparent);border-radius:6px;}
.fn-dica{display:none;position:absolute;bottom:calc(100% - 10px);left:50%;transform:translateX(-50%);z-index:30;min-width:210px;padding:9px 11px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.35);font-size:11.5px;}
.fn-col:hover .fn-dica{display:block;}
.fn-dica b{display:block;margin-bottom:5px;}
.fn-dica div{display:flex;justify-content:space-between;gap:14px;color:var(--muted);}
.fn-dica div span:last-child{color:var(--text);font-variant-numeric:tabular-nums;}
.fn-semdados{height:140px;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 40px;font-size:12.5px;color:var(--muted);border:1px dashed var(--border);border-radius:8px;}
/* cards das empresas (contas correntes) */
.fn-empresa{border-top:3px solid var(--emp);}
.fn-saldo{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;margin:2px 0 4px;}
.fn-nota span{font-size:10.5px;}
/* custo por projeto: todas as linhas na mesma altura */
.fn-custos td{height:40px;white-space:nowrap;}
.fn-aviso{color:var(--yellow);cursor:help;font-size:11px;}
.fn-pct{font-size:10.5px;color:var(--muted);font-weight:400;}
.fn-receita{cursor:pointer;}
.fn-receita:hover{background:var(--surface2);}
.fn-informar{color:var(--accent);font-size:11.5px;}
.rp-card h4 span{font-family:var(--mono);font-size:9.5px;color:var(--muted);font-weight:400;margin-left:8px;}
.fn-col.dir .fn-dica{left:auto;right:0;transform:none;}
.fn-col.esq .fn-dica{left:0;transform:none;}
/* custo por projeto: cabeçalhos ordenáveis */
.fn-custos th{padding:0;}
.fn-custos th button{width:100%;display:flex;align-items:center;justify-content:flex-end;gap:5px;padding:9px 12px;border:none;background:none;color:var(--muted);font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;}
.fn-custos th.esq button{justify-content:flex-start;}
.fn-custos th button:hover{color:var(--text);}
.fn-custos th.on button{color:var(--accent);}
.fn-custos th .seta{font-size:9px;opacity:.5;}
.fn-custos th.on .seta{opacity:1;}
.rp-card h4.fn-h4{display:flex;align-items:center;justify-content:space-between;}
.fn-mais{border:1px solid var(--border);background:none;color:var(--accent);border-radius:14px;padding:3px 11px;font-family:var(--sans);font-size:11.5px;cursor:pointer;}
.fn-mais:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);}

/* ── RH (0064): cadastro, carreira e salários, cargos ────────────────────────── */
.rh-tab td{height:40px;white-space:nowrap;}
.rh-tab td.rh-form{max-width:180px;overflow:hidden;text-overflow:ellipsis;}
.rh-tab tr.clicavel{cursor:pointer;}
.rh-tab tr.clicavel:hover td{background:var(--surface2);}
.rh-tab tr.inativo td{opacity:.5;}
.rh-link{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:8px;font-size:10.5px;font-weight:600;text-decoration:none;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);}
.rh-link.in{color:#3b82f6;border-color:color-mix(in srgb,#3b82f6 45%,transparent);}
.rh-niv{margin-left:6px;font-size:10.5px;color:var(--muted);}
.rh-spark{vertical-align:middle;}
.rh-spark polyline{fill:none;stroke:var(--fn-bar,#0b9fd0);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;}
.rh-spark circle{fill:var(--fn-bar,#0b9fd0);}
.rh-faixa{display:flex;align-items:center;gap:8px;}
.rh-regua{position:relative;width:110px;height:8px;border-radius:4px;background:var(--surface2);}
.rh-regua span{position:absolute;top:-2px;bottom:-2px;width:1px;background:var(--border);}
.rh-regua .m80{left:25%;}.rh-regua .m100{left:50%;background:var(--muted);}.rh-regua .m120{left:75%;}
.rh-regua i{position:absolute;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;border:2px solid var(--surface);background:var(--muted);}
.rh-faixa.ok .rh-regua i{background:var(--green);}
.rh-faixa.abaixo .rh-regua i{background:var(--yellow);}
.rh-faixa.alto .rh-regua i{background:var(--accent);}
.rh-faixa.acima .rh-regua i{background:var(--orange);}
.rh-pct{min-width:38px;text-align:right;font-weight:600;font-variant-numeric:tabular-nums;}
.rh-sit{font-size:10.5px;color:var(--muted);}
.rh-resumo{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:10px;font-size:12px;color:var(--muted);}
.rh-resumo span:first-child{color:var(--text);font-weight:600;}
table.rh-hist{width:100%;border-collapse:collapse;font-size:12px;}
.rh-hist th{text-align:left;font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:500;padding:5px 6px;border-bottom:1px solid var(--border);}
.rh-hist td{padding:5px 6px;border-bottom:1px solid var(--border);}
.rh-hist .num{text-align:right;font-variant-numeric:tabular-nums;}
/* RH: tabelas largas rolam de lado em vez de espremer as colunas */
.rh-rola{overflow-x:auto;}
.rh-tab{min-width:0;}
.rh-regua{width:90px;}
.rh-tab th{padding:9px 12px;white-space:nowrap;font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:500;text-align:right;}
.rh-tab th.esq{text-align:left;}
.rh-tab td{padding-left:12px;padding-right:12px;}
.rh-tab td.esq:first-child{max-width:260px;overflow:hidden;text-overflow:ellipsis;}
.rh-tab .rp-pessoa .rp-nome{overflow:hidden;text-overflow:ellipsis;}
.rh-tab{width:100%;border-collapse:collapse;font-size:12.5px;}
.rh-tab td{border-bottom:1px solid var(--border);}
.rh-tab td.num{text-align:right;font-variant-numeric:tabular-nums;}
.rh-tab td.esq{text-align:left;}
.rh-tab thead th{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface2) 50%,var(--surface));}
/* RH: nome e cargo com largura limitada (reticências; o completo fica na dica) */
.rh-tab td.esq{max-width:210px;overflow:hidden;text-overflow:ellipsis;}
.rh-tab td.esq:first-child{max-width:220px;}
.rh-tab .rp-pessoa{min-width:0;}
.rh-tab .rp-pessoa .rp-nome{min-width:0;white-space:nowrap;}
.rh-tab th{padding:9px 10px;}
.rh-tab td{padding-left:10px;padding-right:10px;}
.rh-leg{margin-right:12px;}
.rh-leg.abaixo{color:var(--yellow);}.rh-leg.ok{color:var(--green);}.rh-leg.alto{color:var(--accent);}.rh-leg.acima{color:var(--orange);}
.rh-tab .rh-regua{width:76px;}
/* RH → Férias (0112): lista + calendário ao lado */
.fe-grade{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start;}
@media (max-width:1150px){.fe-grade{grid-template-columns:minmax(0,1fr);}}
.fe-tab tr.fe-on td{background:color-mix(in srgb,var(--accent) 10%,var(--surface));}
.fe-tab tr.fe-on td:first-child{box-shadow:inset 3px 0 0 var(--accent);}
.fe-sel{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap;background:var(--surface2);color:var(--muted);}
.fe-sel.ok{color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent);}
.fe-sel.abaixo{color:var(--yellow);background:color-mix(in srgb,var(--yellow) 14%,transparent);}
.fe-sel.alto{color:var(--orange);background:color-mix(in srgb,var(--orange) 14%,transparent);}
.fe-sel.acima{color:var(--red);background:color-mix(in srgb,var(--red) 13%,transparent);}
.fe-sel.fer{color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,transparent);}
.fe-hist{border:none;background:none;cursor:pointer;font-size:14px;padding:2px 4px;border-radius:6px;opacity:.7;}
.fe-hist:hover{opacity:1;background:var(--surface2);}
.fe-link{border:none;background:none;color:var(--accent);cursor:pointer;font:inherit;font-size:12px;padding:0 2px;}
.fe-link:hover{text-decoration:underline;}
.fe-cal{padding:12px;overflow:visible;position:sticky;top:8px;}
.fe-cal-top{display:flex;align-items:center;gap:6px;margin-bottom:8px;}
.fe-cal-top b{flex:1;text-align:center;font-size:13.5px;text-transform:capitalize;}
.fe-nav{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;width:26px;height:26px;cursor:pointer;font-size:15px;line-height:1;}
.fe-nav:hover{background:var(--surface2);}
.fe-dica{font-size:11.5px;color:var(--muted);background:var(--surface2);border-radius:7px;padding:6px 8px;margin-bottom:8px;}
.fe-dica.on{color:var(--text);background:color-mix(in srgb,var(--accent) 10%,var(--surface));}
.fe-sem,.fe-dias{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.fe-sem span{text-align:center;font-size:10px;color:var(--muted);font-family:var(--mono);padding-bottom:2px;}
.fe-dia{position:relative;height:38px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;padding:2px 3px;display:flex;flex-direction:column;align-items:flex-start;font:inherit;}
.fe-dia:hover{border-color:var(--accent);}
.fe-dia .n{font-size:11px;font-variant-numeric:tabular-nums;}
.fe-dia.fds{background:var(--surface2);}
.fe-dia.fora{opacity:.4;}
.fe-dia.hoje .n{font-weight:700;color:var(--accent);}
.fe-dia.minha{background:color-mix(in srgb,var(--accent) 28%,var(--surface));border-color:var(--accent);}
.fe-dia.ini,.fe-dia.previa{background:color-mix(in srgb,var(--accent) 18%,var(--surface));border-color:var(--accent);border-style:dashed;}
.fe-pts{display:flex;gap:2px;flex-wrap:wrap;margin-top:auto;}
.fe-pts i{width:6px;height:6px;border-radius:50%;}
.fe-pts b{font-size:8px;line-height:6px;color:var(--muted);}
.fe-pessoa{margin-top:12px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:5px;}
.fe-pessoa-top{display:flex;align-items:center;justify-content:space-between;gap:6px;}
.fe-num{display:flex;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);}
.fe-num b{color:var(--text);}
.fe-item{display:flex;align-items:center;gap:6px;width:100%;text-align:left;border:none;background:none;color:var(--text);font:inherit;font-size:12px;padding:4px 6px;border-radius:6px;cursor:pointer;}
.fe-item:hover{background:var(--surface2);}
.fe-item.minha{background:color-mix(in srgb,var(--accent) 10%,transparent);}
.fe-item i{width:8px;height:8px;border-radius:50%;flex:none;}
.fe-item .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fe-vazio{font-size:11.5px;color:var(--muted);padding:2px 6px;}
.fe-mes{margin-top:12px;padding-top:10px;border-top:1px solid var(--border);}
.fe-mes-t{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-family:var(--mono);margin-bottom:4px;}
.fe-calc{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);}
.fe-aviso{color:var(--orange);}
.fe-erro{color:var(--red);font-weight:600;}
.rh-hist tr.fe-canc td{color:var(--muted);text-decoration:line-through;}
.rh-hist tr.fe-canc td:nth-child(n+2){text-decoration:none;}
.fe-log{display:flex;flex-direction:column;gap:4px;font-size:12px;max-height:200px;overflow-y:auto;margin-top:4px;}
.fe-log-l{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px solid var(--border);}
.fe-log-l .rh-sit{white-space:nowrap;}

/* Finanças → Contas: pagamentos das compras (0070) */
.fn-pag-filtros{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 10px;}
.fn-pag-filtros select{padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface2);color:var(--text);font-family:var(--sans);font-size:12.5px;}
.fn-pag-tot{margin-left:auto;font-size:12.5px;color:var(--muted);}
.fn-pag-tot b{color:var(--text);}
/* Finanças → 💳 Pagamentos das compras (aba própria): resumo por conta (clicável) e filtro de mês */
.fn-pag-mes{padding:6px 9px;border:1px solid var(--border);border-radius:7px;background:var(--surface2);color:var(--text);font-family:var(--sans);font-size:12.5px;}
.fn-pag-contas{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-bottom:14px;}
.fn-pag-conta{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:11px 13px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-family:var(--sans);text-align:left;cursor:pointer;}
.fn-pag-conta span{font-size:12px;color:var(--muted);}
.fn-pag-conta b{font-size:16px;font-variant-numeric:tabular-nums;}
.fn-pag-conta small{font-size:11px;color:var(--muted);}
.fn-pag-conta:hover{border-color:var(--accent);}
.fn-pag-conta.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;background:color-mix(in srgb,var(--accent) 6%,var(--surface));}
/* RH: títulos ordenáveis e aniversário próximo (2026-10-16) */
.rh-tab th.rh-ord{cursor:pointer;user-select:none;white-space:nowrap;}
.rh-tab th.rh-ord:hover{color:var(--text);}
.rh-tab th.rh-ord.on{color:var(--accent);}
.rh-niver{display:inline-block;margin-left:4px;padding:0 6px;border-radius:8px;font-size:10.5px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);}
.rh-niver.hoje{color:#db2777;background:color-mix(in srgb,#db2777 12%,transparent);font-weight:600;}
/* Finanças → Lançamentos das contas: importar fatura em PDF (0074) */
.fn-pag-acoes{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.fn-org{font-size:11.5px;color:var(--muted);white-space:nowrap;}
.fn-cred{color:var(--green);}
.fn-del-mov{border:1px solid var(--border);background:none;color:var(--muted);border-radius:5px;width:22px;height:22px;cursor:pointer;}
.fn-del-mov:hover{color:var(--red);border-color:var(--red);}
.fn-imp-fundo{position:fixed;inset:0;z-index:1500;background:rgba(15,23,42,.5);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px 16px;overflow:auto;}
.fn-imp-caixa{width:min(860px,100%);display:flex;flex-direction:column;gap:12px;padding:18px 20px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:0 20px 50px rgba(0,0,0,.35);font-family:var(--sans);}
.fn-imp-cab{display:flex;align-items:center;justify-content:space-between;font-size:15px;}
.fn-imp-campos{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.fn-imp-campos label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--muted);}
.fn-imp-campos select,.fn-imp-campos input{padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:12.5px;}
.fn-imp-nota{font-size:11.5px;color:var(--muted);}
.fn-imp-msg{font-size:12.5px;padding:8px 10px;border-radius:7px;background:var(--surface2);}
.fn-imp-resumo{font-size:12.5px;color:var(--muted);}
.fn-imp-conf{font-size:12.5px;padding:6px 10px;border-radius:6px;background:var(--surface2);}
.fn-imp-conf.ok b{color:var(--green);}
.fn-imp-conf.late{color:var(--red);}
.fn-imp-resumo b{color:var(--text);font-weight:600;}
.fn-imp-lista{max-height:46vh;overflow:auto;border:1px solid var(--border);border-radius:8px;}
.fn-imp-lista tr.dup td{opacity:.55;}
.fn-imp-dup{font-size:11px;color:var(--orange);}
.fn-imp-rodape{display:flex;align-items:center;justify-content:flex-end;gap:8px;}
.fn-imp-tot{margin-right:auto;font-size:12.5px;color:var(--muted);}
@media (max-width:640px){.fn-imp-campos{grid-template-columns:1fr;}}

/* ── Painel do Finanças reorganizado (2026-10-17): fluxo de caixa em destaque; contas e editais discretos ── */
.fn-fluxo{padding:20px 22px 16px;}
.fn-fluxo-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:6px;}
.fn-fluxo-tit{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);}
.fn-fluxo-saldo{font-size:30px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:4px 0 2px;}
.fn-delta{font-weight:600;}
.fn-delta.sobe{color:var(--green);}
.fn-delta.desce{color:var(--red);}
.fn-fluxo-ks{display:flex;gap:10px;flex-wrap:wrap;}
.fn-fluxo-ks div{display:flex;flex-direction:column;gap:2px;min-width:160px;padding:9px 12px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:9px;}
.fn-fluxo-ks span{font-size:11px;color:var(--muted);}
.fn-fluxo-ks b{font-size:15px;font-weight:500;font-variant-numeric:tabular-nums;}
/* gráfico maior, cores suaves, valor em cada mês */
.fn-fluxo .fn-grafico{height:250px;padding-top:26px;margin-top:6px;}
.fn-fluxo .fn-zero{margin-top:26px;}
.fn-fluxo .fn-bar{left:22%;right:22%;background:color-mix(in srgb,var(--fn-bar) 85%,transparent);}
.fn-fluxo .fn-col.neg .fn-bar{background:color-mix(in srgb,var(--red) 55%,transparent);}
.fn-fluxo .fn-val{font-size:10.5px;font-weight:500;color:var(--muted);}
.fn-fluxo .fn-val.ult{color:var(--text);font-weight:600;}
.fn-said{text-align:center;font-size:10px;color:var(--muted);opacity:.8;padding-top:1px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.fn-said-leg{font-size:10.5px;color:var(--muted);margin:6px 0 2px;}
.fn-dica-mov{margin-top:5px;padding-top:5px;border-top:1px solid var(--border);}
/* contas na soma: chips pequenos embaixo */
.fn-fluxo .fn-togs{max-width:none;justify-content:flex-start;gap:5px;margin-top:10px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent);}
.fn-togs-rot{font-size:11px;color:var(--muted);align-self:center;margin-right:2px;}
.fn-fluxo .fn-tog{padding:2px 9px;font-size:10.5px;border-radius:10px;}
.fn-fluxo .fn-tog input{display:none;}
.fn-fluxo .fn-tog.on{background:color-mix(in srgb,var(--fn-bar) 10%,transparent);border-color:color-mix(in srgb,var(--fn-bar) 35%,transparent);}
.fn-fluxo .fn-tog:not(.on){opacity:.55;text-decoration:line-through;}
/* contas e editais: compactos e discretos, por último */
.fn-secao{margin:18px 2px 8px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);}
.fn-cards-mini{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;}
.fn-cards-mini .fn-card{padding:10px 12px;border-color:color-mix(in srgb,var(--border) 70%,transparent);background:color-mix(in srgb,var(--surface) 60%,transparent);box-shadow:none;}
.fn-cards-mini .fn-card-tit{font-size:12px;font-weight:500;}
.fn-cards-mini .fn-saldo{font-size:15px;font-weight:500;margin:0 0 2px;}
.fn-cards-mini .fn-linha{font-size:11px;}
.fn-cards-mini .fn-linha b{font-weight:500;}
.fn-cards-mini .fn-empresa{border-top-width:2px;}
.fn-cards-mini .fn-barra{height:4px;margin:2px 0;}
.fn-fluxo .fn-val.neg{color:color-mix(in srgb,var(--red) 80%,var(--text));}
/* fluxo de caixa jan–dez: barras de receita (azul) e despesa (vermelha) + linha do saldo realizado (2026-10-17) */
.fn-fluxo-dir{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.fn-ano{display:flex;align-items:center;gap:6px;}
.fn-ano b{font-size:14px;font-weight:600;min-width:44px;text-align:center;font-variant-numeric:tabular-nums;}
.fn-fluxo-ks b.rec{color:#2563eb;}
.fn-fluxo-ks b.desp{color:#dc2626;}
.fn-grafico2{height:260px;padding-top:0;margin-top:14px;gap:0;}
.fn-grafico2 .fn-zero{margin-top:0;border-top-color:color-mix(in srgb,var(--muted) 45%,transparent);}
.fn-grafico2 .fn-col{padding:0 2px;}
.fn-grafico2 .fn-area{position:relative;flex:1;}
.fn-grafico2 .fn-b{position:absolute;width:26%;border-radius:3px 3px 0 0;}
.fn-grafico2 .fn-b.rec{left:22%;background:color-mix(in srgb,#2563eb 75%,transparent);}
.fn-grafico2 .fn-b.desp{right:22%;background:color-mix(in srgb,#dc2626 65%,transparent);}
.fn-grafico2 .fn-col.futuro .fn-mes{opacity:.45;}
.fn-grafico2 .fn-col.futuro .fn-area{background:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb,var(--muted) 5%,transparent) 6px 12px);border-radius:6px;}
.fn-linha-saldo{position:absolute;left:0;right:0;top:0;bottom:22px;width:100%;height:calc(100% - 22px);overflow:visible;pointer-events:none;z-index:2;}
.fn-linha-saldo polyline{fill:none;stroke:var(--text);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;opacity:.85;}
.fn-ponto{position:absolute;left:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--surface);border:2px solid var(--text);z-index:3;}
.fn-grafico2 .fn-val{left:-24px;right:-24px;bottom:auto;font-size:10px;color:var(--muted);z-index:3;}
.fn-grafico2 .fn-val.ult{color:var(--text);font-weight:600;font-size:11px;}
.fn-legenda{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:11px;color:var(--muted);}
.fn-legenda i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px;}
.fn-legenda i.rec{background:#2563eb;}
.fn-legenda i.desp{background:#dc2626;}
.fn-legenda i.saldo{height:2px;width:14px;background:var(--text);border-radius:1px;vertical-align:3px;}
.fn-leg-nota{flex-basis:100%;font-size:10.5px;opacity:.85;}
.fn-grafico2 .fn-b{bottom:0;top:auto;}
.fn-grafico2 .fn-zero{top:auto;bottom:22px;}
.fn-fluxo .fn-grafico2{padding-top:0;}
.fn-grafico2 .fn-col:hover .fn-ponto{transform:scale(1.35);}
.fn-grafico2 .fn-mes{height:22px;box-sizing:border-box;line-height:16px;}

/* PO (0081) */
.cp-po{font-family:var(--mono);font-weight:600;color:var(--accent);letter-spacing:.02em;}
.cp-hist{margin:4px 0;font-size:12px;}
.cp-hist summary{cursor:pointer;color:var(--muted);padding:4px 0;}
.cp-hist-lista{max-height:220px;overflow:auto;border:1px solid var(--border);border-radius:8px;}
.cp-hist-lista .zero{padding:8px 12px;}
.cp-log-det{max-width:520px;white-space:normal;}
.cp-busca-log{max-width:420px;margin:0 0 10px;}
.cp-log-card{overflow:auto;}
.cp-log-card .zero{padding:14px;}
.mat-po{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.mat-po.cancelado{opacity:.55;text-decoration:line-through;}
.mat-po.cancelado .btn{display:none;}
.num-previsto{font-family:var(--mono);color:var(--muted);}
.num-previsto.ok{color:var(--accent);}
/* 💳 Cartões de crédito (0094): um cartão por bloco, faturas por vencimento */
.fn-cc{padding:0;overflow:hidden;margin-bottom:14px;}
.fn-cc-cab{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.fn-cc-nome{font-size:15px;font-weight:600;}
.fn-cc-dir{display:flex;align-items:center;gap:16px;}
.fn-cc-apagar{display:flex;flex-direction:column;align-items:flex-end;}
.fn-cc-apagar span{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);}
.fn-cc-apagar b{font-size:18px;color:var(--red);font-variant-numeric:tabular-nums;}
.fn-cc-lim{width:120px;}
.fn-cc-lim small{font-size:10px;color:var(--muted);}
.fn-cc-acoes{justify-content:flex-end;margin-bottom:12px;}
.fn-cc-tab .fn-seta{display:inline-block;width:14px;color:var(--muted);}
.fn-fat.paga td{color:var(--muted);}
.fn-fat.vencida td:first-child b{color:var(--red);}
.fn-fat.on td{background:var(--surface2);}
.fn-fat-itens > td{background:var(--surface2);padding:4px 12px 10px 30px;}
.fn-sub-tab td{padding:5px 10px;font-size:12.5px;}
.fn-link{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline dotted;}
.fn-pagar{font-size:12px;padding:4px 10px;}
.fn-cartao-linha{border-top:1px dashed var(--border);padding-top:6px;margin-top:2px;}
.fn-tab td.ok .ok, .fn-tab .ok{color:var(--green);}
@media (max-width:700px){.fn-cc-tab{display:block;overflow-x:auto;}}
/* 🏦 página da conta: extrato por dia (0095/0096) */
.fn-ex-barra{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.fn-ex-barra .fn-ano{display:flex;align-items:center;gap:6px;}
.fn-ex-bts{display:flex;gap:6px;flex-wrap:wrap;}
.fn-extrato .fn-ex-dia td{background:var(--surface2);border-top:1px solid var(--border);padding-top:9px;padding-bottom:9px;}
.fn-extrato .fn-ex-linha td{padding-top:5px;padding-bottom:5px;font-size:12.5px;}
.fn-extrato .fn-ex-linha td:first-child{padding-left:28px;}
.fn-extrato .fn-ex-saldo td{color:var(--accent);}
.fn-extrato .fn-ex-acoes{white-space:nowrap;}
.fn-extrato .fn-ex-acoes .fn-del-mov{margin-left:4px;opacity:.35;}
.fn-extrato tr:hover .fn-ex-acoes .fn-del-mov{opacity:1;}
.fn-ex-orig{opacity:.35;font-size:11px;}
@media (max-width:700px){.fn-extrato{display:block;overflow-x:auto;}}

/* ── 🛡️ Qualidade — Portal SGQ (0116) ── */
.sgq-nota{font-size:10.5px;color:var(--muted);padding:10px 12px;}
.sgq-busca{width:100%;max-width:640px;box-sizing:border-box;padding:9px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;margin-bottom:14px;}
.sgq-busca:focus{outline:none;border-color:var(--accent);}
.sgq-inicio{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start;}
@media (max-width:1100px){.sgq-inicio{grid-template-columns:minmax(0,1fr);}}
.sgq-h{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;margin:6px 0 8px;}
.sgq-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:18px;}
.sgq-card{display:flex;flex-direction:column;gap:6px;text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);padding:12px;cursor:pointer;font:inherit;}
.sgq-card:hover{border-color:var(--accent);}
.sgq-card.minha{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--surface));}
.sgq-card-t{font-weight:600;font-size:14px;}
.sgq-card-n{font-size:11.5px;color:var(--muted);}
.sgq-card-n b{color:var(--text);}
.sgq-card-r{display:flex;flex-wrap:wrap;gap:4px;}
.sgq-card-p{font-size:10.5px;color:var(--muted);}
.sgq-barra{height:5px;border-radius:3px;background:var(--surface2);overflow:hidden;}
.sgq-barra i{display:block;height:100%;background:var(--green);}
.sgq-pess{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;margin-right:6px;}
.sgq-pess i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;color:#fff;font-size:8.5px;font-style:normal;font-weight:700;}
.sgq-resp{display:flex;align-items:center;flex-wrap:wrap;gap:4px;}
.sgq-comece{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
.sgq-comece-i{border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:7px 10px;cursor:pointer;font:inherit;font-size:12.5px;}
.sgq-comece-i:hover{border-color:var(--accent);}
.sgq-comece-i b{color:var(--accent);margin-right:4px;}
.sgq-lado{padding:12px;display:flex;flex-direction:column;gap:4px;}
.sgq-lado-i{display:flex;flex-direction:column;align-items:flex-start;gap:1px;border:none;background:none;color:var(--text);text-align:left;padding:6px;border-radius:7px;cursor:pointer;font:inherit;font-size:12px;}
.sgq-lado-i:hover{background:var(--surface2);}
.sgq-lado-i small{font-size:10.5px;}
.sgq-vazio{font-size:11.5px;color:var(--muted);padding:4px 2px;}
.sgq-aviso{font-size:12px;background:var(--surface2);border-radius:8px;padding:10px 12px;margin-bottom:14px;}
.sgq-late{color:var(--red);font-weight:600;}
.sgq-breve{color:var(--orange);}
.sgq-st{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap;background:var(--surface2);color:var(--muted);}
.sgq-st.ok{color:var(--green);background:color-mix(in srgb,var(--green) 13%,transparent);}
.sgq-st.rev{color:var(--orange);background:color-mix(in srgb,var(--orange) 14%,transparent);}
.sgq-st.rasc{color:var(--muted);}
.sgq-st.obs{color:var(--muted);text-decoration:line-through;}
.sgq-cod{font-family:var(--mono);font-size:12px;}
.sgq-tab td.sgq-tit{max-width:420px;}
.sgq-abrir{font-size:11.5px;color:var(--accent);text-decoration:none;font-weight:600;}
.sgq-abrir:hover{text-decoration:underline;}
.sgq-subs,.sgq-abas{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.sgq-subs button,.sgq-abas button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:16px;padding:5px 12px;cursor:pointer;font:inherit;font-size:12.5px;}
.sgq-subs button span,.sgq-abas button span{color:var(--muted);font-size:11px;margin-left:3px;}
.sgq-subs button.on,.sgq-abas button.on{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-color:var(--accent);color:var(--accent);}
.sgq-abas{border-bottom:1px solid var(--border);padding-bottom:10px;}
.sgq-abas button{border-radius:8px;}
.sgq-abas button:disabled{opacity:.5;cursor:default;}
.sgq-filtros{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px;}
.sgq-filtros .sgq-busca{margin:0;max-width:320px;}
.sgq-filtros select{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:12.5px;}
.sgq-cont{font-size:11.5px;color:var(--muted);}
.sgq-doc{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.sgq-tipo{font-size:11.5px;color:var(--muted);}
.sgq-dados{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;margin-bottom:12px;}
.sgq-dado{display:flex;flex-direction:column;font-size:12.5px;}
.sgq-dado span{font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.04em;}
.sgq-sec{margin-bottom:12px;font-size:12.5px;display:flex;flex-wrap:wrap;gap:5px;align-items:center;}
.sgq-sec>b{width:100%;}
.sgq-item{display:inline-block;padding:2px 8px;border-radius:8px;background:var(--surface2);font-size:11.5px;}
.sgq-acoes{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--border);padding-top:12px;}
.sgq-itens-ed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px;max-height:220px;overflow-y:auto;font-size:12px;margin-top:6px;border:1px solid var(--border);border-radius:8px;padding:8px;}
.sgq-itens-ed label{display:flex;gap:5px;align-items:baseline;cursor:pointer;}
.sgq-pess-tab select{padding:3px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;font-size:12px;}
.sgq-sem{font-size:11.5px;color:var(--muted);}
.sgq-geral{font-size:11px;}
.sgq-times{display:flex;flex-wrap:wrap;gap:6px 14px;margin:6px 0 4px;font-size:12.5px;}
.sgq-times label{display:flex;gap:5px;align-items:center;cursor:pointer;}
.sgq-tdtime{color:var(--muted);font-size:11.5px;}
/* SGQ — o documento aberto (0118) */
.sgq-leitor-topo{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.sgq-voltar{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;width:34px;height:34px;font-size:16px;cursor:pointer;flex:none;}
.sgq-voltar:hover{border-color:var(--accent);}
.sgq-leitor-tit{flex:1;min-width:260px;}
.sgq-leitor-tit .rp-sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px;}
.sgq-leitor-acoes{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.sgq-leitor-acoes a.modal-btn{text-decoration:none;display:inline-flex;align-items:center;}
.sgq-leitor{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start;}
@media (max-width:1150px){.sgq-leitor{grid-template-columns:minmax(0,1fr);}}
.sgq-folha-caixa{border-radius:10px;}
.sgq-folha-caixa.soltar{outline:2px dashed var(--accent);outline-offset:4px;}
.sgq-folha-info{font-size:12px;color:var(--text);margin-bottom:8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.sgq-folha-info span{color:var(--muted);}
.sgq-folha{background:#e9ecf1;border-radius:10px;padding:22px;min-height:420px;overflow:auto;}
.sgq-folha.vazia{display:flex;align-items:center;justify-content:center;background:var(--surface2);}
.sgq-carregando{color:#64748b;font-size:13px;text-align:center;padding:60px 0;}
.sgq-sem-arq{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:13px;color:var(--muted);padding:40px 20px;}
.sgq-sem-arq{font-size:28px;}
.sgq-sem-arq b,.sgq-sem-arq span,.sgq-sem-arq a,.sgq-sem-arq button{font-size:13px;}
.sgq-sem-arq b{color:var(--text);}
/* Word convertido: uma folha branca, como no papel */
.sgq-word{background:#fff;color:#1f2937;max-width:820px;margin:0 auto;padding:56px 64px;box-shadow:0 2px 14px rgba(0,0,0,.18);font-family:Calibri,'Segoe UI',Arial,sans-serif;font-size:14px;line-height:1.55;}
.sgq-word h1,.sgq-word h2,.sgq-word h3{color:#0f172a;margin:1.1em 0 .5em;line-height:1.3;}
.sgq-word h1{font-size:20px;}.sgq-word h2{font-size:17px;}.sgq-word h3{font-size:15px;}
.sgq-word p{margin:.45em 0;}
.sgq-word table{border-collapse:collapse;width:100%;margin:.8em 0;font-size:13px;}
.sgq-word td,.sgq-word th{border:1px solid #cbd5e1;padding:5px 8px;vertical-align:top;}
.sgq-word img{max-width:100%;height:auto;display:block;margin:8px auto;border-radius:4px;}
.sgq-word ul,.sgq-word ol{padding-left:1.6em;margin:.4em 0;}
.sgq-word a{color:#0369a1;}
body:not(.theme-light) .sgq-folha{background:#1b2130;} /* o tema do sistema é a classe theme-light (não o modo do computador) */
/* Excel: abas e a tabela */
.sgq-planilha{background:#fff;color:#1f2937;border-radius:6px;padding:10px;box-shadow:0 2px 14px rgba(0,0,0,.18);}
.sgq-abas-pl{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px;}
.sgq-abas-pl button{border:1px solid #cbd5e1;background:#f8fafc;color:#334155;border-radius:6px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer;}
.sgq-abas-pl button.on{background:#e0f2fe;border-color:#0284c7;color:#0369a1;}
.sgq-pl-folha{overflow:auto;}
.sgq-pl-folha table{border-collapse:collapse;font-size:12px;}
.sgq-pl-folha td{border:1px solid #e2e8f0;padding:3px 7px;white-space:nowrap;}
.sgq-pdf{width:100%;height:78vh;border:none;border-radius:6px;background:#fff;}
.sgq-img{max-width:100%;display:block;margin:0 auto;}
.sgq-leitor-lado{display:flex;flex-direction:column;gap:10px;}
.sgq-bloco{padding:12px;}
.sgq-dados.um{grid-template-columns:1fr 1fr;margin-bottom:0;}
.sgq-obs{font-size:12px;color:var(--muted);margin-top:8px;white-space:pre-wrap;}
.sgq-item-l{font-size:12px;padding:2px 0;}
.sgq-rev{font-size:12px;padding:6px 0;border-bottom:1px solid var(--border);}
.sgq-rev:last-child{border-bottom:none;}
.sgq-rev span{color:var(--muted);font-size:11px;}
.sgq-arq{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;padding:5px 0;border-bottom:1px solid var(--border);}
.sgq-arq.atual .sgq-arq-nome{font-weight:600;}
.sgq-arq span{color:var(--muted);font-size:10.5px;width:100%;padding-left:20px;}
.sgq-arq-nome{border:none;background:none;color:var(--text);cursor:pointer;font:inherit;font-size:12px;text-align:left;padding:0;flex:1;min-width:0;}
.sgq-arq-nome:hover{color:var(--accent);text-decoration:underline;}
.sgq-arq-ver,.sgq-arq-x,.sgq-link{border:none;background:none;color:var(--accent);cursor:pointer;font:inherit;font-size:11.5px;padding:0 3px;}
.sgq-arq-x{color:var(--muted);}
.sgq-arq-x:hover{color:var(--red);}
.sgq-link{margin-top:8px;}
/* SGQ — assistente do procedimento (0120) */
.pe-fundo{position:fixed;inset:0;background:rgba(8,12,20,.55);z-index:1400;display:flex;align-items:flex-start;justify-content:center;padding:28px 16px;overflow:auto;}
.pe-caixa{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:min(980px,100%);display:flex;flex-direction:column;max-height:calc(100vh - 56px);box-shadow:0 20px 60px rgba(0,0,0,.45);}
.pe-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:16px 20px 10px;}
.pe-tit{font-size:17px;font-weight:700;}
.pe-sub{font-size:12px;color:var(--muted);margin-top:2px;}
.pe-x{border:none;background:none;color:var(--muted);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:6px;}
.pe-x:hover{background:var(--surface2);color:var(--text);}
.pe-passos{display:flex;gap:4px;padding:0 20px 12px;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.pe-passo{display:flex;align-items:center;gap:7px;border:none;background:none;color:var(--muted);font:inherit;font-size:12.5px;padding:6px 10px;border-radius:8px;cursor:pointer;}
.pe-passo b{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--surface2);font-size:11px;color:var(--muted);}
.pe-passo.on{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);}
.pe-passo.on b{background:var(--accent);color:var(--on-accent);}
.pe-passo.feito b{background:color-mix(in srgb,var(--green) 25%,var(--surface2));color:var(--green);}
.pe-passo:disabled{opacity:.55;cursor:default;}
.pe-corpo{padding:16px 20px;overflow-y:auto;flex:1;min-height:260px;}
.pe-h{font-size:13px;font-weight:600;margin:4px 0 10px;}
.pe-tipos{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:18px;}
.pe-tipo{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);padding:12px;cursor:pointer;font:inherit;}
.pe-tipo span{font-size:22px;}
.pe-tipo small{font-size:11.5px;color:var(--muted);}
.pe-tipo i{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:auto;}
.pe-tipo:hover{border-color:var(--accent);}
.pe-tipo.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface));box-shadow:0 0 0 1px var(--accent);}
.pe-campo{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;}
.pe-campo:focus{outline:none;border-color:var(--accent);}
.pe-campo:disabled{opacity:.7;}
.pe-grande{font-size:15px;font-weight:600;}
.pe-txt{resize:vertical;line-height:1.5;}
.pe-l{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;margin-bottom:14px;}
.pe-l small{font-weight:400;color:var(--muted);}
.pe-grade{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:700px){.pe-grade{grid-template-columns:1fr;}}
.pe-check{display:flex;align-items:center;gap:6px;font-size:12.5px;margin-bottom:14px;cursor:pointer;}
.pe-ajuda{font-size:12px;color:var(--muted);background:var(--surface2);border-radius:8px;padding:8px 10px;margin-bottom:12px;}
.pe-aviso{font-size:12.5px;background:color-mix(in srgb,var(--orange) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--orange) 40%,transparent);border-radius:8px;padding:9px 11px;margin-bottom:12px;}
.pe-ref{display:flex;gap:6px;align-items:center;}
.pe-mini{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:6px;padding:4px 8px;cursor:pointer;font:inherit;font-size:12px;flex:none;}
.pe-mini:hover:not(:disabled){color:var(--text);border-color:var(--accent);}
.pe-mini:disabled{opacity:.35;cursor:default;}
.pe-mais{align-self:flex-start;border:1px dashed var(--border);background:none;color:var(--accent);border-radius:8px;padding:6px 12px;cursor:pointer;font:inherit;font-size:12.5px;}
.pe-mais:hover{border-color:var(--accent);}
.pe-mais-passo{width:100%;padding:10px;}
.pe-bloco{border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:12px;background:color-mix(in srgb,var(--surface2) 35%,var(--surface));}
.pe-bloco.soltar{outline:2px dashed var(--accent);outline-offset:2px;}
.pe-bloco-topo{display:flex;align-items:center;gap:6px;margin-bottom:8px;}
.pe-bloco-topo>b{font-family:var(--mono);font-size:13px;color:var(--accent);min-width:30px;}
.pe-bloco-tit{font-weight:600;}
.pe-imgs{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-items:flex-start;}
.pe-img{display:flex;flex-direction:column;gap:4px;width:170px;position:relative;}
.pe-img img{width:170px;height:110px;object-fit:cover;border-radius:6px;border:1px solid var(--border);background:var(--surface2);}
.pe-img .pe-campo{font-size:11.5px;padding:4px 6px;}
.pe-img .pe-mini{position:absolute;top:4px;right:4px;padding:1px 6px;background:rgba(0,0,0,.55);color:#fff;border:none;}
.pe-previa{min-height:300px;}
.pe-erro{color:var(--red);font-size:12.5px;padding:0 20px 8px;font-weight:600;}
.pe-rodape{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 20px;border-top:1px solid var(--border);}
.pe-dica{font-size:11.5px;color:var(--muted);flex:1;text-align:center;}
.pe-fim{display:flex;gap:8px;}
.sgq-excluir{font-size:13px;line-height:1.55;}
.sgq-excluir-aviso{margin:10px 0 4px;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--orange) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--orange) 40%,transparent);font-size:12.5px;}

.fe-aj{font-size:10.5px;padding:1px 6px;border-radius:99px;background:color-mix(in srgb,var(--orange) 15%,var(--surface));color:var(--orange);margin-left:6px;cursor:help;}
.ic-fonte{width:1.15em;height:1.15em;vertical-align:-.2em;display:inline-block;}
