.admin-main { padding: 70px 0; min-height: calc(100vh - 78px); background: #eee8e7; }
.admin-container { max-width: 900px; }
.admin-card { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 34px; box-shadow: var(--shadow); }
.admin-card h1 { font-size: clamp(2rem, 5vw, 3.3rem); margin: 8px 0 12px; }
.admin-card h2 { font-size: 1.5rem; margin: 0; }
.admin-muted { color: var(--muted); }
.admin-form { display: grid; gap: 16px; margin-top: 26px; }
.admin-form label { display: grid; gap: 6px; font-weight: 750; }
.admin-form input, .admin-form textarea, .admin-form select {
  width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 12px 13px;
  background: #faf8f6; color: var(--ink); outline: none;
}
.admin-form input:focus, .admin-form textarea:focus, .admin-form select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(83,51,71,.10); }
.admin-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.admin-actions, .admin-heading-row, .admin-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.admin-list-heading { margin-top: 42px; padding-top: 26px; border-top: 1px solid var(--line); }
.admin-events { display: grid; gap: 12px; margin-top: 18px; }
.admin-event { border: 1px solid var(--line); border-radius: 12px; padding: 16px; background: #faf8f6; display: flex; justify-content: space-between; gap: 18px; }
.admin-event h3 { margin: 0 0 4px; font-size: 1.05rem; }
.admin-event p { margin: 0; color: var(--muted); font-size: .9rem; }
.admin-event-actions { display: flex; gap: 8px; align-items: center; flex-shrink: 0; }
.admin-small { border: 1px solid var(--line); background: white; border-radius: 999px; padding: 7px 11px; cursor: pointer; font-weight: 700; color: var(--ink); }
.admin-status { min-height: 1.4em; color: var(--muted); font-size: .9rem; }
.admin-status.error { color: #9b3c3c; }
.admin-status.success { color: #3f7050; }
.hidden { display: none !important; }
@media (max-width: 650px) {
  .admin-main { padding: 35px 0; }
  .admin-card { padding: 22px; }
  .admin-two-col { grid-template-columns: 1fr; }
  .admin-heading-row, .admin-list-heading, .admin-event { align-items: flex-start; flex-direction: column; }
  .admin-event-actions { width: 100%; }
}
.admin-password{margin-top:42px;padding-top:28px;border-top:1px solid var(--line)}

/* RSVP administration */
.admin-rsvps { margin-top: 8px; }
.admin-rsvp-groups { display: grid; gap: 18px; margin-top: 18px; }
.admin-rsvp-group { border: 1px solid var(--line); border-radius: 14px; background: #faf8f6; overflow: hidden; }
.admin-rsvp-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 20px; border-bottom:1px solid var(--line); }
.admin-rsvp-heading h3 { margin:0 0 4px; font-size:1.08rem; }
.admin-rsvp-heading p { margin:0; color:var(--muted); font-size:.88rem; }
.rsvp-count { flex-shrink:0; border:1px solid var(--line); border-radius:999px; padding:7px 11px; background:#fff; color:var(--ink); font-weight:800; font-size:.82rem; }
.admin-rsvp-table-wrap { overflow-x:auto; }
.admin-rsvp-table { width:100%; border-collapse:collapse; min-width:620px; }
.admin-rsvp-table th, .admin-rsvp-table td { padding:12px 14px; text-align:left; border-bottom:1px solid var(--line); font-size:.88rem; vertical-align:middle; }
.admin-rsvp-table th { color:var(--muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; background:rgba(255,255,255,.55); }
.admin-rsvp-table tr:last-child td { border-bottom:0; }
.admin-rsvp-table a { color:var(--accent-dark); }
@media (max-width:650px) {
  .admin-rsvp-heading { align-items:flex-start; flex-direction:column; }
  .admin-rsvp-table { min-width:0; }
  .admin-rsvp-table thead { display:none; }
  .admin-rsvp-table, .admin-rsvp-table tbody, .admin-rsvp-table tr, .admin-rsvp-table td { display:block; width:100%; }
  .admin-rsvp-table tr { padding:12px 16px; border-bottom:1px solid var(--line); }
  .admin-rsvp-table tr:last-child { border-bottom:0; }
  .admin-rsvp-table td { border:0; padding:4px 0; }
  .admin-rsvp-table td::before { content:attr(data-label); display:inline-block; min-width:64px; margin-right:8px; color:var(--muted); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
}

/* Streamlined admin workspace */
.admin-container { max-width: 1180px; }
.admin-dashboard { display:grid; gap:18px; }
.admin-dashboard-head { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.admin-workspace { display:grid; grid-template-columns:220px minmax(0,1fr); gap:18px; align-items:start; }
.admin-tabs { background:#fff; border:1px solid var(--line); border-radius:18px; padding:10px; box-shadow:var(--shadow); position:sticky; top:22px; }
.admin-tab { width:100%; border:0; background:transparent; color:var(--muted); text-align:left; padding:13px 14px; border-radius:12px; cursor:pointer; font:inherit; font-weight:800; display:flex; align-items:center; gap:10px; transition:.18s ease; }
.admin-tab span { font-size:.68rem; letter-spacing:.08em; opacity:.55; }
.admin-tab:hover { background:var(--soft); color:var(--ink); }
.admin-tab.active { background:var(--ink); color:#fff; }
.admin-content { min-width:0; }
.admin-section { display:none; background:#fff; border:1px solid var(--line); border-radius:18px; padding:30px; box-shadow:var(--shadow); }
.admin-section.active { display:block; }
.admin-section-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.admin-section-header h2 { font-size:clamp(1.7rem,3vw,2.25rem); margin:6px 0 5px; }
.admin-section-header p { margin:0; }
.admin-panel { margin-top:22px; padding:22px; border:1px solid var(--line); border-radius:14px; background:#faf8f6; }
.admin-panel.hidden { display:none; }
.admin-panel .admin-form { margin-top:0; }
.admin-list-heading { margin-top:28px; padding-top:22px; }
.admin-list-heading h3 { margin:0 0 4px; font-size:1.2rem; }
.admin-help { color:var(--muted); font-size:.82rem; line-height:1.5; margin:7px 0 0; font-weight:500; }
.checkbox-label { display:flex !important; align-items:center; gap:8px !important; font-weight:650 !important; margin-top:10px; }
.checkbox-label input { width:auto; }
.board-photo-editor { display:grid; grid-template-columns:130px 1fr; gap:18px; align-items:center; }
.board-photo-preview { width:130px; aspect-ratio:1; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--soft); display:grid; place-items:center; color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.board-photo-preview img { width:100%; height:100%; object-fit:cover; display:block; }
.admin-board-list { display:grid; gap:12px; margin-top:22px; }
.admin-board-card { display:grid; grid-template-columns:92px 1fr; gap:16px; align-items:center; padding:14px; border:1px solid var(--line); border-radius:14px; background:#faf8f6; }
.admin-board-photo { width:92px; height:92px; border-radius:12px; overflow:hidden; background:var(--soft); display:grid; place-items:center; color:var(--muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; }
.admin-board-photo img { width:100%; height:100%; object-fit:cover; }
.admin-board-info { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.admin-board-info .eyebrow { font-size:.68rem; margin-bottom:4px; }
.admin-board-info h3 { margin:0 0 5px; font-size:1.12rem; }
.admin-board-info p { margin:0; color:var(--muted); font-size:.88rem; line-height:1.5; }
.admin-board-actions { display:flex; gap:8px; flex-shrink:0; }
.account-panel { max-width:650px; }
.account-note { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.login-card { max-width:620px; margin:0 auto; }
@media (max-width:800px) {
  .admin-workspace { grid-template-columns:1fr; }
  .admin-tabs { position:static; display:grid; grid-template-columns:repeat(4,1fr); gap:5px; padding:6px; }
  .admin-tab { justify-content:center; text-align:center; padding:11px 7px; font-size:.78rem; }
  .admin-tab span { display:none; }
}
@media (max-width:650px) {
  .admin-section { padding:20px; }
  .admin-dashboard-head { align-items:flex-start; flex-direction:column; }
  .admin-section-header { flex-direction:column; }
  .admin-section-header .button { width:100%; }
  .admin-tabs { grid-template-columns:1fr 1fr; }
  .board-photo-editor { grid-template-columns:1fr; }
  .admin-board-card { grid-template-columns:72px 1fr; }
  .admin-board-photo { width:72px; height:72px; }
  .admin-board-info { align-items:flex-start; flex-direction:column; }
  .admin-board-actions { width:100%; }
  .admin-board-actions .admin-small { flex:1; }
}
