.rpm-sim-booking{max-width:760px;margin:20px auto;padding:24px;border:1px solid #ddd;border-radius:12px;background:#fff;box-sizing:border-box}
.rpm-sim-booking label{font-weight:600;display:block;margin-bottom:7px}
.rpm-sim-booking input,.rpm-sim-booking textarea{width:100%;box-sizing:border-box;padding:11px;border:1px solid #bbb;border-radius:6px}
.rpm-sim-booking textarea{min-height:90px}
.rpm-step{margin-bottom:24px}
.rpm-options{display:flex;flex-wrap:wrap;gap:10px}
.rpm-option,.rpm-time,.rpm-sim-booking button[type=submit],#rpm-check{border:1px solid #222;border-radius:7px;background:#fff;padding:12px 16px;cursor:pointer;font-weight:600}
.rpm-option.selected,.rpm-time.selected{background:#222;color:#fff}
.rpm-help{font-size:.9em;color:#666;margin-top:7px}
.rpm-time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.rpm-time small{display:block;font-weight:400;margin-top:5px;opacity:.75}
.rpm-time.selected small{opacity:1}
.rpm-error{padding:12px;border-radius:7px;background:#fff0f0;color:#9b0000}
#rpm-booking-message{margin-top:15px;padding:12px;border-radius:7px}
#rpm-booking-message.ok{background:#edf9f0;color:#176b2b}
#rpm-booking-message.error{background:#fff0f0;color:#9b0000}
.rpm-customer-form{margin-top:24px;padding-top:20px;border-top:1px solid #ddd}

.rpm-debug { margin-top: 12px; text-align: left; }
.rpm-debug summary { cursor: pointer; font-weight: 600; }
.rpm-debug pre { white-space: pre-wrap; overflow-wrap: anywhere; margin-top: 8px; padding: 10px; background: #f5f5f5; border: 1px solid #ddd; font-size: 12px; line-height: 1.4; }


/* v0.3.1.6 confirmation page */
.rpm-confirmation { max-width: 820px; margin: 40px auto; font-family: inherit; }
.rpm-confirmation-hero { text-align: center; padding: 36px 24px 30px; }
.rpm-confirmation-check { width: 64px; height: 64px; margin: 0 auto 16px; border-radius: 50%; display:flex; align-items:center; justify-content:center; font-size:34px; font-weight:700; border:2px solid currentColor; }
.rpm-confirmation-eyebrow { margin:0 0 8px; font-weight:700; letter-spacing:.12em; font-size:13px; }
.rpm-confirmation-hero h2 { margin:0 0 10px; font-size:36px; }
.rpm-confirmation-hero p:last-child { margin:0; font-size:18px; }
.rpm-confirmation-card { border:1px solid #ddd; border-radius:14px; padding:24px; margin:18px 0; background:#fff; }
.rpm-confirmation-card h3 { margin:0 0 20px; font-size:21px; }
.rpm-confirmation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.rpm-confirmation-grid div { padding:14px 0; border-bottom:1px solid #eee; }
.rpm-confirmation-grid span { display:block; font-size:13px; opacity:.7; margin-bottom:5px; }
.rpm-confirmation-grid strong { display:block; font-size:17px; }
.rpm-confirmation-customer p { margin:7px 0; }
.rpm-confirmation-arrival ul { margin:0; padding-left:20px; }
.rpm-confirmation-arrival li { margin:8px 0; }
.rpm-confirmation-actions { display:flex; gap:12px; justify-content:center; margin-top:24px; flex-wrap:wrap; }
.rpm-confirmation-button, .rpm-confirmation-print { display:inline-block; padding:13px 20px; border-radius:8px; border:1px solid currentColor; text-decoration:none; font-weight:700; cursor:pointer; background:transparent; }
.rpm-confirmation-error { border:1px solid #ddd; border-radius:14px; padding:30px; text-align:center; }
@media (max-width:600px) { .rpm-confirmation-grid { grid-template-columns:1fr; } .rpm-confirmation-hero h2 { font-size:30px; } }
@media print { .rpm-confirmation-actions { display:none; } .rpm-confirmation-card { break-inside:avoid; } }
