/* admin_dashboard.v14.css - Improve readability & consistency in admin */
:root {
  --admin-card-bg: rgba(255, 255, 255, 0.06);
  --admin-card-bd: rgba(255, 255, 255, 0.14);
  --admin-link: rgba(255, 255, 255, 0.92);
  --admin-link-hover: rgba(255, 255, 255, 1);
}

.grid.cards-4x4 {
  gap: 16px;
}

.grid.cards-4x4 .card,
.admin-cards .card {
  background: var(--admin-card-bg) !important;
  border: 1px solid var(--admin-card-bd) !important;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
}

.grid.cards-4x4 .card .title,
.admin-cards .card .title {
  color: var(--admin-link) !important;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.grid.cards-4x4 .card .body,
.admin-cards .card .card-body {
  color: rgba(255, 255, 255, 0.82) !important;
}

.grid.cards-4x4 .card a,
.admin-cards .card a {
  color: var(--admin-link) !important;
  text-decoration: none;
  font-weight: 700;
}

.grid.cards-4x4 .card a:hover,
.admin-cards .card a:hover {
  color: var(--admin-link-hover) !important;
  text-decoration: underline;
}

.grid.cards-4x4 .card .body div {
  margin-top: 10px;
}

.admin-subgrid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.admin-subgrid a {
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
}

.admin-subgrid a:hover {
  background: rgba(255, 255, 255, 0.08);
}

/* PATCH 20260120b: Fix admin dashboard text contrast in LIGHT mode */
body.page-admin:not(.theme-dark) .grid.cards-4x4 .card,
body.page-admin:not(.theme-dark) .admin-cards .card{
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
}
body.page-admin:not(.theme-dark) .grid.cards-4x4 .card .title,
body.page-admin:not(.theme-dark) .admin-cards .card .title,
body.page-admin:not(.theme-dark) .grid.cards-4x4 .card a,
body.page-admin:not(.theme-dark) .admin-cards .card a{
  color: var(--text) !important;
}
body.page-admin:not(.theme-dark) .grid.cards-4x4 .card .body,
body.page-admin:not(.theme-dark) .admin-cards .card .card-body{
  color: var(--muted) !important;
}

/* === PATCH 2026-01-21: dashboard card size unify + color variety === */
.grid.cards-4x4 .card,
.admin-cards .card{
  min-height: 150px;
  display:flex;
}
.grid.cards-4x4 .card .body,
.admin-cards .card .card-body,
.admin-cards .card .body{
  width:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
}

/* Color accents (top bar) */
.grid.cards-4x4 .card::before,
.admin-cards .card::before{
  content:"";
  display:block;
  position:absolute;
  left:0; right:0; top:0;
  height:4px;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
  background: linear-gradient(90deg, var(--accent), var(--accent2), var(--accent3));
  opacity:.9;
}
.grid.cards-4x4 .card,
.admin-cards .card{ position:relative; overflow:hidden; }

/* Per-card accent shift (subtle variety) */
.grid.cards-4x4 .card:nth-child(1)::before{ background: linear-gradient(90deg, #0ea5e9, #22c55e, #a855f7); }
.grid.cards-4x4 .card:nth-child(2)::before{ background: linear-gradient(90deg, #22c55e, #06b6d4, #0ea5e9); }
.grid.cards-4x4 .card:nth-child(3)::before{ background: linear-gradient(90deg, #f59e0b, #ef4444, #0ea5e9); }
.grid.cards-4x4 .card:nth-child(4)::before{ background: linear-gradient(90deg, #a855f7, #0ea5e9, #22c55e); }
.grid.cards-4x4 .card:nth-child(5)::before{ background: linear-gradient(90deg, #14b8a6, #0ea5e9, #a855f7); }
.grid.cards-4x4 .card:nth-child(6)::before{ background: linear-gradient(90deg, #6366f1, #0ea5e9, #a855f7); }
.grid.cards-4x4 .card:nth-child(7)::before{ background: linear-gradient(90deg, #f43f5e, #8b5cf6, #22c55e); }
.grid.cards-4x4 .card:nth-child(8)::before{ background: linear-gradient(90deg, #64748b, #0ea5e9, #22c55e); }

