:root {
  --bg: #111;
  --fg: #eee;
  --accent: #2ecc71;
  --muted: #aaa;
  --border: #333;
}

.hours {
  font-weight: bold;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  background: var(--bg);
  color: var(--fg);
  line-height: 1.5;
}

h1, h2 {
  margin-top: 0;
}

a {
  color: var(--accent);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

table {
  border-collapse: collapse;
}

th, td {
  padding: 0.6rem;
  border: 1px solid var(--border);
  vertical-align: top;
}

td.center {
  text-align: center;
}

td.nowrap {
  white-space: nowrap;
}

span.nowrap {
  white-space: nowrap;
}

td.nowrap-right {
  white-space: nowrap;
  text-align: right;
}

td.bold {
  font-weight: bold;
}

span.bold {
  font-weight: bold;
}

th.center {
  text-align: center;
}

td.visitor-tz {
  border-top: 3px solid #f0a500;
}

th.visitor-tz {
  border-top: 3px solid #f0a500;
}

th.visitor-tz,
td.visitor-tz {
  background-color: #5A5A5A; /* dark grey */
}

.blink-red {
  font-weight: bold;
  text-align: center;
  animation: blinkRed 1s step-start infinite;
}
@keyframes blinkRed {
  0%, 49%   { color: white; }
  50%, 100% { color: red; }
}

td.top {
  vertical-align: top;
}

td.center-top {
  text-align: center;
  vertical-align: top;
}

td.header {
  vertical-align: bottom;
  text-align: left;
}

th {
  text-align: left;
  background: #1b1b1b;
}

.small-text {
  font-size: 0.8rem;
  color: var(--muted);
}

#radioTable td,
#radioTable th {
  line-height: 1.2;
}
