/*
 * Desk — widok sali (Task 116, paczka P4.S).
 *
 * LLM intent (Task 116 E4 [styl kanału sali nie wycieka poza panel]): każdy selektor pod .evreg-desk
 * (tokeny z desk.css), zero reguł globalnych; cele dotyku z desk.css (48px). Sala pracuje na stojąco,
 * często na tablecie — kafle slotów i wiersze rosteru są szerokie i wysokie, a stan kaucji odróżnia
 * się kolorem ORAZ tekstem (sam kolor byłby niewidoczny dla daltonisty).
 * Cross-ref: 121.10 §10, desk.css
 */

/*
 * LLM intent (Task 128 R-2/R-3/R-4 [siatka dniami, zwijanie, filtr]): kafle układa `.evreg-desk__room-day-slots`
 * (jedna grupa na dzień), a sam kontener siatki jest blokiem, żeby nagłówki dni szły pełną szerokością.
 * Ukrywanie idzie atrybutem `hidden` — dla elementów z własnym `display` (wiersz rosteru to flex, pasek to
 * przycisk) atrybut przegrywa z regułą klasy, więc `[hidden]` dostaje jawne `display: none`.
 * Cross-ref: T128-R2, T128-R3, T128-R4
 */
.evreg-desk__room-slots {
	margin: 0.5rem 0 1rem;
}

.evreg-desk__room-day-title {
	margin: 0.75rem 0 0.25rem;
	color: var(--evreg-desk-primary);
}

/* LLM intent (Task 128 R-4 [„Czwartek, 8 Października”]): `capitalize` podnosił KAŻDE słowo, a po polsku wielka
   jest tylko pierwsza litera nagłówka — stąd `::first-letter`. Cross-ref: review 262 §4 (kosmetyka) */
.evreg-desk__room-day-title::first-letter {
	text-transform: uppercase;
}

.evreg-desk__room-day-slots {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.evreg-desk__slot-pick-room {
	color: var(--evreg-desk-muted);
}

.evreg-desk button.evreg-desk__room-bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.5rem;
	width: 100%;
	margin: 0.5rem 0 1rem;
	text-align: left;
	background: var(--evreg-desk-surface);
	color: var(--evreg-desk-text);
	border-color: var(--evreg-desk-border);
}

.evreg-desk__room-bar-title {
	font-weight: 600;
}

.evreg-desk__room-bar-action {
	color: var(--evreg-desk-accent);
}

.evreg-desk input.evreg-desk__roster-filter {
	width: 100%;
	max-width: 28rem;
	margin: 0 0 0.5rem;
}

.evreg-desk__roster-empty {
	margin: 0.5rem 0;
	color: var(--evreg-desk-muted);
}

.evreg-desk .evreg-desk__room-slots[hidden],
.evreg-desk button.evreg-desk__room-bar[hidden],
.evreg-desk .evreg-desk__roster-row[hidden],
.evreg-desk .evreg-desk__roster-empty[hidden] {
	display: none;
}

.evreg-desk button.evreg-desk__slot-pick {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.15rem;
	min-width: 14rem;
	text-align: left;
	background: var(--evreg-desk-surface);
	color: var(--evreg-desk-text);
	border-color: var(--evreg-desk-border);
	font-weight: 400;
}

.evreg-desk button.evreg-desk__slot-pick:hover {
	border-color: var(--evreg-desk-accent);
	background: var(--evreg-desk-bg);
}

.evreg-desk__slot-pick-title {
	font-weight: 600;
}

.evreg-desk__slot-pick-time,
.evreg-desk__slot-pick-seats {
	color: var(--evreg-desk-muted);
}

/* Trwa teraz — jedyny kafel wyróżniony, żeby prowadzący trafił w swój warsztat bez czytania godzin. */
.evreg-desk button.evreg-desk__slot-pick[data-now="running"] {
	border-color: var(--evreg-desk-accent);
	border-width: 2px;
}

.evreg-desk__roster-title {
	margin: 0 0 0.25rem;
	color: var(--evreg-desk-primary);
}

.evreg-desk__roster-time {
	margin: 0 0 0.5rem;
	color: var(--evreg-desk-muted);
}

.evreg-desk__deposit-info,
.evreg-desk__deposit-legend {
	margin: 0 0 0.5rem;
	color: var(--evreg-desk-muted);
}

.evreg-desk__roster-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--evreg-desk-border);
}

.evreg-desk__roster-name {
	font-weight: 600;
	min-width: 12rem;
}

.evreg-desk__roster-email,
.evreg-desk__roster-status {
	color: var(--evreg-desk-muted);
}

.evreg-desk__deposit {
	padding: 0.15rem 0.5rem;
	border: 1px solid var(--evreg-desk-border);
	border-radius: 0.25rem;
}

.evreg-desk__deposit[data-state="unpaid"] {
	border-color: var(--evreg-desk-error);
	color: var(--evreg-desk-error);
}

.evreg-desk__deposit[data-state="paid"] {
	border-color: var(--evreg-desk-ok);
	color: var(--evreg-desk-ok);
}

.evreg-desk__roster-row .evreg-desk__slot-btn {
	margin-left: auto;
}

.evreg-desk__roster-row .evreg-desk__slot-btn[aria-checked="true"] {
	background: var(--evreg-desk-ok);
	border-color: var(--evreg-desk-ok);
	color: #ffffff;
}
