/* Robomatis Vendor Portal (WP) */
:root {
    --bg: #fff;
    --muted: #f6f7fb;
    --border: #e7e9ee;
    --text: #0f172a;
    --sub: #475569;
    --shadow: 0 2px 10px rgba(0, 0, 0, .04);
    --radius: 14px;
    --cta-blue: #0ea5e9;
    --cta-black: #0b0f19;
    --ok: #16a34a;
    --bad: #ef4444;
}
.white-f{
    color:#fff !important;
}
.rmvp-card h2 {
    margin: 0 0 12px;
    font-size: 18px;
    font-weight: bold;
}

.rmvp-card h3 {
    margin: 18px 0 8px;
    font-size: 15px;
     font-weight: bold;
}

.rmvp-wrap {
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    color: var(--text);
}

.rmvp-top {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.rmvp-top h1 {
    margin: 0;
    font-size: 22px;
    letter-spacing: -.02em;
}

.rmvp-top p {
    margin: 6px 0 0;
    color: var(--sub);
    font-size: 13px;
}

.rmvp-badges {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
}

.rmvp-badge {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    padding: 7px 10px;
    border: 1px solid var(--border);
    background: #fff;
    border-radius: 999px;
    font-size: 12px;
    color: var(--sub);
    box-shadow: 0 1px 6px rgba(0, 0, 0, .03);
}

.rmvp-badge.ok {
    border-color: rgba(22, 163, 74, .25);
    background: rgba(22, 163, 74, .06);
    color: #065f46;
}

.rmvp-badge.warn {
    border-color: rgba(245, 158, 11, .25);
    background: rgba(245, 158, 11, .08);
    color: #7c2d12;
}

.rmvp-badge.rmvp-info {
    border-color: rgba(14, 165, 233, .25);
    background: rgba(14, 165, 233, .08);
    color: #075985;
}

.rmvp-grid {
    display: grid;
    grid-template-columns: 1.65fr 1fr;
    gap: 18px;
}

.rmvp-row.rmvp-row3{
  grid-template-columns: 1fr 1fr 1fr;
}

.rmvp-note.warn {
  background: rgba(245,158,11,.10);
  color: #7c2d12;
  border-color: rgba(245,158,11,.25);
}
@media(max-width:900px){
  .rmvp-row.rmvp-row3{
    grid-template-columns: 1fr;
  }
}

@media(max-width:980px) {
    .rmvp-grid {
        grid-template-columns: 1fr;
    }
}

.rmvp-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 18px;
    box-shadow: var(--shadow);
}

.rmvp-card.muted {
    background: var(--muted);
}

.rmvp-card h2 {
    margin: 0 0 10px;
    font-size: 16px;
    letter-spacing: -.01em;
    display: block;
    margin-block-start: 0.83em;
    margin-block-end: 0.83em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
    unicode-bidi: isolate;
}

.rmvp-desc {
    margin: 0 0 14px;
    color: var(--sub);
    font-size: 13px;
    line-height: 1.45;
}

.rmvp-stepper {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.rmvp-step {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    user-select: none;
}

.rmvp-step .n {
    width: 26px;
    height: 26px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 12px;
    background: #f1f5f9;
    color: #0f172a;
    border: 1px solid rgba(15, 23, 42, .08);
}

.rmvp-step .t {
    font-size: 12px;
    color: var(--sub);
    font-weight: 650;
}

.rmvp-step.active {
    border-color: rgba(14, 165, 233, .35);
    box-shadow: 0 0 0 3px rgba(14, 165, 233, .12);
}

.rmvp-step.done .n {
    background: rgba(22, 163, 74, .10);
    border-color: rgba(22, 163, 74, .25);
    color: #166534;
}

.rmvp-hr {
    height: 1px;
    background: var(--border);
    margin: 14px 0;
}

.rmvp-form {
    display: grid;
    gap: 12px;
}

.rmvp-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

@media(max-width:640px) {
    .rmvp-row {
        grid-template-columns: 1fr;
    }
}

.rmvp-field label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: var(--text);
    margin: 0 0 6px;
}

.rmvp-req {
    color: var(--bad);
    margin-right: 3px;
    font-weight: 900;
}

.rmvp-help {
    margin: 6px 0 0;
    font-size: 12px;
    color: var(--sub);
    line-height: 1.35;
}

.rmvp-input,
.rmvp-select,
.rmvp-textarea {
    width: 100% !important;
    padding: 12px 12px !important;
    border: 1px solid #d7dbe6 !important;
    border-radius: 12px !important;
    background: #fff !important;
    outline: none !important;
    font: inherit !important;
    font-size: 14px;
}

.rmvp-input.number-small{
    width: 60px !important;
}
#bsvp-processes-input-items-tbody .rmvp-select{
    width: auto !important;
}
.rmvp-field .select2-container--default .select2-selection--single {
    width: 100% !important;
    padding: 12px 12px !important;
    border: 1px solid #d7dbe6 !important;
    border-radius: 12px !important;
    background: #fff !important;
    outline: none !important;
    font: inherit !important;
    font-size: 14px;
    height: 50px !important;
}

.rmvp-field .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 5px;
}

.rmvp-textarea {
    min-height: 110px;
    resize: vertical;
}

.rmvp-input:focus,
.rmvp-select:focus,
.rmvp-textarea:focus {
    border-color: rgba(14, 165, 233, .65);
    box-shadow: 0 0 0 3px rgba(14, 165, 233, .14);
}

.rmvp-check {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fff;
}

.rmvp-check input {
    margin-top: 3px;
}

.rmvp-btnbar {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 12px;
}

.rmvp-btns {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.rmvp-btn {
    border: none;
    border-radius: 12px;
    padding: 11px 14px;
    font-weight: 800;
    cursor: pointer;
    font-size: 14px;
}

.rmvp-btn:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.rmvp-btn.ghost {
    background: transparent;
    border: 1px solid var(--border);
    color: var(--text);
    /* width: 120px; */
}

#bsvp-modal-btn-variable{
  color:#0ea5e9;
  border: 1px solid #0ea5e9;
  background: #e0f2fe; /* lighter blue fill (matches request) */
  font-weight: 600;
  font-size: 14px;
  padding: 10px 12px;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  &:hover {
    background: #0ea5e9;
    color: #fff;
  }
  &:active {
    background: #0ea5e9;
    color: #fff;
  }
  &:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(14, 165, 233, .14);
  }
  &:disabled {
    opacity: 0.55;
    cursor: not-allowed;
  }
  &:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(14, 165, 233, .14);
  }
  &:focus-within {
    outline: none;
    box-shadow: 0 0 0 3px rgba(14, 165, 233, .14);
  }
  &:focus-within {
    outline: none;
    box-shadow: 0 0 0 3px rgba(14, 165, 233, .14);
  }
}
.rmvp-btn.blue {
    background: var(--cta-blue);
    color: #fff;
}

.rmvp-btn.black {
    background: var(--cta-black);
    color: #fff;
}

.rmvp-note {
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: var(--muted);
    color: var(--sub);
    font-size: 13px;
    line-height: 1.45;
}

.rmvp-note.ok {
    border-color: rgba(22, 163, 74, .25);
    background: rgba(22, 163, 74, .06);
    color: #065f46;
}

.rmvp-note.bad {
    border-color: rgba(239, 68, 68, .25);
    background: rgba(239, 68, 68, .06);
    color: #7f1d1d;
}

.rmvp-note.rmvp-info {
    border-color: rgba(14, 165, 233, .25);
    background: rgba(14, 165, 233, .08);
    color: #075985;
}

.bsvp-cat-open {
    background-color: transparent !important;
    border: none;
}

.list-group-item{
    padding: 0px !important;
}
.list-group-item button{
    padding: 5px;
    margin: 0px;
}
.list-group-item.is-selected {
    border-color: #28a745;
    background: #eaf7ee;
}

.rmvp-step.vat-ok {
    border-color: #198754;
    color: #198754;
}

.rmvp-step.vat-bad {
    border-color: #dc3545;
    color: #dc3545;
}

.rmvp-step.vat-warn {
    border-color: #ffc107;
    color: #b58100;
}
.ai-field-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap; /* keeps it responsive */
}

.ai-field-row .rmvp-field {
  flex: 1 1 0;
  margin-bottom: 0; /* remove vertical stacking gap */
}

.ai-field-row .rmvp-field:last-child {
  flex: 0 0 auto; /* remove button does not stretch */
}

.rmvp-disabled {
  opacity: 0.6;
  pointer-events: none;
}

/* Validation error state for required fields */
.rmvp-field.rmvp-error input,
.rmvp-field.rmvp-error select,
.rmvp-field.rmvp-error textarea {
  border-color: #dc3545;
  background: rgba(239, 68, 68, .04);
}
.rmvp-field.rmvp-error label {
  color: #7f1d1d;
}

/* File field: current file + remove button */
.rmvp-file-current {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 6px;
}
.rmvp-file-current .rmvp-file-remove {
  flex-shrink: 0;
}

/* shared grid for header + rows */
.bsvp-s7-row-grid{
  display:grid;
  grid-template-columns:
    1fr     /* group */
    1.3fr   /* field */
    0.8fr   /* type */
    0.6fr   /* unit */
    1fr     /* value */
    0.8fr   /* visibility */
    0.9fr   /* source */
    44px;   /* delete button */
  gap:10px;
  align-items:center;
}

/* row card */
.bsvp-s7-spec-row{
  padding:10px;
  background:#f9fafb;
  border-radius:12px;
  margin-bottom:10px;
}

/* header styling */
.bsvp-s7-row-grid--head{
  padding:0 10px;            /* aligns with row padding */
  margin-bottom:8px;
}

.bsvp-s7-h{
  font-size:12px;
  font-weight:700;
  color:#111827;
  opacity:.8;
  text-transform:uppercase;
  letter-spacing:.02em;
}

/* mobile: hide header and stack fields */
@media (max-width: 900px){
  .bsvp-s7-spec-head{ display:none; }
  .bsvp-s7-row-grid{
    grid-template-columns: 1fr 1fr;
  }
}

.select2-container--default.select2-container--focus .select2-selection--multiple{
    min-height: 50px;
    border: 1px solid #d7dbe6 !important;
  border-radius: 12px !important;
}

.tabpane .bsvp-bank-row.rmvp-form{
    border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
  overflow: hidden;
  padding: 16px 16px 10px;
}

[data-tab="bank"] .card,
[data-tab="service"] .card{
    padding: 16px 16px 10px;
}

/* vednor list table */

.bsvp-admin-shell {
    --bsvp-bg: #f8fafc;
    --bsvp-card-bg: #ffffff;
    --bsvp-border: #e2e8f0;
    --bsvp-text: #0f172a;
    --bsvp-sub: #64748b;
    --bsvp-pill-bg: #0f172a;
    --bsvp-pill-text: #ffffff;
    --bsvp-radius: 14px;
  }
  .bsvp-admin-shell {
    margin-top: 12px;
  }
  .bsvp-admin-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
  }
  .bsvp-admin-title {
    font-size:18px;
    font-weight:700;
    margin:0;
    color:var(--bsvp-text);
  }
  .bsvp-admin-sub {
    margin:4px 0 0;
    font-size:12px;
    color:var(--bsvp-sub);
  }
  .bsvp-admin-pill {
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 10px;
    border-radius:999px;
    background:var(--bsvp-pill-bg);
    color:var(--bsvp-pill-text);
    font-size:11px;
    font-weight:600;
  }
  .bsvp-admin-card {
    background:var(--bsvp-card-bg);
    border:1px solid var(--bsvp-border);
    border-radius:var(--bsvp-radius);
    padding:14px 16px;
    box-shadow:0 1px 2px rgba(15,23,42,.06);
    margin-bottom:14px;
  }
  .bsvp-admin-card h2 {
    font-size:14px;
    margin:0 0 6px;
  }
  .bsvp-admin-card p.description {
    margin:0 0 10px;
    font-size:12px;
    color:var(--bsvp-sub);
  }
  #bsvp-vendors-table {
    margin-top: 6px;
  }
  #bsvp-vendors-table th,
  #bsvp-vendors-table td {
    font-size:12px;
  }
  .bsvp-status-badge {
    display:inline-flex;
    align-items:center;
    padding:3px 8px;
    border-radius:999px;
    font-size:11px;
    font-weight:600;
    border:1px solid var(--bsvp-border);
    background:#f1f5f9;
    color:#475569;
  }
  .bsvp-status-badge--draft { background:#f8fafc; }
  .bsvp-status-badge--submited { background:#fffbeb; color:#92400e; border-color:#fed7aa; }
  .bsvp-status-badge--approved { background:#ecfdf5; color:#166534; border-color:#bbf7d0; }

/* First variable batch: shared steps 1–3 + 8 (service) + 10 until Marketing save unlocks the rest */
.bsvp-product-form.bsvp-group-shared-setup .rmvp-step[data-product-step="4"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-step[data-product-step="5"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-step[data-product-step="6"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-step[data-product-step="7"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-step[data-product-step="9"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-step[data-product-step="11"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-step[data-product-step="75"],
.bsvp-product-stepper-card.bsvp-group-shared-setup .rmvp-step[data-product-step="4"],
.bsvp-product-stepper-card.bsvp-group-shared-setup .rmvp-step[data-product-step="5"],
.bsvp-product-stepper-card.bsvp-group-shared-setup .rmvp-step[data-product-step="6"],
.bsvp-product-stepper-card.bsvp-group-shared-setup .rmvp-step[data-product-step="7"],
.bsvp-product-stepper-card.bsvp-group-shared-setup .rmvp-step[data-product-step="9"],
.bsvp-product-stepper-card.bsvp-group-shared-setup .rmvp-step[data-product-step="11"],
.bsvp-product-stepper-card.bsvp-group-shared-setup .rmvp-step[data-product-step="75"] {
  display: none !important;
}

.bsvp-product-form.bsvp-group-shared-setup .rmvp-section[data-product-step="4"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-section[data-product-step="5"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-section[data-product-step="6"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-section[data-product-step="7"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-section[data-product-step="9"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-section[data-product-step="11"],
.bsvp-product-form.bsvp-group-shared-setup .rmvp-section[data-product-step="7898"] {
  display: none !important;
}

/* Variable product attribute builder (WooCommerce-style) */
.bsvp-variable-attributes-list .bsvp-variable-attribute-row {
  margin-bottom: 4px;
}
.bsvp-variant-modal-root .bsvp-variant-modal-card {
  max-width: 640px;
}

/* Prominent variable header (above stepper, all steps) — matches vendor dashboard */
.bsvp-product-form > .bsvp-variation-context-banner.bsvp-variation-version-banner {
  margin: 0 0 16px;
  padding: 0;
  border-radius: 12px;
  border: 2px solid var(--blue, #0ea5e9);
  background: linear-gradient(225deg, #f0f9ff 0%, #e0f2fe 100%);
  box-shadow: 0 4px 14px rgba(14, 165, 233, 0.15);
}
.bsvp-variation-version-banner__inner {
  padding: 16px 20px 18px;
}
.bsvp-variation-version-banner__eyebrow {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #0369a1;
  margin-bottom: 8px;
}
.bsvp-variation-version-banner__value {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.25;
  color: #0c4a6e;
  word-break: break-word;
}
@media (min-width: 768px) {
  .bsvp-variation-version-banner__value {
    font-size: 1.625rem;
  }
}

.bsvp-variation-context-banner__hint {
  margin-top: 10px;
  margin-bottom: 0;
  font-size: 13px;
  color: #475569;
}

/* Stepper card directly under variation banner */
.bsvp-product-form > .bsvp-product-stepper-card.rmvp-card {
  margin-top: 0;
}
.bsvp-product-form > .bsvp-product-main-grid.rmvp-product-grid {
  margin-top: 18px !important;
}

/* Portal buttons — avoid WP/Woo `.button` / `button.button` so theme checkout styles don’t apply */
button.bsvp-btn,
a.bsvp-btn {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  font-family: inherit;
  line-height: 1.2;
  cursor: pointer;
  box-sizing: border-box;
  text-decoration: none;
  vertical-align: middle;
}
a.bsvp-btn {
  display: inline-flex !important;
}
button.bsvp-btn {
  border-style: solid;
  border-width: 1px;
}
.bsvp-btn--sm {
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 4px;
  min-height: 28px;
}

/* Vendor dashboard product list: Edit / Start actions (matches admin vendor products) */
/* Product list: variant added by attribute expansion */
.bsvp-badge-new-variant {
  display: inline-block;
  margin-right: 6px;
  padding: 1px 6px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #92400e;
  background: #fef3c7;
  border: 1px solid #fcd34d;
  border-radius: 4px;
  vertical-align: middle;
}
.bsvp-expand-banner {
  border-right: 4px solid #0ea5e9;
}

.bsvp-products-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  align-items: center;
  max-width: 100%;
  overflow-x: auto;
}
.bsvp-products-actions form {
  margin: 0;
}
/* Shared layout; colors scoped so Start (green) is not overridden by a.bsvp-btn… */
a.bsvp-btn.bsvp-product-action-link,
.bsvp-product-action-link {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  background: transparent !important;
  line-height: 1.2;
}
/* Edit — blue (unchanged) */
a.bsvp-btn.bsvp-product-action-link--edit,
.bsvp-product-action-link--edit {
  border: 1px solid #0ea5e9 !important;
  color: #0ea5e9 !important;
}
a.bsvp-btn.bsvp-product-action-link--edit:hover,
a.bsvp-btn.bsvp-product-action-link--edit:focus,
.bsvp-product-action-link--edit:hover,
.bsvp-product-action-link--edit:focus {
  background: rgba(14, 165, 233, 0.08) !important;
  border-color: #0284c7 !important;
  color: #0284c7 !important;
}
/* Start — green */
a.bsvp-btn.bsvp-product-action-link--start,
.bsvp-product-action-link--start {
  border: 1px solid #16a34a !important;
  color: #15803d !important;
}
a.bsvp-btn.bsvp-product-action-link--start:hover,
a.bsvp-btn.bsvp-product-action-link--start:focus,
.bsvp-product-action-link--start:hover,
.bsvp-product-action-link--start:focus {
  background: rgba(22, 163, 74, 0.1) !important;
  border-color: #15803d !important;
  color: #166534 !important;
}
.bsvp-product-action-icon {
  width: 16px;
  height: 16px;
  font-size: 16px;
  line-height: 1;
  flex-shrink: 0;
}
.bsvp-product-action-text {
  white-space: nowrap;
}
.bsvp-product-action-icon--danger {
  color: inherit !important;
}
/* Delete: same ghost/outline treatment as Edit / Start (no WP default black) */
.bsvp-delete-product-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  background: transparent !important;
  border: 1px solid #fecaca !important;
  color: #b91c1c !important;
  line-height: 1.2;
  font-weight: 600 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.bsvp-delete-product-btn:hover,
.bsvp-delete-product-btn:focus {
  background: rgba(185, 28, 28, 0.06) !important;
  border-color: #f87171 !important;
  color: #991b1b !important;
  box-shadow: none !important;
}
.bsvp-delete-product-btn .dashicons {
  color: inherit !important;
}
.bsvp-push-to-zoho-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  background: transparent !important;
  border: 1px solid #0ea5e9 !important;
  color: #0ea5e9 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.bsvp-push-to-zoho-btn:hover,
.bsvp-push-to-zoho-btn:focus {
  background: rgba(14, 165, 233, 0.08) !important;
  border-color: #0284c7 !important;
  color: #0284c7 !important;
  box-shadow: none !important;
}
/* Group header: title + actions on one row */
.bsvp-group-header-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  width: 100%;
}
.bsvp-group-header-main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.bsvp-group-header-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.bsvp-group-header-main .bsvp-group-count {
  margin-right: 0;
}
.bsvp-group-header-actions .bsvp-delete-group-btn,
.bsvp-group-header-actions .bsvp-add-variation-btn {
  margin-right: 0 !important;
}
.bsvp-group-header .bsvp-delete-group-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  padding: 2px 8px !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  border-radius: 6px;
  background: transparent !important;
  border: 1px solid #fecaca !important;
  color: #b91c1c !important;
  box-shadow: none !important;
  text-shadow: none !important;
  height: auto !important;
  min-height: 0 !important;
}
.bsvp-group-header .bsvp-delete-group-btn:hover,
.bsvp-group-header .bsvp-delete-group-btn:focus {
  background: rgba(185, 28, 28, 0.06) !important;
  border-color: #f87171 !important;
  color: #991b1b !important;
  box-shadow: none !important;
}
.bsvp-group-header .bsvp-delete-group-btn .dashicons {
  color: inherit !important;
}

/* Group header: compact “Add variation” — same outline style as Edit */
.bsvp-group-header td {
  vertical-align: middle;
}
.bsvp-group-header .bsvp-add-variation-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  margin-right: 0 !important;
  padding: 2px 8px !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  border-radius: 6px;
  background: transparent !important;
  border: 1px solid #0ea5e9 !important;
  color: #0ea5e9 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  height: auto !important;
  min-height: 0 !important;
}
.bsvp-group-header .bsvp-add-variation-btn:hover,
.bsvp-group-header .bsvp-add-variation-btn:focus {
  background: rgba(14, 165, 233, 0.08) !important;
  border-color: #0284c7 !important;
  color: #0284c7 !important;
  box-shadow: none !important;
}

/* —— Add variation modal (vendor dashboard) —— */
.bsvp-add-variation-modal {
  position: fixed;
  inset: 0;
  z-index: 100050;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
}
.bsvp-add-variation-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
}
.bsvp-add-variation-modal__card {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 520px;
  max-height: calc(100vh - 32px);
  overflow: auto;
  background: #fff;
  border-radius: 16px;
  padding: 22px 20px 18px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28);
}
.bsvp-add-variation-modal__close {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid var(--border, #e2e8f0);
  background: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  color: #0f172a;
}
.bsvp-av-title {
  margin: 0 0 8px;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--text, #0f172a);
  padding-left: 40px;
}
.bsvp-av-sub {
  margin: 0 0 16px;
  font-size: 13px;
  color: var(--sub, #475569);
  line-height: 1.45;
}
.bsvp-av-muted {
  margin: 0;
  color: #64748b;
  font-size: 14px;
}
.bsvp-av-scenarios {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 16px;
}
.bsvp-av-scenario {
  text-align: right;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 12px;
  padding: 12px 14px;
  background: #fafafa;
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.bsvp-av-scenario:hover {
  border-color: var(--cta-blue, #0ea5e9);
  box-shadow: 0 2px 10px rgba(14, 165, 233, 0.12);
}
.bsvp-av-scenario--a { border-right: 4px solid #16a34a; }
.bsvp-av-scenario--b { border-right: 4px solid #ea580c; }
.bsvp-av-scenario__badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  color: #64748b;
  margin-left: 8px;
}
.bsvp-av-scenario strong {
  display: block;
  font-size: 14px;
  color: #0f172a;
  margin-bottom: 4px;
}
.bsvp-av-scenario__ex {
  display: block;
  font-size: 12px;
  color: #64748b;
  line-height: 1.35;
}
.bsvp-av-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 16px;
}
.bsvp-av-error {
  color: var(--bad, #ef4444);
  font-size: 13px;
  margin: 8px 0 0;
}
.bsvp-av-hint {
  font-size: 13px;
  color: #0369a1;
  margin: 8px 0 0;
}
.bsvp-av-warn {
  background: #fffbeb;
  border: 1px solid #fde68a;
  color: #92400e;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 13px;
  margin-bottom: 12px;
  line-height: 1.45;
}
.bsvp-av-review-table-wrap {
  max-height: 240px;
  overflow: auto;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 10px;
}
.bsvp-av-review-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.bsvp-av-review-table th,
.bsvp-av-review-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #f1f5f9;
  text-align: right;
}
.bsvp-av-review-table th {
  background: #f8fafc;
  font-weight: 700;
  font-size: 12px;
  color: #475569;
}
.bsvp-av-review-table tr:last-child td {
  border-bottom: none;
}