:root{
  --brand-primary:#06b6d4;
  --brand-secondary:#22c55e;
  --bg:#0b1220;
  --card:#0f172a;
  --border:#1f2937;
  --text:#e5e7eb;
  --muted:#94a3b8;
}
:root[data-theme='light']{
  --bg:#f8fafc;
  --card:#ffffff;
  --border:#e2e8f0;
  --text:#0f172a;
  --muted:#475569;
}
body{background:var(--bg);color:var(--text);}
.card{border:1px solid var(--border);background:var(--card);border-radius:16px;padding:16px;}
.hover-lift{transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;}
.hover-lift:hover{transform:translateY(-1px);border-color:rgba(124,58,237,.35);box-shadow:0 18px 40px rgba(0,0,0,.25);}
.pill{border:1px solid var(--border);background:rgba(255,255,255,.02);border-radius:12px;padding:10px;font-size:12px;display:flex;justify-content:space-between;gap:8px;}
.card-title{font-weight:700;margin-bottom:12px;}
.label{font-size:12px;color:var(--muted);}
.input{margin-top:4px;width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:rgba(0,0,0,0.05);color:var(--text);}
:root[data-theme='dark'] .input{background:rgba(0,0,0,0.35);}
.btn-primary{padding:10px 14px;border-radius:10px;background:var(--brand-primary);color:#001018;font-weight:700;}
.btn-secondary{padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text);font-weight:600;}
.btn-danger{padding:8px 12px;border-radius:10px;background:#be123c;color:#fff;font-weight:700;}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;border:1px solid var(--border);background:rgba(0,0,0,0.03);font-size:12px;}
:root[data-theme='dark'] .badge{background:rgba(255,255,255,0.03);}
.table{width:100%;font-size:13px;border-collapse:collapse;}
.table th,.table td{padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:top;}
.table th{text-align:left;font-size:12px;color:var(--muted);font-weight:700;}
.modal-backdrop{background:rgba(0,0,0,0.55);}
pre.json{white-space:pre-wrap;word-break:break-word;}
.code{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;}


.btn{padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text);font-weight:700;}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px;}
/* Sidebar menu (evitar "menu torto" e vazamento de estilos) */
.sidebar-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.sidebar-link{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  width:100%;
  box-sizing:border-box;
  padding:10px 12px;
  border-radius:12px;
  color:var(--text);
  text-decoration:none;
  border:1px solid transparent;
}
.sidebar-link.active{background:rgba(0,0,0,0.06);border-color:var(--border);}
:root[data-theme='dark'] .sidebar-link.active{background:rgba(255,255,255,0.05);}
.sidebar-link:hover{background:rgba(0,0,0,0.04);}
:root[data-theme='dark'] .sidebar-link:hover{background:rgba(255,255,255,0.04);}

/* compat: regras antigas, mas sem quebrar a sidebar */
aside nav a{display:block;}
.json{white-space:pre;overflow:auto;max-height:520px;}

aside{min-height:100vh;}

/* Sidebar menu (fix layout torto) */
.sidebar-nav{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.sidebar-link{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  width:100%;
  box-sizing:border-box;
  padding:10px 12px;
  border-radius:12px;
  color:var(--text);
  text-decoration:none;
  border:1px solid transparent; /* evita "pular" no active */
}
.sidebar-link:hover{background:rgba(0,0,0,0.04);}
:root[data-theme='dark'] .sidebar-link:hover{background:rgba(255,255,255,0.04);}
.sidebar-link.active{background:rgba(0,0,0,0.06);border-color:var(--border);}
:root[data-theme='dark'] .sidebar-link.active{background:rgba(255,255,255,0.05);}
