.rbs-wrapper { max-width: 780px; margin: 40px auto; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
			.rbs-card-main { background: #fff; border-radius: 20px; box-shadow: 0 20px 60px rgba(0,0,0,0.08); padding: 40px; border: 1px solid #eaeaea; }
			.rbs-stepper { display: flex; justify-content: center; gap: 60px; margin-bottom: 36px; position: relative; }
			.rbs-stepper::before { content: ""; position: absolute; top: 18px; left: 30%; right: 30%; height: 2px; background: #eee; z-index: 0; }
			.rbs-step { display: flex; flex-direction: column; align-items: center; z-index: 1; }
			.rbs-circle { width: 38px; height: 38px; border-radius: 50%; background: #eee; color: #888; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 15px; margin-bottom: 8px; transition: all 0.3s; }
			.rbs-step.active .rbs-circle { background: var(--rbs-primary, #0f766e); color: #fff; transform: scale(1.12); }
			.rbs-step.completed .rbs-circle { background: #34a853; color: #fff; }
			.rbs-step span { font-size: 11px; font-weight: 700; text-transform: uppercase; color: #888; letter-spacing: 0.5px; }
			.rbs-step.active span { color: var(--rbs-primary, #0f766e); }
			.rbs-panel { display: none; }
			.rbs-panel.active { display: block; animation: rbsFade 0.3s ease; }
			@keyframes rbsFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

			/* Course banner */
			.rbs-course-banner { background: linear-gradient(135deg, var(--rbs-primary, #0f766e) 0%, #0d9488 100%); border-radius: 14px; padding: 22px 26px; margin-bottom: 24px; color: #fff; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; }
			.rbs-course-banner h3 { margin: 0 0 4px; font-size: 16px; font-weight: 700; line-height: 1.3; }
			.rbs-course-banner p { margin: 0; font-size: 13px; opacity: 0.9; }
			.rbs-course-price { font-size: 28px; font-weight: 800; }

			/* Timetable cards */
			.rbs-section-title { font-size: 15px; font-weight: 800; text-transform: uppercase; color: var(--rbs-primary, #0f766e); letter-spacing: 0.5px; margin: 28px 0 14px; }
			.rbs-tt-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 22px; }
			.rbs-tt-card { background: #fff; border: 2px solid #eaeaea; border-radius: 14px; padding: 16px 14px; cursor: pointer; transition: all 0.2s; position: relative; text-align: center; }
			.rbs-tt-card:hover { border-color: var(--rbs-primary, #0f766e); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(15,118,110,0.12); }
			.rbs-tt-card.active { border-color: var(--rbs-primary, #0f766e); background: var(--rbs-light, #f0fdfa); box-shadow: 0 8px 24px rgba(15,118,110,0.15); }
			.rbs-tt-badge { position: absolute; top: -9px; left: 50%; transform: translateX(-50%); background: #fbbf24; color: #78350f; font-size: 9px; font-weight: 800; padding: 3px 10px; border-radius: 20px; text-transform: uppercase; letter-spacing: 0.4px; white-space: nowrap; }
			.rbs-tt-icon { font-size: 24px; margin-bottom: 6px; }
			.rbs-tt-name { font-size: 13px; font-weight: 800; color: #1a1d20; margin-bottom: 4px; line-height: 1.2; }
			.rbs-tt-days { font-size: 11px; color: #666; font-weight: 600; margin-bottom: 2px; }
			.rbs-tt-time { font-size: 11px; color: var(--rbs-primary, #0f766e); font-weight: 700; }

			/* Date grid */
			.rbs-date-group { display: none; }
			.rbs-date-group.active { display: block; }
			.rbs-date-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 10px; margin-bottom: 18px; }
			.rbs-date-card { padding: 14px 8px; border: 2px solid #eaeaea; border-radius: 12px; background: #fff; cursor: pointer; text-align: center; transition: all 0.2s; }
			.rbs-date-card:hover { border-color: var(--rbs-primary, #0f766e); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(15,118,110,0.12); }
			.rbs-date-card.selected { border-color: var(--rbs-primary, #0f766e); background: var(--rbs-light, #f0fdfa); box-shadow: 0 6px 20px rgba(15,118,110,0.2); }
			.rbs-date-day { font-size: 10px; font-weight: 800; text-transform: uppercase; color: var(--rbs-primary, #0f766e); letter-spacing: 0.5px; margin-bottom: 2px; }
			.rbs-date-num { font-size: 26px; font-weight: 800; color: #111; line-height: 1; margin-bottom: 2px; }
			.rbs-date-month { font-size: 11px; color: #666; font-weight: 600; margin-bottom: 6px; }
			.rbs-date-slots { font-size: 9px; color: #166534; font-weight: 700; background: #dcfce7; padding: 2px 7px; border-radius: 10px; display: inline-block; }

			.rbs-no-dates { padding: 24px; text-align: center; color: #666; background: #f8f9fa; border-radius: 10px; font-size: 14px; }

			.rbs-selected-info { background: var(--rbs-light, #f0fdfa); border: 1px solid #5eead4; border-radius: 10px; padding: 16px 18px; margin-bottom: 22px; font-size: 13px; color: var(--rbs-primary, #0f766e); line-height: 1.7; }
			.rbs-selected-info strong { color: var(--rbs-hover, #0d5f59); }

			/* Form */
			.rbs-form-group { margin-bottom: 14px; }
			.rbs-form-group label { display: block; font-weight: 600; font-size: 12px; margin-bottom: 5px; color: #333; }
			.rbs-form-group input, .rbs-form-group select { width: 100%; padding: 11px 14px; border: 1.5px solid #ddd; border-radius: 9px; font-size: 14px; transition: border-color 0.2s; box-sizing: border-box; font-family: inherit; }
			.rbs-form-group input:focus { outline: none; border-color: var(--rbs-primary, #0f766e); box-shadow: 0 0 0 3px rgba(15,118,110,0.1); }
			.rbs-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

			/* Buttons */
			.rbs-actions { display: flex; justify-content: space-between; margin-top: 24px; gap: 12px; }
			.rbs-btn { padding: 13px 26px; border-radius: 10px; font-size: 15px; font-weight: 700; border: none; cursor: pointer; transition: all 0.2s; font-family: inherit; }
			.rbs-btn-next, .rbs-btn-primary { background: var(--rbs-primary, #0f766e); color: #fff; margin-left: auto; }
			.rbs-btn-next:hover, .rbs-btn-primary:hover { background: var(--rbs-hover, #0d5f59); transform: translateY(-1px); }
			.rbs-btn-prev { background: #f1f1f1; color: #333; }
			.rbs-btn-prev:hover { background: #e5e5e5; }
			.rbs-btn-secondary { background: #fff; color: var(--rbs-primary, #0f766e); border: 2px solid var(--rbs-primary, #0f766e); width: 100%; margin-bottom: 12px; }
			.rbs-btn-secondary:hover { background: var(--rbs-light, #f0fdfa); }

			/* Summary */
			.rbs-summary { background: #f8f9fa; padding: 20px; border-radius: 12px; margin-bottom: 20px; border: 1px solid #eee; }
			.rbs-summary h4 { margin: 0 0 12px; font-size: 14px; font-weight: 800; color: #1a1d20; text-transform: uppercase; letter-spacing: 0.4px; }
			.rbs-summary p { display: flex; justify-content: space-between; margin: 8px 0; font-size: 13px; color: #444; }
			.rbs-summary p span { color: #666; }
			.rbs-summary p strong { color: #111; }
			.rbs-summary .rbs-total { border-top: 1px solid #ddd; padding-top: 12px; font-size: 17px; margin-top: 12px; font-weight: 800; }
			.rbs-summary .rbs-total span { color: var(--rbs-primary, #0f766e); font-weight: 800; }

			.rbs-payment-box { margin-bottom: 14px; padding: 16px; border: 1px solid #eee; border-radius: 10px; background: #fafafa; }
			.rbs-msg { padding: 16px; border-radius: 10px; margin-top: 16px; display: none; font-weight: 600; text-align: center; }
			.rbs-msg.success { display: block; background: #dcfce7; color: #166534; border: 1px solid #86efac; }
			.rbs-msg.error { display: block; background: #fee2e2; color: #991b1b; border: 1px solid #fca5a5; }

			@media (max-width: 640px) {
				.rbs-card-main { padding: 22px; border-radius: 14px; }
				.rbs-tt-grid { grid-template-columns: 1fr; }
				.rbs-form-row { grid-template-columns: 1fr; }
				.rbs-stepper { gap: 30px; }
			}

/* Payment Step 2 only — preserve Step 1 timetable, date grid and student form. */
.rbs-wrapper .rbs-panel[data-step="2"]{color:#19373e}
.rbs-wrapper .rbs-panel[data-step="2"] [hidden]{display:none!important}
.rbs-wrapper .rbsp-checkout-heading{text-align:center;margin:6px 0 22px}
.rbs-wrapper .rbsp-checkout-kicker{font-size:10px;color:var(--rbs-primary,#0f766e);font-weight:850;letter-spacing:1.8px}
.rbs-wrapper .rbsp-checkout-heading h2{margin:8px 0 8px;font-size:25px;font-weight:800;color:#172f39;line-height:1.25}
.rbs-wrapper .rbsp-checkout-heading p{color:#6e7d86;font-size:13px;line-height:1.5;margin:0}
.rbs-wrapper .rbsp-checkout-test{background:#fffbeb;border:1px solid #f4e8b3;color:#80540b;border-radius:10px;padding:12px 15px;text-align:center;font-size:12px;font-weight:700}
.rbs-wrapper .rbs-panel[data-step="2"] .rbs-summary{background:#f9fbfb;border:1px solid #e3eaea;border-radius:16px;padding:22px 23px;box-shadow:0 5px 17px rgba(15,45,52,.035);margin:0 0 27px}
.rbs-wrapper .rbsp-summary-title{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;letter-spacing:1.3px;color:#819198;font-weight:850;margin:0 0 8px}
.rbs-wrapper .rbsp-price-label{letter-spacing:0;background:#edf4f2;color:#41605e;border-radius:30px;padding:5px 8px}
.rbs-wrapper .rbs-panel[data-step="2"] .rbs-summary h4{color:#173a3b;font-size:16px;text-transform:none;letter-spacing:0;line-height:1.4;margin-bottom:17px}
.rbs-wrapper .rbs-panel[data-step="2"] .rbs-summary p{gap:15px;font-size:12px;line-height:1.5;border-bottom:1px solid #edf0f0;margin:0;padding:10px 0;align-items:flex-start}
.rbs-wrapper .rbs-panel[data-step="2"] .rbs-summary p span{flex:0 0 37%;color:#6b8086}
.rbs-wrapper .rbs-panel[data-step="2"] .rbs-summary p strong{text-align:right;font-weight:700;color:#24464c;overflow-wrap:anywhere}
.rbs-wrapper .rbs-panel[data-step="2"] .rbs-summary p.rbs-total{margin-top:8px;border:0;padding:17px 0 0;align-items:center}
.rbs-wrapper .rbs-panel[data-step="2"] .rbs-summary .rbs-total span{font-weight:800;font-size:14px;color:#224149}
.rbs-wrapper .rbs-panel[data-step="2"] .rbs-summary .rbs-total strong{font-size:25px;font-weight:850;white-space:nowrap;color:var(--rbs-primary,#0f766e)}
.rbs-wrapper .rbsp-method-heading h3{font-size:16px;font-weight:800;color:#1f3a42;margin:0 0 5px}
.rbs-wrapper .rbsp-method-heading p{color:#7b8a92;margin:0 0 14px;font-size:12px}
.rbs-wrapper .rbsp-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:0 0 20px}
.rbs-wrapper .rbsp-method{appearance:none;background:#fff;min-width:0;border:2px solid #e1e8e8;border-radius:13px;padding:17px 14px;display:flex;text-align:left;align-items:center;gap:11px;cursor:pointer;color:#24414b;transition:border-color .2s,box-shadow .2s,background .2s}
.rbs-wrapper .rbsp-method:hover{border-color:var(--rbs-primary,#0f766e)}
.rbs-wrapper .rbsp-method:focus-visible,.rbs-wrapper .rbsp-pay-button:focus-visible{outline:3px solid var(--rbs-primary,#0f766e);outline-offset:3px}
.rbs-wrapper .rbsp-method.selected{border-color:var(--rbs-primary,#0f766e);background:var(--rbs-light,#f0fdfa);box-shadow:0 5px 16px rgba(15,118,110,.09)}
.rbs-wrapper .rbsp-method:disabled{opacity:.7;cursor:wait}
.rbs-wrapper .rbsp-method-icon{display:flex;align-items:center;justify-content:center;font-weight:850;font-size:20px;min-width:36px;height:36px;border-radius:10px;color:var(--rbs-primary,#0f766e);background:#eff7f5}
.rbs-wrapper .rbsp-paypal-mark{font-style:italic;color:#145e9a;background:#eaf3ff}
.rbs-wrapper .rbsp-method-text{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.rbs-wrapper .rbsp-method-text strong{font-size:12px;line-height:1.3}
.rbs-wrapper .rbsp-method-text small{font-size:10px;line-height:1.35;color:#758993}
.rbs-wrapper .rbsp-method-check{background:var(--rbs-primary,#0f766e);color:#fff;border-radius:50%;font-size:10px;font-weight:800;width:19px;height:19px;text-align:center;line-height:19px;opacity:0;flex:0 0 19px}
.rbs-wrapper .rbsp-method.selected .rbsp-method-check{opacity:1}
.rbs-wrapper .rbsp-method-panel{padding:21px;border:1px solid #e2eaec;background:#fafcfc;border-radius:15px;min-width:0}
.rbs-wrapper .rbsp-card-label{font-size:12px;font-weight:750;color:#3b535a;display:block;margin:0 0 11px}
.rbs-wrapper .rbsp-card-field{min-height:50px;border-radius:10px;border:1px solid #cbd9df;background:#fff;padding:15px 13px}
.rbs-wrapper .rbsp-card-field:focus-within{border-color:var(--rbs-primary,#0f766e);box-shadow:0 0 0 2px rgba(15,118,110,.10)}
.rbs-wrapper .rbsp-pay-button{width:100%;display:block;min-height:52px;margin:17px 0 0;padding:13px 12px;font-size:15px;font-weight:800}
.rbs-wrapper .rbsp-pay-button:disabled{opacity:.6;cursor:wait;transform:none}
.rbs-wrapper .rbsp-secure-footnote{color:#7b8d94;font-size:11px;line-height:1.6;text-align:center;margin:13px auto 0;max-width:400px}
.rbs-wrapper .rbsp-method-unavailable{padding:20px;border-radius:12px;background:#fff7ec;color:#805f28;font-size:13px;text-align:center}
.rbs-wrapper .rbsp-checkout-actions{border-top:1px solid #eef1f1;margin-top:25px;padding-top:18px;align-items:center;flex-wrap:wrap}
.rbs-wrapper .rbsp-checkout-actions .rbs-btn-prev{margin:0;font-size:12px;padding:11px 14px}
.rbs-wrapper .rbsp-lock-note{color:#7c9094;font-size:11px;margin-left:auto}
.rbs-wrapper .rbs-panel[data-step="2"] .rbs-msg{text-align:left;line-height:1.5;font-weight:650;font-size:12px;margin-top:18px;word-break:break-word}
@media(max-width:640px){.rbs-wrapper .rbsp-checkout-heading h2{font-size:21px}.rbs-wrapper .rbs-panel[data-step="2"] .rbs-summary{padding:17px 15px}.rbs-wrapper .rbsp-methods{grid-template-columns:1fr}.rbs-wrapper .rbsp-method{padding:14px 13px}.rbs-wrapper .rbsp-method-panel{padding:16px 13px}.rbs-wrapper .rbsp-checkout-actions{gap:15px}.rbs-wrapper .rbsp-lock-note{margin-left:0}}

.rbs-wrapper .rbs-panel[data-step="2"].rbsp-compact .rbs-summary{padding:15px}.rbs-wrapper .rbs-panel[data-step="2"].rbsp-compact .rbs-summary p{padding:6px 0}.rbs-wrapper .rbs-panel[data-step="2"].rbsp-compact .rbsp-method-panel{padding:13px}

/* Enhanced payment step: never touch timetable/date selection layout. */
.rbs-wrapper .rbs-panel[data-step="2"]{color:#20343b}
.rbs-wrapper .rbs-panel[data-step="2"] [hidden],
.rbs-wrapper .rbsp-complete[hidden]{display:none!important}
.rbs-wrapper .rbsp-progress{display:flex;align-items:center;gap:12px;padding:13px 16px;background:#f0f8f7;border:1px solid #c5e4de;border-radius:12px;color:#27685e;font-size:13px;font-weight:650;margin-top:16px}
.rbs-wrapper .rbsp-spinner{width:18px;height:18px;flex:0 0 18px;border:2px solid #c2ded8;border-top-color:var(--rbs-primary,#0f766e);border-radius:50%;animation:rbspSpin .8s linear infinite}
@keyframes rbspSpin{to{transform:rotate(360deg)}}
.rbs-wrapper .rbsp-complete{max-width:560px;margin:20px auto 10px;padding:30px 22px;text-align:center;background:linear-gradient(160deg,#fff,#f7fcfa);border:1px solid #d6ebe5;border-radius:20px}
.rbs-wrapper .rbsp-complete-icon{display:grid;place-items:center;margin:0 auto 20px;width:70px;height:70px;background:var(--rbs-primary,#0f766e);border-radius:50%;font-weight:800;font-size:36px;color:#fff;box-shadow:0 14px 28px rgba(15,118,110,.16)}
.rbs-wrapper .rbsp-complete h2{font-size:27px;margin:10px 0 13px;line-height:1.2;color:#163d38}
.rbs-wrapper .rbsp-complete p{font-size:14px;line-height:1.75;color:#576f71}
.rbs-wrapper .rbsp-complete-reference{margin:24px 0;padding:18px;background:#fff;border:1px solid #dfebe7;border-radius:12px;color:#5d7475;font-size:13px}
.rbs-wrapper .rbsp-complete-reference strong{display:block;color:var(--rbs-primary,#0f766e);font-size:26px;margin-top:6px}
.rbs-wrapper .rbsp-complete-note{font-size:12px!important}
.rbs-wrapper .rbsp-method:focus-visible,.rbs-wrapper .rbsp-pay-button:focus-visible,.rbs-wrapper .rbsp-checkout-actions button:focus-visible{outline:3px solid var(--rbs-primary,#0f766e);outline-offset:3px}
.rbs-wrapper .rbsp-method:disabled{cursor:progress;opacity:.73}
.rbs-wrapper .rbsp-method-panel[hidden]{display:none!important}
@media(max-width:640px){.rbs-wrapper .rbsp-complete{padding:24px 15px}.rbs-wrapper .rbsp-complete h2{font-size:23px}.rbs-wrapper .rbsp-progress{font-size:12px}}
@media(prefers-reduced-motion:reduce){.rbs-wrapper .rbsp-spinner{animation-duration:2s}.rbs-wrapper .rbsp-method,.rbs-wrapper .rbsp-pay-button{transition:none}}
