.schedule-grid-container{--schedule-disabled-stripe:#0f172a0d}[data-theme=dark] .schedule-grid-container{--schedule-disabled-stripe:#ffffff0f}@media (prefers-color-scheme:dark){:root:not([data-theme]) .schedule-grid-container{--schedule-disabled-stripe:#ffffff0f}}.schedule-grid-container .schedule-grid{grid-template-columns:40px repeat(5,minmax(72px,104px));gap:4px;width:fit-content;margin:0 auto;display:grid;overflow:visible}.schedule-grid-container .schedule-grid-7cols{grid-template-columns:44px repeat(7,minmax(72px,104px))}.schedule-grid-container .schedule-grid-7cols.schedule-grid-with-template{grid-template-columns:44px 44px repeat(7,minmax(72px,104px))}.schedule-grid-container .schedule-grid-14cols{grid-template-columns:44px repeat(14,minmax(72px,104px))}.schedule-grid-container .schedule-grid-14cols.schedule-grid-with-template{grid-template-columns:44px 44px repeat(14,minmax(72px,104px))}.schedule-grid-container .schedule-grid-no-time{grid-template-columns:repeat(7,minmax(72px,104px))}.schedule-grid-container .schedule-grid-14cols.schedule-grid-no-time{grid-template-columns:repeat(14,minmax(72px,104px))}.schedule-grid-container .schedule-grid-compact.schedule-grid-no-time{grid-template-columns:repeat(7,minmax(0,1fr));width:100%}.schedule-grid-container .schedule-grid-compact.schedule-grid-14cols.schedule-grid-no-time{grid-template-columns:repeat(14,minmax(0,1fr))}.schedule-grid-container .grid-header-cell{z-index:3;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:44px;padding:6px 4px;display:flex;position:sticky;top:0}.schedule-grid-container .grid-header-cell.clickable{cursor:pointer}.schedule-grid-container .grid-header-cell.today{background:var(--color-warning-light);border:1px solid var(--color-warning)}.schedule-grid-container .grid-header-cell.weekend{background:var(--color-ink-faint)}.schedule-grid-container .grid-header-cell:not(.grid-corner) .date{color:var(--color-text-primary);font-size:14px;font-weight:800;line-height:1}.schedule-grid-container .grid-header-cell:not(.grid-corner) .weekday{font-size:11px;font-weight:var(--font-semibold);color:var(--color-text-primary);opacity:.86;line-height:1}.schedule-grid-container .grid-header-cell.other-month .date{color:var(--color-text-tertiary)}.schedule-grid-container .grid-header-cell.other-month{box-shadow:none}.schedule-grid-container .grid-corner{background:var(--color-bg-tertiary);z-index:4;position:sticky;top:0;left:0}.schedule-grid-container .grid-header-cell.grid-corner{padding:0 4px}.schedule-grid-container .schedule-grid-with-template .grid-corner.time-corner{left:48px}.schedule-grid-container .corner-label{font-size:11px;font-weight:var(--font-semibold);color:var(--color-text-secondary)}.schedule-grid-container .grid-template-cell{font-size:11px;font-weight:var(--font-semibold);color:var(--color-text-secondary);z-index:3;background:var(--color-bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--color-border-light);-webkit-user-select:none;user-select:none;transition:background var(--transition-fast),border-color var(--transition-fast);justify-content:center;align-items:center;padding:0;display:flex;position:sticky;left:0}.schedule-grid-container .grid-template-cell.clickable{cursor:pointer}.schedule-grid-container .grid-time-cell{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-text-secondary);padding:var(--spacing-xs);z-index:2;background:var(--color-bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--color-border-light);justify-content:center;align-items:center;display:flex;position:sticky;left:0}.schedule-grid-container .grid-time-cell.clickable{cursor:pointer}.schedule-grid-container .schedule-grid.readonly .grid-cell,.schedule-grid-container .schedule-grid.readonly .grid-header-cell,.schedule-grid-container .schedule-grid.readonly .grid-template-cell,.schedule-grid-container .schedule-grid.readonly .grid-time-cell{cursor:default;pointer-events:none}.schedule-grid-container .schedule-grid-with-template .grid-time-cell{left:48px}.schedule-grid-container .grid-cell{border-radius:var(--radius-sm);cursor:pointer;min-height:48px;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);font-size:var(--font-xs);justify-content:center;align-items:center;display:flex;position:relative}.schedule-grid-container .grid-cell:hover{background:var(--color-bg-tertiary)}.schedule-grid-container .grid-cell.weekend{opacity:.7}.schedule-grid-container .grid-cell.pending{outline:none}.schedule-grid-container .grid-cell.pending:after{content:"";background:var(--color-warning);opacity:.9;border-radius:999px;width:6px;height:6px;position:absolute;top:4px;left:4px}.schedule-grid-container .grid-cell.selected{box-shadow:inset 0 0 0 2px var(--color-warning)}.schedule-grid-container .cell-empty{background:var(--color-bg-secondary);border:1px dashed var(--color-border-light);color:var(--color-text-tertiary)}.schedule-grid-container .cell-empty:hover{background:var(--color-warning-light);border-color:var(--color-warning)}.schedule-grid-container .cell-open{background:var(--color-success-faint);border:2px solid var(--color-success);color:var(--color-success)}.schedule-grid-container .cell-open:hover{background:var(--color-success-light);border-color:var(--color-success-dark)}.schedule-grid-container .cell-disabled{background-color:var(--color-ink-faint);background-image:repeating-linear-gradient(45deg,transparent 0 6px,var(--schedule-disabled-stripe)6px 12px);border:1px solid var(--color-border-light);color:var(--color-text-tertiary)}.schedule-grid-container .cell-disabled:hover{background-color:var(--color-bg-hover);background-image:repeating-linear-gradient(45deg,transparent 0 6px,var(--schedule-disabled-stripe)6px 12px);border-color:var(--color-border)}.schedule-grid-container .cell-booked{background:var(--color-info-soft);border:1px solid var(--color-info-strong);color:var(--color-text-primary);cursor:not-allowed}.schedule-grid-container .cell-booked:hover{background:var(--color-info-soft)}.schedule-grid-container .admin-marker{color:var(--color-warning);font-size:10px;line-height:1;position:absolute;top:2px;right:4px}.schedule-grid-container .booking-count{font-weight:var(--font-bold);font-size:var(--font-sm)}.schedule-grid-container .cell-booked .booking-count{color:var(--color-info)}.schedule-grid-container .grid-loading,.schedule-grid-container .grid-error{padding:var(--spacing-xl);color:var(--color-text-tertiary);grid-column:span 8;justify-content:center;align-items:center;display:flex}.schedule-grid-container .schedule-legend{justify-content:center;gap:var(--spacing-md);padding:var(--spacing-sm);border-top:1px solid var(--color-border-light);margin-top:var(--spacing-sm);flex-wrap:wrap;display:flex}.schedule-grid-container .legend-item{align-items:center;gap:var(--spacing-xs);font-size:var(--font-xs);color:var(--color-text-secondary);display:flex}.schedule-grid-container .legend-dot{border-radius:var(--radius-xs);width:14px;height:14px}.schedule-grid-container .legend-dot.cell-open{background:var(--color-success-faint);border:2px solid var(--color-success)}.schedule-grid-container .legend-dot.cell-disabled{background-color:var(--color-ink-faint);background-image:repeating-linear-gradient(45deg,transparent 0 4px,var(--schedule-disabled-stripe)4px 8px);border:1px solid var(--color-border-light)}.schedule-grid-container .legend-dot.cell-booked{background:var(--color-info-soft);border:1px solid var(--color-info-strong)}.schedule-grid-container .legend-dot.cell-empty{background:var(--color-bg-secondary);border:1px dashed var(--color-border-light)}.schedule-grid-container .legend-dot.admin-marker-legend{background:var(--color-bg-secondary);border:1px solid var(--color-border);position:relative}.schedule-grid-container .legend-dot.admin-marker-legend:after{content:"";background:var(--color-warning);border-radius:50%;width:5px;height:5px;position:absolute;top:1px;right:1px}.schedule-grid-container .grid-header-cell,.schedule-grid-container .grid-time-cell{gap:2px}.schedule-grid-container .grid-time-cell{flex-direction:column}.schedule-grid-container .schedule-grid-compact{grid-template-columns:40px repeat(7,40px);gap:8px 4px;width:fit-content;margin:0 auto}.schedule-grid-container .schedule-grid-compact.schedule-grid-with-template{grid-template-columns:40px 40px repeat(7,40px)}.schedule-grid-container .schedule-grid-compact.schedule-grid-14cols{grid-template-columns:40px repeat(14,40px)}.schedule-grid-container .schedule-grid-compact.schedule-grid-14cols.schedule-grid-with-template{grid-template-columns:40px 40px repeat(14,40px)}.schedule-grid-container .schedule-grid-compact.schedule-grid-with-template .grid-corner.time-corner,.schedule-grid-container .schedule-grid-compact.schedule-grid-with-template .grid-time-cell{left:40px}.schedule-grid-container .schedule-grid-compact .grid-header-cell{gap:1px;height:40px;min-height:40px;padding:4px 2px}.schedule-grid-container .schedule-grid-compact .grid-header-cell.grid-corner{cursor:default}.schedule-grid-container .schedule-grid-compact .grid-header-cell:not(.grid-corner) .weekday{font-size:10px}.schedule-grid-container .schedule-grid-compact .grid-header-cell:not(.grid-corner) .date{font-size:13px}.schedule-grid-container .schedule-grid-compact .grid-time-cell{height:40px;min-height:40px;padding:0;font-size:11px}.schedule-grid-container .schedule-grid-compact .grid-template-cell{height:40px;min-height:40px}.schedule-grid-container .schedule-grid-compact .grid-cell{border-radius:var(--radius-sm);height:40px;min-height:40px}.schedule-grid-container .schedule-grid-compact .grid-cell.selected{box-shadow:inset 0 0 0 1px var(--color-warning)}.schedule-grid-container .schedule-grid-compact .booking-count{font-size:11px}.schedule-grid-container .schedule-grid-compact .admin-marker{font-size:8px;top:1px;right:2px}