/* ═══════════════════════════════════════
   GA Mailing Room — Custom Styles
   ═══════════════════════════════════════ */

/* --- Brand --- */
.brand-link {
  border-bottom: 1px solid rgba(255,255,255,0.15) !important;
}

/* --- Sidebar hover --- */
.nav-sidebar .nav-link:not(.active):hover {
  background-color: rgba(255,255,255,0.08);
  transition: background-color 0.2s;
}

/* --- Status badges for packages --- */
.badge-status {
  font-size: 0.72rem;
  padding: 3px 8px;
  border-radius: 20px;
  font-weight: 600;
  letter-spacing: 0.3px;
}
.badge-pending      { background: #ffc107; color: #212529; }
.badge-registered   { background: #17a2b8; color: #fff; }
.badge-at-pos-a     { background: #6f42c1; color: #fff; }
.badge-at-pos-b     { background: #fd7e14; color: #fff; }
.badge-in-transit   { background: #007bff; color: #fff; }
.badge-delivered    { background: #28a745; color: #fff; }
.badge-failed       { background: #dc3545; color: #fff; }
.badge-returned     { background: #6c757d; color: #fff; }
.badge-urgent       { background: #dc3545; color: #fff; }
.badge-very-urgent  { background: #721c24; color: #fff; }

/* --- Card enhancements --- */
.card { border: none; box-shadow: 0 1px 4px rgba(0,0,0,0.12); }
.card .card-header {
  border-bottom: 2px solid rgba(0,0,0,0.06);
  font-size: 0.95rem;
}

/* --- Small box hover --- */
.small-box { transition: transform 0.2s, box-shadow 0.2s; }
.small-box:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,0.15); }

/* --- Table improvements --- */
.table thead th {
  border-top: none;
  border-bottom: 2px solid #dee2e6;
  font-weight: 600;
  color: #495057;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.table tbody tr:hover { background-color: #f8f9fa; }

/* --- Action buttons in table --- */
.btn-action { padding: 3px 8px; font-size: 0.78rem; }

/* --- Stat info-box --- */
.info-box { min-height: 70px; border-radius: 8px; }
.info-box-icon { border-radius: 8px 0 0 8px; }

/* --- Priority indicator --- */
.priority-dot {
  display: inline-block;
  width: 8px; height: 8px;
  border-radius: 50%;
  margin-right: 5px;
}
.priority-normal    { background: #28a745; }
.priority-urgent    { background: #ffc107; }
.priority-very-urgent { background: #dc3545; }

/* --- Page fix untuk overlay --- */
.content-wrapper {
  min-height: calc(100vh - 57px - 46px) !important;
}

/* --- Responsive table wrapper --- */
.table-responsive { border-radius: 6px; }

/* --- DataTable search box --- */
.dataTables_filter input {
  border-radius: 20px;
  padding: 4px 12px;
  font-size: 0.875rem;
}

/* --- Form section divider --- */
.form-section-title {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #6c757d;
  margin: 1.5rem 0 0.75rem;
  padding-bottom: 4px;
  border-bottom: 1px solid #e9ecef;
}

/* --- Empty state --- */
.empty-state {
  padding: 3rem 1rem;
  text-align: center;
  color: #adb5bd;
}
.empty-state i { font-size: 3rem; margin-bottom: 1rem; display: block; }

/* --- UT Brand Theme Override --- */
:root {
  --ut-blue: #154d97;
  --ut-gold: #fbd506;
  --ut-dark: #1e1e1b;
}
.bg-primary           { background-color: var(--ut-blue) !important; }
.btn-primary           { background-color: var(--ut-blue); border-color: var(--ut-blue); }
.btn-primary:hover,
.btn-primary:focus     { background-color: #103e7a; border-color: #103e7a; }
.btn-outline-primary   { color: var(--ut-blue); border-color: var(--ut-blue); }
.btn-outline-primary:hover { background-color: var(--ut-blue); border-color: var(--ut-blue); }
.text-primary           { color: var(--ut-blue) !important; }
.border-primary          { border-color: var(--ut-blue) !important; }
.badge-primary           { background-color: var(--ut-blue); }
.page-link               { color: var(--ut-blue); }
.sidebar-dark-primary    { background-color: var(--ut-dark); }
.main-header.navbar-light { border-bottom-color: var(--ut-gold) !important; }
