.rpmse-booking{--rpmse-bg:#fff;--rpmse-line:#e5e7eb;--rpmse-soft:#f8fafc;--rpmse-muted:#64748b;font-family:inherit;color:#111827;margin:28px 0;scroll-margin-top:90px}.rpmse-booking *{box-sizing:border-box}.rpmse-booking-shell{display:grid;grid-template-columns:230px minmax(0,1fr);border:1px solid var(--rpmse-line);border-radius:var(--rpmse-radius,18px);background:var(--rpmse-bg);box-shadow:0 18px 55px rgba(15,23,42,.08);overflow:hidden}.rpmse-booking-steps{background:#0f172a;color:#e5e7eb;padding:22px;display:flex;flex-direction:column;gap:10px}.rpmse-booking-steps button{appearance:none;border:0;background:transparent;color:inherit;text-align:left;padding:12px 10px;border-radius:14px;display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:700}.rpmse-booking-steps button span{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.12);font-size:12px}.rpmse-booking-steps button.is-active{background:rgba(255,255,255,.12);color:#fff}.rpmse-booking-steps button.is-active span,.rpmse-booking-steps button.is-complete span{background:var(--rpmse-accent,#f59e0b);color:#111827}.rpmse-booking-main{padding:28px;min-width:0}.rpmse-kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--rpmse-accent,#f59e0b);font-weight:800}.rpmse-booking__header h2{margin:.25rem 0 .5rem;font-size:clamp(24px,3vw,34px);line-height:1.1}.rpmse-booking__header p{color:var(--rpmse-muted);margin:0 0 14px}.rpmse-booking__facts{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 2px}.rpmse-booking__facts span{border:1px solid var(--rpmse-line);background:var(--rpmse-soft);padding:7px 11px;border-radius:999px;font-size:13px;font-weight:700}.rpmse-step{display:none;margin-top:22px}.rpmse-step.is-active{display:block}.rpmse-step h3{margin:0 0 14px;font-size:20px}.rpmse-step-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.rpmse-btn,.rpmse-btn-secondary{appearance:none;border:0;border-radius:14px;padding:12px 18px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.rpmse-btn{background:var(--rpmse-primary,#111827);color:#fff}.rpmse-btn:hover{color:#fff;filter:brightness(1.08)}.rpmse-btn-secondary{background:#eef2f7;color:#111827}.rpmse-service-summary{display:grid;gap:4px;border:1px solid var(--rpmse-line);background:var(--rpmse-soft);border-radius:16px;padding:16px}.rpmse-service-summary strong{font-size:18px}.rpmse-service-summary span{font-weight:800}.rpmse-service-summary small{color:var(--rpmse-muted)}.rpmse-extras-list{display:grid;gap:10px}.rpmse-extra-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid var(--rpmse-line);padding:14px;border-radius:16px;background:#fff;cursor:pointer}.rpmse-extra-card:hover{border-color:var(--rpmse-accent,#f59e0b)}.rpmse-extra-card span{display:grid;gap:2px}.rpmse-extra-card small{color:var(--rpmse-muted)}.rpmse-extra-card em{font-style:normal;font-weight:800}.rpmse-booking__controls,.rpmse-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rpmse-booking label{display:grid;gap:6px;font-weight:700}.rpmse-booking label span{font-size:13px;color:#334155}.rpmse-booking input,.rpmse-booking select,.rpmse-booking textarea{width:100%;border:1px solid var(--rpmse-line);border-radius:12px;padding:11px 12px;font:inherit;background:#fff}.rpmse-slots{display:flex;flex-wrap:wrap;gap:8px;min-height:48px;margin-top:14px}.rpmse-slot{border:1px solid var(--rpmse-line);background:#fff;border-radius:999px;padding:9px 13px;cursor:pointer;font-weight:800}.rpmse-slot.is-active{border-color:var(--rpmse-primary,#111827);background:var(--rpmse-primary,#111827);color:#fff}.rpmse-muted{color:var(--rpmse-muted);font-size:14px}.rpmse-confirm-box{border:1px solid var(--rpmse-line);border-radius:16px;background:var(--rpmse-soft);padding:14px;display:grid;gap:8px}.rpmse-confirm-row{display:grid;grid-template-columns:130px 1fr;gap:12px}.rpmse-confirm-row strong{color:#334155}.rpmse-response{margin-top:14px;font-weight:800}.rpmse-response--error{color:#b91c1c}.rpmse-response--success{color:#047857}.rpmse-response--loading{color:#0369a1}.rpmse-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.rpmse-service-card{border:1px solid var(--rpmse-line);border-radius:16px;padding:18px;background:#fff}.rpmse-service-card h3{margin-top:0}.rpmse-service-card__meta{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.rpmse-service-card__meta span{background:var(--rpmse-soft);border-radius:999px;padding:6px 9px;font-size:13px}.rpmse-notice{padding:12px;border:1px solid var(--rpmse-line);border-radius:12px;background:var(--rpmse-soft)}.rpmse-booking-template{display:block}.rpmse-booking--top_steps .rpmse-booking-shell,.rpmse-booking--compact .rpmse-booking-shell{grid-template-columns:1fr}.rpmse-booking--top_steps .rpmse-booking-steps,.rpmse-booking--compact .rpmse-booking-steps{flex-direction:row;overflow:auto}.rpmse-booking--compact .rpmse-booking-steps button{font-size:0}.rpmse-booking--compact .rpmse-booking-steps button span{font-size:12px}@media(max-width:760px){.rpmse-booking-shell{grid-template-columns:1fr}.rpmse-booking-steps{flex-direction:row;overflow-x:auto;padding:12px}.rpmse-booking-steps button{white-space:nowrap;font-size:13px}.rpmse-booking-main{padding:18px}.rpmse-booking__controls,.rpmse-form-grid{grid-template-columns:1fr}.rpmse-confirm-row{grid-template-columns:1fr}.rpmse-step-actions{justify-content:stretch}.rpmse-btn,.rpmse-btn-secondary{width:100%}}

.rpmse-realtime-note{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0 8px 8px 0;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  background:rgba(16,185,129,.10);
  color:#047857;
}
.rpmse-booking--realtime-changed .rpmse-booking__header::after{
  content:'Actualizado en vivo';
  display:inline-flex;
  margin-top:10px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(245,158,11,.14);
  color:#92400e;
  font-size:12px;
  font-weight:700;
}

/* v0.9.3 participants/intake */
.rpmse-participants{margin:16px 0;padding:14px;border:1px solid rgba(0,0,0,.08);border-radius:var(--rpmse-radius,14px);background:rgba(0,0,0,.025)}
.rpmse-participants h4,.rpmse-intake-fields h4{margin:0 0 12px;font-size:1rem}
.rpmse-participant-row{padding:12px 0;border-top:1px solid rgba(0,0,0,.08)}
.rpmse-participant-row:first-of-type{border-top:0}
.rpmse-participant-row>strong{display:block;margin-bottom:8px}
.rpmse-intake-fields{margin:16px 0;padding:14px;border:1px solid rgba(0,0,0,.08);border-radius:var(--rpmse-radius,14px);background:#fff}

.rpmse-payment-result{display:grid;gap:8px;padding:18px;border:1px solid rgba(34,197,94,.28);border-radius:var(--rpmse-radius,18px);background:#f0fdf4;color:#14532d}.rpmse-payment-result strong{font-size:18px}.rpmse-payment-result span,.rpmse-payment-result small{display:block}.rpmse-payment-result .rpmse-btn--pay{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;margin-top:8px}.rpmse-payment-result__links{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.rpmse-payment-result__links a{font-weight:700;color:var(--rpmse-primary,#111827)}


/* v0.9.11 customer portal/payment completion */
.rpmse-customer-portal{max-width:980px;margin:32px auto;padding:0 16px}
.rpmse-customer-portal>h2{font-size:clamp(26px,4vw,40px);line-height:1.05;margin:0 0 20px;color:#0f172a}
.rpmse-portal-card{border:1px solid #e5e7eb;border-radius:22px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.08);padding:22px;margin:18px 0;overflow:hidden}
.rpmse-portal-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.rpmse-portal-card__head h3{margin:.2rem 0 0;font-size:clamp(20px,3vw,28px);line-height:1.1;color:#111827}
.rpmse-portal-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.rpmse-badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;background:#f1f5f9;color:#334155}.rpmse-badge--approved,.rpmse-badge--payment-paid_woocommerce,.rpmse-badge--payment-paid_manual{background:#dcfce7;color:#166534}.rpmse-badge--pending_payment,.rpmse-badge--payment-pending_woocommerce,.rpmse-badge--payment-unpaid{background:#fef3c7;color:#92400e}.rpmse-badge--cancelled,.rpmse-badge--payment-failed_woocommerce,.rpmse-badge--payment-expired{background:#fee2e2;color:#991b1b}
.rpmse-portal-alert{display:grid;gap:3px;margin:12px 0 16px;border-radius:16px;padding:13px 14px}.rpmse-portal-alert strong{font-size:15px}.rpmse-portal-alert span{font-size:13px}.rpmse-portal-alert--payment{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.rpmse-portal-alert--success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}
.rpmse-portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}.rpmse-portal-grid>div{border:1px solid #eef2f7;background:#f8fafc;border-radius:16px;padding:13px}.rpmse-portal-grid strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.rpmse-portal-grid span{display:block;margin-top:4px;font-weight:800;color:#111827}
.rpmse-portal-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 8px}.rpmse-portal-actions .button,.rpmse-inline-action .button{border-radius:12px!important;padding:8px 14px!important;font-weight:800!important;text-decoration:none!important}.rpmse-portal-actions .button-primary,.rpmse-inline-action .button-primary,.rpmse-portal-action--primary{background:#111827!important;border-color:#111827!important;color:#fff!important}.rpmse-inline-action{display:inline-flex;margin:0}
.rpmse-portal-ticket{display:grid;justify-items:center;gap:10px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px;padding:18px;margin-top:16px;text-align:center}.rpmse-portal-ticket h4{margin:0;font-size:20px}.rpmse-portal-ticket img{width:min(260px,80vw);height:auto;background:#fff;border-radius:16px;padding:14px;box-shadow:0 12px 30px rgba(15,23,42,.12)}.rpmse-portal-details{margin-top:14px;border-top:1px solid #e5e7eb;padding-top:12px}
@media(max-width:680px){.rpmse-portal-card__head{display:grid}.rpmse-portal-badges{justify-content:flex-start}.rpmse-portal-actions .button,.rpmse-inline-action,.rpmse-inline-action .button{width:100%;justify-content:center;text-align:center}.rpmse-portal-grid{grid-template-columns:1fr}}

/* v0.9.13 portal payment status panel */
.rpmse-portal-payment-info{display:grid;gap:10px;margin:16px 0;border:1px solid #e5e7eb;border-radius:18px;background:#f8fafc;padding:15px}.rpmse-portal-payment-info>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}.rpmse-portal-payment-info>div:first-child strong{font-size:16px;color:#111827}.rpmse-portal-payment-info>div:first-child span{font-weight:800;color:#334155}.rpmse-portal-payment-meta{display:grid;gap:5px;color:#475569;font-size:13px}.rpmse-portal-payment-cta{margin:4px 0 0}.rpmse-portal-payment-cta .button{width:auto}

/* v0.9.16 canonical recovery + payment bridge */
.rpmse-payment-center{margin:12px 0;padding:14px;border:1px solid #e5e7eb;border-radius:14px;background:#f9fafb}
.rpmse-payment-center--paid{background:#ecfdf5;border-color:#bbf7d0}
.rpmse-payment-center--awaiting_confirmation,.rpmse-payment-center--proof_uploaded{background:#fffbeb;border-color:#fde68a}
.rpmse-payment-center--failed,.rpmse-payment-center--expired{background:#fef2f2;border-color:#fecaca}
.rpmse-proof-upload{margin-top:12px;padding:12px;border:1px dashed #d1d5db;border-radius:12px;background:#fff}
.rpmse-proof-form label{display:block;margin:10px 0}
.rpmse-proof-form input[type="text"],.rpmse-proof-form input[type="number"],.rpmse-proof-form textarea{width:100%;max-width:520px}
