/*
  DateGrid Custom CI: DateGrid Intergraf
  Optional activation:
  DATEGRID_CUSTOM_CSS_URL=/static/custom/dategrid-intergraf.css

  Derived for GUI use from the Intergraf design guide source:
  red-led hierarchy, white work surfaces, disciplined greys, black system bars,
  compact audit-like modules, no decorative gradients.
*/

:root {
  color-scheme: light;
  --canvas: #f3f3f3;
  --surface: #ffffff;
  --surface-muted: #f3f3f3;
  --ink: #1f1f1f;
  --muted: #626262;
  --faint: #686868;
  --line: #d6d6d6;
  --line-strong: #b9b9b9;
  --accent: #d50032;
  --accent-strong: #7f0e0e;
  --accent-soft: #fff0f3;
  --warning: #7a4d00;
  --warning-line: #f2993a;
  --warning-soft: #ffe2bb;
  --danger: #7f0e0e;
  --danger-soft: #ffd1dc;
  --info: #285f80;
  --info-soft: #edf4f7;
  --success: #2f6d00;
  --success-line: #4f8a10;
  --success-soft: #dff3c8;
}

body {
  background: var(--canvas);
  color: var(--ink);
  font-family: Avenir, Montserrat, "Source Sans Pro", ui-sans-serif, system-ui, sans-serif;
}

.topbar {
  background: var(--ink);
  border-bottom: 4px solid var(--accent);
}

.brand,
.topbar nav a,
.nav-button {
  color: var(--surface);
}

.account-label {
  color: var(--line);
}

.brand::after {
  content: " Intergraf";
  color: var(--accent);
}

.hero,
.poll-head,
.panel,
.final-banner,
.warning,
.share,
.auth-shell {
  border-radius: 0;
  border-color: var(--line);
  box-shadow: none;
}

.hero,
.poll-head {
  border-left: 8px solid var(--accent);
}

.eyebrow,
h1,
h2,
.badge,
.rank {
  color: var(--accent);
}

.button {
  border-radius: 0;
  text-transform: none;
}

.button.primary {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--surface);
}

.button.secondary {
  border-color: var(--ink);
}

.dategrid-options legend {
  color: var(--accent);
}

.option-toolbar {
  border-top: 1px solid var(--line);
  background: var(--surface);
}

.calendar-head strong {
  color: var(--ink);
}

.round-button,
.calendar-day.selected {
  color: var(--surface);
  background: var(--accent);
  border-color: var(--accent);
}

.selected-times {
  background: var(--surface-muted);
  border-left-color: var(--accent);
}

.date-group {
  border-color: var(--accent);
  border-radius: 0;
}

.date-group-header {
  background: var(--ink);
  color: var(--surface);
  border-bottom-color: var(--accent);
}

.add-time {
  color: var(--accent);
}

.vote-board,
.matrix table {
  border-radius: 0;
}

.vote-board-label,
.vote-option-card {
  background: var(--surface-muted);
}

.vote-board-label {
  border-left: 6px solid var(--accent);
}

.vote-choice .choice-yes {
  border-color: var(--success-line);
  color: var(--success);
}

.vote-choice .choice-maybe {
  border-color: var(--warning-line);
  color: var(--warning);
}

.vote-choice .choice-no {
  border-color: var(--accent);
  color: var(--danger);
}

.vote-choice input:checked + .choice-yes {
  background: var(--success-soft);
  color: var(--success);
}

.vote-choice input:checked + .choice-maybe {
  background: var(--warning-soft);
  color: var(--warning);
}

.vote-choice input:checked + .choice-no {
  background: var(--danger-soft);
  color: var(--danger);
}

.result-card.best {
  border-color: var(--accent);
  box-shadow: inset 6px 0 0 var(--accent);
}

.footer {
  background: var(--surface);
  border-top: 4px solid var(--accent);
}
