.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); }
}
.admin-access-monogram {
  touch-action: manipulation;
  user-select: none;
  -webkit-user-drag: none;
}

.admin-login-screen {
  align-items: center;
  background:
    radial-gradient(circle at 15% 10%, rgba(152,149,132,.24), transparent 34%),
    radial-gradient(circle at 90% 90%, rgba(108,105,84,.16), transparent 36%),
    var(--secondary-background);
  display: flex;
  justify-content: center;
  min-height: 100dvh;
  padding: clamp(18px, 5vw, 48px);
}
.admin-login-panel {
  border-radius: 20px;
  box-shadow: 0 24px 70px rgba(71,71,53,.2);
  margin: 0;
  max-width: 470px;
  overflow: hidden;
  padding: clamp(26px, 6vw, 44px);
  width: 100%;
}
.admin-login-monogram {
  display: block;
  height: 92px;
  margin: 0 auto 16px;
  object-fit: contain;
  width: 92px;
}
.admin-login-panel h1 { font-size: clamp(2.45rem, 9vw, 4rem); }
.admin-login-panel .form-control { min-width: 0; width: 100%; }

.seating-header-actions { display:flex; flex-wrap:wrap; gap:10px; }
.seating-metrics { margin-bottom:20px; }
.seating-floor-scroll { max-width:100%; overflow:auto; overscroll-behavior:contain; }
.seating-floor {
  min-width: 760px;
  touch-action: pan-x pan-y;
  width: 100%;
}
.seating-table {
  transform: translate(-50%, -50%) rotate(var(--table-rotation, 0deg));
}
.seating-table-surface {
  border: 2px solid var(--olive);
  cursor: grab;
  height: 100%;
  width: 100%;
}
.seating-table.is-dragging .seating-table-surface { cursor:grabbing; }
.seating-seat {
  background: transparent;
  border: 0;
  padding: 0;
}
.seating-rotate-handle,
.seating-resize-handle { border:2px solid #fff; padding:0; }
.seating-sidebar-heading { align-items:center; display:flex; justify-content:space-between; margin-bottom:14px; }
.seating-sidebar-heading h2 { margin:0; }

@media (max-width: 991px) {
  .seating-workspace { grid-template-columns:1fr; }
  .seating-sidebar-card { order:2; }
  .seating-floor-card { min-width:0; }
  .seating-floor-toolbar { align-items:flex-start; }
}

@media (max-width: 575px) {
  .admin-login-screen { align-items:flex-start; padding:14px; }
  .admin-login-panel { border-radius:16px; margin-top:max(10px, env(safe-area-inset-top)); padding:24px 20px; }
  .admin-login-monogram { height:74px; width:74px; }
  .seating-header-actions,
  .seating-header-actions .btn { width:100%; }
  .seating-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .seating-floor-toolbar { display:grid; padding:14px; }
  .seating-floor { min-height:600px; }
  .seating-floor-help { padding:12px 14px; }
  .seating-unassigned-list { grid-template-columns:1fr; }
}

@media print {
  .seating-header-actions,
  .seating-sidebar-card { display:none !important; }
  .seating-floor-scroll { overflow:visible; }
  .seating-floor { min-width:0; width:100%; }
}

