/* SPRE Node Grid — theme override (drop-in) */
:root{
  --gold:#CDA75C; --panel:#161b22; --line:#2f3b52; --text:#e6eef8; --muted:#9fb3c8;
}
/* Base */
html,body{ background:#0b0f14 !important; color:var(--text) !important; }
a{ color:var(--text) !important; }
.small,.status{ color:var(--muted) !important; }
/* Headings */
h1,h2,h3,h4{ color:var(--text) !important; }
h1,h2{ letter-spacing:.01em }
/* Gold accents */
.gold, .accent, .heading-accent{ color:var(--gold) !important; }
button.primary, .btn-primary, .pill.gold{
  background:var(--gold) !important; color:#000 !important; border:1px solid #1f2a39 !important;
  border-radius:10px !important;
}
/* Panels / cards */
.card, .panel, .tile, .box{
  background:var(--panel) !important; border:1px solid var(--line) !important; color:var(--text) !important;
  border-radius:14px !important;
}
/* Tables */
table{ width:100%; border-collapse:separate; border-spacing:0; background:var(--panel) !important; color:var(--text) !important; border:1px solid var(--line) !important; border-radius:12px; overflow:hidden; }
th, td{ border-bottom:1px solid var(--line) !important; padding:10px 12px !important; }
th{ text-align:left; color:var(--gold) !important; background:#1a2230 !important; }
tr:last-child td{ border-bottom:0 !important; }
/* Inputs */
input, select, textarea{
  background:#0e151f !important; color:var(--text) !important; border:1px solid #1f2a39 !important; border-radius:10px !important; padding:10px 12px !important;
}
/* Badges / status */
.badge, .status-pill{
  display:inline-block; padding:6px 10px; border-radius:999px; border:1px solid var(--line);
  background:#121b28; color:var(--text);
}
.badge.ok, .status-ok{ background:#10231a !important; border-color:#224e36 !important; color:#b9f5c8 !important; }
.badge.warn, .status-warn{ background:#2a1f0f !important; border-color:#5a3b16 !important; color:#ffd7a1 !important; }
.badge.err, .status-err{ background:#2a1416 !important; border-color:#5c2228 !important; color:#ffb9c2 !important; }
/* Buttons (generic) */
.btn, button, .button{
  background:#212a38 !important; border:1px solid var(--line) !important; color:var(--text) !important; border-radius:10px !important; padding:8px 12px !important;
}
.btn:hover, button:hover, .button:hover{ background:#2a3547 !important; }
/* Code blocks */
pre, code{ background:#111722 !important; color:#d6e6ff !important; border:1px solid #263146 !important; border-radius:8px; padding:2px 6px; }
pre{ padding:12px; overflow:auto }
/* Links inside cards */
.card a, .panel a, .tile a{ color:var(--gold) !important; }
/* Section dividers */
hr{ border:0; border-top:1px solid var(--line) !important; }
/* Grids */
.grid, .node-grid{ display:grid; gap:16px }
.grid.cols-3{ grid-template-columns:repeat(3,1fr) }
@media (max-width:900px){ .grid.cols-3{ grid-template-columns:repeat(2,1fr) } }
@media (max-width:560px){ .grid.cols-3{ grid-template-columns:1fr } }
/* Page wrapper paddings, if present */
.wrap, .container{ max-width:1200px; margin:0 auto; padding:0 16px 24px }
