:root {
  color-scheme: light dark;
  --bg: #0f1115;
  --fg: #e6e6e6;
  --card: #1a1d24;
  --border: #2a2e37;
  --pos: #3ddc84;
  --neg: #ff6b6b;
  --accent: #4f8cff;
}
@media (prefers-color-scheme: light) {
  :root { --bg: #f7f7f9; --fg: #1a1a1a; --card: #ffffff; --border: #e0e0e6; }
}
* { box-sizing: border-box; }
body {
  margin: 0; padding: 0 1.5rem 3rem;
  background: var(--bg); color: var(--fg);
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}
nav { display: flex; gap: 1.5rem; padding: 1rem 0; border-bottom: 1px solid var(--border); margin-bottom: 1.5rem; }
nav a { color: var(--accent); text-decoration: none; font-weight: 600; }
h2 { margin-top: 2rem; }
table { width: 100%; border-collapse: collapse; background: var(--card); border: 1px solid var(--border); }
th, td { padding: 0.5rem 0.7rem; text-align: left; border-bottom: 1px solid var(--border); font-size: 0.9rem; }
th { color: #999; font-weight: 600; text-transform: uppercase; font-size: 0.75rem; }
.call { color: var(--pos); font-weight: 600; }
.put { color: var(--neg); font-weight: 600; }
.pos { color: var(--pos); }
.neg { color: var(--neg); }
button {
  background: var(--accent); color: white; border: none; border-radius: 4px;
  padding: 0.35rem 0.8rem; cursor: pointer; font-size: 0.85rem;
}
button:hover { opacity: 0.85; }
button:disabled {
  background: #555; color: #aaa; cursor: not-allowed; opacity: 0.7;
}
input[type="checkbox"]:disabled { cursor: not-allowed; opacity: 0.5; }
.bulk-bar {
  display: flex; align-items: center; gap: 1rem; justify-content: space-between;
  background: var(--accent); color: white; border-radius: 8px;
  padding: 0.6rem 1rem; margin-bottom: 1rem; font-weight: 600;
}
.bulk-bar button { background: white; color: var(--accent); }
thead th[data-sort] { user-select: none; }
thead th[data-sort]:hover { color: var(--accent); }
.info-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 14px; height: 14px; margin-left: 0.35rem;
  border-radius: 50%; background: var(--border); color: var(--fg);
  font-size: 0.65rem; font-style: italic; font-weight: 700;
  text-transform: none; cursor: help; position: relative; vertical-align: middle;
}
.info-icon:hover, .info-icon:focus { background: var(--accent); color: #fff; outline: none; }
.info-icon:hover::after, .info-icon:focus::after {
  content: attr(data-tip);
  position: absolute; bottom: 140%; left: 50%; transform: translateX(-50%);
  background: #1a1a1a; color: #f0f0f0; padding: 0.5rem 0.65rem; border-radius: 6px;
  font-size: 0.72rem; font-weight: 400; font-style: normal; text-transform: none;
  white-space: normal; width: 200px; line-height: 1.35; z-index: 20;
  box-shadow: 0 4px 12px rgba(0,0,0,0.35); pointer-events: none;
}
.sort-arrow { display: inline-block; width: 0.9em; }
.summary-bar { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.stat {
  background: var(--card); border: 1px solid var(--border); border-radius: 8px;
  padding: 1rem 1.5rem; display: flex; flex-direction: column; gap: 0.25rem; min-width: 150px;
}
.stat span { color: #999; font-size: 0.8rem; text-transform: uppercase; }
.stat strong { font-size: 1.4rem; }
