.admin-body{ background:var(--cream-2); }

/* ---------------- Login ---------------- */
.login-screen{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(160deg, var(--indigo) 0%, var(--indigo-deep) 100%);
  padding:24px;
}
.login-card{
  background:var(--white); border-radius:24px; padding:40px 34px;
  width:100%; max-width:400px; text-align:center;
  box-shadow:var(--shadow-deep);
}
.login-logo{ width:64px; height:64px; border-radius:50%; margin:0 auto 14px; object-fit:cover; }
.login-card h1{ font-size:1.5rem; }
.login-card .field{ text-align:left; }

/* ---------------- Header ---------------- */
.admin-header{ background:var(--white); border-bottom:1px solid rgba(22,33,91,.1); position:sticky; top:0; z-index:20; }
.admin-header-inner{
  width:min(1280px,94%); margin-inline:auto; padding:14px 0;
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.admin-header .brand img{ height:44px; width:44px; }
.admin-header-right{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.admin-email{ font-size:.85rem; color:#6b6046; font-weight:700; }

/* ---------------- Main layout ---------------- */
.admin-main{ width:min(1280px,94%); margin-inline:auto; padding:30px 0 70px; }

.stat-cards{ display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); margin-bottom:30px; }
.stat-card{
  background:var(--white); border-radius:18px; padding:20px 22px;
  box-shadow:var(--shadow-soft); border-left:6px solid var(--marigold);
}
.stat-card.gold{ border-left-color:var(--gold); }
.stat-card.leaf{ border-left-color:var(--leaf); }
.stat-card.indigo{ border-left-color:var(--indigo); }
.stat-card span{ display:block; font-family:'Baloo 2',cursive; font-size:2rem; color:var(--indigo); }
.stat-card label{ font-size:.85rem; color:#6b6046; font-weight:700; }

.admin-tabs{ display:flex; gap:10px; margin-bottom:20px; flex-wrap:wrap; }
.tab-btn{
  border:2px solid var(--indigo); background:transparent; color:var(--indigo);
  padding:9px 20px; border-radius:999px; font-family:'Baloo 2',cursive; font-weight:700;
  cursor:pointer;
}
.tab-btn.active{ background:var(--indigo); color:var(--white); }
.tab-panel{ display:none; }
.tab-panel.active{ display:block; }

.panel-toolbar{ display:flex; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
.panel-toolbar input, .panel-toolbar select{
  border:2px solid #E7DCC1; border-radius:10px; padding:9px 14px; font-family:'Nunito',sans-serif;
  background:var(--white);
}
.panel-toolbar input{ flex:1; min-width:220px; }

.table-wrap{ background:var(--white); border-radius:18px; box-shadow:var(--shadow-soft); overflow-x:auto; }
table{ width:100%; border-collapse:collapse; min-width:900px; }
thead th{
  text-align:left; font-family:'Baloo 2',cursive; color:var(--indigo);
  padding:14px 16px; border-bottom:2px solid var(--cream-2); font-size:.85rem; white-space:nowrap;
}
tbody td{ padding:12px 16px; border-bottom:1px solid var(--cream-2); font-size:.88rem; vertical-align:top; }
tbody tr:hover{ background:var(--cream); }
.empty-row{ text-align:center; padding:34px !important; color:#8a8062; }
.msg-cell{ max-width:220px; }

.status-select{
  border:1px solid #E7DCC1; border-radius:8px; padding:5px 8px; font-family:'Nunito',sans-serif; font-size:.82rem;
  background:var(--cream);
}
.row-delete{
  border:none; background:#FBE7E1; color:#B4401B; border-radius:8px; padding:6px 10px; cursor:pointer; font-weight:700;
}
.row-delete:hover{ background:#F6CFC3; }

.status-pill{
  display:inline-block; padding:3px 10px; border-radius:999px; font-size:.75rem; font-weight:800;
  font-family:'Baloo 2',cursive;
}
.status-pill.new{ background:#FBE7E1; color:#B4401B; }
.status-pill.contacted{ background:#FDF1D6; color:#8A5B0A; }
.status-pill.enrolled{ background:#E7F3E8; color:var(--leaf); }
.status-pill.closed, .status-pill.read, .status-pill.replied{ background:#E9E9F2; color:#4b4a63; }
