/* ==========================================================================
   Admin Hub reskin — loads AFTER admin_hub.php's own <style> blocks and
   AFTER /theme.css. Targets the SAME selectors already used in the page —
   no markup, IDs, classes, or PHP logic were touched. Matches the Drop Shop
   design language (dropshop-theme.css) so both admin surfaces feel unified.
   Bright surfaces only — no dark backgrounds. Bold near-black text.
   ========================================================================== */

:root{
  --ink:        #14161f;
  --ink-soft:   #4c5062;
  --muted:      #8a8fa0;
  --paper:      #fbf8f2;
  --surface:    #ffffff;
  --line:       rgba(20,22,31,0.09);

  --blue-1:     #0288e7;  --blue-2:   #0ddaed;
  --violet-1:   #961ee9;  --violet-2: #eb16b5;
  --orange-1:   #f29104;  --orange-2: #f4e10a;
  --green-1:    #1fce4b;  --green-2:  #8ae508;
  --red-1:      #d22b1d;  --red-2:    #f29104;
  --teal-1:     #0288e7;  --teal-2:   #0ddaed;

  --radius-lg:  22px;
  --radius-md:  14px;
  --radius-sm:  10px;
  --shadow-card: 0 1px 2px rgba(20,22,31,0.05), 0 10px 28px -14px rgba(20,22,31,0.22);
}

/* ---- page canvas ---- */
html, body{
  background-color: var(--paper) !important;
  color: var(--ink) !important;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(0,116,196,0.10) 1px, transparent 0),
    radial-gradient(1100px 500px at 100% -10%, rgba(255,122,26,0.08), transparent 60%),
    radial-gradient(900px 500px at -10% 10%, rgba(0,116,196,0.09), transparent 55%);
  background-size: 22px 22px, auto, auto;
  background-attachment: fixed, fixed, fixed;
}

.page-title{ color: var(--ink) !important; }

.action-msg{
  background:#eafbf1; border:1.5px solid #b7ecc9; color:#0b7a3f;
  border-radius: var(--radius-sm);
}

/* ---- stat cards ---- */
.stat-card{
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}
.stat-label{ background: linear-gradient(120deg,var(--blue-1),var(--blue-2)); }
.stat-value.blue   { color: var(--blue-1); }
.stat-value.orange { color: var(--orange-1); }
.stat-value.green  { color: var(--green-1); }
.stat-value.teal   { color: var(--teal-1); }
.stat-value.red    { color: var(--red-1); }

/* ---- section cards (used by every panel: preview, members, promos, etc) ---- */
.section{
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}
.section-header{
  background: linear-gradient(120deg,var(--blue-1),var(--blue-2)) !important;
  border-bottom: none;
}
.section-title{ text-shadow: none !important; }

/* ---- feature map cards ---- */
.card{
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  transition: transform .12s ease, box-shadow .12s ease;
}
.card:hover{ transform: translateY(-3px); box-shadow: 0 16px 34px -12px rgba(20,22,31,0.28); }

/* ---- search / selects ---- */
.search-input, select.inline-select{
  border: 1.5px solid var(--line);
  border-radius: var(--radius-sm);
  background:#f8f9fb;
}
.search-input:focus{ border-color: var(--blue-1); }

/* ---- table ---- */
th{
  background: linear-gradient(120deg,var(--blue-1),var(--blue-2)) !important;
  border-bottom: none;
}
td{ border-bottom: 1px solid var(--line); }
tr:hover td{ background:#f3f8fb; }

/* ---- badges: soft pill treatment instead of solid+bordered ---- */
.badge{ border: none !important; border-radius: 999px; font-weight:800; }
.badge-paid    { background:#fff1e2; color:#b34500; }
.badge-free    { background:#e2f2fb; color:var(--blue-1); }
.badge-admin   { background:#fdedf0; color:var(--red-1); }
.badge-vip     { background:#e3f7f8; color:var(--teal-1); }
.badge-member  { background:#eef0f4; color:var(--ink-soft); }
.badge-active  { background:#e3faec; color:#0b8f4c; }
.badge-inactive{ background:#fdedf0; color:var(--red-1); }
.badge-access  { background:#fff1e2; color:#b34500; }
.badge-scout   { background:#e2f2fb; color:var(--blue-1); }
.badge-seeker  { background:#fff1e2; color:#b34500; }
.badge-trail_ranger { background:#f1ecff; color:var(--violet-1); }
.badge-okieops { background:#e3f7f8; color:var(--teal-1); }
.badge-bob     { background:#fdedf0; color:var(--red-1); }

/* ---- action buttons: pill shape, gradient, soft lift ---- */
.btn-sm{
  border: none !important;
  border-radius: 999px;
  box-shadow: 0 6px 16px -8px rgba(20,22,31,0.35);
}
.btn-sm:hover{ transform: translateY(-2px); }
.btn-blue   { background: linear-gradient(120deg,var(--blue-1),var(--blue-2)) !important; }
.btn-orange { background: linear-gradient(120deg,var(--orange-1),var(--orange-2)) !important; }
.btn-green  { background: linear-gradient(120deg,var(--green-1),var(--green-2)) !important; }
.btn-red    { background: linear-gradient(120deg,var(--red-1),var(--red-2)) !important; }
.btn-teal   { background: linear-gradient(120deg,var(--teal-1),var(--teal-2)) !important; }

/* ---- feature-map CTA links (converted from raw inline style, see markup) ---- */
.fm-cta{
  display:inline-block; padding:9px 20px; border-radius:999px;
  background: linear-gradient(120deg,var(--blue-1),var(--blue-2)); color:#fff;
  font-size:13px; font-weight:800; text-decoration:none; font-family:'Exo 2',sans-serif;
  box-shadow: 0 6px 16px -8px rgba(20,22,31,0.35); transition: transform .12s ease;
}
.fm-cta:hover{ transform: translateY(-2px); }

/* ---- role filter chips (converted from raw inline style, see markup) ---- */
.role-chip{
  cursor:pointer; padding:8px 18px; border-radius:999px; font-size:13px; font-weight:800;
  border:none; font-family:'Exo 2',sans-serif; transition: transform .12s ease, box-shadow .12s ease;
  box-shadow: 0 6px 16px -8px rgba(20,22,31,0.3); color:#fff;
}
.role-chip:hover{ transform: translateY(-2px); }
.role-chip.rc-bob    { background: linear-gradient(120deg,var(--red-1),var(--red-2)); }
.role-chip.rc-okieops{ background: linear-gradient(120deg,var(--teal-1),var(--teal-2)); }
.role-chip.rc-ranger { background: linear-gradient(120deg,var(--violet-1),var(--violet-2)); }
.role-chip.rc-seeker { background: linear-gradient(120deg,var(--orange-1),var(--orange-2)); }
.role-chip.rc-free   { background: linear-gradient(120deg,var(--blue-1),var(--blue-2)); }
.role-chip.rc-clear  { background:#f1f2f6; color:var(--ink-soft); box-shadow:none; }

/* ---- admin leaderboard cards ---- */
.alb-card{
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}
.alb-tag-find  { background:#e3faec; color:#0b8f4c; }
.alb-tag-reloc { background:#e2f2fb; color:var(--blue-1); }
.alb-tag-place { background:#fff1e2; color:#b34500; }
.alb-tag-pace  { background:#eef2ff; color:#3a5bd0; }
.alb-tag-hr    { background:#e2f2fb; color:var(--blue-1); }
.alb-hot       { background:#fff1e2; border-color:#ffd8ab; color:#b34500; }
