/* Painel da Rede — Clínica da Cidade · Nobox
   Tokens definidos no :root (claro). O escuro só redefine, nunca cria cor nova. */
:root{
  --bg:#eef2f6; --card:#fff; --card2:#f4f7fa; --linha:rgba(15,23,42,.10);
  --txt:#0f172a; --sec:#334155; --mudo:#64748b;
  --ac:#0f8fbf; --ac2:#37b3dd; --ac3:#0b6d94; --brilho:rgba(15,143,191,.14);
  --ok:#12b76a; --warn:#f59e0b; --bad:#e5484d; --neutro:#94a3b8;
  --r:16px; --r-sm:11px;
  --sombra:0 1px 3px rgba(15,23,42,.05), 0 10px 30px rgba(15,23,42,.07);
  --max:1180px;
}
:root[data-tema="dark"]{
  --bg:#0b1220; --card:#131c2b; --card2:#1a2536; --linha:rgba(255,255,255,.10);
  --txt:#eef4fb; --sec:#c2cfdd; --mudo:#8fa1b6;
  --brilho:rgba(55,179,221,.16);
  --sombra:0 1px 3px rgba(0,0,0,.4), 0 12px 34px rgba(0,0,0,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  background:var(--bg); color:var(--txt); line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Outfit',sans-serif;letter-spacing:-.02em}
a{color:var(--ac3);text-decoration:none}
a:hover{text-decoration:underline}
:root[data-tema="dark"] a{color:var(--ac2)}

.wrap{max-width:var(--max);margin:0 auto;padding:0 20px 60px}

/* Faixa de base simulada — sempre visível, nunca dispensável */
.sim-bar{
  background:repeating-linear-gradient(135deg,#7a3d00,#7a3d00 12px,#8a4600 12px,#8a4600 24px);
  color:#ffe9d1; padding:9px 20px; font-size:.79rem; text-align:center;
  display:flex; gap:10px; align-items:center; justify-content:center; flex-wrap:wrap;
}
.sim-bar strong{
  font-family:'Outfit';font-weight:800;letter-spacing:.08em;
  background:#ffb066;color:#3d1d00;padding:2px 9px;border-radius:99px;font-size:.72rem;
}
.sim-bar span{max-width:860px;opacity:.95}

/* Topo */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;
  flex-wrap:wrap;padding:22px 0 14px}
.brand{display:flex;align-items:center;gap:13px}
.brand img{height:28px;width:auto}
.brand .div{width:1px;height:26px;background:var(--linha)}
.brand .t{font-family:'Outfit';font-weight:700;font-size:1rem;line-height:1.2}
.brand .t span{display:block;color:var(--mudo);font-weight:500;font-size:.76rem}
.acoes{display:flex;align-items:center;gap:9px}
.badge{font-size:.76rem;color:var(--sec);background:var(--card);border:1px solid var(--linha);
  padding:7px 13px;border-radius:99px;box-shadow:var(--sombra);white-space:nowrap}
.btn-tema{font:inherit;font-size:.76rem;font-weight:600;cursor:pointer;color:var(--sec);
  background:var(--card);border:1px solid var(--linha);padding:7px 13px;border-radius:99px;
  box-shadow:var(--sombra)}
.btn-tema:hover{color:var(--ac3);border-color:var(--ac2)}

/* Banner de risco */
.risco-banner{
  margin-top:6px;background:var(--card);border:1px solid var(--bad);
  border-left:5px solid var(--bad); border-radius:var(--r);
  padding:15px 20px;box-shadow:var(--sombra);
  display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;
}
.risco-banner strong{font-family:'Outfit';font-weight:800;color:var(--bad);font-size:1.02rem}
.risco-banner span{color:var(--sec);font-size:.9rem}

/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:16px}
.kpi{background:var(--card);border:1px solid var(--linha);border-radius:var(--r);
  padding:17px 16px;box-shadow:var(--sombra)}
.kpi .v{font-family:'Outfit';font-weight:800;font-size:1.6rem;color:var(--ac);line-height:1.1}
.kpi.ok .v{color:var(--ok)} .kpi.warn .v{color:var(--warn)} .kpi.bad .v{color:var(--bad)}
.kpi .l{color:var(--txt);font-size:.8rem;font-weight:600;margin-top:6px}
.kpi .s{color:var(--mudo);font-size:.73rem;margin-top:2px}

/* Cards e seções */
section{margin-top:20px}
.card{background:var(--card);border:1px solid var(--linha);border-radius:var(--r);
  padding:22px 24px;box-shadow:var(--sombra)}
.card.destaque{border-color:var(--warn);border-top:4px solid var(--warn)}
.sec-h{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.sec-h h2{font-size:1.16rem;font-weight:800}
.sec-h .n{font-family:'Outfit';font-weight:800;color:var(--ac);opacity:.32;font-size:1.16rem}
.lead{color:var(--sec);font-size:.94rem;margin-bottom:14px;max-width:88ch}
.nota-rodape{color:var(--mudo);font-size:.8rem;margin-top:13px;
  border-top:1px solid var(--linha);padding-top:11px;max-width:96ch}
.nota-rodape em{color:var(--sec);font-style:normal;font-weight:600}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* Gráficos */
.chart-box{position:relative;height:290px}

/* Filtros */
.filtros{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:13px}
.filtros input,.filtros select{
  font:inherit;font-size:.85rem;color:var(--txt);background:var(--card2);
  border:1px solid var(--linha);border-radius:9px;padding:8px 11px;
}
.filtros input{min-width:230px}
.filtros input:focus,.filtros select:focus{outline:2px solid var(--ac2);outline-offset:1px}
.contador{color:var(--mudo);font-size:.8rem;margin-left:auto}

/* Tabelas */
.tabela-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;font-size:.86rem;min-width:640px}
.tbl th,.tbl td{padding:9px 11px;text-align:left;border-bottom:1px solid var(--linha);
  white-space:nowrap}
.tbl th{font-family:'Outfit';font-weight:700;font-size:.75rem;color:var(--mudo);
  text-transform:uppercase;letter-spacing:.05em}
.tbl.ranking th{cursor:pointer;user-select:none}
.tbl.ranking th:hover{color:var(--ac3)}
.tbl th.num,.tbl td.num{text-align:right;font-variant-numeric:tabular-nums}
.tbl tbody tr:hover{background:var(--card2)}
.tbl td.forte{font-family:'Outfit';font-weight:800}
.tbl td.miudo{white-space:normal;color:var(--mudo);font-size:.79rem;min-width:250px}
.tbl td.nome{white-space:normal;min-width:180px}

/* Pílulas */
.pil{display:inline-block;padding:3px 10px;border-radius:99px;font-size:.74rem;
  font-weight:700;font-family:'Outfit';border:1px solid transparent;white-space:nowrap}
.pil-exc{background:rgba(18,183,106,.14);color:#0b8a50;border-color:rgba(18,183,106,.3)}
.pil-boa{background:rgba(15,143,191,.14);color:var(--ac3);border-color:rgba(15,143,191,.3)}
.pil-ade{background:rgba(148,163,184,.18);color:#4a5b6f;border-color:rgba(148,163,184,.34)}
.pil-ate{background:rgba(245,158,11,.16);color:#a86609;border-color:rgba(245,158,11,.34)}
.pil-cri{background:rgba(229,72,77,.14);color:#b3282d;border-color:rgba(229,72,77,.32)}
:root[data-tema="dark"] .pil-exc{color:#4ade9a}
:root[data-tema="dark"] .pil-boa{color:var(--ac2)}
:root[data-tema="dark"] .pil-ade{color:#b6c4d4}
:root[data-tema="dark"] .pil-ate{color:#fbbf5a}
:root[data-tema="dark"] .pil-cri{color:#ff8b8f}

/* Rodapé */
.rodape{margin-top:34px;padding-top:20px;border-top:1px solid var(--linha);
  display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.rodape img{height:22px;opacity:.75}
.rodape p{color:var(--mudo);font-size:.78rem;max-width:70ch}

@media (max-width:980px){
  .kpis{grid-template-columns:repeat(2,1fr)}
  .grid2{grid-template-columns:1fr}
}
@media (max-width:560px){
  .kpis{grid-template-columns:1fr}
  .card{padding:18px 15px}
  .contador{margin-left:0;width:100%}
}
