/* ===== Nested Host Panel — tema dark roxo/vermelho ===== */
:root{
  --bg:#0a0710;
  --bg-elev:#120b1c;
  --surface:#150f22;
  --surface-2:#1b1329;
  --border:#2a1f3d;
  --border-soft:#221933;
  --violet:#8b5cf6;
  --violet-strong:#7c3aed;
  --violet-soft:#a78bfa;
  --red:#ef4444;
  --red-soft:#f87171;
}
html,body{ background:var(--bg); }
body{
  background:
    radial-gradient(60rem 30rem at 85% -10%, rgba(139,92,246,.14), transparent 60%),
    radial-gradient(50rem 26rem at -10% 10%, rgba(239,68,68,.07), transparent 55%),
    var(--bg);
  min-height:100vh;
}
::-webkit-scrollbar{ width:8px; height:8px; }
::-webkit-scrollbar-track{ background:transparent; }
::-webkit-scrollbar-thumb{ background:#2b2140; border-radius:8px; }
::-webkit-scrollbar-thumb:hover{ background:#3a2c56; }
* { scrollbar-color:#2b2140 transparent; scrollbar-width:thin; }

.nhp-card{
  background:linear-gradient(180deg, var(--surface), var(--bg-elev));
  border:1px solid var(--border-soft);
  border-radius:16px;
}
.nhp-surface{ background:var(--surface); border:1px solid var(--border-soft); }
.nhp-input{
  background:#0f0a19; border:1px solid var(--border); color:#f1eef9;
}
.nhp-input:focus{ outline:none; border-color:var(--violet); box-shadow:0 0 0 3px rgba(139,92,246,.18); }

.nhp-btn-primary{
  background:linear-gradient(135deg, var(--violet-strong), #6d28d9);
  color:#fff; border:1px solid rgba(255,255,255,.06);
  box-shadow:0 6px 18px -6px rgba(124,58,237,.55);
}
.nhp-btn-primary:hover{ filter:brightness(1.08); }
.nhp-btn-primary:active{ transform:translateY(1px); }

.nhp-btn-ghost{
  background:#150f22; border:1px solid var(--border); color:#cbd5e1;
}
.nhp-btn-ghost:hover{ background:#1c1430; color:#fff; border-color:#3a2c56; }

.nhp-btn-danger{
  background:rgba(239,68,68,.12); border:1px solid rgba(239,68,68,.35); color:#fca5a5;
}
.nhp-btn-danger:hover{ background:rgba(239,68,68,.2); color:#fecaca; }

.nhp-pill{ border-radius:999px; font-size:11px; padding:2px 10px; font-weight:600; letter-spacing:.02em; }
.nhp-pill-on{ background:rgba(139,92,246,.16); color:#c4b5fd; border:1px solid rgba(139,92,246,.35); }
.nhp-pill-off{ background:#1a1428; color:#8a83a0; border:1px solid #2a2140; }
.nhp-pill-danger{ background:rgba(239,68,68,.14); color:#fca5a5; border:1px solid rgba(239,68,68,.3); }

/* ---- Sidebar / shell ---- */
#nhp-sidebar{
  background:linear-gradient(180deg, #120b1c 0%, #0c0813 100%);
  border-right:1px solid var(--border-soft);
}
.nhp-nav-item{
  display:flex; align-items:center; gap:12px; padding:10px 14px; border-radius:12px;
  font-size:13.5px; color:#9c93b3; transition:.15s ease;
}
.nhp-nav-item svg{ width:18px; height:18px; flex-shrink:0; }
.nhp-nav-item:hover{ background:#1a1329; color:#f1eef9; }
.nhp-nav-item.active{
  background:linear-gradient(135deg, rgba(139,92,246,.22), rgba(239,68,68,.06));
  color:#fff; border:1px solid rgba(139,92,246,.35);
}
#nhp-overlay{ background:rgba(5,3,10,.65); backdrop-filter:blur(2px); }

/* ---- Terminal / console ---- */
.nhp-terminal{
  background:#080611; border:1px solid var(--border-soft); border-radius:14px;
  font-family:'JetBrains Mono','Fira Code',ui-monospace,monospace; font-size:12.5px;
  line-height:1.55; color:#c9c3dc;
}
.nhp-terminal .ln-err{ color:#f87171; }
.nhp-terminal .ln-out{ color:#c9c3dc; }
.nhp-terminal .ln-sys{ color:#a78bfa; }

/* ---- misc ---- */
.nhp-fade-in{ animation:nhpFade .18s ease; }
@keyframes nhpFade{ from{opacity:0; transform:translateY(3px);} to{opacity:1; transform:translateY(0);} }
.nhp-scroll-thin{ scrollbar-width:thin; }

.nhp-status-dot{ width:7px; height:7px; border-radius:999px; display:inline-block; }
