/* NE Design System — components/tables.css — Phase 2 (#65) */
/* Table component and variants */

.ne-table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--ne-font-body);
	font-size: 0.875rem;
}

.ne-table thead {
	border-bottom: 1px solid var(--ne-border);
}

.ne-table th {
	font-family: var(--ne-font-mono);
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	color: var(--ne-text-subtle);
	text-align: left;
	padding: var(--ne-space-3) var(--ne-space-4);
}

.ne-table td {
	padding: var(--ne-space-3) var(--ne-space-4);
	color: var(--ne-text);
	vertical-align: middle;
	height: 56px;
}

.ne-table tbody tr {
	border-bottom: 1px solid var(--ne-border);
	transition: background var(--ne-duration) var(--ne-ease);
}

.ne-table tbody tr:hover {
	background: rgba(255, 255, 255, 0.02);
}

.ne-table tbody tr:last-child {
	border-bottom: none;
}

/* === Centered columns === */
.ne-table th.is-center,
.ne-table td.is-center {
	text-align: center;
}

.ne-table th.is-right,
.ne-table td.is-right {
	text-align: right;
}

/* === Numeric/mono data === */
.ne-table td.is-mono {
	font-family: var(--ne-font-mono);
	font-size: 0.85rem;
}

/* === Compact variant === */
.ne-table--compact th,
.ne-table--compact td {
	padding: var(--ne-space-2) var(--ne-space-3);
	height: 40px;
}

/* === Striped variant === */
.ne-table--striped tbody tr:nth-child(odd) {
	background: rgba(255, 255, 255, 0.015);
}

/* === Racing results variant === */
.ne-table--results td.is-dnf {
	color: var(--ne-red);
}

.ne-table--results td.is-bestlap {
	color: var(--ne-yellow);
	font-weight: 600;
}

.ne-table--results td.is-current {
	font-weight: 700;
}

/* === Position cell (balance + badge inline) === */
.ne-table .ne-pos-cell {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--ne-space-1);
}

/* === Position indicator === */
.ne-table .ne-pos {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: var(--ne-radius-sm);
	background: var(--ne-bg);
	font-family: var(--ne-font-mono);
	font-size: 0.8rem;
	font-weight: 600;
}

.ne-table .ne-pos--gold {
	background: rgba(255, 184, 0, 0.15);
	color: var(--ne-yellow);
}

.ne-table .ne-pos--silver {
	background: rgba(255, 255, 255, 0.08);
	color: var(--ne-text-subtle);
}

.ne-table .ne-pos--bronze {
	background: rgba(255, 79, 79, 0.1);
	color: var(--ne-red);
}

/* === Bold data === */
.ne-table td.is-bold {
	font-weight: 700;
}

/* === Left aligned (override center) === */
.ne-table th.is-left,
.ne-table td.is-left {
	text-align: left;
}

/* === Hide on mobile === */
@media (max-width: 750px) {
	.ne-table th.is-hide-mobile,
	.ne-table td.is-hide-mobile,
	.is-hide-mobile {
		display: none;
	}
}
