/* =============================================
   ADMIN DASHBOARD PAGE STYLES
   ============================================= */

/* Stats cards row */
.admin-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-bottom: 28px;
}

.admin-stat-card {
  background: #ffffff;
  border-radius: 16px;
  border: 1.5px solid #edf2f7;
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 16px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03);
  transition: box-shadow 0.2s ease;
}

.admin-stat-card:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,0.07);
}

.admin-stat-icon-box {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}

.admin-stat-icon-box.green  { background: #e8f5e9; color: var(--primary-green); }
.admin-stat-icon-box.blue   { background: #ebf8ff; color: #2b6cb0; }
.admin-stat-icon-box.orange { background: #fffaf0; color: #dd6b20; }
.admin-stat-icon-box.purple { background: #faf5ff; color: #6b46c1; }

.admin-stat-info {
  flex: 1;
  min-width: 0;
}

.admin-stat-count {
  font-size: 26px;
  font-weight: 800;
  color: var(--dark-charcoal);
  line-height: 1;
}

.admin-stat-label {
  font-size: 12px;
  font-weight: 600;
  color: #94a3b8;
  margin-top: 4px;
}

.admin-stat-badge {
  font-size: 11px;
  font-weight: 700;
  color: var(--primary-green);
  background: #e8f5e9;
  padding: 2px 8px;
  border-radius: 20px;
  margin-top: 6px;
  display: inline-block;
}

/* =============================================
   DASHBOARD TWO-COL LAYOUT
   ============================================= */
.admin-dashboard-grid {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 20px;
}

/* Recent items table */
.admin-table-card {
  background: #ffffff;
  border-radius: 16px;
  border: 1.5px solid #edf2f7;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03);
  overflow: hidden;
}

.admin-table-card-header {
  padding: 16px 20px;
  border-bottom: 1.5px solid #f0f4f8;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.admin-table-card-title {
  font-size: 15px;
  font-weight: 800;
  color: var(--dark-charcoal);
}

.admin-view-all-link {
  font-size: 13px;
  font-weight: 600;
  color: var(--primary-green);
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-family);
}

.admin-table-card-body {
  overflow-x: auto;
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
}

.admin-table th {
  padding: 10px 16px;
  text-align: left;
  font-size: 11px;
  font-weight: 700;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: #f8fafc;
  border-bottom: 1.5px solid #f0f4f8;
}

.admin-table td {
  padding: 12px 16px;
  font-size: 13px;
  color: var(--dark-charcoal);
  border-bottom: 1px solid #f8fafc;
  font-weight: 500;
}

.admin-table tr:last-child td { border-bottom: none; }

.admin-table tr:hover td { background: #fafcff; }

.admin-service-name-cell {
  display: flex;
  align-items: center;
  gap: 10px;
}

.admin-service-icon-badge {
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: #e8f5e9;
  color: var(--primary-green);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  flex-shrink: 0;
}

.admin-category-pill {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  background: #f0fff4;
  color: var(--primary-green);
  border: 1px solid #c3e6cb;
}

/* =============================================
   MINI INFO PANEL (right col)
   ============================================= */
.admin-info-panel {
  background: #ffffff;
  border-radius: 16px;
  border: 1.5px solid #edf2f7;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03);
  padding: 20px;
}

.admin-info-panel-title {
  font-size: 15px;
  font-weight: 800;
  color: var(--dark-charcoal);
  margin-bottom: 16px;
}

.admin-category-bar-item {
  margin-bottom: 14px;
}

.admin-category-bar-label {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  font-weight: 600;
  color: #64748b;
  margin-bottom: 5px;
}

.admin-bar-track {
  height: 7px;
  border-radius: 10px;
  background: #f0f4f8;
}

.admin-bar-fill {
  height: 100%;
  border-radius: 10px;
  background: linear-gradient(90deg, var(--primary-green), #4caf50);
}

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 1100px) {
  .admin-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-dashboard-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .admin-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .admin-stat-card {
    padding: 14px;
    gap: 12px;
  }
  .admin-stat-count { font-size: 22px; }
}
