/** * Bookings - Booking List & Items * * Styling for booking components on dashboard * Reuses: swp-list-base, swp-list-item-base (components.css) */ /* =========================================== BOOKING LIST =========================================== */ swp-booking-list { display: contents; } /* =========================================== BOOKING ITEM =========================================== */ swp-booking-item { display: grid; grid-column: 1 / -1; grid-template-columns: subgrid; align-items: center; padding: var(--card-padding); background: var(--color-background-alt); border-radius: var(--radius-lg); cursor: pointer; transition: background var(--transition-fast); } swp-booking-item:hover { background: var(--color-background-hover); } swp-booking-item.completed { opacity: 0.6; } swp-booking-item.completed swp-booking-indicator { background: var(--color-border); } swp-booking-item.inprogress { background: var(--bg-teal-medium); } /* =========================================== BOOKING TIME =========================================== */ swp-booking-time { display: flex; flex-direction: column; align-items: flex-start; } swp-booking-time swp-time-start { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); font-family: var(--font-mono); color: var(--color-text); } swp-booking-time swp-time-end { font-size: var(--font-size-xs); color: var(--color-text-secondary); font-family: var(--font-mono); } /* =========================================== BOOKING INDICATOR =========================================== */ swp-booking-indicator { width: 4px; height: 40px; border-radius: 2px; } swp-booking-indicator.teal { background: var(--color-teal); } swp-booking-indicator.blue { background: var(--color-blue); } swp-booking-indicator.purple { background: var(--color-purple); } swp-booking-indicator.amber { background: var(--color-amber); } swp-booking-indicator.green { background: var(--color-green); } /* =========================================== BOOKING DETAILS =========================================== */ swp-booking-details { min-width: 0; overflow: hidden; } /* =========================================== BOOKING EMPLOYEE =========================================== */ swp-booking-employee { display: flex; align-items: center; gap: var(--spacing-3); } /* TODO: Consider using swp-avatar.size-xs from components.css instead */ swp-booking-employee swp-avatar-small { width: 24px; height: 24px; border-radius: var(--radius-full); background: var(--color-teal); color: white; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: var(--font-weight-semibold); } swp-booking-employee span { font-size: var(--font-size-sm); color: var(--color-text-secondary); } /* =========================================== BOOKING STATUS =========================================== */ /* Status badge - now unified in components.css as swp-status-badge */ /* Use: */ /* =========================================== CURRENT TIME INDICATOR =========================================== */ swp-current-time { display: flex; align-items: center; gap: var(--spacing-4); padding: var(--spacing-4) var(--spacing-6); background: var(--bg-teal-medium); border-radius: var(--radius-lg); margin-bottom: var(--spacing-4); } swp-current-time i { font-size: var(--font-size-lg); color: var(--color-teal); } swp-current-time span { font-size: var(--font-size-md); color: var(--color-teal); font-weight: var(--font-weight-medium); } swp-current-time swp-time { font-family: var(--font-mono); font-weight: var(--font-weight-semibold); }