/* Multi-select checkbox column + floating bulk toolbar + center confirm modal. */
.bulk-col { width: 1%; padding-left: .75rem !important; padding-right: 0 !important; }
.bulk-col input[type=checkbox] { margin: 0; cursor: pointer; accent-color: var(--c-accent); }
.data-table tbody tr.bulk-selected { background: rgba(30,64,175,.06) !important; }

.bulk-toolbar {
  position: fixed; bottom: 1.25rem; left: 50%; transform: translateX(-50%);
  z-index: 1500; background: #1e293b; color: #f1f5f9;
  padding: .5rem .65rem .5rem 1rem; border-radius: 999px;
  display: flex; align-items: center; gap: .55rem;
  box-shadow: 0 14px 32px rgba(15,23,42,.45);
  animation: bulkbar-in .18s ease-out;
}
@keyframes bulkbar-in {
  from { transform: translate(-50%, 20px); opacity: 0; }
  to   { transform: translate(-50%, 0); opacity: 1; }
}
.bulk-count { font-weight: 500; font-size: .9rem; padding-right: .35rem; }
.bulk-toolbar .btn {
  background: rgba(255,255,255,.1); color: white; border: 0;
  padding: .4rem .85rem; border-radius: 999px; font-size: .85rem;
  cursor: pointer; font-family: inherit;
}
.bulk-toolbar .btn:hover { background: rgba(255,255,255,.2); }
.bulk-toolbar .btn.danger { background: var(--c-error); }
.bulk-toolbar .btn.danger:hover { background: #991b1b; }

.confirm-modal[hidden] { display: none; }
.confirm-modal {
  position: fixed; inset: 0; z-index: 2000;
  display: flex; align-items: center; justify-content: center;
}
.confirm-backdrop {
  position: absolute; inset: 0; background: rgba(15,23,42,.55);
  animation: backdrop-in .15s ease-out;
}
@keyframes backdrop-in { from { opacity: 0; } to { opacity: 1; } }
.confirm-panel {
  position: relative; background: white; border-radius: 12px;
  padding: 1.25rem 1.5rem; max-width: 460px; width: 90%;
  box-shadow: 0 24px 60px rgba(15,23,42,.32);
  animation: panel-in .18s cubic-bezier(.2,.9,.4,1.2);
}
@keyframes panel-in {
  from { transform: scale(.95); opacity: 0; }
  to   { transform: scale(1); opacity: 1; }
}
.confirm-title { margin: 0 0 .55rem; font-size: 1.1rem; }
.confirm-message { margin: 0 0 1.1rem; color: var(--c-muted); line-height: 1.5; font-size: .92rem; }
.confirm-actions { display: flex; gap: .5rem; justify-content: flex-end; }
.confirm-actions .btn.danger {
  background: var(--c-error); color: white; border-color: var(--c-error);
}
.confirm-actions .btn.danger:hover { background: #991b1b; }
