﻿/* =======================================================
   MODAIS — REPROSENSE
   Auditoria, Comentários, CQ, QR, Desbloqueio, Coleta
   e Laudos em Lote
   ======================================================= */

/* ---------------------- TOKENS ---------------------- */

:root {
  --rs-modal-bg-dark: rgba(7, 20, 34, 0.78);
  --rs-modal-bg-light: rgba(255, 255, 255, 0.90);

  --rs-modal-border-dark: rgba(121, 220, 255, 0.16);
  --rs-modal-border-light: rgba(7, 20, 34, 0.10);

  --rs-modal-shadow-dark: 0 24px 80px rgba(0, 0, 0, 0.42);
  --rs-modal-shadow-light: 0 10px 30px rgba(7, 20, 34, 0.18);

  --rs-modal-text-dark: rgba(255, 255, 255, 0.92);
  --rs-modal-text-light: #071422;

  --rs-modal-muted-dark: rgba(255, 255, 255, 0.68);
  --rs-modal-muted-light: rgba(7, 20, 34, 0.66);

  --rs-modal-primary: #3fb8e8;
  --rs-modal-primary-soft: rgba(66, 189, 231, 0.16);
  --rs-modal-primary-mid: #1f7fba;
  --rs-modal-primary-dark: #133961;
  --rs-modal-navy: #071422;

  --rs-modal-focus: rgba(66, 189, 231, 0.25);
}

/* ---------------------- PRIORIDADES E RESETS ---------------------- */

#auditMenuModal.modal,
#auditMenuModal.modal.show,
#commentModal.modal,
#commentModal.modal.show,
#cqHistoryModal.modal,
#cqHistoryModal.modal.show,
#cqChartModal.modal,
#cqChartModal.modal.show,
#qrMenuModal.modal,
#qrMenuModal.modal.show,
#qrLightbox.modal,
#qrLightbox.modal.show,
#modalDesbloqueioProcessado.modal,
#modalDesbloqueioProcessado.modal.show,
#confirmQtdModal.modal,
#confirmQtdModal.modal.show,
#modalLaudosLote.modal,
#modalLaudosLote.modal.show,
#modalResetLayout.modal,
#modalResetLayout.modal.show {
  z-index: 2060 !important;
}

.navbar.sticky-top {
  z-index: 1040 !important;
}

.form-card,
.form-header {
  transform: none !important;
  filter: none !important;
  perspective: none !important;
}

/* ---------------------- BACKDROP DARK ---------------------- */

#auditMenuModal ~ .modal-backdrop.fade,
#commentModal ~ .modal-backdrop.fade,
#cqHistoryModal ~ .modal-backdrop.fade,
#cqChartModal ~ .modal-backdrop.fade,
#qrMenuModal ~ .modal-backdrop.fade,
#qrLightbox ~ .modal-backdrop.fade,
#modalDesbloqueioProcessado ~ .modal-backdrop.fade,
#confirmQtdModal ~ .modal-backdrop.fade,
#modalLaudosLote ~ .modal-backdrop.fade,
#modalResetLayout ~ .modal-backdrop.fade {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease;
}

#auditMenuModal ~ .modal-backdrop.show,
#commentModal ~ .modal-backdrop.show,
#cqHistoryModal ~ .modal-backdrop.show,
#cqChartModal ~ .modal-backdrop.show,
#qrMenuModal ~ .modal-backdrop.show,
#qrLightbox ~ .modal-backdrop.show,
#modalDesbloqueioProcessado ~ .modal-backdrop.show,
#confirmQtdModal ~ .modal-backdrop.show,
#modalLaudosLote ~ .modal-backdrop.show,
#modalResetLayout ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 1 !important;
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

/* ---------------------- ANIMAÇÕES ---------------------- */

@keyframes modalGlassFadeUp {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes modalGlassFadeDown {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  to {
    opacity: 0;
    transform: translateY(20px) scale(0.98);
  }
}

#auditMenuModal.modal.fade .modal-dialog,
#commentModal.modal.fade .modal-dialog,
#cqHistoryModal.modal.fade .modal-dialog,
#cqChartModal.modal.fade .modal-dialog,
#qrMenuModal.modal.fade .modal-dialog,
#qrLightbox.modal.fade .modal-dialog,
#modalDesbloqueioProcessado.modal.fade .modal-dialog,
#confirmQtdModal.modal.fade .modal-dialog,
#modalLaudosLote.modal.fade .modal-dialog,
#modalResetLayout.modal.fade .modal-dialog {
  transition: none;
}

#auditMenuModal.modal.show .modal-dialog,
#commentModal.modal.show .modal-dialog,
#cqHistoryModal.modal.show .modal-dialog,
#cqChartModal.modal.show .modal-dialog,
#qrMenuModal.modal.show .modal-dialog,
#qrLightbox.modal.show .modal-dialog,
#modalDesbloqueioProcessado.modal.show .modal-dialog,
#confirmQtdModal.modal.show .modal-dialog,
#modalLaudosLote.modal.show .modal-dialog,
#modalResetLayout.modal.show .modal-dialog {
  animation: modalGlassFadeUp 0.45s ease both;
}

#auditMenuModal.modal.fade:not(.show) .modal-dialog,
#commentModal.modal.fade:not(.show) .modal-dialog,
#cqHistoryModal.modal.fade:not(.show) .modal-dialog,
#cqChartModal.modal.fade:not(.show) .modal-dialog,
#qrMenuModal.modal.fade:not(.show) .modal-dialog,
#qrLightbox.modal.fade:not(.show) .modal-dialog,
#modalDesbloqueioProcessado.modal.fade:not(.show) .modal-dialog,
#confirmQtdModal.modal.fade:not(.show) .modal-dialog,
#modalLaudosLote.modal.fade:not(.show) .modal-dialog,
#modalResetLayout.modal.fade:not(.show) .modal-dialog {
  animation: modalGlassFadeDown 0.35s ease both;
}

/* ---------------------- CONTEÚDO DARK ---------------------- */

#auditMenuModal .modal-content,
#commentModal .modal-content,
#cqHistoryModal .modal-content,
#cqChartModal .modal-content,
#qrMenuModal .modal-content,
#qrLightbox .modal-content,
#modalDesbloqueioProcessado .modal-content,
#confirmQtdModal .modal-content,
#modalLaudosLote .modal-content,
#modalResetLayout .modal-content {
  background: var(--rs-modal-bg-dark);
  border: 1px solid var(--rs-modal-border-dark);
  border-radius: 18px;
  overflow: hidden;
  color: var(--rs-modal-text-dark);
  box-shadow:
    var(--rs-modal-shadow-dark),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

/* ---------------------- HEADER DARK ---------------------- */

#auditMenuModal .modal-header,
#commentModal .modal-header,
#cqHistoryModal .modal-header,
#cqChartModal .modal-header,
#qrMenuModal .modal-header,
#qrLightbox .modal-header,
#modalDesbloqueioProcessado .modal-header,
#confirmQtdModal .modal-header,
#modalLaudosLote .modal-header,
#modalResetLayout .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.11) 0%,
    rgba(31, 127, 186, 0.12) 100%
  );
  border-bottom: 1px solid rgba(121, 220, 255, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1rem 1.25rem;
}

#auditMenuModal .modal-title,
#commentModal .modal-title,
#cqHistoryModal .modal-title,
#cqChartModal .modal-title,
#qrMenuModal .modal-title,
#qrLightbox .modal-title,
#modalDesbloqueioProcessado .modal-title,
#confirmQtdModal .modal-title,
#modalLaudosLote .modal-title,
#modalResetLayout .modal-title {
  font-weight: 700;
  margin: 0;
  background: linear-gradient(135deg, #79dcff 0%, #3fb8e8 48%, #1f7fba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ---------------------- BODY / FOOTER DARK ---------------------- */

#auditMenuModal .modal-body,
#commentModal .modal-body,
#cqHistoryModal .modal-body,
#cqChartModal .modal-body,
#qrMenuModal .modal-body,
#qrLightbox .modal-body,
#modalDesbloqueioProcessado .modal-body,
#confirmQtdModal .modal-body,
#modalLaudosLote .modal-body,
#modalResetLayout .modal-body {
  padding: 1.25rem;
}

#auditMenuModal .modal-footer,
#commentModal .modal-footer,
#cqHistoryModal .modal-footer,
#cqChartModal .modal-footer,
#qrMenuModal .modal-footer,
#qrLightbox .modal-footer,
#modalDesbloqueioProcessado .modal-footer,
#confirmQtdModal .modal-footer,
#modalLaudosLote .modal-footer,
#modalResetLayout .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.055) 0%,
    rgba(31, 127, 186, 0.06) 100%
  );
  border-top: 1px solid rgba(121, 220, 255, 0.12);
  padding: 1rem 1.25rem;
}

/* ---------------------- TEXTOS ---------------------- */

#auditMenuModal .text-body-secondary,
#commentModal .text-body-secondary,
#cqHistoryModal .text-body-secondary,
#cqChartModal .text-body-secondary,
#qrMenuModal .text-body-secondary,
#qrLightbox .text-body-secondary,
#modalDesbloqueioProcessado .text-body-secondary,
#confirmQtdModal .text-body-secondary,
#modalLaudosLote .text-body-secondary,
#modalResetLayout .text-body-secondary,
#modalLaudosLote .form-text,
#modalLaudosLote #laudosLoteResumo {
  color: var(--rs-modal-muted-dark) !important;
}

#auditMenuModal strong,
#commentModal strong,
#cqHistoryModal strong,
#cqChartModal strong,
#qrMenuModal strong,
#qrLightbox strong,
#modalDesbloqueioProcessado strong,
#confirmQtdModal strong,
#modalLaudosLote strong,
#modalResetLayout strong,
#modalLaudosLote .form-label {
  color: var(--rs-modal-text-dark);
}

/* ---------------------- BOTÃO FECHAR ---------------------- */

#auditMenuModal .btn-close,
#commentModal .btn-close,
#cqHistoryModal .btn-close,
#cqChartModal .btn-close,
#qrMenuModal .btn-close,
#qrLightbox .btn-close,
#modalDesbloqueioProcessado .btn-close,
#confirmQtdModal .btn-close,
#modalLaudosLote .btn-close,
#modalResetLayout .btn-close {
  filter: invert(1) grayscale(100%) opacity(0.78);
  transition: transform 0.15s ease, filter 0.2s ease;
}

#auditMenuModal .btn-close:hover,
#commentModal .btn-close:hover,
#cqHistoryModal .btn-close:hover,
#cqChartModal .btn-close:hover,
#qrMenuModal .btn-close:hover,
#qrLightbox .btn-close:hover,
#modalDesbloqueioProcessado .btn-close:hover,
#confirmQtdModal .btn-close:hover,
#modalLaudosLote .btn-close:hover,
#modalResetLayout .btn-close:hover {
  transform: scale(1.05);
  filter: invert(1) opacity(1);
}

#auditMenuModal .btn-close:focus,
#commentModal .btn-close:focus,
#cqHistoryModal .btn-close:focus,
#cqChartModal .btn-close:focus,
#qrMenuModal .btn-close:focus,
#qrLightbox .btn-close:focus,
#modalDesbloqueioProcessado .btn-close:focus,
#confirmQtdModal .btn-close:focus,
#modalLaudosLote .btn-close:focus,
#modalResetLayout .btn-close:focus {
  box-shadow: 0 0 0 0.25rem var(--rs-modal-focus);
}

/* ---------------------- BOTÕES ---------------------- */

#auditMenuModal .btn,
#commentModal .btn,
#cqHistoryModal .btn,
#cqChartModal .btn,
#qrMenuModal .btn,
#qrLightbox .btn,
#modalDesbloqueioProcessado .btn,
#confirmQtdModal .btn,
#modalLaudosLote .btn,
#modalResetLayout .btn {
  border-radius: 10px;
}

#auditMenuModal .btn:focus-visible,
#commentModal .btn:focus-visible,
#cqHistoryModal .btn:focus-visible,
#cqChartModal .btn:focus-visible,
#qrMenuModal .btn:focus-visible,
#qrLightbox .btn:focus-visible,
#modalDesbloqueioProcessado .btn:focus-visible,
#confirmQtdModal .btn:focus-visible,
#modalLaudosLote .btn:focus-visible,
#modalResetLayout .btn:focus-visible,
#modalLaudosLote a:focus-visible,
#modalLaudosLote button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.25rem var(--rs-modal-focus);
}

#modalLaudosLote .btn-outline-secondary {
  border-color: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.03);
}

#modalLaudosLote .btn-outline-secondary:hover {
  border-color: rgba(66, 189, 231, 0.38);
  background: rgba(66, 189, 231, 0.10);
  color: #ffffff;
}

#modalLaudosLote .btn-outline-primary {
  border-color: rgba(66, 189, 231, 0.50);
  color: #79dcff;
  background: rgba(66, 189, 231, 0.08);
}

#modalLaudosLote .btn-outline-primary:hover {
  border-color: rgba(66, 189, 231, 0.85);
  background: rgba(66, 189, 231, 0.16);
  color: #ffffff;
}

/* ---------------------- INPUTS DARK ---------------------- */

#qrMenuModal .form-control,
#qrMenuModal .form-select,
#modalDesbloqueioProcessado .form-control,
#modalDesbloqueioProcessado .form-select,
#modalLaudosLote .form-control,
#modalLaudosLote .form-select,
#modalLaudosLote textarea,
#modalLaudosLote input[type="date"],
#modalLaudosLote input[type="file"] {
  background: rgba(255, 255, 255, 0.055);
  border: 2px solid rgba(66, 189, 231, 0.20);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.92);
  box-shadow: none;
}

#qrMenuModal .form-control:focus,
#qrMenuModal .form-select:focus,
#modalDesbloqueioProcessado .form-control:focus,
#modalDesbloqueioProcessado .form-select:focus,
#modalLaudosLote .form-control:focus,
#modalLaudosLote .form-select:focus,
#modalLaudosLote textarea:focus,
#modalLaudosLote input[type="date"]:focus,
#modalLaudosLote input[type="file"]:focus {
  background: rgba(255, 255, 255, 0.08);
  border-color: #3fb8e8;
  box-shadow:
    0 0 0 0.25rem rgba(66, 189, 231, 0.22),
    0 4px 12px rgba(66, 189, 231, 0.16);
  transform: translateY(-1px);
}

#modalLaudosLote .form-control::placeholder,
#modalLaudosLote textarea::placeholder {
  color: rgba(255, 255, 255, 0.52);
}

#modalLaudosLote .form-select option,
#qrMenuModal .form-select option,
#modalDesbloqueioProcessado .form-select option {
  color: #071422;
  background: #ffffff;
}

/* ---------------------- SUBTÍTULO E CANVAS DO GRÁFICO CQ ---------------------- */

#cqChartModal #cqChartSubtitle {
  -webkit-text-fill-color: var(--rs-modal-muted-dark);
  background: none;
  font-weight: 400;
  font-size: 0.82rem;
}

#cqChartModal .modal-body {
  min-height: 300px;
}

#cqChartModal #cqChartCanvas {
  width: 100% !important;
}

:root[data-bs-theme="light"] #cqChartModal #cqChartSubtitle {
  -webkit-text-fill-color: var(--rs-modal-muted-light);
}

/* ---------------------- LISTAS E TABELAS ---------------------- */

#auditMenuModal .list-group-item,
#commentModal .list-group-item,
#cqHistoryModal .list-group-item {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  margin-bottom: 0.5rem;
}

#auditMenuModal table.table,
#commentModal table.table,
#cqHistoryModal table.table,
#modalLaudosLote table.table {
  --bs-table-bg: transparent;
  --bs-table-color: rgba(255, 255, 255, 0.9);
  --bs-table-striped-bg: rgba(255, 255, 255, 0.025);
  --bs-table-hover-bg: rgba(66, 189, 231, 0.075);
  --bs-table-hover-color: #ffffff;
  --bs-table-border-color: rgba(255, 255, 255, 0.08);

  color: rgba(255, 255, 255, 0.9);
}

#auditMenuModal thead.table-light,
#commentModal thead.table-light,
#cqHistoryModal thead.table-light {
  --bs-table-bg: rgba(255, 255, 255, 0.05);
  --bs-table-color: inherit;
  border-radius: 10px;
}

#modalLaudosLote .table-responsive {
  background: rgba(255, 255, 255, 0.025);
  border-color: rgba(121, 220, 255, 0.12) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

#modalLaudosLote table.table {
  margin-bottom: 0;
}

#modalLaudosLote table.table thead th {
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.035em;
  background: rgba(255, 255, 255, 0.045);
  border-bottom-color: rgba(121, 220, 255, 0.12);
}

#modalLaudosLote table.table tbody td {
  border-color: rgba(255, 255, 255, 0.08);
}

/* ---------------------- CHECKBOX LAUDOS ---------------------- */

#modalLaudosLote .form-check-input {
  border-color: rgba(66, 189, 231, 0.5);
  background-color: rgba(255, 255, 255, 0.06);
}

#modalLaudosLote .form-check-input:checked {
  border-color: #3fb8e8;
  background-color: #1f7fba;
}

/* ---------------------- QR MENU ---------------------- */

#qrMenuModal .qr-card {
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  padding: 12px;
  height: 100%;
  background: rgba(255, 255, 255, 0.04);
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
  cursor: pointer;
}

#qrMenuModal .qr-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
  border-color: rgba(66, 189, 231, 0.35);
}

#qrMenuModal .qr-title {
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: 0.25rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#qrMenuModal .qr-command {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.85rem;
  opacity: 0.85;
  margin-top: 0.25rem;
  user-select: all;
}

#qrMenuModal .qr-canvas-wrap {
  display: grid;
  place-items: center;
  min-height: 132px;
}

#qrMenuModal .header-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin-top: 0.75rem;
}

@media (min-width: 992px) {
  .form-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
  }

  #qrMenuModal .header-actions {
    margin-top: 0;
  }
}

/* ---------------------- QR LIGHTBOX ---------------------- */

#qrLightbox #qrLightboxImg {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 12px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

#qrLightbox #qrLightboxImg:hover,
#qrLightbox #qrLightboxImg:focus {
  transform: scale(1.015);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.32);
  border-color: rgba(66, 189, 231, 0.35) !important;
  outline: none;
}

#qrLightbox #qrLightboxCaption {
  opacity: 0.85;
}

#qrLightbox a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.25rem var(--rs-modal-focus);
  border-radius: 10px;
}

/* ---------------------- DESBLOQUEIO ---------------------- */

#modalDesbloqueioProcessado .alert {
  border-radius: 12px;
}

#modalDesbloqueioProcessado .modal-dialog.modal-dialog-scrollable .modal-content {
  overflow: hidden;
}

#modalDesbloqueioProcessado .modal-dialog.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

/* =======================================================
   TEMA CLARO
   ======================================================= */

:root[data-bs-theme="light"] #auditMenuModal ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #auditMenuModal ~ .modal-backdrop.show,
:root[data-bs-theme="light"] #commentModal ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #commentModal ~ .modal-backdrop.show,
:root[data-bs-theme="light"] #cqHistoryModal ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #cqHistoryModal ~ .modal-backdrop.show,
:root[data-bs-theme="light"] #cqChartModal ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #cqChartModal ~ .modal-backdrop.show,
:root[data-bs-theme="light"] #qrMenuModal ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #qrMenuModal ~ .modal-backdrop.show,
:root[data-bs-theme="light"] #qrLightbox ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #qrLightbox ~ .modal-backdrop.show,
:root[data-bs-theme="light"] #modalDesbloqueioProcessado ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalDesbloqueioProcessado ~ .modal-backdrop.show,
:root[data-bs-theme="light"] #confirmQtdModal ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #confirmQtdModal ~ .modal-backdrop.show,
:root[data-bs-theme="light"] #modalLaudosLote ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalLaudosLote ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.14),
    rgba(31, 127, 186, 0.12) 40%,
    rgba(7, 20, 34, 0.38) 70%
  );
}

/* ---------------------- CONTEÚDO LIGHT ---------------------- */

:root[data-bs-theme="light"] #auditMenuModal .modal-content,
:root[data-bs-theme="light"] #commentModal .modal-content,
:root[data-bs-theme="light"] #cqHistoryModal .modal-content,
:root[data-bs-theme="light"] #cqChartModal .modal-content,
:root[data-bs-theme="light"] #qrMenuModal .modal-content,
:root[data-bs-theme="light"] #qrLightbox .modal-content,
:root[data-bs-theme="light"] #modalDesbloqueioProcessado .modal-content,
:root[data-bs-theme="light"] #confirmQtdModal .modal-content,
:root[data-bs-theme="light"] #modalLaudosLote .modal-content {
  background: var(--rs-modal-bg-light);
  border: 1px solid var(--rs-modal-border-light);
  color: var(--rs-modal-text-light);
  box-shadow:
    var(--rs-modal-shadow-light),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

/* ---------------------- HEADER / FOOTER LIGHT ---------------------- */

:root[data-bs-theme="light"] #auditMenuModal .modal-header,
:root[data-bs-theme="light"] #commentModal .modal-header,
:root[data-bs-theme="light"] #cqHistoryModal .modal-header,
:root[data-bs-theme="light"] #cqChartModal .modal-header,
:root[data-bs-theme="light"] #qrMenuModal .modal-header,
:root[data-bs-theme="light"] #qrLightbox .modal-header,
:root[data-bs-theme="light"] #modalDesbloqueioProcessado .modal-header,
:root[data-bs-theme="light"] #confirmQtdModal .modal-header,
:root[data-bs-theme="light"] #modalLaudosLote .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.10) 0%,
    rgba(31, 127, 186, 0.09) 100%
  );
  border-bottom: 1px solid rgba(31, 127, 186, 0.18);
}

:root[data-bs-theme="light"] #auditMenuModal .modal-footer,
:root[data-bs-theme="light"] #commentModal .modal-footer,
:root[data-bs-theme="light"] #cqHistoryModal .modal-footer,
:root[data-bs-theme="light"] #cqChartModal .modal-footer,
:root[data-bs-theme="light"] #qrMenuModal .modal-footer,
:root[data-bs-theme="light"] #qrLightbox .modal-footer,
:root[data-bs-theme="light"] #modalDesbloqueioProcessado .modal-footer,
:root[data-bs-theme="light"] #confirmQtdModal .modal-footer,
:root[data-bs-theme="light"] #modalLaudosLote .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.05) 0%,
    rgba(31, 127, 186, 0.05) 100%
  );
  border-top: 1px solid rgba(7, 20, 34, 0.08);
}

/* ---------------------- TÍTULOS LIGHT ---------------------- */

:root[data-bs-theme="light"] #auditMenuModal .modal-title,
:root[data-bs-theme="light"] #commentModal .modal-title,
:root[data-bs-theme="light"] #cqHistoryModal .modal-title,
:root[data-bs-theme="light"] #cqChartModal .modal-title,
:root[data-bs-theme="light"] #qrMenuModal .modal-title,
:root[data-bs-theme="light"] #qrLightbox .modal-title,
:root[data-bs-theme="light"] #modalDesbloqueioProcessado .modal-title,
:root[data-bs-theme="light"] #confirmQtdModal .modal-title,
:root[data-bs-theme="light"] #modalLaudosLote .modal-title {
  background: linear-gradient(135deg, #133961 0%, #1f7fba 48%, #3fb8e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ---------------------- TEXTOS LIGHT ---------------------- */

:root[data-bs-theme="light"] #auditMenuModal .text-body-secondary,
:root[data-bs-theme="light"] #commentModal .text-body-secondary,
:root[data-bs-theme="light"] #cqHistoryModal .text-body-secondary,
:root[data-bs-theme="light"] #cqChartModal .text-body-secondary,
:root[data-bs-theme="light"] #qrMenuModal .text-body-secondary,
:root[data-bs-theme="light"] #qrLightbox .text-body-secondary,
:root[data-bs-theme="light"] #modalDesbloqueioProcessado .text-body-secondary,
:root[data-bs-theme="light"] #confirmQtdModal .text-body-secondary,
:root[data-bs-theme="light"] #modalLaudosLote .text-body-secondary,
:root[data-bs-theme="light"] #modalLaudosLote .form-text,
:root[data-bs-theme="light"] #modalLaudosLote #laudosLoteResumo {
  color: var(--rs-modal-muted-light) !important;
}

:root[data-bs-theme="light"] #auditMenuModal strong,
:root[data-bs-theme="light"] #commentModal strong,
:root[data-bs-theme="light"] #cqHistoryModal strong,
:root[data-bs-theme="light"] #cqChartModal strong,
:root[data-bs-theme="light"] #qrMenuModal strong,
:root[data-bs-theme="light"] #qrLightbox strong,
:root[data-bs-theme="light"] #modalDesbloqueioProcessado strong,
:root[data-bs-theme="light"] #confirmQtdModal strong,
:root[data-bs-theme="light"] #modalLaudosLote strong,
:root[data-bs-theme="light"] #modalLaudosLote .form-label {
  color: var(--rs-modal-text-light);
}

/* ---------------------- FECHAR LIGHT ---------------------- */

:root[data-bs-theme="light"] #auditMenuModal .btn-close,
:root[data-bs-theme="light"] #commentModal .btn-close,
:root[data-bs-theme="light"] #cqHistoryModal .btn-close,
:root[data-bs-theme="light"] #cqChartModal .btn-close,
:root[data-bs-theme="light"] #qrMenuModal .btn-close,
:root[data-bs-theme="light"] #qrLightbox .btn-close,
:root[data-bs-theme="light"] #modalDesbloqueioProcessado .btn-close,
:root[data-bs-theme="light"] #confirmQtdModal .btn-close,
:root[data-bs-theme="light"] #modalLaudosLote .btn-close {
  filter: none;
  opacity: 0.72;
}

:root[data-bs-theme="light"] #auditMenuModal .btn-close:hover,
:root[data-bs-theme="light"] #commentModal .btn-close:hover,
:root[data-bs-theme="light"] #cqHistoryModal .btn-close:hover,
:root[data-bs-theme="light"] #cqChartModal .btn-close:hover,
:root[data-bs-theme="light"] #qrMenuModal .btn-close:hover,
:root[data-bs-theme="light"] #qrLightbox .btn-close:hover,
:root[data-bs-theme="light"] #modalDesbloqueioProcessado .btn-close:hover,
:root[data-bs-theme="light"] #confirmQtdModal .btn-close:hover,
:root[data-bs-theme="light"] #modalLaudosLote .btn-close:hover {
  filter: none;
  opacity: 1;
}

/* ---------------------- INPUTS LIGHT ---------------------- */

:root[data-bs-theme="light"] #auditMenuModal textarea.form-control,
:root[data-bs-theme="light"] #auditMenuModal input.form-control,
:root[data-bs-theme="light"] #commentModal textarea.form-control,
:root[data-bs-theme="light"] #commentModal input.form-control,
:root[data-bs-theme="light"] #qrMenuModal .form-control,
:root[data-bs-theme="light"] #qrMenuModal .form-select,
:root[data-bs-theme="light"] #modalDesbloqueioProcessado .form-control,
:root[data-bs-theme="light"] #modalDesbloqueioProcessado .form-select,
:root[data-bs-theme="light"] #modalLaudosLote .form-control,
:root[data-bs-theme="light"] #modalLaudosLote .form-select,
:root[data-bs-theme="light"] #modalLaudosLote textarea,
:root[data-bs-theme="light"] #modalLaudosLote input[type="date"],
:root[data-bs-theme="light"] #modalLaudosLote input[type="file"] {
  background: rgba(7, 20, 34, 0.03);
  border: 2px solid rgba(31, 127, 186, 0.20);
  color: #071422;
}

:root[data-bs-theme="light"] #qrMenuModal .form-control:focus,
:root[data-bs-theme="light"] #qrMenuModal .form-select:focus,
:root[data-bs-theme="light"] #modalDesbloqueioProcessado .form-control:focus,
:root[data-bs-theme="light"] #modalDesbloqueioProcessado .form-select:focus,
:root[data-bs-theme="light"] #modalLaudosLote .form-control:focus,
:root[data-bs-theme="light"] #modalLaudosLote .form-select:focus,
:root[data-bs-theme="light"] #modalLaudosLote textarea:focus,
:root[data-bs-theme="light"] #modalLaudosLote input[type="date"]:focus,
:root[data-bs-theme="light"] #modalLaudosLote input[type="file"]:focus {
  background: rgba(7, 20, 34, 0.04);
  border-color: #1f7fba;
  box-shadow:
    0 0 0 0.25rem rgba(31, 127, 186, 0.16),
    0 4px 12px rgba(31, 127, 186, 0.12);
}

/* ---------------------- TABELAS LIGHT ---------------------- */

:root[data-bs-theme="light"] #auditMenuModal table.table,
:root[data-bs-theme="light"] #commentModal table.table,
:root[data-bs-theme="light"] #cqHistoryModal table.table,
:root[data-bs-theme="light"] #modalLaudosLote table.table {
  --bs-table-bg: transparent;
  --bs-table-color: #071422;
  --bs-table-striped-bg: rgba(7, 20, 34, 0.018);
  --bs-table-hover-bg: rgba(31, 127, 186, 0.065);
  --bs-table-hover-color: #071422;
  --bs-table-border-color: rgba(7, 20, 34, 0.08);

  color: #071422;
}

:root[data-bs-theme="light"] #auditMenuModal thead.table-light,
:root[data-bs-theme="light"] #commentModal thead.table-light,
:root[data-bs-theme="light"] #cqHistoryModal thead.table-light {
  --bs-table-bg: rgba(7, 20, 34, 0.04);
  --bs-table-color: #071422;
}

:root[data-bs-theme="light"] #modalLaudosLote .table-responsive {
  background: rgba(7, 20, 34, 0.018);
  border-color: rgba(7, 20, 34, 0.08) !important;
}

:root[data-bs-theme="light"] #modalLaudosLote table.table thead th {
  color: rgba(7, 20, 34, 0.62);
  background: rgba(7, 20, 34, 0.035);
  border-bottom-color: rgba(7, 20, 34, 0.08);
}

:root[data-bs-theme="light"] #modalLaudosLote table.table tbody td {
  border-color: rgba(7, 20, 34, 0.08);
}

/* ---------------------- QR LIGHT ---------------------- */

:root[data-bs-theme="light"] #qrMenuModal .qr-card {
  background: rgba(7, 20, 34, 0.02);
  border: 1px solid rgba(7, 20, 34, 0.08);
}

:root[data-bs-theme="light"] #qrMenuModal .qr-card:hover {
  border-color: rgba(31, 127, 186, 0.28);
  box-shadow: 0 8px 24px rgba(7, 20, 34, 0.16);
}

:root[data-bs-theme="light"] #qrLightbox #qrLightboxImg {
  background: rgba(7, 20, 34, 0.03);
  border: 1px solid rgba(7, 20, 34, 0.12) !important;
  box-shadow: 0 8px 24px rgba(7, 20, 34, 0.16);
}

/* ---------------------- CHECKBOX LIGHT ---------------------- */

:root[data-bs-theme="light"] #modalLaudosLote .form-check-input {
  border-color: rgba(31, 127, 186, 0.45);
  background-color: rgba(255, 255, 255, 0.8);
}

:root[data-bs-theme="light"] #modalLaudosLote .form-check-input:checked {
  border-color: #1f7fba;
  background-color: #1f7fba;
}

/* ---------------------- BOTÕES LIGHT ---------------------- */

:root[data-bs-theme="light"] #modalLaudosLote .btn-outline-secondary {
  border-color: rgba(7, 20, 34, 0.12);
  color: #071422;
  background: rgba(7, 20, 34, 0.02);
}

:root[data-bs-theme="light"] #modalLaudosLote .btn-outline-secondary:hover {
  border-color: rgba(31, 127, 186, 0.28);
  background: rgba(31, 127, 186, 0.08);
  color: #071422;
}

:root[data-bs-theme="light"] #modalLaudosLote .btn-outline-primary {
  border-color: rgba(31, 127, 186, 0.46);
  color: #1f7fba;
  background: rgba(31, 127, 186, 0.07);
}

:root[data-bs-theme="light"] #modalLaudosLote .btn-outline-primary:hover {
  border-color: rgba(31, 127, 186, 0.72);
  background: rgba(31, 127, 186, 0.13);
  color: #133961;
}

:root[data-bs-theme="light"] #auditMenuModal .btn:focus-visible,
:root[data-bs-theme="light"] #commentModal .btn:focus-visible,
:root[data-bs-theme="light"] #cqHistoryModal .btn:focus-visible,
:root[data-bs-theme="light"] #cqChartModal .btn:focus-visible,
:root[data-bs-theme="light"] #qrMenuModal .btn:focus-visible,
:root[data-bs-theme="light"] #qrLightbox .btn:focus-visible,
:root[data-bs-theme="light"] #modalDesbloqueioProcessado .btn:focus-visible,
:root[data-bs-theme="light"] #confirmQtdModal .btn:focus-visible,
:root[data-bs-theme="light"] #modalLaudosLote .btn:focus-visible {
  box-shadow: 0 0 0 0.25rem rgba(31, 127, 186, 0.22);
}

/* =======================================================
   MODAL — EXCLUIR DOCUMENTO / LAUDO
   ID: #modalExcluirDocumento
   ======================================================= */

#modalExcluirDocumento.modal,
#modalExcluirDocumento.modal.show {
  z-index: 2060 !important;
}

#modalExcluirDocumento ~ .modal-backdrop.fade {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease;
}

#modalExcluirDocumento ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 1 !important;
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

#modalExcluirDocumento.modal.fade .modal-dialog {
  transition: none;
}

#modalExcluirDocumento.modal.show .modal-dialog {
  animation: modalGlassFadeUp 0.45s ease both;
}

#modalExcluirDocumento.modal.fade:not(.show) .modal-dialog {
  animation: modalGlassFadeDown 0.35s ease both;
}

#modalExcluirDocumento .modal-content {
  background: var(--rs-modal-bg-dark, rgba(7, 20, 34, 0.78));
  border: 1px solid var(--rs-modal-border-dark, rgba(121, 220, 255, 0.16));
  border-radius: 18px;
  overflow: hidden;
  color: var(--rs-modal-text-dark, rgba(255, 255, 255, 0.92));
  box-shadow:
    var(--rs-modal-shadow-dark, 0 24px 80px rgba(0, 0, 0, 0.42)),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

#modalExcluirDocumento .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.11) 0%,
    rgba(31, 127, 186, 0.12) 100%
  );
  border-bottom: 1px solid rgba(121, 220, 255, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1rem 1.25rem;
}

#modalExcluirDocumento .modal-title {
  font-weight: 700;
  margin: 0;
  background: linear-gradient(135deg, #79dcff 0%, #3fb8e8 48%, #1f7fba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

#modalExcluirDocumento .modal-body {
  padding: 1.25rem;
}

#modalExcluirDocumento .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.055) 0%,
    rgba(31, 127, 186, 0.06) 100%
  );
  border-top: 1px solid rgba(121, 220, 255, 0.12);
  padding: 1rem 1.25rem;
}

#modalExcluirDocumento .text-body-secondary,
#modalExcluirDocumento #nomeDocumentoExcluir {
  color: var(--rs-modal-muted-dark, rgba(255, 255, 255, 0.68)) !important;
}

#modalExcluirDocumento .btn {
  border-radius: 10px;
}

#modalExcluirDocumento .btn-close {
  filter: invert(1) grayscale(100%) opacity(0.78);
  transition: transform 0.15s ease, filter 0.2s ease;
}

#modalExcluirDocumento .btn-close:hover {
  transform: scale(1.05);
  filter: invert(1) opacity(1);
}

#modalExcluirDocumento .btn-close:focus,
#modalExcluirDocumento .btn:focus-visible,
#modalExcluirDocumento button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.25rem var(--rs-modal-focus, rgba(66, 189, 231, 0.25));
}

#modalExcluirDocumento .btn-outline-secondary {
  border-color: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.03);
}

#modalExcluirDocumento .btn-outline-secondary:hover {
  border-color: rgba(66, 189, 231, 0.38);
  background: rgba(66, 189, 231, 0.10);
  color: #ffffff;
}

/* Tema claro */
:root[data-bs-theme="light"] #modalExcluirDocumento ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalExcluirDocumento ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.14),
    rgba(31, 127, 186, 0.12) 40%,
    rgba(7, 20, 34, 0.38) 70%
  );
}

:root[data-bs-theme="light"] #modalExcluirDocumento .modal-content {
  background: var(--rs-modal-bg-light, rgba(255, 255, 255, 0.90));
  border: 1px solid var(--rs-modal-border-light, rgba(7, 20, 34, 0.10));
  color: var(--rs-modal-text-light, #071422);
  box-shadow:
    var(--rs-modal-shadow-light, 0 10px 30px rgba(7, 20, 34, 0.18)),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

:root[data-bs-theme="light"] #modalExcluirDocumento .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.10) 0%,
    rgba(31, 127, 186, 0.09) 100%
  );
  border-bottom: 1px solid rgba(31, 127, 186, 0.18);
}

:root[data-bs-theme="light"] #modalExcluirDocumento .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.05) 0%,
    rgba(31, 127, 186, 0.05) 100%
  );
  border-top: 1px solid rgba(7, 20, 34, 0.08);
}

:root[data-bs-theme="light"] #modalExcluirDocumento .modal-title {
  background: linear-gradient(135deg, #133961 0%, #1f7fba 48%, #3fb8e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

:root[data-bs-theme="light"] #modalExcluirDocumento .text-body-secondary,
:root[data-bs-theme="light"] #modalExcluirDocumento #nomeDocumentoExcluir {
  color: var(--rs-modal-muted-light, rgba(7, 20, 34, 0.66)) !important;
}

:root[data-bs-theme="light"] #modalExcluirDocumento .btn-close {
  filter: none;
  opacity: 0.72;
}

:root[data-bs-theme="light"] #modalExcluirDocumento .btn-close:hover {
  filter: none;
  opacity: 1;
}

:root[data-bs-theme="light"] #modalExcluirDocumento .btn-outline-secondary {
  border-color: rgba(7, 20, 34, 0.12);
  color: #071422;
  background: rgba(7, 20, 34, 0.02);
}

:root[data-bs-theme="light"] #modalExcluirDocumento .btn-outline-secondary:hover {
  border-color: rgba(31, 127, 186, 0.28);
  background: rgba(31, 127, 186, 0.08);
  color: #071422;
}

/* =======================================================
   MODAL — IMPORTAÇÃO EM MASSA DE DOCUMENTOS DE REPRODUTORES
   ID: #modalImportacaoMassaReprodutores
   ======================================================= */

#modalImportacaoMassaReprodutores.modal,
#modalImportacaoMassaReprodutores.modal.show {
  z-index: 2060 !important;
}

#modalImportacaoMassaReprodutores ~ .modal-backdrop.fade {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease;
}

#modalImportacaoMassaReprodutores ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 1 !important;
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

#modalImportacaoMassaReprodutores.modal.fade .modal-dialog {
  transition: none;
}

#modalImportacaoMassaReprodutores.modal.show .modal-dialog {
  animation: modalGlassFadeUp 0.45s ease both;
}

#modalImportacaoMassaReprodutores.modal.fade:not(.show) .modal-dialog {
  animation: modalGlassFadeDown 0.35s ease both;
}

#modalImportacaoMassaReprodutores .modal-content {
  background: var(--rs-modal-bg-dark, rgba(7, 20, 34, 0.78));
  border: 1px solid var(--rs-modal-border-dark, rgba(121, 220, 255, 0.16));
  border-radius: 18px;
  overflow: hidden;
  color: var(--rs-modal-text-dark, rgba(255, 255, 255, 0.92));
  box-shadow:
    var(--rs-modal-shadow-dark, 0 24px 80px rgba(0, 0, 0, 0.42)),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

#modalImportacaoMassaReprodutores .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.11) 0%,
    rgba(31, 127, 186, 0.12) 100%
  );
  border-bottom: 1px solid rgba(121, 220, 255, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1rem 1.25rem;
}

#modalImportacaoMassaReprodutores .modal-title {
  font-weight: 700;
  margin: 0;
  background: linear-gradient(135deg, #79dcff 0%, #3fb8e8 48%, #1f7fba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

#modalImportacaoMassaReprodutores .modal-body {
  padding: 1.25rem;
}

#modalImportacaoMassaReprodutores .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.055) 0%,
    rgba(31, 127, 186, 0.06) 100%
  );
  border-top: 1px solid rgba(121, 220, 255, 0.12);
  padding: 1rem 1.25rem;
}

#modalImportacaoMassaReprodutores .text-body-secondary,
#modalImportacaoMassaReprodutores .form-text,
#modalImportacaoMassaReprodutores #importacaoMassaResumo {
  color: var(--rs-modal-muted-dark, rgba(255, 255, 255, 0.68)) !important;
}

#modalImportacaoMassaReprodutores strong,
#modalImportacaoMassaReprodutores .form-label {
  color: var(--rs-modal-text-dark, rgba(255, 255, 255, 0.92));
}

#modalImportacaoMassaReprodutores .btn-close {
  filter: invert(1) grayscale(100%) opacity(0.78);
  transition: transform 0.15s ease, filter 0.2s ease;
}

#modalImportacaoMassaReprodutores .btn-close:hover {
  transform: scale(1.05);
  filter: invert(1) opacity(1);
}

#modalImportacaoMassaReprodutores .btn-close:focus,
#modalImportacaoMassaReprodutores .btn:focus-visible,
#modalImportacaoMassaReprodutores button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.25rem var(--rs-modal-focus, rgba(66, 189, 231, 0.25));
}

#modalImportacaoMassaReprodutores .btn {
  border-radius: 10px;
}

#modalImportacaoMassaReprodutores .btn-outline-secondary {
  border-color: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.03);
}

#modalImportacaoMassaReprodutores .btn-outline-secondary:hover {
  border-color: rgba(66, 189, 231, 0.38);
  background: rgba(66, 189, 231, 0.10);
  color: #ffffff;
}

#modalImportacaoMassaReprodutores .btn-outline-primary {
  border-color: rgba(66, 189, 231, 0.50);
  color: #79dcff;
  background: rgba(66, 189, 231, 0.08);
}

#modalImportacaoMassaReprodutores .btn-outline-primary:hover {
  border-color: rgba(66, 189, 231, 0.85);
  background: rgba(66, 189, 231, 0.16);
  color: #ffffff;
}

#modalImportacaoMassaReprodutores .form-control,
#modalImportacaoMassaReprodutores .form-select,
#modalImportacaoMassaReprodutores input[type="file"],
#modalImportacaoMassaReprodutores input[type="search"] {
  background: rgba(255, 255, 255, 0.055);
  border: 2px solid rgba(66, 189, 231, 0.20);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.92);
  box-shadow: none;
}

#modalImportacaoMassaReprodutores .form-control:focus,
#modalImportacaoMassaReprodutores .form-select:focus,
#modalImportacaoMassaReprodutores input[type="file"]:focus,
#modalImportacaoMassaReprodutores input[type="search"]:focus {
  background: rgba(255, 255, 255, 0.08);
  border-color: #3fb8e8;
  box-shadow:
    0 0 0 0.25rem rgba(66, 189, 231, 0.22),
    0 4px 12px rgba(66, 189, 231, 0.16);
  transform: translateY(-1px);
}

#modalImportacaoMassaReprodutores .form-control::placeholder,
#modalImportacaoMassaReprodutores input[type="search"]::placeholder {
  color: rgba(255, 255, 255, 0.52);
}

#modalImportacaoMassaReprodutores .form-select option {
  color: #071422;
  background: #ffffff;
}

#modalImportacaoMassaReprodutores .table-responsive {
  background: rgba(255, 255, 255, 0.025);
  border-color: rgba(121, 220, 255, 0.12) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
  overflow-y: auto;
}

#modalImportacaoMassaReprodutores table.table {
  --bs-table-bg: transparent;
  --bs-table-color: rgba(255, 255, 255, 0.9);
  --bs-table-striped-bg: rgba(255, 255, 255, 0.025);
  --bs-table-hover-bg: rgba(66, 189, 231, 0.075);
  --bs-table-hover-color: #ffffff;
  --bs-table-border-color: rgba(255, 255, 255, 0.08);

  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 0;
}

#modalImportacaoMassaReprodutores table.table thead th {
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.035em;
  background: rgba(255, 255, 255, 0.045);
  border-bottom-color: rgba(121, 220, 255, 0.12);
}

#modalImportacaoMassaReprodutores table.table tbody td {
  border-color: rgba(255, 255, 255, 0.08);
}

#modalImportacaoMassaReprodutores .form-check-input {
  border-color: rgba(66, 189, 231, 0.5);
  background-color: rgba(255, 255, 255, 0.06);
}

#modalImportacaoMassaReprodutores .form-check-input:checked {
  border-color: #3fb8e8;
  background-color: #1f7fba;
}

/* Tema claro */
:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.14),
    rgba(31, 127, 186, 0.12) 40%,
    rgba(7, 20, 34, 0.38) 70%
  );
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .modal-content {
  background: var(--rs-modal-bg-light, rgba(255, 255, 255, 0.90));
  border: 1px solid var(--rs-modal-border-light, rgba(7, 20, 34, 0.10));
  color: var(--rs-modal-text-light, #071422);
  box-shadow:
    var(--rs-modal-shadow-light, 0 10px 30px rgba(7, 20, 34, 0.18)),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.10) 0%,
    rgba(31, 127, 186, 0.09) 100%
  );
  border-bottom: 1px solid rgba(31, 127, 186, 0.18);
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.05) 0%,
    rgba(31, 127, 186, 0.05) 100%
  );
  border-top: 1px solid rgba(7, 20, 34, 0.08);
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .modal-title {
  background: linear-gradient(135deg, #133961 0%, #1f7fba 48%, #3fb8e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .text-body-secondary,
:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .form-text,
:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores #importacaoMassaResumo {
  color: var(--rs-modal-muted-light, rgba(7, 20, 34, 0.66)) !important;
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores strong,
:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .form-label {
  color: var(--rs-modal-text-light, #071422);
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .btn-close {
  filter: none;
  opacity: 0.72;
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .btn-close:hover {
  filter: none;
  opacity: 1;
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .form-control,
:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .form-select,
:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores input[type="file"],
:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores input[type="search"] {
  background: rgba(7, 20, 34, 0.03);
  border: 2px solid rgba(31, 127, 186, 0.20);
  color: #071422;
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .form-control:focus,
:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .form-select:focus,
:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores input[type="file"]:focus,
:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores input[type="search"]:focus {
  background: rgba(7, 20, 34, 0.04);
  border-color: #1f7fba;
  box-shadow:
    0 0 0 0.25rem rgba(31, 127, 186, 0.16),
    0 4px 12px rgba(31, 127, 186, 0.12);
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores table.table {
  --bs-table-bg: transparent;
  --bs-table-color: #071422;
  --bs-table-striped-bg: rgba(7, 20, 34, 0.018);
  --bs-table-hover-bg: rgba(31, 127, 186, 0.065);
  --bs-table-hover-color: #071422;
  --bs-table-border-color: rgba(7, 20, 34, 0.08);

  color: #071422;
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .table-responsive {
  background: rgba(7, 20, 34, 0.018);
  border-color: rgba(7, 20, 34, 0.08) !important;
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores table.table thead th {
  color: rgba(7, 20, 34, 0.62);
  background: rgba(7, 20, 34, 0.035);
  border-bottom-color: rgba(7, 20, 34, 0.08);
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores table.table tbody td {
  border-color: rgba(7, 20, 34, 0.08);
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .form-check-input {
  border-color: rgba(31, 127, 186, 0.45);
  background-color: rgba(255, 255, 255, 0.8);
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .form-check-input:checked {
  border-color: #1f7fba;
  background-color: #1f7fba;
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .btn-outline-secondary {
  border-color: rgba(7, 20, 34, 0.12);
  color: #071422;
  background: rgba(7, 20, 34, 0.02);
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .btn-outline-secondary:hover {
  border-color: rgba(31, 127, 186, 0.28);
  background: rgba(31, 127, 186, 0.08);
  color: #071422;
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .btn-outline-primary {
  border-color: rgba(31, 127, 186, 0.46);
  color: #1f7fba;
  background: rgba(31, 127, 186, 0.07);
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .btn-outline-primary:hover {
  border-color: rgba(31, 127, 186, 0.72);
  background: rgba(31, 127, 186, 0.13);
  color: #133961;
}

:root[data-bs-theme="light"] #modalImportacaoMassaReprodutores .btn:focus-visible {
  box-shadow: 0 0 0 0.25rem rgba(31, 127, 186, 0.22);
}

/* =======================================================
   MODAL — QUARENTENA OBRIGATÓRIA (sugestão ao criar reprodutor)
   ID: #modalQuarentenaObrigatoria
   ======================================================= */

#modalQuarentenaObrigatoria.modal,
#modalQuarentenaObrigatoria.modal.show {
  z-index: 2060 !important;
}

#modalQuarentenaObrigatoria ~ .modal-backdrop.fade {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease;
}

#modalQuarentenaObrigatoria ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 1 !important;
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

#modalQuarentenaObrigatoria.modal.fade .modal-dialog {
  transition: none;
}

#modalQuarentenaObrigatoria.modal.show .modal-dialog {
  animation: modalGlassFadeUp 0.45s ease both;
}

#modalQuarentenaObrigatoria.modal.fade:not(.show) .modal-dialog {
  animation: modalGlassFadeDown 0.35s ease both;
}

#modalQuarentenaObrigatoria .modal-content {
  background: var(--rs-modal-bg-dark, rgba(7, 20, 34, 0.78));
  border: 1px solid var(--rs-modal-border-dark, rgba(121, 220, 255, 0.16));
  border-radius: 18px;
  overflow: hidden;
  color: var(--rs-modal-text-dark, rgba(255, 255, 255, 0.92));
  box-shadow:
    var(--rs-modal-shadow-dark, 0 24px 80px rgba(0, 0, 0, 0.42)),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

#modalQuarentenaObrigatoria .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.11) 0%,
    rgba(31, 127, 186, 0.12) 100%
  );
  border-bottom: 1px solid rgba(121, 220, 255, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1rem 1.25rem;
}

#modalQuarentenaObrigatoria .modal-title {
  font-weight: 700;
  margin: 0;
  background: linear-gradient(135deg, #79dcff 0%, #3fb8e8 48%, #1f7fba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

#modalQuarentenaObrigatoria .modal-body {
  padding: 1.25rem;
}

#modalQuarentenaObrigatoria .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.055) 0%,
    rgba(31, 127, 186, 0.06) 100%
  );
  border-top: 1px solid rgba(121, 220, 255, 0.12);
  padding: 1rem 1.25rem;
}

#modalQuarentenaObrigatoria .text-body-secondary {
  color: var(--rs-modal-muted-dark, rgba(255, 255, 255, 0.68)) !important;
}

#modalQuarentenaObrigatoria strong {
  color: var(--rs-modal-text-dark, rgba(255, 255, 255, 0.92));
}

#modalQuarentenaObrigatoria .btn {
  border-radius: 10px;
}

#modalQuarentenaObrigatoria .btn-close {
  filter: invert(1) grayscale(100%) opacity(0.78);
  transition: transform 0.15s ease, filter 0.2s ease;
}

#modalQuarentenaObrigatoria .btn-close:hover {
  transform: scale(1.05);
  filter: invert(1) opacity(1);
}

#modalQuarentenaObrigatoria .btn-close:focus,
#modalQuarentenaObrigatoria .btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.25rem var(--rs-modal-focus, rgba(66, 189, 231, 0.25));
}

#modalQuarentenaObrigatoria .btn-outline-secondary {
  border-color: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.03);
}

#modalQuarentenaObrigatoria .btn-outline-secondary:hover {
  border-color: rgba(66, 189, 231, 0.38);
  background: rgba(66, 189, 231, 0.10);
  color: #ffffff;
}

/* Tema claro */
:root[data-bs-theme="light"] #modalQuarentenaObrigatoria ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalQuarentenaObrigatoria ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.14),
    rgba(31, 127, 186, 0.12) 40%,
    rgba(7, 20, 34, 0.38) 70%
  );
}

:root[data-bs-theme="light"] #modalQuarentenaObrigatoria .modal-content {
  background: var(--rs-modal-bg-light, rgba(255, 255, 255, 0.90));
  border: 1px solid var(--rs-modal-border-light, rgba(7, 20, 34, 0.10));
  color: var(--rs-modal-text-light, #071422);
  box-shadow:
    var(--rs-modal-shadow-light, 0 10px 30px rgba(7, 20, 34, 0.18)),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

:root[data-bs-theme="light"] #modalQuarentenaObrigatoria .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.10) 0%,
    rgba(31, 127, 186, 0.09) 100%
  );
  border-bottom: 1px solid rgba(31, 127, 186, 0.18);
}

:root[data-bs-theme="light"] #modalQuarentenaObrigatoria .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.05) 0%,
    rgba(31, 127, 186, 0.05) 100%
  );
  border-top: 1px solid rgba(7, 20, 34, 0.08);
}

:root[data-bs-theme="light"] #modalQuarentenaObrigatoria .modal-title {
  background: linear-gradient(135deg, #133961 0%, #1f7fba 48%, #3fb8e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

:root[data-bs-theme="light"] #modalQuarentenaObrigatoria .text-body-secondary {
  color: var(--rs-modal-muted-light, rgba(7, 20, 34, 0.66)) !important;
}

:root[data-bs-theme="light"] #modalQuarentenaObrigatoria strong {
  color: var(--rs-modal-text-light, #071422);
}

:root[data-bs-theme="light"] #modalQuarentenaObrigatoria .btn-close {
  filter: none;
  opacity: 0.72;
}

:root[data-bs-theme="light"] #modalQuarentenaObrigatoria .btn-close:hover {
  filter: none;
  opacity: 1;
}

:root[data-bs-theme="light"] #modalQuarentenaObrigatoria .btn-outline-secondary {
  border-color: rgba(7, 20, 34, 0.12);
  color: #071422;
  background: rgba(7, 20, 34, 0.02);
}

:root[data-bs-theme="light"] #modalQuarentenaObrigatoria .btn-outline-secondary:hover {
  border-color: rgba(31, 127, 186, 0.28);
  background: rgba(31, 127, 186, 0.08);
  color: #071422;
}

:root[data-bs-theme="light"] #modalQuarentenaObrigatoria .btn:focus-visible {
  box-shadow: 0 0 0 0.25rem rgba(31, 127, 186, 0.22);
}

/* =======================================================
   MODAIS — AJUSTAR / EXCLUIR AGENDA DE QUARENTENA
   IDs: #ajustarAgendaModal, #excluirAgendaModal
   ======================================================= */

#ajustarAgendaModal.modal,
#ajustarAgendaModal.modal.show,
#excluirAgendaModal.modal,
#excluirAgendaModal.modal.show {
  z-index: 2060 !important;
}

#ajustarAgendaModal ~ .modal-backdrop.fade,
#excluirAgendaModal ~ .modal-backdrop.fade {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease;
}

#ajustarAgendaModal ~ .modal-backdrop.show,
#excluirAgendaModal ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 1 !important;
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

#ajustarAgendaModal.modal.fade .modal-dialog,
#excluirAgendaModal.modal.fade .modal-dialog {
  transition: none;
}

#ajustarAgendaModal.modal.show .modal-dialog,
#excluirAgendaModal.modal.show .modal-dialog {
  animation: modalGlassFadeUp 0.45s ease both;
}

#ajustarAgendaModal.modal.fade:not(.show) .modal-dialog,
#excluirAgendaModal.modal.fade:not(.show) .modal-dialog {
  animation: modalGlassFadeDown 0.35s ease both;
}

#ajustarAgendaModal .modal-content,
#excluirAgendaModal .modal-content {
  background: var(--rs-modal-bg-dark, rgba(7, 20, 34, 0.78));
  border: 1px solid var(--rs-modal-border-dark, rgba(121, 220, 255, 0.16));
  border-radius: 18px;
  overflow: hidden;
  color: var(--rs-modal-text-dark, rgba(255, 255, 255, 0.92));
  box-shadow:
    var(--rs-modal-shadow-dark, 0 24px 80px rgba(0, 0, 0, 0.42)),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

#ajustarAgendaModal .modal-header,
#excluirAgendaModal .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.11) 0%,
    rgba(31, 127, 186, 0.12) 100%
  );
  border-bottom: 1px solid rgba(121, 220, 255, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1rem 1.25rem;
}

#ajustarAgendaModal .modal-title,
#excluirAgendaModal .modal-title {
  font-weight: 700;
  margin: 0;
  background: linear-gradient(135deg, #79dcff 0%, #3fb8e8 48%, #1f7fba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

#ajustarAgendaModal .modal-body,
#excluirAgendaModal .modal-body {
  padding: 1.25rem;
}

#ajustarAgendaModal .modal-footer,
#excluirAgendaModal .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.055) 0%,
    rgba(31, 127, 186, 0.06) 100%
  );
  border-top: 1px solid rgba(121, 220, 255, 0.12);
  padding: 1rem 1.25rem;
}

#ajustarAgendaModal .text-body-secondary,
#excluirAgendaModal .text-body-secondary,
#ajustarAgendaModal .form-text,
#excluirAgendaModal .form-text {
  color: var(--rs-modal-muted-dark, rgba(255, 255, 255, 0.68)) !important;
}

#ajustarAgendaModal strong,
#excluirAgendaModal strong,
#ajustarAgendaModal .form-label,
#excluirAgendaModal .form-label {
  color: var(--rs-modal-text-dark, rgba(255, 255, 255, 0.92));
}

#ajustarAgendaModal .btn,
#excluirAgendaModal .btn {
  border-radius: 10px;
}

#ajustarAgendaModal .btn-close,
#excluirAgendaModal .btn-close {
  filter: invert(1) grayscale(100%) opacity(0.78);
  transition: transform 0.15s ease, filter 0.2s ease;
}

#ajustarAgendaModal .btn-close:hover,
#excluirAgendaModal .btn-close:hover {
  transform: scale(1.05);
  filter: invert(1) opacity(1);
}

#ajustarAgendaModal .btn-close:focus,
#excluirAgendaModal .btn-close:focus,
#ajustarAgendaModal .btn:focus-visible,
#excluirAgendaModal .btn:focus-visible,
#ajustarAgendaModal button:focus-visible,
#excluirAgendaModal button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.25rem var(--rs-modal-focus, rgba(66, 189, 231, 0.25));
}

#ajustarAgendaModal .btn-outline-secondary,
#excluirAgendaModal .btn-outline-secondary {
  border-color: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.03);
}

#ajustarAgendaModal .btn-outline-secondary:hover,
#excluirAgendaModal .btn-outline-secondary:hover {
  border-color: rgba(66, 189, 231, 0.38);
  background: rgba(66, 189, 231, 0.10);
  color: #ffffff;
}

#ajustarAgendaModal .form-control,
#ajustarAgendaModal input[type="date"] {
  background: rgba(255, 255, 255, 0.055);
  border: 2px solid rgba(66, 189, 231, 0.20);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.92);
  box-shadow: none;
}

#ajustarAgendaModal .form-control:focus,
#ajustarAgendaModal input[type="date"]:focus {
  background: rgba(255, 255, 255, 0.08);
  border-color: #3fb8e8;
  box-shadow:
    0 0 0 0.25rem rgba(66, 189, 231, 0.22),
    0 4px 12px rgba(66, 189, 231, 0.16);
  transform: translateY(-1px);
}

/* Tema claro */
:root[data-bs-theme="light"] #ajustarAgendaModal ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #ajustarAgendaModal ~ .modal-backdrop.show,
:root[data-bs-theme="light"] #excluirAgendaModal ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #excluirAgendaModal ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.14),
    rgba(31, 127, 186, 0.12) 40%,
    rgba(7, 20, 34, 0.38) 70%
  );
}

:root[data-bs-theme="light"] #ajustarAgendaModal .modal-content,
:root[data-bs-theme="light"] #excluirAgendaModal .modal-content {
  background: var(--rs-modal-bg-light, rgba(255, 255, 255, 0.90));
  border: 1px solid var(--rs-modal-border-light, rgba(7, 20, 34, 0.10));
  color: var(--rs-modal-text-light, #071422);
  box-shadow:
    var(--rs-modal-shadow-light, 0 10px 30px rgba(7, 20, 34, 0.18)),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

:root[data-bs-theme="light"] #ajustarAgendaModal .modal-header,
:root[data-bs-theme="light"] #excluirAgendaModal .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.10) 0%,
    rgba(31, 127, 186, 0.09) 100%
  );
  border-bottom: 1px solid rgba(31, 127, 186, 0.18);
}

:root[data-bs-theme="light"] #ajustarAgendaModal .modal-footer,
:root[data-bs-theme="light"] #excluirAgendaModal .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.05) 0%,
    rgba(31, 127, 186, 0.05) 100%
  );
  border-top: 1px solid rgba(7, 20, 34, 0.08);
}

:root[data-bs-theme="light"] #ajustarAgendaModal .modal-title,
:root[data-bs-theme="light"] #excluirAgendaModal .modal-title {
  background: linear-gradient(135deg, #133961 0%, #1f7fba 48%, #3fb8e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

:root[data-bs-theme="light"] #ajustarAgendaModal .text-body-secondary,
:root[data-bs-theme="light"] #excluirAgendaModal .text-body-secondary,
:root[data-bs-theme="light"] #ajustarAgendaModal .form-text,
:root[data-bs-theme="light"] #excluirAgendaModal .form-text {
  color: var(--rs-modal-muted-light, rgba(7, 20, 34, 0.66)) !important;
}

:root[data-bs-theme="light"] #ajustarAgendaModal strong,
:root[data-bs-theme="light"] #excluirAgendaModal strong,
:root[data-bs-theme="light"] #ajustarAgendaModal .form-label,
:root[data-bs-theme="light"] #excluirAgendaModal .form-label {
  color: var(--rs-modal-text-light, #071422);
}

:root[data-bs-theme="light"] #ajustarAgendaModal .btn-close,
:root[data-bs-theme="light"] #excluirAgendaModal .btn-close {
  filter: none;
  opacity: 0.72;
}

:root[data-bs-theme="light"] #ajustarAgendaModal .btn-close:hover,
:root[data-bs-theme="light"] #excluirAgendaModal .btn-close:hover {
  filter: none;
  opacity: 1;
}

:root[data-bs-theme="light"] #ajustarAgendaModal .form-control,
:root[data-bs-theme="light"] #ajustarAgendaModal input[type="date"] {
  background: rgba(7, 20, 34, 0.03);
  border: 2px solid rgba(31, 127, 186, 0.20);
  color: #071422;
}

:root[data-bs-theme="light"] #ajustarAgendaModal .form-control:focus,
:root[data-bs-theme="light"] #ajustarAgendaModal input[type="date"]:focus {
  background: rgba(7, 20, 34, 0.04);
  border-color: #1f7fba;
  box-shadow:
    0 0 0 0.25rem rgba(31, 127, 186, 0.16),
    0 4px 12px rgba(31, 127, 186, 0.12);
}

:root[data-bs-theme="light"] #ajustarAgendaModal .btn-outline-secondary,
:root[data-bs-theme="light"] #excluirAgendaModal .btn-outline-secondary {
  border-color: rgba(7, 20, 34, 0.12);
  color: #071422;
  background: rgba(7, 20, 34, 0.02);
}

:root[data-bs-theme="light"] #ajustarAgendaModal .btn-outline-secondary:hover,
:root[data-bs-theme="light"] #excluirAgendaModal .btn-outline-secondary:hover {
  border-color: rgba(31, 127, 186, 0.28);
  background: rgba(31, 127, 186, 0.08);
  color: #071422;
}

/* =======================================================
   MODAL — RENOMEAR DOCUMENTO / LAUDO
   ID: #modalRenomearDocumento
   ======================================================= */

#modalRenomearDocumento.modal,
#modalRenomearDocumento.modal.show {
  z-index: 2060 !important;
}

#modalRenomearDocumento ~ .modal-backdrop.fade {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease;
}

#modalRenomearDocumento ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 1 !important;
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

#modalRenomearDocumento.modal.fade .modal-dialog {
  transition: none;
}

#modalRenomearDocumento.modal.show .modal-dialog {
  animation: modalGlassFadeUp 0.45s ease both;
}

#modalRenomearDocumento.modal.fade:not(.show) .modal-dialog {
  animation: modalGlassFadeDown 0.35s ease both;
}

#modalRenomearDocumento .modal-content {
  background: var(--rs-modal-bg-dark, rgba(7, 20, 34, 0.78));
  border: 1px solid var(--rs-modal-border-dark, rgba(121, 220, 255, 0.16));
  border-radius: 18px;
  overflow: hidden;
  color: var(--rs-modal-text-dark, rgba(255, 255, 255, 0.92));
  box-shadow:
    var(--rs-modal-shadow-dark, 0 24px 80px rgba(0, 0, 0, 0.42)),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

#modalRenomearDocumento .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.11) 0%,
    rgba(31, 127, 186, 0.12) 100%
  );
  border-bottom: 1px solid rgba(121, 220, 255, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1rem 1.25rem;
}

#modalRenomearDocumento .modal-title {
  font-weight: 700;
  margin: 0;
  background: linear-gradient(135deg, #79dcff 0%, #3fb8e8 48%, #1f7fba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

#modalRenomearDocumento .modal-body {
  padding: 1.25rem;
}

#modalRenomearDocumento .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.055) 0%,
    rgba(31, 127, 186, 0.06) 100%
  );
  border-top: 1px solid rgba(121, 220, 255, 0.12);
  padding: 1rem 1.25rem;
}

#modalRenomearDocumento .text-body-secondary,
#modalRenomearDocumento .form-text {
  color: var(--rs-modal-muted-dark, rgba(255, 255, 255, 0.68)) !important;
}

#modalRenomearDocumento strong,
#modalRenomearDocumento .form-label {
  color: var(--rs-modal-text-dark, rgba(255, 255, 255, 0.92));
}

#modalRenomearDocumento .btn {
  border-radius: 10px;
}

#modalRenomearDocumento .btn-close {
  filter: invert(1) grayscale(100%) opacity(0.78);
  transition: transform 0.15s ease, filter 0.2s ease;
}

#modalRenomearDocumento .btn-close:hover {
  transform: scale(1.05);
  filter: invert(1) opacity(1);
}

#modalRenomearDocumento .btn-close:focus,
#modalRenomearDocumento .btn:focus-visible,
#modalRenomearDocumento button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.25rem var(--rs-modal-focus, rgba(66, 189, 231, 0.25));
}

#modalRenomearDocumento .btn-outline-secondary {
  border-color: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.03);
}

#modalRenomearDocumento .btn-outline-secondary:hover {
  border-color: rgba(66, 189, 231, 0.38);
  background: rgba(66, 189, 231, 0.10);
  color: #ffffff;
}

#modalRenomearDocumento .form-control,
#modalRenomearDocumento input[type="text"] {
  background: rgba(255, 255, 255, 0.055);
  border: 2px solid rgba(66, 189, 231, 0.20);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.92);
  box-shadow: none;
}

#modalRenomearDocumento .form-control:focus,
#modalRenomearDocumento input[type="text"]:focus {
  background: rgba(255, 255, 255, 0.08);
  border-color: #3fb8e8;
  box-shadow:
    0 0 0 0.25rem rgba(66, 189, 231, 0.22),
    0 4px 12px rgba(66, 189, 231, 0.16);
  transform: translateY(-1px);
}

#modalRenomearDocumento .form-control::placeholder {
  color: rgba(255, 255, 255, 0.52);
}

/* Tema claro */
:root[data-bs-theme="light"] #modalRenomearDocumento ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalRenomearDocumento ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.14),
    rgba(31, 127, 186, 0.12) 40%,
    rgba(7, 20, 34, 0.38) 70%
  );
}

:root[data-bs-theme="light"] #modalRenomearDocumento .modal-content {
  background: var(--rs-modal-bg-light, rgba(255, 255, 255, 0.90));
  border: 1px solid var(--rs-modal-border-light, rgba(7, 20, 34, 0.10));
  color: var(--rs-modal-text-light, #071422);
  box-shadow:
    var(--rs-modal-shadow-light, 0 10px 30px rgba(7, 20, 34, 0.18)),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

:root[data-bs-theme="light"] #modalRenomearDocumento .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.10) 0%,
    rgba(31, 127, 186, 0.09) 100%
  );
  border-bottom: 1px solid rgba(31, 127, 186, 0.18);
}

:root[data-bs-theme="light"] #modalRenomearDocumento .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.05) 0%,
    rgba(31, 127, 186, 0.05) 100%
  );
  border-top: 1px solid rgba(7, 20, 34, 0.08);
}

:root[data-bs-theme="light"] #modalRenomearDocumento .modal-title {
  background: linear-gradient(135deg, #133961 0%, #1f7fba 48%, #3fb8e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

:root[data-bs-theme="light"] #modalRenomearDocumento .text-body-secondary,
:root[data-bs-theme="light"] #modalRenomearDocumento .form-text {
  color: var(--rs-modal-muted-light, rgba(7, 20, 34, 0.66)) !important;
}

:root[data-bs-theme="light"] #modalRenomearDocumento strong,
:root[data-bs-theme="light"] #modalRenomearDocumento .form-label {
  color: var(--rs-modal-text-light, #071422);
}

:root[data-bs-theme="light"] #modalRenomearDocumento .btn-close {
  filter: none;
  opacity: 0.72;
}

:root[data-bs-theme="light"] #modalRenomearDocumento .btn-close:hover {
  filter: none;
  opacity: 1;
}

:root[data-bs-theme="light"] #modalRenomearDocumento .form-control,
:root[data-bs-theme="light"] #modalRenomearDocumento input[type="text"] {
  background: rgba(7, 20, 34, 0.03);
  border: 2px solid rgba(31, 127, 186, 0.20);
  color: #071422;
}

:root[data-bs-theme="light"] #modalRenomearDocumento .form-control:focus,
:root[data-bs-theme="light"] #modalRenomearDocumento input[type="text"]:focus {
  background: rgba(7, 20, 34, 0.04);
  border-color: #1f7fba;
  box-shadow:
    0 0 0 0.25rem rgba(31, 127, 186, 0.16),
    0 4px 12px rgba(31, 127, 186, 0.12);
}

:root[data-bs-theme="light"] #modalRenomearDocumento .btn-outline-secondary {
  border-color: rgba(7, 20, 34, 0.12);
  color: #071422;
  background: rgba(7, 20, 34, 0.02);
}

:root[data-bs-theme="light"] #modalRenomearDocumento .btn-outline-secondary:hover {
  border-color: rgba(31, 127, 186, 0.28);
  background: rgba(31, 127, 186, 0.08);
  color: #071422;
}

/* =======================================================
   MODAL — DUPLICAR PROTOCOLO DE QUARENTENA
   IDs:
   #modalDuplicarProtocolo
   #modalDuplicarProtocolo{{ id }}
   ======================================================= */

[id^="modalDuplicarProtocolo"].modal,
[id^="modalDuplicarProtocolo"].modal.show {
  z-index: 2060 !important;
}

[id^="modalDuplicarProtocolo"] ~ .modal-backdrop.fade {
  z-index: 2050 !important;
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease;
}

[id^="modalDuplicarProtocolo"] ~ .modal-backdrop.show {
  z-index: 2050 !important;
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 1 !important;
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

[id^="modalDuplicarProtocolo"].modal.fade .modal-dialog {
  transition: none;
}

[id^="modalDuplicarProtocolo"].modal.show .modal-dialog {
  animation: modalGlassFadeUp 0.45s ease both;
}

[id^="modalDuplicarProtocolo"].modal.fade:not(.show) .modal-dialog {
  animation: modalGlassFadeDown 0.35s ease both;
}

[id^="modalDuplicarProtocolo"] .modal-content {
  background: var(--rs-modal-bg-dark, rgba(7, 20, 34, 0.78));
  border: 1px solid var(--rs-modal-border-dark, rgba(121, 220, 255, 0.16));
  border-radius: 18px;
  overflow: hidden;
  color: var(--rs-modal-text-dark, rgba(255, 255, 255, 0.92));
  box-shadow:
    var(--rs-modal-shadow-dark, 0 24px 80px rgba(0, 0, 0, 0.42)),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

[id^="modalDuplicarProtocolo"] .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.11) 0%,
    rgba(31, 127, 186, 0.12) 100%
  );
  border-bottom: 1px solid rgba(121, 220, 255, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1rem 1.25rem;
}

[id^="modalDuplicarProtocolo"] .modal-title {
  font-weight: 700;
  margin: 0;
  background: linear-gradient(135deg, #79dcff 0%, #3fb8e8 48%, #1f7fba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

[id^="modalDuplicarProtocolo"] .modal-body {
  padding: 1.25rem;
}

[id^="modalDuplicarProtocolo"] .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.055) 0%,
    rgba(31, 127, 186, 0.06) 100%
  );
  border-top: 1px solid rgba(121, 220, 255, 0.12);
  padding: 1rem 1.25rem;
}

[id^="modalDuplicarProtocolo"] .text-body-secondary {
  color: var(--rs-modal-muted-dark, rgba(255, 255, 255, 0.68)) !important;
}

[id^="modalDuplicarProtocolo"] strong {
  color: var(--rs-modal-text-dark, rgba(255, 255, 255, 0.92));
}

[id^="modalDuplicarProtocolo"] .btn {
  border-radius: 10px;
}

[id^="modalDuplicarProtocolo"] .btn-close {
  filter: invert(1) grayscale(100%) opacity(0.78);
  transition: transform 0.15s ease, filter 0.2s ease;
}

[id^="modalDuplicarProtocolo"] .btn-close:hover {
  transform: scale(1.05);
  filter: invert(1) opacity(1);
}

[id^="modalDuplicarProtocolo"] .btn-close:focus,
[id^="modalDuplicarProtocolo"] .btn:focus-visible,
[id^="modalDuplicarProtocolo"] button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.25rem var(--rs-modal-focus, rgba(66, 189, 231, 0.25));
}

[id^="modalDuplicarProtocolo"] .btn-outline-secondary {
  border-color: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.03);
}

[id^="modalDuplicarProtocolo"] .btn-outline-secondary:hover {
  border-color: rgba(66, 189, 231, 0.38);
  background: rgba(66, 189, 231, 0.10);
  color: #ffffff;
}

/* Tema claro */
:root[data-bs-theme="light"] [id^="modalDuplicarProtocolo"] ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] [id^="modalDuplicarProtocolo"] ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.14),
    rgba(31, 127, 186, 0.12) 40%,
    rgba(7, 20, 34, 0.38) 70%
  );
}

:root[data-bs-theme="light"] [id^="modalDuplicarProtocolo"] .modal-content {
  background: var(--rs-modal-bg-light, rgba(255, 255, 255, 0.90));
  border: 1px solid var(--rs-modal-border-light, rgba(7, 20, 34, 0.10));
  color: var(--rs-modal-text-light, #071422);
  box-shadow:
    var(--rs-modal-shadow-light, 0 10px 30px rgba(7, 20, 34, 0.18)),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

:root[data-bs-theme="light"] [id^="modalDuplicarProtocolo"] .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.10) 0%,
    rgba(31, 127, 186, 0.09) 100%
  );
  border-bottom: 1px solid rgba(31, 127, 186, 0.18);
}

:root[data-bs-theme="light"] [id^="modalDuplicarProtocolo"] .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.05) 0%,
    rgba(31, 127, 186, 0.05) 100%
  );
  border-top: 1px solid rgba(7, 20, 34, 0.08);
}

:root[data-bs-theme="light"] [id^="modalDuplicarProtocolo"] .modal-title {
  background: linear-gradient(135deg, #133961 0%, #1f7fba 48%, #3fb8e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

:root[data-bs-theme="light"] [id^="modalDuplicarProtocolo"] .text-body-secondary {
  color: var(--rs-modal-muted-light, rgba(7, 20, 34, 0.66)) !important;
}

:root[data-bs-theme="light"] [id^="modalDuplicarProtocolo"] strong {
  color: var(--rs-modal-text-light, #071422);
}

:root[data-bs-theme="light"] [id^="modalDuplicarProtocolo"] .btn-close {
  filter: none;
  opacity: 0.72;
}

:root[data-bs-theme="light"] [id^="modalDuplicarProtocolo"] .btn-close:hover {
  filter: none;
  opacity: 1;
}

:root[data-bs-theme="light"] [id^="modalDuplicarProtocolo"] .btn-outline-secondary {
  border-color: rgba(7, 20, 34, 0.12);
  color: #071422;
  background: rgba(7, 20, 34, 0.02);
}

:root[data-bs-theme="light"] [id^="modalDuplicarProtocolo"] .btn-outline-secondary:hover {
  border-color: rgba(31, 127, 186, 0.28);
  background: rgba(31, 127, 186, 0.08);
  color: #071422;
}

/* =======================================================
   MODAIS — DOCUMENTOS ZIP (modalDocumentos / modalImportarZip)
   Reprodutor — importar e exportar documentos em lote
   ======================================================= */

/* =======================================================
   MODAL — DOWNLOADS (utilitários)
   ======================================================= */

#modalDownloads.modal,
#modalDownloads.modal.show {
  z-index: 2060 !important;
}

#modalDownloads ~ .modal-backdrop.fade {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease;
}

#modalDownloads ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 1 !important;
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

#modalDownloads.modal.fade .modal-dialog {
  transition: none;
}

#modalDownloads.modal.show .modal-dialog {
  animation: modalGlassFadeUp 0.45s ease both;
}

#modalDownloads.modal.fade:not(.show) .modal-dialog {
  animation: modalGlassFadeDown 0.35s ease both;
}

#modalDownloads .modal-content {
  background: var(--rs-modal-bg-dark);
  border: 1px solid var(--rs-modal-border-dark);
  border-radius: 18px;
  overflow: hidden;
  color: var(--rs-modal-text-dark);
  box-shadow:
    var(--rs-modal-shadow-dark),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

#modalDownloads .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.11) 0%,
    rgba(31, 127, 186, 0.12) 100%
  );
  border-bottom: 1px solid rgba(121, 220, 255, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1rem 1.25rem;
}

#modalDownloads .modal-title {
  font-weight: 700;
  margin: 0;
  background: linear-gradient(135deg, #79dcff 0%, #3fb8e8 48%, #1f7fba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

#modalDownloads .modal-body {
  padding: 1.25rem;
}

#modalDownloads .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.055) 0%,
    rgba(31, 127, 186, 0.06) 100%
  );
  border-top: 1px solid rgba(121, 220, 255, 0.12);
  padding: 1rem 1.25rem;
}

#modalDownloads .text-body-secondary {
  color: var(--rs-modal-muted-dark) !important;
}

#modalDownloads strong {
  color: var(--rs-modal-text-dark);
}

#modalDownloads .btn-close {
  filter: invert(1) grayscale(100%) opacity(0.78);
  transition: transform 0.15s ease, filter 0.2s ease;
}

#modalDownloads .btn-close:hover {
  transform: scale(1.05);
  filter: invert(1) opacity(1);
}

#modalDownloads .btn-close:focus,
#modalDownloads .btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.25rem var(--rs-modal-focus);
}

#modalDownloads .btn {
  border-radius: 10px;
}

#modalDownloads .btn-outline-secondary {
  border-color: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.03);
}

#modalDownloads .btn-outline-secondary:hover {
  border-color: rgba(66, 189, 231, 0.38);
  background: rgba(66, 189, 231, 0.10);
  color: #ffffff;
}

/* ---- Tema claro ---- */

:root[data-bs-theme="light"] #modalDownloads ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalDownloads ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.14),
    rgba(31, 127, 186, 0.12) 40%,
    rgba(7, 20, 34, 0.38) 70%
  );
}

:root[data-bs-theme="light"] #modalDownloads .modal-content {
  background: var(--rs-modal-bg-light);
  border: 1px solid var(--rs-modal-border-light);
  color: var(--rs-modal-text-light);
  box-shadow:
    var(--rs-modal-shadow-light),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

:root[data-bs-theme="light"] #modalDownloads .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.10) 0%,
    rgba(31, 127, 186, 0.09) 100%
  );
  border-bottom: 1px solid rgba(31, 127, 186, 0.18);
}

:root[data-bs-theme="light"] #modalDownloads .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.05) 0%,
    rgba(31, 127, 186, 0.05) 100%
  );
  border-top: 1px solid rgba(7, 20, 34, 0.08);
}

:root[data-bs-theme="light"] #modalDownloads .modal-title {
  background: linear-gradient(135deg, #133961 0%, #1f7fba 48%, #3fb8e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

:root[data-bs-theme="light"] #modalDownloads .text-body-secondary {
  color: var(--rs-modal-muted-light) !important;
}

:root[data-bs-theme="light"] #modalDownloads strong {
  color: var(--rs-modal-text-light);
}

:root[data-bs-theme="light"] #modalDownloads .btn-close {
  filter: none;
  opacity: 0.72;
}

:root[data-bs-theme="light"] #modalDownloads .btn-close:hover {
  filter: none;
  opacity: 1;
}

:root[data-bs-theme="light"] #modalDownloads .btn-outline-secondary {
  border-color: rgba(7, 20, 34, 0.12);
  color: #071422;
  background: rgba(7, 20, 34, 0.02);
}

:root[data-bs-theme="light"] #modalDownloads .btn-outline-secondary:hover {
  border-color: rgba(31, 127, 186, 0.28);
  background: rgba(31, 127, 186, 0.08);
  color: #071422;
}

/* =======================================================
   MODAL — DOCUMENTOS / IMPORTAR ZIP (reprodutor)
   ======================================================= */

#modalDocumentos.modal,
#modalDocumentos.modal.show,
#modalImportarZip.modal,
#modalImportarZip.modal.show {
  z-index: 2060 !important;
}

#modalDocumentos ~ .modal-backdrop.fade,
#modalImportarZip ~ .modal-backdrop.fade {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease;
}

#modalDocumentos ~ .modal-backdrop.show,
#modalImportarZip ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 1 !important;
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

#modalDocumentos.modal.fade .modal-dialog,
#modalImportarZip.modal.fade .modal-dialog {
  transition: none;
}

#modalDocumentos.modal.show .modal-dialog,
#modalImportarZip.modal.show .modal-dialog {
  animation: modalGlassFadeUp 0.45s ease both;
}

#modalDocumentos.modal.fade:not(.show) .modal-dialog,
#modalImportarZip.modal.fade:not(.show) .modal-dialog {
  animation: modalGlassFadeDown 0.35s ease both;
}

#modalDocumentos .modal-content,
#modalImportarZip .modal-content {
  background: var(--rs-modal-bg-dark);
  border: 1px solid var(--rs-modal-border-dark);
  border-radius: 18px;
  overflow: hidden;
  color: var(--rs-modal-text-dark);
  box-shadow:
    var(--rs-modal-shadow-dark),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

#modalDocumentos .modal-header,
#modalImportarZip .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.11) 0%,
    rgba(31, 127, 186, 0.12) 100%
  );
  border-bottom: 1px solid rgba(121, 220, 255, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1rem 1.25rem;
}

#modalDocumentos .modal-title,
#modalImportarZip .modal-title {
  font-weight: 700;
  margin: 0;
  background: linear-gradient(135deg, #79dcff 0%, #3fb8e8 48%, #1f7fba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

#modalDocumentos .modal-body,
#modalImportarZip .modal-body {
  padding: 1.25rem;
}

#modalDocumentos .modal-footer,
#modalImportarZip .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.055) 0%,
    rgba(31, 127, 186, 0.06) 100%
  );
  border-top: 1px solid rgba(121, 220, 255, 0.12);
  padding: 1rem 1.25rem;
}

#modalDocumentos .text-body-secondary,
#modalImportarZip .text-body-secondary,
#modalImportarZip .form-text {
  color: var(--rs-modal-muted-dark) !important;
}

#modalDocumentos strong,
#modalImportarZip strong,
#modalImportarZip .form-label {
  color: var(--rs-modal-text-dark);
}

#modalDocumentos .btn-close,
#modalImportarZip .btn-close {
  filter: invert(1) grayscale(100%) opacity(0.78);
  transition: transform 0.15s ease, filter 0.2s ease;
}

#modalDocumentos .btn-close:hover,
#modalImportarZip .btn-close:hover {
  transform: scale(1.05);
  filter: invert(1) opacity(1);
}

#modalDocumentos .btn-close:focus,
#modalDocumentos .btn:focus-visible,
#modalImportarZip .btn-close:focus,
#modalImportarZip .btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.25rem var(--rs-modal-focus);
}

#modalDocumentos .btn,
#modalImportarZip .btn {
  border-radius: 10px;
}

#modalDocumentos .btn-outline-secondary,
#modalImportarZip .btn-outline-secondary {
  border-color: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.03);
}

#modalDocumentos .btn-outline-secondary:hover,
#modalImportarZip .btn-outline-secondary:hover {
  border-color: rgba(66, 189, 231, 0.38);
  background: rgba(66, 189, 231, 0.10);
  color: #ffffff;
}

#modalImportarZip .form-control,
#modalImportarZip input[type="file"] {
  background: rgba(255, 255, 255, 0.055);
  border: 2px solid rgba(66, 189, 231, 0.20);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.92);
  box-shadow: none;
}

#modalImportarZip .form-control:focus,
#modalImportarZip input[type="file"]:focus {
  background: rgba(255, 255, 255, 0.08);
  border-color: #3fb8e8;
  box-shadow:
    0 0 0 0.25rem rgba(66, 189, 231, 0.22),
    0 4px 12px rgba(66, 189, 231, 0.16);
}

#modalImportarZip .alert-info {
  background: rgba(66, 189, 231, 0.10);
  border-color: rgba(66, 189, 231, 0.25);
  color: rgba(255, 255, 255, 0.85);
  border-radius: 12px;
}

/* ---- Action cards (modalDocumentos) ---- */

.docs-modal-action {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(121, 220, 255, 0.14);
  background: rgba(255, 255, 255, 0.03);
  color: var(--rs-modal-text-dark);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.15s ease;
  text-align: left;
  width: 100%;
}

.docs-modal-action:hover {
  background: rgba(66, 189, 231, 0.09);
  border-color: rgba(66, 189, 231, 0.35);
  color: #ffffff;
  transform: translateY(-1px);
}

.docs-modal-action-icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 10px;
  background: rgba(66, 189, 231, 0.12);
  border: 1px solid rgba(66, 189, 231, 0.22);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  color: #3fb8e8;
}

.docs-modal-action-icon.is-download {
  background: rgba(25, 135, 84, 0.14);
  border-color: rgba(25, 135, 84, 0.28);
  color: #3dd68c;
}

.docs-modal-action-text {
  flex: 1;
  min-width: 0;
}

.docs-modal-action-text strong {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.15rem;
}

.coletor-ver-tag {
  font-size: 0.7rem;
  font-weight: 600;
  padding: 1px 7px;
  border-radius: 20px;
  background: rgba(63, 184, 232, 0.12);
  color: var(--accent-cyan, #3fb8e8);
  border: 1px solid rgba(63, 184, 232, 0.25);
  letter-spacing: 0.03em;
  flex-shrink: 0;
}

.docs-modal-action-text span {
  display: block;
  font-size: 0.78rem;
  color: var(--rs-modal-muted-dark);
  line-height: 1.35;
}

.docs-modal-action-arrow {
  flex-shrink: 0;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.3);
  transition: color 0.15s ease, transform 0.15s ease;
}

.docs-modal-action:hover .docs-modal-action-arrow {
  color: rgba(66, 189, 231, 0.7);
  transform: translateX(2px);
}

.docs-modal-divider {
  border-color: rgba(121, 220, 255, 0.12);
  margin: 0.25rem 0;
}

.docs-modal-action-disabled {
  opacity: .45;
  cursor: not-allowed;
  pointer-events: none;
}

/* ---- Tema claro ---- */

:root[data-bs-theme="light"] #modalDocumentos ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalDocumentos ~ .modal-backdrop.show,
:root[data-bs-theme="light"] #modalImportarZip ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalImportarZip ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.14),
    rgba(31, 127, 186, 0.12) 40%,
    rgba(7, 20, 34, 0.38) 70%
  );
}

:root[data-bs-theme="light"] #modalDocumentos .modal-content,
:root[data-bs-theme="light"] #modalImportarZip .modal-content {
  background: var(--rs-modal-bg-light);
  border: 1px solid var(--rs-modal-border-light);
  color: var(--rs-modal-text-light);
  box-shadow:
    var(--rs-modal-shadow-light),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

:root[data-bs-theme="light"] #modalDocumentos .modal-header,
:root[data-bs-theme="light"] #modalImportarZip .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.10) 0%,
    rgba(31, 127, 186, 0.09) 100%
  );
  border-bottom: 1px solid rgba(31, 127, 186, 0.18);
}

:root[data-bs-theme="light"] #modalDocumentos .modal-footer,
:root[data-bs-theme="light"] #modalImportarZip .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.05) 0%,
    rgba(31, 127, 186, 0.05) 100%
  );
  border-top: 1px solid rgba(7, 20, 34, 0.08);
}

:root[data-bs-theme="light"] #modalDocumentos .modal-title,
:root[data-bs-theme="light"] #modalImportarZip .modal-title {
  background: linear-gradient(135deg, #133961 0%, #1f7fba 48%, #3fb8e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

:root[data-bs-theme="light"] #modalDocumentos .text-body-secondary,
:root[data-bs-theme="light"] #modalImportarZip .text-body-secondary,
:root[data-bs-theme="light"] #modalImportarZip .form-text {
  color: var(--rs-modal-muted-light) !important;
}

:root[data-bs-theme="light"] #modalDocumentos strong,
:root[data-bs-theme="light"] #modalImportarZip strong,
:root[data-bs-theme="light"] #modalImportarZip .form-label {
  color: var(--rs-modal-text-light);
}

:root[data-bs-theme="light"] #modalDocumentos .btn-close,
:root[data-bs-theme="light"] #modalImportarZip .btn-close {
  filter: none;
  opacity: 0.72;
}

:root[data-bs-theme="light"] #modalDocumentos .btn-close:hover,
:root[data-bs-theme="light"] #modalImportarZip .btn-close:hover {
  filter: none;
  opacity: 1;
}

:root[data-bs-theme="light"] #modalDocumentos .btn-outline-secondary,
:root[data-bs-theme="light"] #modalImportarZip .btn-outline-secondary {
  border-color: rgba(7, 20, 34, 0.12);
  color: #071422;
  background: rgba(7, 20, 34, 0.02);
}

:root[data-bs-theme="light"] #modalDocumentos .btn-outline-secondary:hover,
:root[data-bs-theme="light"] #modalImportarZip .btn-outline-secondary:hover {
  border-color: rgba(31, 127, 186, 0.28);
  background: rgba(31, 127, 186, 0.08);
  color: #071422;
}

:root[data-bs-theme="light"] #modalImportarZip .form-control,
:root[data-bs-theme="light"] #modalImportarZip input[type="file"] {
  background: rgba(7, 20, 34, 0.03);
  border: 2px solid rgba(31, 127, 186, 0.20);
  color: #071422;
}

:root[data-bs-theme="light"] #modalImportarZip .form-control:focus,
:root[data-bs-theme="light"] #modalImportarZip input[type="file"]:focus {
  background: rgba(7, 20, 34, 0.04);
  border-color: #1f7fba;
  box-shadow:
    0 0 0 0.25rem rgba(31, 127, 186, 0.16),
    0 4px 12px rgba(31, 127, 186, 0.12);
}

:root[data-bs-theme="light"] #modalImportarZip .alert-info {
  background: rgba(31, 127, 186, 0.08);
  border-color: rgba(31, 127, 186, 0.22);
  color: #133961;
}

:root[data-bs-theme="light"] .docs-modal-action {
  border-color: rgba(7, 20, 34, 0.10);
  background: rgba(7, 20, 34, 0.02);
  color: var(--rs-modal-text-light);
}

:root[data-bs-theme="light"] .docs-modal-action:hover {
  background: rgba(31, 127, 186, 0.07);
  border-color: rgba(31, 127, 186, 0.28);
  color: #071422;
}

:root[data-bs-theme="light"] .docs-modal-action-icon {
  background: rgba(31, 127, 186, 0.10);
  border-color: rgba(31, 127, 186, 0.20);
  color: #1f7fba;
}

:root[data-bs-theme="light"] .docs-modal-action-icon.is-download {
  background: rgba(25, 135, 84, 0.10);
  border-color: rgba(25, 135, 84, 0.22);
  color: #198754;
}

:root[data-bs-theme="light"] .docs-modal-action-text span {
  color: var(--rs-modal-muted-light);
}

:root[data-bs-theme="light"] .docs-modal-action-arrow {
  color: rgba(7, 20, 34, 0.25);
}

:root[data-bs-theme="light"] .docs-modal-action:hover .docs-modal-action-arrow {
  color: rgba(31, 127, 186, 0.6);
}

:root[data-bs-theme="light"] .docs-modal-divider {
  border-color: rgba(7, 20, 34, 0.08);
}

/* =======================================================
   MODAL — REMOVER SESSÃO DE CONGELAÇÃO
   ID: #modalRemoverSessao
   ======================================================= */

#modalRemoverSessao.modal,
#modalRemoverSessao.modal.show { z-index: 2060 !important; }

#modalRemoverSessao ~ .modal-backdrop.fade {
  background: radial-gradient(1200px 800px at 50% 10%,
    rgba(220, 38, 38, 0.18), rgba(185, 28, 28, 0.16) 40%, rgba(7, 20, 34, 0.72) 70%);
  opacity: 0; backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0);
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease;
}
#modalRemoverSessao ~ .modal-backdrop.show {
  background: radial-gradient(1200px 800px at 50% 10%,
    rgba(220, 38, 38, 0.18), rgba(185, 28, 28, 0.16) 40%, rgba(7, 20, 34, 0.72) 70%);
  opacity: 1 !important;
  backdrop-filter: blur(7px) saturate(1.08); -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

#modalRemoverSessao.modal.fade .modal-dialog { transition: none; }
#modalRemoverSessao.modal.show .modal-dialog { animation: modalGlassFadeUp 0.45s ease both; }
#modalRemoverSessao.modal.fade:not(.show) .modal-dialog { animation: modalGlassFadeDown 0.35s ease both; }

#modalRemoverSessao .modal-content {
  background: var(--rs-modal-bg-dark);
  border: 1px solid rgba(239, 68, 68, 0.22);
  border-radius: 18px; overflow: hidden;
  color: var(--rs-modal-text-dark);
  box-shadow: var(--rs-modal-shadow-dark), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(18px) saturate(1.15); -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

#modalRemoverSessao .modal-header {
  background: linear-gradient(135deg, rgba(220, 38, 38, 0.12) 0%, rgba(185, 28, 28, 0.10) 100%);
  border-bottom: 1px solid rgba(239, 68, 68, 0.22);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  padding: 1rem 1.25rem;
}
#modalRemoverSessao .modal-title {
  font-weight: 700; margin: 0;
}
#modalRemoverSessao .modal-title i { color: #ef4444; }
#modalRemoverSessao .modal-title span {
  background: linear-gradient(135deg, #fca5a5 0%, #ef4444 48%, #b91c1c 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
#modalRemoverSessao .modal-body { padding: 1.25rem; }
#modalRemoverSessao .modal-footer {
  background: linear-gradient(135deg, rgba(220, 38, 38, 0.06) 0%, rgba(185, 28, 28, 0.05) 100%);
  border-top: 1px solid rgba(239, 68, 68, 0.16);
  padding: 1rem 1.25rem;
}
#modalRemoverSessao .text-body-secondary { color: var(--rs-modal-muted-dark) !important; }
#modalRemoverSessao .btn { border-radius: 10px; }
#modalRemoverSessao .btn-close {
  filter: invert(1) grayscale(100%) opacity(0.78);
  transition: transform 0.15s ease, filter 0.2s ease;
}
#modalRemoverSessao .btn-close:hover { transform: scale(1.05); filter: invert(1) opacity(1); }
#modalRemoverSessao .btn-close:focus,
#modalRemoverSessao .btn:focus-visible { outline: none; box-shadow: 0 0 0 0.25rem rgba(239, 68, 68, 0.28); }
#modalRemoverSessao .btn-outline-secondary {
  border-color: rgba(255, 255, 255, 0.14); color: rgba(255, 255, 255, 0.88); background: rgba(255, 255, 255, 0.03);
}
#modalRemoverSessao .btn-outline-secondary:hover {
  border-color: rgba(255, 255, 255, 0.35); background: rgba(255, 255, 255, 0.08); color: #fff;
}

/* Tema claro */
:root[data-bs-theme="light"] #modalRemoverSessao ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalRemoverSessao ~ .modal-backdrop.show {
  background: radial-gradient(1200px 800px at 50% 10%,
    rgba(220, 38, 38, 0.14), rgba(185, 28, 28, 0.10) 40%, rgba(7, 20, 34, 0.38) 70%);
}
:root[data-bs-theme="light"] #modalRemoverSessao .modal-content {
  background: var(--rs-modal-bg-light); border: 1px solid rgba(185, 28, 28, 0.16);
  color: var(--rs-modal-text-light);
  box-shadow: var(--rs-modal-shadow-light), inset 0 1px 0 rgba(255, 255, 255, 0.65);
}
:root[data-bs-theme="light"] #modalRemoverSessao .modal-header {
  background: linear-gradient(135deg, rgba(220, 38, 38, 0.08) 0%, rgba(185, 28, 28, 0.06) 100%);
  border-bottom-color: rgba(185, 28, 28, 0.18);
}
:root[data-bs-theme="light"] #modalRemoverSessao .modal-title span {
  background: linear-gradient(135deg, #b91c1c 0%, #dc2626 48%, #ef4444 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
:root[data-bs-theme="light"] #modalRemoverSessao .modal-footer {
  background: linear-gradient(135deg, rgba(220, 38, 38, 0.04) 0%, rgba(185, 28, 28, 0.03) 100%);
  border-top-color: rgba(185, 28, 28, 0.12);
}
:root[data-bs-theme="light"] #modalRemoverSessao .text-body-secondary { color: var(--rs-modal-muted-light) !important; }
:root[data-bs-theme="light"] #modalRemoverSessao .btn-close { filter: none; opacity: 0.72; }
:root[data-bs-theme="light"] #modalRemoverSessao .btn-close:hover { filter: none; opacity: 1; }
:root[data-bs-theme="light"] #modalRemoverSessao .btn-outline-secondary {
  border-color: rgba(7, 20, 34, 0.12); color: #071422; background: rgba(7, 20, 34, 0.02);
}
:root[data-bs-theme="light"] #modalRemoverSessao .btn-outline-secondary:hover {
  border-color: rgba(7, 20, 34, 0.28); background: rgba(7, 20, 34, 0.06); color: #071422;
}

/* =======================================================
   MODAL — ESCOLHER RACK / NOVA SESSÃO DE CONGELAÇÃO
   ID: #modalEscolherRack
   ======================================================= */

#modalEscolherRack.modal,
#modalEscolherRack.modal.show {
  z-index: 2060 !important;
}

#modalEscolherRack ~ .modal-backdrop.fade {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease;
}

#modalEscolherRack ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 1 !important;
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

#modalEscolherRack.modal.fade .modal-dialog {
  transition: none;
}

#modalEscolherRack.modal.show .modal-dialog {
  animation: modalGlassFadeUp 0.45s ease both;
}

#modalEscolherRack.modal.fade:not(.show) .modal-dialog {
  animation: modalGlassFadeDown 0.35s ease both;
}

#modalEscolherRack .modal-content {
  background: var(--rs-modal-bg-dark);
  border: 1px solid var(--rs-modal-border-dark);
  border-radius: 18px;
  overflow: hidden;
  color: var(--rs-modal-text-dark);
  box-shadow:
    var(--rs-modal-shadow-dark),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

#modalEscolherRack .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.11) 0%,
    rgba(31, 127, 186, 0.12) 100%
  );
  border-bottom: 1px solid rgba(121, 220, 255, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1rem 1.25rem;
}

#modalEscolherRack .modal-title {
  font-weight: 700;
  margin: 0;
}

/* Icon color (icons break gradient text so we use a fixed color) */
#modalEscolherRack .modal-title i {
  color: var(--rs-modal-primary);
}

#modalEscolherRack .modal-title span {
  background: linear-gradient(135deg, #79dcff 0%, #3fb8e8 48%, #1f7fba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

#modalEscolherRack .modal-body {
  padding: 1.25rem;
}

#modalEscolherRack .text-body-secondary {
  color: var(--rs-modal-muted-dark) !important;
}

#modalEscolherRack .btn-close {
  filter: invert(1) grayscale(100%) opacity(0.78);
  transition: transform 0.15s ease, filter 0.2s ease;
}

#modalEscolherRack .btn-close:hover {
  transform: scale(1.05);
  filter: invert(1) opacity(1);
}

#modalEscolherRack .btn-close:focus,
#modalEscolherRack .btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.25rem var(--rs-modal-focus);
}

/* ── Rack option buttons ── */
#modalEscolherRack .rack-option-btn {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(121, 220, 255, 0.22);
  border-radius: 12px;
  color: var(--rs-modal-text-dark);
  text-align: left;
  padding: 14px 16px;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}

#modalEscolherRack .rack-option-btn:hover {
  background: rgba(66, 189, 231, 0.10);
  border-color: rgba(66, 189, 231, 0.50);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.22);
  color: #ffffff;
}

#modalEscolherRack .rack-option-btn .fw-semibold {
  color: var(--rs-modal-text-dark);
}

#modalEscolherRack .rack-option-btn .text-body-secondary {
  color: var(--rs-modal-muted-dark) !important;
  font-size: 0.82rem;
}

/* =======================================================
   #modalEscolherRack — TEMA CLARO
   ======================================================= */

:root[data-bs-theme="light"] #modalEscolherRack ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalEscolherRack ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.14),
    rgba(31, 127, 186, 0.12) 40%,
    rgba(7, 20, 34, 0.38) 70%
  );
}

:root[data-bs-theme="light"] #modalEscolherRack .modal-content {
  background: var(--rs-modal-bg-light);
  border: 1px solid var(--rs-modal-border-light);
  color: var(--rs-modal-text-light);
  box-shadow:
    var(--rs-modal-shadow-light),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

:root[data-bs-theme="light"] #modalEscolherRack .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.10) 0%,
    rgba(31, 127, 186, 0.09) 100%
  );
  border-bottom: 1px solid rgba(31, 127, 186, 0.18);
}

:root[data-bs-theme="light"] #modalEscolherRack .modal-title span {
  background: linear-gradient(135deg, #133961 0%, #1f7fba 48%, #3fb8e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

:root[data-bs-theme="light"] #modalEscolherRack .text-body-secondary {
  color: var(--rs-modal-muted-light) !important;
}

:root[data-bs-theme="light"] #modalEscolherRack .btn-close {
  filter: none;
  opacity: 0.72;
}

:root[data-bs-theme="light"] #modalEscolherRack .btn-close:hover {
  filter: none;
  opacity: 1;
}

:root[data-bs-theme="light"] #modalEscolherRack .rack-option-btn {
  background: rgba(7, 20, 34, 0.03);
  border-color: rgba(31, 127, 186, 0.22);
  color: var(--rs-modal-text-light);
}

:root[data-bs-theme="light"] #modalEscolherRack .rack-option-btn:hover {
  background: rgba(31, 127, 186, 0.08);
  border-color: rgba(31, 127, 186, 0.50);
  color: #071422;
  box-shadow: 0 6px 20px rgba(7, 20, 34, 0.14);
}

:root[data-bs-theme="light"] #modalEscolherRack .rack-option-btn .fw-semibold {
  color: var(--rs-modal-text-light);
}

:root[data-bs-theme="light"] #modalEscolherRack .rack-option-btn .text-body-secondary {
  color: var(--rs-modal-muted-light) !important;
}

/* =======================================================
   MODAL — ADICIONAR GOBLET (armazenamento)
   ID: #modalAddGoblet
   ======================================================= */

#modalAddGoblet.modal,
#modalAddGoblet.modal.show {
  z-index: 2060 !important;
}

#modalAddGoblet ~ .modal-backdrop.fade {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease;
}

#modalAddGoblet ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 1 !important;
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

#modalAddGoblet.modal.fade .modal-dialog { transition: none; }

#modalAddGoblet.modal.show .modal-dialog {
  animation: modalGlassFadeUp 0.45s ease both;
}

#modalAddGoblet.modal.fade:not(.show) .modal-dialog {
  animation: modalGlassFadeDown 0.35s ease both;
}

#modalAddGoblet .modal-content {
  background: var(--rs-modal-bg-dark);
  border: 1px solid var(--rs-modal-border-dark);
  border-radius: 18px;
  overflow: hidden;
  color: var(--rs-modal-text-dark);
  box-shadow: var(--rs-modal-shadow-dark), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

#modalAddGoblet .modal-header {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.11) 0%, rgba(31, 127, 186, 0.12) 100%);
  border-bottom: 1px solid rgba(121, 220, 255, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1rem 1.25rem;
}

#modalAddGoblet .modal-title {
  font-weight: 700;
  margin: 0;
  background: linear-gradient(135deg, #79dcff 0%, #3fb8e8 48%, #1f7fba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

#modalAddGoblet .modal-body { padding: 1.25rem; }

#modalAddGoblet .modal-footer {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.055) 0%, rgba(31, 127, 186, 0.06) 100%);
  border-top: 1px solid rgba(121, 220, 255, 0.12);
  padding: 1rem 1.25rem;
}

#modalAddGoblet .text-body-secondary,
#modalAddGoblet .form-text {
  color: var(--rs-modal-muted-dark) !important;
}

#modalAddGoblet strong,
#modalAddGoblet .form-label { color: var(--rs-modal-text-dark); }

#modalAddGoblet .btn-close {
  filter: invert(1) grayscale(100%) opacity(0.78);
  transition: transform 0.15s ease, filter 0.2s ease;
}

#modalAddGoblet .btn-close:hover { transform: scale(1.05); filter: invert(1) opacity(1); }

#modalAddGoblet .btn-close:focus,
#modalAddGoblet .btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.25rem var(--rs-modal-focus);
}

#modalAddGoblet .btn { border-radius: 10px; }

#modalAddGoblet .form-control,
#modalAddGoblet .form-select {
  background: rgba(255, 255, 255, 0.055);
  border: 2px solid rgba(66, 189, 231, 0.20);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.92);
  box-shadow: none;
}

#modalAddGoblet .form-control:focus,
#modalAddGoblet .form-select:focus {
  background: rgba(255, 255, 255, 0.08);
  border-color: #3fb8e8;
  box-shadow: 0 0 0 0.25rem rgba(66, 189, 231, 0.22), 0 4px 12px rgba(66, 189, 231, 0.16);
  transform: translateY(-1px);
}

#modalAddGoblet .form-control::placeholder { color: rgba(255, 255, 255, 0.52); }

#modalAddGoblet .form-select option { color: #071422; background: #ffffff; }

#modalAddGoblet .input-group-text {
  background: rgba(255, 255, 255, 0.04);
  border: 2px solid rgba(66, 189, 231, 0.20);
  border-radius: 12px 0 0 12px;
  color: var(--rs-modal-muted-dark);
}

#modalAddGoblet .input-group .form-control {
  border-radius: 0 12px 12px 0;
}

/* Tema claro */
:root[data-bs-theme="light"] #modalAddGoblet ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalAddGoblet ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.14),
    rgba(31, 127, 186, 0.12) 40%,
    rgba(7, 20, 34, 0.38) 70%
  );
}

:root[data-bs-theme="light"] #modalAddGoblet .modal-content {
  background: var(--rs-modal-bg-light);
  border: 1px solid var(--rs-modal-border-light);
  color: var(--rs-modal-text-light);
  box-shadow: var(--rs-modal-shadow-light), inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

:root[data-bs-theme="light"] #modalAddGoblet .modal-header {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.10) 0%, rgba(31, 127, 186, 0.09) 100%);
  border-bottom: 1px solid rgba(31, 127, 186, 0.18);
}

:root[data-bs-theme="light"] #modalAddGoblet .modal-footer {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.05) 0%, rgba(31, 127, 186, 0.05) 100%);
  border-top: 1px solid rgba(7, 20, 34, 0.08);
}

:root[data-bs-theme="light"] #modalAddGoblet .modal-title {
  background: linear-gradient(135deg, #133961 0%, #1f7fba 48%, #3fb8e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

:root[data-bs-theme="light"] #modalAddGoblet .text-body-secondary,
:root[data-bs-theme="light"] #modalAddGoblet .form-text {
  color: var(--rs-modal-muted-light) !important;
}

:root[data-bs-theme="light"] #modalAddGoblet strong,
:root[data-bs-theme="light"] #modalAddGoblet .form-label { color: var(--rs-modal-text-light); }

:root[data-bs-theme="light"] #modalAddGoblet .btn-close { filter: none; opacity: 0.72; }
:root[data-bs-theme="light"] #modalAddGoblet .btn-close:hover { filter: none; opacity: 1; }

:root[data-bs-theme="light"] #modalAddGoblet .form-control,
:root[data-bs-theme="light"] #modalAddGoblet .form-select {
  background: rgba(7, 20, 34, 0.03);
  border: 2px solid rgba(31, 127, 186, 0.20);
  color: #071422;
}

:root[data-bs-theme="light"] #modalAddGoblet .form-control:focus,
:root[data-bs-theme="light"] #modalAddGoblet .form-select:focus {
  background: rgba(7, 20, 34, 0.04);
  border-color: #1f7fba;
  box-shadow: 0 0 0 0.25rem rgba(31, 127, 186, 0.16), 0 4px 12px rgba(31, 127, 186, 0.12);
}

:root[data-bs-theme="light"] #modalAddGoblet .input-group-text {
  background: rgba(7, 20, 34, 0.03);
  border: 2px solid rgba(31, 127, 186, 0.20);
  color: var(--rs-modal-muted-light);
}

:root[data-bs-theme="light"] #modalAddGoblet .btn:focus-visible {
  box-shadow: 0 0 0 0.25rem rgba(31, 127, 186, 0.22);
}

/* =======================================================
   MODAL — AJUSTE DE DOSES (armazenamento)
   ID: #modalAjusteDoses
   ======================================================= */

#modalAjusteDoses.modal,
#modalAjusteDoses.modal.show {
  z-index: 2060 !important;
}

#modalAjusteDoses ~ .modal-backdrop.fade {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease;
}

#modalAjusteDoses ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 1 !important;
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

#modalAjusteDoses.modal.fade .modal-dialog { transition: none; }

#modalAjusteDoses.modal.show .modal-dialog {
  animation: modalGlassFadeUp 0.45s ease both;
}

#modalAjusteDoses.modal.fade:not(.show) .modal-dialog {
  animation: modalGlassFadeDown 0.35s ease both;
}

#modalAjusteDoses .modal-content {
  background: var(--rs-modal-bg-dark);
  border: 1px solid var(--rs-modal-border-dark);
  border-radius: 18px;
  overflow: hidden;
  color: var(--rs-modal-text-dark);
  box-shadow: var(--rs-modal-shadow-dark), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

#modalAjusteDoses .modal-header {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.11) 0%, rgba(31, 127, 186, 0.12) 100%);
  border-bottom: 1px solid rgba(121, 220, 255, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1rem 1.25rem;
}

#modalAjusteDoses .modal-title {
  font-weight: 700;
  margin: 0;
  background: linear-gradient(135deg, #79dcff 0%, #3fb8e8 48%, #1f7fba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

#modalAjusteDoses .modal-body { padding: 1.25rem; }

#modalAjusteDoses .modal-footer {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.055) 0%, rgba(31, 127, 186, 0.06) 100%);
  border-top: 1px solid rgba(121, 220, 255, 0.12);
  padding: 1rem 1.25rem;
}

#modalAjusteDoses .text-body-secondary,
#modalAjusteDoses .form-text {
  color: var(--rs-modal-muted-dark) !important;
}

#modalAjusteDoses strong,
#modalAjusteDoses .form-label { color: var(--rs-modal-text-dark); }

#modalAjusteDoses .btn-close {
  filter: invert(1) grayscale(100%) opacity(0.78);
  transition: transform 0.15s ease, filter 0.2s ease;
}

#modalAjusteDoses .btn-close:hover { transform: scale(1.05); filter: invert(1) opacity(1); }

#modalAjusteDoses .btn-close:focus,
#modalAjusteDoses .btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.25rem var(--rs-modal-focus);
}

#modalAjusteDoses .btn { border-radius: 10px; }

#modalAjusteDoses .form-control,
#modalAjusteDoses .form-select {
  background: rgba(255, 255, 255, 0.055);
  border: 2px solid rgba(66, 189, 231, 0.20);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.92);
  box-shadow: none;
}

#modalAjusteDoses .form-control:focus,
#modalAjusteDoses .form-select:focus {
  background: rgba(255, 255, 255, 0.08);
  border-color: #3fb8e8;
  box-shadow: 0 0 0 0.25rem rgba(66, 189, 231, 0.22), 0 4px 12px rgba(66, 189, 231, 0.16);
  transform: translateY(-1px);
}

#modalAjusteDoses .form-control::placeholder { color: rgba(255, 255, 255, 0.52); }

#modalAjusteDoses .form-check-input {
  border-color: rgba(66, 189, 231, 0.5);
  background-color: rgba(255, 255, 255, 0.06);
}

#modalAjusteDoses .form-check-input:checked {
  border-color: #3fb8e8;
  background-color: #1f7fba;
}

#modalAjusteDoses .form-check-label { color: var(--rs-modal-text-dark); }

/* Tema claro */
:root[data-bs-theme="light"] #modalAjusteDoses ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalAjusteDoses ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.14),
    rgba(31, 127, 186, 0.12) 40%,
    rgba(7, 20, 34, 0.38) 70%
  );
}

:root[data-bs-theme="light"] #modalAjusteDoses .modal-content {
  background: var(--rs-modal-bg-light);
  border: 1px solid var(--rs-modal-border-light);
  color: var(--rs-modal-text-light);
  box-shadow: var(--rs-modal-shadow-light), inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

:root[data-bs-theme="light"] #modalAjusteDoses .modal-header {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.10) 0%, rgba(31, 127, 186, 0.09) 100%);
  border-bottom: 1px solid rgba(31, 127, 186, 0.18);
}

:root[data-bs-theme="light"] #modalAjusteDoses .modal-footer {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.05) 0%, rgba(31, 127, 186, 0.05) 100%);
  border-top: 1px solid rgba(7, 20, 34, 0.08);
}

:root[data-bs-theme="light"] #modalAjusteDoses .modal-title {
  background: linear-gradient(135deg, #133961 0%, #1f7fba 48%, #3fb8e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

:root[data-bs-theme="light"] #modalAjusteDoses .text-body-secondary,
:root[data-bs-theme="light"] #modalAjusteDoses .form-text {
  color: var(--rs-modal-muted-light) !important;
}

:root[data-bs-theme="light"] #modalAjusteDoses strong,
:root[data-bs-theme="light"] #modalAjusteDoses .form-label { color: var(--rs-modal-text-light); }

:root[data-bs-theme="light"] #modalAjusteDoses .btn-close { filter: none; opacity: 0.72; }
:root[data-bs-theme="light"] #modalAjusteDoses .btn-close:hover { filter: none; opacity: 1; }

:root[data-bs-theme="light"] #modalAjusteDoses .form-control,
:root[data-bs-theme="light"] #modalAjusteDoses .form-select {
  background: rgba(7, 20, 34, 0.03);
  border: 2px solid rgba(31, 127, 186, 0.20);
  color: #071422;
}

:root[data-bs-theme="light"] #modalAjusteDoses .form-control:focus,
:root[data-bs-theme="light"] #modalAjusteDoses .form-select:focus {
  background: rgba(7, 20, 34, 0.04);
  border-color: #1f7fba;
  box-shadow: 0 0 0 0.25rem rgba(31, 127, 186, 0.16), 0 4px 12px rgba(31, 127, 186, 0.12);
}

:root[data-bs-theme="light"] #modalAjusteDoses .form-check-input {
  border-color: rgba(31, 127, 186, 0.45);
  background-color: rgba(255, 255, 255, 0.8);
}

:root[data-bs-theme="light"] #modalAjusteDoses .form-check-input:checked {
  border-color: #1f7fba;
  background-color: #1f7fba;
}

:root[data-bs-theme="light"] #modalAjusteDoses .form-check-label { color: var(--rs-modal-text-light); }

:root[data-bs-theme="light"] #modalAjusteDoses .btn:focus-visible {
  box-shadow: 0 0 0 0.25rem rgba(31, 127, 186, 0.22);
}

/* =======================================================
   MODAL — EXCLUIR GOBLET (armazenamento congelação)
   ID: #modalExcluirGoblet
   ======================================================= */

#modalExcluirGoblet.modal,
#modalExcluirGoblet.modal.show {
  z-index: 2060 !important;
}

#modalExcluirGoblet ~ .modal-backdrop.fade {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease;
}

#modalExcluirGoblet ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 1 !important;
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

#modalExcluirGoblet.modal.fade .modal-dialog {
  transition: none;
}

#modalExcluirGoblet.modal.show .modal-dialog {
  animation: modalGlassFadeUp 0.45s ease both;
}

#modalExcluirGoblet.modal.fade:not(.show) .modal-dialog {
  animation: modalGlassFadeDown 0.35s ease both;
}

#modalExcluirGoblet .modal-content {
  background: var(--rs-modal-bg-dark, rgba(7, 20, 34, 0.78));
  border: 1px solid var(--rs-modal-border-dark, rgba(121, 220, 255, 0.16));
  border-radius: 18px;
  overflow: hidden;
  color: var(--rs-modal-text-dark, rgba(255, 255, 255, 0.92));
  box-shadow:
    var(--rs-modal-shadow-dark, 0 24px 80px rgba(0, 0, 0, 0.42)),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

#modalExcluirGoblet .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.11) 0%,
    rgba(31, 127, 186, 0.12) 100%
  );
  border-bottom: 1px solid rgba(121, 220, 255, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1rem 1.25rem;
}

#modalExcluirGoblet .modal-title {
  font-weight: 700;
  margin: 0;
  background: linear-gradient(135deg, #79dcff 0%, #3fb8e8 48%, #1f7fba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

#modalExcluirGoblet .modal-body {
  padding: 1.25rem;
}

#modalExcluirGoblet .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.055) 0%,
    rgba(31, 127, 186, 0.06) 100%
  );
  border-top: 1px solid rgba(121, 220, 255, 0.12);
  padding: 1rem 1.25rem;
}

#modalExcluirGoblet .text-body-secondary,
#modalExcluirGoblet #excluirGobletNome {
  color: var(--rs-modal-muted-dark, rgba(255, 255, 255, 0.68)) !important;
}

#modalExcluirGoblet .btn {
  border-radius: 10px;
}

#modalExcluirGoblet .btn-close {
  filter: invert(1) grayscale(100%) opacity(0.78);
  transition: transform 0.15s ease, filter 0.2s ease;
}

#modalExcluirGoblet .btn-close:hover {
  transform: scale(1.05);
  filter: invert(1) opacity(1);
}

#modalExcluirGoblet .btn-close:focus,
#modalExcluirGoblet .btn:focus-visible,
#modalExcluirGoblet button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.25rem var(--rs-modal-focus, rgba(66, 189, 231, 0.25));
}

#modalExcluirGoblet .btn-outline-secondary {
  border-color: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.03);
}

#modalExcluirGoblet .btn-outline-secondary:hover {
  border-color: rgba(66, 189, 231, 0.38);
  background: rgba(66, 189, 231, 0.10);
  color: #ffffff;
}

/* Tema claro */
:root[data-bs-theme="light"] #modalExcluirGoblet ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalExcluirGoblet ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.14),
    rgba(31, 127, 186, 0.12) 40%,
    rgba(7, 20, 34, 0.38) 70%
  );
}

:root[data-bs-theme="light"] #modalExcluirGoblet .modal-content {
  background: var(--rs-modal-bg-light, rgba(255, 255, 255, 0.90));
  border: 1px solid var(--rs-modal-border-light, rgba(7, 20, 34, 0.10));
  color: var(--rs-modal-text-light, #071422);
  box-shadow:
    var(--rs-modal-shadow-light, 0 10px 30px rgba(7, 20, 34, 0.18)),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

:root[data-bs-theme="light"] #modalExcluirGoblet .modal-header {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.10) 0%,
    rgba(31, 127, 186, 0.09) 100%
  );
  border-bottom: 1px solid rgba(31, 127, 186, 0.18);
}

:root[data-bs-theme="light"] #modalExcluirGoblet .modal-footer {
  background: linear-gradient(
    135deg,
    rgba(66, 189, 231, 0.05) 0%,
    rgba(31, 127, 186, 0.05) 100%
  );
  border-top: 1px solid rgba(7, 20, 34, 0.08);
}

:root[data-bs-theme="light"] #modalExcluirGoblet .modal-title {
  background: linear-gradient(135deg, #133961 0%, #1f7fba 48%, #3fb8e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

:root[data-bs-theme="light"] #modalExcluirGoblet .text-body-secondary,
:root[data-bs-theme="light"] #modalExcluirGoblet #excluirGobletNome {
  color: var(--rs-modal-muted-light, rgba(7, 20, 34, 0.66)) !important;
}

:root[data-bs-theme="light"] #modalExcluirGoblet .btn-close {
  filter: none;
  opacity: 0.72;
}

:root[data-bs-theme="light"] #modalExcluirGoblet .btn-close:hover {
  filter: none;
  opacity: 1;
}

:root[data-bs-theme="light"] #modalExcluirGoblet .btn-outline-secondary {
  border-color: rgba(7, 20, 34, 0.12);
  color: #071422;
  background: rgba(7, 20, 34, 0.02);
}

:root[data-bs-theme="light"] #modalExcluirGoblet .btn-outline-secondary:hover {
  border-color: rgba(31, 127, 186, 0.28);
  background: rgba(31, 127, 186, 0.08);
  color: #071422;
}

:root[data-bs-theme="light"] #modalExcluirGoblet .btn:focus-visible {
  box-shadow: 0 0 0 0.25rem rgba(31, 127, 186, 0.22);
}

/* =======================================================
   MODAL — ATLAS MORFOLÓGICO
   ID: #atlasModal
   ======================================================= */

#atlasModal.modal,
#atlasModal.modal.show { z-index: 2060 !important; }

#atlasModal ~ .modal-backdrop.fade {
  background: radial-gradient(1200px 800px at 50% 10%,rgba(66,189,231,.16),rgba(31,127,186,.15) 40%,rgba(7,20,34,.72) 70%);
  opacity: 0; backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0);
  transition: opacity .35s ease, backdrop-filter .35s ease;
}
#atlasModal ~ .modal-backdrop.show {
  background: radial-gradient(1200px 800px at 50% 10%,rgba(66,189,231,.16),rgba(31,127,186,.15) 40%,rgba(7,20,34,.72) 70%);
  opacity: 1 !important; backdrop-filter: blur(7px) saturate(1.08); -webkit-backdrop-filter: blur(7px) saturate(1.08);
}
#atlasModal.modal.fade .modal-dialog { transition: none; }
#atlasModal.modal.show .modal-dialog { animation: modalGlassFadeUp .45s ease both; }
#atlasModal.modal.fade:not(.show) .modal-dialog { animation: modalGlassFadeDown .35s ease both; }

#atlasModal .modal-content {
  background: var(--rs-modal-bg-dark); border: 1px solid var(--rs-modal-border-dark);
  border-radius: 18px; overflow: hidden; color: var(--rs-modal-text-dark);
  box-shadow: var(--rs-modal-shadow-dark), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter: blur(18px) saturate(1.15); -webkit-backdrop-filter: blur(18px) saturate(1.15);
}
#atlasModal .modal-header {
  background: linear-gradient(135deg,rgba(66,189,231,.11) 0%,rgba(31,127,186,.12) 100%);
  border-bottom: 1px solid rgba(121,220,255,.18); backdrop-filter: blur(10px); padding: 1rem 1.25rem;
}
#atlasModal .modal-title {
  font-weight: 700; margin: 0;
  background: linear-gradient(135deg,#79dcff 0%,#3fb8e8 48%,#1f7fba 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
#atlasModal .modal-body { padding: 0; }
#atlasModal .btn-close { filter: invert(1) grayscale(100%) opacity(.78); transition: transform .15s ease, filter .2s ease; }
#atlasModal .btn-close:hover { transform: scale(1.05); filter: invert(1) opacity(1); }
#atlasModal .btn { border-radius: 10px; }

/* Atlas — painel lateral e info */
#atlasModal .atlas-side {
  width: 220px; flex-shrink: 0; padding: 16px;
  background: rgba(255,255,255,.03); border-right: 1px solid rgba(121,220,255,.12);
}
#atlasModal .atlas-info {
  flex: 1; padding: 22px 20px; overflow-y: auto;
  display: flex; flex-direction: column; gap: 12px; min-width: 0;
}

/* Tema claro */
:root[data-bs-theme="light"] #atlasModal ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #atlasModal ~ .modal-backdrop.show {
  background: radial-gradient(1200px 800px at 50% 10%,rgba(66,189,231,.14),rgba(31,127,186,.12) 40%,rgba(7,20,34,.38) 70%);
}
:root[data-bs-theme="light"] #atlasModal .modal-content {
  background: var(--rs-modal-bg-light); border: 1px solid var(--rs-modal-border-light);
  color: var(--rs-modal-text-light); box-shadow: var(--rs-modal-shadow-light), inset 0 1px 0 rgba(255,255,255,.65);
}
:root[data-bs-theme="light"] #atlasModal .modal-header {
  background: linear-gradient(135deg,rgba(66,189,231,.10) 0%,rgba(31,127,186,.09) 100%);
  border-bottom: 1px solid rgba(31,127,186,.18);
}
:root[data-bs-theme="light"] #atlasModal .modal-title {
  background: linear-gradient(135deg,#133961 0%,#1f7fba 48%,#3fb8e8 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
:root[data-bs-theme="light"] #atlasModal .atlas-side {
  background: rgba(7,20,34,.02); border-right: 1px solid rgba(7,20,34,.08);
}
:root[data-bs-theme="light"] #atlasModal .btn-close { filter: none; opacity: .72; }
:root[data-bs-theme="light"] #atlasModal .btn-close:hover { filter: none; opacity: 1; }

/* =======================================================
   MODAL — ATALHOS DE TECLADO
   ID: #shortcutsModal
   ======================================================= */

#shortcutsModal.modal,
#shortcutsModal.modal.show { z-index: 2060 !important; }

#shortcutsModal ~ .modal-backdrop.fade {
  background: radial-gradient(1200px 800px at 50% 10%,rgba(66,189,231,.16),rgba(31,127,186,.15) 40%,rgba(7,20,34,.72) 70%);
  opacity: 0; backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0);
  transition: opacity .35s ease, backdrop-filter .35s ease;
}
#shortcutsModal ~ .modal-backdrop.show {
  background: radial-gradient(1200px 800px at 50% 10%,rgba(66,189,231,.16),rgba(31,127,186,.15) 40%,rgba(7,20,34,.72) 70%);
  opacity: 1 !important; backdrop-filter: blur(7px) saturate(1.08); -webkit-backdrop-filter: blur(7px) saturate(1.08);
}
#shortcutsModal.modal.fade .modal-dialog { transition: none; }
#shortcutsModal.modal.show .modal-dialog { animation: modalGlassFadeUp .45s ease both; }
#shortcutsModal.modal.fade:not(.show) .modal-dialog { animation: modalGlassFadeDown .35s ease both; }

#shortcutsModal .modal-content {
  background: var(--rs-modal-bg-dark); border: 1px solid var(--rs-modal-border-dark);
  border-radius: 18px; overflow: hidden; color: var(--rs-modal-text-dark);
  box-shadow: var(--rs-modal-shadow-dark), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter: blur(18px) saturate(1.15); -webkit-backdrop-filter: blur(18px) saturate(1.15);
}
#shortcutsModal .modal-header {
  background: linear-gradient(135deg,rgba(66,189,231,.11) 0%,rgba(31,127,186,.12) 100%);
  border-bottom: 1px solid rgba(121,220,255,.18); backdrop-filter: blur(10px); padding: 1rem 1.25rem;
}
#shortcutsModal .modal-title {
  font-weight: 700; margin: 0;
  background: linear-gradient(135deg,#79dcff 0%,#3fb8e8 48%,#1f7fba 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
#shortcutsModal .modal-body { padding: 1.25rem; }
#shortcutsModal .btn-close { filter: invert(1) grayscale(100%) opacity(.78); transition: transform .15s ease, filter .2s ease; }
#shortcutsModal .btn-close:hover { transform: scale(1.05); filter: invert(1) opacity(1); }
#shortcutsModal .btn { border-radius: 10px; }

/* Tema claro */
:root[data-bs-theme="light"] #shortcutsModal ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #shortcutsModal ~ .modal-backdrop.show {
  background: radial-gradient(1200px 800px at 50% 10%,rgba(66,189,231,.14),rgba(31,127,186,.12) 40%,rgba(7,20,34,.38) 70%);
}
:root[data-bs-theme="light"] #shortcutsModal .modal-content {
  background: var(--rs-modal-bg-light); border: 1px solid var(--rs-modal-border-light);
  color: var(--rs-modal-text-light); box-shadow: var(--rs-modal-shadow-light), inset 0 1px 0 rgba(255,255,255,.65);
}
:root[data-bs-theme="light"] #shortcutsModal .modal-header {
  background: linear-gradient(135deg,rgba(66,189,231,.10) 0%,rgba(31,127,186,.09) 100%);
  border-bottom: 1px solid rgba(31,127,186,.18);
}
:root[data-bs-theme="light"] #shortcutsModal .modal-title {
  background: linear-gradient(135deg,#133961 0%,#1f7fba 48%,#3fb8e8 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
:root[data-bs-theme="light"] #shortcutsModal .btn-close { filter: none; opacity: .72; }
:root[data-bs-theme="light"] #shortcutsModal .btn-close:hover { filter: none; opacity: 1; }

/* =======================================================
   MODAL - REINICIAR CONTAGEM (Morfologia)
   ID: #modalReiniciarContagem
   ======================================================= */

#modalReiniciarContagem.modal,
#modalReiniciarContagem.modal.show { z-index: 2060 !important; }

#modalReiniciarContagem ~ .modal-backdrop.fade {
  background: radial-gradient(1200px 800px at 50% 10%,rgba(66,189,231,.16),rgba(31,127,186,.15) 40%,rgba(7,20,34,.72) 70%);
  opacity: 0; backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0);
  transition: opacity .35s ease, backdrop-filter .35s ease;
}
#modalReiniciarContagem ~ .modal-backdrop.show {
  background: radial-gradient(1200px 800px at 50% 10%,rgba(66,189,231,.16),rgba(31,127,186,.15) 40%,rgba(7,20,34,.72) 70%);
  opacity: 1 !important; backdrop-filter: blur(7px) saturate(1.08); -webkit-backdrop-filter: blur(7px) saturate(1.08);
}
#modalReiniciarContagem.modal.fade .modal-dialog { transition: none; }
#modalReiniciarContagem.modal.show .modal-dialog { animation: modalGlassFadeUp .45s ease both; }
#modalReiniciarContagem.modal.fade:not(.show) .modal-dialog { animation: modalGlassFadeDown .35s ease both; }
#modalReiniciarContagem .modal-content {
  background: var(--rs-modal-bg-dark); border: 1px solid var(--rs-modal-border-dark);
  border-radius: 18px; overflow: hidden; color: var(--rs-modal-text-dark);
  box-shadow: var(--rs-modal-shadow-dark), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter: blur(18px) saturate(1.15); -webkit-backdrop-filter: blur(18px) saturate(1.15);
}
#modalReiniciarContagem .modal-header {
  background: linear-gradient(135deg,rgba(66,189,231,.11) 0%,rgba(31,127,186,.12) 100%);
  border-bottom: 1px solid rgba(121,220,255,.18); backdrop-filter: blur(10px); padding: 1rem 1.25rem;
}
#modalReiniciarContagem .modal-title {
  font-weight: 700; margin: 0;
  background: linear-gradient(135deg,#79dcff 0%,#3fb8e8 48%,#1f7fba 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
#modalReiniciarContagem .modal-body { padding: 1.25rem; }
#modalReiniciarContagem .modal-footer {
  background: linear-gradient(135deg,rgba(66,189,231,.055) 0%,rgba(31,127,186,.06) 100%);
  border-top: 1px solid rgba(121,220,255,.12); padding: 1rem 1.25rem;
}
#modalReiniciarContagem .text-body-secondary { color: var(--rs-modal-muted-dark) !important; }
#modalReiniciarContagem .btn { border-radius: 10px; }
#modalReiniciarContagem .btn-close { filter: invert(1) grayscale(100%) opacity(.78); transition: transform .15s ease, filter .2s ease; }
#modalReiniciarContagem .btn-close:hover { transform: scale(1.05); filter: invert(1) opacity(1); }

:root[data-bs-theme="light"] #modalReiniciarContagem ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalReiniciarContagem ~ .modal-backdrop.show {
  background: radial-gradient(1200px 800px at 50% 10%,rgba(66,189,231,.14),rgba(31,127,186,.12) 40%,rgba(7,20,34,.38) 70%);
}
:root[data-bs-theme="light"] #modalReiniciarContagem .modal-content {
  background: var(--rs-modal-bg-light); border: 1px solid var(--rs-modal-border-light);
  color: var(--rs-modal-text-light); box-shadow: var(--rs-modal-shadow-light), inset 0 1px 0 rgba(255,255,255,.65);
}
:root[data-bs-theme="light"] #modalReiniciarContagem .modal-header {
  background: linear-gradient(135deg,rgba(66,189,231,.10) 0%,rgba(31,127,186,.09) 100%);
  border-bottom: 1px solid rgba(31,127,186,.18);
}
:root[data-bs-theme="light"] #modalReiniciarContagem .modal-footer {
  background: linear-gradient(135deg,rgba(66,189,231,.05) 0%,rgba(31,127,186,.05) 100%);
  border-top: 1px solid rgba(7,20,34,.08);
}
:root[data-bs-theme="light"] #modalReiniciarContagem .modal-title {
  background: linear-gradient(135deg,#133961 0%,#1f7fba 48%,#3fb8e8 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
:root[data-bs-theme="light"] #modalReiniciarContagem .text-body-secondary { color: var(--rs-modal-muted-light) !important; }
:root[data-bs-theme="light"] #modalReiniciarContagem .btn-close { filter: none; opacity: .72; }
:root[data-bs-theme="light"] #modalReiniciarContagem .btn-close:hover { filter: none; opacity: 1; }

/* =======================================================
   MODAL - RESTAURAR ATALHOS (Morfologia)
   ID: #modalRestaurarAtalhos
   ======================================================= */

#modalRestaurarAtalhos.modal,
#modalRestaurarAtalhos.modal.show { z-index: 2060 !important; }

#modalRestaurarAtalhos ~ .modal-backdrop.fade {
  background: radial-gradient(1200px 800px at 50% 10%,rgba(66,189,231,.16),rgba(31,127,186,.15) 40%,rgba(7,20,34,.72) 70%);
  opacity: 0; backdrop-filter: blur(0); transition: opacity .35s ease, backdrop-filter .35s ease;
}
#modalRestaurarAtalhos ~ .modal-backdrop.show {
  background: radial-gradient(1200px 800px at 50% 10%,rgba(66,189,231,.16),rgba(31,127,186,.15) 40%,rgba(7,20,34,.72) 70%);
  opacity: 1 !important; backdrop-filter: blur(7px) saturate(1.08);
}
#modalRestaurarAtalhos.modal.fade .modal-dialog { transition: none; }
#modalRestaurarAtalhos.modal.show .modal-dialog { animation: modalGlassFadeUp .45s ease both; }
#modalRestaurarAtalhos.modal.fade:not(.show) .modal-dialog { animation: modalGlassFadeDown .35s ease both; }
#modalRestaurarAtalhos .modal-content {
  background: var(--rs-modal-bg-dark); border: 1px solid var(--rs-modal-border-dark);
  border-radius: 18px; overflow: hidden; color: var(--rs-modal-text-dark);
  box-shadow: var(--rs-modal-shadow-dark), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter: blur(18px) saturate(1.15);
}
#modalRestaurarAtalhos .modal-header {
  background: linear-gradient(135deg,rgba(66,189,231,.11) 0%,rgba(31,127,186,.12) 100%);
  border-bottom: 1px solid rgba(121,220,255,.18); padding: 1rem 1.25rem;
}
#modalRestaurarAtalhos .modal-title {
  font-weight: 700; margin: 0;
  background: linear-gradient(135deg,#79dcff 0%,#3fb8e8 48%,#1f7fba 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
#modalRestaurarAtalhos .modal-body { padding: 1.25rem; }
#modalRestaurarAtalhos .modal-footer {
  background: linear-gradient(135deg,rgba(66,189,231,.055) 0%,rgba(31,127,186,.06) 100%);
  border-top: 1px solid rgba(121,220,255,.12); padding: 1rem 1.25rem;
}
#modalRestaurarAtalhos .text-body-secondary { color: var(--rs-modal-muted-dark) !important; }
#modalRestaurarAtalhos .btn { border-radius: 10px; }
#modalRestaurarAtalhos .btn-close { filter: invert(1) grayscale(100%) opacity(.78); transition: transform .15s ease, filter .2s ease; }
#modalRestaurarAtalhos .btn-close:hover { transform: scale(1.05); filter: invert(1) opacity(1); }

:root[data-bs-theme="light"] #modalRestaurarAtalhos ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalRestaurarAtalhos ~ .modal-backdrop.show {
  background: radial-gradient(1200px 800px at 50% 10%,rgba(66,189,231,.14),rgba(31,127,186,.12) 40%,rgba(7,20,34,.38) 70%);
}
:root[data-bs-theme="light"] #modalRestaurarAtalhos .modal-content {
  background: var(--rs-modal-bg-light); border: 1px solid var(--rs-modal-border-light);
  color: var(--rs-modal-text-light); box-shadow: var(--rs-modal-shadow-light), inset 0 1px 0 rgba(255,255,255,.65);
}
:root[data-bs-theme="light"] #modalRestaurarAtalhos .modal-header {
  background: linear-gradient(135deg,rgba(66,189,231,.10) 0%,rgba(31,127,186,.09) 100%);
  border-bottom: 1px solid rgba(31,127,186,.18);
}
:root[data-bs-theme="light"] #modalRestaurarAtalhos .modal-footer {
  background: linear-gradient(135deg,rgba(66,189,231,.05) 0%,rgba(31,127,186,.05) 100%);
  border-top: 1px solid rgba(7,20,34,.08);
}
:root[data-bs-theme="light"] #modalRestaurarAtalhos .modal-title {
  background: linear-gradient(135deg,#133961 0%,#1f7fba 48%,#3fb8e8 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
:root[data-bs-theme="light"] #modalRestaurarAtalhos .text-body-secondary { color: var(--rs-modal-muted-light) !important; }
:root[data-bs-theme="light"] #modalRestaurarAtalhos .btn-close { filter: none; opacity: .72; }
:root[data-bs-theme="light"] #modalRestaurarAtalhos .btn-close:hover { filter: none; opacity: 1; }

/* =======================================================
   MODAL - REMOVER SESSAO DE CONGELACAO
   ID: #modalRemoverSessao
   ======================================================= */

#modalRemoverSessao.modal,
#modalRemoverSessao.modal.show { z-index: 2060 !important; }

#modalRemoverSessao ~ .modal-backdrop.fade {
  background: radial-gradient(1200px 800px at 50% 10%,rgba(66,189,231,.16),rgba(31,127,186,.15) 40%,rgba(7,20,34,.72) 70%);
  opacity: 0; backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0);
  transition: opacity .35s ease, backdrop-filter .35s ease;
}
#modalRemoverSessao ~ .modal-backdrop.show {
  background: radial-gradient(1200px 800px at 50% 10%,rgba(66,189,231,.16),rgba(31,127,186,.15) 40%,rgba(7,20,34,.72) 70%);
  opacity: 1 !important; backdrop-filter: blur(7px) saturate(1.08); -webkit-backdrop-filter: blur(7px) saturate(1.08);
}
#modalRemoverSessao.modal.fade .modal-dialog { transition: none; }
#modalRemoverSessao.modal.show .modal-dialog { animation: modalGlassFadeUp .45s ease both; }
#modalRemoverSessao.modal.fade:not(.show) .modal-dialog { animation: modalGlassFadeDown .35s ease both; }
#modalRemoverSessao .modal-content {
  background: var(--rs-modal-bg-dark); border: 1px solid var(--rs-modal-border-dark);
  border-radius: 18px; overflow: hidden; color: var(--rs-modal-text-dark);
  box-shadow: var(--rs-modal-shadow-dark), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter: blur(18px) saturate(1.15); -webkit-backdrop-filter: blur(18px) saturate(1.15);
}
#modalRemoverSessao .modal-header {
  background: linear-gradient(135deg,rgba(66,189,231,.11) 0%,rgba(31,127,186,.12) 100%);
  border-bottom: 1px solid rgba(121,220,255,.18); backdrop-filter: blur(10px); padding: 1rem 1.25rem;
}
#modalRemoverSessao .modal-title {
  font-weight: 700; margin: 0;
  background: linear-gradient(135deg,#79dcff 0%,#3fb8e8 48%,#1f7fba 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
#modalRemoverSessao .modal-body { padding: 1.25rem; }
#modalRemoverSessao .modal-footer {
  background: linear-gradient(135deg,rgba(66,189,231,.055) 0%,rgba(31,127,186,.06) 100%);
  border-top: 1px solid rgba(121,220,255,.12); padding: 1rem 1.25rem;
}
#modalRemoverSessao .text-body-secondary { color: var(--rs-modal-muted-dark) !important; }
#modalRemoverSessao .btn { border-radius: 10px; }
#modalRemoverSessao .btn-close { filter: invert(1) grayscale(100%) opacity(.78); transition: transform .15s ease, filter .2s ease; }
#modalRemoverSessao .btn-close:hover { transform: scale(1.05); filter: invert(1) opacity(1); }

:root[data-bs-theme="light"] #modalRemoverSessao ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalRemoverSessao ~ .modal-backdrop.show {
  background: radial-gradient(1200px 800px at 50% 10%,rgba(66,189,231,.14),rgba(31,127,186,.12) 40%,rgba(7,20,34,.38) 70%);
}
:root[data-bs-theme="light"] #modalRemoverSessao .modal-content {
  background: var(--rs-modal-bg-light); border: 1px solid var(--rs-modal-border-light);
  color: var(--rs-modal-text-light); box-shadow: var(--rs-modal-shadow-light), inset 0 1px 0 rgba(255,255,255,.65);
}
:root[data-bs-theme="light"] #modalRemoverSessao .modal-header {
  background: linear-gradient(135deg,rgba(66,189,231,.10) 0%,rgba(31,127,186,.09) 100%);
  border-bottom: 1px solid rgba(31,127,186,.18);
}
:root[data-bs-theme="light"] #modalRemoverSessao .modal-footer {
  background: linear-gradient(135deg,rgba(66,189,231,.05) 0%,rgba(31,127,186,.05) 100%);
  border-top: 1px solid rgba(7,20,34,.08);
}
:root[data-bs-theme="light"] #modalRemoverSessao .modal-title {
  background: linear-gradient(135deg,#133961 0%,#1f7fba 48%,#3fb8e8 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
:root[data-bs-theme="light"] #modalRemoverSessao .text-body-secondary { color: var(--rs-modal-muted-light) !important; }
:root[data-bs-theme="light"] #modalRemoverSessao .btn-close { filter: none; opacity: .72; }
:root[data-bs-theme="light"] #modalRemoverSessao .btn-close:hover { filter: none; opacity: 1; }

/* ── #modalReprodutorDetalhe (Relatório Clientes e Reprodutores) ─────────── */

#modalReprodutorDetalhe.modal,
#modalReprodutorDetalhe.modal.show { z-index: 2060 !important; }

#modalReprodutorDetalhe ~ .modal-backdrop.fade {
  background: radial-gradient(1200px 800px at 50% 10%,rgba(66,189,231,.16),rgba(31,127,186,.15) 40%,rgba(7,20,34,.72) 70%);
  opacity: 0; backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0);
  transition: opacity .35s ease, backdrop-filter .35s ease;
}
#modalReprodutorDetalhe ~ .modal-backdrop.show {
  background: radial-gradient(1200px 800px at 50% 10%,rgba(66,189,231,.16),rgba(31,127,186,.15) 40%,rgba(7,20,34,.72) 70%);
  opacity: 1 !important; backdrop-filter: blur(7px) saturate(1.08); -webkit-backdrop-filter: blur(7px) saturate(1.08);
}
#modalReprodutorDetalhe.modal.fade .modal-dialog { transition: none; }
#modalReprodutorDetalhe.modal.show .modal-dialog { animation: modalGlassFadeUp .45s ease both; }
#modalReprodutorDetalhe.modal.fade:not(.show) .modal-dialog { animation: modalGlassFadeDown .35s ease both; }
#modalReprodutorDetalhe .modal-content {
  background: var(--rs-modal-bg-dark); border: 1px solid var(--rs-modal-border-dark);
  border-radius: 18px; overflow: hidden; color: var(--rs-modal-text-dark);
  box-shadow: var(--rs-modal-shadow-dark), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter: blur(18px) saturate(1.15); -webkit-backdrop-filter: blur(18px) saturate(1.15);
}
#modalReprodutorDetalhe .modal-header {
  background: linear-gradient(135deg,rgba(66,189,231,.11) 0%,rgba(31,127,186,.12) 100%);
  border-bottom: 1px solid rgba(121,220,255,.18); backdrop-filter: blur(10px); padding: 1rem 1.25rem;
}
#modalReprodutorDetalhe .modal-title {
  font-weight: 700; margin: 0;
  background: linear-gradient(135deg,#79dcff 0%,#3fb8e8 48%,#1f7fba 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
#modalReprodutorDetalhe .modal-body { padding: 1.25rem; }
#modalReprodutorDetalhe .modal-footer {
  background: linear-gradient(135deg,rgba(66,189,231,.055) 0%,rgba(31,127,186,.06) 100%);
  border-top: 1px solid rgba(121,220,255,.12); padding: 1rem 1.25rem;
}
#modalReprodutorDetalhe .text-body-secondary { color: var(--rs-modal-muted-dark) !important; }
#modalReprodutorDetalhe .btn { border-radius: 10px; }
#modalReprodutorDetalhe .btn-close { filter: invert(1) grayscale(100%) opacity(.78); transition: transform .15s ease, filter .2s ease; }
#modalReprodutorDetalhe .btn-close:hover { transform: scale(1.05); filter: invert(1) opacity(1); }
:root[data-bs-theme="light"] #modalReprodutorDetalhe ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalReprodutorDetalhe ~ .modal-backdrop.show {
  background: radial-gradient(1200px 800px at 50% 10%,rgba(66,189,231,.14),rgba(31,127,186,.12) 40%,rgba(7,20,34,.38) 70%);
}
:root[data-bs-theme="light"] #modalReprodutorDetalhe .modal-content {
  background: var(--rs-modal-bg-light); border: 1px solid var(--rs-modal-border-light);
  color: var(--rs-modal-text-light); box-shadow: var(--rs-modal-shadow-light), inset 0 1px 0 rgba(255,255,255,.65);
}
:root[data-bs-theme="light"] #modalReprodutorDetalhe .modal-header {
  background: linear-gradient(135deg,rgba(66,189,231,.10) 0%,rgba(31,127,186,.09) 100%);
  border-bottom: 1px solid rgba(31,127,186,.18);
}
:root[data-bs-theme="light"] #modalReprodutorDetalhe .modal-footer {
  background: linear-gradient(135deg,rgba(66,189,231,.05) 0%,rgba(31,127,186,.05) 100%);
  border-top: 1px solid rgba(7,20,34,.08);
}
:root[data-bs-theme="light"] #modalReprodutorDetalhe .modal-title {
  background: linear-gradient(135deg,#133961 0%,#1f7fba 48%,#3fb8e8 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
:root[data-bs-theme="light"] #modalReprodutorDetalhe .text-body-secondary { color: var(--rs-modal-muted-light) !important; }
:root[data-bs-theme="light"] #modalReprodutorDetalhe .btn-close { filter: none; opacity: .72; }
:root[data-bs-theme="light"] #modalReprodutorDetalhe .btn-close:hover { filter: none; opacity: 1; }

/* =======================================================
   MODAL — ANÁLISE CASA CQ
   ID: #modalCasaCQ
   ======================================================= */

#modalCasaCQ.modal,
#modalCasaCQ.modal.show {
  z-index: 2060 !important;
}

#modalCasaCQ ~ .modal-backdrop.fade {
  background: radial-gradient(1200px 800px at 50% 10%, rgba(66,189,231,.16), rgba(31,127,186,.15) 40%, rgba(7,20,34,.72) 70%);
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease;
}

#modalCasaCQ ~ .modal-backdrop.show {
  background: radial-gradient(1200px 800px at 50% 10%, rgba(66,189,231,.16), rgba(31,127,186,.15) 40%, rgba(7,20,34,.72) 70%);
  opacity: 1 !important;
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

#modalCasaCQ.modal.fade .modal-dialog { transition: none; }
#modalCasaCQ.modal.show .modal-dialog { animation: modalGlassFadeUp 0.45s ease both; }
#modalCasaCQ.modal.fade:not(.show) .modal-dialog { animation: modalGlassFadeDown 0.35s ease both; }

#modalCasaCQ .modal-content {
  background: var(--rs-modal-bg-dark);
  border: 1px solid var(--rs-modal-border-dark);
  border-radius: 18px;
  overflow: hidden;
  color: var(--rs-modal-text-dark);
  box-shadow: var(--rs-modal-shadow-dark), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

#modalCasaCQ .modal-header {
  background: linear-gradient(135deg, rgba(66,189,231,.11) 0%, rgba(31,127,186,.12) 100%);
  border-bottom: 1px solid rgba(121,220,255,.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1rem 1.25rem;
}

#modalCasaCQ .modal-title {
  font-weight: 700;
  margin: 0;
  background: linear-gradient(135deg, #79dcff 0%, #3fb8e8 48%, #1f7fba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

#modalCasaCQ .modal-body { padding: 1.25rem; }

#modalCasaCQ .modal-footer {
  background: linear-gradient(135deg, rgba(66,189,231,.055) 0%, rgba(31,127,186,.06) 100%);
  border-top: 1px solid rgba(121,220,255,.12);
  padding: 1rem 1.25rem;
}

#modalCasaCQ .text-body-secondary { color: var(--rs-modal-muted-dark) !important; }
#modalCasaCQ strong, #modalCasaCQ .form-label { color: var(--rs-modal-text-dark); }

#modalCasaCQ .btn-close {
  filter: invert(1) grayscale(100%) opacity(.78);
  transition: transform 0.15s ease, filter 0.2s ease;
}
#modalCasaCQ .btn-close:hover { transform: scale(1.05); filter: invert(1) opacity(1); }
#modalCasaCQ .btn-close:focus,
#modalCasaCQ .btn:focus-visible { outline: none; box-shadow: 0 0 0 .25rem var(--rs-modal-focus); }
#modalCasaCQ .btn { border-radius: 10px; }

#modalCasaCQ .form-control,
#modalCasaCQ .form-select {
  background: rgba(255,255,255,.055);
  border: 2px solid rgba(66,189,231,.20);
  border-radius: 12px;
  color: rgba(255,255,255,.92);
  box-shadow: none;
}
#modalCasaCQ .form-control:focus,
#modalCasaCQ .form-select:focus {
  background: rgba(255,255,255,.08);
  border-color: #3fb8e8;
  box-shadow: 0 0 0 .25rem rgba(66,189,231,.22), 0 4px 12px rgba(66,189,231,.16);
}
#modalCasaCQ .form-control::placeholder { color: rgba(255,255,255,.52); }

/* Tema claro */
:root[data-bs-theme="light"] #modalCasaCQ ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalCasaCQ ~ .modal-backdrop.show {
  background: radial-gradient(1200px 800px at 50% 10%, rgba(66,189,231,.14), rgba(31,127,186,.12) 40%, rgba(7,20,34,.38) 70%);
}

:root[data-bs-theme="light"] #modalCasaCQ .modal-content {
  background: var(--rs-modal-bg-light);
  border: 1px solid var(--rs-modal-border-light);
  color: var(--rs-modal-text-light);
  box-shadow: var(--rs-modal-shadow-light), inset 0 1px 0 rgba(255,255,255,.65);
}

:root[data-bs-theme="light"] #modalCasaCQ .modal-header {
  background: linear-gradient(135deg, rgba(66,189,231,.10) 0%, rgba(31,127,186,.09) 100%);
  border-bottom: 1px solid rgba(31,127,186,.18);
}

:root[data-bs-theme="light"] #modalCasaCQ .modal-footer {
  background: linear-gradient(135deg, rgba(66,189,231,.05) 0%, rgba(31,127,186,.05) 100%);
  border-top: 1px solid rgba(7,20,34,.08);
}

:root[data-bs-theme="light"] #modalCasaCQ .modal-title {
  background: linear-gradient(135deg, #133961 0%, #1f7fba 48%, #3fb8e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

:root[data-bs-theme="light"] #modalCasaCQ .text-body-secondary { color: var(--rs-modal-muted-light) !important; }
:root[data-bs-theme="light"] #modalCasaCQ strong, :root[data-bs-theme="light"] #modalCasaCQ .form-label { color: var(--rs-modal-text-light); }
:root[data-bs-theme="light"] #modalCasaCQ .btn-close { filter: none; opacity: .72; }
:root[data-bs-theme="light"] #modalCasaCQ .btn-close:hover { filter: none; opacity: 1; }

:root[data-bs-theme="light"] #modalCasaCQ .form-control,
:root[data-bs-theme="light"] #modalCasaCQ .form-select {
  background: rgba(7,20,34,.03);
  border: 2px solid rgba(31,127,186,.20);
  color: #071422;
}
:root[data-bs-theme="light"] #modalCasaCQ .form-control:focus,
:root[data-bs-theme="light"] #modalCasaCQ .form-select:focus {
  background: rgba(7,20,34,.04);
  border-color: #1f7fba;
  box-shadow: 0 0 0 .25rem rgba(31,127,186,.16), 0 4px 12px rgba(31,127,186,.12);
}

/* Chip de referência (critério de aprovação) */
#modalCasaCQ .casa-ref-chip {
  display: inline-block;
  margin-top: 4px;
  font-size: .7rem;
  padding: 1px 7px;
  border-radius: 20px;
  background: rgba(66,189,231,.13);
  border: 1px solid rgba(66,189,231,.25);
  color: rgba(255,255,255,.65);
  letter-spacing: .01em;
}
:root[data-bs-theme="light"] #modalCasaCQ .casa-ref-chip {
  background: rgba(31,127,186,.09);
  border-color: rgba(31,127,186,.22);
  color: #1f7fba;
}

/* Linha aprovada */
#modalCasaCQ .casa-calc-row.casa-row-ok {
  background: rgba(25,135,84,.08);
  border-radius: 8px;
  transition: background .2s;
}
#modalCasaCQ .casa-calc-row.casa-row-ok .casa-calc-nome {
  color: #4ade80;
}

/* Linha reprovada */
#modalCasaCQ .casa-calc-row.casa-row-fail {
  background: rgba(220,53,69,.10);
  border-radius: 8px;
  transition: background .2s;
}
#modalCasaCQ .casa-calc-row.casa-row-fail .casa-calc-nome {
  color: #f87171;
  text-decoration: line-through;
  text-decoration-color: rgba(248,113,113,.55);
}

/* is-valid / is-invalid dentro do modal (sobrescreve o glass default) */
#modalCasaCQ .form-control.is-valid {
  border-color: #4ade80 !important;
  box-shadow: 0 0 0 .2rem rgba(74,222,128,.20) !important;
}
#modalCasaCQ .form-control.is-invalid {
  border-color: #f87171 !important;
  box-shadow: 0 0 0 .2rem rgba(248,113,113,.20) !important;
}

/* Light theme overrides */
:root[data-bs-theme="light"] #modalCasaCQ .casa-calc-row.casa-row-ok { background: rgba(25,135,84,.07); }
:root[data-bs-theme="light"] #modalCasaCQ .casa-calc-row.casa-row-ok .casa-calc-nome { color: #166534; }
:root[data-bs-theme="light"] #modalCasaCQ .casa-calc-row.casa-row-fail { background: rgba(220,53,69,.07); }
:root[data-bs-theme="light"] #modalCasaCQ .casa-calc-row.casa-row-fail .casa-calc-nome { color: #991b1b; }

/* =======================================================
   ID: #modalContraProva
   ======================================================= */

#modalContraProva.modal,
#modalContraProva.modal.show {
  z-index: 2060 !important;
}

#modalContraProva ~ .modal-backdrop.fade {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease;
}

#modalContraProva ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 1 !important;
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

#modalContraProva.modal.fade .modal-dialog { transition: none; }

#modalContraProva.modal.show .modal-dialog {
  animation: modalGlassFadeUp 0.45s ease both;
}

#modalContraProva.modal.fade:not(.show) .modal-dialog {
  animation: modalGlassFadeDown 0.35s ease both;
}

#modalContraProva .modal-content {
  background: var(--rs-modal-bg-dark);
  border: 1px solid var(--rs-modal-border-dark);
  border-radius: 18px;
  overflow: hidden;
  color: var(--rs-modal-text-dark);
  box-shadow: var(--rs-modal-shadow-dark), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

#modalContraProva .modal-header {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.11) 0%, rgba(31, 127, 186, 0.12) 100%);
  border-bottom: 1px solid rgba(121, 220, 255, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1rem 1.25rem;
}

#modalContraProva .modal-title {
  font-weight: 700;
  margin: 0;
  background: linear-gradient(135deg, #79dcff 0%, #3fb8e8 48%, #1f7fba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

#modalContraProva .modal-body { padding: 1.25rem; }

#modalContraProva .modal-footer {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.055) 0%, rgba(31, 127, 186, 0.06) 100%);
  border-top: 1px solid rgba(121, 220, 255, 0.12);
  padding: 1rem 1.25rem;
}

#modalContraProva .text-body-secondary,
#modalContraProva .form-text {
  color: var(--rs-modal-muted-dark) !important;
}

#modalContraProva strong,
#modalContraProva .form-label { color: var(--rs-modal-text-dark); }

#modalContraProva .btn-close {
  filter: invert(1) grayscale(100%) opacity(0.78);
  transition: transform 0.15s ease, filter 0.2s ease;
}

#modalContraProva .btn-close:hover { transform: scale(1.05); filter: invert(1) opacity(1); }

#modalContraProva .btn-close:focus,
#modalContraProva .btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.25rem var(--rs-modal-focus);
}

#modalContraProva .btn { border-radius: 10px; }

#modalContraProva .form-control,
#modalContraProva .form-select {
  background: rgba(255, 255, 255, 0.055);
  border: 2px solid rgba(66, 189, 231, 0.20);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.92);
  box-shadow: none;
}

#modalContraProva .form-control:focus,
#modalContraProva .form-select:focus {
  background: rgba(255, 255, 255, 0.08);
  border-color: #3fb8e8;
  box-shadow: 0 0 0 0.25rem rgba(66, 189, 231, 0.22), 0 4px 12px rgba(66, 189, 231, 0.16);
  transform: translateY(-1px);
}

#modalContraProva .form-control::placeholder { color: rgba(255, 255, 255, 0.52); }

/* Tema claro */
:root[data-bs-theme="light"] #modalContraProva ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalContraProva ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.14),
    rgba(31, 127, 186, 0.12) 40%,
    rgba(7, 20, 34, 0.38) 70%
  );
}

:root[data-bs-theme="light"] #modalContraProva .modal-content {
  background: var(--rs-modal-bg-light);
  border: 1px solid var(--rs-modal-border-light);
  color: var(--rs-modal-text-light);
  box-shadow: var(--rs-modal-shadow-light), inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

:root[data-bs-theme="light"] #modalContraProva .modal-header {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.10) 0%, rgba(31, 127, 186, 0.09) 100%);
  border-bottom: 1px solid rgba(31, 127, 186, 0.18);
}

:root[data-bs-theme="light"] #modalContraProva .modal-footer {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.05) 0%, rgba(31, 127, 186, 0.05) 100%);
  border-top: 1px solid rgba(7, 20, 34, 0.08);
}

:root[data-bs-theme="light"] #modalContraProva .modal-title {
  background: linear-gradient(135deg, #133961 0%, #1f7fba 48%, #3fb8e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

:root[data-bs-theme="light"] #modalContraProva .text-body-secondary,
:root[data-bs-theme="light"] #modalContraProva .form-text {
  color: var(--rs-modal-muted-light) !important;
}

:root[data-bs-theme="light"] #modalContraProva strong,
:root[data-bs-theme="light"] #modalContraProva .form-label { color: var(--rs-modal-text-light); }

:root[data-bs-theme="light"] #modalContraProva .btn-close { filter: none; opacity: 0.72; }
:root[data-bs-theme="light"] #modalContraProva .btn-close:hover { filter: none; opacity: 1; }

:root[data-bs-theme="light"] #modalContraProva .form-control,
:root[data-bs-theme="light"] #modalContraProva .form-select {
  background: rgba(7, 20, 34, 0.03);
  border: 2px solid rgba(31, 127, 186, 0.20);
  color: #071422;
}

:root[data-bs-theme="light"] #modalContraProva .form-control:focus,
:root[data-bs-theme="light"] #modalContraProva .form-select:focus {
  background: rgba(7, 20, 34, 0.04);
  border-color: #1f7fba;
  box-shadow: 0 0 0 0.25rem rgba(31, 127, 186, 0.16), 0 4px 12px rgba(31, 127, 186, 0.12);
}

:root[data-bs-theme="light"] #modalContraProva .btn:focus-visible {
  box-shadow: 0 0 0 0.25rem rgba(31, 127, 186, 0.22);
}

/* =======================================================
   ID: #modalDescartarPartida
   ======================================================= */

#modalDescartarPartida.modal,
#modalDescartarPartida.modal.show {
  z-index: 2060 !important;
}

#modalDescartarPartida ~ .modal-backdrop.fade {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease;
}

#modalDescartarPartida ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 1 !important;
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

#modalDescartarPartida.modal.fade .modal-dialog { transition: none; }

#modalDescartarPartida.modal.show .modal-dialog {
  animation: modalGlassFadeUp 0.45s ease both;
}

#modalDescartarPartida.modal.fade:not(.show) .modal-dialog {
  animation: modalGlassFadeDown 0.35s ease both;
}

#modalDescartarPartida .modal-content {
  background: var(--rs-modal-bg-dark);
  border: 1px solid var(--rs-modal-border-dark);
  border-radius: 18px;
  overflow: hidden;
  color: var(--rs-modal-text-dark);
  box-shadow: var(--rs-modal-shadow-dark), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

#modalDescartarPartida .modal-header {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.11) 0%, rgba(31, 127, 186, 0.12) 100%);
  border-bottom: 1px solid rgba(121, 220, 255, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1rem 1.25rem;
}

#modalDescartarPartida .modal-title {
  font-weight: 700;
  margin: 0;
  background: linear-gradient(135deg, #79dcff 0%, #3fb8e8 48%, #1f7fba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

#modalDescartarPartida .modal-body { padding: 1.25rem; }

#modalDescartarPartida .modal-footer {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.055) 0%, rgba(31, 127, 186, 0.06) 100%);
  border-top: 1px solid rgba(121, 220, 255, 0.12);
  padding: 1rem 1.25rem;
}

#modalDescartarPartida .text-body-secondary,
#modalDescartarPartida .form-text {
  color: var(--rs-modal-muted-dark) !important;
}

#modalDescartarPartida strong,
#modalDescartarPartida .form-label { color: var(--rs-modal-text-dark); }

#modalDescartarPartida .btn-close {
  filter: invert(1) grayscale(100%) opacity(0.78);
  transition: transform 0.15s ease, filter 0.2s ease;
}

#modalDescartarPartida .btn-close:hover { transform: scale(1.05); filter: invert(1) opacity(1); }

#modalDescartarPartida .btn-close:focus,
#modalDescartarPartida .btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.25rem var(--rs-modal-focus);
}

#modalDescartarPartida .btn { border-radius: 10px; }

#modalDescartarPartida .form-control,
#modalDescartarPartida .form-select {
  background: rgba(255, 255, 255, 0.055);
  border: 2px solid rgba(66, 189, 231, 0.20);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.92);
  box-shadow: none;
}

#modalDescartarPartida .form-control:focus,
#modalDescartarPartida .form-select:focus {
  background: rgba(255, 255, 255, 0.08);
  border-color: #3fb8e8;
  box-shadow: 0 0 0 0.25rem rgba(66, 189, 231, 0.22), 0 4px 12px rgba(66, 189, 231, 0.16);
  transform: translateY(-1px);
}

#modalDescartarPartida .form-control::placeholder { color: rgba(255, 255, 255, 0.52); }

#modalDescartarPartida .form-check-input {
  background-color: rgba(255, 255, 255, 0.08);
  border: 2px solid rgba(66, 189, 231, 0.35);
}
#modalDescartarPartida .form-check-input:checked {
  background-color: #3fb8e8;
  border-color: #3fb8e8;
}
#modalDescartarPartida .form-check-input:focus {
  box-shadow: 0 0 0 0.2rem rgba(66, 189, 231, 0.22);
}

/* Tema claro */
:root[data-bs-theme="light"] #modalDescartarPartida ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalDescartarPartida ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.14),
    rgba(31, 127, 186, 0.12) 40%,
    rgba(7, 20, 34, 0.38) 70%
  );
}

:root[data-bs-theme="light"] #modalDescartarPartida .modal-content {
  background: var(--rs-modal-bg-light);
  border: 1px solid var(--rs-modal-border-light);
  color: var(--rs-modal-text-light);
  box-shadow: var(--rs-modal-shadow-light), inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

:root[data-bs-theme="light"] #modalDescartarPartida .modal-header {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.10) 0%, rgba(31, 127, 186, 0.09) 100%);
  border-bottom: 1px solid rgba(31, 127, 186, 0.18);
}

:root[data-bs-theme="light"] #modalDescartarPartida .modal-footer {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.05) 0%, rgba(31, 127, 186, 0.05) 100%);
  border-top: 1px solid rgba(7, 20, 34, 0.08);
}

:root[data-bs-theme="light"] #modalDescartarPartida .modal-title {
  background: linear-gradient(135deg, #133961 0%, #1f7fba 48%, #3fb8e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

:root[data-bs-theme="light"] #modalDescartarPartida .text-body-secondary,
:root[data-bs-theme="light"] #modalDescartarPartida .form-text {
  color: var(--rs-modal-muted-light) !important;
}

:root[data-bs-theme="light"] #modalDescartarPartida strong,
:root[data-bs-theme="light"] #modalDescartarPartida .form-label { color: var(--rs-modal-text-light); }

:root[data-bs-theme="light"] #modalDescartarPartida .btn-close { filter: none; opacity: 0.72; }
:root[data-bs-theme="light"] #modalDescartarPartida .btn-close:hover { filter: none; opacity: 1; }

:root[data-bs-theme="light"] #modalDescartarPartida .form-control,
:root[data-bs-theme="light"] #modalDescartarPartida .form-select {
  background: rgba(7, 20, 34, 0.03);
  border: 2px solid rgba(31, 127, 186, 0.20);
  color: #071422;
}

:root[data-bs-theme="light"] #modalDescartarPartida .form-control:focus,
:root[data-bs-theme="light"] #modalDescartarPartida .form-select:focus {
  background: rgba(7, 20, 34, 0.04);
  border-color: #1f7fba;
  box-shadow: 0 0 0 0.25rem rgba(31, 127, 186, 0.16), 0 4px 12px rgba(31, 127, 186, 0.12);
}

:root[data-bs-theme="light"] #modalDescartarPartida .btn:focus-visible {
  box-shadow: 0 0 0 0.25rem rgba(31, 127, 186, 0.22);
}

/* =======================================================
   ID: #modalPosCqAcoes
   ======================================================= */

#modalPosCqAcoes.modal,
#modalPosCqAcoes.modal.show {
  z-index: 2060 !important;
}

#modalPosCqAcoes ~ .modal-backdrop.fade {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 0;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease;
}

#modalPosCqAcoes ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.16),
    rgba(31, 127, 186, 0.15) 40%,
    rgba(7, 20, 34, 0.72) 70%
  );
  opacity: 1 !important;
  backdrop-filter: blur(7px) saturate(1.08);
  -webkit-backdrop-filter: blur(7px) saturate(1.08);
}

#modalPosCqAcoes.modal.fade .modal-dialog { transition: none; }

#modalPosCqAcoes.modal.show .modal-dialog {
  animation: modalGlassFadeUp 0.45s ease both;
}

#modalPosCqAcoes.modal.fade:not(.show) .modal-dialog {
  animation: modalGlassFadeDown 0.35s ease both;
}

#modalPosCqAcoes .modal-content {
  background: var(--rs-modal-bg-dark);
  border: 1px solid var(--rs-modal-border-dark);
  border-radius: 18px;
  overflow: hidden;
  color: var(--rs-modal-text-dark);
  box-shadow: var(--rs-modal-shadow-dark), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

#modalPosCqAcoes .modal-header {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.11) 0%, rgba(31, 127, 186, 0.12) 100%);
  border-bottom: 1px solid rgba(121, 220, 255, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 1rem 1.25rem;
}

#modalPosCqAcoes .modal-title {
  font-weight: 700;
  margin: 0;
  background: linear-gradient(135deg, #79dcff 0%, #3fb8e8 48%, #1f7fba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

#modalPosCqAcoes .modal-body { padding: 1.25rem; }

#modalPosCqAcoes .modal-footer {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.055) 0%, rgba(31, 127, 186, 0.06) 100%);
  border-top: 1px solid rgba(121, 220, 255, 0.12);
  padding: 1rem 1.25rem;
}

#modalPosCqAcoes .text-body-secondary,
#modalPosCqAcoes .form-text {
  color: var(--rs-modal-muted-dark) !important;
}

#modalPosCqAcoes strong,
#modalPosCqAcoes .form-label { color: var(--rs-modal-text-dark); }

#modalPosCqAcoes .btn-close {
  filter: invert(1) grayscale(100%) opacity(0.78);
  transition: transform 0.15s ease, filter 0.2s ease;
}

#modalPosCqAcoes .btn-close:hover { transform: scale(1.05); filter: invert(1) opacity(1); }

#modalPosCqAcoes .btn-close:focus,
#modalPosCqAcoes .btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.25rem var(--rs-modal-focus);
}

#modalPosCqAcoes .btn { border-radius: 10px; }

#modalPosCqAcoes .form-control,
#modalPosCqAcoes .form-select {
  background: rgba(255, 255, 255, 0.055);
  border: 2px solid rgba(66, 189, 231, 0.20);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.92);
  box-shadow: none;
}

#modalPosCqAcoes .form-control:focus,
#modalPosCqAcoes .form-select:focus {
  background: rgba(255, 255, 255, 0.08);
  border-color: #3fb8e8;
  box-shadow: 0 0 0 0.25rem rgba(66, 189, 231, 0.22), 0 4px 12px rgba(66, 189, 231, 0.16);
}

#modalPosCqAcoes .form-control::placeholder { color: rgba(255, 255, 255, 0.52); }

/* Tema claro */
:root[data-bs-theme="light"] #modalPosCqAcoes ~ .modal-backdrop.fade,
:root[data-bs-theme="light"] #modalPosCqAcoes ~ .modal-backdrop.show {
  background: radial-gradient(
    1200px 800px at 50% 10%,
    rgba(66, 189, 231, 0.14),
    rgba(31, 127, 186, 0.12) 40%,
    rgba(7, 20, 34, 0.38) 70%
  );
}

:root[data-bs-theme="light"] #modalPosCqAcoes .modal-content {
  background: var(--rs-modal-bg-light);
  border: 1px solid var(--rs-modal-border-light);
  color: var(--rs-modal-text-light);
  box-shadow: var(--rs-modal-shadow-light), inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

:root[data-bs-theme="light"] #modalPosCqAcoes .modal-header {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.10) 0%, rgba(31, 127, 186, 0.09) 100%);
  border-bottom: 1px solid rgba(31, 127, 186, 0.18);
}

:root[data-bs-theme="light"] #modalPosCqAcoes .modal-footer {
  background: linear-gradient(135deg, rgba(66, 189, 231, 0.05) 0%, rgba(31, 127, 186, 0.05) 100%);
  border-top: 1px solid rgba(7, 20, 34, 0.08);
}

:root[data-bs-theme="light"] #modalPosCqAcoes .modal-title {
  background: linear-gradient(135deg, #133961 0%, #1f7fba 48%, #3fb8e8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

:root[data-bs-theme="light"] #modalPosCqAcoes .text-body-secondary,
:root[data-bs-theme="light"] #modalPosCqAcoes .form-text {
  color: var(--rs-modal-muted-light) !important;
}

:root[data-bs-theme="light"] #modalPosCqAcoes strong,
:root[data-bs-theme="light"] #modalPosCqAcoes .form-label { color: var(--rs-modal-text-light); }

:root[data-bs-theme="light"] #modalPosCqAcoes .btn-close { filter: none; opacity: 0.72; }
:root[data-bs-theme="light"] #modalPosCqAcoes .btn-close:hover { filter: none; opacity: 1; }

:root[data-bs-theme="light"] #modalPosCqAcoes .form-control,
:root[data-bs-theme="light"] #modalPosCqAcoes .form-select {
  background: rgba(7, 20, 34, 0.03);
  border: 2px solid rgba(31, 127, 186, 0.20);
  color: #071422;
}

:root[data-bs-theme="light"] #modalPosCqAcoes .form-control:focus,
:root[data-bs-theme="light"] #modalPosCqAcoes .form-select:focus {
  background: rgba(7, 20, 34, 0.04);
  border-color: #1f7fba;
  box-shadow: 0 0 0 0.25rem rgba(31, 127, 186, 0.16), 0 4px 12px rgba(31, 127, 186, 0.12);
}

#modalPosCqAcoes .input-group-text {
  background: rgba(255, 255, 255, 0.055);
  border: 2px solid rgba(66, 189, 231, 0.20);
  border-right: none;
}
:root[data-bs-theme="light"] #modalPosCqAcoes .input-group-text {
  background: rgba(7, 20, 34, 0.03);
  border: 2px solid rgba(31, 127, 186, 0.20);
  border-right: none;
}
