/* MEGATEK shared base theme */
:root{
  --bg:#05070a;
  --bg2:#0a0f16;
  --panel:#0d141d;
  --panel2:#111a24;
  --edge:#1c2a38;
  --edge2:#283c50;
  --steel:#3a4a5c;
  --text:#c9d6e2;
  --muted:#6d8296;
  --accent:#28e07b;      /* megatek green */
  --accent-dim:#0f7a3f;
  --accent-dim:#0f7a3f;
  --amber:#ffb020;
  --red:#ff4d5e;
  --lcd:#7CFF9B;         /* green LCD text */
  --lcd-bg:#04120a;
  --lcd-glow: rgba(80,255,140,.55);
  --shadow: 0 10px 30px rgba(0,0,0,.55);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:
    radial-gradient(1200px 700px at 70% -10%, #0b1a2440, transparent),
    radial-gradient(900px 600px at -10% 110%, #0a221630, transparent),
    var(--bg);
  color:var(--text);
  font-family: 'Segoe UI', Roboto, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
  overflow-x:hidden;
}
a{color:var(--accent);text-decoration:none}
.mono{font-family: 'DejaVu Sans Mono','Consolas','SFMono-Regular',Menlo,monospace}
.hidden{display:none !important}

/* buttons */
.btn{
  appearance:none;border:1px solid var(--edge2);
  background:linear-gradient(180deg,#16232f,#0c141d);
  color:var(--text);padding:10px 16px;border-radius:10px;
  font-weight:700;letter-spacing:.04em;cursor:pointer;
  transition:transform .08s ease, border-color .15s ease, box-shadow .15s ease;
  text-transform:uppercase;font-size:13px;
}
.btn:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim), 0 8px 20px #0008}
.btn:active{transform:translateY(1px)}
.btn.primary{
  background:linear-gradient(180deg,#1f7a46,#0c4a29);
  border-color:#2ee085;color:#eafff2;
  box-shadow:0 0 18px #0f7a3f, 0 0 22px rgba(40,224,123,.25);
}
.btn.primary:hover{box-shadow:0 0 26px rgba(40,224,123,.5)}
.btn.danger{border-color:#7a2130;background:linear-gradient(180deg,#3a1620,#220b11);color:#ffd7dc}
.btn.small{padding:6px 10px;font-size:11px;border-radius:8px}
.btn:disabled{opacity:.45;cursor:not-allowed}

/* chips / tags */
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;
  border:1px solid var(--edge2);background:#0c141d;font-size:11px;letter-spacing:.06em;color:var(--muted);
  text-transform:uppercase;font-weight:700}
.chip .dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.chip.live .dot{background:var(--accent);box-shadow:0 0 8px var(--accent)}
.chip.warn .dot{background:var(--amber);box-shadow:0 0 8px var(--amber)}

/* headings */
.eyebrow{font-size:11px;letter-spacing:.28em;color:var(--muted);text-transform:uppercase;font-weight:800}
.title-xl{font-size:34px;font-weight:900;letter-spacing:.04em;line-height:1.02;margin:6px 0}
.title-xl .g{color:var(--accent);text-shadow:0 0 24px rgba(40,224,123,.35)}

/* metal panel shell */
.metal{
  background:linear-gradient(180deg,var(--panel2),var(--panel));
  border:1px solid var(--edge);border-radius:16px;
  box-shadow: var(--shadow), inset 0 1px 0 #ffffff0a;
}

/* scrollbars */
*::-webkit-scrollbar{width:9px;height:9px}
*::-webkit-scrollbar-thumb{background:#1c2a38;border-radius:9px}
*::-webkit-scrollbar-track{background:transparent}

/* toast */
#toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);
  background:#0c1620;border:1px solid var(--edge2);color:var(--text);
  padding:12px 18px;border-radius:12px;box-shadow:var(--shadow);z-index:9999;
  font-weight:700;letter-spacing:.03em;opacity:0;pointer-events:none;transition:opacity .25s, transform .25s}
#toast.show{opacity:1;transform:translateX(-50%) translateY(-4px)}
#toast.err{border-color:#7a2130;color:#ffd7dc}
