.vc-admin-actions {
  display:flex; margin-top:auto; padding:8px 12px 10px;
  border-top:1px solid var(--line-soft);
}
.vc-admin-actions .btn {
  display:inline-flex; width:100%; min-height:0; align-items:center; justify-content:center;
  padding:6px 12px; border-color:var(--line-soft); background:transparent;
  color:var(--muted); font-size:12px;
}
.vc-admin-actions .btn:hover { color:var(--ink); background:var(--surface-2); }

/* 球馆编辑不是「一张很长的设置表」：将业务信息拆成连续的小卡片，
   在桌面端保持扫读节奏，在手机端则每张卡片独立滚动和操作。 */
.va-editor-modal {
  display:flex; width:min(860px,calc(100vw - 40px)); max-width:860px; max-height:calc(100vh - 72px);
  max-height:calc(100dvh - 72px); flex-direction:column; overflow:hidden;
}
.va-editor-modal .modal-head { align-items:center; padding:24px 28px 10px; }
.va-editor-modal .modal-head h3 { padding-right:12px; font-size:22px; letter-spacing:-.02em; }
.va-editor-modal .modal-close { width:38px; height:38px; font-size:21px; }
.va-editor-modal .modal-body { min-height:0; padding:12px 28px 24px; overflow-x:hidden; overflow-y:auto; }
.va-editor-modal .modal-foot {
  flex-shrink:0; padding:14px 28px 22px; border-top:1px solid var(--line);
  background:var(--surface); box-shadow:0 -10px 22px rgba(0,0,0,.025);
}
.va-form { display:flex; flex-direction:column; gap:14px; min-width:0; }
.va-editor-intro { display:flex; align-items:center; gap:10px; margin-bottom:2px; padding:0 2px; }
.va-editor-intro>span,.va-section-head>span,.va-qr-copy>span {
  flex:0 0 auto; color:var(--accent); font:800 10px/1 var(--mono); letter-spacing:.09em;
}
.va-editor-intro p { margin:0; color:var(--muted); font-size:12px; line-height:1.55; }

.va-section {
  min-width:0; padding:17px; border:1px solid var(--line); border-radius:14px;
  background:color-mix(in srgb,var(--surface-2) 62%,transparent);
}
.va-section-head { display:grid; grid-template-columns:28px minmax(0,1fr); gap:10px; align-items:start; }
.va-section-head>span { display:grid; width:28px; height:22px; place-items:center; border-radius:6px; background:rgba(var(--accent-rgb),.11); }
.va-section-head h4 { margin:0; color:var(--ink); font-size:15px; line-height:1.35; }
.va-section-head p { margin:4px 0 0; color:var(--muted); font-size:11.5px; line-height:1.55; }
.va-section-content { min-width:0; margin-top:15px; }

.va-hint { margin:9px 0 0; color:var(--muted); font-size:11.5px; line-height:1.65; }
.va-fields { display:grid; min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.va-fields label { display:flex; min-width:0; flex-direction:column; gap:7px; color:var(--ink-2); font-size:12px; font-weight:650; }
.va-fields input,.va-fields select,.va-fields textarea {
  width:100%; min-width:0; box-sizing:border-box; padding:10px 12px; border:1px solid var(--line);
  border-radius:9px; background:var(--surface); color:var(--ink); font:14px var(--font); outline:0;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.va-fields input,.va-fields select { min-height:44px; }
.va-fields textarea { min-height:104px; resize:vertical; line-height:1.6; }
.va-fields input:focus,.va-fields select:focus,.va-fields textarea:focus {
  border-color:var(--accent); background:var(--surface); box-shadow:0 0 0 3px rgba(var(--accent-rgb),.13);
}
.va-wide,.va-basic-grid label:first-of-type { grid-column:1/-1; }
.va-compact-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:12px; }
.va-booking { border-color:rgba(var(--accent-rgb),.32); background:linear-gradient(135deg,rgba(var(--accent-rgb),.075),color-mix(in srgb,var(--surface-2) 70%,transparent)); }
.va-booking-fields { grid-template-columns:minmax(0,1.3fr) minmax(150px,.7fr); }
.va-service-fields { grid-template-columns:minmax(0,220px); margin-top:12px; }

.va-qr-panel {
  display:grid; grid-template-columns:minmax(0,1fr) 154px; gap:14px; align-items:center; min-width:0;
  margin-top:14px; padding:13px; border:1px solid rgba(var(--accent-rgb),.24); border-radius:11px; background:var(--surface);
}
.va-qr-copy { min-width:0; }
.va-qr-copy p { margin:6px 0 12px; color:var(--muted); font-size:11.5px; line-height:1.65; }
.va-buttons { display:flex; gap:8px; flex-wrap:wrap; }
.va-buttons .btn,.va-locate { min-height:38px; padding:8px 11px; font-size:12px; }
.va-qr-preview {
  display:grid; min-height:126px; place-items:center; overflow:hidden; border:1px dashed var(--line);
  border-radius:9px; background:var(--surface-2);
}
#va-booking-qr { margin:0; }
#va-booking-qr img { display:block; width:min(126px,100%); aspect-ratio:1; object-fit:contain; background:#fff; }
.va-no-booking-qr { padding:12px; color:var(--muted); font-size:11px; line-height:1.5; text-align:center; }

.va-feature-picks { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.va-check {
  display:inline-flex; min-height:38px; align-items:center; gap:7px; padding:0 11px; border:1px solid var(--line);
  border-radius:8px; background:var(--surface); color:var(--ink-2); font-size:12px; font-weight:650;
}
.va-check input { width:16px; height:16px; margin:0; accent-color:var(--accent); }
.va-location-grid { margin-top:12px; }
.va-locate { border-color:rgba(var(--accent-rgb),.38); color:var(--accent); }

#va-cover { margin:0 0 12px; }
#va-cover img { display:block; width:100%; max-height:260px; object-fit:contain; border-radius:10px; background:var(--surface); }
.va-no-cover { padding:30px 12px; border:1px dashed var(--line); border-radius:10px; background:var(--surface); color:var(--muted); font-size:12px; text-align:center; }
.va-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:14px 0; }
.va-photo { overflow:hidden; border:1px solid var(--line-soft); border-radius:9px; background:var(--surface); }
.va-photo img { display:block; width:100%; height:112px; object-fit:cover; }
.va-photo>div { display:flex; flex-wrap:wrap; gap:4px; padding:6px; }
.va-photo .btn { flex:1; min-width:0; padding:7px 5px; font-size:11px; }

.modal-foot .va-delete { margin-right:auto; color:#b42318; border-color:rgba(180,35,24,.38); }
.modal-foot .va-delete:hover { background:rgba(180,35,24,.08); }

@media(max-width:700px) {
  .va-editor-modal { width:100%; max-width:100%; max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); border-radius:18px; }
  .va-editor-modal .modal-head { padding:18px 16px 8px; }
  .va-editor-modal .modal-head h3 { font-size:20px; }
  .va-editor-modal .modal-body { padding:10px 14px 18px; }
  .va-editor-modal .modal-foot { padding:11px 14px calc(12px + env(safe-area-inset-bottom)); }
  .va-section { padding:14px; border-radius:12px; }
  .va-section-head { grid-template-columns:25px minmax(0,1fr); gap:8px; }
  .va-section-head>span { width:25px; height:21px; font-size:9px; }
  .va-section-head h4 { font-size:14px; }
  .va-section-head p,.va-editor-intro p { font-size:11px; }
  .va-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .va-editor-modal .modal-foot { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:8px; }
  .va-editor-modal .modal-foot .btn { min-height:45px; justify-content:center; margin:0; }
  .va-editor-modal .modal-foot .va-delete { grid-column:1/-1; min-height:39px; }
}

@media(max-width:560px) {
  .va-form { gap:12px; }
  .va-editor-intro { align-items:flex-start; flex-direction:column; gap:5px; }
  .va-fields,.va-booking-fields,.va-service-fields { grid-template-columns:1fr; }
  .va-compact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .va-compact-grid .va-compact:last-child { grid-column:1/-1; }
  .va-basic-grid label:first-of-type { grid-column:auto; }
  .va-qr-panel { grid-template-columns:1fr; }
  .va-qr-preview { min-height:112px; }
  #va-booking-qr img { width:112px; }
  .va-feature-picks { display:grid; grid-template-columns:1fr; }
  .va-check { min-height:42px; }
  .va-photo img { height:104px; }
}
