.rd-visit-groups { display: grid; gap: 14px; margin: 20px 0 12px; }
.rd-visit-group { margin: 0; padding: 18px; border: 1px solid #c7dcd0; border-radius: 10px; background: #f6f9f4; min-width: 0; }
.rd-visit-group legend { padding: 0 7px; font-weight: 700; color: #204d42; }
.rd-visit-group-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.rd-visit-group-fields > label { display: grid; gap: 6px; font-size: .92rem; font-weight: 700; }
.rd-visit-group-fields input:not([type="checkbox"]),.rd-visit-group-fields select { width: 100%; box-sizing: border-box; min-height: 44px; padding: 9px 12px; border: 1px solid #b7cfc2; border-radius: 7px; background: #fff; font: inherit; color: #153f35; }
.rd-visit-group-fields .rd-visit-cinema { grid-column: 1 / -1; display: flex; gap: 10px; align-items: center; font-weight: 400; }
.rd-visit-cinema input[type="checkbox"] { width: 20px; height: 20px; min-height: 20px; margin: 0; flex: none; accent-color: #185b47; }
.rd-visit-group small { display: block; margin-top: 12px; color: #617269; font-size: .8rem; }
.rd-visit-group [data-remove-group] { margin-top: 12px; padding: 6px 10px; border: 1px solid #d5c7c0; border-radius: 6px; background: #fff; color: #873c30; cursor: pointer; }
[data-aq-add-group] { margin: 0 0 8px; padding: 10px 16px; min-height: 44px; border: 1px solid #bfd3c7; border-radius: 7px; background: #fff; color: #205346; cursor: pointer; }
.rd-visit-preview { padding: 15px 18px; margin: 16px 0; border: 1px solid #c6dbce; border-radius: 8px; background: #edf6ef; color: #1b4b3d; line-height: 1.6; }
.rd-visit-preview.is-error { border-color: #d7b4a7; background: #fff2e9; color: #843f30; }
.rd-native-reservation [data-aq-group] [hidden],.rd-native-reservation [data-aq-add-group][hidden],.rd-native-reservation [data-aq-visit-preview][hidden] { display: none !important; }
.rd-group-visit-detail { scroll-margin-top: 16px; }
.rd-group-visit-detail details { margin-top: 16px; }
.rd-group-visit-detail summary { cursor: pointer; font-weight: 700; padding: 8px 0; }
.rd-group-visit-detail form { display: grid; gap: 14px; }
.rd-group-visit-detail fieldset { border: 1px solid #c6dacd; border-radius: 8px; padding: 14px; }
.rd-group-visit-detail legend { padding: 0 7px; font-weight: 700; }
.rd-group-visit-detail .venue-admin-grid label { display: grid; gap: 5px; }
.rd-group-visit-detail textarea { width: 100%; box-sizing: border-box; resize: vertical; }
@media(max-width:540px){.rd-visit-group-fields{grid-template-columns:1fr}.rd-visit-group-fields .rd-visit-cinema{grid-column:auto}.rd-visit-group{padding:14px}}
