.admin-wrap{ padding-top: 18px; padding-bottom: 40px; }
.admin-head{ display:flex; align-items:flex-start; justify-content:space-between; gap: 12px; margin-bottom: 14px; }
.admin-title{ margin: 0; font-size: 26px; font-weight: 900; color: #053f3c; letter-spacing: .3px; }
.admin-actions{ display:flex; gap: 10px; flex-wrap: wrap; }

/* Admin dashboard grids */
.stats-grid{ display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin: 14px 0; }
@media (max-width: 960px){ .stats-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 520px){ .stats-grid{ grid-template-columns: 1fr; } }

.admin-quick{ padding: 14px; }
.admin-quick-head{ display:flex; align-items:flex-end; justify-content:space-between; gap: 12px; margin-bottom: 10px; }
.quick-grid{ display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
@media (max-width: 960px){ .quick-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 520px){ .quick-grid{ grid-template-columns: 1fr; } }

.quick-tile{
  display:block;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.10);
  background: linear-gradient(180deg, rgba(5,63,60,.03), rgba(5,63,60,0));
  text-decoration:none;
  color: inherit;
  transition: transform .08s ease, box-shadow .08s ease, border-color .08s ease;
}
.quick-tile:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,.08);
  border-color: rgba(5,63,60,.25);
}
.qt-title{ font-weight: 950; color:#053f3c; letter-spacing: .2px; }
.qt-desc{ margin-top: 6px; font-size: 12px; color: rgba(0,0,0,.62); line-height: 1.35; }

.card{ background:#fff; border: 1px solid rgba(0,0,0,.08); border-radius: 18px; box-shadow: 0 6px 18px rgba(0,0,0,.06); }
.stat{ padding: 14px; }
.stat-label{ font-size: 12px; color: rgba(0,0,0,.6); }
.stat-value{ font-size: 28px; font-weight: 900; margin-top: 6px; color:#053f3c; }

.admin-card{ padding: 14px; }
.admin-card-head{ display:flex; justify-content:space-between; align-items:flex-end; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.h2{ margin:0; font-size: 18px; font-weight: 900; color:#053f3c; }
.filters{ display:flex; gap: 10px; flex-wrap: wrap; }
.filters .input{ min-width: 260px; }
.table-wrap{ overflow:auto; border-radius: 14px; border: 1px solid rgba(0,0,0,.08); }
.table{ width:100%; border-collapse: collapse; background:#fff; }
.table th, .table td{ padding: 10px 10px; text-align:left; border-bottom: 1px solid rgba(0,0,0,.06); font-size: 13px; vertical-align: top; }
.table th{ position: sticky; top: 0; background: #f6fbfb; font-weight: 900; color:#053f3c; z-index: 1; }
.table tr:hover td{ background: rgba(5,63,60,.03); }

.pill{ display:inline-flex; align-items:center; gap: 8px; padding: 4px 10px; border-radius: 999px; border: 1px solid rgba(0,0,0,.10); font-weight: 800; font-size: 12px; }
.dot{ width: 10px; height: 10px; border-radius: 50%; background: #9aa5a5; box-shadow: 0 0 0 3px rgba(154,165,165,.18); }
.dot.on{ background: #14b86a; box-shadow: 0 0 0 3px rgba(20,184,106,.18); }
.dot.off{ background: #9aa5a5; box-shadow: 0 0 0 3px rgba(154,165,165,.18); }
.role{ text-transform: uppercase; font-size: 11px; letter-spacing: .4px; }

.diag{ margin-top: 12px; padding: 12px; border-radius: 16px; border: 1px solid rgba(0,0,0,.08); }
.diag-title{ cursor:pointer; font-weight: 900; color:#053f3c; }
.diag-log{ margin:0; padding: 10px; background:#0b1f1e; color:#d6f5f3; border-radius: 12px; font-size: 12px; min-height: 140px; overflow:auto; }

/* Admin: small inline badges + delete checkbox */
.badge{
  display:inline-block;
  padding:2px 8px;
  border-radius:999px;
  font-size:12px;
  line-height:18px;
  border:1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.04);
}
.badge-ok{ background: rgba(16,185,129,.12); border-color: rgba(16,185,129,.35); }
.badge-warn{ background: rgba(245,158,11,.14); border-color: rgba(245,158,11,.38); }
.badge-bad{ background: rgba(239,68,68,.12); border-color: rgba(239,68,68,.35); }

.cb{ display:flex; align-items:center; gap:8px; user-select:none; }
.cb input{ width:16px; height:16px; }
.cb-lbl{ font-size:12px; color: rgba(0,0,0,.65); }

/* Admin: tiny product thumbs */
.thumb-mini{
  width: 72px;
  height: 52px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.02);
  display:flex;
  align-items:center;
  justify-content:center;
}
.thumb-mini img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display:block;
}
.thumb-empty{ color: rgba(0,0,0,.35); font-weight: 900; }
