:root {
  color-scheme: light dark;
  --border: #d0d0d0;
  --bg-hover: #f4f4f4;
}
body { font-family: system-ui, sans-serif; margin: 0; }
.topbar {
  display: flex; justify-content: space-between; align-items: center;
  padding: 0.75rem 1.25rem; border-bottom: 1px solid var(--border);
}
.brand { font-weight: 600; }
.topbar nav { display: flex; gap: 1rem; align-items: center; }
.who { opacity: 0.7; font-size: 0.9rem; }
.container { max-width: 640px; margin: 2rem auto; padding: 0 1rem; }
.stack { display: flex; flex-direction: column; gap: 0.75rem; max-width: 420px; }
.stack label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.9rem; }
.checkbox { flex-direction: row !important; align-items: center; gap: 0.5rem !important; }
button, input[type=submit] {
  padding: 0.5rem 1rem; border-radius: 6px; border: 1px solid var(--border);
  cursor: pointer; font-size: 0.95rem;
}
.primary { background: #2b6cb0; color: white; border-color: #2b6cb0; }
.secondary { background: transparent; }
.hint { opacity: 0.75; font-size: 0.9rem; }
.hint.warning { color: #b7791f; opacity: 1; }
.flashes { list-style: none; padding: 0; }
.flash { padding: 0.6rem 0.9rem; border-radius: 6px; margin-bottom: 0.75rem; }
.flash-success { background: #e6ffed; border: 1px solid #34d058; }
.flash-danger { background: #ffeef0; border: 1px solid #d73a49; }
.flash-warning { background: #fff8e6; border: 1px solid #dbab09; }
.flash-info { background: #eef6ff; border: 1px solid #2b6cb0; }
.candidate-list { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 0.75rem; }
.candidate {
  display: flex; justify-content: space-between; align-items: center;
  border: 1px solid var(--border); border-radius: 8px; padding: 0.9rem 1rem;
}
.candidate-info strong { font-size: 1.05rem; }
.candidate .meta { font-size: 0.85rem; opacity: 0.75; margin-top: 0.25rem; }
.score { font-size: 0.8rem; opacity: 0.7; margin-left: 0.5rem; }
.qbo-id { font-family: monospace; font-size: 0.75rem; }
.none-option { margin-top: 1.25rem; font-size: 0.9rem; }
#new-customer { margin-top: 1.5rem; border-top: 1px solid var(--border); padding-top: 1rem; }
