.context-menu.svelte-5k15zc{position:fixed;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-md);z-index:var(--z-index-modal);min-width:200px;overflow:hidden}.context-menu-header.svelte-5k15zc{padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg);border-bottom:1px solid var(--color-border)}.booking-title.svelte-5k15zc{font-weight:var(--font-weight-semibold);color:var(--color-text);font-size:var(--font-size-sm);margin-bottom:2px}.booking-details.svelte-5k15zc{font-size:var(--font-size-xs);color:var(--color-text-light)}.context-menu-divider.svelte-5k15zc{height:1px;background:var(--color-border)}.context-menu-item.svelte-5k15zc{width:100%;padding:var(--spacing-md) var(--spacing-lg);border:none;background:none;text-align:left;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);transition:background-color var(--transition-fast)}.context-menu-item.svelte-5k15zc:hover{background:var(--color-bg)}.context-menu-item.delete.svelte-5k15zc{color:var(--color-danger)}.context-menu-item.delete.svelte-5k15zc:hover{background:#fff5f5}.context-menu-item.svelte-5k15zc svg:where(.svelte-5k15zc){flex-shrink:0}.modal-overlay.svelte-8apryp{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal)}.modal.svelte-8apryp{background:var(--color-white);border-radius:var(--border-radius);padding:var(--spacing-2xl);max-width:500px;width:90%;box-shadow:var(--shadow-lg)}.modal-header.svelte-8apryp{margin-bottom:var(--spacing-xl)}.modal-header.svelte-8apryp h2:where(.svelte-8apryp){margin:0;color:var(--color-text);font-size:var(--font-size-xl)}.modal-content.svelte-8apryp p:where(.svelte-8apryp){margin:0 0 var(--spacing-lg) 0;color:var(--color-text-lighter);line-height:1.5}.booking-info.svelte-8apryp{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin:var(--spacing-lg) 0}.booking-name.svelte-8apryp{font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--spacing-md);font-size:var(--font-size-md)}.booking-details.svelte-8apryp{display:flex;flex-direction:column;gap:var(--spacing-sm)}.time-change.svelte-8apryp{display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-sm)}.time-change.svelte-8apryp .label:where(.svelte-8apryp){font-weight:var(--font-weight-medium);color:var(--color-text-light);font-size:var(--font-size-xs);text-transform:uppercase}.time-change.svelte-8apryp .old-time:where(.svelte-8apryp){color:var(--color-text-lighter);opacity:.7}.time-change.svelte-8apryp .new-time:where(.svelte-8apryp){color:var(--color-primary);font-weight:var(--font-weight-medium)}.warning-text.svelte-8apryp{color:var(--color-warning);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);margin-top:var(--spacing-md)}.modal-actions.svelte-8apryp{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-2xl)}.cancel-button.svelte-8apryp,.update-button.svelte-8apryp{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);cursor:pointer;border:1px solid;transition:all var(--transition-fast)}.cancel-button.svelte-8apryp{background:var(--color-white);color:var(--color-text-light);border-color:var(--color-border-light)}.cancel-button.svelte-8apryp:hover:not(:disabled){background:var(--color-bg)}.update-button.svelte-8apryp{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.update-button.svelte-8apryp:hover:not(:disabled){background:var(--color-primary-dark)}.cancel-button.svelte-8apryp:disabled,.update-button.svelte-8apryp:disabled{opacity:.6;cursor:not-allowed}.recurring-series-indicator.svelte-8apryp{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin:var(--spacing-lg) 0;color:var(--color-white)}.series-badge.svelte-8apryp{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}.series-badge.svelte-8apryp .instance-number:where(.svelte-8apryp){font-size:var(--font-size-sm);opacity:.9}.update-mode-selector.svelte-8apryp{margin-top:var(--spacing-md)}.update-mode-selector.svelte-8apryp label:where(.svelte-8apryp){display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.radio-group.svelte-8apryp{display:flex;flex-direction:column;gap:var(--spacing-sm)}.radio-option.svelte-8apryp{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:#ffffff1a;border-radius:var(--border-radius-sm);cursor:pointer;transition:background var(--transition-fast)}.radio-option.svelte-8apryp:hover{background:#fff3}.radio-option.svelte-8apryp input[type=radio]:where(.svelte-8apryp){cursor:pointer}.radio-option.svelte-8apryp span:where(.svelte-8apryp){font-size:var(--font-size-sm)}.modal-overlay.svelte-1urpbf0{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal)}.modal.svelte-1urpbf0{background:var(--color-white);border-radius:var(--border-radius);padding:var(--spacing-2xl);max-width:500px;width:90%;box-shadow:var(--shadow-lg)}.modal-header.svelte-1urpbf0{margin-bottom:var(--spacing-xl)}.modal-header.svelte-1urpbf0 h2:where(.svelte-1urpbf0){margin:0;color:var(--color-text);font-size:var(--font-size-xl)}.modal-content.svelte-1urpbf0 p:where(.svelte-1urpbf0){margin:0 0 var(--spacing-lg) 0;color:var(--color-text-lighter);line-height:1.5}.booking-info.svelte-1urpbf0{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin:var(--spacing-lg) 0}.booking-name.svelte-1urpbf0{font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--spacing-md);font-size:var(--font-size-md)}.booking-details.svelte-1urpbf0{display:flex;flex-direction:column;gap:var(--spacing-sm)}.booking-time.svelte-1urpbf0{color:var(--color-text-light);font-size:var(--font-size-sm)}.warning-text.svelte-1urpbf0{color:var(--color-warning);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);margin-top:var(--spacing-md)}.modal-actions.svelte-1urpbf0{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-2xl)}.cancel-button.svelte-1urpbf0,.duplicate-button.svelte-1urpbf0{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);cursor:pointer;border:1px solid;transition:all var(--transition-fast)}.cancel-button.svelte-1urpbf0{background:var(--color-white);color:var(--color-text-light);border-color:var(--color-border-light)}.cancel-button.svelte-1urpbf0:hover:not(:disabled){background:var(--color-bg)}.duplicate-button.svelte-1urpbf0{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.duplicate-button.svelte-1urpbf0:hover:not(:disabled){background:var(--color-primary-dark)}.cancel-button.svelte-1urpbf0:disabled,.duplicate-button.svelte-1urpbf0:disabled{opacity:.6;cursor:not-allowed}.recurring-series-indicator.svelte-1urpbf0{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin:var(--spacing-lg) 0;color:var(--color-white)}.series-badge.svelte-1urpbf0{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}.series-badge.svelte-1urpbf0 .instance-number:where(.svelte-1urpbf0){font-size:var(--font-size-sm);opacity:.9}.duplicate-mode-selector.svelte-1urpbf0{margin-top:var(--spacing-md)}.duplicate-mode-selector.svelte-1urpbf0 label:where(.svelte-1urpbf0){display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.radio-group.svelte-1urpbf0{display:flex;flex-direction:column;gap:var(--spacing-sm)}.radio-option.svelte-1urpbf0{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:#ffffff1a;border-radius:var(--border-radius-sm);cursor:pointer;transition:background var(--transition-fast)}.radio-option.svelte-1urpbf0:hover{background:#fff3}.radio-option.svelte-1urpbf0 input[type=radio]:where(.svelte-1urpbf0){cursor:pointer}.radio-option.svelte-1urpbf0 span:where(.svelte-1urpbf0){font-size:var(--font-size-sm)}.timetable-container.svelte-1wqi93j{overflow-x:auto;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.timetable.svelte-1wqi93j{width:100%;display:flex;flex-direction:column}.header.svelte-1wqi93j{display:grid;grid-template-columns:var(--timetable-day-column-width-default) 40px 1fr;border-bottom:2px solid var(--color-border);background:var(--color-bg);position:sticky;top:0;z-index:var(--z-index-sticky)}.day-column-header.svelte-1wqi93j{padding:var(--spacing-md) var(--spacing-sm);font-weight:var(--font-weight-semibold);text-align:center;border-right:1px solid var(--color-border)}.rink-label-spacer.svelte-1wqi93j{border-right:1px solid var(--color-border);background:var(--color-bg-light)}.time-headers-container.svelte-1wqi93j{display:grid;grid-template-columns:repeat(14,1fr)}.time-header.svelte-1wqi93j{padding:var(--spacing-sm) var(--spacing-xs);font-size:var(--font-size-xxs);color:var(--color-text-light);text-align:center;border-right:1px solid #f0f0f0;font-weight:var(--font-weight-medium)}.content.svelte-1wqi93j{display:flex;flex-direction:column}.day-section.svelte-1wqi93j{display:flex;border-bottom:2px solid var(--color-border)}.day-label.svelte-1wqi93j{width:var(--timetable-day-column-width-default);padding:var(--spacing-sm);background:var(--color-bg-light);border-right:1px solid var(--color-border);display:flex;flex-direction:column;justify-content:center;align-items:center;position:sticky;left:0;z-index:5}.day-name.svelte-1wqi93j{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text)}.day-date.svelte-1wqi93j{font-size:var(--font-size-sm);color:var(--color-text-light);margin-top:2px}.rinks-container.svelte-1wqi93j{flex:1;display:flex;flex-direction:column}.rink-row.svelte-1wqi93j{display:grid;grid-template-columns:40px 1fr;border-bottom:1px solid #f0f0f0;height:40px}.rink-row.svelte-1wqi93j:last-child{border-bottom:none}.rink-label.svelte-1wqi93j{padding:var(--spacing-xs);font-size:var(--font-size-xxs);color:#888;text-align:center;background:var(--color-bg-light);border-right:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-medium)}.time-slots-container.svelte-1wqi93j{display:grid;grid-template-columns:repeat(28,1fr);position:relative;flex:1}.time-slot.svelte-1wqi93j{border-right:1px solid var(--color-gray-200);position:relative;transition:background-color var(--transition-fast),border-color var(--transition-fast);min-height:100%;cursor:pointer}.time-slot.svelte-1wqi93j:nth-child(2n){border-right:1px solid #e8e8e8}.time-slot.svelte-1wqi93j:hover:not(.drag-target){background-color:#e3f2fd;border-left:2px solid #2196f3;border-right:2px solid #2196f3}.time-slot.drag-target.svelte-1wqi93j{cursor:copy}.time-slot.drag-over.svelte-1wqi93j{background-color:#4caf50!important;box-sizing:border-box;position:relative;z-index:500!important}.time-slot.drag-over.svelte-1wqi93j:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#4caf5099,#4caf504d);border-left:4px solid #2e7d32;border-right:4px solid #2e7d32;box-sizing:border-box;pointer-events:none;animation:svelte-1wqi93j-pulse-highlight .8s ease-in-out infinite}.bookings-overlay.svelte-1wqi93j{position:absolute;inset:0;pointer-events:none}.booking.svelte-1wqi93j{position:absolute;top:2px;bottom:2px;border-radius:var(--border-radius-sm);padding:var(--spacing-xs) 6px;font-size:var(--font-size-xxs);line-height:1.2;overflow:hidden;cursor:grab;border:1px solid rgba(0,0,0,.1);z-index:10;min-width:30px;transition:all var(--transition-fast);pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:4px}.booking.stacked.svelte-1wqi93j{box-shadow:0 2px 6px #00000040,0 0 0 2px #fffc;border:2px solid rgba(0,0,0,.3);font-weight:600}.booking.svelte-1wqi93j:hover{box-shadow:0 4px 12px #0000004d;z-index:100!important;transform:scale(1.08)}.booking.svelte-1wqi93j:active{cursor:grabbing}.booking.dragging.svelte-1wqi93j{opacity:.5;transform:rotate(2deg);z-index:var(--z-index-modal);visibility:hidden}.booking-content.svelte-1wqi93j{flex:1;display:flex;flex-direction:column;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.booking-name.svelte-1wqi93j{font-weight:var(--font-weight-semibold);margin-bottom:1px;font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis}.booking-time.svelte-1wqi93j{font-size:var(--font-size-xxs);opacity:.9;overflow:hidden;text-overflow:ellipsis}.booking-icons.svelte-1wqi93j{display:flex;align-items:center;gap:4px;flex-shrink:0}.stack-indicator.svelte-1wqi93j{display:flex;align-items:center;gap:2px;background:#00000026;border-radius:10px;padding:2px 6px;font-size:10px;font-weight:700;line-height:1;white-space:nowrap}.stack-indicator.svelte-1wqi93j svg:where(.svelte-1wqi93j){width:10px;height:10px;opacity:.8}.stack-indicator.svelte-1wqi93j .stack-count:where(.svelte-1wqi93j){font-size:9px;font-weight:700}.recurring-icon.svelte-1wqi93j{display:flex;align-items:center;justify-content:center;width:14px;height:14px;opacity:.7;pointer-events:none;transition:opacity var(--transition-fast)}.recurring-icon.svelte-1wqi93j svg:where(.svelte-1wqi93j){width:100%;height:100%;display:block}.booking.svelte-1wqi93j:hover .recurring-icon:where(.svelte-1wqi93j){opacity:1}.booking.svelte-1wqi93j:hover .stack-indicator:where(.svelte-1wqi93j){background:#00000040}@media (max-width: 768px){.header.svelte-1wqi93j{grid-template-columns:var(--timetable-day-column-width-mobile) 30px 1fr}.day-label.svelte-1wqi93j{width:var(--timetable-day-column-width-mobile)}.rink-label.svelte-1wqi93j{width:30px;font-size:var(--font-size-xxs)}.booking.svelte-1wqi93j{font-size:var(--font-size-xxs);padding:2px var(--spacing-xs)}.booking-name.svelte-1wqi93j,.booking-time.svelte-1wqi93j{font-size:var(--font-size-xxs)}}@media print{.timetable-container.svelte-1wqi93j{box-shadow:none}.day-column-header.svelte-1wqi93j{display:flex;align-items:center;justify-content:center;padding:0}.rink-row.svelte-1wqi93j,.time-slot.svelte-1wqi93j{height:26px}.booking.svelte-1wqi93j{font-size:var(--font-size-print-xs);padding:2px var(--font-size-print-xs)}.booking-name.svelte-1wqi93j{font-size:var(--font-size-print-xs);margin-bottom:0}.booking-time.svelte-1wqi93j{font-size:var(--font-size-print-xxs)}}@-moz-keyframes svelte-1wqi93j-pulse-highlight{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.7;transform:scaleY(.98)}}@-webkit-keyframes svelte-1wqi93j-pulse-highlight{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.7;transform:scaleY(.98)}}@-o-keyframes svelte-1wqi93j-pulse-highlight{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.7;transform:scaleY(.98)}}@keyframes svelte-1wqi93j-pulse-highlight{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.7;transform:scaleY(.98)}}.legend.svelte-1kwh10m{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-xl)}.legend-title.svelte-1kwh10m{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text)}.legend-items.svelte-1kwh10m{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm) var(--spacing-lg)}.legend-item.svelte-1kwh10m{display:flex;align-items:center;gap:var(--spacing-sm)}.legend-color.svelte-1kwh10m{width:var(--spacing-lg);height:var(--spacing-lg);border-radius:var(--border-radius-pill);border:1px solid #ccc;flex-shrink:0}.legend-label.svelte-1kwh10m{font-size:var(--font-size-sm);color:var(--color-text-lighter);white-space:nowrap}@media (max-width: 768px){.legend-items.svelte-1kwh10m{grid-template-columns:1fr 1fr;gap:6px var(--spacing-md)}.legend-label.svelte-1kwh10m{font-size:var(--font-size-xs)}}@media (max-width: 768px){.legend-items.svelte-1kwh10m{grid-template-columns:1fr;gap:6px}}.recurring-options.svelte-ott7ce{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-light)}.checkbox-label.svelte-ott7ce{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-weight:var(--font-weight-medium)}.checkbox-label.svelte-ott7ce input[type=checkbox]:where(.svelte-ott7ce){cursor:pointer}.recurring-details.svelte-ott7ce{margin-top:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-bg);border-radius:var(--border-radius-sm);display:grid;gap:var(--spacing-md)}.radio-group.svelte-ott7ce{display:flex;flex-direction:column;gap:var(--spacing-md)}.radio-label.svelte-ott7ce{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.radio-label.svelte-ott7ce input[type=radio]:where(.svelte-ott7ce){cursor:pointer}.radio-label.svelte-ott7ce .inline-number:where(.svelte-ott7ce),.radio-label.svelte-ott7ce .inline-date:where(.svelte-ott7ce){margin:0 var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border-light);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm)}.radio-label.svelte-ott7ce .inline-number:where(.svelte-ott7ce):disabled,.radio-label.svelte-ott7ce .inline-date:where(.svelte-ott7ce):disabled{background:var(--color-gray-200);cursor:not-allowed}.radio-label.svelte-ott7ce .inline-number:where(.svelte-ott7ce){width:80px}.recurring-preview.svelte-ott7ce{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-white);border:1px solid var(--color-primary);border-radius:var(--border-radius-sm);color:var(--color-text);font-size:var(--font-size-sm)}.recurring-preview.svelte-ott7ce svg:where(.svelte-ott7ce){color:var(--color-primary);flex-shrink:0}.recurring-preview.svelte-ott7ce strong:where(.svelte-ott7ce){color:var(--color-primary)}.recurring-warning.svelte-ott7ce{padding:var(--spacing-sm) var(--spacing-md);background:#fff8e1;border:1px solid #ffc107;border-radius:var(--border-radius-sm);color:#856404;font-size:var(--font-size-sm)}.recurring-error.svelte-ott7ce{padding:var(--spacing-sm) var(--spacing-md);background:#fff5f5;border:1px solid var(--color-danger);border-radius:var(--border-radius-sm);color:var(--color-danger);font-size:var(--font-size-sm)}.modal-overlay.svelte-6oewhr{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal)}.modal.svelte-6oewhr{background:var(--color-white);border-radius:var(--border-radius);padding:var(--spacing-2xl);max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header.svelte-6oewhr{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2xl)}.modal-header.svelte-6oewhr h2:where(.svelte-6oewhr){margin:0;color:var(--color-text)}.close-button.svelte-6oewhr{background:none;border:none;font-size:var(--spacing-2xl);cursor:pointer;color:var(--color-text-light);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.close-button.svelte-6oewhr:hover{color:var(--color-text)}.form-grid.svelte-6oewhr{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.form-row.svelte-6oewhr{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.form-row.svelte-6oewhr .form-group:where(.svelte-6oewhr){flex:1}.form-group.svelte-6oewhr{display:flex;flex-direction:column}.form-group.full-width.svelte-6oewhr{grid-column:1/-1;margin-bottom:var(--spacing-lg)}.form-group.svelte-6oewhr label:where(.svelte-6oewhr){margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium);color:var(--color-text)}.form-group.svelte-6oewhr input:where(.svelte-6oewhr),.form-group.svelte-6oewhr select:where(.svelte-6oewhr),.form-group.svelte-6oewhr textarea:where(.svelte-6oewhr){padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border-light);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm)}.form-group.svelte-6oewhr input:where(.svelte-6oewhr):focus,.form-group.svelte-6oewhr select:where(.svelte-6oewhr):focus,.form-group.svelte-6oewhr textarea:where(.svelte-6oewhr):focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #007bff40}.time-info.svelte-6oewhr{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-gray-300);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);color:var(--color-gray-600)}.time-info.svelte-6oewhr svg:where(.svelte-6oewhr){flex-shrink:0;color:var(--color-gray-600)}.error-message.svelte-6oewhr{background:#f8d7da;color:#721c24;padding:var(--spacing-md);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-lg);border:1px solid #f5c6cb}.modal-actions.svelte-6oewhr{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-2xl)}.cancel-button.svelte-6oewhr,.submit-button.svelte-6oewhr{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);cursor:pointer;border:1px solid}.cancel-button.svelte-6oewhr{background:var(--color-white);color:var(--color-text-light);border-color:var(--color-border-light)}.cancel-button.svelte-6oewhr:hover{background:var(--color-bg)}.submit-button.svelte-6oewhr{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.submit-button.svelte-6oewhr:hover:not(:disabled){background:var(--color-primary-dark)}.submit-button.svelte-6oewhr:disabled{opacity:.6;cursor:not-allowed}.recurring-series-info.svelte-6oewhr{margin-top:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-primary-light);border-radius:var(--border-radius-sm);color:var(--color-white)}.recurring-series-info.svelte-6oewhr .info-header:where(.svelte-6oewhr){display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.recurring-series-info.svelte-6oewhr .info-header:where(.svelte-6oewhr) svg:where(.svelte-6oewhr){flex-shrink:0}.recurring-series-info.svelte-6oewhr .series-details:where(.svelte-6oewhr){margin-bottom:var(--spacing-md);padding-left:var(--spacing-xl);font-size:var(--font-size-sm)}.recurring-series-info.svelte-6oewhr .series-details:where(.svelte-6oewhr) p:where(.svelte-6oewhr){margin:var(--spacing-xs) 0}.recurring-series-info.svelte-6oewhr .series-details:where(.svelte-6oewhr) strong:where(.svelte-6oewhr){font-weight:var(--font-weight-semibold)}.recurring-series-info.svelte-6oewhr .edit-mode-selector:where(.svelte-6oewhr){margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.3)}.recurring-series-info.svelte-6oewhr .edit-mode-selector:where(.svelte-6oewhr)>label:where(.svelte-6oewhr){display:block;margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-medium)}.recurring-series-info.svelte-6oewhr .edit-mode-selector:where(.svelte-6oewhr) .radio-group:where(.svelte-6oewhr){display:flex;flex-direction:column;gap:var(--spacing-sm)}.recurring-series-info.svelte-6oewhr .edit-mode-selector:where(.svelte-6oewhr) .radio-option:where(.svelte-6oewhr){display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:#ffffff1a;border-radius:var(--border-radius-sm);cursor:pointer;transition:background .2s}.recurring-series-info.svelte-6oewhr .edit-mode-selector:where(.svelte-6oewhr) .radio-option:where(.svelte-6oewhr):hover{background:#fff3}.recurring-series-info.svelte-6oewhr .edit-mode-selector:where(.svelte-6oewhr) .radio-option:where(.svelte-6oewhr) input[type=radio]:where(.svelte-6oewhr){cursor:pointer}.recurring-series-info.svelte-6oewhr .edit-mode-selector:where(.svelte-6oewhr) .radio-option:where(.svelte-6oewhr) span:where(.svelte-6oewhr){flex:1}@media (max-width: 768px){.form-grid.svelte-6oewhr{grid-template-columns:1fr}.form-row.svelte-6oewhr{flex-direction:column;gap:var(--spacing-md)}.modal.svelte-6oewhr{padding:var(--spacing-lg);margin:var(--spacing-lg)}}.modal-overlay.svelte-av6t1k{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal)}.modal.svelte-av6t1k{background:var(--color-white);border-radius:var(--border-radius);padding:var(--spacing-2xl);max-width:400px;width:90%;box-shadow:var(--shadow-lg)}.modal-header.svelte-av6t1k{margin-bottom:var(--spacing-xl)}.modal-header.svelte-av6t1k h2:where(.svelte-av6t1k){margin:0;color:var(--color-text);font-size:var(--font-size-xl)}.modal-content.svelte-av6t1k p:where(.svelte-av6t1k){margin:0 0 var(--spacing-lg) 0;color:var(--color-text-lighter);line-height:1.5}.booking-info.svelte-av6t1k{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin:var(--spacing-lg) 0}.booking-name.svelte-av6t1k{font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--spacing-xs)}.booking-details.svelte-av6t1k{font-size:var(--font-size-sm);color:var(--color-text-light);margin-bottom:var(--spacing-xs)}.booking-contact.svelte-av6t1k{font-size:var(--font-size-sm);color:var(--color-text-light)}.warning-text.svelte-av6t1k{color:var(--color-danger);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.modal-actions.svelte-av6t1k{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-2xl)}.cancel-button.svelte-av6t1k,.delete-button.svelte-av6t1k{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);cursor:pointer;border:1px solid;transition:all var(--transition-fast)}.cancel-button.svelte-av6t1k{background:var(--color-white);color:var(--color-text-light);border-color:var(--color-border-light)}.cancel-button.svelte-av6t1k:hover:not(:disabled){background:var(--color-bg)}.delete-button.svelte-av6t1k{background:var(--color-danger);color:var(--color-white);border-color:var(--color-danger)}.delete-button.svelte-av6t1k:hover:not(:disabled){background:var(--color-danger-dark)}.cancel-button.svelte-av6t1k:disabled,.delete-button.svelte-av6t1k:disabled{opacity:.6;cursor:not-allowed}.recurring-series-indicator.svelte-av6t1k{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin:var(--spacing-lg) 0;color:var(--color-white)}.series-badge.svelte-av6t1k{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}.series-badge.svelte-av6t1k .instance-number:where(.svelte-av6t1k){font-size:var(--font-size-sm);opacity:.9}.delete-mode-selector.svelte-av6t1k{margin-top:var(--spacing-md)}.delete-mode-selector.svelte-av6t1k label:where(.svelte-av6t1k){display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.radio-group.svelte-av6t1k{display:flex;flex-direction:column;gap:var(--spacing-sm)}.radio-option.svelte-av6t1k{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:#ffffff1a;border-radius:var(--border-radius-sm);cursor:pointer;transition:background var(--transition-fast)}.radio-option.svelte-av6t1k:hover{background:#fff3}.radio-option.svelte-av6t1k input[type=radio]:where(.svelte-av6t1k){cursor:pointer}.radio-option.svelte-av6t1k span:where(.svelte-av6t1k){font-size:var(--font-size-sm)}.language-switcher.svelte-9yhx4y{display:none;align-items:center;gap:var(--spacing-sm)}.language-select.svelte-9yhx4y{padding:6px var(--spacing-md);border:1px solid var(--color-border-light);border-radius:var(--border-radius-sm);background:var(--color-white);font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--transition-fast)}.language-select.svelte-9yhx4y:hover{border-color:var(--color-primary)}.language-select.svelte-9yhx4y:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #007bff40}.sr-only.svelte-9yhx4y{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.monthly-calendar.svelte-6iet66{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);max-width:320px}.calendar-header.svelte-6iet66{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.nav-button.svelte-6iet66{background:none;border:1px solid var(--color-border-light);border-radius:var(--border-radius-sm);padding:6px;cursor:pointer;color:var(--color-text-light);transition:all var(--transition-fast)}.nav-button.svelte-6iet66:hover{background:var(--color-gray-200);border-color:var(--color-gray-500)}.month-title.svelte-6iet66{display:flex;align-items:center;gap:var(--spacing-md)}.month-name.svelte-6iet66{font-weight:var(--font-weight-semibold);color:var(--color-text);font-size:var(--font-size-base)}.today-button.svelte-6iet66{background:none;border:1px solid var(--color-primary);border-radius:var(--border-radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-primary);cursor:pointer;transition:all var(--transition-fast)}.today-button.svelte-6iet66:hover{background:var(--color-primary);color:var(--color-white)}.calendar-grid.svelte-6iet66{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--color-border);border-radius:var(--border-radius-sm);overflow:hidden}.day-header.svelte-6iet66{background:var(--color-bg);padding:var(--spacing-sm) var(--spacing-xs);text-align:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-light)}.calendar-day.svelte-6iet66{background:var(--color-white);border:none;padding:10px 6px;text-align:center;font-size:var(--font-size-sm);cursor:pointer;position:relative;height:32px;width:40px;transition:all var(--transition-fast);color:var(--color-text)}.calendar-day.svelte-6iet66:hover{background:#f0f8ff;color:var(--color-primary)}.calendar-day.today.svelte-6iet66{background:var(--color-primary);color:var(--color-white);font-weight:var(--font-weight-semibold)}.calendar-day.today.svelte-6iet66:hover{background:var(--color-primary-dark)}.calendar-day.today.svelte-6iet66 .booking-indicator:where(.svelte-6iet66){background:#ffeb3b}.calendar-day.current-week.svelte-6iet66{background:#e3f2fd;color:#1976d2;font-weight:var(--font-weight-medium)}.calendar-day.current-week.svelte-6iet66:hover{background:#bbdefb}.calendar-day.current-week.today.svelte-6iet66{background:var(--color-primary);color:var(--color-white)}.empty-day.svelte-6iet66{background:var(--color-bg);height:32px}.booking-indicator.svelte-6iet66{position:absolute;bottom:2px;right:2px;width:6px;height:6px;background:#ff6b6b;border-radius:var(--border-radius-circle)}@media (max-width: 768px){.monthly-calendar.svelte-6iet66{padding:var(--spacing-md)}.calendar-day.svelte-6iet66{min-height:32px;font-size:var(--font-size-xs);padding:6px 2px}.day-header.svelte-6iet66{padding:6px 2px;font-size:var(--font-size-xxs)}.month-name.svelte-6iet66{font-size:var(--font-size-sm)}}@media print{.monthly-calendar.svelte-6iet66{display:none}}.week-navigator.svelte-deb1bh{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-xl)}.navigation-controls.svelte-deb1bh{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.nav-button.svelte-deb1bh{background:var(--color-bg);border:1px solid var(--color-border-dark);border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);color:var(--color-text-muted)}.nav-button.svelte-deb1bh:hover{background:var(--color-gray-300);border-color:var(--color-gray-400)}.nav-button.svelte-deb1bh:active{background:var(--color-border-dark)}.week-display.svelte-deb1bh{flex:1;text-align:center}.week-range.svelte-deb1bh{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--spacing-xs)}.current-week-button.svelte-deb1bh{background:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--border-radius-sm);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-xs);cursor:pointer;transition:background-color var(--transition-fast)}.current-week-button.svelte-deb1bh:hover{background:var(--color-primary-dark)}@media (max-width: 768px){.navigation-controls.svelte-deb1bh{gap:var(--spacing-md)}.week-range.svelte-deb1bh{font-size:var(--font-size-base)}.nav-button.svelte-deb1bh{padding:6px 10px}}@media print{.week-navigator.svelte-deb1bh{display:none}}.booking-page.svelte-1c057uh{min-height:100vh;background:var(--color-bg);background:var(--page-background-color);padding:var(--spacing-xl)}.page-header.svelte-1c057uh{margin-bottom:var(--spacing-3xl);padding:1.5rem 1.25rem;background:linear-gradient(135deg,var(--color-primary-gradient-start) 0%,var(--color-primary-gradient-end) 100%);color:var(--color-white);border-radius:var(--border-radius)}.header-content.svelte-1c057uh{display:flex;justify-content:space-between;align-items:center}.header-text.svelte-1c057uh{text-align:left}.page-header.svelte-1c057uh h1:where(.svelte-1c057uh){color:var(--color-white);font-size:var(--font-size-3xl);margin:0;font-weight:var(--font-weight-bold);text-transform:uppercase}@media (max-width: 768px){.header-content.svelte-1c057uh{flex-direction:column;gap:1rem}.header-text.svelte-1c057uh{text-align:center}}.main-content.svelte-1c057uh{max-width:1600px;margin:0 auto}.actions-bar.svelte-1c057uh{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.legend-section.svelte-1c057uh{display:none;flex-direction:column;gap:var(--spacing-lg)}.controls-section.svelte-1c057uh{display:flex;flex-direction:column;gap:var(--spacing-lg);align-items:flex-end;min-width:300px}.create-booking-button.svelte-1c057uh{background:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--border-radius-md);padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);transition:background-color var(--transition-fast);white-space:nowrap}.create-booking-button.svelte-1c057uh:hover{background:var(--color-primary-dark)}.create-booking-button.svelte-1c057uh svg:where(.svelte-1c057uh){flex-shrink:0}.loading.svelte-1c057uh{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-4xl) var(--spacing-xl);background:var(--color-white);border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.spinner.svelte-1c057uh{width:40px;height:40px;border:4px solid var(--color-gray-100);border-top:4px solid var(--color-primary);border-radius:var(--border-radius-circle);animation:svelte-1c057uh-spin 1s linear infinite;margin-bottom:var(--spacing-lg)}.loading.svelte-1c057uh p:where(.svelte-1c057uh){color:var(--color-text-light);font-size:var(--font-size-base);margin:0}.error.svelte-1c057uh{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-4xl) var(--spacing-xl);background:var(--color-white);border:1px solid var(--color-danger);border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.error.svelte-1c057uh p:where(.svelte-1c057uh){color:var(--color-danger);font-size:var(--font-size-base);margin-bottom:var(--spacing-lg)}.error.svelte-1c057uh button:where(.svelte-1c057uh){background:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-lg);cursor:pointer;font-size:var(--font-size-sm)}.error.svelte-1c057uh button:where(.svelte-1c057uh):hover{background:var(--color-primary-dark)}@media (max-width: 768px){.booking-page.svelte-1c057uh{padding:10px}.actions-bar.svelte-1c057uh{flex-direction:column;align-items:stretch}.legend-section.svelte-1c057uh{align-items:stretch}.controls-section.svelte-1c057uh{align-items:stretch;min-width:unset}.create-booking-button.svelte-1c057uh{align-self:flex-end;margin-top:10px}}@media print{.page-header.svelte-1c057uh,.legend-section.svelte-1c057uh,.create-booking-button.svelte-1c057uh,.actions-bar.svelte-1c057uh{display:none}.booking-page.svelte-1c057uh{background:none;padding:0}}@page{size:landscape;margin:1cm}.header-actions.svelte-1c057uh{display:flex;align-items:center;gap:var(--spacing-lg)}.user-info.svelte-1c057uh{display:flex;align-items:center;gap:var(--spacing-md);color:var(--color-white)}.user-info.svelte-1c057uh .username:where(.svelte-1c057uh){font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-md);background:#fff3;border-radius:var(--border-radius-md)}.user-info.svelte-1c057uh .admin-link:where(.svelte-1c057uh){display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:#ffffff26;color:var(--color-white);text-decoration:none;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);transition:background-color var(--transition-fast)}.user-info.svelte-1c057uh .admin-link:where(.svelte-1c057uh):hover{background:#ffffff40}.user-info.svelte-1c057uh .admin-link:where(.svelte-1c057uh) svg:where(.svelte-1c057uh){flex-shrink:0}.user-info.svelte-1c057uh .logout-button:where(.svelte-1c057uh){padding:var(--spacing-xs) var(--spacing-md);background:#ffffff26;color:var(--color-white);border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast)}.user-info.svelte-1c057uh .logout-button:where(.svelte-1c057uh):hover{background:#ffffff40}.login-link.svelte-1c057uh{padding:var(--spacing-xs) var(--spacing-md);background:#ffffff26;color:var(--color-white);text-decoration:none;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);transition:background-color var(--transition-fast)}.login-link.svelte-1c057uh:hover{background:#ffffff40}.login-prompt.svelte-1c057uh{padding:var(--spacing-md);background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:var(--border-radius-md);text-align:center}.login-prompt.svelte-1c057uh .login-prompt-link:where(.svelte-1c057uh){color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium)}.login-prompt.svelte-1c057uh .login-prompt-link:where(.svelte-1c057uh):hover{text-decoration:underline}@-moz-keyframes svelte-1c057uh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@-webkit-keyframes svelte-1c057uh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@-o-keyframes svelte-1c057uh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes svelte-1c057uh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
