/* PKJ — camada de compatibilidade visual.
   O contrato canônico é html[data-theme="light|dark"] + localStorage pkj-theme.
   theme-bridge.js mantém data-tema="claro|escuro" enquanto os módulos legados
   ainda usam os seletores abaixo. */
html[data-theme="light"] { color-scheme:light; }
html[data-theme="dark"] { color-scheme:dark; }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:2px solid var(--accent,#9A3A3E);
  outline-offset:3px;
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
html[data-tema="claro"] {
  --bg:#f2f3f6; --panel:#ffffff; --panel2:#f7f8fa; --ink:#1b2129; --soft:#57616e;
  --line:rgba(15,23,32,.14); --line2:rgba(15,23,32,.24); --accent:#7d2528; --accent2:#9a3a3e;
  color-scheme: light;
}
html[data-tema="claro"] body { background:#f2f3f6 !important; color:#1b2129 !important; }
html[data-tema="claro"] .card, html[data-tema="claro"] .kpi, html[data-tema="claro"] .grid > div,
html[data-tema="claro"] .panel, html[data-tema="claro"] aside, html[data-tema="claro"] header,
html[data-tema="claro"] .topo, html[data-tema="claro"] nav {
  background:#ffffff !important; color:#1b2129 !important; border-color:rgba(15,23,32,.14) !important;
}
html[data-tema="claro"] h1, html[data-tema="claro"] h2, html[data-tema="claro"] h3,
html[data-tema="claro"] h4, html[data-tema="claro"] b, html[data-tema="claro"] strong,
html[data-tema="claro"] .v, html[data-tema="claro"] .lb { color:#1b2129 !important; }
html[data-tema="claro"] p, html[data-tema="claro"] .hint, html[data-tema="claro"] .dl,
html[data-tema="claro"] span, html[data-tema="claro"] li, html[data-tema="claro"] label,
html[data-tema="claro"] summary, html[data-tema="claro"] small { color:#454f5b; }
html[data-tema="claro"] table, html[data-tema="claro"] table.grid { background:#ffffff !important; }
html[data-tema="claro"] th { background:#eceef2 !important; color:#1b2129 !important; }
html[data-tema="claro"] td { color:#1b2129 !important; border-color:rgba(15,23,32,.10) !important; }
html[data-tema="claro"] tr:nth-child(even) td { background:#f7f8fa !important; }
html[data-tema="claro"] tfoot td { background:#eceef2 !important; font-weight:700; }
html[data-tema="claro"] a { color:#7d2528; }
html[data-tema="claro"] .seletor a, html[data-tema="claro"] .btn, html[data-tema="claro"] button,
html[data-tema="claro"] select, html[data-tema="claro"] input, html[data-tema="claro"] textarea {
  background:#ffffff !important; color:#1b2129 !important; border:1px solid rgba(15,23,32,.22) !important;
}
html[data-tema="claro"] .seletor a.on, html[data-tema="claro"] .btn {
  background:#7d2528 !important; color:#ffffff !important; border-color:#7d2528 !important;
}
html[data-tema="claro"] .badge { background:#eceef2 !important; color:#454f5b !important; border-color:rgba(15,23,32,.18) !important; }
html[data-tema="claro"] .ibtn { background:#ffffff !important; color:#454f5b !important; border-color:rgba(15,23,32,.18) !important; }
html[data-tema="claro"] .msg.ok { background:#e8f5ec !important; color:#1e6b3a !important; }
html[data-tema="claro"] .msg.warn { background:#fdf3e0 !important; color:#8a5a00 !important; }
html[data-tema="claro"] #nfPanel, html[data-tema="claro"] #calPanel, html[data-tema="claro"] #cbModal > div,
html[data-tema="claro"] details, html[data-tema="claro"] .tablewrap {
  background:#ffffff !important; color:#1b2129 !important; border-color:rgba(15,23,32,.16) !important;
}
html[data-tema="claro"] #nfPanel a div, html[data-tema="claro"] .pagehead h2 { color:#1b2129 !important; }
/* números coloridos mantêm contraste no claro */
html[data-tema="claro"] [style*="color:#46c281"] { color:#1e7a44 !important; }
html[data-tema="claro"] [style*="color:#e0a23b"] { color:#8a5a00 !important; }
html[data-tema="claro"] [style*="color:#d24a4f"] { color:#b02a30 !important; }
html[data-tema="claro"] [style*="color:#C9878A"], html[data-tema="claro"] [style*="color:#A6484C"] { color:#7d2528 !important; }
html[data-tema="claro"] [style*="color:#e9ecf1"], html[data-tema="claro"] [style*="color:#cfd6df"] { color:#1b2129 !important; }
html[data-tema="claro"] [style*="color:#9aa4af"], html[data-tema="claro"] [style*="color:#6b7480"] { color:#57616e !important; }
html[data-tema="claro"] [style*="background:#14171c"], html[data-tema="claro"] [style*="background:#1c2027"],
html[data-tema="claro"] [style*="background:rgba(255,255,255,.04)"], html[data-tema="claro"] [style*="background:rgba(115,35,38,.10)"] {
  background:#ffffff !important; border-color:rgba(15,23,32,.16) !important;
}
/* botão flutuante do tema */
#temaBtn { position:fixed; right:16px; bottom:16px; z-index:2000; width:44px; height:44px;
  border-radius:50%; border:1px solid rgba(127,127,127,.35); background:#14171c; color:#f5d76e;
  font-size:20px; cursor:pointer; box-shadow:0 6px 24px rgba(0,0,0,.35); }
html[data-tema="claro"] #temaBtn { background:#ffffff; color:#7d2528; }

/* ---- refinamento 17/07 (feedback do Pedro no hub) ---- */
html[data-tema="claro"] .hello .h { color:#1b2129 !important; }
html[data-tema="claro"] .hello .h span { color:#57616e !important; }
html[data-tema="claro"] .card .ti { color:#1b2129 !important; }
html[data-tema="claro"] .brand .nm, html[data-tema="claro"] .me .nm { color:#1b2129 !important; }
html[data-tema="claro"] .stat { background:#f0f1f4 !important; border-color:rgba(15,23,32,.14) !important; }
html[data-tema="claro"] .stat .n { color:#1b2129 !important; }
html[data-tema="claro"] .stat .k { color:#57616e !important; }
html[data-tema="claro"] .stat .k.warn { color:#8a5a00 !important; }
html[data-tema="claro"] .stat .k.bad { color:#b02a30 !important; }
html[data-tema="claro"] .stat .k.good { color:#1e7a44 !important; }
html[data-tema="claro"] .support .st { color:#1b2129 !important; }
html[data-tema="claro"] .support .ss { color:#57616e !important; }
html[data-tema="claro"] .support .sb { color:#ffffff !important; border-color:#7d2528 !important;
  background:linear-gradient(145deg,#7d2528,#54191C) !important; }
html[data-tema="claro"] .nav { color:#454f5b !important; }
html[data-tema="claro"] .nav.on { background:rgba(125,37,40,.12) !important; color:#7d2528 !important; font-weight:700; }
html[data-tema="claro"] .navhd { background:none !important; border:0 !important; color:#57616e !important; }
html[data-tema="claro"] .navhd span { color:#57616e !important; }
html[data-tema="claro"] .navlbl { color:#8a93a0 !important; }
html[data-tema="claro"] .it .tx, html[data-tema="claro"] .it .tx b { color:#1b2129 !important; }
html[data-tema="claro"] .sec h2 { color:#1b2129 !important; }
html[data-tema="claro"] .persbtn { background:#ffffff !important; color:#454f5b !important; }
html[data-tema="claro"] .kpi .v { color:#1b2129 !important; }
html[data-tema="claro"] .kpi .lb, html[data-tema="claro"] .kpi .r { color:#57616e !important; }

/* ==== MELHORIAS GLOBAIS 17/07 (valem no claro E no escuro) ==== */
/* menu lateral: maior, mais respiro, item ativo com barra vinho */
.nav { font-size:13px !important; padding:9px 11px !important; gap:11px !important; border-radius:10px; position:relative; }
.nav svg { width:20px !important; height:20px !important; flex:0 0 20px; }
.nav.on::before { content:''; position:absolute; left:-4px; top:7px; bottom:7px; width:3px;
  border-radius:3px; background:var(--accent,#9A3A3E); }
.navitems { gap:4px !important; }
.navhd { font-size:11px !important; padding:9px 7px !important; letter-spacing:.13em; }
.navlbl { font-size:10.5px !important; }
/* tipografia: hierarquia mais forte */
.hello .h { font-size:25px !important; }
.card .ti { font-size:17px !important; }
.stat { padding:11px 13px !important; }
.stat .n { font-size:18px !important; }
.stat .k { font-size:11.5px !important; }
.kpi .v { font-size:27px !important; }
.kpi .lb { font-size:12.5px !important; }
/* cards: respiro + hover com elevação */
.card { padding:18px !important; transition:transform .15s ease, box-shadow .15s ease; }
.card:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(0,0,0,.28); }
html[data-tema="claro"] .card:hover { box-shadow:0 10px 26px rgba(15,23,32,.14); }
/* badge de notificação mais visível */
.ibtn .bdg { min-width:19px !important; height:19px !important; font-size:11px !important; }
/* contraste do texto secundário */
html[data-tema="claro"] p, html[data-tema="claro"] .hint, html[data-tema="claro"] span,
html[data-tema="claro"] .dl, html[data-tema="claro"] label, html[data-tema="claro"] small,
html[data-tema="claro"] .stat .k, html[data-tema="claro"] .kpi .lb { color:#414b57; }
html:not([data-tema="claro"]) .hint, html:not([data-tema="claro"]) .stat .k,
html:not([data-tema="claro"]) .hello .s, html:not([data-tema="claro"]) .card .sub { color:#b3bcc6 !important; }

/* ==== v3 — cards do gerente + topbar (17/07) ==== */
/* o padding global não vale p/ os cards KPI do gerente (tem layout próprio) */
.card.kpi2 { padding:0 0 15px !important; }
.card.kpi2 > span { padding:0 16px; display:block; }
.card.kpi2 > b { padding:0 16px; display:block; font-size:clamp(19px,1.5vw,26px) !important;
  letter-spacing:-.5px; white-space:nowrap; overflow:visible !important; }
.card.kpi2 .delta { padding:0 16px; }
/* topbar do gerente no tema claro: branca, textos escuros */
html[data-tema="claro"] .topbar { background:#ffffff !important; border-bottom:1px solid rgba(15,23,32,.14) !important; }
html[data-tema="claro"] .brandtxt b { color:#1b2129 !important; }
html[data-tema="claro"] .brandtxt small { color:#57616e !important; }
html[data-tema="claro"] .atualizado { color:#57616e !important; background:#f0f1f4 !important; border-color:rgba(15,23,32,.14) !important; }
html[data-tema="claro"] .atualizado b { color:#1b2129 !important; }
html[data-tema="claro"] .topright, html[data-tema="claro"] .topright span { color:#454f5b; }
html[data-tema="claro"] .role-admin { background:rgba(125,37,40,.12) !important; color:#7d2528 !important; border-color:rgba(125,37,40,.35) !important; }
html[data-tema="claro"] .logout, html[data-tema="claro"] a.logout {
  background:#7d2528 !important; color:#ffffff !important; border-color:#7d2528 !important; }
/* menu de abas (mainnav) no claro: fundo branco, aba ativa vinho */
html[data-tema="claro"] .mainnav { background:#ffffff !important; border-color:rgba(15,23,32,.14) !important; }
html[data-tema="claro"] .mainnav a { color:#454f5b !important; }
html[data-tema="claro"] .mainnav a.on, html[data-tema="claro"] .mainnav a.ativo, html[data-tema="claro"] .mainnav a.active {
  background:#7d2528 !important; color:#ffffff !important; }
/* central de pendências e afins: chips coloridos legíveis no claro */
html[data-tema="claro"] .tag { background:#f0f1f4 !important; color:#454f5b !important; }

/* ==== v4 — números inteiros nos cards + linhas da Central de Pendências (17/07) ==== */
.card.kpi2 > b { font-size:clamp(16px,1.1vw,21px) !important; letter-spacing:-.4px; }
html[data-tema="claro"] .risk .t { color:#1b2129 !important; }
html[data-tema="claro"] .risk .d, html[data-tema="claro"] .risk .cap { color:#57616e !important; }
html[data-tema="claro"] .risk .amt .big { color:#1b2129 !important; }
html[data-tema="claro"] .risk { background:#ffffff !important; border-color:rgba(15,23,32,.12) !important; }
html[data-tema="claro"] .risk .go a { color:#7d2528 !important; }
html[data-tema="claro"] .lab, html[data-tema="claro"] .lab b { color:#454f5b !important; }

/* ==== v5 — responsividade mobile (hub, dashboard gerente, aba Folha) 17/07 ==== */
@media (max-width: 540px) {
  .mainnav { overflow-x:auto; white-space:nowrap; -webkit-overflow-scrolling:touch; flex-wrap:nowrap !important; }
  .mainnav a { font-size:12px !important; padding:7px 9px !important; }
  .topbar { flex-wrap:wrap; gap:6px; }
  .atualizado { display:none !important; }
  .pagehead, .seletor { flex-wrap:wrap !important; }
  .card { padding:14px !important; }
  .card.kpi2 > b { font-size:16px !important; }
  .stats { flex-wrap:wrap !important; }
  .stat { min-width:45% !important; }
  .kpis { grid-template-columns:1fr 1fr !important; }
  .tablewrap { overflow-x:auto !important; }
  .tablewrap table.grid { min-width:560px; }
  #nfPanel { right:6px !important; width:94vw !important; }
  #temaBtn { width:40px; height:40px; right:10px; bottom:10px; }
  .hello .h { font-size:21px !important; }
}

/* ==== v6 — barras de seção escuras (#15181d) e chips no claro (17/07) ==== */
html[data-tema="claro"] .eq-legend > b, html[data-tema="claro"] .eq-listhead,
html[data-tema="claro"] .erpmx thead th, html[data-tema="claro"] .erpmx .mx-mod,
html[data-tema="claro"] [style*="background:#15181d"], html[data-tema="claro"] [style*="background:#0d1014"],
html[data-tema="claro"] [style*="background:#101418"], html[data-tema="claro"] [style*="background:#0b0d10"] {
  background:#eceef2 !important; color:#374151 !important;
  border-bottom-color:rgba(125,37,40,.45) !important;
}
/* chips coloridos: texto branco sempre (o fundo colorido permanece nos dois temas) */
html[data-tema="claro"] .eq-chip { color:#ffffff !important; }
html[data-tema="claro"] .eq-chip * { color:#ffffff !important; }
/* linhas zebradas/hover da lista de pessoas no claro */
html[data-tema="claro"] .eq-list .eq-person:nth-of-type(even):not([open]) > summary { background:#f7f8fa !important; }
html[data-tema="claro"] .eq-list .eq-person:not([open]) > summary:hover { background:rgba(125,37,40,.07) !important; }
html[data-tema="claro"] .eq-list .eq-person[open] { background:#ffffff !important; }
html[data-tema="claro"] .eq-legrow:nth-of-type(even) { background:#f7f8fa !important; }
html[data-tema="claro"] .eq-legrow:hover { background:rgba(125,37,40,.06) !important; }

/* ==== v7 — Central de Pendências + tabelas com respiro (pente-fino 17/07) ==== */
.risk { padding:12px 14px !important; gap:12px !important; margin-bottom:8px !important; border-radius:12px !important; }
.risk .t { font-size:13.5px !important; }
.risk .d { font-size:12px !important; }
.risk .amt .big { font-size:15px !important; }
.risk .go a { padding:8px 14px !important; font-size:13px !important; border-radius:9px !important; display:inline-block; }
table.grid th { padding:8px 10px !important; }
table.grid td { padding:7px 10px !important; line-height:1.45 !important; }
