/* ── Reset & base ── */
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  :root {
    --bg:        #0f1117;
    --bg-card:   #181c27;
    --bg-hover:  #1e2235;
    --bg-highlight: #1a1f30;
    --border:    #2a2f45;
    --border-soft: #232840;
    --text:      #e8eaf2;
    --text-muted:#8b91ad;
    --text-dim:  #5c6180;

    --blue:      #4f8ef7;
    --blue-bg:   #1a2540;
    --blue-text: #7eb3ff;

    --green:     #3ecf8e;
    --green-bg:  #0e2a1e;
    --green-text:#5de0a5;

    --amber:     #f5a623;
    --amber-bg:  #2a1e0a;
    --amber-text:#f7c16a;

    --red:       #f26e6e;
    --red-bg:    #2a1010;
    --red-text:  #f79898;

    --purple:    #9b7ff4;
    --purple-bg: #1e1638;
    --purple-text:#bba8ff;

    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --radius-pill: 999px;
  }

  body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background: var(--bg);
    color: var(--text);
    line-height: 1.6;
    min-height: 100vh;
    padding: 2rem 1rem;
  }


/* =====================
   Typography: Headings
   ===================== */

h1 {
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.2;
  color: #e2e8f0;
  margin: 0 0 1.5rem 0;
  padding-bottom: 0.5rem;
  border-bottom: 3px solid #818cf8;
  letter-spacing: -0.025em;
}

/* =====================
   Tables
   ===================== */

table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
  font-size: 0.95rem;
  background-color: #1e1e2e;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
}

thead {
  background-color: #2d2b55;
  color: #c7d2fe;
}

thead th {
  padding: 0.85rem 1.1rem;
  text-align: left;
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
  border-bottom: 2px solid #818cf8;
}

tbody tr {
  border-bottom: 1px solid #2e2e3e;
  transition: background-color 0.15s ease;
}

tbody tr:last-child {
  border-bottom: none;
}

tbody tr:hover {
  background-color: #2d2b55;
}

tbody tr:nth-child(even) {
  background-color: #252535;
}

tbody tr:nth-child(even):hover {
  background-color: #2d2b55;
}

tbody td {
  color: #cbd5e1;
  vertical-align: middle;
}

tfoot td {
  font-weight: 600;
  color: #e2e8f0;
  background-color: #2a2a3e;
  border-top: 2px solid #3f3f5a;
}

a {
  padding: 0.8rem 1.1rem;
  text-decoration: none;
  color: inherit;
}

.fullWidth {
  display: block;
  width: 100%;
  height: 100%;
}