/* ── DYB Global Input Style ── */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="date"],
textarea,
select {
  border: 2px solid #9ca3af !important;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,.12), inset 0 1px 3px rgba(0,0,0,.07);
  transition: border-color .15s, box-shadow .15s;
  outline: none;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="date"]:focus,
textarea:focus,
select:focus {
  border-color: #870009 !important;
  box-shadow: 0 0 0 4px rgba(135,0,9,.13), 0 2px 6px rgba(0,0,0,.10) !important;
}

/* ── DYB Unified Table Style ── */

/* Table base */
.dyb-table { width: 100%; border-collapse: collapse; }

.dyb-table th {
  position: sticky; top: 0; z-index: 10;
  background: #f8fafc;
  font-size: .7rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .05em;
  color: #6b7280; white-space: nowrap;
  border-bottom: 2px solid #870009;
}

.dyb-table td {
  border-bottom: 1px solid #f3f4f6;
  vertical-align: middle;
}
.dyb-table tbody tr:last-child td { border-bottom: none; }

/* Hover — red outline + pink bg + left accent bar */
.dyb-table tbody tr:hover {
  background: #fff1f2 !important;
  outline: 2px solid #B01116;
  outline-offset: -1px;
}
.dyb-table tbody tr:hover td { color: #111827; }
.dyb-table tbody tr:hover td:first-child { box-shadow: inset 4px 0 0 #B01116; }

/* ── Card container ── */
.dyb-table-card {
  background: #fff;
  border-radius: 1.25rem;
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
  border: 1px solid #f0f0f0;
  overflow: hidden;
  position: relative;
}
.dyb-table-stripe {
  position: absolute; top: 0; left: 0; right: 0;
  height: 4px; background: #B01116; opacity: .9;
}
.dyb-table-header {
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  display: flex; align-items: center; gap: 8px;
  margin-top: 4px;
}
.dyb-table-header-title { font-size: .875rem; font-weight: 700; color: #374151; }
.dyb-table-header .bi { color: #B01116; }

/* ── Pagination ── */
.dyb-pagination {
  display: flex; align-items: center; gap: 6px;
  flex-wrap: wrap;
}
.dyb-page-size {
  display: flex; align-items: center; gap: 6px;
  font-size: .75rem; color: #6b7280;
}
.dyb-page-size select {
  font-size: .75rem; font-weight: 600; padding: 4px 22px 4px 8px !important;
  border-radius: 6px !important; cursor: pointer;
}
.dyb-page-btn {
  min-width: 32px; height: 32px; padding: 0 6px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: .8rem; font-weight: 700; border-radius: 3px;
  border: 1.5px solid #d4d4d8; background: #fff; color: #3f3f46;
  cursor: pointer; transition: all .12s;
}
.dyb-page-btn:hover:not(:disabled) { border-color: #870009; color: #870009; }
.dyb-page-btn.active { background: #1c1c1f; border-color: #1c1c1f; color: #fff; }
.dyb-page-btn:disabled { opacity: .35; cursor: not-allowed; }
.dyb-page-info { font-size: .75rem; color: #6b7280; margin-right: 8px; }
