/* Painel Capital Olfativo — estilo compartilhado entre todas as páginas do admin. */

:root{
  --bg:#F5F1E9; --surface:#FFFFFF; --surface-2:#FBF7EF;
  --ink:#2A241F; --ink-soft:#6E6656; --ink-faint:#9C9280;
  --accent:#A9764D; --accent-ink:#6B4A2E; --accent-soft:#F0E4D3;
  --line:#E4DDCC; --danger:#A9483B; --danger-soft:#F3E3E0;
  --ok:#4F6B45; --ok-soft:#E4EBE0; --warn:#93701F; --warn-soft:#F1E8D0;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#1B1611; --surface:#241D16; --surface-2:#2A2118;
    --ink:#F3EADC; --ink-soft:#BBAD95; --ink-faint:#8A7D68;
    --accent:#D8A06C; --accent-ink:#F0CCA0; --accent-soft:#3A2C1E;
    --line:#3A2E22; --danger:#E08877; --danger-soft:#3A2420;
    --ok:#9BC28C; --ok-soft:#2A3324; --warn:#E0C179; --warn-soft:#3A2F17;
    color-scheme: dark;
  }
}
:root[data-theme="dark"]{
  --bg:#1B1611; --surface:#241D16; --surface-2:#2A2118;
  --ink:#F3EADC; --ink-soft:#BBAD95; --ink-faint:#8A7D68;
  --accent:#D8A06C; --accent-ink:#F0CCA0; --accent-soft:#3A2C1E;
  --line:#3A2E22; --danger:#E08877; --danger-soft:#3A2420;
  --ok:#9BC28C; --ok-soft:#2A3324; --warn:#E0C179; --warn-soft:#3A2F17;
  color-scheme: dark;
}

*{box-sizing:border-box;}
html,body{margin:0; padding:0;}
body{
  background:var(--bg); color:var(--ink);
  font-family:"IBM Plex Sans", system-ui, sans-serif;
  -webkit-font-smoothing:antialiased;
}
.mono{font-family:"IBM Plex Mono", ui-monospace, monospace; font-variant-numeric:tabular-nums;}
h1,h2,h3{font-family:"Fraunces", Georgia, serif; text-wrap:balance; margin:0;}
a{color:var(--accent-ink);}

/* Top nav, shared shell */
.topnav{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:16px 24px; border-bottom:1px solid var(--line); background:var(--surface);
  flex-wrap:wrap;
}
.topnav .brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink);}
.topnav .brand .logo-chip{
  height:32px; padding:0 10px; border-radius:8px; background:#F5F1E9;
  display:flex; align-items:center;
}
.topnav .brand .logo-chip img{height:20px; width:auto; display:block;}
.topnav nav{display:flex; gap:4px;}
.topnav nav a{
  text-decoration:none; color:var(--ink-soft); font-size:13.5px; font-weight:600;
  padding:8px 12px; border-radius:8px;
}
.topnav nav a:hover{background:var(--surface-2); color:var(--ink);}
.topnav nav a.active{background:var(--accent-soft); color:var(--accent-ink);}
.topnav-right{display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
.topnav-user{display:flex; align-items:center; gap:10px; padding-left:14px; border-left:1px solid var(--line);}
.topnav-user-name{font-size:13px; color:var(--ink-soft); font-weight:600;}
.topnav-logout{
  font-family:inherit; font-size:12.5px; font-weight:600; border-radius:8px; border:1px solid var(--line);
  padding:6px 12px; cursor:pointer; background:transparent; color:var(--ink-soft);
}
.topnav-logout:hover{border-color:var(--accent); color:var(--ink);}

.page{max-width:760px; margin:0 auto; padding:32px 20px 64px; display:flex; flex-direction:column; gap:24px;}

.kicker{font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--accent-ink);}
.page h1{font-size:clamp(24px,5vw,30px); font-weight:600; line-height:1.15;}
.page > p.lede{margin:0; color:var(--ink-soft); font-size:15px; line-height:1.55; max-width:56ch;}

.card{
  background:var(--surface); border:1px solid var(--line); border-radius:16px;
  padding:22px; display:flex; flex-direction:column; gap:16px;
}
.card h2{font-size:18px; font-weight:600;}
.card .sub{font-size:12.5px; color:var(--ink-faint); margin-top:-10px;}

.section-link{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:16px 18px; border-radius:12px; border:1px solid var(--line); background:var(--surface);
  text-decoration:none; color:var(--ink);
}
.section-link:hover{border-color:var(--accent);}
.section-link .t{font-weight:600; font-size:14.5px;}
.section-link .d{font-size:12.5px; color:var(--ink-faint); margin-top:2px;}
.section-link .arrow{color:var(--accent-ink); font-size:18px;}

.stats{display:grid; grid-template-columns:repeat(3,1fr); gap:12px;}
@media (max-width:520px){ .stats{grid-template-columns:1fr 1fr;} }
.stat{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:16px 18px; display:flex; flex-direction:column; gap:4px;}
.stat .n{font-family:"Fraunces",serif; font-size:26px; font-weight:600;}
.stat .l{font-size:12px; color:var(--ink-faint); letter-spacing:.02em;}

.chan-row{display:flex; flex-direction:column; gap:6px;}
.chan-top{display:flex; align-items:baseline; justify-content:space-between; gap:10px;}
.chan-name{font-size:14.5px; font-weight:600;}
.chan-name .medio{font-weight:400; color:var(--ink-faint); font-size:12.5px;}
.chan-nums{font-size:13px; color:var(--ink-soft); white-space:nowrap;}
.chan-nums b{color:var(--ink); font-weight:600;}
.bar-track{height:8px; border-radius:99px; background:var(--surface-2); overflow:hidden;}
.bar-fill{height:100%; background:var(--accent); border-radius:99px;}
.chan-list{display:flex; flex-direction:column; gap:14px;}

table{width:100%; border-collapse:collapse; font-size:13.5px;}
th{text-align:left; font-size:11.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-faint); font-weight:600; padding:0 10px 8px; border-bottom:1px solid var(--line);}
td{padding:10px 10px; border-bottom:1px solid var(--line); vertical-align:middle;}
tr:last-child td{border-bottom:none;}
.id-cell{color:var(--ink-faint); font-size:12px;}
.tbl-wrap{overflow-x:auto;}

.pill{font-size:11px; font-weight:600; padding:3px 9px; border-radius:99px; white-space:nowrap; display:inline-block;}
.pill-ok{background:var(--ok-soft); color:var(--ok);}
.pill-warn{background:var(--warn-soft); color:var(--warn);}
.pill-danger{background:var(--danger-soft); color:var(--danger);}
.pill-neutral{background:var(--surface-2); color:var(--ink-faint);}

.top-row{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.updated{font-size:12px; color:var(--ink-faint);}
.btn{
  font-family:inherit; font-size:13px; font-weight:600; border-radius:9px; border:1px solid var(--line);
  padding:8px 14px; cursor:pointer; background:var(--surface); color:var(--ink);
}
.btn:hover{border-color:var(--accent);}
.btn:disabled{opacity:.5; cursor:not-allowed;}

.empty{padding:30px 20px; text-align:center; color:var(--ink-faint); font-size:13.5px;}
.banner{display:flex; gap:10px; border-radius:12px; padding:14px 16px; font-size:13.5px; line-height:1.5;}
.banner-warn{background:var(--warn-soft); color:var(--warn);}
.banner-danger{background:var(--danger-soft); color:var(--danger);}
.banner b{color:var(--ink);}

.skeleton{display:flex; flex-direction:column; gap:10px;}
.sk-line{height:14px; border-radius:6px; background:var(--surface-2); animation:pulse 1.4s ease-in-out infinite;}
.sk-line.w40{width:40%;} .sk-line.w60{width:60%;} .sk-line.w80{width:80%;}
@keyframes pulse{0%,100%{opacity:1;} 50%{opacity:.5;}}
@media (prefers-reduced-motion: reduce){ .sk-line{animation:none;} }

footer.page-footer{font-size:12px; color:var(--ink-faint); text-align:center; padding:8px 0 0;}
