/* Tema Wepink: rosa e branco. Sem modo escuro. */
:root{
  --pink:#D81B73;--pink-600:#C2185B;--pink-100:#FDE7F1;--pink-50:#FFF5FA;
  --purple:#7B3FBF;--blue:#2F80ED;
  --bg:#FFFFFF;--card:#FFFFFF;--tx:#2B2438;--mut:#6F6A80;--bd:#F1D6E4;
  --ok:#157A46;--bad:#C62828;--warn:#8A5A00;--ok-bg:#E8F6EE;--bad-bg:#FDECEC;--warn-bg:#FFF4D9;
}
*{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--pink-600)}
header.top{background:linear-gradient(90deg,var(--pink) 0%,#E6217D 55%,#F0529A 100%);color:#fff;padding:.7rem 1rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
header.top .brand{font-weight:800;letter-spacing:.4px;font-size:1.05rem}
header.top .brand small{font-weight:500;opacity:.9}
header.top form{display:inline;margin:0}
header.top select{font:inherit;padding:.35rem .6rem;border-radius:999px;border:1px solid rgba(255,255,255,.7);background:#fff;color:var(--pink-600);font-weight:600}
header.top .sp{flex:1}
header.top .quem{color:#fff;opacity:.95}
header.top button{background:transparent;border:1px solid #fff;color:#fff}
nav.menu{background:#fff;border-bottom:2px solid var(--pink-100);padding:0 1rem;display:flex;gap:.1rem;overflow-x:auto}
nav.menu a{padding:.7rem .85rem;color:var(--mut);text-decoration:none;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-2px}
nav.menu a:hover{color:var(--pink-600);background:var(--pink-50)}
nav.menu a.on{color:var(--pink);border-bottom-color:var(--pink);font-weight:700}
main{max-width:1180px;margin:0 auto;padding:1.2rem 1rem 3rem}
h1{font-size:1.5rem;margin:.2rem 0 1rem;color:var(--tx)}
h1::after{content:"";display:block;width:56px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--pink),var(--purple));margin-top:.35rem}
h2{font-size:1.08rem;margin:1.7rem 0 .6rem;color:var(--pink-600)}
.card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:1rem 1.1rem;margin-bottom:1rem;box-shadow:0 1px 0 rgba(216,27,115,.04)}
.card.chart{padding:.6rem .7rem}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.kpi{font-size:1.5rem;font-weight:800;color:var(--tx)}
.mut{color:var(--mut);font-size:.9rem}
.ok{color:var(--ok)}.bad{color:var(--bad)}.warn{color:var(--warn)}
.flash,.aviso,.erro{padding:.7rem 1rem;border-radius:12px;margin-bottom:1rem;border:1px solid var(--bd)}
.flash{background:var(--ok-bg);border-color:#9AD3B3}
.aviso{background:var(--warn-bg);border-color:#E9C46A}
.erro{background:var(--bad-bg);border-color:#F2A7A7}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{padding:.45rem .6rem;border-bottom:1px solid #F6E6EE;text-align:left;vertical-align:top}
th{color:var(--pink-600);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.35px;background:var(--pink-50)}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tr:hover td{background:#FFFAFD}
tr.tot td{font-weight:800;border-top:2px solid var(--pink);background:var(--pink-50)}
tr.sub td{background:var(--pink-100);font-weight:700}
.scroll{overflow-x:auto}
label{display:block;font-size:.82rem;color:var(--mut);margin-bottom:.15rem}
input,select,textarea{font:inherit;padding:.42rem .6rem;border:1px solid #E7CADA;border-radius:10px;background:#fff;color:var(--tx);max-width:100%}
input:focus,select:focus{outline:2px solid var(--pink-100);border-color:var(--pink)}
.form{display:flex;flex-wrap:wrap;gap:.7rem;align-items:flex-end}
button,.btn{font:inherit;font-weight:600;padding:.48rem 1rem;border-radius:999px;border:1px solid var(--pink);background:var(--pink);color:#fff;cursor:pointer;text-decoration:none;display:inline-block}
button:hover,.btn:hover{background:var(--pink-600)}
button.sec,.btn.sec{background:#fff;color:var(--pink-600)}
button.sec:hover,.btn.sec:hover{background:var(--pink-50)}
button.mini{padding:.12rem .6rem;font-size:.8rem}
.tag{display:inline-block;padding:.05rem .55rem;border-radius:999px;font-size:.78rem;border:1px solid var(--bd);background:#fff}
.tag.ok{background:var(--ok-bg);border-color:#9AD3B3}.tag.bad{background:var(--bad-bg);border-color:#F2A7A7}.tag.warn{background:var(--warn-bg);border-color:#E9C46A}
.tag.pink{background:var(--pink-100);border-color:#F4B6D2;color:var(--pink-600)}
.login{max-width:380px;margin:12vh auto;border-top:6px solid var(--pink)}
.row{display:flex;gap:1rem;flex-wrap:wrap}.row>*{flex:1;min-width:240px}
details summary{cursor:pointer;color:var(--pink-600);font-weight:600}
.pulse{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;margin-right:.35rem;background:#bbb}
.pulse.ok{background:var(--ok)}.pulse.bad{background:var(--bad)}.pulse.warn{background:#E0A100}
@media (max-width:640px){main{padding:1rem .75rem}th,td{padding:.4rem .4rem}}

caption{caption-side:top;text-align:left;padding:0 0 .55rem}
.periodo{font-size:.9rem;color:var(--tx);display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:0 0 .6rem}
.periodo .bad{font-weight:600}

/* painel */
.grid.kpis{grid-template-columns:repeat(auto-fit,minmax(176px,1fr))}
.grid2{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}
@media (max-width:480px){.grid2{grid-template-columns:1fr}}
.kpi-card{display:block;text-decoration:none;color:var(--tx)}
.kpi-card:hover{border-color:var(--pink);background:var(--pink-50)}
.kpi.s{font-size:1.15rem}
h2.sec{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 .6rem}
h2.sec .ver{font-size:.8rem;font-weight:600;text-decoration:none}
h3{font-size:.9rem;margin:1rem 0 .4rem;color:var(--tx)}
.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.alertas .alerta{display:block;padding:.4rem .7rem;margin:.25rem 0;border-radius:10px;text-decoration:none;color:var(--tx);border:1px solid var(--bd)}
.alertas .alerta.bad{background:var(--bad-bg);border-color:#F2A7A7}
.alertas .alerta.warn{background:var(--warn-bg);border-color:#E9C46A}
.alertas .alerta.pink{background:var(--pink-100);border-color:#F4B6D2}
/* painel: para onde foi o dinheiro */
details.destino{border-bottom:1px solid var(--bd);padding:2px 0}
details.destino>summary{list-style:none;display:grid;grid-template-columns:14px minmax(140px,1.6fr) minmax(60px,1fr) 110px 64px;gap:10px;align-items:center;padding:8px 4px;color:var(--tx);font-weight:400}
details.destino>summary::-webkit-details-marker{display:none}
details.destino>summary:hover{background:var(--pink-50)}
details.destino[open]>summary{background:var(--pink-50)}
details.destino .dot{width:12px;height:12px;border-radius:3px;display:inline-block}
details.destino .barra{height:10px;background:#F3EEF8;border-radius:6px;overflow:hidden;display:block}
details.destino .barra>span{display:block;height:100%;border-radius:6px}
details.destino .n{text-align:right}
details.destino table.itens{margin:4px 0 10px 24px;width:calc(100% - 24px)}
details.destino table.itens td{padding:3px 6px;border:0;border-bottom:1px dashed var(--bd)}
@media (max-width:600px){details.destino>summary{grid-template-columns:12px 1fr 90px;}details.destino .barra,details.destino>summary .n.mut{display:none}}
.seg{display:inline-flex;border:1px solid var(--bd);border-radius:999px;overflow:hidden}
.seg a{padding:5px 12px;text-decoration:none;color:#5B5870;font-weight:600;font-size:.9rem}
.seg a.on{background:var(--pink,#D81B73);color:#fff}
.macro{display:flex;height:16px;border-radius:8px;overflow:hidden;margin-top:14px;background:#F3EEF8}
.macro>span{display:block;height:100%}
