/* QENEX Pulse — minimal overrides on top of brand-v1.css */
*{box-sizing:border-box;margin:0;padding:0}
body{
  background: var(--surface-base, #05060F);
  color: var(--ink-200, #E5E7F5);
  font-family: var(--font-body, 'Inter', system-ui, sans-serif);
  min-height: 100vh; line-height: 1.6;
}
header{
  background: var(--surface-card, #11152E);
  border-bottom: 1px solid var(--orbit, #1A1F3F);
  padding: .75rem 1.5rem;
  display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
}
.logo{
  font-family: var(--font-display, 'Space Grotesk', sans-serif);
  color: var(--cyan-400, #22D3EE);
  font-weight: 700; font-size: 1.05rem; letter-spacing: .05em;
  text-decoration: none;
}
.logo span{ color: var(--ink-400, #8389B0); font-weight: 400; }
nav{ display: flex; gap: 1.5rem; }
nav a{ color: var(--ink-400, #8389B0); text-decoration: none; font-size: .85rem;
       font-family: var(--font-mono, monospace); }
nav a:hover{ color: var(--ink-200, #E5E7F5); }
nav a.active{ color: var(--cyan-400, #22D3EE); }
.container{ max-width: 1100px; margin: 0 auto; padding: 2rem 1.5rem; }
h1{
  font-family: var(--font-display, 'Space Grotesk', sans-serif);
  font-size: 1.7rem; font-weight: 700; margin-bottom: .5rem;
}
h2{
  font-family: var(--font-display, 'Space Grotesk', sans-serif);
  font-size: 1.05rem; font-weight: 600;
  margin: 1.75rem 0 .75rem; color: var(--cyan-300, #67E8F9);
}
p.lead{ color: var(--ink-400, #8389B0); margin-bottom: 1.5rem; font-size: .9rem; }
.card{
  background: var(--surface-card, #11152E);
  border: 1px solid var(--orbit, #1A1F3F);
  border-radius: var(--r-lg, 16px);
  padding: 1.25rem 1.5rem; margin-bottom: 1rem;
  box-shadow: var(--e-1, 0 1px 2px rgba(5,6,15,.4));
}
.kpi-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; margin-bottom: 1.75rem; }
.kpi-grid .card{ text-align: center; }
.kpi-num{
  font-family: var(--font-display, 'Space Grotesk', sans-serif);
  font-size: 2.4rem; font-weight: 800; line-height: 1; color: var(--cyan-400, #22D3EE);
}
.kpi-label{
  color: var(--ink-400, #8389B0); font-size: .72rem;
  margin-top: .35rem; text-transform: uppercase; letter-spacing: .07em;
  font-family: var(--font-mono, monospace);
}
form.login{
  max-width: 420px; margin: 4rem auto 0;
  background: var(--surface-card, #11152E);
  border: 1px solid var(--orbit, #1A1F3F);
  border-radius: var(--r-lg, 16px);
  padding: 2rem;
}
form.login input{
  width: 100%;
  background: var(--surface-base, #05060F);
  border: 1px solid var(--orbit, #1A1F3F);
  border-radius: var(--r-md, 10px);
  padding: .6rem 1rem;
  color: var(--ink-200, #E5E7F5);
  font-family: var(--font-mono, monospace);
  font-size: .9rem; margin-top: 1rem;
}
form.login input:focus{ outline: 2px solid var(--cyan-400, #22D3EE); border-color: transparent; }
form.login button{
  margin-top: 1.2rem; width: 100%;
  padding: .7rem; border-radius: var(--r-md, 10px); border: none; cursor: pointer;
  background: var(--cyan-400, #22D3EE);
  color: var(--surface-base, #05060F);
  font-weight: 600; font-size: .95rem;
  font-family: var(--font-body, 'Inter', sans-serif);
}
.err{ color: var(--danger, #F43F5E); font-size: .85rem; margin-top: .75rem; }
table{
  width: 100%; border-collapse: collapse;
  background: var(--surface-card, #11152E);
  border: 1px solid var(--orbit, #1A1F3F);
  border-radius: var(--r-lg, 16px);
  overflow: hidden; margin-bottom: 1.5rem;
}
th, td{ padding: .65rem 1rem; text-align: left; border-bottom: 1px solid var(--orbit, #1A1F3F); font-size: .9rem; }
th{
  color: var(--ink-400, #8389B0); font-size: .72rem;
  text-transform: uppercase; letter-spacing: .07em;
  font-family: var(--font-mono, monospace);
  background: rgba(17, 21, 46, 0.5);
}
tr:last-child td{ border-bottom: none; }
tr:hover{ background: rgba(124, 58, 237, 0.04); }
a{ color: var(--cyan-400, #22D3EE); text-decoration: none; }
a:hover{ text-decoration: underline; }
.badge{ display: inline-block; padding: .15rem .55rem; border-radius: var(--r-sm, 6px); font-size: .75rem; font-weight: 600; font-family: var(--font-mono, monospace); }
.badge-ok{ background: rgba(52, 211, 153, .14); color: var(--success, #34D399); }
.badge-warn{ background: rgba(251, 191, 36, .14); color: var(--warning, #FBBF24); }
.badge-err, .badge-critical, .badge-high{ background: rgba(244, 63, 94, .14); color: var(--danger, #F43F5E); }
.badge-info, .badge-low, .badge-medium, .badge-miss{ background: rgba(124, 58, 237, .14); color: var(--violet-500, #7C3AED); }
.grade-A, .grade-B{ color: var(--success, #34D399); }
.grade-C{ color: var(--warning, #FBBF24); }
.grade-D, .grade-F{ color: var(--danger, #F43F5E); }
.sub-row{ display: grid; grid-template-columns: 1fr auto auto; gap: 1rem; padding: .5rem 0; border-bottom: 1px solid var(--orbit, #1A1F3F); }
.sub-row:last-child{ border-bottom: none; }
footer{ padding: 2rem 1.5rem; text-align: center; color: var(--ink-500, #5A6088); font-size: .8rem; font-family: var(--font-mono, monospace); }
.spark{ display: inline-block; height: 24px; vertical-align: middle; }
