.rsv-wrap{max-width:var(--rsv-form-width);margin:24px auto;padding:24px;background:var(--rsv-bg);color:var(--rsv-text);font-family:var(--rsv-font);font-size:var(--rsv-font-size);border:1px solid var(--rsv-border);border-radius:var(--rsv-radius);box-shadow:0 12px 30px rgba(15,23,42,.08)}
.rsv-wrap *{box-sizing:border-box}.rsv-wrap h2{margin:0 0 18px;color:var(--rsv-primary);font-size:1.6em}.rsv-form label{display:block;margin:0 0 14px;font-weight:600}.rsv-form input,.rsv-form textarea{width:100%;margin-top:6px;padding:12px 13px;border:1px solid var(--rsv-border);border-radius:calc(var(--rsv-radius) - 4px);font:inherit;background:#fff;color:var(--rsv-text)}.rsv-form input:focus,.rsv-form textarea:focus{outline:2px solid color-mix(in srgb,var(--rsv-primary),transparent 72%);border-color:var(--rsv-primary)}.rsv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rsv-button,.rsv-small-button{appearance:none;border:0;background:var(--rsv-primary);color:#fff;padding:12px 18px;border-radius:calc(var(--rsv-radius) - 4px);font-weight:700;cursor:pointer}.rsv-small-button{padding:8px 11px;font-size:.9em}.rsv-danger{background:var(--rsv-error)}.rsv-link-button{border:0;background:transparent;color:var(--rsv-primary);text-decoration:underline;cursor:pointer}.rsv-slots{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.rsv-slot{border:1px solid var(--rsv-border);background:#fff;color:var(--rsv-text);padding:9px 12px;border-radius:999px;cursor:pointer}.rsv-slot.is-selected{background:var(--rsv-primary);color:#fff;border-color:var(--rsv-primary)}.rsv-slot[disabled]{opacity:.45;cursor:not-allowed}.rsv-message{margin-top:12px;font-weight:600}.rsv-alert{padding:12px 14px;border-radius:var(--rsv-radius);background:#f9fafb}.rsv-alert-error{background:#fef2f2;color:#991b1b}.rsv-card{padding:16px;border:1px solid var(--rsv-border);border-radius:var(--rsv-radius);background:#fff;margin:0 0 12px}.rsv-reservation-card{display:flex;align-items:center;justify-content:space-between;gap:14px}.rsv-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.rsv-badge{display:inline-flex;align-items:center;background:color-mix(in srgb,var(--rsv-accent),transparent 84%);color:var(--rsv-text);padding:4px 9px;border-radius:999px;font-size:.86em;font-weight:700}.rsv-muted{color:var(--rsv-muted)}.rsv-credit{font-size:.82em;text-align:center;color:var(--rsv-muted);margin:18px 0 0}.rsv-credit a{color:inherit}.rsv-align-right{text-align:right}.rsv-consent{font-weight:400!important}.rsv-consent input{width:auto!important;margin-right:8px}@media(max-width:640px){.rsv-grid{grid-template-columns:1fr}.rsv-reservation-card{display:block}.rsv-actions{justify-content:flex-start;margin-top:12px}}
.rsv-form select{width:100%;margin-top:6px;padding:12px 13px;border:1px solid var(--rsv-border);border-radius:calc(var(--rsv-radius) - 4px);font:inherit;background:#fff;color:var(--rsv-text)}
.rsv-modal{width:min(720px,calc(100vw - 28px));max-height:88vh;overflow:auto;border:1px solid var(--rsv-border);border-radius:var(--rsv-radius);padding:24px;background:#fff;color:var(--rsv-text);font-family:var(--rsv-font);box-shadow:0 24px 80px rgba(15,23,42,.24)}
.rsv-modal::backdrop{background:rgba(15,23,42,.52)}
.rsv-modal h3{margin-top:0;color:var(--rsv-primary)}
.rsv-modal-close{text-align:right;margin:-8px -8px 8px}
.rsv-owner-edit-form .rsv-message{color:var(--rsv-primary)}
.rsv-card h3,.rsv-card h4{margin:0 0 10px;color:var(--rsv-primary)}
.rsv-timeline-item{border-top:1px solid var(--rsv-border);padding:10px 0}
.rsv-timeline-item:first-of-type{border-top:0}
.rsv-guest-messages{background:color-mix(in srgb,var(--rsv-accent),transparent 94%)}

.rsv-success-panel{text-align:center;padding:28px 20px;border:1px solid color-mix(in srgb,var(--rsv-success),transparent 62%);border-radius:var(--rsv-radius);background:color-mix(in srgb,var(--rsv-success),transparent 94%)}
.rsv-success-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 14px;border-radius:999px;background:var(--rsv-success);color:#fff;font-size:34px;font-weight:800;line-height:1}
.rsv-success-panel h3{margin:0 0 10px;color:var(--rsv-primary);font-size:1.35em}
.rsv-success-text{max-width:620px;margin:0 auto;color:var(--rsv-text);line-height:1.55}
.rsv-success-text p{margin:0 0 10px}
