/* Backoffice: Bootstrap com a identidade do Quiz (azul noite + estrela). */
:root {
  --bo-night: #13214a;
  --bo-star: #f5c04a;
  --bs-primary: #1d3166;
  --bs-primary-rgb: 29, 49, 102;
  --bs-link-color: #1d3166;
  --bs-link-hover-color: #13214a;
}
.btn-primary {
  --bs-btn-bg: #1d3166;
  --bs-btn-border-color: #1d3166;
  --bs-btn-hover-bg: #13214a;
  --bs-btn-hover-border-color: #13214a;
  --bs-btn-active-bg: #0e1938;
  --bs-btn-disabled-bg: #1d3166;
}
.bo-navbar { background: var(--bo-night); }
.bo-navbar .navbar-brand, .bo-navbar .nav-link { color: #f4f7fb; }
.bo-navbar .nav-link.active, .bo-navbar .navbar-brand:hover { color: var(--bo-star); }
.bo-navbar .text-body-secondary { color: #9aa8c7 !important; }
.bo-navbar .btn-outline-secondary { color: #f4f7fb; border-color: #9aa8c7; }
.bo-eventbar { background: #f4f7fb; }
.bo-eventbar .nav-link.active { color: var(--bo-night); border-bottom-color: var(--bo-star); }
.bo-login { max-width: 26rem; }
.bo-narrow { max-width: 48rem; }
.bo-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .85em; }
.bo-swatch { width: 1.2rem; height: 1.2rem; border-radius: .25rem; display: inline-block; vertical-align: middle; border: 1px solid #0002; }
.bo-qr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 1.5rem; }
.bo-qr-card { border: 1px solid #dee2e6; border-radius: .5rem; padding: 1rem; text-align: center; break-inside: avoid; }
.bo-qr-card .bo-qr svg { width: 100%; max-width: 13rem; height: auto; }
.bo-qr-single svg { width: 16rem; height: 16rem; }
.bo-url { word-break: break-all; font-size: .8rem; }
.bo-problem { color: #b42318; font-size: .875rem; }
.table td, .table th { vertical-align: middle; }
@media print {
  .bo-navbar, .bo-eventbar, .bo-noprint, .alert { display: none !important; }
  main { padding: 0 !important; }
  .bo-qr-grid { grid-template-columns: repeat(3, 1fr); }
}
.bo-question-img { max-width: 16rem; max-height: 10rem; object-fit: contain; background: #f4f7fb; }
.bo-qr-event { width: 13rem; height: 13rem; background: #fff; border: 1px solid #dee2e6; border-radius: .5rem; padding: .25rem; }
.bo-qr-event-info { flex: 1 1 18rem; min-width: 0; max-width: 40rem; }
.bo-qr-event svg { display: block; width: 100%; height: 100%; }
.bo-poster { max-width: 44rem; margin: 0 auto; text-align: center; }
.bo-poster .bo-qr { width: min(70vmin, 30rem); height: min(70vmin, 30rem); margin: 1.5rem auto; }
.bo-poster .bo-qr svg { display: block; width: 100%; height: 100%; }
@media print { .bo-poster .bo-qr { width: 14cm; height: 14cm; } }
