/* ===== Tema Moderno (Midnight Gradient) ===== */
:root{
  --bg-0:#070A12;
  --bg-1:#0B1020;
  --bg-2:#0E1630;

  --card-a:rgba(255,255,255,.06);
  --card-b:rgba(255,255,255,.03);
  --border:rgba(255,255,255,.10);

  --text:#E5E7EB;
  --muted:#A7B0BE;

  --primary-1:#8B5CF6;
  --primary-2:#EC4899;

  --success-1:#22C55E;
  --success-2:#14B8A6;

  --danger-1:#EF4444;
  --danger-2:#F97316;

  --warning-1:#F59E0B;
  --warning-2:#FDE047;

  --info-1:#06B6D4;
  --info-2:#3B82F6;

  --shadow: 0 14px 40px rgba(0,0,0,.35);
  --shadow-soft: 0 10px 24px rgba(0,0,0,.25);
}

body{
  min-height:100vh;
  background:
    radial-gradient(900px circle at 10% 10%, rgba(139,92,246,.28), transparent 55%),
    radial-gradient(900px circle at 90% 20%, rgba(236,72,153,.22), transparent 55%),
    radial-gradient(900px circle at 70% 90%, rgba(6,182,212,.18), transparent 55%),
    linear-gradient(180deg, var(--bg-0) 0%, var(--bg-1) 45%, var(--bg-2) 100%);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  color: var(--text);
}

a{ color: inherit; }
.text-muted{ color: var(--muted) !important; }

.card{
  background: linear-gradient(180deg, var(--card-a), var(--card-b));
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: var(--shadow-soft);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  backdrop-filter: blur(10px);
}

.card:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow);
  border-color: rgba(255,255,255,.16);
}

.btn-primary{
  border: none;
  background: linear-gradient(135deg, var(--primary-1), var(--primary-2));
  box-shadow: 0 10px 22px rgba(236,72,153,.18);
}

.btn-primary:hover{
  filter: brightness(1.03);
  box-shadow: 0 14px 28px rgba(236,72,153,.22);
}

.btn-outline-primary{
  border-color: rgba(139,92,246,.55);
  color: var(--text);
}

.btn-outline-primary:hover{
  background: rgba(139,92,246,.16);
  border-color: rgba(139,92,246,.70);
  color: var(--text);
}

.btn-outline-secondary{
  border-color: rgba(255,255,255,.18);
  color: var(--text);
}

.btn-outline-secondary:hover{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.24);
  color: var(--text);
}

.btn-outline-danger{
  border-color: rgba(239,68,68,.55);
  color: var(--text);
}

.btn-outline-danger:hover{
  background: rgba(239,68,68,.15);
  border-color: rgba(239,68,68,.75);
  color: var(--text);
}

hr{ border-color: rgba(255,255,255,.10); opacity: 1; }

/* Badges (degradês) */
.badge.bg-primary   { background: linear-gradient(135deg, var(--primary-1), var(--primary-2)) !important; }
.badge.bg-success   { background: linear-gradient(135deg, var(--success-1), var(--success-2)) !important; }
.badge.bg-warning   { background: linear-gradient(135deg, var(--warning-1), var(--warning-2)) !important; color:#111827 !important; }
.badge.bg-danger    { background: linear-gradient(135deg, var(--danger-1), var(--danger-2)) !important; }
.badge.bg-info      { background: linear-gradient(135deg, var(--info-1), var(--info-2)) !important; }
.badge.bg-secondary { background: rgba(255,255,255,.14) !important; border: 1px solid rgba(255,255,255,.14); }
.badge.bg-dark      { background: rgba(255,255,255,.10) !important; border: 1px solid rgba(255,255,255,.12); }

/* Inputs */
.form-control,
.form-select{
  background: rgba(17,24,39,.55);
  border: 1px solid rgba(255,255,255,.14);
  color: var(--text);
  border-radius: 10px;
}

.form-control::placeholder{
  color: rgba(229,231,235,.55);
}

#filterContent .form-select.select-placeholder{
  color: rgba(229,231,235,.55);
}

#filterContent .form-select.select-placeholder:focus{
  color: rgba(229,231,235,.55);
}

#filterContent .form-select option{
  color: var(--text);
}

.form-control:focus,
.form-select:focus{
  border-color: rgba(236,72,153,.55);
  box-shadow: 0 0 0 .18rem rgba(236,72,153,.15);
  /* evita ficar branco no foco (bootstrap default) */
  background: rgba(17,24,39,.65);
  color: var(--text);
}

.form-control:disabled,
.form-control[readonly],
.form-select:disabled{
  background: rgba(17,24,39,.82) !important;
  border-color: rgba(255,255,255,.18) !important;
  color: rgba(229,231,235,.78) !important;
  -webkit-text-fill-color: rgba(229,231,235,.78);
  opacity: 1;
  cursor: not-allowed;
}

.modal-content{
  /* sem transparência (mais sólido/premium) */
  background: linear-gradient(180deg, #0B1222 0%, #070C18 100%);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  color: var(--text);
  box-shadow: var(--shadow);
}

.typeahead{
  background: rgba(10,16,32,.98);
  border: 1px solid rgba(255,255,255,.12);
  border-top: none;
  box-shadow: var(--shadow-soft);
  max-height: 200px;
  overflow-y: auto;
  border-radius: 0 0 14px 14px;
}

.typeahead-item{
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.typeahead-item:hover,
.typeahead-item.active{
  background: rgba(255,255,255,.06);
}

#summaryBox,
#filterBox,
#sortBox{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  box-shadow: var(--shadow-soft);
  padding: 16px;
}

.summary-title{
  font-size: 1.05rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
}

.summary-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 10px;
}

#statsContainer{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.stats-col{
  height: 100%;
}

.stats-lines{
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,.28);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.stats-line{
  font-size: 13px;
  line-height: 1.25;
}

.stats-line-break{
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px solid rgba(255,255,255,.22);
}

.stats-line strong{
  font-weight: 800;
}

.stats-line span{
  color: var(--muted);
}

@media (max-width: 992px){
  #statsContainer{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 576px){
  #statsContainer{
    grid-template-columns: 1fr;
  }
}

.summary-item{
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(255,255,255,.04);
}

.summary-item-head{
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.2;
}

.summary-item-value{
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  margin-top: 6px;
}

.summary-item-sub{
  margin-top: 4px;
  font-size: 12px;
  color: var(--muted);
}

#summaryBox.summary-collapsed #summaryContent{
  display: none;
}

#filterBox.filter-collapsed #filterContent{
  display: none;
}

#sortBox.sort-collapsed #sortContent{
  display: none;
}

.list-top-totals{
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px;
  background: rgba(255,255,255,.04);
  padding: 8px 12px;
  color: var(--text);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
}

.sort-toolbar{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.sort-chip{
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.04);
  color: var(--text);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.sort-chip:hover{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.24);
}

.sort-chip.is-active{
  border-color: rgba(236,72,153,.48);
  background: rgba(236,72,153,.12);
  box-shadow: 0 8px 18px rgba(236,72,153,.14);
}

#summaryBox.summary-collapsed,
#filterBox.filter-collapsed,
#sortBox.sort-collapsed{
  padding-top: 10px;
  padding-bottom: 10px;
}

#summaryBox.summary-collapsed .summary-head,
#filterBox.filter-collapsed .summary-head,
#sortBox.sort-collapsed .summary-head{
  margin-bottom: 0 !important;
}

/* Cards do topo (estatísticas) mais elegantes */
.stat-card{
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  padding: 18px 18px 16px;
  min-height: 110px;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: var(--shadow-soft);
  transition: transform .18s ease, box-shadow .18s ease;
}
.stat-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow);
}
.stat-card::before{
  content:'';
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(600px circle at 20% 0%, rgba(255,255,255,.16), transparent 50%),
    radial-gradient(700px circle at 90% 90%, rgba(0,0,0,.30), transparent 55%);
  pointer-events:none;
}
.stat-card .stat-icon{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 10px 22px rgba(0,0,0,.20);
  margin: 0 auto 8px;
}
.stat-card .stat-number{
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.02em;
  text-shadow: 0 8px 18px rgba(0,0,0,.30);
}
.stat-card .stat-label{
  font-size: 13px;
  opacity: .88;
}
.stat-card .stat-sub{
  margin-top: 2px;
  font-size: 12px;
  opacity: .85;
  font-weight: 700;
}
.stat-total{ background: linear-gradient(135deg, rgba(236,72,153,.60), rgba(139,92,246,.50)); }
.stat-fisico{ background: linear-gradient(135deg, rgba(100,116,139,.45), rgba(148,163,184,.35)); }
.stat-virtual{ background: linear-gradient(135deg, rgba(99,102,241,.55), rgba(236,72,153,.40)); }
.stat-convite{ background: linear-gradient(135deg, rgba(20,184,166,.45), rgba(6,182,212,.45)); }
.stat-cerimonia{ background: linear-gradient(135deg, rgba(59,130,246,.45), rgba(139,92,246,.45)); }
.stat-restaurante{ background: linear-gradient(135deg, rgba(245,158,11,.40), rgba(249,115,22,.45)); }

/* Botão close branco no modal (Bootstrap) */
.modal .btn-close{ filter: invert(1) grayscale(1); opacity: .85; }
.modal .btn-close:hover{ opacity: 1; }

.title-color-gold{
  background: #ECC440;
  background: linear-gradient(to top left, #ECC440 0%, #FFFA8A 9%, #DDAC17 68%, #FFFF95 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.text-gold{
  color: #DDAC17;
}


.fade-in {
  animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ===== DataTable-like cards ===== */
.dt-cards {
  width: 100%;
}

#guestList{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

@media (max-width: 1770px) {
  #guestList{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1200px) {
  #guestList{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.dt-header-card {
  position: sticky;
  top: 0;
  z-index: 5;
  margin-bottom: 10px;
}

.dt-header {
  padding: 12px 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border-radius: 16px;
  box-shadow: var(--shadow-soft);
  font-weight: 700;
  color: var(--text);
}

.dt-row-card {
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border-radius: 16px;
  box-shadow: var(--shadow-soft);
  margin-bottom: 0;
  padding: 10px 14px;
  border-left: 4px solid rgba(236,72,153,.38);
  border: 1px solid rgba(255,255,255,.10);
  height: 100%;
}

.dt-grid {
  display: grid;
  gap: 10px;
  align-items: start;
  grid-template-columns:
    minmax(220px, 1.5fr) /* Nome */
    minmax(130px, 1fr)   /* WhatsApp */
    58px                 /* Tipo */
    minmax(130px, 1fr)   /* Relacionamento */
    56px                 /* Qtd */
    minmax(120px, .95fr) /* Convite */
    minmax(120px, .95fr) /* Cerimônia */
    minmax(135px, 1fr)   /* Restaurante */
    112px;               /* Ações */
}

.dt-th {
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}

.dt-th:last-child {
  cursor: default;
}

.dt-td {
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.dt-td small {
  display: block;
  opacity: .75;
  margin-top: 2px;
  font-size: 11px;
}

.dt-actions .btn {
  border-radius: 10px;
}

.dt-actions {
  white-space: nowrap;
}

.dt-td-tipo{
  overflow: visible;
}

.col-adultos,
.col-criancas,
.col-lembranca,
.col-metrics-divider,
.col-notes,
.col-history-actions{
  display: none;
}

.dt-mini-label{
  display: block;
  color: var(--muted);
  font-size: 10px;
  line-height: 1;
}

.status-block{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}

.status-kind{
  color: var(--muted);
  font-size: 10px;
  line-height: 1;
  font-weight: 700;
}

.status-date{
  color: var(--muted);
  font-size: 11px;
  line-height: 1.1;
  margin-top: 1px;
}

.col-rel .dt-mini-label,
.col-total .dt-mini-label{
  display: none;
}

.tipo-inline{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--text);
  font-weight: 700;
  line-height: 1;
}

.tipo-inline i{
  font-size: 17px;
}

.tipo-inline-text{
  display: none;
}

@media (max-width: 1200px) {
  .dt-grid {
    grid-template-columns:
      minmax(200px, 1.4fr)
      minmax(120px, .95fr)
      54px
      minmax(120px, .9fr)
      52px
      minmax(112px, .9fr)
      minmax(112px, .9fr)
      minmax(124px, .95fr)
      104px;
  }
}

@media (min-width: 0px) {
  .dt-header-card {
    display: none;
  }

  .dt-row-card {
    padding: 14px;
  }

  .dt-grid.dt-desktop{
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-areas:
      "name name name convite cerimonia rest"
      "divider divider divider divider divider divider"
      "tipo rel lembranca adultos criancas total"
      "history history history history history history";
    gap: 8px 10px;
    align-items: start;
  }

  .dt-grid.dt-desktop .col-name{ grid-area: name; }
  .dt-grid.dt-desktop .col-metrics-divider{ grid-area: divider; }
  .dt-grid.dt-desktop .col-convite{ grid-area: convite; }
  .dt-grid.dt-desktop .col-cerimonia{ grid-area: cerimonia; }
  .dt-grid.dt-desktop .col-rest{ grid-area: rest; }
  .dt-grid.dt-desktop .col-actions{ grid-area: actions; }
  .dt-grid.dt-desktop .col-tipo{ grid-area: tipo; }
  .dt-grid.dt-desktop .col-rel{ grid-area: rel; }
  .dt-grid.dt-desktop .col-adultos{ grid-area: adultos; }
  .dt-grid.dt-desktop .col-criancas{ grid-area: criancas; }
  .dt-grid.dt-desktop .col-total{ grid-area: total; }
  .dt-grid.dt-desktop .col-lembranca{ grid-area: lembranca; }
  .dt-grid.dt-desktop .col-history-actions{ grid-area: history; }

  .dt-grid.dt-desktop .col-convite,
  .dt-grid.dt-desktop .col-cerimonia,
  .dt-grid.dt-desktop .col-rest,
  .dt-grid.dt-desktop .col-metrics-divider,
  .dt-grid.dt-desktop .col-rel,
  .dt-grid.dt-desktop .col-adultos,
  .dt-grid.dt-desktop .col-criancas,
  .dt-grid.dt-desktop .col-lembranca,
  .dt-grid.dt-desktop .col-history-actions{
    display: block;
  }

  .dt-grid.dt-desktop .col-name .dt-whatsapp-inline{
    margin-top: 4px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .dt-grid.dt-desktop .col-name .dt-whatsapp-inline a{
    color: var(--muted);
  }

  .dt-grid.dt-desktop .col-convite .status-block,
  .dt-grid.dt-desktop .col-cerimonia .status-block,
  .dt-grid.dt-desktop .col-rest .status-block{
    align-items: center;
    text-align: center;
    margin-left: auto;
  }

  .dt-grid.dt-desktop .col-actions{
    display: none;
  }

  .dt-grid.dt-desktop .col-metrics-divider{
    border-top: 1px solid rgba(255,255,255,.12);
    min-height: 0;
    height: 0;
    margin-top: 2px;
    padding: 0;
  }

  .dt-grid.dt-desktop .col-tipo,
  .dt-grid.dt-desktop .col-rel,
  .dt-grid.dt-desktop .col-adultos,
  .dt-grid.dt-desktop .col-criancas,
  .dt-grid.dt-desktop .col-total,
  .dt-grid.dt-desktop .col-lembranca{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    padding: 6px 4px;
    text-align: center;
    min-height: 56px;
  }

  .dt-grid.dt-desktop .col-lembranca{
    border-color: rgba(245,158,11,.45);
  }

  .dt-grid.dt-desktop .col-total{
    border-color: rgba(59,130,246,.45);
  }

  .dt-grid.dt-desktop .col-rel .dt-mini-label,
  .dt-grid.dt-desktop .col-total .dt-mini-label{
    display: block;
  }

  .dt-grid.dt-desktop .col-tipo{
    justify-content: center;
  }

  .dt-grid.dt-desktop .col-tipo .tipo-inline{
    gap: 8px;
    font-weight: 700;
  }

  .dt-grid.dt-desktop .col-tipo .tipo-inline-text{
    display: inline;
  }

  .dt-grid.dt-desktop .col-rel .dt-rel-value{
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text);
    font-size: 14px;
    line-height: 1.1;
    font-weight: 800;
  }

  .dt-grid.dt-desktop .col-adultos strong,
  .dt-grid.dt-desktop .col-criancas strong,
  .dt-grid.dt-desktop .col-total strong,
  .dt-grid.dt-desktop .col-lembranca strong{
    color: var(--text);
    font-size: 18px;
    line-height: 1;
    font-weight: 800;
  }

  .dt-grid.dt-desktop .col-history-actions{
    border-top: 1px solid rgba(255,255,255,.12);
    padding-top: 10px;
    margin-top: 2px;
  }

  .dt-grid.dt-desktop .col-history-actions .history-actions-wrap{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .dt-grid.dt-desktop .col-history-actions .action-icons{
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }

  .dt-grid.dt-desktop .col-history-actions .action-icons .btn{
    border-radius: 10px;
    padding: 4px 8px;
  }

  .dt-grid.dt-desktop .col-history-actions .btn-link{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 16px;
    font-weight: 800;
    line-height: 1;
  }
}

@media (max-width: 1770px) and (min-width: 768px) {
  .dt-grid.dt-desktop{
    grid-template-areas:
      "name name name convite cerimonia rest"
      "divider divider divider divider divider divider"
      "tipo tipo rel rel lembranca lembranca"
      "adultos adultos criancas criancas total total"
      "history history history history history history";
  }
}

@media (max-width: 767px) {
  #guestList{
    grid-template-columns: 1fr;
  }

  .dt-header-card {
    display: none;
  }

  .dt-grid.dt-desktop {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas:
      "name name name"
      "convite cerimonia rest"
      "divider divider divider"
      "tipo rel lembranca"
      "adultos criancas total"
      "history history history";
    gap: 8px;
  }

  .guest-mobile {
    display: none !important;
  }

  .dt-row-card {
    padding: 14px;
  }
}

/* Mobile guest card (celular) */
.guest-mobile {
  display: none;
}

.guest-mobile .guest-name {
  font-size: 16px;
  line-height: 1.2;
}

.guest-mobile .guest-note {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.guest-mobile .meta-line {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  color: var(--muted);
}

.guest-mobile .meta-line i {
  opacity: .85;
}

.guest-mobile .status-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.guest-mobile .status-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.guest-mobile .actions-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.guest-mobile .actions-row .action-icons .btn {
  border-radius: 10px;
}

/* WhatsApp missing icon */
.whatsapp-missing {
  color: #EF4444;
  font-size: 18px;
}

.whatsapp-icon-ok {
  color: #22C55E !important;
  opacity: 1 !important;
}

/* Hide status date input/help when disabled */
.status-date-input:disabled {
  display: none;
}

.status-date-help {
  display: block;
}

.status-date-input:disabled + .status-date-help {
  display: none;
}

/* Status badges */
.badge.status-pill {
  cursor: pointer;
  border-radius: 10px;
  padding: 7px 10px;
}

/* Tipo de convite badge */
.tipo-badge{
  border-radius: 999px;
  padding: 7px 10px;
  font-weight: 800;
  font-size: 12px;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 10px 20px rgba(0,0,0,.18);
}
.tipo-icon-only{
  width: 30px;
  height: 30px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.tipo-fisico{
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.92);
}
.tipo-virtual{
  background: linear-gradient(135deg, rgba(99,102,241,.55), rgba(236,72,153,.40));
  color: #fff;
}

/* History modal */
.history-modal .modal-header {
  background: linear-gradient(135deg, rgba(139,92,246,.55), rgba(236,72,153,.55));
  color: #fff;
}

.history-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.history-item {
  border-bottom: 1px solid rgba(0,0,0,0.06);
  padding-bottom: 10px;
}

.history-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.history-title {
  font-weight: 700;
}

.history-meta {
  display: flex;
  justify-content: space-between;
  opacity: .8;
  font-size: 12px;
}

.dt-th:hover{ opacity:.95; text-shadow: 0 0 18px rgba(236,72,153,.15); }

.btn-link{color:var(--text);} .btn-link:hover{color:var(--text);opacity:.92;}
