/* Shared light management language. Kept separate from public loyalty widgets. */
.fl-qr-manager {
  --flq-bg: #f3f5f7;
  --flq-card: #ffffff;
  --flq-card-2: #f8fafc;
  --flq-line: #d7dee5;
  --flq-text: #17212a;
  --flq-muted: #5f6b76;
  --flq-accent: #b20111;
  color-scheme: light;
  border-color: #dfe4e9;
  background:
    radial-gradient(circle at 96% 0, rgba(198, 95, 0, .09), transparent 28rem),
    #f3f5f7;
  color: var(--flq-text);
  box-shadow: 0 14px 34px rgba(18, 28, 38, .08);
}
.fl-qr-manager[data-fl-qr-manager]::before {
  display: block;
  height: 3px;
  margin: clamp(-34px, -3vw, -18px) clamp(-34px, -3vw, -18px) 24px;
  border-radius: 24px 24px 0 0;
  background: linear-gradient(90deg, #b20111 0 34%, #c65f00 34% 67%, #0f6a45 67%);
  content: "";
}
.fl-qrm-hero h2,
.fl-qrm-list-head h3,
.fl-qrm-editor__head h3,
.fl-qrm-event h4,
.fl-qrm-empty strong { color: #17212a; }
.fl-qrm-hero p,
.fl-qrm-event__meta span,
.fl-qrm-event__desc,
.fl-qrm-empty,
.fl-qrm-modal__meta > span:last-child,
.fl-qrm-qr-status { color: #5f6b76; }
.fl-qrm-eyebrow,
.fl-qrm-kicker { color: #9e4700; }
.fl-qrm-editor,
.fl-qrm-list-panel,
.fl-qrm-event,
.fl-qrm-modal__dialog {
  border-color: #d7dee5;
  background: #fff;
  color: #17212a;
  box-shadow: 0 8px 24px rgba(18, 28, 38, .06);
}
.fl-qrm-editor { border-top: 3px solid #b20111; }
.fl-qrm-list-panel { border-top: 3px solid #0f6a45; }
.fl-qrm-section-label {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 20px 0 12px;
  padding-top: 16px;
  border-top: 1px solid #e0e5ea;
  color: #27323d;
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.fl-qrm-section-label:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.fl-qrm-section-label span {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 8px;
  background: #fff1f2;
  color: #b20111;
}
.fl-qrm-editor__intro { margin: -8px 0 18px; color: #5f6b76; font-size: .78rem; line-height: 1.5; }
.fl-qrm-required { color: #b20111; }
.fl-qrm-field label,
.fl-qrm-label { color: #27323d; }
.fl-qrm-field .fl-qrm-required { color: #b20111; }
.fl-qrm-field input[type="text"],
.fl-qrm-field input[type="number"],
.fl-qrm-field input[type="datetime-local"],
.fl-qrm-field textarea,
.fl-qrm-field select,
.fl-qrm-url-row input,
.fl-qrm-search,
.fl-qrm-search input {
  border-color: #bfc8d2;
  background: #fff;
  color: #17212a;
}
.fl-qrm-field input::placeholder,
.fl-qrm-field textarea::placeholder,
.fl-qrm-search input::placeholder { color: #7b8792; }
.fl-qrm-field input:focus,
.fl-qrm-field textarea:focus,
.fl-qrm-field select:focus,
.fl-qrm-url-row input:focus,
.fl-qrm-search input:focus {
  border-color: #c65f00;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(198, 95, 0, .16);
}
.fl-qrm-choice {
  border-color: #cbd3dc;
  background: #f8f9fa;
  color: #1d2730;
}
.fl-qrm-choice:hover { border-color: #aeb8c2; }
.fl-qrm-choice.is-selected {
  border-color: #b20111;
  background: #fff1f2;
  color: #7e0711;
  box-shadow: inset 0 0 0 1px #b20111;
}
.fl-qrm-choice__icon { background: #eef1f4; color: #b20111; }
.fl-qrm-range-row input { accent-color: #b20111; }
.fl-qrm-btn--primary { background: #b20111; color: #fff; }
.fl-qrm-btn--primary:hover { background: #8f0911; color: #fff; }
.fl-qrm-btn--ghost,
.fl-qrm-icon-btn {
  border-color: #bfc8d2;
  background: #fff;
  color: #24313c;
}
.fl-qrm-btn--ghost:hover,
.fl-qrm-icon-btn:hover { background: #f1f3f5; }
.fl-qrm-icon-btn--danger { color: #9b0a16; }
.fl-qrm-inline-status { color: #5f6b76; }
.fl-qrm-inline-status.is-error { color: #9b0a16; }
.fl-qrm-event:hover { border-color: #bac4ce; background: #fcfcfd; }
.fl-qrm-event__icon { background: #fff1f2; color: #b20111; }
.fl-qrm-state { background: #eef1f4; color: #26323d; }
.fl-qrm-state.is-live { background: #eaf7f0; color: #0f6a45; }
.fl-qrm-state.is-planned { background: #fff4df; color: #8a4700; }
.fl-qrm-state.is-ended,
.fl-qrm-state.is-muted { background: #eef1f4; color: #5f6b76; }
.fl-qrm-empty { border-color: #bfc8d2; background: #fff; }
.fl-qrm-empty.is-error { color: #9b0a16; }
.fl-qrm-skeleton { background: linear-gradient(90deg, #eef1f4 25%, #f8fafc 40%, #eef1f4 60%); background-size: 400% 100%; }
.fl-qrm-toast { border: 1px solid #d7dee5; background: #fff; color: #17212a; box-shadow: 0 18px 55px rgba(18, 28, 38, .22); }
.fl-qrm-toast.is-error { border-color: #d99097; background: #fff1f2; color: #7e0711; }
.fl-qrm-modal__backdrop { background: rgba(11, 18, 24, .62); }
.fl-qrm-modal__close { border-color: #cbd3dc; background: #f7f8fa; color: #17212a; }
.fl-qrm-badge { color: #9e4700; }
.fl-qrm-qr-stage { border: 1px solid #d7dee5; }

.fl-admin {
  --fl-admin-text: #17212a;
  --fl-admin-muted: #5f6b76;
  --fl-admin-border: #d7dee5;
  color: var(--fl-admin-text);
}
.fl-admin .fl-card,
.fl-admin .fl-panel,
.fl-admin .fl-role-grid label {
  border-color: var(--fl-admin-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(18, 28, 38, .05);
}
.fl-admin .fl-panel { border-top: 3px solid #b20111; }
.fl-admin .fl-card:nth-child(3n + 1) { border-top: 3px solid #b20111; }
.fl-admin .fl-card:nth-child(3n + 2) { border-top: 3px solid #c65f00; }
.fl-admin .fl-card:nth-child(3n) { border-top: 3px solid #0f6a45; }
.fl-admin :where(input[type="text"], input[type="number"], input[type="url"], input[type="datetime-local"], select, textarea) {
  min-height: 42px;
  border-color: #bfc8d2;
  border-radius: 9px;
  background: #fff;
  color: var(--fl-admin-text);
}
.fl-admin :where(input, select, textarea):focus { border-color: #c65f00; box-shadow: 0 0 0 2px rgba(198, 95, 0, .16); }

@media (max-width: 640px) {
  .fl-qr-manager[data-fl-qr-manager]::before { margin: -15px -15px 18px; border-radius: 16px 16px 0 0; }
}
