.booking-section{padding:58px 0 80px}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:start}.booking-section h2{font-size:20px;margin:0 0 14px}.booking-state-card{background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:18px;color:var(--color-muted)}.booking-state-card.error{color:#dc2626}.section-subtitle{margin:-8px 0 18px;color:var(--color-muted);font-size:14px}.building-list{display:grid;gap:26px}.building-block{display:grid;gap:14px}.building-head h3{margin:0;font-size:28px;font-weight:900;letter-spacing:-.03em}.building-head p{margin:6px 0 0;color:var(--color-muted);font-size:15px}.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.room-list{display:grid;gap:14px}.public-room-card{width:100%;text-align:left;background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:18px;display:grid;gap:16px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.public-room-card:hover,.public-room-card.selected{border-color:var(--color-primary);box-shadow:0 8px 22px rgba(var(--color-primary-rgb),.12);transform:translateY(-1px)}.public-room-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.public-room-card-head h4{margin:0;font-size:18px;font-weight:900}.public-room-card-head p{margin:8px 0 0;color:var(--color-muted);font-size:14px;line-height:1.4}.public-room-card-price{text-align:right;color:var(--color-primary);white-space:nowrap}.public-room-card-price strong{display:block;font-size:24px;font-weight:900;line-height:1}.public-room-card-price span{display:block;margin-top:4px;font-size:12px;color:var(--color-muted)}.public-room-card-price small{display:block;margin-top:3px;color:var(--color-muted);font-size:11px;font-weight:600}.room-availability{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--color-border)}.room-availability strong{font-size:15px}.room-availability span{color:var(--color-muted);font-size:13px}.availability-panel{background:#fff;border:1px solid var(--color-border);border-radius:16px;padding:18px;box-shadow:0 8px 20px #0f172a0a}.booking-mode-panel{background:#fff;border:1px solid var(--color-border);border-radius:16px;padding:18px;margin-bottom:18px;box-shadow:0 8px 20px #0f172a0a}.booking-mode-head h3{margin:0;font-size:17px;font-weight:900}.booking-mode-head p{margin:6px 0 14px;color:var(--color-muted);font-size:14px}.booking-mode-options{display:grid;gap:10px}.booking-mode-card{width:100%;border:1px solid var(--color-border);border-radius:14px;background:#f8fafc;padding:14px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.booking-mode-card:hover,.booking-mode-card.selected{background:#fff;border-color:var(--color-primary);box-shadow:0 8px 18px rgba(var(--color-primary-rgb),.1)}.booking-mode-icon{width:42px;height:42px;border-radius:12px;background:var(--color-soft);color:var(--color-primary);display:grid;place-items:center;flex:0 0 auto}.booking-mode-card strong{display:block;font-size:14px;font-weight:900;color:var(--color-text)}.booking-mode-card span{display:block;margin-top:4px;font-size:13px;color:var(--color-muted);line-height:1.35}.booking-time-panel{background:#fff;border:1px solid var(--color-border);border-radius:16px;padding:18px;margin-top:18px;box-shadow:0 8px 20px #0f172a0a}.booking-time-title{display:flex;align-items:flex-start;gap:12px}.booking-time-icon{width:42px;height:42px;border-radius:12px;background:var(--color-soft);color:var(--color-primary);display:grid;place-items:center;flex:0 0 auto}.booking-time-head h3{margin:0;font-size:17px;font-weight:900}.booking-time-head p{margin:6px 0 0;color:var(--color-muted);font-size:14px}.booking-time-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.booking-time-field{display:grid;gap:6px}.booking-time-field span{font-size:13px;font-weight:800;color:#334155}.booking-time-field input{width:100%;height:44px;border:1px solid var(--color-border);border-radius:12px;padding:0 12px;font:inherit;background:#fff}.booking-time-field input:focus{outline:2px solid rgba(var(--color-primary-rgb),.2);border-color:var(--color-primary)}.booking-summary-panel{background:#fff;border:1px solid var(--color-border);border-radius:16px;padding:18px;margin-top:18px;box-shadow:0 8px 20px #0f172a0a}.booking-summary-head h3{margin:0;font-size:17px;font-weight:900}.booking-summary-head p{margin:6px 0 14px;color:var(--color-muted);font-size:14px}.booking-summary-list{display:grid;gap:10px}.booking-summary-row{display:flex;gap:10px;align-items:flex-start;color:var(--color-primary)}.booking-summary-row div{display:grid;gap:2px}.booking-summary-row span{color:var(--color-muted);font-size:12px}.booking-summary-row strong{color:var(--color-text);font-size:14px}.booking-summary-price{border-top:1px solid var(--color-border);margin-top:16px;padding-top:16px;display:grid;gap:10px}.booking-summary-price-row,.booking-summary-total{display:flex;align-items:center;justify-content:space-between;gap:14px}.booking-summary-price-row span{color:var(--color-muted);font-size:14px}.booking-summary-price-row strong{color:var(--color-text);font-size:14px}.booking-summary-price-row.discount strong{color:var(--color-success)}.booking-summary-total{border-top:1px solid var(--color-border);margin-top:4px;padding-top:12px}.booking-summary-total span{font-weight:900;color:var(--color-text)}.booking-summary-total strong{font-size:22px;color:var(--color-primary)}.booking-summary-error{color:#dc2626;font-weight:800;margin:0}.booking-summary-button{width:100%;margin-top:18px}.booking-place-panel{background:#fff;border:1px solid var(--color-border);border-radius:16px;padding:18px;margin-top:18px;box-shadow:0 8px 20px #0f172a0a}.booking-place-title{display:flex;align-items:flex-start;gap:12px}.booking-place-icon{width:42px;height:42px;border-radius:12px;background:var(--color-soft);color:var(--color-primary);display:grid;place-items:center;flex:0 0 auto}.booking-place-head h3{margin:0;font-size:17px;font-weight:900}.booking-place-head p{margin:6px 0 0;color:var(--color-muted);font-size:14px}.booking-place-list{display:grid;gap:10px;margin-top:18px}.booking-place-card{width:100%;border:1px solid var(--color-border);border-radius:14px;background:#f8fafc;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.booking-place-card:hover,.booking-place-card.selected{background:#fff;border-color:var(--color-primary);box-shadow:0 8px 18px rgba(var(--color-primary-rgb),.1)}.booking-place-card-main{display:flex;align-items:center;gap:12px}.booking-place-card-icon{width:36px;height:36px;border-radius:11px;background:#eef2f7;color:var(--color-primary);display:grid;place-items:center;flex:0 0 auto}.booking-place-card strong{display:block;font-size:14px;font-weight:900;color:var(--color-text)}.booking-place-card span{display:block;margin-top:3px;font-size:13px;color:var(--color-muted)}.booking-place-check{width:30px;height:30px;border-radius:999px;background:var(--color-primary);color:#fff;display:grid;place-items:center;flex:0 0 auto}@media(max-width:1100px){.room-grid{grid-template-columns:1fr}}@media(max-width:900px){.booking-grid{grid-template-columns:1fr}}@media(max-width:700px){.public-room-card-head{flex-direction:column}.public-room-card-price{text-align:left}.room-availability{flex-direction:column;align-items:flex-start}.booking-time-fields{grid-template-columns:1fr}}.calendar.svelte-1qo5hbn{overflow:hidden}.calendar-header.svelte-1qo5hbn{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#f8fafc;border-bottom:1px solid var(--color-border);font-size:17px}.calendar-header.svelte-1qo5hbn button:where(.svelte-1qo5hbn){border:0;background:transparent;font-size:32px;cursor:pointer;color:#1f2937}.weekdays.svelte-1qo5hbn{display:grid;grid-template-columns:repeat(7,1fr);height:46px;align-items:center;text-align:center;color:var(--color-muted);font-weight:800;font-size:13px;border-bottom:1px solid var(--color-border)}.days.svelte-1qo5hbn{display:grid;grid-template-columns:repeat(7,1fr)}.day.svelte-1qo5hbn{min-height:88px;background:#fff;border:0;border-right:1px solid #d9dee8;border-bottom:1px solid #d9dee8;display:grid;place-items:center;color:#1f2937;position:relative;cursor:pointer;font:inherit;gap:4px;padding:10px 6px}.day.svelte-1qo5hbn small:where(.svelte-1qo5hbn){max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#991b1b;font-size:11px;font-weight:800}.day.svelte-1qo5hbn small.selection-count:where(.svelte-1qo5hbn){color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1);border-radius:999px;padding:2px 6px}.day.past.svelte-1qo5hbn,.day.outside.svelte-1qo5hbn{background:#e5e9f0;color:#8b95a5;cursor:default}.day.blocked.svelte-1qo5hbn{background:#fee2e2;color:#991b1b;box-shadow:inset 0 0 0 1px #fca5a5;cursor:not-allowed}.day.blocked.svelte-1qo5hbn:hover{background:#fee2e2;color:#991b1b}.day.available.svelte-1qo5hbn{background:#f0fdf4;color:#166534;box-shadow:inset 0 0 0 1px #bbf7d0}.day.partial.svelte-1qo5hbn{background:#ffedd5;color:#9a3412;box-shadow:inset 0 0 0 1px #fdba74}.day.svelte-1qo5hbn:hover:not(:disabled):not(.blocked),.day.selected.svelte-1qo5hbn{color:var(--color-primary);box-shadow:inset 0 0 0 2px rgba(var(--color-primary-rgb),.28)}.day.selected.svelte-1qo5hbn{background:var(--color-soft)}.day.partial.selected.svelte-1qo5hbn{background:#ffedd5}.day.available.selected.svelte-1qo5hbn{background:#f0fdf4}.day.svelte-1qo5hbn:disabled{cursor:default}.day.svelte-1qo5hbn:nth-child(7n){border-right:0}.day.selected.svelte-1qo5hbn span:where(.svelte-1qo5hbn){font-weight:900}.legend.svelte-1qo5hbn{min-height:50px;display:flex;align-items:center;justify-content:center;gap:26px;background:#fff;color:var(--color-muted);border-top:1px solid var(--color-border);font-size:14px;flex-wrap:wrap;padding:10px 14px}.legend.svelte-1qo5hbn span:where(.svelte-1qo5hbn){display:inline-flex;align-items:center;gap:8px}.legend.svelte-1qo5hbn i:where(.svelte-1qo5hbn){width:11px;height:11px;border-radius:999px}.legend.svelte-1qo5hbn .free:where(.svelte-1qo5hbn){background:#86efac}.legend.svelte-1qo5hbn .partial:where(.svelte-1qo5hbn){background:#fb923c}.legend.svelte-1qo5hbn .busy:where(.svelte-1qo5hbn){background:var(--color-danger)}.calendar-loading.svelte-1qo5hbn{color:var(--color-muted);font-size:12px;font-weight:800}.booking-mode-panel.needs-selection.svelte-1gdm5d5{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1f}.booking-mode-head.svelte-1gdm5d5{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.mode-warning.svelte-1gdm5d5{color:#b45309;font-weight:800}.auto-badge.svelte-1gdm5d5{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--color-soft);color:var(--color-primary);padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap}.meeting-card.svelte-1695r17{margin-top:18px;padding:18px;border:1px solid #c7d2fe;border-radius:16px;background:#f8faff}.meeting-head.svelte-1695r17{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px}.meeting-icon.svelte-1695r17{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:12px;color:var(--color-primary);background:#e8edff}h3.svelte-1695r17{margin:0;font-size:17px;font-weight:900}p.svelte-1695r17{margin:4px 0 0;color:var(--color-muted);font-size:13px}.meeting-list.svelte-1695r17{display:grid;gap:9px}.meeting-row.svelte-1695r17{position:relative;display:grid;grid-template-columns:minmax(125px,.75fr) minmax(130px,.6fr) minmax(220px,1.35fr) auto;align-items:end;gap:12px;padding:12px;border:1px solid var(--color-border);border-radius:12px;background:#fff}.meeting-row.svelte-1695r17:not(.active){grid-template-columns:minmax(125px,1fr) auto;align-items:center}.meeting-row.active.svelte-1695r17{border-color:#a5b4fc}.meeting-date.svelte-1695r17,label.svelte-1695r17{display:grid;gap:4px}.meeting-date.svelte-1695r17 strong:where(.svelte-1695r17){font-size:14px}.meeting-date.svelte-1695r17 span:where(.svelte-1695r17),label.svelte-1695r17>span:where(.svelte-1695r17),small.svelte-1695r17{color:var(--color-muted);font-size:11px}select.svelte-1695r17{width:100%;height:40px;border:1px solid var(--color-border);border-radius:9px;background:#fff;padding:0 10px;color:var(--color-text)}.time-field.svelte-1695r17 small:where(.svelte-1695r17){color:#b45309;line-height:1.35}.add-meeting.svelte-1695r17,.remove-meeting.svelte-1695r17{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;border:1px solid var(--color-primary);border-radius:9px;background:#fff;color:var(--color-primary);font-weight:800;cursor:pointer}.add-meeting.svelte-1695r17{padding:0 13px}.remove-meeting.svelte-1695r17{width:40px;border-color:#fecaca;color:#dc2626}.selected-check.svelte-1695r17{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#16a34a;color:#fff}.meeting-note.svelte-1695r17{display:flex;align-items:center;gap:6px;margin-top:12px}@media(max-width:760px){.meeting-row.svelte-1695r17,.meeting-row.svelte-1695r17:not(.active){grid-template-columns:1fr;align-items:stretch}.add-meeting.svelte-1695r17,.remove-meeting.svelte-1695r17{width:100%}}.planner-card.svelte-zity03,.order-summary.svelte-zity03{margin-top:18px;padding:18px;border:1px solid var(--color-border);border-radius:16px;background:#fff;box-shadow:0 8px 20px #0f172a0a}.planner-head.svelte-zity03,.planner-title.svelte-zity03,.appointment.svelte-zity03,.place-option.svelte-zity03,.summary-prices.svelte-zity03 div:where(.svelte-zity03){display:flex;align-items:center}.planner-head.svelte-zity03{justify-content:space-between;gap:14px;margin-bottom:16px}.planner-title.svelte-zity03{align-items:flex-start;gap:12px}.planner-title.svelte-zity03 h3:where(.svelte-zity03),.order-summary.svelte-zity03 h3:where(.svelte-zity03){margin:0;font-size:17px;font-weight:900}.planner-title.svelte-zity03 p:where(.svelte-zity03),.order-summary.svelte-zity03 p:where(.svelte-zity03){margin:5px 0 0;color:var(--color-muted);font-size:13px;line-height:1.4}.planner-icon.svelte-zity03,.slot-chip-icon.svelte-zity03,.place-icon.svelte-zity03{display:grid;place-items:center;flex:0 0 auto;color:var(--color-primary);background:var(--color-soft)}.planner-icon.svelte-zity03{width:42px;height:42px;border-radius:12px}.count-badge.svelte-zity03{padding:6px 10px;border-radius:999px;color:var(--color-primary);background:var(--color-soft);font-size:12px;font-weight:900;white-space:nowrap}.slot-chip-grid.svelte-zity03,.place-grid.svelte-zity03{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.slot-chip.svelte-zity03{position:relative;display:flex;align-items:center;gap:10px;min-height:76px;padding:12px;border:1px solid var(--color-border);border-radius:13px;background:#f8fafc;color:var(--color-text);text-align:left;cursor:pointer}.slot-chip.svelte-zity03:hover:not(:disabled),.slot-chip.active.svelte-zity03{border-color:var(--color-primary);background:var(--color-soft);box-shadow:0 5px 16px rgba(var(--color-primary-rgb),.09)}.slot-chip.svelte-zity03:disabled{opacity:.5;cursor:not-allowed}.slot-chip-icon.svelte-zity03,.place-icon.svelte-zity03{width:34px;height:34px;border-radius:10px}.slot-chip-copy.svelte-zity03,.slot-chip-meta.svelte-zity03,.place-copy.svelte-zity03,.appointment-date.svelte-zity03,.appointment-time.svelte-zity03,.appointment-price.svelte-zity03{display:grid;gap:3px}.slot-chip-copy.svelte-zity03{min-width:0;flex:1}.slot-chip-copy.svelte-zity03 strong:where(.svelte-zity03),.place-copy.svelte-zity03 strong:where(.svelte-zity03){font-size:14px}.slot-chip-copy.svelte-zity03 small:where(.svelte-zity03),.slot-chip-meta.svelte-zity03 small:where(.svelte-zity03),.place-copy.svelte-zity03 small:where(.svelte-zity03),.appointment.svelte-zity03 span:where(.svelte-zity03){color:var(--color-muted);font-size:12px}.slot-chip-meta.svelte-zity03{text-align:right;white-space:nowrap}.slot-chip-meta.svelte-zity03 strong:where(.svelte-zity03){color:var(--color-primary);font-size:12px}.slot-chip-meta.svelte-zity03 .tax-detail:where(.svelte-zity03){max-width:150px;white-space:normal;line-height:1.25}.slot-chip-check.svelte-zity03,.place-check.svelte-zity03{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--color-primary);color:#fff}.slot-chip-check.svelte-zity03{position:absolute;top:-7px;right:-7px}.appointment-list.svelte-zity03{display:grid;gap:9px}.appointment.svelte-zity03{gap:14px;padding:12px 13px;border:1px solid var(--color-border);border-radius:12px;background:#f8fafc}.appointment.invalid.svelte-zity03{border-color:#fecaca;background:#fff7f7}.appointment-date.svelte-zity03{flex:1.2}.appointment-time.svelte-zity03{flex:1}.appointment-price.svelte-zity03{text-align:right}.appointment-price.svelte-zity03 strong:where(.svelte-zity03){color:var(--color-primary)}.appointment-warning.svelte-zity03{color:#dc2626;display:grid}.remove-button.svelte-zity03{width:34px;height:34px;display:grid;place-items:center;border:1px solid #fecaca;border-radius:9px;background:#fff;color:#dc2626;cursor:pointer}.place-option.svelte-zity03{width:100%;gap:10px;padding:12px;border:1px solid var(--color-border);border-radius:12px;background:#f8fafc;text-align:left;cursor:pointer}.place-option.svelte-zity03:hover:not(:disabled),.place-option.selected.svelte-zity03{border-color:var(--color-primary);background:#fff}.place-option.unavailable.svelte-zity03{opacity:.65;cursor:not-allowed}.place-option.invalid-selected.svelte-zity03{border-color:#fca5a5;background:#fff7f7;opacity:1;cursor:pointer}.place-copy.svelte-zity03{min-width:0;flex:1}.place-copy.svelte-zity03 small:where(.svelte-zity03){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.occupied-badge.svelte-zity03{padding:4px 8px;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:11px;font-weight:900}.order-summary.svelte-zity03{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.7fr);gap:18px 28px;border-color:rgba(var(--color-primary-rgb),.28)}.summary-prices.svelte-zity03{display:grid;gap:8px}.summary-prices.svelte-zity03 div:where(.svelte-zity03){justify-content:space-between;gap:15px;font-size:13px}.summary-prices.svelte-zity03 span:where(.svelte-zity03){color:var(--color-muted)}.summary-prices.svelte-zity03 .credit-row:where(.svelte-zity03){color:#166534}.credit-row.svelte-zity03 span:where(.svelte-zity03){display:flex;align-items:center;gap:5px;color:#166534;font-weight:800}.credit-row.svelte-zity03 strong:where(.svelte-zity03){color:#166534}.credit-note.svelte-zity03{color:var(--color-muted);font-size:11px;line-height:1.4}.gift-row.svelte-zity03 span:where(.svelte-zity03),.gift-row.svelte-zity03 strong:where(.svelte-zity03),.gift-note.svelte-zity03{color:#92400e;font-weight:800}.gift-note.svelte-zity03{font-size:11px;line-height:1.4}.original-price.svelte-zity03 strong:where(.svelte-zity03){color:#64748b;text-decoration:line-through}.special-price-row.svelte-zity03 span:where(.svelte-zity03),.special-price-row.svelte-zity03 strong:where(.svelte-zity03){color:#7c3aed;font-weight:800}.manual-payment-note.svelte-zity03{color:#1d4ed8;font-size:11px;font-weight:800;line-height:1.4}.summary-total.svelte-zity03{padding-top:9px;border-top:1px solid var(--color-border)}.summary-total.svelte-zity03 strong:where(.svelte-zity03){color:var(--color-primary);font-size:21px}.book-order-button.svelte-zity03{grid-column:1/-1;width:100%}.planner-error.svelte-zity03{color:#b91c1c!important;font-weight:800}.planner-hint.svelte-zity03{color:#b45309!important;font-weight:800}@media(max-width:620px){.planner-head.svelte-zity03{align-items:flex-start}.slot-chip-grid.svelte-zity03,.place-grid.svelte-zity03,.order-summary.svelte-zity03{grid-template-columns:1fr}.appointment.svelte-zity03{display:grid;grid-template-columns:1fr auto}.appointment-date.svelte-zity03,.appointment-time.svelte-zity03{grid-column:1}.appointment-price.svelte-zity03{grid-column:1;text-align:left}.appointment-warning.svelte-zity03,.remove-button.svelte-zity03{grid-column:2;grid-row:1}.remove-button.svelte-zity03{grid-row:2}.book-order-button.svelte-zity03{grid-column:1}}.multi-date-hint.svelte-1tuwx5r{display:flex;align-items:flex-start;gap:11px;margin-bottom:14px;padding:12px 14px;border:1px solid #bfdbfe;border-radius:13px;background:#eff6ff;color:var(--color-primary)}.multi-date-hint.svelte-1tuwx5r div:where(.svelte-1tuwx5r){display:grid;gap:3px}.multi-date-hint.svelte-1tuwx5r strong:where(.svelte-1tuwx5r){font-size:13px}.multi-date-hint.svelte-1tuwx5r span:where(.svelte-1tuwx5r){color:#475569;font-size:12px;line-height:1.4}.planner-state.svelte-1tuwx5r{margin-top:18px}.booking-success.svelte-1tuwx5r{display:flex;align-items:center;gap:13px;margin-top:18px;padding:17px;border:1px solid #86efac;border-radius:15px;background:#f0fdf4;color:#166534}.booking-success.svelte-1tuwx5r div:where(.svelte-1tuwx5r){display:grid;gap:4px}.booking-success.svelte-1tuwx5r strong:where(.svelte-1tuwx5r){font-size:15px}.booking-success.svelte-1tuwx5r span:where(.svelte-1tuwx5r){font-size:13px}
