/* ============================================================================
   Clubora — στοιχεία των οθονών του διαχειριστικού (A1–A12).
   Τα tokens και τα primitives ζουν στο clubora.css· εδώ μόνο ό,τι αφορά
   συγκεκριμένες οθόνες.
   ============================================================================ */

/* ── Φίλτρα & αναζήτηση ───────────────────────────────────────────────────── */

.c-filters {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}

.c-search {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 280px;
	padding: 8px 12px;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--r-input);
}

.c-search .material-symbols-rounded {
	font-size: 19px;
	color: var(--text-muted);
}

.c-search input {
	flex: 1;
	min-width: 0;
	background: transparent;
	border: 0;
	outline: 0;
	color: var(--text);
	font: 500 13px var(--font-ui);
}

.c-search input::placeholder {
	color: var(--text-dim);
}

.c-chips {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

/* ── Πίνακες ──────────────────────────────────────────────────────────────── */

.c-tablewrap {
	border: 1px solid var(--border);
	border-radius: 14px;
	overflow: hidden;
}

.c-table tbody tr.is-selected {
	background: var(--a-soft);
}

/* Γκρουπ που δεν ξεκίνησε ακόμα — υποχωρεί οπτικά χωρίς να «γκριζάρει». */
.c-table tbody tr.is-upcoming {
	opacity: 0.55;
}

.c-table tbody tr:hover {
	cursor: pointer;
}

.is-accent {
	color: var(--a);
}

.c-icon-open {
	font-size: 15px;
	color: var(--a2);
	vertical-align: middle;
	margin-left: 6px;
}

.c-cell-person {
	display: flex;
	align-items: center;
	gap: 10px;
}

.c-pager {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 14px;
	font-size: 12px;
	color: var(--text-muted);
}

.c-pager__buttons {
	display: flex;
	align-items: center;
	gap: 10px;
}

.c-iconbtn--sm {
	width: 26px;
	height: 26px;
	border-radius: 7px;
}

.c-iconbtn--sm .material-symbols-rounded {
	font-size: 17px;
}

.c-iconbtn:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.c-btn--sm {
	padding: 5px 11px;
	font-size: 11px;
}

.c-csv-link {
	display: inline-block;
	margin-top: 12px;
	color: var(--a);
	font-size: 12px;
	font-weight: 700;
}

/* ── A6 Γήπεδα & τιμές ────────────────────────────────────────────────────── */

.c-courtcards {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 12px;
	margin-bottom: 20px;
}

.c-courtcards > .c-card {
	padding: 14px;
}

.c-courtcard__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.c-courtcard__name {
	font-size: 15px;
	font-weight: 700;
}

.c-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
}

.c-dot.is-ok { background: var(--a2); }
.c-dot.is-muted { background: var(--text-muted); }

.c-courtcard__type {
	margin-top: 4px;
	font-size: 11px;
	color: var(--text-dim);
}

.c-courtcard__price {
	margin-top: 12px;
	font-family: var(--font-mono);
	font-weight: 800;
	font-size: 20px;
}

.c-courtcard__per {
	font-family: var(--font-ui);
	font-size: 11px;
	font-weight: 600;
	color: var(--text-dim);
}

.c-courtcard__occ {
	margin-top: 12px;
	font-size: 11px;
	color: var(--text-muted);
}

.c-bar--thin {
	height: 4px;
	margin-top: 5px;
}

.c-bar__fill.is-muted {
	background: var(--border-strong);
}

.c-note {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 14px;
	font-size: 11px;
	color: var(--text-muted);
}

.c-note .material-symbols-rounded {
	font-size: 17px;
}

.c-note-text {
	margin: 8px 0 16px;
	font-size: 12px;
	line-height: 1.5;
	color: var(--text-muted);
}

/* ── A5 Πελάτες (split view) ──────────────────────────────────────────────── */

.c-split {
	display: grid;
	grid-template-columns: 1fr 340px;
	align-items: start;
}

.c-split__list {
	padding-right: 20px;
	border-right: 1px solid var(--hairline);
}

.c-split__detail {
	padding-left: 20px;
}

.c-person {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--hairline);
}

.c-person__name {
	font-size: 17px;
	font-weight: 800;
}

.c-person__meta {
	margin-top: 3px;
	font-size: 11px;
	color: var(--text-muted);
}

.c-avatar--sm {
	width: 30px;
	height: 30px;
	font-size: 11px;
}

.c-avatar--lg {
	width: 56px;
	height: 56px;
	font-size: 18px;
}

.c-stattiles {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 16px;
}

.c-stattile {
	padding: 12px;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: 12px;
}

.c-stattile__value {
	font-family: var(--font-mono);
	font-weight: 800;
	font-size: 20px;
}

.c-stattile__label {
	margin-top: 3px;
	font-size: 11px;
	color: var(--text-muted);
}

/* ── A7 / A8 Μαθήματα ─────────────────────────────────────────────────────── */

.c-daycol {
	flex: none;
	width: 42px;
	text-align: center;
}

.c-daycol__wd {
	font-size: 10px;
	letter-spacing: 0.08em;
	color: var(--text-muted);
}

.c-daycol__num {
	font-size: 21px;
	font-weight: 800;
	line-height: 1.1;
}

.c-daycol__time {
	font-size: 10px;
	color: var(--text-faint);
}

.c-row--tall {
	padding: 16px 0;
}

.c-row.is-cancelled {
	opacity: 0.45;
}

.c-row.is-cancelled .c-row__title {
	text-decoration: line-through;
}

.c-attendance {
	display: flex;
	gap: 4px;
}

.c-attendance__cell {
	width: 14px;
	height: 14px;
	border-radius: 4px;
	background: var(--border-strong);
}

.c-attendance__cell.is-present {
	background: var(--a);
}

.c-weekgrid {
	display: grid;
	grid-template-columns: 40px repeat(7, 1fr);
	gap: 4px;
}

.c-weekgrid__head {
	font-size: 10px;
	font-weight: 700;
	color: var(--text-muted);
	text-align: center;
}

.c-weekgrid__hour {
	font-size: 10px;
	color: var(--text-faint);
}

.c-weekgrid__cell {
	height: 22px;
	border-radius: 5px;
	background: var(--surface-raised);
}

.c-weekgrid__cell.is-full { background: var(--a); }
.c-weekgrid__cell.is-open { background: var(--a-soft); }

/* ── Ανοιχτά παιχνίδια ────────────────────────────────────────────────────── */

.c-dots {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
}

.c-dots__slot {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 1px dashed var(--a-line);
}

.c-dots__slot.is-filled {
	background: var(--avatar-bg);
	border: 0;
}

.c-dots__label {
	margin-left: 8px;
	font-size: 11px;
}

/* ── A9 Τουρνουά & A10 Πλάνα ──────────────────────────────────────────────── */

.c-stack {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.c-card--clickable {
	cursor: pointer;
}

.c-card.is-past {
	opacity: 0.6;
}

.c-card.is-selected {
	box-shadow: inset 0 0 0 1px var(--a-line);
}

.c-plancards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-bottom: 20px;
}

.c-card--plan {
	background: var(--wash-plan);
	border-color: var(--a-line);
}

.c-badge-accent {
	padding: 3px 9px;
	border-radius: var(--r-pill);
	background: var(--a-soft);
	color: var(--a);
	font-size: 10px;
	font-weight: 700;
}

.c-plancard__price {
	margin-top: 12px;
	font-family: var(--font-mono);
	font-weight: 800;
	font-size: 24px;
}

.c-plancard__per {
	font-family: var(--font-ui);
	font-size: 11px;
	font-weight: 600;
	color: var(--text-dim);
}

.c-plancard__benefits {
	margin-top: 10px;
	min-height: 48px;
	font-size: 11px;
	line-height: 1.5;
	color: var(--text-muted);
}

.c-plancard__foot {
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid var(--hairline);
	font-size: 11px;
	color: var(--text-muted);
}

/* ── A11 Αναφορές ─────────────────────────────────────────────────────────── */

.c-heat {
	display: grid;
	grid-template-columns: 44px repeat(var(--heat-hours, 15), 1fr);
	gap: 4px;
}

.c-heat__day {
	align-self: center;
	font-size: 10px;
	font-weight: 700;
	color: var(--text-muted);
}

.c-heat__cell {
	aspect-ratio: 1;
	border-radius: 3px;
}

.c-heat__axis {
	font-size: 9px;
	color: var(--text-faint);
	text-align: center;
}

.c-srcbar {
	margin-bottom: 16px;
}

.c-srcbar__head {
	display: flex;
	justify-content: space-between;
	margin-bottom: 6px;
	font-size: 12px;
}

.c-srcbar__pct {
	margin-top: 4px;
	font-size: 10px;
	color: var(--text-faint);
}

/* ── A12 Ρυθμίσεις ────────────────────────────────────────────────────────── */

.c-settings {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 22px;
	align-items: start;
}

.c-settings__nav {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.c-settings__nav .c-nav-item {
	width: 100%;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: pointer;
}

.c-fieldrow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 13px 0;
	border-bottom: 1px solid var(--hairline);
}

.c-fieldrow:last-child {
	border-bottom: 0;
}

.c-fieldrow label {
	font-size: 13px;
	font-weight: 600;
}

.c-select,
.c-input {
	padding: 7px 11px;
	background: var(--surface-raised);
	border: 1px solid var(--border);
	border-radius: 9px;
	color: var(--text);
	font: 600 13px var(--font-ui);
}

.c-select.is-accent {
	border-color: var(--a-line);
	color: var(--a);
}

.c-input {
	width: 76px;
	font-family: var(--font-mono);
	text-align: right;
}

.c-stepper {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 12px;
	color: var(--text-muted);
}

.c-switch {
	width: 44px;
	height: 26px;
	accent-color: var(--a);
	cursor: pointer;
}

.c-saved {
	margin-bottom: 14px;
	padding: 10px 14px;
	border-radius: 10px;
	background: var(--a2-soft);
	color: var(--a2);
	font-size: 12px;
	font-weight: 700;
}
