.admin-body{ background:var(--ivory); min-height:100vh; }

.admin-auth-brand{ display:flex; align-items:center; gap:10px; font-family:'Fraunces', serif; font-weight:600; font-size:1.05rem; }
.admin-auth-brand img{ height:32px; width:auto; object-fit:contain; }

.admin-auth-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:32px; }
.admin-auth-card{
  width:100%; max-width:380px; border:1px solid var(--line); border-radius:18px;
  padding:40px 34px; background:#fff;
}
.admin-auth-card .eyebrow{ margin-top:26px; }
.admin-auth-card h1{ font-size:1.7rem; margin-top:8px; margin-bottom:26px; }
.admin-auth-card form{ display:flex; flex-direction:column; gap:20px; }
.admin-auth-card .btn{ margin-top:4px; }
.admin-back-link{
  display:block; margin-top:22px; text-align:center; font-size:0.86rem;
  color:rgba(36,28,34,0.6); text-decoration:none;
}
.admin-back-link:hover{ color:var(--berry); text-decoration:underline; }

.admin-view-site-link{
  font-size:0.86rem; color:rgba(36,28,34,0.6); text-decoration:none; padding:0 6px;
}
.admin-view-site-link:hover{ color:var(--berry); text-decoration:underline; }

/* ---------- Shell / sidebar ---------- */
.admin-shell{ display:flex; min-height:100vh; }

.admin-sidebar{
  width:250px; flex-shrink:0; background:#fff; border-right:1px solid var(--line);
  display:flex; flex-direction:column; padding:26px 20px; gap:28px;
  position:sticky; top:0; height:100vh;
}
.admin-sidebar-brand{ display:flex; align-items:center; gap:10px; font-family:'Fraunces', serif; font-weight:600; font-size:1rem; padding:0 6px; }
.admin-sidebar-brand img{ height:30px; width:auto; object-fit:contain; }

.admin-nav{ display:flex; flex-direction:column; gap:4px; flex:1; }
.admin-nav-item{
  text-align:left; background:none; border:none; border-radius:10px; padding:11px 14px;
  font-family:'Public Sans', sans-serif; font-size:0.92rem; font-weight:500; color:rgba(36,28,34,0.68);
  cursor:pointer; transition:background .15s ease, color .15s ease;
}
.admin-nav-item:hover{ background:rgba(36,28,34,0.05); color:var(--ink); }
.admin-nav-item.is-active{ background:var(--plum); color:var(--ivory); }

.admin-logout-btn{ border-color:var(--line); color:var(--ink); align-self:flex-start; }

.admin-content{ flex:1; padding:48px 44px 100px; max-width:960px; }

.admin-view{ display:none; }
.admin-view.is-active{ display:block; }
.admin-view-head h1{ font-size:1.7rem; }
.admin-panel-note{ margin-top:8px; color:rgba(36,28,34,0.68); font-size:0.94rem; }

/* ---------- Dashboard summary ---------- */
.admin-summary-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:18px; margin-top:32px; }
.admin-summary-tile{
  border:1px solid var(--line); border-radius:16px; padding:26px 22px; background:#fff;
  display:flex; flex-direction:column; gap:8px;
}
.admin-summary-tile .value{ font-family:'Fraunces', serif; font-size:2.2rem; font-weight:600; color:var(--berry); }
.admin-summary-tile .label{ font-size:0.86rem; color:rgba(36,28,34,0.68); }

/* ---------- Forms (shared) ---------- */
.admin-form{ margin-top:28px; display:flex; flex-direction:column; gap:18px; max-width:680px; }
.admin-form-row-group{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:18px; }
.admin-form-row-narrow{ max-width:160px; }
.admin-form-actions{ display:flex; gap:14px; align-items:center; }
.admin-cancel-btn{ border-color:var(--line); color:var(--ink); }
.admin-checkbox-row{ display:flex; align-items:center; gap:10px; font-size:0.94rem; }
.admin-checkbox-row input{ width:16px; height:16px; accent-color:var(--berry); }

.admin-metrics-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:26px; margin-bottom:20px; }

/* ---------- Generic list items (news / events / members / suggestions) ---------- */
.admin-list{ margin-top:36px; display:flex; flex-direction:column; gap:16px; }
.admin-list-item{ border:1px solid var(--line); border-radius:14px; padding:20px 24px; background:#fff; }
.admin-list-item-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.admin-list-item-head h3{ font-size:1.06rem; font-weight:600; }
.admin-list-item-meta{ margin-top:6px; font-size:0.84rem; color:rgba(36,28,34,0.55); }
.admin-list-item-actions{ margin-top:14px; display:flex; gap:16px; }
.admin-suggestion-message{ margin-top:12px; line-height:1.6; color:rgba(36,28,34,0.82); }

.admin-badge{
  font-family:'IBM Plex Mono', monospace; font-size:0.72rem; letter-spacing:0.04em; text-transform:uppercase;
  padding:4px 10px; border-radius:100px; white-space:nowrap;
}
.admin-badge.is-good{ background:rgba(140,95,168,0.14); color:var(--sage); }
.admin-badge.is-neutral{ background:rgba(36,28,34,0.08); color:rgba(36,28,34,0.6); }

.admin-link-btn{
  background:none; border:none; padding:0; font-size:0.88rem; font-weight:600; color:var(--sage);
  cursor:pointer; text-decoration:underline;
}
.admin-link-btn-danger{ color:var(--berry); }

/* ---------- Executive member cards ---------- */
.admin-exec-list{ margin-top:36px; display:flex; flex-direction:column; gap:14px; }
.admin-exec-card{
  display:flex; align-items:center; gap:18px; border:1px solid var(--line); border-radius:14px;
  padding:16px 22px; background:#fff;
}
.admin-exec-avatar{
  width:52px; height:52px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg, var(--berry), var(--gold)) center/cover no-repeat;
}
.admin-exec-info{ flex:1; }
.admin-exec-info h3{ font-size:1rem; font-weight:600; }
.admin-exec-info p{ margin-top:4px; font-size:0.86rem; color:rgba(36,28,34,0.62); }

@media (max-width:860px){
  .admin-shell{ flex-direction:column; }
  .admin-sidebar{ position:static; height:auto; width:100%; flex-direction:row; flex-wrap:wrap; align-items:center; }
  .admin-nav{ flex-direction:row; flex-wrap:wrap; }
  .admin-content{ padding:32px 22px 80px; }
  .admin-form-row-group{ grid-template-columns:1fr; }
  .admin-metrics-grid{ grid-template-columns:1fr; }
}
