/* ============ Painel Operacional — Projeto Desenvolve ============ */
:root{
  --navy:#12325f; --navy-700:#0d2547;
  --blue:#2071b8; --teal:#0f9b9e; --green:#57a838; --orange:#f39118; --purple:#7e3f98;
  --ink:#1d2b3e; --muted:#5b6b7d; --line:#e7ded3;
  --cream:#fdf6ee; --cream-2:#f7ede1; --white:#fff; --card:#fff;
  --radius:16px; --radius-lg:22px;
  --shadow-sm:0 2px 10px rgba(18,50,95,.06);
  --shadow:0 14px 40px rgba(18,50,95,.10);
  --ok:#2f9e44; --warn:#e8590c; --bad:#e03131;
  --font:"Poppins","Segoe UI",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);color:var(--ink);background:var(--cream);line-height:1.5}
h1,h2,h3{color:var(--navy);font-weight:700;letter-spacing:-.01em}
a{color:inherit}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}

/* ---------- Topbar ---------- */
.topbar{position:sticky;top:0;z-index:20;background:rgba(253,246,238,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.topbar-in{display:flex;align-items:center;gap:20px;padding:14px 24px;flex-wrap:wrap}
.brand img{height:40px;display:block}
.topbar-title{margin-right:auto}
.topbar-title h1{font-size:1.05rem;line-height:1.2}
.eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.topbar-controls{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.field{display:flex;flex-direction:column;gap:4px;font-size:.74rem;font-weight:600;color:var(--muted)}
.field span{letter-spacing:.04em;text-transform:uppercase;font-size:.66rem}
.field select,.field input{font-family:var(--font);font-size:.9rem;font-weight:500;color:var(--ink);
  padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--white);min-width:150px;cursor:pointer}
.field select:focus,.field input:focus{outline:2px solid var(--blue);outline-offset:1px}
.field-inline{margin-left:auto;flex-direction:row;align-items:center;gap:8px}
.field-inline span{text-transform:none;letter-spacing:0;font-size:.78rem}
.btn{font-family:var(--font);font-weight:600;font-size:.86rem;padding:9px 16px;border-radius:12px;
  border:1px solid transparent;cursor:pointer;transition:.15s}
.btn-ghost{background:transparent;color:var(--navy);border-color:rgba(18,50,95,.22)}
.btn-ghost:hover{border-color:var(--navy);background:rgba(18,50,95,.04)}

/* ---------- Aviso ---------- */
.aviso{margin:20px 0 0;padding:14px 18px;border-radius:14px;background:#fff6e9;border:1px solid #f4d9a8;
  color:#8a5a12;font-size:.9rem}
.aviso b{color:#6b4409}

/* ---------- Blocos ---------- */
.bloco{margin-top:34px}
.bloco-head{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.bloco-head .dot{width:10px;height:10px;border-radius:50%;flex:none}
.bloco-head h2{font-size:1.15rem}
.bloco-head p{color:var(--muted);font-size:.9rem;margin-right:6px}

/* ---------- Cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;
  box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c,var(--blue))}
.card .label{font-size:.8rem;color:var(--muted);font-weight:500;display:block;min-height:2.4em}
.card .value{font-size:2rem;font-weight:700;color:var(--navy);line-height:1.1;margin-top:6px}
.card .value small{font-size:1rem;color:var(--muted);font-weight:600}
.card .delta{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:.8rem;font-weight:600;
  padding:2px 8px;border-radius:20px}
.delta.up{color:var(--ok);background:rgba(47,158,68,.10)}
.delta.down{color:var(--bad);background:rgba(224,49,49,.10)}
.delta.flat{color:var(--muted);background:rgba(91,107,125,.10)}
.card .sub{font-size:.76rem;color:var(--muted);margin-top:8px}

/* ---------- Gráfico ---------- */
.chart-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:22px;box-shadow:var(--shadow-sm)}
.chart{width:100%;overflow-x:auto}
.chart svg{display:block;width:100%;height:auto;min-width:520px}
.chart-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;font-size:.82rem;color:var(--muted)}
.chart-legend span{display:inline-flex;align-items:center;gap:7px}
.chart-legend i{width:14px;height:4px;border-radius:3px;display:inline-block}

/* ---------- Rede de unidades ---------- */
.unidades-resumo{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-bottom:18px}
.mini{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow-sm)}
.mini .mval{font-size:1.5rem;font-weight:700;color:var(--navy)}
.mini .mlab{font-size:.78rem;color:var(--muted)}
.tipos{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--navy);
  background:var(--white);border:1px solid var(--line);padding:6px 12px;border-radius:20px}
.chip b{color:var(--muted);font-weight:600}

.tabela-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);overflow:hidden}
.tabela-tools{display:flex;align-items:center;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tabela-tools input{flex:1;min-width:200px;font-family:var(--font);font-size:.9rem;padding:10px 14px;
  border:1px solid var(--line);border-radius:12px}
.contagem{font-size:.82rem;color:var(--muted);font-weight:600}
.tabela-scroll{overflow-x:auto}
.tabela{width:100%;border-collapse:collapse;font-size:.9rem;min-width:640px}
.tabela th,.tabela td{text-align:left;padding:13px 18px;border-bottom:1px solid var(--line)}
.tabela th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--cream-2)}
.tabela td.num,.tabela th.num{text-align:right}
.tabela tbody tr:last-child td{border-bottom:none}
.tabela tbody tr:hover{background:var(--cream)}
.badge{font-size:.74rem;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap}
.badge.tipo{background:rgba(32,113,184,.10);color:var(--blue)}
.badge.sim{background:rgba(47,158,68,.12);color:var(--ok)}
.badge.nao{background:rgba(91,107,125,.12);color:var(--muted)}
.badge.ativa{background:rgba(87,168,56,.14);color:var(--green)}
.badge.implantacao{background:rgba(243,145,24,.14);color:var(--orange)}
.badge.prevista{background:rgba(126,63,152,.12);color:var(--purple)}

/* ---------- Rodapé ---------- */
.rodape{margin:44px 0 30px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}
.rodape code{background:var(--cream-2);padding:2px 6px;border-radius:6px;font-size:.9em}

@media (max-width:720px){
  .topbar-title{order:3;width:100%}
  .field-inline{margin-left:0}
  .card .value{font-size:1.7rem}
}
