
.lv-booking-backdrop{position:fixed;inset:0;z-index:2147483647;background:rgba(17,20,29,.48);display:grid;place-items:center;padding:20px;backdrop-filter:blur(12px)}
.lv-booking-dialog{width:min(680px,100%);max-height:min(90vh,860px);overflow:auto;background:var(--lv-surface-elevated,#fff);color:var(--lv-text,#20222a);border:1px solid var(--lv-line,rgba(0,0,0,.08));border-radius:28px;box-shadow:var(--lv-shadow-overlay,0 24px 70px rgba(0,0,0,.2));padding:28px;position:relative}
.lv-booking-close{position:absolute;right:18px;top:16px;border:0;background:transparent;font-size:28px;color:var(--lv-muted,#777);cursor:pointer}
.lv-booking-kicker{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--module-accent,var(--place-accent,#b46678))}
.lv-booking-dialog h2{font-family:var(--lv-font-display,inherit);font-size:28px;margin:7px 0 8px}
.lv-booking-dialog>p{margin:0 0 22px;color:var(--lv-muted,#777)}
.lv-booking-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lv-booking-form label{display:grid;gap:7px}.lv-booking-form label.is-wide{grid-column:1/-1}
.lv-booking-form label span{font-size:13px;font-weight:700}.lv-booking-form label small{font-weight:500;color:var(--lv-muted,#777)}
.lv-booking-form input,.lv-booking-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--lv-line,rgba(0,0,0,.12));background:var(--lv-surface-soft,#f8f6f6);color:inherit;border-radius:14px;padding:12px 13px;font:inherit}
.lv-booking-safety{margin:18px 0;padding:15px 16px;border-radius:16px;background:var(--lv-surface-soft,#f8f6f6);font-size:13px}.lv-booking-safety p{margin:5px 0 0;color:var(--lv-muted,#666);line-height:1.5}
.lv-booking-actions{display:flex;justify-content:flex-end;gap:10px}.lv-booking-actions button{border:1px solid var(--lv-line,rgba(0,0,0,.12));border-radius:999px;padding:11px 17px;background:transparent;color:inherit;font-weight:750;cursor:pointer}.lv-booking-actions .is-primary{background:var(--module-accent,var(--place-accent,#b46678));border-color:transparent;color:#fff}
.lv-booking-result{margin-top:16px;padding:15px;border-radius:16px;background:var(--lv-surface-soft,#f8f6f6)}.lv-booking-result p{margin:5px 0 0;color:var(--lv-muted,#666)}
.lv-bookings-view{padding:24px;max-width:1100px;margin:0 auto}.lv-bookings-head span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--module-accent,#b46678)}.lv-bookings-head h1{margin:7px 0 8px;font-size:32px}.lv-bookings-head p{margin:0;color:var(--lv-muted,#777)}
.lv-booking-list{display:grid;gap:12px;margin-top:22px}.lv-booking-card{border:1px solid var(--lv-line,rgba(0,0,0,.08));background:var(--lv-surface-elevated,#fff);border-radius:20px;padding:18px;box-shadow:var(--lv-shadow-card,0 8px 30px rgba(0,0,0,.06));display:grid;gap:12px}.lv-booking-card-head{display:flex;justify-content:space-between;gap:14px}.lv-booking-card h3{margin:0;font-size:18px}.lv-booking-card small{color:var(--lv-muted,#777)}.lv-booking-status{white-space:nowrap;border-radius:999px;padding:6px 10px;background:var(--lv-surface-soft,#f4f2f2);font-size:12px;font-weight:800}.lv-booking-meta{display:flex;flex-wrap:wrap;gap:8px}.lv-booking-meta span{font-size:12px;padding:6px 9px;border-radius:999px;background:var(--lv-surface-soft,#f4f2f2)}.lv-booking-card-actions{display:flex;flex-wrap:wrap;gap:8px}.lv-booking-card-actions button,.lv-booking-card-actions a{border:1px solid var(--lv-line,rgba(0,0,0,.12));border-radius:999px;padding:8px 12px;background:transparent;color:inherit;text-decoration:none;font:inherit;font-weight:700;cursor:pointer}.lv-booking-card-actions .is-primary{background:var(--module-accent,#b46678);border-color:transparent;color:#fff}
.lv-booking-empty{margin-top:22px;padding:30px;border:1px dashed var(--lv-line,rgba(0,0,0,.14));border-radius:20px;text-align:center;color:var(--lv-muted,#777)}
@media(max-width:620px){.lv-booking-dialog{padding:22px 18px;border-radius:22px}.lv-booking-form{grid-template-columns:1fr}.lv-booking-form label.is-wide{grid-column:auto}.lv-bookings-view{padding:18px}.lv-booking-card-head{align-items:flex-start;flex-direction:column}}
.lv-booking-action-feedback{margin-top:2px;padding:10px 12px;border-radius:12px;font-size:13px;line-height:1.45;background:var(--lv-surface-soft,#f4f6f6);color:var(--lv-muted,#5f6d78)}
.lv-booking-action-feedback.is-success{background:#edf8f3;color:#286c52}.lv-booking-action-feedback.is-error{background:#fff0f1;color:#a43f4d}.lv-booking-action-feedback.is-info{background:#f2f6f7;color:#536b77}.lv-booking-card-actions button:disabled{opacity:.58;cursor:wait}

.lv-booking-auto-contact{display:grid;gap:4px;padding:12px 13px;border-radius:14px;background:var(--lv-surface-soft,#f8f6f6);border:1px solid var(--lv-line,rgba(0,0,0,.1))}.lv-booking-auto-contact strong{font-size:14px;overflow-wrap:anywhere}.lv-booking-auto-contact small{font-size:12px;line-height:1.45}.lv-booking-auto-contact.is-found{border-color:color-mix(in srgb,var(--module-accent,var(--place-accent,#b46678)) 28%,var(--lv-line,#d9d9d9))}.lv-booking-auto-contact.is-missing{border-style:dashed}
