/* Nodes/UI shared stylesheet (public node pages + transparency + node dashboard)
   Additive hotfix: file was referenced but missing, causing unstyled pages. */
:root{
  --bg:#0b0d14;
  --bg2:#111522;
  --card:rgba(255,255,255,.03);
  --line:rgba(255,255,255,.10);
  --txt:#eef2ff;
  --muted:rgba(238,242,255,.72);
  --gold:#ffd456;
  --radius:16px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.appBody{
  min-height:100vh;
  color:var(--txt);
  background:
    radial-gradient(1200px 400px at 20% -10%, rgba(255,212,86,.08), transparent 60%),
    radial-gradient(1000px 500px at 100% 0%, rgba(96,165,250,.07), transparent 55%),
    linear-gradient(180deg,#0b0d14 0%, #0f1320 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
a{color:#c7d2fe;text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1200px;margin:0 auto;padding:14px}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:0 8px 30px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.03);
  overflow:hidden;
}
.card .hd{
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg, rgba(255,212,86,.06), rgba(255,255,255,.01));
}
.card .bd{padding:14px}
.cardTitle{font-weight:900;letter-spacing:.2px}
.msg{font-size:13px;line-height:1.45}
.msg.muted,.muted{color:var(--muted)}
.msg.err,.err{
  color:#fecaca;
  background:rgba(248,113,113,.10);
  border:1px solid rgba(248,113,113,.22);
  border-radius:12px;
  padding:10px 12px;
}
.sep{height:10px}
label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px}
.field{display:flex;flex-direction:column;gap:6px}
.field>span{font-size:12px;font-weight:700;color:var(--muted)}
.inp, select.inp, textarea.inp{
  width:100%;
  min-height:42px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  color:var(--txt);
  outline:none;
}
.inp:focus, select.inp:focus, textarea.inp:focus{
  border-color:rgba(255,212,86,.45);
  box-shadow:0 0 0 3px rgba(255,212,86,.10);
}
select.inp option{background:#111522;color:#fff}
.mono{font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}
.btn, button.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:40px;padding:9px 14px;border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  color:var(--txt); cursor:pointer; text-decoration:none; font-weight:700;
}
.btn:hover, button.btn:hover{
  border-color:rgba(255,255,255,.2);
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.03));
  text-decoration:none;
}
.btn:disabled, button.btn:disabled{opacity:.55;cursor:not-allowed}
.btn.gold, .btn.primary, button.btn.gold, button.btn.primary{
  border-color:rgba(255,212,86,.35);
  color:#1f1600;
  background:linear-gradient(180deg, #ffe08a, #ffc53d);
  box-shadow:0 6px 18px rgba(255,187,0,.15);
}
.btn.ghost, button.btn.ghost{background:rgba(255,255,255,.02);color:var(--txt)}
.pill{
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 10px; border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.02);
  font-size:13px; line-height:1.2;
}
.kpi{
  font-size:26px;
  font-weight:900;
  line-height:1.1;
  letter-spacing:.2px;
}
.grid2,.grid3,.grid4{display:grid;gap:12px}
.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tbl{width:100%;border-collapse:collapse}
.tbl th,.tbl td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left;vertical-align:top}
.tbl th{font-size:12px;color:var(--muted)}
canvas{display:block;max-width:100%}
@media (max-width: 980px){
  .wrap{padding:10px}
  .grid2,.grid3,.grid4{grid-template-columns:1fr}
  .kpi{font-size:22px}
  .card .hd{padding:10px 12px}
  .card .bd{padding:12px}
}
