
/* ============================================================
   ADMIN RESPONSIVE UI 20260827
   Tabelas compactas + cards mobile + modais modernos
   ============================================================ */

:root {
  --ui-bg: #f8f7f5;
  --ui-card: #ffffff;
  --ui-border: #e0e0e0;
  --ui-text: #1a1a1a;
  --ui-muted: #666666;
  --ui-focus: #378add;

  --ui-ok-bg: #dcfce7;
  --ui-ok-text: #166534;
  --ui-pending-bg: #fef3c7;
  --ui-pending-text: #92400e;

  --ui-danger-bg: #fef2f2;
  --ui-danger-text: #b91c1c;

  --ui-shadow:
    0 20px 50px rgba(15, 23, 42, .16),
    0 4px 14px rgba(15, 23, 42, .08);
}


/* ============================================================
   FILTROS
   ============================================================ */

body.admin-mode #adminReportFilters .form-control,
body.admin-mode #adminReportFilters .form-select {
  border: 1px solid var(--ui-border);
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease;
}

body.admin-mode #adminReportFilters .form-control:focus,
body.admin-mode #adminReportFilters .form-select:focus {
  border-color: var(--ui-focus) !important;
  box-shadow: 0 0 0 3px rgba(55, 138, 221, .14) !important;
  outline: none !important;
}

body.admin-mode #filtroBusca {
  min-width: 0;
}


/* ============================================================
   TABELA DESKTOP
   ============================================================ */

.admin-responsive-table-wrap {
  width: 100%;
  overflow-x: hidden !important;
  background: #fff;
  border: 1px solid var(--ui-border);
  border-radius: 14px;
}

.admin-responsive-table {
  width: 100% !important;
  table-layout: fixed;
  margin: 0 !important;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
}

.admin-responsive-table thead {
  position: sticky;
  top: 0;
  z-index: 6;
}

.admin-responsive-table thead th {
  padding: 13px 16px !important;
  background: #f8fafc !important;
  color: #334155;
  border-bottom: 1px solid var(--ui-border) !important;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .045em;
  text-transform: uppercase;
  white-space: nowrap;
}

.admin-responsive-table tbody td {
  padding: 14px 16px !important;
  vertical-align: middle;
  border-bottom: 1px solid #edf0f3 !important;
  color: var(--ui-text);
  overflow-wrap: anywhere;
}

.admin-responsive-table tbody tr {
  cursor: pointer;
  transition: background-color 180ms ease;
}

.admin-responsive-table tbody tr:hover td {
  background: #fafafa;
}

.admin-responsive-table tbody tr:last-child td {
  border-bottom: 0 !important;
}

.admin-responsive-table th:nth-child(1),
.admin-responsive-table td:nth-child(1) {
  width: 31%;
}

.admin-responsive-table th:nth-child(2),
.admin-responsive-table td:nth-child(2) {
  width: 20%;
}

.admin-responsive-table th:nth-child(3),
.admin-responsive-table td:nth-child(3) {
  width: 19%;
}

.admin-responsive-table th:nth-child(4),
.admin-responsive-table td:nth-child(4) {
  width: 15%;
}

.admin-responsive-table th:nth-child(5),
.admin-responsive-table td:nth-child(5) {
  width: 15%;
  text-align: right;
}

.admin-table-person {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.admin-table-person-main {
  min-width: 0;
}

.admin-table-name {
  color: var(--ui-text);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

.admin-table-subtitle {
  margin-top: 3px;
  color: var(--ui-muted);
  font-size: 11px;
  line-height: 1.35;
}

.admin-table-select {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  cursor: pointer;
}

.admin-table-more {
  min-height: 38px;
  padding: 7px 13px !important;
  border-radius: 9px !important;
  white-space: nowrap;
}


/* ============================================================
   BADGES
   ============================================================ */

.admin-ui-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.admin-ui-status::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

.admin-ui-status.is-ok {
  background: var(--ui-ok-bg);
  color: var(--ui-ok-text);
}

.admin-ui-status.is-pending {
  background: var(--ui-pending-bg);
  color: var(--ui-pending-text);
}

.admin-ui-status.is-error {
  background: var(--ui-danger-bg);
  color: var(--ui-danger-text);
}

.admin-ui-status.is-neutral {
  background: #f1f5f9;
  color: #475569;
}


/* ============================================================
   MOBILE CARDS
   ============================================================ */

.admin-responsive-cards {
  display: none;
}

.admin-mobile-card {
  position: relative;
  padding: 16px;
  background: var(--ui-card);
  border: 1px solid var(--ui-border);
  border-radius: 14px;
  box-shadow: 0 3px 12px rgba(15, 23, 42, .04);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease;
}

.admin-mobile-card:active {
  transform: scale(.995);
}

.admin-mobile-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-right: 2px;
}

.admin-mobile-card-title-area {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  min-width: 0;
}

.admin-mobile-card-name {
  color: var(--ui-text);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
}

.admin-mobile-card-meta {
  margin-top: 4px;
  color: var(--ui-muted);
  font-size: 12px;
  line-height: 1.4;
}

.admin-mobile-card-contact {
  display: grid;
  gap: 8px;
  margin-top: 15px;
  padding: 13px 0;
  border-top: 1px solid #eef0f2;
  border-bottom: 1px solid #eef0f2;
}

.admin-mobile-card-contact-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #444;
  font-size: 13px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.admin-mobile-card-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
  margin-top: 12px;
}

.admin-mobile-card-detail {
  min-width: 0;
}

.admin-mobile-card-detail small {
  display: block;
  color: #8a8a8a;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.admin-mobile-card-detail strong {
  display: block;
  margin-top: 2px;
  color: #333;
  font-size: 12px;
  font-weight: 500;
  overflow-wrap: anywhere;
}

.admin-mobile-card-footer {
  margin-top: 15px;
}

.admin-mobile-card-footer .btn {
  width: 100%;
  min-height: 44px;
  border-radius: 10px;
  font-weight: 600;
}

.admin-responsive-empty {
  padding: 34px 18px;
  text-align: center;
  background: #fff;
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  color: var(--ui-muted);
}

.admin-responsive-empty strong {
  display: block;
  margin-bottom: 4px;
  color: #334155;
  font-size: 14px;
}


/* ============================================================
   MODAL MODERNO
   ============================================================ */

body.admin-mode .success-modal {
  padding: 22px !important;
  background: rgba(15, 23, 42, .52) !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

body.admin-mode #modalDetalhes .detalhes-adesao-dialog,
body.admin-mode #modalDetalhes .success-dialog {
  position: relative;
  width: min(94vw, 840px) !important;
  max-width: 840px !important;
  max-height: min(92dvh, 900px) !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 20px !important;
  box-shadow: var(--ui-shadow);
}

.admin-modern-modal-header {
  position: relative;
  display: flex !important;
  align-items: center !important;
  gap: 10px;
  min-height: 78px;
  margin: 0 !important;
  padding: 16px 18px 16px 22px;
  border-bottom: 1px solid #e9edf2;
  background: #fff;
  border-radius: 20px 20px 0 0;
}

.admin-modal-title-block {
  flex: 1 1 auto;
  min-width: 0;
}

.admin-modal-title-block h2 {
  margin: 0 !important;
  color: #172033;
  font-size: 20px !important;
  font-weight: 600;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.admin-modal-subtitle {
  margin-top: 4px;
  color: #6b7280;
  font-size: 12px;
  line-height: 1.35;
}

.admin-modal-heading-status {
  flex: 0 0 auto;
}

.admin-modal-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  padding: 0;
  border: 1px solid #dfe4ea;
  border-radius: 11px;
  background: #fff;
  color: #334155;
  font-size: 21px;
  font-weight: 600;
  cursor: pointer;
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.admin-modal-icon-button:hover,
.admin-modal-icon-button:focus-visible {
  background: #f8fafc;
  border-color: #b9c4d0;
  outline: none;
}

.admin-modal-icon-button:focus-visible {
  box-shadow: 0 0 0 3px rgba(55, 138, 221, .15);
}

body.admin-mode #modalDetalhes .btn-close {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 11px;
  color: #64748b;
  font-size: 27px !important;
  line-height: 1;
}

body.admin-mode #modalDetalhes #conteudoDetalhes {
  max-height: none !important;
  min-height: 0;
  padding: 20px 22px 24px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  font-size: 13px !important;
}


/* Conte?do antigo fica visualmente mais moderno sem alterar dados */

body.admin-mode #conteudoDetalhes > div[style*="text-transform:uppercase"],
body.admin-mode #conteudoDetalhes > div[style*="text-transform: uppercase"] {
  margin: 15px 0 6px;
  padding: 0 !important;
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .075em !important;
}

body.admin-mode #conteudoDetalhes > div[style*="border-bottom"] {
  align-items: flex-start;
  gap: 16px !important;
  margin: 0;
  padding: 10px 0 !important;
  border-bottom-color: #edf0f3 !important;
}

body.admin-mode #conteudoDetalhes > div[style*="border-bottom"] > span:first-child {
  min-width: 155px !important;
  color: #64748b !important;
  font-size: 12px;
  font-weight: 500 !important;
}

body.admin-mode #conteudoDetalhes > div[style*="border-bottom"] > span:last-child {
  flex: 1;
  color: #1f2937;
  font-size: 13px;
  font-weight: 500;
}


/* ============================================================
   MENU HAMB?RGUER - MODAL DETALHES
   O footer original vira dropdown. Nenhum onclick ? refeito.
   ============================================================ */

body.admin-mode #modalDetalhes #footerDetalhes {
  position: absolute !important;
  top: 68px;
  right: 60px;
  z-index: 50020;
  display: none;
  width: min(300px, calc(100vw - 38px));
  max-height: min(70dvh, 560px);
  margin: 0 !important;
  padding: 7px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #dfe4ea;
  border-radius: 13px;
  box-shadow:
    0 20px 45px rgba(15, 23, 42, .18),
    0 4px 12px rgba(15, 23, 42, .08);
}

body.admin-mode #modalDetalhes #footerDetalhes.is-open {
  display: block;
  animation: adminMenuEnter 160ms ease-out;
}

@keyframes adminMenuEnter {
  from {
    opacity: 0;
    transform: translateY(-5px) scale(.985);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

body.admin-mode #modalDetalhes #footerDetalhes > *,
body.admin-mode #modalDetalhes #footerDetalhes .d-flex {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  width: 100% !important;
  margin: 0 !important;
}

body.admin-mode #modalDetalhes #footerDetalhes .btn {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  width: 100% !important;
  min-height: 42px;
  flex: none !important;
  margin: 0 !important;
  padding: 9px 11px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #334155 !important;
  font-size: 12px !important;
  font-weight: 500;
  text-align: left;
  white-space: normal !important;
}

body.admin-mode #modalDetalhes #footerDetalhes .btn:hover {
  background: #f3f6f9 !important;
}

body.admin-mode #modalDetalhes #footerDetalhes .admin-modal-action-danger {
  margin-top: 4px !important;
  border-top: 1px solid #edf0f3 !important;
  border-radius: 0 0 8px 8px !important;
  color: #b91c1c !important;
}


/* ============================================================
   HIST?RICO CLICKSIGN
   ============================================================ */

body.admin-mode #modalHistoricoClicksign .evidencia-clicksign-dialog {
  position: relative;
  border-radius: 20px !important;
  box-shadow: var(--ui-shadow);
}

body.admin-mode #modalHistoricoClicksign .evidencia-acoes {
  position: sticky;
  top: 0;
  z-index: 8;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 10px;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid #e9edf2;
  backdrop-filter: blur(8px);
}

.admin-inline-actions-menu {
  position: absolute;
  top: 55px;
  right: 54px;
  z-index: 50030;
  display: none;
  width: 230px;
  padding: 7px;
  background: #fff;
  border: 1px solid #dfe4ea;
  border-radius: 12px;
  box-shadow: var(--ui-shadow);
}

.admin-inline-actions-menu.is-open {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.admin-inline-actions-menu .btn {
  width: 100%;
  min-height: 40px;
  border: 0 !important;
  text-align: left;
}


/* ============================================================
   BREAKPOINT 768PX
   ============================================================ */

@media (min-width: 1025px) {
  .admin-responsive-table-wrap {
    display: block !important;
  }

  .admin-responsive-cards {
    display: none !important;
  }
}

@media (max-width: 1024px) {
  body.admin-mode {
    overflow-x: hidden;
  }

  .admin-responsive-table-wrap {
    display: none !important;
  }

  .admin-responsive-cards {
    display: flex !important;
    flex-direction: column;
    gap: 12px;
    width: 100%;
  }

  body.admin-mode .admin-records-panel {
    min-width: 0;
  }

  body.admin-mode #adminReportFilters {
    padding: 12px !important;
  }

  body.admin-mode #filtroBusca {
    font-size: 16px !important;
  }

  body.admin-mode .success-modal {
    align-items: stretch !important;
    padding: 0 !important;
  }

  body.admin-mode #modalDetalhes .detalhes-adesao-dialog,
  body.admin-mode #modalDetalhes .success-dialog {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  .admin-modern-modal-header {
    position: sticky;
    top: 0;
    z-index: 12;
    min-height: 72px;
    padding: 12px 12px 12px 16px;
    border-radius: 0;
  }

  .admin-modal-title-block h2 {
    font-size: 17px !important;
  }

  .admin-modal-heading-status {
    display: none;
  }

  .admin-modal-icon-button,
  body.admin-mode #modalDetalhes .btn-close {
    width: 44px !important;
    height: 44px !important;
    flex-basis: 44px;
  }

  body.admin-mode #modalDetalhes #conteudoDetalhes {
    padding: 16px !important;
  }

  body.admin-mode #modalDetalhes #footerDetalhes {
    position: fixed !important;
    top: 67px;
    right: 10px;
    width: calc(100vw - 20px);
    max-height: calc(100dvh - 84px);
  }

  body.admin-mode #conteudoDetalhes > div[style*="border-bottom"] {
    display: block !important;
  }

  body.admin-mode #conteudoDetalhes > div[style*="border-bottom"] > span:first-child {
    display: block;
    min-width: 0 !important;
    margin-bottom: 3px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
  }

  .admin-inline-actions-menu {
    position: fixed;
    top: 60px;
    right: 10px;
    width: calc(100vw - 20px);
  }
}


/* ==========================================================
   ENTREGA_FINAL_UI_20260827
   ========================================================== */

/* MODAL */
body.admin-mode #modalDetalhes .detalhes-adesao-dialog,
body.admin-mode #modalDetalhes .success-dialog {
  border: 1px solid #cbd5e1 !important;
  border-top: 4px solid #153a61 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow:
    0 30px 70px rgba(15,23,42,.24),
    0 8px 24px rgba(15,23,42,.12) !important;
}

/* CABECALHO */
body.admin-mode #modalDetalhes .admin-modern-modal-header {
  display: flex !important;
  align-items: center !important;
  min-height: 72px !important;
  gap: 9px !important;
  padding: 14px 16px 14px 20px !important;
  border-bottom: 1px solid #e2e8f0 !important;
  background: #fff !important;
}

body.admin-mode #modalDetalhes .admin-modal-title-block {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* STATUS ANTES DOS BOTOES */
body.admin-mode #modalDetalhes .admin-modal-heading-status {
  order: 10 !important;
}

body.admin-mode #adminModalActionsToggle {
  order: 20 !important;
}

body.admin-mode #modalDetalhes .btn-close {
  order: 30 !important;
}

/* HAMBURGUER */
body.admin-mode #adminModalActionsToggle {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;

  align-items: center !important;
  justify-content: center !important;

  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  flex: 0 0 42px !important;

  padding: 0 !important;

  border: 1px solid #cbd5e1 !important;
  border-radius: 10px !important;

  background: #f8fafc !important;
  color: #173b61 !important;
}

body.admin-mode #adminModalActionsToggle:hover {
  background: #edf3f8 !important;
  border-color: #9fb3c7 !important;
}

.ui-hamburger {
  width: 18px;
  height: 14px;

  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.ui-hamburger span {
  display: block;

  width: 18px;
  height: 2px;

  background: #173b61;
  border-radius: 10px;
}

/* MENU DAS ACOES */
body.admin-mode #modalDetalhes #footerDetalhes {
  position: absolute !important;

  top: 63px !important;
  right: 58px !important;

  z-index: 99999 !important;

  width: 290px !important;
  max-height: 65vh !important;

  padding: 7px !important;
  margin: 0 !important;

  overflow-y: auto !important;

  background: #fff !important;

  border: 1px solid #cbd5e1 !important;
  border-radius: 12px !important;

  box-shadow:
    0 22px 50px rgba(15,23,42,.22),
    0 5px 15px rgba(15,23,42,.10) !important;
}

body.admin-mode #modalDetalhes #footerDetalhes.is-open {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body.admin-mode #modalDetalhes #footerDetalhes > *,
body.admin-mode #modalDetalhes #footerDetalhes .d-flex {
  display: flex !important;
  flex-direction: column !important;

  width: 100% !important;

  gap: 2px !important;
  margin: 0 !important;
}

body.admin-mode #modalDetalhes #footerDetalhes .btn {
  display: flex !important;

  align-items: center !important;
  justify-content: flex-start !important;

  width: 100% !important;
  min-height: 42px !important;

  flex: none !important;

  margin: 0 !important;
  padding: 9px 11px !important;

  border: 0 !important;
  border-radius: 8px !important;

  background: transparent !important;
  color: #334155 !important;

  font-size: 12px !important;
  font-weight: 500 !important;
  text-align: left !important;
  white-space: normal !important;
}

body.admin-mode #modalDetalhes #footerDetalhes .btn:hover {
  background: #f1f5f9 !important;
}

/* CONTEUDO */
body.admin-mode #modalDetalhes #conteudoDetalhes {
  padding: 18px 20px 22px !important;
}

body.admin-mode #conteudoDetalhes > div[style*="text-transform:uppercase"],
body.admin-mode #conteudoDetalhes > div[style*="text-transform: uppercase"] {
  margin-top: 17px !important;

  padding-bottom: 6px !important;

  border-bottom: 1px solid #dce3ea !important;

  color: #526a82 !important;

  font-size: 10px !important;
  font-weight: 700 !important;
}

body.admin-mode #conteudoDetalhes > div[style*="border-bottom"] {
  padding: 10px 4px !important;
  border-bottom-color: #e8edf2 !important;
}


/* ==========================================================
   TABELA DESKTOP
   ========================================================== */

.admin-responsive-table-wrap {
  overflow: hidden !important;

  border: 1px solid #dfe5eb !important;
  border-radius: 14px !important;

  background: #fff !important;

  box-shadow: 0 8px 24px rgba(15,23,42,.04);
}

.admin-responsive-table {
  margin: 0 !important;
}

.admin-responsive-table thead th {
  height: 45px !important;

  padding: 12px 16px !important;

  background: #f7f9fb !important;

  color: #64748b !important;

  border-bottom: 1px solid #dce3ea !important;

  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
}

.admin-responsive-table tbody td {
  padding: 14px 16px !important;

  border-bottom: 1px solid #edf1f4 !important;
}

.admin-responsive-table tbody tr {
  transition: background-color .16s ease;
}

.admin-responsive-table tbody tr:hover td {
  background: #f8fafc !important;
}

.admin-table-name {
  color: #172033 !important;
  font-weight: 600 !important;
}

.admin-table-subtitle {
  color: #7a8795 !important;
}

.admin-table-more {
  border-radius: 9px !important;
}


/* ==========================================================
   STATUS
   ========================================================== */

.admin-ui-status {
  font-weight: 600 !important;
}


/* ==========================================================
   TABLET E CELULAR
   ========================================================== */

@media (max-width: 1024px) {

  .admin-responsive-table-wrap {
    display: none !important;
  }

  .admin-responsive-cards {
    display: flex !important;

    flex-direction: column;

    gap: 12px !important;
  }

  .admin-mobile-card {
    border: 1px solid #dde4eb !important;

    border-radius: 14px !important;

    box-shadow: 0 6px 18px rgba(15,23,42,.045) !important;
  }

  body.admin-mode #modalDetalhes .detalhes-adesao-dialog,
  body.admin-mode #modalDetalhes .success-dialog {
    width: 100vw !important;
    max-width: 100vw !important;

    height: 100dvh !important;
    max-height: 100dvh !important;

    margin: 0 !important;

    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;

    border-radius: 0 !important;
  }

  body.admin-mode #modalDetalhes #footerDetalhes {
    position: fixed !important;

    top: 67px !important;
    left: 10px !important;
    right: 10px !important;

    width: auto !important;

    max-height: calc(100dvh - 85px) !important;
  }

}


/* ==========================================================
   DESKTOP
   ========================================================== */

@media (min-width: 1025px) {

  .admin-responsive-table-wrap {
    display: block !important;
  }

  .admin-responsive-cards {
    display: none !important;
  }

}

/* BRF_UI_V5_START */


/* ============================================================
   ICONES
   ============================================================ */

.brf-line-icon {
  width: 34px;
  height: 34px;

  min-width: 34px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 9px;

  background: #edf5fc;

  color: #005baa;
}

.brf-line-icon svg {
  width: 17px;
  height: 17px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* ============================================================
   MODAL
   ============================================================ */

body.admin-mode #modalDetalhes
.detalhes-adesao-dialog,
body.admin-mode #modalDetalhes
.success-dialog {

  width: min(980px, 94vw) !important;
  max-width: 980px !important;

  max-height: 90vh !important;

  overflow: visible !important;

  border:
    1px solid #dbe4ec !important;

  border-radius:
    18px !important;

  background:
    #ffffff !important;

  box-shadow:
    0 30px 80px rgba(15,23,42,.20)
    !important;
}


body.admin-mode #modalDetalhes
#conteudoDetalhes {

  max-height:
    calc(90vh - 74px) !important;

  padding:
    18px 20px 24px !important;

  overflow-y:
    auto !important;

  overflow-x:
    hidden !important;

  background:
    #f6f8fb !important;
}


.brf-detail-layout {
  width: 100%;
}


.brf-detail-section-heading {

  margin:
    18px 0 9px;

  padding:
    0 2px 9px;

  display:
    flex;

  align-items:
    flex-end;

  justify-content:
    space-between;

  border-bottom:
    1px solid #dbe4ec;
}


.brf-detail-section-heading:first-child {
  margin-top: 0;
}


.brf-detail-section-heading strong {

  display: block;

  color: #12385f;

  font-size: 11px;
  font-weight: 850;

  text-transform:
    uppercase;

  letter-spacing:
    .065em;
}


.brf-detail-section-heading span {

  display: block;

  margin-top: 3px;

  color: #8a98a8;

  font-size: 10px;

  text-transform: none;

  letter-spacing: 0;
}


.brf-detail-grid {

  display: grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );

  gap: 8px;
}


.brf-detail-row {

  min-width: 0;

  display: flex;

  align-items:
    center;

  gap: 11px;

  min-height: 58px;

  padding:
    10px 12px;

  border:
    1px solid #e1e8ef;

  border-radius:
    11px;

  background:
    #ffffff;

  box-shadow:
    0 2px 8px rgba(15,23,42,.025);
}


.brf-detail-row-copy {

  min-width: 0;

  display: flex;

  flex-direction:
    column;

  gap: 3px;
}


.brf-detail-label {

  color: #718095;

  font-size: 10px;
  font-weight: 750;

  text-transform:
    uppercase;

  letter-spacing:
    .045em;
}


.brf-detail-value {

  min-width: 0;

  color: #172b42;

  font-size: 12px;
  font-weight: 600;

  line-height: 1.35;

  word-break:
    break-word;
}


.brf-detail-status
.brf-detail-value {

  display: flex;

  align-items:
    center;
}


.brf-detail-helper {

  color: #60748a;

  font-weight: 500;
}


/* ============================================================
   TABELA
   ============================================================ */

body.admin-mode
.admin-responsive-table {

  width: 100% !important;

  table-layout:
    fixed !important;
}


body.admin-mode
.admin-responsive-table
thead th:nth-child(1) {

  width: 39% !important;
}

body.admin-mode
.admin-responsive-table
thead th:nth-child(2) {

  width: 18% !important;
}

body.admin-mode
.admin-responsive-table
thead th:nth-child(3) {

  width: 18% !important;
}

body.admin-mode
.admin-responsive-table
thead th:nth-child(4) {

  width: 15% !important;
}

body.admin-mode
.admin-responsive-table
thead th:nth-child(5) {

  width: 10% !important;
}


body.admin-mode
.admin-responsive-table
tbody td {

  vertical-align:
    middle !important;
}


body.admin-mode
.admin-responsive-table
tbody td:first-child {

  position: relative;

  display: flex;

  align-items:
    center;

  gap: 10px;
}


/* checkbox dentro da coluna nome */

body.admin-mode
.admin-responsive-table
.admin-table-select {

  flex: 0 0 auto;

  margin: 0 2px 0 0;
}


.brf-table-person-icon {

  flex: 0 0 auto;

  width: 32px;
  height: 32px;

  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  border-radius:
    9px;

  background:
    #edf5fc;

  color:
    #005baa;
}


.brf-table-person-icon
.brf-line-icon {

  width: 32px;
  height: 32px;

  min-width: 32px;

  background:
    transparent;
}


.brf-table-person-content {

  min-width: 0;

  flex: 1 1 auto;
}


.brf-table-cell-icon {

  display:
    inline-flex;

  vertical-align:
    middle;

  margin-right:
    7px;
}


.brf-table-cell-icon
.brf-line-icon {

  width: 27px;
  height: 27px;

  min-width: 27px;

  border-radius:
    7px;

  background:
    #f1f6fa;

  color:
    #54718e;
}


.brf-table-cell-icon
svg {

  width: 14px;
  height: 14px;
}


.brf-button-eye {

  display:
    inline-flex;

  align-items:
    center;

  margin-right:
    5px;
}


.brf-button-eye
.brf-line-icon {

  width: 18px;
  height: 18px;

  min-width: 18px;

  background:
    transparent;
}


.brf-button-eye
svg {

  width: 14px;
  height: 14px;
}


/* ============================================================
   HAMBURGUER / ACOES
   ============================================================ */

body.admin-mode
#adminModalActionsToggle {

  width: 42px !important;
  height: 42px !important;

  min-width:
    42px !important;

  border:
    1px solid #cbd8e5 !important;

  border-radius:
    10px !important;

  background:
    #f8fafc !important;

  color:
    #123b63 !important;
}


body.admin-mode
#modalDetalhes
#footerDetalhes {

  width:
    310px !important;

  border:
    1px solid #d8e1ea !important;

  border-radius:
    13px !important;

  background:
    #ffffff !important;

  box-shadow:
    0 22px 55px
    rgba(15,23,42,.20)
    !important;
}


/* ============================================================
   TABLET / MOBILE
   ============================================================ */

@media (
  max-width: 1024px
) {

  body.admin-mode
  #modalDetalhes
  .detalhes-adesao-dialog,
  body.admin-mode
  #modalDetalhes
  .success-dialog {

    width:
      100vw !important;

    max-width:
      100vw !important;

    height:
      100dvh !important;

    max-height:
      100dvh !important;

    margin:
      0 !important;

    border:
      0 !important;

    border-radius:
      0 !important;
  }


  body.admin-mode
  #modalDetalhes
  #conteudoDetalhes {

    max-height:
      calc(
        100dvh - 70px
      ) !important;

    padding:
      13px !important;
  }


  .brf-detail-grid {

    grid-template-columns:
      1fr;
  }


  .brf-detail-row {

    min-height:
      54px;
  }

}


@media (
  max-width: 700px
) {

  .brf-detail-section-heading
  span {

    display: none;
  }

}

/* BRF_UI_V5_END */

/* ============================================================
   BRF MODAL V6 - LINHAS EXECUTIVAS
   sobrescreve somente o layout interno do modal V5
   ============================================================ */


/* corpo geral */

body.admin-mode #modalDetalhes #conteudoDetalhes {

    max-height: calc(90vh - 74px) !important;

    padding: 14px 20px 24px !important;

    background: #ffffff !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;
}


/* tira a grade de cards */

body.admin-mode #modalDetalhes .brf-detail-grid {

    display: block !important;

    width: 100% !important;
}


/* titulo de cada grupo */

body.admin-mode #modalDetalhes .brf-detail-section-heading {

    margin: 20px 0 4px !important;

    padding: 0 0 9px !important;

    border-bottom: 1px solid #d9e3ec !important;
}


body.admin-mode #modalDetalhes .brf-detail-section-heading:first-child {

    margin-top: 2px !important;
}


body.admin-mode #modalDetalhes .brf-detail-section-heading strong {

    display: block !important;

    color: #12385f !important;

    font-size: 11px !important;

    font-weight: 850 !important;

    text-transform: uppercase !important;

    letter-spacing: .07em !important;
}


body.admin-mode #modalDetalhes .brf-detail-section-heading span {

    margin-top: 3px !important;

    color: #8795a5 !important;

    font-size: 10px !important;

    font-weight: 400 !important;
}


/* ============================================================
   LINHA
   ============================================================ */

body.admin-mode #modalDetalhes .brf-detail-row {

    display: grid !important;

    grid-template-columns:
        34px
        minmax(145px, 180px)
        minmax(0, 1fr) !important;

    align-items: center !important;

    gap: 12px !important;

    width: 100% !important;

    min-height: 46px !important;

    margin: 0 !important;

    padding: 6px 4px !important;

    border: 0 !important;

    border-bottom: 1px solid #edf1f5 !important;

    border-radius: 0 !important;

    background: transparent !important;

    box-shadow: none !important;
}


/* icone */

body.admin-mode #modalDetalhes .brf-detail-row > .brf-line-icon {

    width: 30px !important;

    height: 30px !important;

    min-width: 30px !important;

    border-radius: 8px !important;

    background: #eef6fd !important;

    color: #0067b9 !important;
}


body.admin-mode #modalDetalhes .brf-detail-row > .brf-line-icon svg {

    width: 15px !important;

    height: 15px !important;
}


/* conteúdo deixa de ser coluna */

body.admin-mode #modalDetalhes .brf-detail-row-copy {

    display: contents !important;
}


/* label */

body.admin-mode #modalDetalhes .brf-detail-label {

    color: #50657b !important;

    font-size: 11px !important;

    font-weight: 750 !important;

    text-transform: none !important;

    letter-spacing: 0 !important;
}


/* valor */

body.admin-mode #modalDetalhes .brf-detail-value {

    min-width: 0 !important;

    color: #17263a !important;

    font-size: 12px !important;

    font-weight: 500 !important;

    line-height: 1.4 !important;

    word-break: break-word !important;
}


/* status */

body.admin-mode #modalDetalhes .brf-detail-status .brf-detail-value {

    display: flex !important;

    align-items: center !important;
}


/* remove aparência de card de qualquer regra anterior */

body.admin-mode #modalDetalhes .brf-detail-row:hover {

    background: #f9fbfd !important;
}


/* logs/evidencias mais discreto */

body.admin-mode #modalDetalhes .brf-detail-helper {

    color: #65798d !important;

    font-size: 11px !important;

    font-weight: 400 !important;
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 700px) {

    body.admin-mode #modalDetalhes #conteudoDetalhes {

        padding: 10px 14px 22px !important;
    }


    body.admin-mode #modalDetalhes .brf-detail-row {

        grid-template-columns:
            32px
            minmax(0, 1fr) !important;

        gap: 4px 10px !important;

        padding: 8px 2px !important;
    }


    body.admin-mode #modalDetalhes .brf-detail-row > .brf-line-icon {

        grid-row: 1 / span 2 !important;
    }


    body.admin-mode #modalDetalhes .brf-detail-label {

        grid-column: 2 !important;

        font-size: 10px !important;

        color: #718095 !important;
    }


    body.admin-mode #modalDetalhes .brf-detail-value {

        grid-column: 2 !important;

        font-size: 12px !important;
    }

}

/* FIM BRF MODAL V6 */


/* ============================================================
   BRF AJUSTE V7
   tabela sem buraco + modal com cabecalho e divisoes
   ============================================================ */


/* ============================================================
   TABELA - CORRIGE ESPACO EM BRANCO
   ============================================================ */

body.admin-mode
.admin-responsive-table
tbody td:first-child {

    display: table-cell !important;

    vertical-align: middle !important;

    padding: 10px 14px !important;

    white-space: normal !important;
}


/* elementos internos continuam alinhados */

body.admin-mode
.admin-responsive-table
tbody td:first-child
.admin-table-select,

body.admin-mode
.admin-responsive-table
tbody td:first-child
.brf-table-person-icon,

body.admin-mode
.admin-responsive-table
tbody td:first-child
.brf-table-person-content {

    display: inline-flex;

    vertical-align: middle;
}


/* checkbox */

body.admin-mode
.admin-responsive-table
tbody td:first-child
.admin-table-select {

    margin-right: 9px !important;
}


/* icone */

body.admin-mode
.admin-responsive-table
tbody td:first-child
.brf-table-person-icon {

    margin-right: 9px !important;
}


/* texto nome */

body.admin-mode
.admin-responsive-table
tbody td:first-child
.brf-table-person-content {

    display: inline-flex !important;

    flex-direction: column !important;

    justify-content: center !important;

    max-width: calc(100% - 85px);

    line-height: 1.25;
}


/* proporcao mais equilibrada */

body.admin-mode
.admin-responsive-table
thead th:nth-child(1) {
    width: 34% !important;
}

body.admin-mode
.admin-responsive-table
thead th:nth-child(2) {
    width: 18% !important;
}

body.admin-mode
.admin-responsive-table
thead th:nth-child(3) {
    width: 18% !important;
}

body.admin-mode
.admin-responsive-table
thead th:nth-child(4) {
    width: 16% !important;
}

body.admin-mode
.admin-responsive-table
thead th:nth-child(5) {
    width: 14% !important;
}


/* linhas mais compactas */

body.admin-mode
.admin-responsive-table
tbody td {

    height: 58px !important;

    padding-top: 9px !important;

    padding-bottom: 9px !important;
}


/* ============================================================
   MODAL - CABECALHO MAIS FORTE
   ============================================================ */

body.admin-mode
#modalDetalhes
.admin-modern-modal-header {

    position: sticky !important;

    top: 0 !important;

    z-index: 30 !important;

    min-height: 72px !important;

    padding: 12px 16px 12px 18px !important;

    background: #ffffff !important;

    border-top: 4px solid #b51f2e !important;

    border-bottom: 1px solid #cfd9e4 !important;

    box-shadow:
        0 3px 10px rgba(15,23,42,.05) !important;
}


/* titulo */

body.admin-mode
#modalDetalhes
#tituloModalDetalhes {

    color: #12385f !important;

    font-size: 19px !important;

    font-weight: 850 !important;
}


/* subtitulo */

body.admin-mode
#modalDetalhes
.admin-modal-subtitle {

    margin-top: 4px !important;

    color: #718196 !important;

    font-size: 10px !important;
}


/* ============================================================
   CABECALHO DAS SECOES
   ============================================================ */

body.admin-mode
#modalDetalhes
.brf-detail-section-heading {

    position: relative;

    margin: 22px 0 5px !important;

    padding: 9px 12px !important;

    border: 1px solid #dce5ee !important;

    border-left: 4px solid #12385f !important;

    border-radius: 7px !important;

    background: #f5f8fb !important;
}


body.admin-mode
#modalDetalhes
.brf-detail-section-heading:first-child {

    margin-top: 4px !important;
}


body.admin-mode
#modalDetalhes
.brf-detail-section-heading strong {

    color: #12385f !important;

    font-size: 10px !important;

    font-weight: 850 !important;

    letter-spacing: .075em !important;
}


body.admin-mode
#modalDetalhes
.brf-detail-section-heading span {

    margin-top: 2px !important;

    color: #8190a0 !important;

    font-size: 9px !important;
}


/* ============================================================
   DIVISOES DAS LINHAS
   ============================================================ */

body.admin-mode
#modalDetalhes
.brf-detail-row {

    min-height: 44px !important;

    padding: 6px 8px !important;

    border-bottom:
        1px solid #e8edf2 !important;
}


body.admin-mode
#modalDetalhes
.brf-detail-row:last-child {

    border-bottom:
        0 !important;
}


/* leve destaque ao passar mouse */

body.admin-mode
#modalDetalhes
.brf-detail-row:hover {

    background:
        #f8fafc !important;
}


/* ============================================================
   BLOCO DE CADA GRUPO
   ============================================================ */

body.admin-mode
#modalDetalhes
.brf-detail-grid {

    padding: 0 8px !important;

    border-left:
        1px solid #edf1f5;

    border-right:
        1px solid #edf1f5;

    border-bottom:
        1px solid #edf1f5;

    border-radius:
        0 0 8px 8px;
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width:700px) {

    body.admin-mode
    #modalDetalhes
    .brf-detail-section-heading {

        margin-top: 16px !important;

        padding: 8px 10px !important;
    }

    body.admin-mode
    #modalDetalhes
    .brf-detail-grid {

        padding: 0 6px !important;
    }

}

/* FIM BRF AJUSTE V7 */

/* BRF_MENU_ICONES_V8_START */


/* bot?o completo */

body.admin-mode
#modalDetalhes
#footerDetalhes
.brf-menu-action {

    position: relative;

    width: 100% !important;

    min-height: 46px !important;

    display: flex !important;

    align-items: center !important;

    gap: 10px !important;

    padding: 7px 10px !important;

    margin: 2px 0 !important;

    border: 1px solid transparent !important;

    border-radius: 9px !important;

    background: transparent !important;

    color: #344b63 !important;

    text-align: left !important;

    cursor: pointer !important;

    transition:
        background .15s ease,
        border-color .15s ease,
        color .15s ease,
        transform .15s ease !important;
}


/* hover deixa claro que ? clic?vel */

body.admin-mode
#modalDetalhes
#footerDetalhes
.brf-menu-action:hover {

    background: #f0f6fc !important;

    border-color: #d9e6f2 !important;

    color: #005baa !important;

    transform: translateX(2px);
}


/* clique */

body.admin-mode
#modalDetalhes
#footerDetalhes
.brf-menu-action:active {

    transform:
        translateX(2px)
        scale(.99);
}


/* ?cone */

body.admin-mode
#modalDetalhes
#footerDetalhes
.brf-menu-action-icon {

    width: 31px;

    height: 31px;

    min-width: 31px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    border-radius: 8px;

    background: #eef6fd;

    color: #0068b8;

    transition:
        background .15s ease,
        color .15s ease;
}


body.admin-mode
#modalDetalhes
#footerDetalhes
.brf-menu-action-icon svg {

    width: 16px;

    height: 16px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;

    stroke-linejoin: round;
}


/* hover do ?cone */

body.admin-mode
#modalDetalhes
#footerDetalhes
.brf-menu-action:hover
.brf-menu-action-icon {

    background: #dceefa;

    color: #004f8e;
}


/* separador sutil entre a??es */

body.admin-mode
#modalDetalhes
#footerDetalhes
.brf-menu-action
+
.brf-menu-action {

    border-top-color:
        #edf1f5 !important;
}


/* a??es destrutivas */

body.admin-mode
#modalDetalhes
#footerDetalhes
.brf-menu-action.btn-danger,

body.admin-mode
#modalDetalhes
#footerDetalhes
.brf-menu-action.btn-outline-danger {

    color: #b4232f !important;
}


body.admin-mode
#modalDetalhes
#footerDetalhes
.brf-menu-action.btn-danger
.brf-menu-action-icon,

body.admin-mode
#modalDetalhes
#footerDetalhes
.brf-menu-action.btn-outline-danger
.brf-menu-action-icon {

    background: #fff0f1;

    color: #b4232f;
}


/* BRF_MENU_ICONES_V8_END */

/* BRF_LAYOUT_FIXO_V9_START
   O viewport fica travado; somente a coluna central do painel rola. */
body.admin-mode:not(.admin-login-active) {
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

body.admin-mode:not(.admin-login-active) .main.admin-wrapper {
    display: flex !important;
    flex-direction: column !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 0 !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
}

body.admin-mode:not(.admin-login-active) .main.admin-wrapper > .header {
    position: relative !important;
    top: auto !important;
    flex: 0 0 auto !important;
}

body.admin-mode:not(.admin-login-active) #appView:not(.d-none),
body.admin-mode:not(.admin-login-active) #relatorioView:not(.d-none),
body.admin-mode:not(.admin-login-active) #devAdminHome:not(.d-none) {
    flex: 1 1 auto !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
}

body.admin-mode:not(.admin-login-active) .admin-dashboard-shell,
body.admin-mode:not(.admin-login-active) .qas-shell {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    align-items: stretch !important;
}

body.admin-mode:not(.admin-login-active) .admin-sidebar,
body.admin-mode:not(.admin-login-active) .qas-sidebar {
    position: relative !important;
    top: auto !important;
    align-self: stretch !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
}

body.admin-mode:not(.admin-login-active) .admin-dashboard-content,
body.admin-mode:not(.admin-login-active) .qas-main {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

body.admin-mode:not(.admin-login-active) .admin-report-header,
body.admin-mode:not(.admin-login-active) .qas-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 700 !important;
}

@media (max-width: 1100px) {
    body.admin-mode:not(.admin-login-active) #appView:not(.d-none) {
        padding: 0 8px !important;
    }

    body.admin-mode:not(.admin-login-active) .admin-dashboard-shell,
    body.admin-mode:not(.admin-login-active) .qas-shell {
        display: block !important;
    }

    body.admin-mode:not(.admin-login-active) .admin-sidebar {
        position: fixed !important;
        inset: 0 auto 0 0 !important;
        width: min(84vw, 320px) !important;
        height: 100dvh !important;
        overflow-y: auto !important;
    }

    body.admin-mode:not(.admin-login-active) .admin-dashboard-content,
    body.admin-mode:not(.admin-login-active) .qas-main {
        width: 100% !important;
    }
}
/* BRF_LAYOUT_FIXO_V9_END */

/* BRF_TABELA_MODAL_V10_START */
body.admin-mode #adminRecordsView {
    overflow: hidden;
    border: 1px solid #dce6f0 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 28px rgba(9, 45, 79, 0.07) !important;
}

body.admin-mode #adminRecordsView .admin-table-heading {
    margin: -1px -1px 0 !important;
    padding: 18px 20px 16px !important;
    border-bottom: 1px solid #e3ebf3 !important;
    background: linear-gradient(135deg, #f8fbfe 0%, #f1f6fb 100%);
}

body.admin-mode #adminRecordsView .section-title {
    color: #0a345d !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    letter-spacing: -0.015em;
}

body.admin-mode #adminRecordsView .section-desc,
body.admin-mode #adminRecordsView .report-results-count {
    color: #687d92 !important;
}

body.admin-mode #adminRecordsView .report-results-count {
    margin: 0 !important;
    padding: 10px 20px !important;
    border-bottom: 1px solid #edf2f7;
    background: #ffffff;
    font-size: 11px !important;
    font-weight: 650;
}

body.admin-mode #adminRecordsView .admin-responsive-table-wrap {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.admin-mode #adminRecordsView .admin-responsive-table thead th {
    height: 48px !important;
    padding: 13px 16px !important;
    border-bottom: 1px solid #dbe5ee !important;
    color: #456078 !important;
    background: #f5f8fb !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.065em !important;
}

body.admin-mode #adminRecordsView .admin-responsive-table tbody td {
    height: 62px !important;
    padding: 12px 16px !important;
    border-bottom-color: #eaf0f5 !important;
    color: #263b50;
    background: #ffffff;
}

body.admin-mode #adminRecordsView .admin-responsive-table tbody tr:nth-child(even) td {
    background: #fbfdff;
}

body.admin-mode #adminRecordsView .admin-responsive-table tbody tr:hover td {
    background: #eef6fd !important;
}

body.admin-mode #adminRecordsView .admin-responsive-table tbody tr:focus-within td {
    background: #e8f3fc !important;
    box-shadow: inset 3px 0 0 #0871c9;
}

body.admin-mode #adminRecordsView .admin-table-name {
    color: #0b3155 !important;
    font-weight: 750 !important;
}

body.admin-mode #adminRecordsView .admin-table-more,
body.admin-mode #adminRecordsView .btn {
    border-radius: 8px !important;
    font-weight: 700 !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

body.admin-mode #adminRecordsView .admin-table-more:hover,
body.admin-mode #adminRecordsView .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 5px 12px rgba(9, 71, 122, 0.12);
}

body.admin-mode #modalDetalhes {
    padding: 28px !important;
    background: rgba(5, 25, 45, 0.58) !important;
    backdrop-filter: blur(5px);
}

body.admin-mode #modalDetalhes .detalhes-adesao-dialog {
    width: min(920px, 94vw) !important;
    max-width: 920px !important;
    max-height: calc(100dvh - 56px) !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.75) !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 28px 80px rgba(3, 25, 47, 0.28) !important;
}

body.admin-mode #modalDetalhes .admin-modern-modal-header {
    min-height: 76px !important;
    margin: 0 !important;
    padding: 15px 20px 14px 22px !important;
    border-top: 4px solid #c62435 !important;
    border-bottom: 1px solid #dce6ef !important;
    background: linear-gradient(135deg, #ffffff 0%, #f3f8fc 100%) !important;
    box-shadow: 0 4px 14px rgba(9, 45, 79, 0.06) !important;
}

body.admin-mode #modalDetalhes #tituloModalDetalhes {
    color: #0a345d !important;
    font-size: 20px !important;
    font-weight: 850 !important;
    letter-spacing: -0.02em;
}

body.admin-mode #modalDetalhes .btn-close {
    width: 38px !important;
    height: 38px !important;
    border: 1px solid #d6e1eb !important;
    border-radius: 10px !important;
    color: #34516d !important;
    background: #ffffff !important;
    box-shadow: 0 3px 9px rgba(9, 45, 79, 0.07);
    transition: transform 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}

body.admin-mode #modalDetalhes .btn-close:hover {
    color: #a7192b !important;
    background: #fff4f5 !important;
    transform: rotate(4deg);
}

body.admin-mode #modalDetalhes #conteudoDetalhes {
    max-height: calc(100dvh - 160px) !important;
    padding: 18px 24px 26px !important;
    background: #ffffff !important;
    scrollbar-color: #9fb5c9 transparent;
    scrollbar-width: thin;
}

body.admin-mode #modalDetalhes .brf-detail-section-heading {
    margin: 22px 0 0 !important;
    padding: 10px 13px !important;
    border: 1px solid #dce7f0 !important;
    border-left: 4px solid #0b67ad !important;
    border-radius: 9px 9px 0 0 !important;
    background: linear-gradient(90deg, #f1f7fc, #f8fbfd) !important;
}

body.admin-mode #modalDetalhes .brf-detail-grid {
    padding: 3px 12px 5px !important;
    border-color: #e3eaf1 !important;
    background: #ffffff;
}

body.admin-mode #modalDetalhes .brf-detail-row {
    min-height: 48px !important;
    padding: 7px 6px !important;
}

body.admin-mode #modalDetalhes .brf-detail-row:hover {
    background: #f4f9fd !important;
}

@media (max-width: 700px) {
    body.admin-mode #adminRecordsView {
        border-radius: 11px !important;
    }

    body.admin-mode #adminRecordsView .admin-table-heading {
        padding: 15px 14px !important;
    }

    body.admin-mode #modalDetalhes {
        padding: 0 !important;
    }

    body.admin-mode #modalDetalhes .detalhes-adesao-dialog {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        border: 0 !important;
        border-radius: 0 !important;
    }

    body.admin-mode #modalDetalhes .admin-modern-modal-header {
        min-height: 68px !important;
        padding: 11px 13px 10px 16px !important;
    }

    body.admin-mode #modalDetalhes #tituloModalDetalhes {
        font-size: 17px !important;
    }

    body.admin-mode #modalDetalhes #conteudoDetalhes {
        max-height: calc(100dvh - 68px) !important;
        padding: 12px 14px 22px !important;
    }
}
/* BRF_TABELA_MODAL_V10_END */

/* BRF_BOTAO_DETALHES_V11_START */
body.admin-mode #adminRecordsView .admin-table-more,
body.admin-mode #adminRecordsView .admin-mobile-card-footer .btn {
    border-color: #082846 !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #082846 0%, #0d3c65 100%) !important;
    box-shadow: 0 4px 10px rgba(8, 40, 70, 0.18) !important;
}

body.admin-mode #adminRecordsView .admin-table-more:hover,
body.admin-mode #adminRecordsView .admin-table-more:focus-visible,
body.admin-mode #adminRecordsView .admin-mobile-card-footer .btn:hover,
body.admin-mode #adminRecordsView .admin-mobile-card-footer .btn:focus-visible {
    border-color: #0d3c65 !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #0d3c65 0%, #14527f 100%) !important;
    box-shadow: 0 7px 16px rgba(8, 40, 70, 0.25) !important;
}
/* BRF_BOTAO_DETALHES_V11_END */

/* BRF_FILTROS_SUSPENSOS_V12_START */
.admin-filters-toggle { display: none; }

@media (max-width: 1100px) {
    body.admin-mode .admin-filters-toggle {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 48px;
        margin: 0 0 10px;
        padding: 10px 13px;
        border: 1px solid #d7e3ee;
        border-radius: 11px;
        color: #173f65;
        background: linear-gradient(135deg, #ffffff 0%, #f3f8fc 100%);
        box-shadow: 0 4px 12px rgba(8, 40, 70, 0.06);
        font: inherit;
        font-size: 12px;
        font-weight: 800;
        text-align: left;
        cursor: pointer;
    }

    body.admin-mode .admin-filters-toggle-icon {
        display: inline-grid;
        place-items: center;
        width: 30px;
        height: 30px;
        margin-right: 10px;
        border-radius: 8px;
        color: #ffffff;
        background: linear-gradient(135deg, #082846, #0d3c65);
        font-size: 17px;
    }

    body.admin-mode .admin-filters-toggle-chevron {
        margin-left: auto;
        color: #54708a;
        font-size: 20px;
        line-height: 1;
        transition: transform 0.2s ease;
    }

    body.admin-mode .admin-filters-toggle.is-open {
        margin-bottom: 0;
        border-radius: 11px 11px 0 0;
        border-bottom-color: #e8eef4;
        box-shadow: none;
    }

    body.admin-mode .admin-filters-toggle.is-open .admin-filters-toggle-chevron {
        transform: rotate(180deg);
    }

    body.admin-mode #adminReportFilters {
        display: none !important;
        margin: 0 0 12px !important;
        border-top: 0 !important;
        border-radius: 0 0 11px 11px !important;
        box-shadow: 0 8px 18px rgba(8, 40, 70, 0.07) !important;
    }

    body.admin-mode #adminReportFilters.is-open {
        display: grid !important;
        animation: adminFiltersOpen 0.18s ease-out;
    }
}

@keyframes adminFiltersOpen {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    body.admin-mode #adminReportFilters.is-open { animation: none; }
}
/* BRF_FILTROS_SUSPENSOS_V12_END */

/* BRF_CABECALHO_RETRATIL_V13_START */
@media (max-width: 1100px) {
    body.admin-mode:not(.admin-login-active) .admin-report-header {
        transition: transform 0.2s ease, opacity 0.16s ease !important;
        will-change: transform;
    }

    body.admin-mode:not(.admin-login-active) .admin-report-header.is-scroll-hidden {
        opacity: 0;
        pointer-events: none;
        transform: translateY(calc(-100% - 8px));
    }
}

@media (prefers-reduced-motion: reduce) {
    body.admin-mode:not(.admin-login-active) .admin-report-header {
        transition: none !important;
    }
}
/* BRF_CABECALHO_RETRATIL_V13_END */

/* BRF_MODAL_CLICKSIGN_V14_START */
body.admin-mode #modalHistoricoClicksign {
    z-index: 60000 !important;
    align-items: center !important;
    padding: 24px !important;
    background: rgba(5, 25, 45, 0.62) !important;
    backdrop-filter: blur(5px);
}

body.admin-mode #modalHistoricoClicksign .evidencia-clicksign-dialog,
body.admin-mode #modalHistoricoClicksign .evidencia-clicksign-dialog.comercial-tela-cheia {
    width: min(94vw, 920px) !important;
    max-width: 920px !important;
    height: auto !important;
    max-height: calc(100dvh - 48px) !important;
    overflow: auto !important;
    border: 1px solid #d9e4ee !important;
    border-radius: 16px !important;
    background: #f8fafc !important;
    box-shadow: 0 28px 80px rgba(3, 25, 47, 0.3) !important;
}

body.admin-mode #modalHistoricoClicksign .evidencia-acoes {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-height: 58px;
    padding: 9px 14px !important;
}

body.admin-mode #modalHistoricoClicksign .evidencia-acoes > .btn:not(.btn-close) {
    display: inline-flex !important;
}

body.admin-mode #modalHistoricoClicksign .admin-modal-icon-button,
body.admin-mode #modalHistoricoClicksign .admin-inline-actions-menu {
    display: none !important;
}

@media (max-width: 700px) {
    body.admin-mode #modalHistoricoClicksign { padding: 0 !important; }

    body.admin-mode #modalHistoricoClicksign .evidencia-clicksign-dialog,
    body.admin-mode #modalHistoricoClicksign .evidencia-clicksign-dialog.comercial-tela-cheia {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        border: 0 !important;
        border-radius: 0 !important;
    }

    body.admin-mode #modalHistoricoClicksign .evidencia-acoes {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px;
    }
}
/* BRF_MODAL_CLICKSIGN_V14_END */

/* O cabecalho institucional pertence apenas a area autenticada. */
body.admin-mode:has(#loginView:not(.d-none)) .main.admin-wrapper > .header {
    display: none !important;
}

/* ============================================================
   BRF UI - AJUSTES FINAIS 2026-08-28
   ============================================================ */

/* SIDEBAR: menu rola, rodape fica sempre visivel */
.admin-sidebar {
    display: flex !important;
    flex-direction: column !important;
    height: 100vh !important;
    max-height: 100vh !important;
    overflow: hidden !important;
}

.admin-sidebar-nav {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.admin-sidebar-footer {
    flex: 0 0 auto !important;
    margin-top: auto !important;
    position: relative !important;
    z-index: 30 !important;
    background: inherit;
    padding-bottom: 14px !important;
}

/* PERFIL LOGADO NO RODAPE */
.admin-sidebar-footer .admin-profile-badge {
    width: calc(100% - 20px) !important;
    margin: 8px 10px 10px !important;
    justify-content: flex-start !important;
    overflow: hidden;
}

.admin-sidebar-footer .admin-profile-badge span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* SAIR SEMPRE VISIVEL */
.admin-sidebar-footer .admin-sidebar-link {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* cabecalho principal nao deixa perfil antigo criar espaco */
.admin-report-header > .admin-profile-badge.brf-profile-moved {
    display: none !important;
}


/* ============================================================
   MODAL
   ============================================================ */

#modalDetalhes {
    overflow: hidden !important;
}

#modalDetalhes .success-modal-content,
#modalDetalhes .modal-content,
#modalDetalhes .admin-detail-modal {
    position: fixed !important;
    margin: 0 !important;
    max-height: calc(100vh - 32px) !important;
    overflow: hidden !important;
}

/* cabecalho sempre visivel */
#modalDetalhes .success-modal-header,
#modalDetalhes .modal-header,
#modalDetalhes .brf-detail-header {
    cursor: move !important;
    user-select: none !important;
    position: relative !important;
    z-index: 20 !important;
}

/* nome nunca invade botoes */
#modalDetalhes .brf-detail-header > *,
#modalDetalhes .success-modal-header > *,
#modalDetalhes .modal-header > * {
    min-width: 0;
}

#modalDetalhes h2,
#modalDetalhes h3,
#modalDetalhes .brf-detail-title {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* X sempre acima */
#modalDetalhes button[aria-label*="Fechar"],
#modalDetalhes .close,
#modalDetalhes .modal-close,
#modalDetalhes .success-modal-close {
    position: relative !important;
    z-index: 100 !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 auto !important;
}

/* conteudo interno do modal */
#modalDetalhes .success-modal-body,
#modalDetalhes .modal-body,
#modalDetalhes #conteudoDetalhes {
    overflow-y: auto !important;
    max-height: calc(100vh - 125px) !important;
}


/* ============================================================
   ACCORDION DOS BLOCOS
   ============================================================ */

#modalDetalhes .brf-accordion-title {
    position: relative !important;
    cursor: pointer !important;
    padding-right: 44px !important;
    transition: background .15s ease;
}

#modalDetalhes .brf-accordion-title:hover {
    background: #edf5fb !important;
}

#modalDetalhes .brf-accordion-arrow {
    position: absolute;
    right: 16px;
    top: 50%;
    width: 28px;
    height: 28px;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    border-radius: 7px;
    color: #0b5f9f;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
}

#modalDetalhes .brf-accordion-body {
    display: none !important;
}

#modalDetalhes .brf-accordion-body.brf-open {
    display: grid !important;
}


/* ============================================================
   TOAST
   ============================================================ */

#brfToastHost {
    position: fixed;
    top: 18px;
    right: 20px;
    z-index: 999999;
    width: min(420px, calc(100vw - 36px));
    pointer-events: none;
}

.brf-toast {
    pointer-events: auto;
    margin-bottom: 10px;
    padding: 13px 16px;
    border-radius: 10px;
    background: #ffffff;
    border: 1px solid #d6e0e8;
    box-shadow: 0 12px 35px rgba(0,0,0,.16);
    color: #17324d;
    font-size: 13px;
    font-weight: 600;
    animation: brfToastIn .18s ease;
}

.brf-toast-success {
    border-left: 4px solid #20b15a;
}

.brf-toast-error {
    border-left: 4px solid #d92d20;
}

.brf-toast-warning {
    border-left: 4px solid #d99500;
}

@keyframes brfToastIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ============================================================
   MOBILE - RESPIRO NO TOPO
   ============================================================ */

@media (max-width: 768px) {

    .admin-dashboard-content {
        padding-top: calc(12px + env(safe-area-inset-top)) !important;
    }

    .admin-report-header {
        margin-top: calc(6px + env(safe-area-inset-top)) !important;
        padding-top: 8px !important;
    }

    .admin-menu-toggle {
        top: calc(10px + env(safe-area-inset-top)) !important;
    }

}

/* BRF_LAYOUT_SIDEBAR_MOBILE_FIX_20260828_START */

/* ============================================================
   SIDEBAR
   Mantem Perfil / Atualizar / Sair sempre acessiveis
   ============================================================ */

.admin-sidebar {
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;

    display: flex !important;
    flex-direction: column !important;

    overflow: hidden !important;
}

/* area central do menu pode rolar sem empurrar o rodape */
.admin-sidebar-nav,
.admin-sidebar-menu,
.admin-sidebar-links {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

/* rodape nunca deve sumir */
.admin-sidebar-footer {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    flex: 0 0 auto !important;
    flex-shrink: 0 !important;

    margin-top: auto !important;

    position: sticky !important;
    bottom: 0 !important;

    z-index: 50 !important;

    background: inherit;
    padding-bottom: max(8px, env(safe-area-inset-bottom)) !important;
}

/* evita que o perfil comercial aumente a largura do menu */
.admin-sidebar-footer * {
    min-width: 0;
}

.admin-sidebar-footer [class*="profile"],
.admin-sidebar-footer [id*="Profile"],
.admin-sidebar-footer [id*="profile"] {
    max-width: 100% !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}


/* ============================================================
   MENSAGENS / LOGS DO PAINEL
   Nao podem alterar a altura da sidebar
   ============================================================ */

#adminMsg,
#appMsg,
#offlineStatus {
    box-sizing: border-box !important;
}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 768px) {

    /* Avisos do painel nao podem cobrir a navegacao lateral aberta. */
    body.admin-menu-open #adminMsg,
    body.admin-menu-open #appMsg,
    body.admin-menu-open #offlineStatus {
        display: none !important;
    }

    /*
       O cabecalho administrativo nao pode ficar sobre os cards.
    */
    .admin-dashboard-content {
        padding-top: calc(10px + env(safe-area-inset-top)) !important;
    }

    .admin-report-header {
        position: relative !important;

        margin: 0 8px 10px 8px !important;
        padding: 8px 4px !important;

        min-height: auto !important;
        height: auto !important;

        transform: none !important;
    }

    .admin-report-header h1,
    .admin-report-header h2,
    .admin-report-header .admin-report-title {
        margin: 0 !important;

        font-size: 18px !important;
        line-height: 1.15 !important;

        white-space: normal !important;
    }

    /*
       Mensagens verdes/vermelhas viram aviso flutuante compacto.
       Nao empurram dashboard/cards.
    */
    #adminMsg:not(:empty),
    #appMsg:not(:empty),
    #offlineStatus:not(:empty) {
        position: fixed !important;

        top: calc(58px + env(safe-area-inset-top)) !important;
        left: 8px !important;
        right: 8px !important;

        width: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 7px 10px !important;

        z-index: 9990 !important;

        font-size: 11px !important;
        line-height: 1.3 !important;

        border-radius: 8px !important;

        max-height: 54px !important;
        overflow: hidden !important;

        box-shadow: 0 4px 16px rgba(0,0,0,.15) !important;
    }

    /*
       Perfil no celular nao ocupa espaco da tela principal.
    */
    .admin-sidebar-footer [class*="profile"],
    .admin-sidebar-footer [id*="Profile"],
    .admin-sidebar-footer [id*="profile"] {
        font-size: 11px !important;
    }

    /*
       Garante que botoes inferiores continuem acessiveis.
    */
    .admin-sidebar-footer .admin-sidebar-link {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* BRF_LAYOUT_SIDEBAR_MOBILE_FIX_20260828_END */


/* BRF_MOBILE_MENU_CAMADA_FINAL_20260828_START */

/*
   MENU MOBILE
   Sidebar e drawer devem ficar acima do cabecalho,
   dashboard, mensagens e botoes de abertura.
*/
@media (max-width: 1100px) {

    body.admin-mode:not(.admin-login-active)
    .admin-dashboard-shell > .admin-sidebar {
        z-index: 50000 !important;
    }

    body.admin-mode:not(.admin-login-active)
    .admin-dashboard-shell > .admin-sidebar-overlay {
        z-index: 49990 !important;
    }

    body.admin-mode:not(.admin-login-active)
    .admin-report-header {
        z-index: 1 !important;
    }

    body.admin-mode:not(.admin-login-active)
    .qas-header {
        z-index: 1 !important;
    }

    .qas-mobile-drawer {
        z-index: 50000 !important;
    }

    .qas-mobile-overlay {
        z-index: 49990 !important;
    }

    /*
       Quando qualquer menu estiver aberto,
       o hamburger nao deve permanecer por cima.
       O X correto fica dentro da propria sidebar.
    */
    body.admin-menu-open #adminMenuToggle,
    body.admin-menu-open .qas-mobile-menu-toggle {
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    /*
       X interno sempre acessivel.
    */
    .admin-sidebar-close,
    .qas-mobile-drawer-close {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}

/* BRF_MOBILE_MENU_CAMADA_FINAL_20260828_END */


/* BRF_MOBILE_TABLET_CAMADA_20260828_START */

/* ==========================================================
   MOBILE + TABLET
   Somente layout. Nao altera dados nem regras do sistema.
   ========================================================== */

@media (max-width: 1100px) {

  body.admin-mode:not(.admin-login-active)
  .admin-dashboard-content {
    padding:
      12px
      clamp(10px, 2.4vw, 22px)
      28px !important;

    min-width: 0 !important;
    overflow-x: hidden !important;
  }


  /* CABECALHO */

  body.admin-mode:not(.admin-login-active)
  .admin-report-header {
    display: grid !important;

    grid-template-columns:
      46px
      minmax(0, 1fr) !important;

    align-items: center !important;
    gap: 10px !important;

    min-height: 62px !important;

    padding: 8px 0 10px !important;
    margin: 0 0 10px !important;

    background: #f7f9fc !important;
  }

  body.admin-mode:not(.admin-login-active)
  .admin-menu-toggle {
    position: static !important;

    width: 44px !important;
    height: 44px !important;

    margin: 0 !important;

    border-radius: 11px !important;
  }

  body.admin-mode:not(.admin-login-active)
  .admin-report-title {
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body.admin-mode:not(.admin-login-active)
  .admin-report-title h1 {
    margin: 0 !important;

    font-size:
      clamp(17px, 2.8vw, 22px) !important;

    line-height: 1.12 !important;
  }

  body.admin-mode:not(.admin-login-active)
  .admin-report-title p {
    margin-top: 4px !important;

    font-size:
      clamp(10px, 1.8vw, 12px) !important;

    line-height: 1.3 !important;
  }

  body.admin-mode:not(.admin-login-active)
  .admin-profile-badge {
    display: none !important;
  }


  /* ========================================================
     KPIs
     ======================================================== */

  body.admin-mode
  .dashboard-cards {
    display: grid !important;

    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    gap: 10px !important;

    margin-bottom: 12px !important;
  }

  body.admin-mode
  .dashboard-card {
    position: relative !important;

    min-width: 0 !important;
    min-height: 112px !important;

    padding: 16px !important;

    border:
      1px solid #dde6f0 !important;

    border-radius:
      14px !important;

    background:
      #ffffff !important;

    box-shadow:
      0 4px 14px
      rgba(15, 48, 87, .06) !important;

    overflow: hidden !important;
  }

  body.admin-mode
  .dashboard-card:nth-child(1) {
    border-left:
      4px solid #1677ff !important;
  }

  body.admin-mode
  .dashboard-card:nth-child(2) {
    border-left:
      4px solid #ff9f1a !important;
  }

  body.admin-mode
  .dashboard-card:nth-child(3) {
    border-left:
      4px solid #16a764 !important;
  }

  body.admin-mode
  .dashboard-card:nth-child(4) {
    border-left:
      4px solid #805ad5 !important;
  }

  body.admin-mode
  .dashboard-card:nth-child(5) {
    border-left:
      4px solid #1397a5 !important;

    grid-column:
      1 / -1 !important;
  }

  body.admin-mode
  .dashboard-card-label {
    font-size: 10px !important;

    letter-spacing:
      .045em !important;

    text-transform:
      uppercase !important;
  }

  body.admin-mode
  .dashboard-card-value {
    margin-top: 7px !important;

    font-size:
      clamp(28px, 6vw, 38px) !important;

    line-height: 1 !important;
  }

  body.admin-mode
  .dashboard-card-detail {
    margin-top: 7px !important;

    font-size:
      10px !important;

    line-height: 1.35 !important;
  }


  /* ========================================================
     ATIVIDADE + OPERACAO
     ======================================================== */

  body.admin-mode
  .dashboard-overview {
    display: grid !important;
    grid-template-columns: 1fr !important;

    gap: 12px !important;
  }

  body.admin-mode
  .dashboard-overview-card {
    min-width: 0 !important;

    padding: 13px !important;

    border-radius:
      14px !important;

    border:
      1px solid #dde6f0 !important;

    box-shadow:
      0 4px 14px
      rgba(15, 48, 87, .05) !important;
  }

  body.admin-mode
  .dashboard-overview-header {
    gap: 10px !important;
  }

  body.admin-mode
  .dashboard-overview-title {
    font-size: 13px !important;
  }

  body.admin-mode
  .dashboard-overview-desc {
    font-size: 9px !important;
  }

  body.admin-mode
  .dashboard-overview-link {
    min-height: 34px !important;

    padding:
      7px 10px !important;

    border-radius:
      9px !important;
  }


  /* ========================================================
     ACOES RAPIDAS
     ======================================================== */

  body.admin-mode
  .dashboard-quick-actions {
    margin-top: 12px !important;

    padding: 13px !important;

    border-radius:
      14px !important;
  }

  body.admin-mode
  .dashboard-quick-actions-buttons {
    display: grid !important;

    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    gap: 8px !important;
  }

  body.admin-mode
  .dashboard-quick-actions-buttons button {
    width: 100% !important;
    min-width: 0 !important;

    min-height:
      44px !important;

    border-radius:
      10px !important;

    font-size:
      11px !important;
  }


  /* Evita qualquer estouro horizontal */

  body.admin-mode
  .admin-dashboard-content,
  body.admin-mode
  .dashboard-cards,
  body.admin-mode
  .dashboard-overview,
  body.admin-mode
  .dashboard-quick-actions {
    max-width: 100% !important;
  }

}


/* ==========================================================
   MODAL HISTORICO DE DUVIDAS
   ========================================================== */

body.admin-mode
#modalHistoricoContatos {
  padding: 20px !important;

  background:
    rgba(7, 25, 46, .56) !important;

  backdrop-filter:
    blur(7px) !important;
}

body.admin-mode
#modalHistoricoContatos
> .success-dialog {
  width:
    min(960px, 96vw) !important;

  max-width:
    960px !important;

  max-height:
    min(86vh, 760px) !important;

  padding:
    22px !important;

  border:
    1px solid #dce5ef !important;

  border-top:
    4px solid #159447 !important;

  border-radius:
    18px !important;

  background:
    #ffffff !important;

  box-shadow:
    0 24px 60px
    rgba(3, 24, 48, .24) !important;
}

body.admin-mode
#modalHistoricoContatos h2 {
  color:
    #073263 !important;

  font-size:
    20px !important;

  font-weight:
    800 !important;
}

.contatos-historico-topo {
  display: flex;

  align-items:
    center;

  justify-content:
    space-between;

  margin-bottom:
    14px;

  padding:
    11px 13px;

  border:
    1px solid #e4ebf2;

  border-radius:
    11px;

  background:
    #f7faff;
}

.contatos-historico-topo > div {
  display:
    flex;

  flex-direction:
    column;

  gap:
    2px;
}

.contatos-historico-topo strong {
  color:
    #073263;

  font-size:
    13px;
}

.contatos-historico-topo span {
  color:
    #718096;

  font-size:
    10px;
}


.contatos-table-wrap {
  border:
    1px solid #dfe7ef;

  border-radius:
    13px;

  background:
    #ffffff;

  overflow:
    auto;
}

.contatos-table {
  width:
    100%;

  margin:
    0 !important;

  border-collapse:
    separate !important;

  border-spacing:
    0 !important;
}

.contatos-table thead th {
  position:
    sticky;

  top:
    0;

  z-index:
    3;

  padding:
    11px 12px !important;

  border-bottom:
    1px solid #d8e4f0 !important;

  background:
    #eef5fc !important;

  color:
    #073263 !important;

  font-size:
    10px !important;

  font-weight:
    800 !important;

  text-transform:
    uppercase;

  letter-spacing:
    .035em;
}

.contato-historico-row {
  cursor:
    pointer;

  transition:
    background .15s ease,
    box-shadow .15s ease;
}

.contato-historico-row td {
  padding:
    12px !important;

  vertical-align:
    middle !important;

  border-bottom:
    1px solid #edf1f5 !important;

  color:
    #26394d !important;

  font-size:
    11px !important;
}

.contato-historico-row:last-child td {
  border-bottom:
    0 !important;
}

.contato-historico-row:hover,
.contato-historico-row:focus {
  outline:
    none;

  background:
    #f3f8ff !important;
}

.contato-historico-row:focus {
  box-shadow:
    inset 0 0 0 2px #1677ff;
}

.contato-col-nome {
  color:
    #073263 !important;
}

.contato-row-chevron {
  display:
    none;
}

.contato-status {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  min-height:
    25px;

  padding:
    4px 9px;

  border-radius:
    999px;

  font-size:
    9px;

  font-weight:
    800;
}

.contato-status.is-new {
  color:
    #075985;

  background:
    #e7f6ff;
}

.contato-status.is-warning {
  color:
    #9a5800;

  background:
    #fff4d6;
}

.contato-status.is-success {
  color:
    #08763d;

  background:
    #e4f8ed;
}


/* ==========================================================
   DETALHE DA DUVIDA
   ========================================================== */

body.admin-mode
#modalDetalheContatoInteresse {
  padding:
    20px !important;

  background:
    rgba(7, 25, 46, .62) !important;

  backdrop-filter:
    blur(8px) !important;
}

.contato-detalhe-dialog {
  width:
    min(680px, 94vw) !important;

  max-width:
    680px !important;

  padding:
    0 !important;

  overflow:
    hidden !important;

  border:
    1px solid #dce5ef !important;

  border-radius:
    19px !important;

  background:
    #ffffff !important;

  box-shadow:
    0 24px 64px
    rgba(3, 24, 48, .28) !important;
}

.contato-detalhe-header {
  display:
    flex;

  align-items:
    flex-start;

  justify-content:
    space-between;

  gap:
    16px;

  padding:
    20px 22px 17px;

  border-bottom:
    1px solid #e8edf3;

  background:
    linear-gradient(
      180deg,
      #f8fbff 0%,
      #ffffff 100%
    );
}

.contato-detalhe-kicker {
  display:
    block;

  margin-bottom:
    4px;

  color:
    #1677ff;

  font-size:
    9px;

  font-weight:
    800;

  text-transform:
    uppercase;

  letter-spacing:
    .08em;
}

.contato-detalhe-header h2 {
  margin:
    0 !important;

  color:
    #073263;

  font-size:
    20px;

  font-weight:
    800;
}

.contato-detalhe-header p {
  margin:
    4px 0 0;

  color:
    #718096;

  font-size:
    11px;
}

.contato-modal-close {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  flex:
    0 0 auto;

  width:
    40px;

  height:
    40px;

  border:
    0;

  border-radius:
    10px;

  background:
    #edf2f7;

  color:
    #526578;

  font-size:
    25px;

  line-height:
    1;

  cursor:
    pointer;
}

#conteudoDetalheContatoInteresse {
  padding:
    20px 22px 22px;
}

.contato-detalhe-identidade {
  display:
    grid;

  grid-template-columns:
    48px minmax(0, 1fr) auto;

  align-items:
    center;

  gap:
    12px;

  margin-bottom:
    18px;
}

.contato-avatar {
  display:
    flex;

  align-items:
    center;

  justify-content:
    center;

  width:
    48px;

  height:
    48px;

  border-radius:
    14px;

  background:
    #e8f2ff;

  color:
    #0868d7;

  font-size:
    20px;

  font-weight:
    800;
}

.contato-detalhe-identidade > div:nth-child(2) {
  display:
    flex;

  flex-direction:
    column;

  min-width:
    0;

  gap:
    3px;
}

.contato-detalhe-identidade strong {
  overflow-wrap:
    anywhere;

  color:
    #073263;

  font-size:
    14px;
}

.contato-detalhe-identidade span {
  color:
    #718096;

  font-size:
    10px;
}

.contato-detalhe-grid {
  display:
    grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap:
    10px;

  margin-bottom:
    14px;
}

.contato-detalhe-campo {
  display:
    flex;

  flex-direction:
    column;

  min-width:
    0;

  gap:
    5px;

  padding:
    12px;

  border:
    1px solid #e2e9f0;

  border-radius:
    11px;

  background:
    #f9fbfd;
}

.contato-detalhe-email {
  grid-column:
    1 / -1;
}

.contato-detalhe-campo span {
  color:
    #7b8b9c;

  font-size:
    9px;

  font-weight:
    700;

  text-transform:
    uppercase;
}

.contato-detalhe-campo strong {
  overflow-wrap:
    anywhere;

  color:
    #17324d;

  font-size:
    12px;
}

.contato-mensagem-card {
  padding:
    16px;

  border:
    1px solid #dce7f2;

  border-radius:
    13px;

  background:
    #f7faff;
}

.contato-mensagem-titulo {
  display:
    flex;

  align-items:
    center;

  gap:
    8px;

  margin-bottom:
    11px;

  color:
    #073263;
}

.contato-mensagem-icon {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  width:
    27px;

  height:
    27px;

  border-radius:
    8px;

  background:
    #e3efff;

  color:
    #0868d7;

  font-weight:
    900;
}

.contato-mensagem-card p {
  margin:
    0;

  color:
    #334b63;

  font-size:
    13px;

  line-height:
    1.6;

  overflow-wrap:
    anywhere;
}

.contato-mensagem-vazia {
  color:
    #8291a1;

  font-size:
    12px;

  font-style:
    italic;
}


/* ==========================================================
   LOADING / VAZIO
   ========================================================== */

.contatos-loading,
.contatos-empty {
  display:
    flex;

  align-items:
    center;

  justify-content:
    center;

  flex-direction:
    column;

  min-height:
    180px;

  gap:
    10px;

  color:
    #718096;

  text-align:
    center;
}

.contatos-loading-dot {
  width:
    26px;

  height:
    26px;

  border:
    3px solid #d9e7f5;

  border-top-color:
    #1677ff;

  border-radius:
    50%;

  animation:
    contatosSpin .8s linear infinite;
}

@keyframes contatosSpin {
  to {
    transform:
      rotate(360deg);
  }
}


/* ==========================================================
   CELULAR
   ========================================================== */

@media (max-width: 640px) {

  body.admin-mode
  .dashboard-cards {
    gap:
      8px !important;
  }

  body.admin-mode
  .dashboard-card {
    min-height:
      104px !important;

    padding:
      13px !important;
  }


  /* Modal ocupa praticamente toda largura */

  body.admin-mode
  #modalHistoricoContatos,
  body.admin-mode
  #modalDetalheContatoInteresse {
    align-items:
      flex-end !important;

    padding:
      8px !important;
  }

  body.admin-mode
  #modalHistoricoContatos
  > .success-dialog,
  .contato-detalhe-dialog {
    width:
      100% !important;

    max-width:
      100% !important;

    max-height:
      calc(100dvh - 16px) !important;

    border-radius:
      19px !important;
  }

  body.admin-mode
  #modalHistoricoContatos
  > .success-dialog {
    padding:
      17px 14px !important;
  }


  /* Tabela vira lista de cards.
     Mesmo HTML e mesmos dados. */

  .contatos-table-wrap {
    border:
      0;

    overflow:
      visible !important;

    background:
      transparent;
  }

  .contatos-table,
  .contatos-table tbody {
    display:
      block;

    width:
      100%;
  }

  .contatos-table thead {
    display:
      none;
  }

  .contato-historico-row {
    display:
      grid;

    width:
      100%;

    grid-template-columns:
      1fr auto;

    gap:
      0 12px;

    margin-bottom:
      9px;

    padding:
      13px;

    border:
      1px solid #dfe7ef;

    border-radius:
      13px;

    background:
      #ffffff;

    box-shadow:
      0 3px 11px
      rgba(15, 48, 87, .05);
  }

  .contato-historico-row td {
    display:
      flex;

    align-items:
      center;

    justify-content:
      space-between;

    grid-column:
      1 / -1;

    width:
      100%;

    padding:
      6px 0 !important;

    gap:
      12px;

    border:
      0 !important;

    text-align:
      right;
  }

  .contato-historico-row td::before {
    content:
      attr(data-label);

    flex:
      0 0 auto;

    color:
      #8190a0;

    font-size:
      9px;

    font-weight:
      750;

    text-transform:
      uppercase;

    text-align:
      left;
  }

  .contato-historico-row
  .contato-col-nome {
    justify-content:
      flex-start;

    padding-top:
      0 !important;

    padding-bottom:
      10px !important;

    border-bottom:
      1px solid #edf1f5 !important;

    text-align:
      left;

    font-size:
      13px !important;
  }

  .contato-historico-row
  .contato-col-nome::before {
    display:
      none;
  }

  .contato-row-chevron {
    display:
      inline-flex;

    margin-left:
      auto;

    color:
      #0868d7;

    font-size:
      22px;

    font-weight:
      500;
  }

  .contato-acoes {
    justify-content:
      flex-end !important;

    padding-top:
      9px !important;
  }

  .contato-acoes::before {
    display:
      none;
  }

  .contato-apagar-btn {
    min-height:
      36px;

    border-radius:
      9px !important;
  }


  /* Detalhe */

  .contato-detalhe-header {
    padding:
      17px;
  }

  #conteudoDetalheContatoInteresse {
    padding:
      16px 17px 19px;
  }

  .contato-detalhe-identidade {
    grid-template-columns:
      44px minmax(0, 1fr);

    gap:
      10px;
  }

  .contato-detalhe-identidade
  > .contato-status {
    grid-column:
      2;

    justify-self:
      flex-start;
  }

  .contato-avatar {
    width:
      44px;

    height:
      44px;
  }

  .contato-detalhe-grid {
    grid-template-columns:
      1fr;
  }

  .contato-detalhe-email {
    grid-column:
      auto;
  }
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (min-width: 641px) and (max-width: 1100px) {

  body.admin-mode
  .dashboard-cards {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
  }

  body.admin-mode
  .dashboard-card:nth-child(5) {
    grid-column:
      1 / -1 !important;
  }

  body.admin-mode
  #modalHistoricoContatos
  > .success-dialog {
    width:
      min(94vw, 900px) !important;
  }
}


/* BRF_MOBILE_TABLET_CAMADA_20260828_END */


/* BRF_ICONES_PLANOS_CSS_20260828 */

.recent-activity-plan {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.admin-plan-mini-icon {
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px !important;
    object-fit: cover !important;
    border-radius: 7px !important;
    box-shadow: 0 2px 6px rgba(7,50,99,.16);
}

.assinatura-suspensa-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #fff2cc;
    color: #855a00;
    font-size: 9px;
    font-weight: 800;
}

input[name="assinatura_metodo"][value="TELA"]:disabled {
    cursor: not-allowed !important;
}

@media (max-width: 1100px) {
    .admin-plan-mini-icon {
        width: 28px !important;
        height: 28px !important;
        flex-basis: 28px !important;
    }
}


/* BRF_APP_ICONS_20260829_START */

/* Miniatura visual do plano nas linhas */
.recent-activity-plan {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
}

.admin-plan-mini-icon {
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 6px rgba(7, 50, 99, .16);
}

/* Assinatura na tela temporariamente suspensa */
.assinatura-opcao input:disabled {
    cursor: not-allowed !important;
}

.assinatura-opcao input:disabled + span {
    opacity: .58 !important;
}

.assinatura-suspensa-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #fff3cd;
    color: #8a5900;
    font-size: 9px;
    font-weight: 800;
    white-space: nowrap;
}

@media (max-width: 1100px) {
    .admin-plan-mini-icon {
        width: 32px !important;
        height: 32px !important;
        flex-basis: 32px !important;
        border-radius: 9px !important;
    }
}

/* BRF_APP_ICONS_20260829_END */
