.oi-lat-ranking-wrap {
	margin: 1.5em 0;
	--oi-border: #dee2e6;
}

.oi-lat-intro {
	margin-bottom: 1em;
}

.oi-lat-status {
	min-height: 1.2em;
	color: #555;
	font-style: italic;
	margin-bottom: 0.5em;
}

/* ----- Obszar przewijania ----- */
.oi-lat-scroll {
	max-height: 80vh;
	overflow: auto;
	border: 1px solid var(--oi-border);
}

/* ----- Pasek filtrów (sticky) ----- */
.oi-lat-filterbar {
	display: flex;
	position: sticky;
	top: 0;
	z-index: 5;
	background: #fff;
	border-bottom: 1px solid var(--oi-border);
}

.oi-lat-fcol {
	flex: 1 1 25%;
	width: 25%;
	box-sizing: border-box;
	padding: 6px 12px;
	display: flex;
	align-items: center;
}

.oi-lat-filterbar input,
.oi-lat-filterbar select {
	width: 100%;
	border: 0;
	background: transparent;
	font-weight: 700;
	font-size: 15px;
	padding: 6px 0;
	color: inherit;
	box-shadow: none;
	outline: none;
}

.oi-lat-fsearch {
	gap: 6px;
}

.oi-lat-ico {
	color: #6c757d;
	display: inline-flex;
}

.oi-lat-ocena-head {
	font-weight: 700;
	font-size: 15px;
}

/* ----- Tabela ----- */
table.oi-lat-table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	margin: 0;
	background: #fff;
}

table.oi-lat-table td {
	padding: 10px 12px;
	vertical-align: middle;
	border-top: 1px solid var(--oi-border);
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.oi-lat-c-name,
.oi-lat-c-komitet,
.oi-lat-c-okreg,
.oi-lat-c-ocena {
	width: 25%;
}

.oi-lat-c-ocena {
	padding: 0 !important;
}

/* Wiersze osób — klikalne, podświetlenie na hover */
tr.oi-lat-person {
	cursor: pointer;
}

tr.oi-lat-person:hover td {
	background: rgba(0, 0, 0, 0.06);
}

tr.oi-lat-person.oi-lat-open td {
	font-weight: 700;
}

/* Komórka „Ocena” (tło ustawiane w JS wg progu) */
.oi-lat-rating-box {
	display: flex;
	width: 100%;
	justify-content: space-between;
	align-items: center;
	padding: 10px 12px;
	box-sizing: border-box;
}

.oi-lat-expand {
	visibility: hidden;
	display: inline-flex;
	color: #333;
}

tr.oi-lat-person:hover .oi-lat-expand {
	visibility: visible;
}

/* ----- Rozwinięcie ----- */
tr.oi-lat-detail-row > td {
	padding: 0 !important;
	border-top: 0;
}

table.oi-lat-detail {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	margin: 0;
}

table.oi-lat-detail td {
	padding: 8px 12px;
	border-top: 1px solid var(--oi-border);
	vertical-align: middle;
	font-size: 14px;
}

table.oi-lat-detail .oi-lat-d {
	width: 75%;
}

table.oi-lat-detail .oi-lat-v {
	width: 25%;
}

/* Kolory głosów w rozwinięciu (jak w starej wtyczce) */
table.oi-lat-detail .oi-lat-green {
	background-color: hsl(128, 64%, 85%);
}

table.oi-lat-detail .oi-lat-red {
	background-color: hsl(0, 64%, 85%);
}

.oi-lat-empty {
	text-align: center;
	color: #777;
	padding: 1.5em !important;
}
