.cloudflare-admin .admin-nav button {
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: rgba(255,255,255,.82);
  display: block;
  font: inherit;
  font-weight: 500;
  padding: 10px 12px;
  text-align: left;
  width: 100%;
}
.cloudflare-admin .admin-nav button:hover,
.cloudflare-admin .admin-nav button.active { background: var(--olive); color:#fff; }
.admin-dialog { border:0; border-radius:18px; box-shadow:0 24px 80px rgba(30,30,24,.35); max-height:calc(100dvh - 32px); max-width:760px; padding:24px; width:min(92vw,760px); }
.admin-dialog::backdrop { background:rgba(35,35,29,.62); backdrop-filter:blur(3px); }
.admin-form-grid { display:grid; gap:14px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.admin-form-grid .full { grid-column:1/-1; }
.admin-list { display:grid; gap:12px; }
.admin-list-card { background:#fff; border:1px solid rgba(108,105,84,.16); border-radius:12px; padding:16px; }
.admin-list-card header { align-items:start; display:flex; gap:12px; justify-content:space-between; }
.admin-list-card .actions { display:flex; flex-wrap:wrap; gap:8px; }
.rsvp-person { background:#fff; border:1px solid rgba(108,105,84,.18); border-radius:12px; margin-top:12px; padding:16px; }
.rsvp-person .attendance-choice { margin-top:10px; }
.rsvp-person .dietary-field { display:none; margin:12px 0 0; }
.rsvp-person.is-attending .dietary-field { display:block; }
.guest-result { align-items:center; display:flex; justify-content:space-between; gap:12px; }
.thank-monogram { height:110px; object-fit:contain; width:110px; }
.admin-empty { background:rgba(255,255,255,.55); border:1px dashed var(--neutral-accent); border-radius:12px; padding:30px; text-align:center; }
.seating-admin-grid { display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.seat-grid { display:grid; gap:8px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.lookup-form .input-group { flex-wrap:nowrap; }
.guest-result-list { display:grid; gap:10px; }
.guest-result-list button { align-items:center; background:#fff; border:1px solid rgba(108,105,84,.24); border-radius:14px; color:var(--dark-text); display:flex; gap:16px; justify-content:space-between; min-height:72px; padding:14px 18px; text-align:left; width:100%; }
.guest-result-list button:hover { border-color:var(--accent-olive); transform:translateY(-1px); }
.guest-result-list span { display:grid; gap:3px; }
.guest-result-list small { color:var(--muted-taupe); }
.empty-state,.existing-rsvp-card,.invitation-rsvp-card { background:#fff; border:1px solid rgba(108,105,84,.2); border-radius:18px; padding:clamp(20px,4vw,36px); }
.mobile-form { display:grid; gap:18px; }
.mobile-form label,.admin-form-grid label,.seat-grid label { display:grid; font-weight:600; gap:7px; }
.rsvp-people { display:grid; gap:16px; }
.rsvp-person-card { background:var(--secondary-bg); border:1px solid rgba(108,105,84,.2); border-radius:16px; padding:18px; }
.person-heading { align-items:center; display:flex; gap:12px; margin-bottom:14px; }
.person-heading span { color:var(--accent-olive); font-family:"Cormorant Garamond",serif; font-size:1.25rem; }
.person-heading h3 { margin:0; }
.rsvp-person-card fieldset { border:0; margin:12px 0; padding:0; }
.rsvp-person-card legend { font-size:.9rem; font-weight:600; }
.attendance-buttons { display:grid; gap:10px; grid-template-columns:1fr 1fr; }
.attendance-buttons label { cursor:pointer; display:block; }
.attendance-buttons input { position:absolute; opacity:0; }
.attendance-buttons span { align-items:center; border:1px solid var(--neutral-accent); border-radius:12px; display:flex; justify-content:center; min-height:50px; padding:10px; }
.attendance-buttons input:checked + span { background:var(--primary-bg); border-color:var(--primary-bg); color:#fff; }
.contact-grid { display:grid; gap:14px; grid-template-columns:1fr 1fr; }
.admin-page-header { align-items:flex-end; display:flex; gap:16px; justify-content:space-between; margin-bottom:24px; }
.admin-page-header h1 { margin:0; }
.admin-stats { display:grid; gap:14px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.admin-stats article { background:#fff; border:1px solid rgba(108,105,84,.16); border-radius:14px; display:grid; padding:18px; }
.admin-stats strong { font-family:"Cormorant Garamond",serif; font-size:clamp(2rem,5vw,3rem); line-height:1; }
.admin-stats small { color:var(--muted-taupe); }
.admin-dashboard-grid { display:grid; gap:16px; grid-template-columns:2fr 1fr; margin-top:18px; }
.money-total { font-family:"Cormorant Garamond",serif; font-size:2rem; }
.status-pill { background:var(--secondary-bg); border-radius:99px; display:inline-block; font-size:.76rem; font-weight:700; letter-spacing:.04em; margin-bottom:8px; padding:5px 9px; text-transform:uppercase; }
.status-pill.success { background:#e3eadf; color:#355033; }
.status-pill.muted { background:#eee; color:#666; }
.supplier-money { display:flex; flex-wrap:wrap; gap:18px; margin-top:12px; }
.supplier-money span { display:grid; }
.long-table-preview { align-items:center; background:var(--table-color); border:2px solid var(--accent-olive); border-radius:8px; display:flex; justify-content:center; margin:18px auto; min-height:86px; width:min(90%,360px); }
.long-table-preview span { font-family:"Cormorant Garamond",serif; font-size:1.35rem; font-weight:700; }
@media (max-width:991px) { .cloudflare-admin .admin-nav button { display:inline-flex; flex:0 0 auto; min-height:42px; width:auto; } }
@media (max-width:767px) { .admin-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-dashboard-grid,.contact-grid { grid-template-columns:1fr; } }
@media (max-width:575px) {
  .lookup-form .input-group { display:grid; gap:10px; grid-template-columns:1fr; }
  .lookup-form .input-group > * { border-radius:12px!important; width:100%; }
  .admin-form-grid,.seat-grid { grid-template-columns:1fr; }
  .admin-dialog { border-radius:14px; padding:18px; width:calc(100vw - 16px); }
  .admin-list-card header,.admin-page-header { align-items:stretch; flex-direction:column; }
  .admin-list-card .actions,.admin-list-card .actions .btn,.admin-page-header > .btn { width:100%; }
  .attendance-buttons { grid-template-columns:1fr; }
  .admin-stats { grid-template-columns:1fr 1fr; }
  .admin-stats article { padding:14px; }
  .supplier-money { display:grid; grid-template-columns:repeat(3,1fr); }
}
