/*
 * Leonardo - modern site chrome (2026)
 * Loaded after the legacy stylesheets from MENU_menu.php, so it overrides them.
 * Page width, background, header, top menu, filter bar, list headers and tables.
 */

:root {
	--leo-ink: #1d2733;
	--leo-muted: #637085;
	--leo-line: #dfe5ed;
	--leo-line-soft: #edf1f5;
	--leo-bg: #eef3f8;
	--leo-card: #ffffff;
	--leo-accent: #1b6bb5;
	--leo-accent-dark: #124f89;
	--leo-accent-soft: #e8f1fb;
	--leo-warm: #f59e0b;
	--leo-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--leo-width: 1320px;
	--leo-radius: 12px;
	--leo-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
}

/* ---------------------------------------------------------------- page */

html {
	background: var(--leo-bg);
}

body {
	margin: 0 !important;
	background: var(--leo-bg) !important;
	background-image: linear-gradient(180deg, #cfe1f2 0px, #e4edf6 220px, var(--leo-bg) 480px) !important;
	background-repeat: no-repeat !important;
	font-family: var(--leo-font);
	color: var(--leo-ink);
}

.leo-page {
	width: 100%;
	max-width: var(--leo-width);
	margin: 0 auto;
	padding: 0 12px;
	box-sizing: border-box;
}

/* the legacy wrapper tables become full width inside .leo-page */
.leo-page table.leo-wrap,
.leo-page table.leo-wrap > tbody > tr > td.bodyline {
	width: 100%;
	border: 0 !important;
	background: transparent !important;
	padding: 0 !important;
}

.mainBodyTable,
.bodyline {
	border: 0 !important;
	background: transparent !important;
}

.mainWrapCell {
	width: 100%;
}

.mainWrapCell > .main_text {
	width: 100%;
}

/* the wrapper table of BLOCKS_start.php shrinks to its content unless told otherwise */
.bodyline > table,
.leo-page td.bodyline > table {
	width: 100% !important;
	border-collapse: collapse;
}

td.mainWrapCell {
	width: 100%;
	padding: 0;
}

td.mainWrapCell + td {
	width: 0 !important;
	padding: 0 !important;
}

/* legacy fixed widths */
.tableTitle,
html > body .tableTitle,
.mainBox,
.tableInfo,
.listTable,
#nav,
#nav ul {
	width: auto;
}

.leo-page table[width="1200"],
.leo-page table[width="1180"] {
	width: 100% !important;
}

.main_text,
.main_text td,
.main_text th,
.main_text div {
	font-family: var(--leo-font);
	font-size: 13px;
	line-height: 1.4;
}

.main_text {
	color: var(--leo-ink);
}

.main_text a:link,
.main_text a:visited,
a:link,
a:visited {
	color: var(--leo-accent);
}

a:hover {
	color: var(--leo-accent-dark);
}

/* ---------------------------------------------------------------- header */

.leo-header {
	position: relative;
	margin: 12px 0 0;
	border-radius: var(--leo-radius);
	background: #17548f;
	background-image:
		radial-gradient(60% 90% at 78% 10%, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0) 60%),
		radial-gradient(40% 70% at 20% 0%, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0) 60%),
		linear-gradient(180deg, #123f73 0%, #1f6db4 55%, #5fa4dc 100%);
	color: #ffffff;
	box-shadow: 0 6px 20px rgba(23, 84, 143, 0.22);
	overflow: hidden;
}

.leo-header-inner {
	position: relative;
	z-index: 1;
}

/* clouds: big, soft, slowly drifting from left to right at different speeds and heights */
.leo-clouds {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

.leo-cloud {
	position: absolute;
	left: -260px;
	width: 200px;
	height: 110px;
	opacity: 0.55;
	filter: drop-shadow(0 6px 10px rgba(9, 40, 76, 0.12));
	animation: leoCloudDrift linear infinite;
}

.leo-cloud-1 { top: -18px; width: 230px; height: 126px; opacity: 0.5; animation-duration: 95s; animation-delay: -30s; }
.leo-cloud-2 { top: 40px; width: 150px; height: 82px; opacity: 0.42; animation-duration: 70s; animation-delay: -55s; }
.leo-cloud-3 { top: 70px; width: 190px; height: 104px; opacity: 0.35; animation-duration: 120s; animation-delay: -80s; }
.leo-cloud-4 { top: 6px; width: 120px; height: 66px; opacity: 0.48; animation-duration: 60s; animation-delay: -12s; }
.leo-cloud-5 { top: 52px; width: 260px; height: 143px; opacity: 0.3; animation-duration: 140s; animation-delay: -100s; }

@keyframes leoCloudDrift {
	0% { transform: translateX(0) translateY(0); }
	25% { transform: translateX(calc(25vw + 100px)) translateY(-6px); }
	50% { transform: translateX(calc(50vw + 200px)) translateY(4px); }
	75% { transform: translateX(calc(75vw + 300px)) translateY(-4px); }
	100% { transform: translateX(calc(100vw + 400px)) translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
	.leo-cloud { animation: none; }
	.leo-cloud-1 { left: 8%; } .leo-cloud-2 { left: 34%; } .leo-cloud-3 { left: 55%; } .leo-cloud-4 { left: 72%; } .leo-cloud-5 { left: 86%; }
}

.leo-header-inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: 122px;
	padding: 12px 18px;
}

.leo-logo {
	display: inline-flex;
	align-items: center;
	flex: none;
	padding: 0 4px;
	text-decoration: none;
}

/* a soft light glow around the shapes keeps the dark logo readable on the sky, no plate */
.leo-logo img {
	display: block;
	width: 200px;
	height: auto;
	filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.95)) drop-shadow(0 0 10px rgba(255, 255, 255, 0.7));
}

.leo-header-mid {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 8px;
	min-height: 98px;
	padding-left: 14px;
}


.leo-tagline {
	position: relative;
	font-family: "Exo 2", var(--leo-font);
	font-size: 23px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.12;
	color: #ffffff;
	text-shadow: 0 2px 8px rgba(9, 40, 76, 0.45);
}

.leo-club-chip {
	position: relative;
}

.leo-club-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.35);
	color: #ffffff;
	font-size: 14px;
	font-weight: 600;
}

.leo-club-chip img {
	vertical-align: middle;
}

.leo-banner {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 728px;
	min-height: 90px;
	max-width: 100%;
	border-radius: 8px;
	overflow: hidden;
}

.leo-banner:empty {
	display: none;
}

/* ---------------------------------------------------------------- podium strip (best flights of the year) */

.leo-podium {
	/* grid with a minmax(0,1fr) track: the cards never widen the page */
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: stretch;
	gap: 10px;
	margin: 10px 0 0;
	padding: 8px 10px;
	border: 1px solid var(--leo-line);
	border-radius: var(--leo-radius);
	background: var(--leo-card);
	box-shadow: var(--leo-shadow);
	overflow: hidden;
}

.leo-podium:empty {
	display: none;
}

/* placeholder until EXT_news.php answers: same height as the loaded strip, so nothing jumps */
.leo-podium {
	min-height: 64px;
	box-sizing: border-box;
}

.leo-podium-skel {
	flex: 0 0 220px;
	height: 46px;
	border-radius: 8px;
	background: linear-gradient(90deg, #f1f5f9 0%, #e6edf5 50%, #f1f5f9 100%);
	background-size: 200% 100%;
	animation: leoSkel 1.4s linear infinite;
}

@keyframes leoSkel {
	from { background-position: 200% 0; }
	to { background-position: -200% 0; }
}

.leo-podium-label {
	flex: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1px;
	padding: 4px 12px 4px 6px;
	border-right: 1px solid var(--leo-line);
	color: var(--leo-muted);
	font-size: 11px;
	line-height: 1.2;
	white-space: nowrap;
}

.leo-podium-label b {
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--leo-ink);
	font-size: 14px;
}

.leo-podium-label b .leo-ico {
	color: var(--leo-warm);
}

.leo-podium-track {
	display: flex;
	gap: 8px;
	min-width: 0;
	overflow: hidden;
}

.leo-podium-card,
.leo-podium-card:link,
.leo-podium-card:visited {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 12px 6px 8px;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	background: linear-gradient(180deg, #fbfdff 0%, #f3f7fb 100%);
	color: var(--leo-ink);
	text-decoration: none;
	transition: opacity 0.35s ease, transform 0.35s ease;
}

.leo-podium-card:hover {
	border-color: var(--leo-accent);
	text-decoration: none;
}

.leo-podium-card.leo-fade {
	opacity: 0;
	transform: translateX(-12px);
}

.leo-podium-cat {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 30px;
	flex: none;
	border-radius: 8px;
	background: #ffffff;
	border: 1px solid var(--leo-line);
}

.leo-podium-body {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.25;
}

.leo-podium-body b {
	font-size: 13px;
	white-space: nowrap;
}

.leo-podium-body small {
	color: var(--leo-muted);
	font-size: 11px;
	white-space: nowrap;
	max-width: 260px;
	overflow: hidden;
	text-overflow: ellipsis;
}

.leo-podium-score {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	margin-left: 6px;
	padding-left: 10px;
	border-left: 1px dashed var(--leo-line);
	font-size: 15px;
	font-weight: 700;
	color: var(--leo-accent-dark);
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}

.leo-podium-score small {
	font-size: 10px;
	font-weight: 500;
	color: var(--leo-muted);
}

.leo-podium-news,
.leo-podium-news:link,
.leo-podium-news:visited {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0 12px;
	border-radius: 10px;
	background: #fff7e6;
	border: 1px solid #fde1a8;
	color: #7a4b00;
	font-size: 12.5px;
	text-decoration: none;
}

.leo-podium-news span {
	color: #a8742a;
	font-size: 11px;
}

.leo-podium-more,
.leo-podium-more:link,
.leo-podium-more:visited {
	flex: none;
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 0 6px 0 10px;
	border-left: 1px solid var(--leo-line);
	color: var(--leo-muted);
	font-size: 12px;
	white-space: nowrap;
	text-decoration: none;
}

.leo-podium-more:hover {
	color: var(--leo-accent);
}

/* ---------------------------------------------------------------- top menu (#nav, suckerfish) */

#nav {
	position: relative;
	z-index: 60;
	display: flex;
	align-items: center;
	float: none;
	clear: both;
	width: auto;
	margin: 10px 0 12px;
	padding: 4px;
	border: 1px solid var(--leo-line);
	border-radius: var(--leo-radius);
	background: var(--leo-card);
	box-shadow: var(--leo-shadow);
	line-height: normal;
}

#nav > li {
	position: relative;
	float: none;
	width: auto;
	height: auto;
	padding: 0;
	border: 0;
	background: none;
	font-size: 13px;
}

#nav > li > a {
	display: flex;
	align-items: center;
	gap: 6px;
	width: auto;
	height: 36px;
	padding: 0 14px;
	border: 0;
	border-radius: 8px;
	color: var(--leo-ink);
	font-family: var(--leo-font);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

#nav > li:hover,
#nav > li.sfhover,
#nav li:hover,
#nav li.hover,
#nav li.sfhover {
	position: relative;
	background: none;
}

/* invisible bridge over the gap between the item and its dropdown, so the hover is not lost */
#nav > li.leo-has-sub:hover::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 8px;
}

#nav > li:hover > a,
#nav > li.sfhover > a {
	background: var(--leo-accent-soft);
	color: var(--leo-accent);
}

#nav > li.smallItem,
#nav > li.smallItem > a.smallItem {
	width: auto;
	height: auto;
}

#nav > li.smallItem > a.smallItem {
	height: 36px;
	padding: 0 10px;
}

#nav > li.lastItem,
#nav > li.lastItem a {
	border: 0;
}

#nav > li.leo-nav-spacer {
	flex: 1 1 auto;
}

/* "submit flight" call to action at the right end of the menu */
#nav > li.leo-nav-cta > a,
#nav > li.leo-nav-cta > a:link,
#nav > li.leo-nav-cta > a:visited {
	background: var(--leo-accent);
	color: #ffffff;
}

#nav > li.leo-nav-cta:hover > a,
#nav > li.leo-nav-cta.sfhover > a {
	background: var(--leo-accent-dark);
	color: #ffffff;
}

/* caret instead of the old arrow sprite */
#nav img.sprite-icon_arrow_left,
.secondMenu img.sprite-icon_arrow_left {
	display: none !important;
}

#nav > li.leo-has-sub > a::after,
.menuButton > a.leo-has-caret::after,
.menuButton .brandImageDiv > a::after,
.secondMenu ul#nav > li.smallItem > a::after {
	content: "";
	width: 0;
	height: 0;
	margin-left: 2px;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid currentColor;
	opacity: 0.6;
}

/* dropdowns */
#nav li ul {
	position: absolute;
	left: -999em;
	top: 100%;
	z-index: 1000;
	width: auto;
	min-width: 230px;
	margin: 6px 0 0;
	padding: 6px;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	background: var(--leo-card);
	box-shadow: 0 14px 34px rgba(16, 24, 40, 0.16);
	line-height: normal;
}

#nav li:hover > ul,
#nav li.sfhover > ul {
	left: 0;
}

#nav > li.lastItem:hover > ul,
#nav > li.lastItem.sfhover > ul {
	left: auto;
	right: 0;
	margin-left: 0;
}

#nav li li {
	position: relative;
	float: none;
	width: auto;
	height: auto;
	padding: 0;
	border: 0;
	background: none;
	font-size: 13px;
}

#nav li ul a,
#nav li ul a:link,
#nav li ul a:visited {
	display: flex;
	align-items: center;
	gap: 8px;
	width: auto;
	height: auto;
	padding: 7px 10px;
	border: 0;
	border-radius: 6px;
	color: var(--leo-ink);
	font-family: var(--leo-font);
	font-size: 13px;
	font-weight: 500;
	text-align: left;
	text-decoration: none;
	white-space: nowrap;
}

#nav li ul a:hover,
#nav li li:hover > a,
#nav li li.sfhover > a {
	background: var(--leo-accent-soft);
	color: var(--leo-accent);
}

#nav li ul a strong {
	font-weight: 600;
}

#nav li ul a .leo-ico {
	color: var(--leo-muted);
	flex: none;
}

#nav li ul a:hover .leo-ico {
	color: inherit;
}

/* nested (admin) submenus open to the right */
#nav li ul ul {
	margin: 0 0 0 4px;
	top: -7px;
}

#nav li li:hover > ul,
#nav li li.sfhover > ul {
	left: 100%;
}

#nav li:hover ul ul,
#nav li.sfhover ul ul {
	left: -999em;
}

#nav li ul .li_h1,
#nav li ul .short_li_h1,
#nav li ul .long_li_h1,
#nav > li ul .li_h1 {
	width: auto;
	height: auto;
	margin: 4px 0 0;
	padding: 8px 10px 3px;
	border: 0;
	background: none;
	color: var(--leo-muted);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
	overflow: visible;
}

#nav li ul .li_space,
#nav li .li_space,
.li_space {
	width: auto;
	height: 1px;
	margin: 5px 4px;
	padding: 0;
	background: var(--leo-line);
}

#nav .short ul,
#nav .short li,
#nav .short li a,
#nav .long ul,
#nav .long li,
#nav .long li a,
#nav li ul .long,
#nav li ul .short_li_h1,
#nav > li ul .short_li_h1,
#nav li ul .long_li_h1,
#nav > li ul .long_li_h1 {
	width: auto;
}

#nav .short ul,
#nav .long ul,
#nav li ul.long {
	min-width: 260px;
	max-height: 70vh;
	overflow: auto;
}

/* ---------------------------------------------------------------- filter bar (.secondMenu) */

.mainBox.secondMenu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	width: auto;
	height: auto;
	margin: 0 0 12px !important;
	padding: 8px 10px;
	border: 1px solid var(--leo-line);
	border-radius: var(--leo-radius);
	background: var(--leo-card);
	box-shadow: var(--leo-shadow);
}

.menuButton {
	display: flex;
	align-items: center;
	float: none;
	clear: none;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	line-height: normal;
}

.menuButton .brandImageDiv {
	display: flex;
	align-items: center;
	height: auto;
	overflow: visible;
}

.menuButton > a,
.menuButton > a:link,
.menuButton > a:visited,
.menuButton .brandImageDiv > a,
.menuButton .brandImageDiv > a:link,
.menuButton .brandImageDiv > a:visited {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 32px;
	padding: 0 10px;
	border: 1px solid var(--leo-line);
	border-radius: 8px;
	background: #f8fafc;
	color: var(--leo-ink);
	font-family: var(--leo-font);
	font-size: 12.5px;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
}

.menuButton > a:hover,
.menuButton .brandImageDiv > a:hover {
	border-color: var(--leo-accent);
	color: var(--leo-accent);
	background: #ffffff;
}

.menuButton > a .leo-ico {
	color: var(--leo-muted);
}

.menuButton > a:hover .leo-ico,
.menuButtonActive > a .leo-ico {
	color: var(--leo-accent);
}

.menuButtonActive > a,
.menuButtonActive > a:link,
.menuButtonActive > a:visited {
	background: var(--leo-accent-soft);
	border-color: var(--leo-accent);
	color: var(--leo-accent);
}

.menuButton img.icons1,
.menuButton img.fl,
.menuButton img.brands {
	vertical-align: middle;
}

/* the small category / class / xc type / photo dropdowns re-use ul#nav */
.secondMenu #nav2 {
	display: inline-block;
	vertical-align: middle;
}

.secondMenu ul#nav {
	display: flex;
	float: none;
	clear: none;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0;
	background: none;
	box-shadow: none;
	z-index: 55;
}

.secondMenu ul#nav > li.smallItem {
	width: auto;
	height: auto;
}

.secondMenu ul#nav > li.smallItem > a.smallItem {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	width: auto;
	height: 32px;
	padding: 0 8px;
	border: 1px solid var(--leo-line);
	border-radius: 8px;
	background: #f8fafc;
	color: var(--leo-ink);
}

.secondMenu ul#nav > li.smallItem:hover > a.smallItem {
	border-color: var(--leo-accent);
	background: #ffffff;
	color: var(--leo-accent);
}

.secondMenu ul#nav li ul {
	min-width: 220px;
}

.secondMenu ul#nav li ul a img {
	flex: none;
}

/* drop layers (dates, countries, clubs, brands, filter, bookmark) */
.secondMenuDropLayer {
	width: auto;
	max-width: 100%;
	margin: -6px 0 12px !important;
	padding: 12px 14px;
	border: 1px solid var(--leo-line) !important;
	border-radius: var(--leo-radius);
	background: var(--leo-card) !important;
	background-image: none !important;
	box-shadow: 0 10px 28px rgba(16, 24, 40, 0.12);
	color: var(--leo-ink);
	font-family: var(--leo-font);
	font-size: 12.5px;
	box-sizing: border-box;
}

.secondMenuDropLayer .closeLayerButton {
	width: 22px;
	height: 22px;
	margin: 0;
	border-radius: 6px;
	background: none;
	color: var(--leo-muted);
	font: 20px/22px Arial, sans-serif;
	text-align: center;
}

.secondMenuDropLayer .closeLayerButton::before {
	content: "\00D7";
}

.secondMenuDropLayer .closeLayerButton:hover {
	background: var(--leo-line-soft);
	color: var(--leo-ink);
}

.secondMenuDropLayer a,
.secondMenuDropLayer a:link,
.secondMenuDropLayer a:visited {
	color: var(--leo-accent);
	padding: 1px 4px;
	border-radius: 4px;
}

.secondMenuDropLayer a:hover {
	background: var(--leo-accent-soft);
	text-decoration: none;
}

.secondMenuDropLayer .main_text,
.secondMenuDropLayer td {
	font-family: var(--leo-font);
	font-size: 12.5px;
}

.buttonLink {
	display: inline-block;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px;
	background: none !important;
}

.buttonLink a,
.buttonLink a:link,
.buttonLink a:visited {
	display: inline-block;
	padding: 5px 12px !important;
	border: 1px solid var(--leo-line);
	border-radius: 999px;
	background: #f8fafc !important;
	color: var(--leo-ink);
	font-weight: 600;
	text-decoration: none !important;
}

.buttonLink a:hover {
	border-color: var(--leo-accent);
	color: var(--leo-accent);
	background: #ffffff !important;
}

.datesColumn {
	background: none !important;
	line-height: 1.6;
}

.datesColumnHeader,
.ContinentHeader1,
.ContinentHeader2,
.ContinentHeader3,
.ContinentHeader4,
.ContinentHeader5,
.ContinentHeader6,
.tableBox {
	background: var(--leo-accent-soft) !important;
	color: var(--leo-accent-dark) !important;
	border-bottom: 1px solid var(--leo-line) !important;
	font-weight: 600;
}

.countryContinent1,
.countryContinent2,
.countryContinent3,
.countryContinent4,
.countryContinent5,
.countryContinent6 {
	background: #ffffff !important;
}

.countryContinent a {
	font-size: 12px !important;
}

.countryContinentLink {
	background: none !important;
	padding-left: 4px !important;
}

.calBox td {
	font-size: 12px;
}

.greenButton,
a.greenButton:link,
a.greenButton:visited {
	background: var(--leo-accent);
	border: 0;
	border-radius: 8px;
	color: #ffffff;
	font-weight: 600;
	padding: 8px 16px;
}

/* ---------------------------------------------------------------- list header + pagination */

.list_header,
.list_header.list_header_bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	height: auto;
	min-height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid var(--leo-line);
	border-bottom: 0;
	border-radius: var(--leo-radius) var(--leo-radius) 0 0;
	background: var(--leo-card) !important;
	background-image: none !important;
	color: var(--leo-ink);
	position: static;
}

.list_header.list_header_bottom {
	border-top: 0;
	border-bottom: 1px solid var(--leo-line);
	border-radius: 0 0 var(--leo-radius) var(--leo-radius);
	margin-bottom: 14px;
}

.list_header_l,
.list_header_r,
.list_header_l_bottom,
.list_header_r_bottom {
	display: none !important;
}

.list_header h1 {
	position: static;
	float: none;
	height: auto;
	margin: 0;
	padding: 12px 0;
	color: var(--leo-ink);
	font-family: var(--leo-font);
	font-size: 15px;
	font-weight: 700;
}

.list_header .pagesDiv {
	position: static;
	float: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12.5px;
	color: var(--leo-muted);
}

.numeration {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 3px;
}

.numeration a,
.numeration a:link,
.numeration a:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 26px;
	height: 26px;
	padding: 0 6px;
	border: 1px solid var(--leo-line);
	border-radius: 7px;
	background: #ffffff;
	color: var(--leo-ink);
	font-size: 12px;
	text-decoration: none;
}

.numeration a:hover {
	border-color: var(--leo-accent);
	color: var(--leo-accent);
}

.numeration a img {
	vertical-align: middle;
}

.activePageNum {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 26px;
	height: 26px;
	padding: 0 6px;
	border-radius: 7px;
	background: var(--leo-accent);
	color: #ffffff !important;
	font-size: 12px;
	font-weight: 700;
	vertical-align: middle;
}

/* ---------------------------------------------------------------- list tables */

.listTable {
	width: 100%;
	border: 1px solid var(--leo-line);
	border-top: 0;
	background: var(--leo-card);
	font-family: var(--leo-font);
	font-size: 12.5px;
	color: var(--leo-ink);
	border-collapse: separate;
	border-spacing: 0;
}

.listTable a,
.listTable a:link,
.listTable a:visited {
	color: var(--leo-accent);
}

.listTable TD,
.listTable td {
	padding: 6px 8px;
	border-bottom: 1px solid var(--leo-line-soft);
	vertical-align: middle;
	font-size: 12.5px;
}

.listTable tr:last-child td {
	border-bottom: 0;
}

.SortHeader,
.listTable td.SortHeader {
	padding: 9px 8px;
	border: 0;
	border-bottom: 1px solid var(--leo-line);
	background: #f3f6fa;
	color: var(--leo-muted);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-align: right;
	vertical-align: middle;
	white-space: nowrap;
}

/* the header row of the list tables stays visible while the page scrolls */
.listTable td.SortHeader {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 5;
	box-shadow: 0 1px 0 var(--leo-line), 0 3px 6px rgba(16, 24, 40, 0.06);
}

.SortHeader a,
.SortHeader a:visited {
	color: var(--leo-muted);
	text-decoration: none;
}

.SortHeader a:hover {
	color: var(--leo-accent);
}

.activeSortHeader,
.listTable td.activeSortHeader {
	background: var(--leo-accent-soft);
	color: var(--leo-accent-dark);
	border-top: 0;
	box-shadow: inset 0 -2px 0 var(--leo-accent);
}

.activeSortHeader a,
.activeSortHeader a:visited {
	color: var(--leo-accent-dark);
}

.SortHeader img.sprite-icon_arrow_down {
	opacity: 0.8;
}

.l_row1 {
	background: #ffffff;
}

.l_row2 {
	background: #f9fbfd;
}

.l_row1Sorted {
	background: #eef2f6;
}

table.listTable tr:hover,
table.listTable tr.sfhover {
	background: #fff8e1;
}

table.listTable tr.newDate td {
	border-top: 1px solid var(--leo-line);
}

.compFirstPlace {
	background: #fff1c2;
}

.compSecondPlace {
	background: #f3f4f6;
}

.compThirdPlace {
	background: #fbe6d2;
}

.tableTitleExtra {
	background: var(--leo-accent-soft);
	color: var(--leo-accent-dark);
	padding: 8px;
}

.tableTitle {
	height: auto;
	padding: 10px 14px;
	border: 1px solid var(--leo-line);
	border-radius: var(--leo-radius) var(--leo-radius) 0 0;
	background: var(--leo-card);
	color: var(--leo-ink);
	font-family: var(--leo-font);
	font-size: 15px;
}

.tableTitle a {
	color: var(--leo-accent);
}

.menu1 {
	float: none;
	display: inline-block;
	margin: 0 4px 6px 0;
	padding: 6px 12px;
	border: 1px solid var(--leo-line);
	border-radius: 999px;
	background: #f8fafc;
	font-size: 12.5px;
}

.menu1 a {
	text-decoration: none;
}

/* ---------------------------------------------------------------- misc legacy boxes */

.dropBox {
	border: 1px solid #c9d3df !important;
	border-radius: 10px;
	background-color: #ffffff;
	box-shadow: 0 10px 30px rgba(16, 24, 40, 0.18);
	overflow: hidden;
}

.infoBoxHeader {
	background: var(--leo-ink);
}

.shadowBox {
	border: 1px solid var(--leo-line);
	border-radius: 10px;
}

input[type="text"],
input[type="password"],
input[type="file"],
select,
textarea {
	font-family: var(--leo-font);
	font-size: 13px;
	padding: 5px 8px;
	border: 1px solid #c9d3df;
	border-radius: 7px;
	background: #ffffff;
	color: var(--leo-ink);
}

input[type="text"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
	outline: none;
	border-color: var(--leo-accent);
	box-shadow: 0 0 0 3px rgba(27, 107, 181, 0.15);
}

input[type="submit"],
input[type="button"],
button.leo-btn {
	font-family: var(--leo-font);
	font-size: 13px;
	font-weight: 600;
	padding: 7px 14px;
	border: 1px solid var(--leo-line);
	border-radius: 8px;
	background: #f8fafc;
	color: var(--leo-ink);
	cursor: pointer;
}

input[type="submit"]:hover,
input[type="button"]:hover {
	border-color: var(--leo-accent);
	color: var(--leo-accent);
	background: #ffffff;
}

/* ---------------------------------------------------------------- footer */

.leo-footer {
	margin: 10px 0 24px;
	text-align: center;
}

.leo-footer-ad {
	display: flex;
	justify-content: center;
	min-height: 0;
	margin-bottom: 10px;
}

.leo-footer-ad:empty {
	display: none;
}

.leo-footer-text {
	color: var(--leo-muted);
	font-size: 12px;
}

.leo-footer-text a {
	color: var(--leo-muted);
}

.leo-totop,
.leo-totop:link,
.leo-totop:visited {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 6px 0 0;
	padding: 6px 14px;
	border: 1px solid var(--leo-line);
	border-radius: 999px;
	background: #ffffff;
	color: var(--leo-muted);
	font-size: 12px;
	text-decoration: none;
}

.leo-totop:hover {
	border-color: var(--leo-accent);
	color: var(--leo-accent);
}

/* ---------------------------------------------------------------- narrow windows */

@media (max-width: 1100px) {
	.leo-banner {
		display: none;
	}
}

@media (max-width: 800px) {
	.leo-header-inner {
		flex-direction: column;
		align-items: flex-start;
	}
	#nav {
		flex-wrap: wrap;
	}
	.leo-podium-label {
		display: none;
	}
}

/* filter bar extras */
.leo-bar-spacer {
	flex: 1 1 auto;
}

.leo-photo-off .leo-ico {
	color: var(--leo-muted);
}

.leo-photo-on .leo-ico {
	color: var(--leo-accent);
}

/* ---------------------------------------------------------------- list rows */

.leo-badge-new {
	display: inline-block;
	margin-left: 4px;
	padding: 0 6px;
	border-radius: 999px;
	background: #fbbf24;
	color: #422006;
	font-size: 10px;
	font-weight: 700;
	line-height: 15px;
	vertical-align: middle;
}

.leo-sort-ico {
	vertical-align: -1px;
	opacity: 0.8;
}

.listTable .dateString div {
	color: inherit;
	font-size: 12.5px;
	font-variant-numeric: tabular-nums;
}

.listTable .distance,
.listTable .OLCScore {
	color: inherit;
	font-variant-numeric: tabular-nums;
}

.listTable .OLCScore {
	font-weight: 600;
}

.listTable .pilotLink a,
.listTable .pilotLink a:link,
.listTable .pilotLink a:visited {
	color: var(--leo-ink);
	font-weight: 600;
	border-bottom: 0;
}

.listTable .pilotLink a:hover {
	color: var(--leo-accent);
}

.listTable .takeoffLink,
.listTable .takeoffLink a,
.listTable .takeoffLink a:link,
.listTable .takeoffLink a:visited {
	color: var(--leo-muted);
	font-size: 11.5px;
	border-bottom: 0;
}

.listTable .takeoffLink a:hover {
	color: var(--leo-accent);
}

/* the "show" cell: view, google earth, photos, comments, actions */
.listTable .smallInfo {
	display: flex;
	align-items: center;
	gap: 8px;
	width: auto;
	height: auto;
	min-height: 20px;
	overflow: visible;
}

.listTable .smallInfo .flightIcon,
.listTable .smallInfo .geIcon,
.listTable .smallInfo .photoIcon2,
.listTable .smallInfo .commentDiv,
.listTable .smallInfo .actionLink,
.listTable .smallInfo .checkedBy {
	position: static;
	display: inline-flex;
	align-items: center;
}

.listTable .smallInfo a,
.listTable .smallInfo a:link,
.listTable .smallInfo a:visited {
	display: inline-flex;
	align-items: center;
	color: var(--leo-muted);
	text-decoration: none;
}

.listTable .smallInfo a:hover {
	color: var(--leo-accent);
}

.listTable .smallInfo a.flightLink,
.listTable .smallInfo a.flightLink:link,
.listTable .smallInfo a.flightLink:visited {
	padding: 3px;
	border-radius: 6px;
	background: var(--leo-accent);
	color: #ffffff;
}

.listTable .smallInfo a.flightLink:hover {
	background: var(--leo-accent-dark);
	color: #ffffff;
}

.listTable .smallInfo .leo-ico-blank {
	width: 16px;
	height: 16px;
}

/* every icon of the "show" cell has its own colour: view is the blue button above,
   google earth green, photos pink, comments violet, actions orange */
.listTable .smallInfo .geIcon { color: #0d9488; }
.listTable .smallInfo .photoIcon2 { color: #db2777; }
.listTable .smallInfo .commentDiv { color: #7c3aed; }

.listTable .smallInfo .actionLink a,
.listTable .smallInfo .actionLink a:link,
.listTable .smallInfo .actionLink a:visited {
	color: #ea580c;
}

.listTable .smallInfo a:hover .geIcon { color: #0b6b63; }
.listTable .smallInfo a:hover .photoIcon2 { color: #a61b5c; }
.listTable .smallInfo a:hover .commentDiv { color: #5b21b6; }
.listTable .smallInfo .actionLink a:hover { color: #b9410a; }

.listTable .smallInfo a .leo-ico {
	transition: transform 0.15s ease;
}

.listTable .smallInfo a:hover .leo-ico {
	transform: scale(1.15);
}

@media (prefers-reduced-motion: reduce) {
	.listTable .smallInfo a .leo-ico {
		transition: none;
	}
	.listTable .smallInfo a:hover .leo-ico {
		transform: none;
	}
}

.leo-cnt {
	margin-left: 1px;
	font-size: 10.5px;
	font-weight: 700;
}

.listTable .catInfo {
	overflow: visible;
}

/* pilots list: a narrower pilot column leaves room for the numbers */
.pilotsTable td:nth-child(2) {
	width: 22%;
}

.pilotsTable td.SortHeader.alLeft,
.listTable td.SortHeader.alLeft {
	text-align: left;
}

/* league tables */
.listTableTabber .tableTitleExtra {
	font-size: 13px;
}

.listTable tr.compFirstPlace td:first-child,
.listTable tr.compSecondPlace td:first-child,
.listTable tr.compThirdPlace td:first-child {
	font-weight: 700;
}

.listTable tr.compFirstPlace td:first-child {
	box-shadow: inset 3px 0 0 #f59e0b;
}

.listTable tr.compSecondPlace td:first-child {
	box-shadow: inset 3px 0 0 #9ca3af;
}

.listTable tr.compThirdPlace td:first-child {
	box-shadow: inset 3px 0 0 #d97706;
}

.listTable .time_style,
.listTable .altitude_style,
.listTable .speed_style,
.listTable .vario_style,
.listTable .score_type_style,
.listTable .distance_style {
	color: inherit;
	font-weight: inherit;
}

/* ---------------------------------------------------------------- main box (openMain / closeMain) */

.leo-main-wrap {
	margin: 0 0 14px;
}

.leo-main {
	border: 1px solid var(--leo-line);
	border-radius: var(--leo-radius);
	background: var(--leo-card);
	box-shadow: var(--leo-shadow);
}

.leo-main-head {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	flex-wrap: wrap;
	padding: 12px 16px;
	border-bottom: 1px solid var(--leo-line);
	font-family: var(--leo-font);
	font-size: 15px;
	font-weight: 700;
	color: var(--leo-ink);
}

.leo-main-head img {
	vertical-align: middle;
}

.leo-main-title {
	font-size: 15px;
	font-weight: 700;
}

.leo-main-title b {
	color: var(--leo-accent-dark);
}

.leo-main-actions {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
	margin-left: auto;
	font-weight: 500;
}

.leo-main-body {
	padding: 14px 16px;
}

/* buttons */
a.leo-btn,
a.leo-btn:link,
a.leo-btn:visited {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 32px;
	padding: 0 12px;
	border: 1px solid var(--leo-line);
	border-radius: 8px;
	background: #f8fafc;
	color: var(--leo-ink);
	font-family: var(--leo-font);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}

a.leo-btn:hover {
	border-color: var(--leo-accent);
	background: #ffffff;
	color: var(--leo-accent);
	text-decoration: none;
}

a.leo-btn-primary,
a.leo-btn-primary:link,
a.leo-btn-primary:visited,
input.leo-btn-primary,
button.leo-btn-primary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 38px;
	padding: 0 18px;
	border: 1px solid var(--leo-accent-dark);
	border-radius: 8px;
	background: var(--leo-accent);
	color: #ffffff;
	font-family: var(--leo-font);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

a.leo-btn-primary:hover,
input.leo-btn-primary:hover {
	background: var(--leo-accent-dark);
	color: #ffffff;
}

.leo-admin-box {
	margin: 0 0 12px;
	padding: 8px 12px;
	border: 1px dashed #c9d3df;
	border-radius: 8px;
	background: #f8fafc;
	font-size: 12.5px;
}

/* ---------------------------------------------------------------- pilot profile */

.infoHeader {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 16px 0 6px;
	padding: 0 0 6px;
	border: 0;
	border-bottom: 1px solid var(--leo-line);
	background: none;
	color: var(--leo-ink);
	font-family: var(--leo-font);
	font-size: 14px;
	font-weight: 700;
}

.infoHeader::before {
	content: "";
	width: 4px;
	height: 14px;
	border-radius: 2px;
	background: var(--leo-accent);
}

.infoHeader:first-of-type {
	margin-top: 4px;
}

table.leo-profile {
	border-spacing: 0 4px;
}

table.leo-profile td {
	padding: 6px 10px;
	font-size: 13px;
	line-height: 1.4;
	vertical-align: top;
	background: transparent;
}

table.leo-profile td[bgcolor="#E9EDF5"] {
	width: 22%;
	border-radius: 6px 0 0 6px;
	background: #f3f6fa !important;
	color: var(--leo-muted);
	font-size: 12.5px;
	white-space: nowrap;
}

table.leo-profile td[bgcolor="#E9EDF5"] div {
	text-align: right;
}

table.leo-profile td[bgcolor="#F9F9F9"] {
	border-radius: 0 6px 6px 0;
	background: #f9fbfd !important;
	color: var(--leo-ink);
	font-weight: 500;
	word-break: break-word;
}

table.leo-profile td[bgcolor="#F5F2EB"] {
	border-radius: 6px;
	background: #fff8e6 !important;
	color: #7a4b00;
}

table.leo-profile td[width="3"],
table.leo-profile td[width="1%"] {
	width: 12px;
	padding: 0;
}

table.leo-profile td[rowspan] {
	text-align: center;
}

table.leo-profile td[rowspan] img {
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(16, 24, 40, 0.15);
}

/* ---------------------------------------------------------------- pilot search */

.leo-find {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	float: none;
	width: auto;
}

.leo-find-side {
	flex: 0 0 280px;
	float: none;
	width: 280px;
	min-height: 0;
	padding: 0;
}

.leo-find-label {
	display: block;
	margin-bottom: 6px;
	color: var(--leo-muted);
	font-size: 12px;
	font-weight: 600;
}

.leo-find-input {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 10px;
	border: 1px solid #c9d3df;
	border-radius: 10px;
	background: #ffffff;
	color: var(--leo-muted);
}

.leo-find-input:focus-within {
	border-color: var(--leo-accent);
	box-shadow: 0 0 0 3px rgba(27, 107, 181, 0.15);
}

.leo-find-input input,
.leo-find-input input[type="text"] {
	flex: 1 1 auto;
	width: 100%;
	height: 38px;
	padding: 0;
	border: 0;
	background: none;
	font-size: 14px;
	box-shadow: none;
}

.leo-find-input input:focus {
	outline: none;
	box-shadow: none;
}

.leo-find-hint {
	margin: 6px 2px 10px;
	color: var(--leo-muted);
	font-size: 12px;
}

.leo-find .pilotRow {
	margin: 0 0 4px;
	padding: 8px 10px;
	border: 1px solid var(--leo-line);
	border-radius: 8px;
	background: #ffffff;
	font-size: 13px;
	cursor: pointer;
}

.leo-find .pilotRow:hover {
	border-color: var(--leo-accent);
	background: var(--leo-accent-soft);
}

.leo-find .pilotRow.active {
	border-color: var(--leo-accent);
	background: var(--leo-accent-soft);
	font-weight: 600;
}

.leo-find .pilotRow img {
	vertical-align: middle;
	margin-right: 4px;
}

.leo-find-main {
	flex: 1 1 auto;
	float: none;
	width: auto;
	min-width: 0;
	padding: 0;
	border: 0;
}

.leo-find-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 50px 20px;
	border: 1px dashed var(--leo-line);
	border-radius: 12px;
	color: var(--leo-muted);
	font-size: 13px;
	text-align: center;
}

.leo-find-loading {
	padding: 40px;
	text-align: center;
}

.leo-find-main .leo-main-wrap {
	margin: 0;
}

.leo-find-main .leo-main {
	border: 0;
	box-shadow: none;
}

.leo-find-main .leo-main-body {
	padding: 0;
}

.leo-find-main .listTable {
	border-top: 1px solid var(--leo-line);
	border-radius: var(--leo-radius);
}

/* ---------------------------------------------------------------- forms (add flight) */

table.leo-form {
	width: 100%;
	max-width: 820px;
	margin: 0 auto;
	border-spacing: 0;
}

table.leo-form td {
	padding: 7px 8px;
	font-size: 13px;
	vertical-align: middle;
}

table.leo-form td .styleItalic {
	font-style: normal;
	color: var(--leo-muted);
	font-size: 12.5px;
	white-space: nowrap;
}

table.leo-form td[width="205"],
table.leo-form tr > td:first-child {
	width: 200px;
}

table.leo-form .leo-form-intro {
	padding: 10px 14px;
	margin-bottom: 8px;
	border-radius: 8px;
	background: var(--leo-accent-soft);
	color: var(--leo-accent-dark);
	font-size: 13px;
	line-height: 1.5;
}

table.leo-form .leo-form-intro .leo-ico {
	vertical-align: -3px;
}

table.leo-form select,
table.leo-form input[type="text"] {
	max-width: 100%;
}

table.leo-form input[type="file"] {
	padding: 6px 8px;
	border: 1px dashed #c9d3df;
	border-radius: 8px;
	background: #f8fafc;
	width: 100%;
	max-width: 480px;
	box-sizing: border-box;
}

.leo-form-prefix {
	display: inline-block;
	margin-right: 4px;
	color: var(--leo-muted);
	font-size: 12.5px;
}

.leo-form-hint {
	margin-top: 6px;
	color: var(--leo-muted);
	font-size: 12px;
	line-height: 1.4;
}

table.leo-form .smallLetter {
	color: var(--leo-muted);
	font-size: 12px;
}

.leo-notice {
	max-width: 720px;
	margin: 10px auto;
	padding: 14px 18px;
	border: 1px solid #fde1a8;
	border-radius: 10px;
	background: #fff7e6;
	color: #7a4b00;
	font-size: 13px;
	line-height: 1.5;
}

.leo-notice .leo-ico {
	vertical-align: -4px;
}

.attentionLink.box {
	max-width: 720px;
	margin: 10px auto;
	padding: 14px 18px;
	border: 1px solid #fde1a8;
	border-radius: 10px;
	background: #fff7e6;
	color: #7a4b00;
	font-size: 13px;
	line-height: 1.5;
}

.leo-success {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	max-width: 720px;
	margin: 10px auto;
	padding: 24px 18px;
	border: 1px solid #bbf7d0;
	border-radius: 12px;
	background: #f0fdf4;
	color: #14532d;
	text-align: center;
	font-size: 13px;
	line-height: 1.5;
}

.leo-success .leo-ico {
	color: #16a34a;
}

.leo-success-title {
	font-size: 14px;
	font-weight: 600;
}

/* zip upload progress */
.leo-log {
	max-width: 720px;
	margin: 6px auto;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	overflow: hidden;
	font-size: 13px;
}

.leo-log-item {
	padding: 8px 12px;
	border-bottom: 1px solid var(--leo-line-soft);
	line-height: 1.5;
}

.leo-log-item:last-child {
	border-bottom: 0;
}

.leo-log-ok {
	color: #15803d;
	font-weight: 600;
}

.leo-log-err {
	color: #b91c1c;
	font-weight: 600;
}

.leo-log-ok .leo-ico,
.leo-log-err .leo-ico {
	vertical-align: -2px;
}

.leo-log-total {
	max-width: 720px;
	margin: 10px auto;
	padding: 10px 14px;
	border-radius: 8px;
	background: var(--leo-accent-soft);
	color: var(--leo-accent-dark);
	font-size: 13px;
	line-height: 1.6;
}


/* ---------------------------------------------------------------- info tooltips + alert bars */

.leo-info {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	margin-left: 4px;
	border-radius: 50%;
	color: var(--leo-accent);
	vertical-align: middle;
	cursor: help;
}

.leo-info .leo-ico {
	display: block;
}

.leo-info::after {
	content: attr(data-tip);
	position: absolute;
	left: 50%;
	bottom: calc(100% + 8px);
	z-index: 30;
	width: max-content;
	max-width: 300px;
	padding: 8px 10px;
	border-radius: 8px;
	background: var(--leo-ink);
	color: #ffffff;
	font-family: var(--leo-font);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.45;
	text-align: left;
	white-space: normal;
	transform: translateX(-50%);
	box-shadow: 0 8px 24px rgba(16, 24, 40, 0.25);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.15s ease;
}

.leo-info::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: calc(100% + 3px);
	z-index: 31;
	border: 5px solid transparent;
	border-top-color: var(--leo-ink);
	transform: translateX(-50%);
	opacity: 0;
	visibility: hidden;
}

.leo-info:hover::after,
.leo-info:hover::before,
.leo-info:focus::after,
.leo-info:focus::before {
	opacity: 1;
	visibility: visible;
}

.leo-alert {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 6px 0;
	padding: 10px 14px;
	border: 1px solid var(--leo-line);
	border-radius: 8px;
	background: #f8fafc;
	color: var(--leo-ink);
	font-size: 12.5px;
	line-height: 1.5;
}

.leo-alert .leo-ico {
	flex: none;
	margin-top: 2px;
}

.leo-alert-info {
	border-color: #bcd6ef;
	background: var(--leo-accent-soft);
	color: var(--leo-accent-dark);
}

.leo-alert-warn {
	border-color: #fde1a8;
	background: #fff7e6;
	color: #7a4b00;
}

.leo-alert-muted {
	color: var(--leo-muted);
}

.leo-alert a {
	font-weight: 600;
}

/* compact form */
table.leo-form td {
	padding: 4px 8px;
}

table.leo-form td .styleItalic {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 2px;
	width: 100%;
}

table.leo-form tr > td:first-child {
	width: 190px;
}

table.leo-form .leo-form-intro {
	padding: 0;
	background: none;
}

table.leo-form .leo-inline {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

table.leo-form input[type="file"] {
	padding: 5px 8px;
}

table.leo-form .leo-check {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--leo-muted);
	font-size: 12.5px;
}

table.leo-form .leo-check input {
	margin: 0;
}

/* ---------------------------------------------------------------- upload form (GUI_flight_add.php), sections + stacked labels */

.leo-uform {
	max-width: 860px;
	margin: 0 auto;
}

.leo-uform .leo-alert {
	margin: 0 0 14px;
}

.leo-fset {
	margin: 0 0 14px;
	padding: 14px 16px 16px;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	background: #ffffff;
}

.leo-fset-title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--leo-line-soft);
	font-size: 13.5px;
	font-weight: 700;
	color: var(--leo-ink);
}

.leo-fset-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--leo-accent);
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
}

.leo-fset-sub {
	color: var(--leo-muted);
	font-size: 12px;
	font-weight: 500;
}

.leo-frow {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 12px 16px;
	margin-bottom: 12px;
}

.leo-frow:last-child {
	margin-bottom: 0;
}

/* flight submit / edit: flight and glider fields in one grid of 5 columns, 2 rows
   row 1: glider type, start type, brand, glider, "or select from previous" (wider)
   row 2: certification, category
   the row 2 fields have fixed columns so they stay in place when a field is
   hidden (certification for non paragliders) or missing (no previous gliders) */
.leo-frow-glider {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, 1.35fr) minmax(0, 0.97fr) minmax(0, 1.88fr);
}

/* the edit page shows the category icon beside the glider type */
@media (min-width: 1001px) {
	.leo-fedit .leo-frow-glider {
		grid-template-columns: minmax(0, 1.32fr) minmax(0, 1.3fr) minmax(0, 1.3fr) minmax(0, 0.97fr) minmax(0, 1.63fr);
	}
}

.leo-frow-glider .leo-fg-cert {
	grid-column: 1;
}

.leo-frow-glider .leo-fg-cat {
	grid-column: 2;
}

.leo-frow-glider .leo-field > label {
	white-space: nowrap;
}

/* the brand picker fills its column, so brand and glider sit side by side */
.leo-frow-glider .leo-bp {
	display: block;
	width: 100%;
	min-width: 0;
}

@media (max-width: 1000px) {
	.leo-frow-glider {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.leo-frow-glider .leo-fg-cert,
	.leo-frow-glider .leo-fg-cat {
		grid-column: auto;
	}
}

@media (max-width: 640px) {
	.leo-frow-glider {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 420px) {
	.leo-frow-glider {
		grid-template-columns: 1fr;
	}
}

/* flight submit / edit: "Görünürlük" part, the check boxes on the left and the
   admin field (insert as user id / move to another pilot) on the right */
.leo-vis {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 32px;
}

.leo-vis-checks {
	display: grid;
	grid-template-columns: repeat(2, max-content);
	gap: 10px 36px;
}

.leo-vis-admin {
	flex: 0 1 360px;
	min-width: 220px;
	margin-top: 10px;
}

@media (max-width: 560px) {
	.leo-vis-checks {
		grid-template-columns: 1fr;
	}
}

/* top info line with the "many flights" link on its right */
.leo-uform .leo-alert-top {
	flex-wrap: nowrap;
	align-items: center;
	margin: 0 0 14px;
}

.leo-uform .leo-alert-top > div {
	flex: 0 1 auto;
	min-width: 0;
}

.leo-alert-top > .leo-ico {
	margin-top: 0;
}

.leo-alert a.leo-multi-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-left: auto;
	flex: none;
	padding: 4px 10px;
	border: 1px solid #bcd6ef;
	border-radius: 6px;
	background: #ffffff;
	color: var(--leo-accent-dark);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	white-space: nowrap;
	transition: background .15s, border-color .15s;
}

.leo-alert a.leo-multi-link:hover {
	border-color: var(--leo-accent);
	background: #f3f8fd;
}

.leo-multi-link b {
	font-weight: 700;
}

.leo-multi-link .leo-ico {
	margin: 0;
	color: var(--leo-accent);
}

@media (max-width: 760px) {
	.leo-uform .leo-alert-top {
		flex-wrap: wrap;
	}

	.leo-alert a.leo-multi-link {
		margin-left: 0;
		white-space: normal;
	}
}

.leo-field {
	min-width: 0;
}

.leo-field-wide {
	grid-column: 1 / -1;
}

.leo-field > label {
	display: flex;
	align-items: center;
	gap: 2px;
	margin: 0 0 5px;
	color: var(--leo-muted);
	font-size: 12px;
	font-weight: 600;
}

.leo-field select,
.leo-field input[type="text"] {
	width: 100%;
	max-width: 100%;
	height: 34px;
	box-sizing: border-box;
}

.leo-field input[type="file"] {
	width: 100%;
	max-width: 520px;
	padding: 6px 8px;
	border: 1px dashed #c9d3df;
	border-radius: 8px;
	background: #f8fafc;
	box-sizing: border-box;
}

.leo-field-check {
	display: flex;
	align-items: flex-end;
	padding-bottom: 7px;
}

.leo-uform .leo-check {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--leo-ink);
	font-size: 13px;
}

.leo-uform .leo-check input {
	margin: 0;
}

.leo-check-row {
	margin: 0 0 10px;
}

.leo-editor {
	max-width: 100%;
}

.leo-editor textarea {
	width: 100%;
	box-sizing: border-box;
}

.leo-editor .cke_chrome {
	border-color: #c9d3df;
	border-radius: 8px;
	overflow: hidden;
}

.leo-uform .leo-photo-row {
	margin-bottom: 8px;
}

.leo-uform .leo-inline {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.leo-factions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 4px 0 0;
}

.leo-factions .leo-alert {
	margin: 0;
}

.leo-factions input.leo-btn-primary {
	align-self: flex-start;
	height: 40px;
	padding: 0 22px;
}

/* ---------------------------------------------------------------- league: medals for the first three */

.listTable td.leo-rank {
	text-align: center;
}

.leo-medal {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	height: 24px;
	padding: 0 8px 0 6px;
	border-radius: 999px;
	color: #ffffff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.leo-medal-1 { background: linear-gradient(180deg, #fcd34d 0%, #d99a06 100%); }
.leo-medal-2 { background: linear-gradient(180deg, #d1d5db 0%, #8b939f 100%); }
.leo-medal-3 { background: linear-gradient(180deg, #e0a06c 0%, #a8632a 100%); }

.listTable tr.compFirstPlace,
.listTable tr.compSecondPlace,
.listTable tr.compThirdPlace {
	font-size: 13.5px;
}

.listTable tr.compFirstPlace .pilotLink a,
.listTable tr.compSecondPlace .pilotLink a,
.listTable tr.compThirdPlace .pilotLink a {
	font-size: 14px;
}

.listTable tr.compFirstPlace { background: linear-gradient(90deg, #fff3c4 0%, #fffbea 40%, #ffffff 100%); }
.listTable tr.compSecondPlace { background: linear-gradient(90deg, #eceff3 0%, #f6f7f9 40%, #ffffff 100%); }
.listTable tr.compThirdPlace { background: linear-gradient(90deg, #fbe4d0 0%, #fdf2e9 40%, #ffffff 100%); }

.listTable tr.compFirstPlace td:first-child,
.listTable tr.compSecondPlace td:first-child,
.listTable tr.compThirdPlace td:first-child {
	box-shadow: none;
}

/* ---------------------------------------------------------------- bettertip popups (pilot / flight info) */

#BT_main {
	border: 1px solid #c9d3df !important;
	border-radius: 12px !important;
	background: #ffffff !important;
	box-shadow: 0 14px 34px rgba(16, 24, 40, 0.22) !important;
	font-family: var(--leo-font);
	overflow: hidden;
}

#BT .BT_shadow0,
#BT .BT_shadow1,
#BT .BT_shadow2 {
	background: none !important;
}

#BT_main > div {
	padding: 0 !important;
}

#BT_arrow_left,
#BT_arrow_right,
#BT_bottom_arrow_left,
#BT_bottom_arrow_right {
	display: none !important;
}

.leo-ptip,
.leo-ftip {
	width: 100%;
	color: var(--leo-ink);
	font-size: 12.5px;
}

.leo-ptip-head,
.leo-ftip-head {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border-bottom: 1px solid var(--leo-line);
	background: #f3f6fa;
	font-size: 14px;
}

.leo-ftip-head span {
	color: var(--leo-muted);
	font-size: 12.5px;
}

.leo-ptip-body,
.leo-ftip-body {
	display: flex;
	gap: 14px;
	padding: 10px 14px;
}

.leo-ptip-rows,
.leo-ftip-rows {
	flex: 1 1 auto;
	min-width: 0;
}

.leo-ptip-row,
.leo-ftip-row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 4px 0;
	border-bottom: 1px solid var(--leo-line-soft);
}

.leo-ptip-row:last-child,
.leo-ftip-row:last-child {
	border-bottom: 0;
}

.leo-ptip-row span,
.leo-ftip-row span {
	color: var(--leo-muted);
	white-space: nowrap;
}

.leo-ptip-row b,
.leo-ftip-row b {
	text-align: right;
	font-weight: 600;
}

.leo-ptip-empty {
	padding: 8px 0;
	color: var(--leo-muted);
}

.leo-ptip-photo img,
.leo-ftip-map {
	display: block;
	max-width: 150px;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(16, 24, 40, 0.15);
}

.leo-ftip-map {
	max-width: 200px;
}

.leo-ptip-links,
.leo-ftip-links {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	padding: 8px 14px 10px;
	border-top: 1px solid var(--leo-line);
	background: #fafbfd;
}

.leo-ptip-links a,
.leo-ftip-links a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px;
	border: 1px solid var(--leo-line);
	border-radius: 999px;
	background: #ffffff;
	color: var(--leo-accent);
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
}

.leo-ftip-kpis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	padding: 10px 14px 0;
}

.leo-ftip-kpi {
	display: flex;
	flex-direction: column;
	padding: 6px 10px;
	border: 1px solid var(--leo-line);
	border-radius: 8px;
	background: #fafbfd;
	line-height: 1.25;
}

.leo-ftip-kpi span {
	color: var(--leo-muted);
	font-size: 11px;
}

.leo-ftip-kpi b {
	font-size: 15px;
	color: var(--leo-accent-dark);
}

.leo-ftip-kpi small {
	color: var(--leo-muted);
	font-size: 11px;
}

.leo-ftip-kpi:first-child b {
	font-size: 17px;
}

.leo-ftip .time_style,
.leo-ftip .speed_style,
.leo-ftip .vario_style,
.leo-ftip .altitude_style,
.leo-ftip .score_type_style {
	color: inherit;
	font-weight: inherit;
}

/* ---------------------------------------------------------------- club + date drop layers */

#clubDropDownID table[width],
#clubDropDownID .content > table {
	width: 100% !important;
}

#clubDropDownID ul.simpleList {
	display: grid;
	grid-template-columns: repeat(3, minmax(240px, 1fr));
	gap: 2px 18px;
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
}

#clubDropDownID ul.simpleList li {
	display: flex;
	align-items: center;
	gap: 4px;
	min-width: 0;
	margin: 0;
	padding: 0;
}

#clubDropDownID ul.simpleList li a {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	padding: 4px 6px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

#clubDropDownID ul.simpleList li a:last-child {
	flex: 1 1 auto;
	display: block;
}

#clubDropDownID ul.simpleList img {
	vertical-align: middle;
}

#dateDropDownID table[width] {
	width: auto !important;
}

#dateDropDownID .datesColumn {
	min-width: 96px;
	padding: 6px 8px !important;
}

#dateDropDownID .datesColumnHeader {
	padding: 6px 10px !important;
}

#dateDropDownID .datesColumn a {
	display: inline-block;
	min-width: 40px;
	margin: 1px 0;
	padding: 2px 8px;
	border-radius: 6px;
	text-align: center;
}

/* ---------------------------------------------------------------- jqModal (settings, filter, club info) */

.jqmWindow {
	top: 80px;
	width: 760px;
	margin-left: -380px;
	padding: 0;
	border: 1px solid #c9d3df;
	border-radius: 12px;
	background: #ffffff;
	color: var(--leo-ink);
	box-shadow: 0 24px 60px rgba(16, 24, 40, 0.3);
	overflow: hidden;
	font-family: var(--leo-font);
}

.leo-modal-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
	border-bottom: 1px solid var(--leo-line);
	background: #f3f6fa;
	font-size: 15px;
	font-weight: 700;
}

.leo-modal-close,
.leo-modal-close:link,
.leo-modal-close:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 8px;
	color: var(--leo-muted);
	font-size: 22px;
	line-height: 1;
	text-decoration: none;
}

.leo-modal-close:hover {
	background: #e6ebf1;
	color: var(--leo-ink);
}

.leo-modal-body {
	padding: 14px 16px;
}

.leo-settings table.box {
	width: 100%;
	border: 0 !important;
	background: none !important;
	border-spacing: 0 4px;
}

.leo-settings table.box td {
	padding: 5px 8px;
	background: transparent !important;
	font-size: 13px;
}

.leo-settings table.box td[bgcolor] {
	width: 30%;
	border-radius: 6px 0 0 6px;
	background: #f3f6fa !important;
	color: var(--leo-muted);
	font-size: 12.5px;
}

.leo-settings table.box td[bgcolor] + td {
	border-radius: 0 6px 6px 0;
	background: #f9fbfd !important;
}

.leo-settings table.box td[width="1"] {
	width: 10px;
	padding: 0;
}

.leo-settings select,
.leo-settings input[type="text"] {
	width: 100%;
	box-sizing: border-box;
}

.leo-settings .ok {
	display: block;
	padding: 10px 14px;
	border-radius: 8px;
	background: #f0fdf4;
	color: #14532d;
	font-weight: 600;
}

/* ---------------------------------------------------------------- tipster popups (pilot name, takeoff) */

.leo-tip-layer {
	border: 0 !important;
	border-radius: 0;
	background: none !important;
	font-family: var(--leo-font);
}

.leo-tip {
	width: 260px;
	border: 1px solid #c9d3df;
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 14px 34px rgba(16, 24, 40, 0.22);
	overflow: hidden;
	font-size: 13px;
	line-height: 1.3;
}

.leo-tip-head {
	padding: 9px 12px;
	background: var(--leo-ink);
	color: #ffffff;
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.leo-tip-head img {
	vertical-align: middle;
	margin-right: 4px;
}

.leo-tip a.leo-tip-item,
.leo-tip a.leo-tip-item:link,
.leo-tip a.leo-tip-item:visited {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border-top: 1px solid var(--leo-line-soft);
	color: var(--leo-ink);
	font-weight: 500;
	text-decoration: none;
}

.leo-tip a.leo-tip-item .leo-ico {
	flex: none;
	color: var(--leo-muted);
}

.leo-tip a.leo-tip-item:hover {
	background: var(--leo-accent-soft);
	color: var(--leo-accent);
}

.leo-tip a.leo-tip-item:hover .leo-ico {
	color: inherit;
}

.leo-tip a.leo-tip-item.leo-tip-admin {
	background: #fff7e6;
	color: #7a4b00;
}

.leo-tip a.leo-tip-item.leo-tip-admin:hover {
	background: #fde1a8;
}

/* ---------------------------------------------------------------- filter chips (selected pilot / takeoff / club) */

.mainBox {
	height: auto;
}

/* the bar of the chips: same card as the filter bar above it */
.mainBox.leo-chipbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0 0 12px;
	padding: 8px 10px;
	border: 1px solid var(--leo-line);
	border-radius: var(--leo-radius);
	background: var(--leo-card);
	box-shadow: var(--leo-shadow);
	line-height: normal;
}

.mainBox.leo-chipbar .menu1 {
	height: 32px;
	margin: 0;
}

.menu1 a.leo-chip-info .leo-ico {
	color: var(--leo-accent);
}

.menu1 a.leo-chip-info:hover .leo-ico {
	color: var(--leo-accent-dark);
}

/* "you can administer this club" note above the flights list */
.tableInfo.leo-club-admin {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	height: auto;
	margin: 0 0 12px;
	padding: 8px 12px;
	border: 1px solid #f3d9a4;
	border-radius: var(--leo-radius);
	background: #fff8e8;
	color: #7a4b00;
	font-family: var(--leo-font);
	font-size: 13px;
	font-weight: 600;
	line-height: normal;
	text-align: left;
}

.leo-club-admin-text {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.leo-club-admin #updateDiv:empty {
	display: none !important;
}

.menu1 {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 30px;
	margin: 0 4px 4px 0;
	padding: 0 6px 0 10px;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--leo-ink);
}

.menu1 .leo-ico {
	color: var(--leo-accent);
}

.menu1 a {
	display: inline-flex;
	align-items: center;
}

.leo-chip-x {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	color: var(--leo-muted);
}

.leo-chip-x:hover {
	background: #fee2e2;
	color: #b91c1c;
}

/* ---------------------------------------------------------------- date layer */

#dateDropDownID td.calBox {
	min-width: 0;
	padding: 8px 14px 8px 8px !important;
}

/* the calendar of popcalendar.js is absolute, this box is its place */
#dateDropDownID .leo-cal {
	position: relative;
	width: 286px;
	min-height: 284px;
}

#dateDropDownID .leo-cal form {
	margin: 0;
	height: 0;
	overflow: hidden;
}

/* the years in 3 columns, newest first, read from top to bottom */
#dateDropDownID .leo-years {
	column-count: 3;
	column-gap: 4px;
}

#dateDropDownID .leo-years a {
	display: block;
	min-width: 48px;
	margin: 0 0 2px;
	-webkit-column-break-inside: avoid;
	break-inside: avoid;
}

/* calendar look (the markup and the colours come from popcalendar.js) */
#dateDropDownID #calendar > table {
	width: 286px;
	border: 1px solid var(--leo-line) !important;
	border-radius: 10px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #ffffff;
	font-family: var(--leo-font) !important;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
}

#dateDropDownID #calendar > table > tbody > tr:first-child,
#dateDropDownID #calendar > table > tbody > tr:first-child td {
	background: var(--leo-accent-dark);
}

#dateDropDownID #calendar > table > tbody > tr:first-child table {
	width: 100%;
}

#dateDropDownID #calendar #caption {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 2px;
}

#dateDropDownID #calendar #caption > span {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 24px;
	padding: 0 7px;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
	border-radius: 6px;
	color: #ffffff;
	font-family: var(--leo-font);
	font-size: 12.5px;
	font-weight: 600;
}

#dateDropDownID #calendar #caption > span:hover {
	background: rgba(255, 255, 255, 0.16);
}

#dateDropDownID #calendar #content table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 2px;
	font-family: var(--leo-font) !important;
}

#dateDropDownID #calendar #content td {
	padding: 0;
	font-size: 12.5px;
	text-align: center;
}

#dateDropDownID #calendar #content td font[color="#000066"] {
	display: block;
	padding: 5px 0 3px;
	color: var(--leo-muted);
	font-size: 11.5px;
}

#dateDropDownID #calendar #content td a {
	display: block;
	min-width: 0;
	padding: 4px 0;
	border-radius: 6px;
	color: var(--leo-ink) !important;
	text-align: center;
}

#dateDropDownID #calendar #content td a[href]:hover {
	background: var(--leo-accent-soft);
}

/* days after today can not be picked */
#dateDropDownID #calendar #content td a:not([href]) {
	color: #b6bfcc !important;
}

#dateDropDownID #calendar #content td a font {
	color: inherit;
}

/* today */
#dateDropDownID #calendar #content td b > a {
	background: var(--leo-accent);
	color: #ffffff !important;
}

#dateDropDownID #calendar #content td b > a[href]:hover {
	background: var(--leo-accent-dark);
}

#dateDropDownID #calendar > table > tbody > tr:last-child td {
	padding: 6px !important;
	border-top: 1px solid var(--leo-line);
	background: #f8fafc;
	font-size: 12px;
}

#dateDropDownID #calendar #lblToday font {
	color: var(--leo-muted);
}

#dateDropDownID #calendar #lblToday a {
	color: var(--leo-accent) !important;
	font-weight: 600;
}

/* month / year pickers of the calendar */
#dateDropDownID #selectMonth table,
#dateDropDownID #selectYear table {
	border: 1px solid var(--leo-line) !important;
	border-radius: 8px;
	background: #ffffff;
	font-family: var(--leo-font) !important;
	box-shadow: 0 8px 22px rgba(16, 24, 40, 0.16);
}

#dateDropDownID #selectMonth td,
#dateDropDownID #selectYear td {
	padding: 3px 8px;
	font-size: 12.5px;
}

#dateDropDownID .datesColumnHeader strong {
	font-weight: 600;
}

/* ---------------------------------------------------------------- settings modal form */

.leo-settings-form.leo-uform {
	max-width: none;
}

.leo-settings-form .leo-frow {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.leo-settings-form .leo-factions {
	align-items: center;
	padding-top: 8px;
}

.leo-settings-form .leo-factions input.leo-btn-primary {
	align-self: center;
}

/* ---------------------------------------------------------------- pilot search: profile panel */

.leo-pilot-links {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin: 0 0 12px;
}

.leo-find-main {
	overflow: hidden;
}

.leo-find-main .listTable td {
	padding: 5px 6px;
	font-size: 12px;
}

.leo-find-main .listTable .pilotTakeoffCell {
	width: auto;
}

/* ---------------------------------------------------------------- league: silver row distinct from the zebra */

.listTable tr.compSecondPlace { background: linear-gradient(90deg, #dfe6f0 0%, #eef2f8 40%, #ffffff 100%); }

/* ---------------------------------------------------------------- takeoff page */

.leo-wp-country {
	margin-left: 6px;
	color: var(--leo-muted);
	font-size: 13px;
	font-weight: 500;
}

.leo-wp-kpis {
	display: grid;
	grid-template-columns: 1fr 1fr 1.4fr 1fr;
	gap: 12px;
	margin-bottom: 14px;
}

.leo-wp-kpi {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 12px 14px;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	background: linear-gradient(180deg, #ffffff 0%, #edf4fc 100%);
}

.leo-wp-kpi > span {
	color: var(--leo-muted);
	font-size: 12px;
	font-weight: 600;
}

.leo-wp-kpi > b {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
}

.leo-wp-coords > b {
	font-size: 15px;
	font-variant-numeric: tabular-nums;
}

.leo-wp-kpi > small {
	color: var(--leo-muted);
	font-size: 11.5px;
	line-height: 1.5;
}

.leo-wp-kpi > a:not(.leo-btn) {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	font-weight: 600;
}

.leo-wp-nav a.leo-btn {
	justify-content: flex-start;
}

.leo-wp-info {
	margin-bottom: 14px;
}

.leo-wp-info .infoHeader {
	margin-top: 4px;
}

.leo-wp-row {
	display: flex;
	gap: 12px;
	padding: 6px 0;
	border-bottom: 1px solid var(--leo-line-soft);
	font-size: 13px;
}

.leo-wp-row span {
	flex: 0 0 200px;
	color: var(--leo-muted);
}

.leo-wp-desc {
	padding: 10px 0 0;
	font-size: 13px;
	line-height: 1.55;
}

.leo-wp-map {
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	overflow: hidden;
	line-height: 0;
}

.leo-wp-map iframe {
	display: block;
	width: 100%;
	height: 480px;
	border: 0;
}

/* ---------------------------------------------------------------- stats page */

.leo-stats {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.leo-stat-card .infoHeader {
	margin-top: 0;
}

.leo-stat-chart {
	display: block;
	width: 100%;
	max-width: 1180px;
	height: auto;
	margin: 0 0 12px;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
}

.leo-stat-tablewrap {
	max-width: 640px;
}

.leo-stat-table {
	border-top: 1px solid var(--leo-line);
	border-radius: 10px;
}

/* ---------------------------------------------------------------- club admin */

.leo-club-grid {
	display: grid;
	grid-template-columns: 380px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
}

.leo-club-results {
	max-height: 320px;
	overflow: auto;
	margin: 4px 0 12px;
}

.leo-club-hit {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 8px;
	border-bottom: 1px solid var(--leo-line-soft);
	font-size: 13px;
}

.leo-club-hit a.leo-btn {
	margin-left: auto;
	height: 26px;
	padding: 0 8px;
	font-size: 12px;
}

.leo-club-hit-in {
	color: var(--leo-muted);
}

.leo-club-hit-in span {
	margin-left: auto;
	font-size: 11.5px;
}

.leo-club-hit img {
	vertical-align: middle;
}

.leo-club-byid {
	padding-top: 10px;
	border-top: 1px dashed var(--leo-line);
}

.leo-club-members {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 6px;
}

.leo-club-member {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	padding: 5px 6px 5px 10px;
	border: 1px solid var(--leo-line);
	border-radius: 8px;
	background: #f8fafc;
	font-size: 12.5px;
}

.leo-club-member a.leo-club-member-name,
.leo-club-member a.leo-club-member-name:link,
.leo-club-member a.leo-club-member-name:visited,
.leo-club-member-name {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 600;
	color: var(--leo-ink) !important;
	text-decoration: none;
}

.leo-club-member-id {
	color: var(--leo-muted);
	font-size: 11px;
}

.leo-club-member .leo-chip-x {
	flex: none;
}

@media (max-width: 900px) {
	.leo-club-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ================================================================ 2026-09-27
   pagination, brand logos, brand picker, admin tools, brand management, zip download
   ================================================================ */

/* ---------------------------------------------------------------- pagination (FN_pagination.php) */

.numeration.leo-pg {
	flex-wrap: nowrap;
}

.leo-pg span.leo-pg-nav,
.leo-pg .leo-pg-gap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 26px;
	height: 26px;
	box-sizing: border-box;
	font-size: 12px;
}

.leo-pg span.leo-pg-disabled {
	padding: 0 6px;
	border: 1px solid var(--leo-line-soft);
	border-radius: 7px;
	color: #b6c0cd;
	cursor: default;
}

.leo-pg .leo-pg-gap {
	min-width: 18px;
	color: var(--leo-muted);
	letter-spacing: 1px;
}

.leo-pg .leo-pg-gap.leo-pg-narrow {
	display: none;
}

.leo-pg form.leo-pg-jump {
	display: inline-flex;
	margin: 0 0 0 8px;
	padding: 0;
}

.leo-pg form.leo-pg-jump input {
	width: 74px;
	height: 26px;
	margin: 0;
	padding: 0 6px;
	box-sizing: border-box;
	border: 1px solid var(--leo-line);
	border-radius: 7px;
	background: #ffffff;
	color: var(--leo-ink);
	font-family: var(--leo-font);
	font-size: 12px;
	text-align: center;
}

.leo-pg form.leo-pg-jump input::placeholder {
	color: #9aa6b5;
}

@media (max-width: 640px) {
	.leo-pg .leo-pg-wide {
		display: none !important;
	}

	.leo-pg .leo-pg-gap.leo-pg-narrow {
		display: inline-flex;
	}

	.leo-pg form.leo-pg-jump {
		display: none;
	}
}

/* ---------------------------------------------------------------- brand logos (CL_brands.php) */

img.leo-brand-logo {
	max-width: 64px;
	max-height: 18px;
	width: auto;
	height: auto;
	vertical-align: middle;
}

.leo-brand-text {
	display: inline-block;
	max-width: 110px;
	padding: 1px 6px;
	overflow: hidden;
	border: 1px solid var(--leo-line);
	border-radius: 6px;
	background: #f8fafc;
	color: var(--leo-muted);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.5;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: middle;
}

.lfs .lfs-glider-name img.leo-brand-logo {
	max-width: 120px !important;
	max-height: 28px !important;
	margin-right: 4px;
}

.lfs .lfs-glider-name .leo-brand-text {
	max-width: none;
	font-size: 13px;
}

/* ---------------------------------------------------------------- brand picker (js/leo-brand-picker.js) */

select.leo-bp-native {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	border: 0;
	opacity: 0;
	pointer-events: none;
}

.leo-bp {
	position: relative;
	min-width: 190px;
	font-family: var(--leo-font);
}

.leo-bp button.leo-bp-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	height: 34px;
	margin: 0;
	padding: 0 10px;
	box-sizing: border-box;
	border: 1px solid var(--leo-line);
	border-radius: 8px;
	background: #ffffff;
	color: var(--leo-ink);
	font-family: var(--leo-font);
	font-size: 13px;
	font-weight: 400;
	text-align: left;
	cursor: pointer;
}

.leo-bp button.leo-bp-btn:hover,
.leo-bp.is-open button.leo-bp-btn {
	border-color: var(--leo-accent);
}

.leo-bp button.leo-bp-btn:focus {
	outline: none;
	border-color: var(--leo-accent);
	box-shadow: 0 0 0 3px rgba(27, 107, 181, 0.15);
}

.leo-bp-current {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.leo-bp-logo {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 20px;
}

.leo-bp-logo img {
	max-width: 54px;
	max-height: 20px;
}

.leo-bp-current .leo-bp-logo:empty {
	display: none;
}

.leo-bp-name {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.leo-bp-name.is-placeholder {
	color: #9aa6b5;
}

.leo-bp-caret {
	flex: none;
	width: 7px;
	height: 7px;
	margin: -3px 2px 0 0;
	border-right: 2px solid var(--leo-muted);
	border-bottom: 2px solid var(--leo-muted);
	transform: rotate(45deg);
}

.leo-bp-panel {
	display: none;
	position: absolute;
	z-index: 500;
	top: 100%;
	left: 0;
	min-width: 100%;
	width: 270px;
	margin-top: 4px;
	padding: 8px;
	box-sizing: border-box;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 12px 32px rgba(16, 24, 40, 0.16);
}

.leo-bp.is-open .leo-bp-panel {
	display: block;
}

.leo-bp input.leo-bp-search {
	width: 100%;
	height: 32px;
	margin: 0 0 6px;
	padding: 0 10px;
	box-sizing: border-box;
	border: 1px solid var(--leo-line);
	border-radius: 7px;
	font-family: var(--leo-font);
	font-size: 13px;
}

ul.leo-bp-list {
	position: relative;
	max-height: 264px;
	margin: 0;
	padding: 0;
	overflow-y: auto;
	list-style: none;
}

ul.leo-bp-list li {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 32px;
	margin: 0;
	padding: 0 8px;
	border-radius: 6px;
	color: var(--leo-ink);
	font-size: 13px;
	cursor: pointer;
}

ul.leo-bp-list li.is-active {
	background: var(--leo-accent-soft);
}

ul.leo-bp-list li.is-selected .leo-bp-name {
	color: var(--leo-accent-dark);
	font-weight: 700;
}

.leo-bp-empty {
	display: none;
	padding: 10px 8px;
	color: var(--leo-muted);
	font-size: 12.5px;
}

/* the old table layout of the edit form */
table .leo-bp {
	display: inline-block;
	min-width: 210px;
	vertical-align: middle;
}

/* ---------------------------------------------------------------- top menu: admin links */

#nav li.leo-menu-admin > a,
#nav li.leo-menu-admin > a:link,
#nav li.leo-menu-admin > a:visited {
	color: var(--leo-accent-dark);
	font-weight: 700;
}

/* ---------------------------------------------------------------- top menu: clubs / leagues */

/* with the clubs menu and the admin link the bar is longer: what does not fit goes to a second line */
#nav {
	flex-wrap: wrap;
	row-gap: 2px;
}

/* long club names break into lines on a narrow screen */
@media (max-width: 480px) {
	#nav > li.leo-nav-clubs > ul {
		max-width: calc(100vw - 40px);
	}
	#nav > li.leo-nav-clubs > ul a {
		white-space: normal;
	}
}

/* ---------------------------------------------------------------- list header actions (zip download) */

@media (min-width: 700px) {
	.list_header .pagesDiv {
		flex: none;
		white-space: nowrap;
	}
}

.list_header .leo-list-title {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px 14px;
	min-width: 0;
}

.list_header a.leo-zip-btn,
.list_header a.leo-zip-btn:link,
.list_header a.leo-zip-btn:visited {
	height: 28px;
	padding: 0 10px;
	font-size: 12px;
}

.list_header a.leo-zip-btn b {
	color: var(--leo-muted);
	font-weight: 600;
}

/* ---------------------------------------------------------------- small buttons of the admin pages */

button.leo-abtn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 30px;
	margin: 0;
	padding: 0 11px;
	border: 1px solid var(--leo-line);
	border-radius: 8px;
	background: #f8fafc;
	color: var(--leo-ink);
	font-family: var(--leo-font);
	font-size: 12.5px;
	font-weight: 600;
	white-space: nowrap;
	cursor: pointer;
}

button.leo-abtn:hover {
	border-color: var(--leo-accent);
	background: #ffffff;
	color: var(--leo-accent);
}

button.leo-abtn-danger {
	border-color: #f1c4c4;
	background: #fff5f5;
	color: #b42318;
}

button.leo-abtn-danger:hover {
	border-color: #b42318;
	background: #ffffff;
	color: #b42318;
}

/* ---------------------------------------------------------------- admin tools (GUI_admin_tools.php) */

.leo-tools h3.leo-tools-group {
	margin: 18px 0 8px;
	padding: 0;
	border: 0;
	background: none;
	text-decoration: none;
	color: var(--leo-muted);
	font-family: var(--leo-font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.leo-tools h3.leo-tools-group:first-child {
	margin-top: 2px;
}

.leo-tools-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 10px;
}

a.leo-tool-card,
a.leo-tool-card:link,
a.leo-tool-card:visited {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	background: #ffffff;
	color: var(--leo-ink);
	text-decoration: none;
}

a.leo-tool-card:hover {
	border-color: var(--leo-accent);
	box-shadow: 0 4px 14px rgba(16, 24, 40, 0.08);
	text-decoration: none;
}

.leo-tool-icon {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 9px;
	background: var(--leo-accent-soft);
	color: var(--leo-accent-dark);
}

.leo-tool-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.leo-tool-text b {
	font-size: 13.5px;
	font-weight: 700;
}

.leo-tool-text small {
	color: var(--leo-muted);
	font-size: 12px;
	line-height: 1.4;
}

/* ---------------------------------------------------------------- brand management (GUI_admin_brands.php) */

.leo-brands form {
	margin: 0;
}

.leo-brands-top {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12px;
}

.leo-brands-source {
	margin-left: auto;
	color: var(--leo-muted);
	font-size: 12px;
}

.leo-brands-install {
	margin-top: 12px !important;
}

.leo-brands-add {
	margin: 12px 0 !important;
	padding: 12px 14px;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	background: #f8fafc;
}

.leo-brands-add h3,
.leo-brand-box h4 {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 8px;
	padding: 0;
	border: 0;
	background: none;
	text-decoration: none;
	color: var(--leo-ink);
	font-family: var(--leo-font);
	font-size: 13px;
	font-weight: 700;
}

.leo-brands-add-row {
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 12px;
}

.leo-brands-add-row label {
	display: flex;
	flex-direction: column;
	gap: 4px;
	color: var(--leo-muted);
	font-size: 12px;
	font-weight: 600;
}

.leo-brands input[type="text"],
.leo-brands select {
	height: 32px;
	min-width: 200px;
	box-sizing: border-box;
}

.leo-brands input[type="file"] {
	max-width: 260px;
	font-size: 12px;
}

.leo-brands-filter {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin: 14px 0 8px;
}

.leo-brands-filter .leo-form-hint {
	margin: 0;
}

table.leo-brands-table {
	width: 100%;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	border-collapse: separate;
	border-spacing: 0;
	background: #ffffff;
	font-size: 13px;
}

table.leo-brands-table th {
	padding: 9px 12px;
	border-bottom: 1px solid var(--leo-line);
	background: #f8fafc;
	color: var(--leo-muted);
	font-size: 11.5px;
	font-weight: 700;
	text-align: left;
	text-transform: uppercase;
}

table.leo-brands-table th:first-child {
	border-radius: 10px 0 0 0;
}

table.leo-brands-table th:last-child {
	border-radius: 0 10px 0 0;
}

table.leo-brands-table td {
	padding: 7px 12px;
	border-bottom: 1px solid var(--leo-line-soft);
	vertical-align: middle;
}

table.leo-brands-table .leo-num {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

table.leo-brands-table td.leo-num:nth-child(2),
table.leo-brands-table th.leo-num:nth-child(2) {
	width: 50px;
	color: var(--leo-muted);
}

table.leo-brands-table tr.leo-brand-row:hover td {
	background: #fafcfe;
}

table.leo-brands-table tr.is-editing td {
	border-bottom-color: transparent;
	background: var(--leo-accent-soft);
}

table.leo-brands-table tr.is-inactive .leo-brands-name,
table.leo-brands-table tr.is-inactive .leo-brands-logo img {
	opacity: 0.55;
}

td.leo-brands-logo {
	width: 130px;
}

td.leo-brands-logo img {
	max-width: 120px;
	max-height: 30px;
	vertical-align: middle;
}

.leo-brands-nologo {
	color: #b6c0cd;
	font-size: 11.5px;
	font-style: italic;
}

.leo-brands-name {
	font-weight: 600;
}

.leo-brands-state {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 700;
}

.leo-brands-state.is-on {
	background: #e7f6ec;
	color: #17693a;
}

.leo-brands-state.is-off {
	background: #eef1f5;
	color: var(--leo-muted);
}

table.leo-brands-table tr.leo-brand-edit > td {
	padding: 4px 12px 14px;
	border-bottom: 1px solid var(--leo-line);
	background: var(--leo-accent-soft);
}

.leo-brand-edit-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 10px;
}

.leo-brand-box {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	padding: 12px;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	background: #ffffff;
}

.leo-brand-box form {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.leo-brand-box input[type="text"],
.leo-brand-box select {
	width: 100%;
	min-width: 0;
}

.leo-brand-box .leo-form-hint {
	margin: 0;
}

.leo-brand-danger {
	border-color: #f1c4c4;
}

/* ---------------------------------------------------------------- pilot profile edit (GUI_pilot_profile_edit.php) */

/* "edit profile" on the profile page: filled, so that it stands out from the other buttons */
a.leo-btn-edit,
a.leo-btn-edit:link,
a.leo-btn-edit:visited {
	border-color: var(--leo-accent-dark);
	background: var(--leo-accent);
	color: #ffffff;
}

a.leo-btn-edit:hover {
	border-color: var(--leo-accent-dark);
	background: var(--leo-accent-dark);
	color: #ffffff;
}

/* small pencil next to the name of the pilot */
a.leo-title-edit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	margin-left: 6px;
	border-radius: 6px;
	color: var(--leo-muted);
	vertical-align: middle;
}

a.leo-title-edit:hover {
	background: var(--leo-accent-soft);
	color: var(--leo-accent);
}

button.leo-btn-primary:hover {
	background: var(--leo-accent-dark);
	color: #ffffff;
}

.leo-main-actions .leo-btn-primary {
	height: 32px;
	padding: 0 14px;
	font-size: 13px;
}

.leo-alert-ok {
	border-color: #b7e2c8;
	background: #eefaf3;
	color: #14693a;
}

.leo-alert-error {
	border-color: #f1c0c0;
	background: #fdf1f1;
	color: #9b2c2c;
}

.leo-uform.leo-pedit {
	max-width: none;
}

.leo-pedit .leo-frow {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.leo-pedit .leo-frow.leo-frow-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* labels of different heights: the inputs of a row stay on the same line */
.leo-pedit .leo-field {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.leo-pedit .leo-field input[type="password"],
.leo-pedit .leo-field textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.leo-pedit .leo-field input[type="password"] {
	height: 34px;
}

.leo-pedit .leo-field textarea {
	min-height: 60px;
	resize: vertical;
}

.leo-pedit input[readonly] {
	background: #f3f6fa;
	color: var(--leo-muted);
}

/* the birthdate is filled in from the calendar */
.leo-pedit input[name="Birthdate"][readonly] {
	background: #ffffff;
	color: var(--leo-ink);
	cursor: default;
}

.leo-pedit .leo-inline {
	flex-wrap: nowrap;
	gap: 8px;
}

.leo-pedit .leo-inline input[type="text"] {
	flex: 1 1 0;
	width: auto;
	min-width: 0;
}

.leo-pedit .leo-inline a.leo-btn {
	height: 34px;
}

a.leo-pedit-cal {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 34px;
	height: 34px;
	border: 1px solid var(--leo-line);
	border-radius: 8px;
	background: #f8fafc;
}

a.leo-pedit-cal:hover {
	border-color: var(--leo-accent);
	background: #ffffff;
}

.leo-pedit .leo-check-group {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
}

.leo-pedit-static {
	display: flex;
	align-items: center;
	min-height: 34px;
	font-size: 13px;
}

.leo-pedit-top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 240px;
	gap: 20px;
	align-items: start;
}

.leo-pedit-fields > .leo-frow,
.leo-pedit-fields > .leo-field {
	margin-bottom: 12px;
}

.leo-pedit-fields > .leo-field:last-child {
	margin-bottom: 0;
}

.leo-pedit-photo {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 14px;
	border: 1px solid var(--leo-line-soft);
	border-radius: 10px;
	background: #f8fafc;
	text-align: center;
}

.leo-pedit-photo-title {
	color: var(--leo-muted);
	font-size: 12px;
	font-weight: 600;
}

.leo-pedit-photo img {
	max-width: 150px;
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(16, 24, 40, 0.15);
}

.leo-pedit-photo-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 110px;
	height: 110px;
	border-radius: 50%;
	background: #e8edf3;
	color: #9aa7b8;
}

.leo-pedit-photo .leo-field {
	width: 100%;
}

.leo-pedit-photo .leo-field > label {
	justify-content: center;
}

.leo-pedit-photo input[type="file"] {
	font-size: 12px;
}

.leo-factions.leo-pedit-actions {
	flex-direction: row;
	align-items: center;
}

.leo-factions.leo-pedit-actions .leo-btn-primary {
	height: 40px;
	padding: 0 22px;
}

.leo-factions.leo-pedit-actions a.leo-btn {
	height: 40px;
	padding: 0 16px;
}

@media (max-width: 900px) {
	.leo-pedit .leo-frow {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.leo-pedit-top {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 560px) {
	.leo-pedit .leo-frow,
	.leo-pedit .leo-frow.leo-frow-2 {
		grid-template-columns: minmax(0, 1fr);
	}
}

.leo-pedit .leo-fset-title {
	flex-wrap: wrap;
}

/* ================================================================ admin tools 2 + name popup (2026-09-27)
   GUI_admin_hidden_flights.php, GUI_admin_cleanup.php, GUI_admin_igc_check.php,
   GUI_admin_pilot_merge.php, INC_name_nag.php */

.leo-adm form {
	margin: 0;
}

.leo-adm-top {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12px;
}

.leo-adm-right {
	margin-left: auto;
}

.leo-adm > .leo-form-hint {
	margin: 0 0 12px;
	font-size: 12.5px;
}

.leo-adm h3.leo-adm-title {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 18px 0 8px;
	padding: 0;
	border: 0;
	background: none;
	text-decoration: none;
	color: var(--leo-ink);
	font-family: var(--leo-font);
	font-size: 14px;
	font-weight: 700;
}

.leo-adm-id {
	color: var(--leo-muted);
	font-size: 12px;
	font-weight: 400;
}

.leo-zero {
	color: #b6c0cd;
}

.leo-nowrap {
	white-space: nowrap;
}

.leo-path {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12px;
	word-break: break-all;
}

/* number tiles */
.leo-stat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 10px;
	margin: 0 0 6px;
}

.leo-stat,
a.leo-stat:link,
a.leo-stat:visited {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 10px 14px;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	background: #ffffff;
	color: var(--leo-ink);
	text-decoration: none;
}

a.leo-stat:hover {
	border-color: var(--leo-accent);
	text-decoration: none;
}

.leo-stat b {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
}

.leo-stat span {
	color: var(--leo-muted);
	font-size: 12px;
	font-weight: 600;
}

.leo-stat small {
	color: var(--leo-muted);
	font-size: 11.5px;
}

a.leo-stat.is-active {
	border-color: var(--leo-accent);
	background: var(--leo-accent-soft);
	box-shadow: inset 0 0 0 1px var(--leo-accent);
}

a.leo-stat.is-active span {
	color: var(--leo-accent-dark);
}

.leo-stat.is-warn b {
	color: #b45309;
}

/* the active filter */
.leo-adm-chips {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	margin: 10px 0 0;
	color: var(--leo-muted);
	font-size: 12px;
	font-weight: 600;
}

a.leo-chip,
a.leo-chip:link,
a.leo-chip:visited {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 26px;
	padding: 0 9px;
	border: 1px solid #bcd6ef;
	border-radius: 13px;
	background: var(--leo-accent-soft);
	color: var(--leo-accent-dark);
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
}

a.leo-chip:hover {
	border-color: var(--leo-accent);
	text-decoration: none;
}

.leo-adm-cols {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 18px;
	align-items: start;
}

.leo-adm-scroll {
	overflow-x: auto;
}

.leo-adm-col .leo-adm-scroll {
	max-height: 372px;
	overflow-y: auto;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
}

.leo-adm-col .leo-adm-scroll table.leo-admin-table {
	border: 0;
	border-radius: 0;
}

.leo-adm-col .leo-adm-scroll table.leo-admin-table th {
	position: sticky;
	top: 0;
	border-radius: 0;
}

.leo-adm-listhead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	margin: 18px 0 8px;
}

.leo-adm-listhead h3.leo-adm-title {
	margin: 0;
}

.leo-adm-listhead .numeration {
	margin: 0;
}

/* tables */
table.leo-admin-table {
	width: 100%;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	border-collapse: separate;
	border-spacing: 0;
	background: #ffffff;
	font-size: 13px;
}

table.leo-admin-table th {
	padding: 9px 12px;
	border-bottom: 1px solid var(--leo-line);
	background: #f8fafc;
	color: var(--leo-muted);
	font-size: 11.5px;
	font-weight: 700;
	text-align: left;
	text-transform: uppercase;
	white-space: nowrap;
}

table.leo-admin-table th:first-child {
	border-radius: 10px 0 0 0;
}

table.leo-admin-table th:last-child {
	border-radius: 0 10px 0 0;
}

table.leo-admin-table td {
	padding: 7px 12px;
	border-bottom: 1px solid var(--leo-line-soft);
	vertical-align: middle;
}

table.leo-admin-table tr:last-child td {
	border-bottom: 0;
}

table.leo-admin-table .leo-num {
	text-align: right;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

table.leo-admin-table .leo-check-col {
	width: 28px;
	padding-right: 0;
}

table.leo-admin-table-hover tbody tr:hover td {
	background: #fafcfe;
}

table.leo-admin-table tr.is-on td {
	background: var(--leo-accent-soft);
}

table.leo-admin-table tr.is-warn td {
	background: #fffaf0;
}

table.leo-admin-table tr.is-locked td {
	color: var(--leo-muted);
	background: #fafbfc;
}

table.leo-admin-table tr.is-gone td {
	color: #b6c0cd;
	text-decoration: line-through;
}

a.leo-adm-mini,
a.leo-adm-mini:link,
a.leo-adm-mini:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 5px;
	color: var(--leo-muted);
	vertical-align: middle;
}

a.leo-adm-mini:hover {
	background: var(--leo-accent-soft);
	color: var(--leo-accent);
}

/* small labels */
.leo-badge {
	display: inline-block;
	padding: 1px 8px;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	background: #f3f6fa;
	color: var(--leo-muted);
	font-size: 11.5px;
	font-weight: 600;
	line-height: 1.6;
	white-space: nowrap;
}

.leo-badge-blue {
	border-color: #bcd6ef;
	background: var(--leo-accent-soft);
	color: var(--leo-accent-dark);
}

.leo-badge-green {
	border-color: #b7e2c4;
	background: #ecf9f0;
	color: #17693a;
}

.leo-badge-red {
	border-color: #f1c4c4;
	background: #fff5f5;
	color: #b42318;
}

.leo-badge-amber {
	border-color: #fde1a8;
	background: #fff7e6;
	color: #7a4b00;
}

.leo-badge-grey {
	border-color: var(--leo-line);
	background: #f3f6fa;
	color: var(--leo-muted);
}

/* panels and forms of the tools */
.leo-adm-box {
	margin: 12px 0;
	padding: 12px 14px;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	background: #f8fafc;
}

.leo-adm-box > h3.leo-adm-title:first-child {
	margin-top: 0;
}

.leo-adm-box-danger {
	border-color: #f1c4c4;
	background: #fffafa;
}

.leo-adm-row {
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 10px 12px;
}

.leo-adm-row label {
	display: flex;
	flex-direction: column;
	gap: 4px;
	color: var(--leo-muted);
	font-size: 12px;
	font-weight: 600;
}

.leo-adm-row label.leo-adm-check {
	flex-direction: row;
	align-items: center;
	gap: 6px;
	height: 32px;
	color: var(--leo-ink);
	font-size: 13px;
	font-weight: 400;
}

.leo-adm input[type="text"],
.leo-adm input[type="number"],
.leo-adm select {
	height: 32px;
	box-sizing: border-box;
	padding: 0 9px;
	border: 1px solid #c9d3df;
	border-radius: 8px;
	background: #ffffff;
	color: var(--leo-ink);
	font-family: var(--leo-font);
	font-size: 13px;
}

.leo-adm input[type="number"] {
	width: 90px;
}

.leo-adm input.leo-adm-wide {
	width: 320px;
	max-width: 100%;
}

.leo-adm-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.leo-adm button.leo-btn-primary {
	height: 34px;
	padding: 0 16px;
	font-size: 13px;
}

.leo-adm button.leo-btn-primary:hover {
	background: var(--leo-accent-dark);
}

.leo-adm button.leo-btn-danger {
	border-color: #912018;
	background: #b42318;
}

.leo-adm button.leo-btn-danger:hover {
	background: #912018;
}

.leo-adm button[disabled] {
	opacity: 0.5;
	cursor: not-allowed;
}

/* tabs */
.leo-adm-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 16px 0 12px;
	border-bottom: 1px solid var(--leo-line);
}

a.leo-tab,
a.leo-tab:link,
a.leo-tab:visited {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: -1px;
	padding: 8px 12px;
	border-bottom: 2px solid transparent;
	color: var(--leo-muted);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

a.leo-tab:hover {
	color: var(--leo-accent);
	text-decoration: none;
}

a.leo-tab.is-active {
	border-bottom-color: var(--leo-accent);
	color: var(--leo-accent-dark);
}

a.leo-tab b {
	padding: 0 7px;
	border-radius: 9px;
	background: #edf1f5;
	color: var(--leo-muted);
	font-size: 11.5px;
	font-weight: 700;
	line-height: 18px;
}

a.leo-tab.is-active b {
	background: var(--leo-accent-soft);
	color: var(--leo-accent-dark);
}

/* progress of the jobs that run in steps */
.leo-progress {
	height: 10px;
	margin: 8px 0;
	border-radius: 5px;
	background: #e6ebf1;
	overflow: hidden;
}

.leo-progress > span {
	display: block;
	height: 100%;
	border-radius: 5px;
	background: var(--leo-accent);
}

/* bar of the disk usage table */
.leo-bar {
	display: inline-block;
	width: 120px;
	height: 8px;
	border-radius: 4px;
	background: #e6ebf1;
	overflow: hidden;
	vertical-align: middle;
}

.leo-bar > span {
	display: block;
	height: 100%;
	background: var(--leo-accent);
}

.leo-bar.is-locked > span {
	background: #9aa8b9;
}

@media (max-width: 1000px) {
	.leo-adm-cols {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ---------------------------------------------------------------- "complete your profile" popup (INC_name_nag.php) */

#leoNameNag.jqmWindow {
	top: 70px;
	width: 560px;
	margin-left: -280px;
}

.leo-nag .leo-modal-head span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.leo-nag .leo-modal-body {
	padding: 16px 18px 18px;
}

.leo-nag p.leo-nag-intro {
	margin: 0 0 14px;
	color: var(--leo-ink);
	font-size: 13.5px;
	line-height: 1.55;
}

.leo-nag-preview {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
	align-items: stretch;
	gap: 8px;
	margin: 0 0 16px;
}

.leo-nag-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
	padding: 10px 12px;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	background: #f8fafc;
}

.leo-nag-card small {
	color: var(--leo-muted);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.leo-nag-after {
	border-color: #b7e2c4;
	background: #f3fbf5;
}

.leo-nag-after small {
	color: #17693a;
}

.leo-nag-line {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	padding: 7px 10px;
	border: 1px solid var(--leo-line-soft);
	border-radius: 7px;
	background: #ffffff;
	font-size: 13.5px;
}

.leo-nag-line img.fl {
	flex: none;
}

.leo-nag-line b {
	overflow: hidden;
	font-weight: 600;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.leo-nag-now .leo-nag-line b {
	color: var(--leo-muted);
}

.leo-nag-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--leo-muted);
}

.leo-nag-form.leo-uform {
	margin: 0;
	padding: 0;
}

.leo-nag-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.leo-nag-fields .leo-field:last-child {
	grid-column: 1 / -1;
}

.leo-nag-fields .leo-field input[type="text"],
.leo-nag-fields .leo-field select {
	width: 100%;
	box-sizing: border-box;
}

.leo-nag-fields input[readonly],
.leo-nag-fields select[disabled] {
	background: #f3f6fa;
	color: var(--leo-muted);
}

.leo-nag-fields .is-invalid {
	border-color: #d92d20 !important;
	box-shadow: 0 0 0 3px rgba(217, 45, 32, 0.12);
}

.leo-nag-msg {
	margin: 12px 0 0;
	padding: 8px 12px;
	border-radius: 8px;
	font-size: 12.5px;
	font-weight: 600;
}

.leo-nag-msg.is-ok {
	background: #ecf9f0;
	color: #17693a;
}

.leo-nag-msg.is-error {
	background: #fff5f5;
	color: #b42318;
}

.leo-nag-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 16px 0 0;
}

.leo-nag-actions button.leo-btn-primary:hover {
	background: var(--leo-accent-dark);
}

.leo-nag-actions button[disabled] {
	opacity: 0.6;
	cursor: default;
}

.leo-nag-actions a.leo-btn {
	height: 38px;
}

.leo-nag .leo-form-hint {
	margin-top: 12px;
}

@media (max-width: 600px) {
	#leoNameNag.jqmWindow {
		top: 12px;
		left: 12px;
		right: 12px;
		width: auto;
		margin-left: 0;
		max-height: calc(100vh - 24px);
		overflow-y: auto;
	}

	.leo-nag-preview {
		grid-template-columns: minmax(0, 1fr);
	}

	.leo-nag-arrow {
		transform: rotate(90deg);
	}

	.leo-nag-fields {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ---------------------------------------------------------------- disk usage and cleaning (GUI_admin_cleanup.php) */

.leo-adm .leo-adm-hint {
	margin: -2px 0 10px;
}

table.leo-clean-table td {
	padding-top: 9px;
	padding-bottom: 9px;
}

.leo-clean-form {
	display: flex;
	align-items: center;
	gap: 6px;
}

@media (max-width: 1100px) {
	.leo-clean-form {
		flex-wrap: wrap;
	}
}

.leo-clean-age {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-right: 4px;
	color: var(--leo-muted);
	font-size: 12px;
	white-space: nowrap;
}

.leo-adm .leo-clean-age input[type="number"] {
	width: 68px;
	height: 30px;
}

/* ---------------------------------------------------------------- pilot merge (GUI_admin_pilot_merge.php) */

a.leo-btn.leo-btn-small {
	height: 26px;
	padding: 0 9px;
	font-size: 12px;
}

a.leo-chip.is-off {
	border-color: var(--leo-line);
	background: #ffffff;
	color: var(--leo-muted);
}

.leo-adm-listhead .leo-adm-chips {
	margin: 0;
}

.leo-merge-found {
	margin-top: 12px;
	max-height: 420px;
	overflow-y: auto;
}

.leo-merge-cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 36px minmax(0, 1fr);
	gap: 8px;
	align-items: stretch;
	margin: 16px 0 4px;
}

.leo-merge-arrow {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	color: var(--leo-muted);
}

.leo-merge-card {
	min-width: 0;
	border: 1px solid #fde1a8;
	border-radius: 10px;
	background: #ffffff;
	overflow: hidden;
}

.leo-merge-card.is-target {
	border-color: #b7e2c4;
}

.leo-merge-card-head {
	display: flex;
	align-items: baseline;
	gap: 8px;
	padding: 8px 12px;
	background: #fff7e6;
	color: #7a4b00;
	font-size: 12px;
}

.leo-merge-card.is-target .leo-merge-card-head {
	background: #ecf9f0;
	color: #17693a;
}

.leo-merge-card-head b {
	font-size: 13px;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.leo-merge-card-head a.leo-adm-mini {
	margin-left: auto;
	align-self: center;
}

.leo-merge-empty {
	padding: 22px 14px;
	color: var(--leo-muted);
	font-size: 12.5px;
}

.leo-merge-name {
	padding: 12px 14px 4px;
	font-size: 16px;
	font-weight: 700;
}

table.leo-merge-facts {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 8px;
	font-size: 12.5px;
}

table.leo-merge-facts th,
table.leo-merge-facts td {
	padding: 4px 14px;
	border: 0;
	background: none;
	text-align: left;
	vertical-align: top;
}

table.leo-merge-facts th {
	width: 130px;
	color: var(--leo-muted);
	font-weight: 600;
	white-space: nowrap;
}

table.leo-merge-facts td {
	word-break: break-word;
}

ul.leo-merge-list {
	margin: 6px 0 10px;
	padding: 0 0 0 20px;
	font-size: 13px;
	line-height: 1.7;
}

ul.leo-merge-list li {
	margin: 0;
}

ul.leo-merge-list label.leo-adm-check {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

ul.leo-merge-errors {
	color: #b42318;
	font-size: 12.5px;
}

.leo-merge-result {
	margin-top: 4px;
}

.leo-adm .leo-alert > div {
	flex: 1;
	min-width: 0;
}

.leo-alert .leo-merge-conflicts {
	margin-top: 8px;
	max-height: 190px;
	overflow-y: auto;
	color: var(--leo-ink);
}

.leo-alert .leo-merge-conflicts table.leo-admin-table {
	font-size: 12px;
}

.leo-alert .leo-merge-conflicts table.leo-admin-table td {
	padding: 4px 10px;
}

.leo-merge-flights {
	max-height: 460px;
	overflow-y: auto;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
}

.leo-merge-flights table.leo-admin-table {
	border: 0;
	border-radius: 0;
}

.leo-merge-flights table.leo-admin-table th {
	position: sticky;
	top: 0;
	border-radius: 0;
}

.leo-merge-acc {
	padding: 2px 0;
}

.leo-confirm-box .leo-form-hint {
	margin: 0 0 10px;
}

.leo-adm .leo-confirm-box input[type="text"] {
	width: 150px;
	font-weight: 700;
}

@media (max-width: 900px) {
	.leo-merge-cols {
		grid-template-columns: minmax(0, 1fr);
	}

	.leo-merge-arrow {
		flex-direction: row;
	}

	.leo-merge-arrow > .leo-ico:last-child {
		transform: rotate(90deg);
	}
}


/* ---------------------------------------------------------------- drop layers: head line, clubs, favourites (2026-09-27) */

/* "pick one or [show all]" line, leaves room for the close button on the right */
.leo-drop-head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	min-height: 30px;
	margin: 0 34px 10px 0;
	font-size: 13px;
}

.leo-drop-head strong {
	font-weight: 700;
}

.secondMenuDropLayer > .closeLayerButton {
	position: relative;
	z-index: 2;
}

/* the content starts at the top of the layer, next to the close button */
#clubDropDownID > .content,
#dateDropDownID > .content,
#favDropDownID > .content {
	clear: none;
	margin: 0;
	padding: 0;
}

.leo-drop-sub {
	padding: 6px 10px;
	border-radius: 6px 6px 0 0;
	font-size: 12.5px;
}

#clubDropDownID ul.simpleList li a.leo-club-info {
	flex: none;
	padding: 4px;
	color: var(--leo-muted);
}

#clubDropDownID ul.simpleList li a.leo-club-info:hover {
	color: var(--leo-accent);
}

#clubDropDownID ul.simpleList li.boldFont a:last-child {
	font-weight: 700;
}

.leo-dates-table {
	border-collapse: collapse;
}

/* favourites: flights picked in the list, compared on one map */
.leo-fav-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px 12px;
	min-height: 38px;
	margin: 0 34px 10px 0;
}

.leo-fav-title {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 15px;
	font-weight: 700;
	color: var(--leo-ink);
}

.leo-fav-title .leo-ico {
	color: #e11d48;
}

.leo-fav-count:empty {
	display: none;
}

.leo-fav-count {
	min-width: 20px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--leo-accent-soft);
	color: var(--leo-accent-dark);
	font-size: 12px;
	line-height: 20px;
	text-align: center;
}

.leo-fav-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

#favDropDownID a.leo-btn-primary,
#favDropDownID a.leo-btn-primary:link,
#favDropDownID a.leo-btn-primary:visited {
	height: 34px;
	padding: 0 14px;
	border-radius: 8px;
	color: #ffffff;
	font-size: 13px;
}

#favDropDownID a.leo-btn-primary:hover {
	background: var(--leo-accent-dark);
	color: #ffffff;
}

#favDropDownID a.leo-fav-clear,
#favDropDownID a.leo-fav-clear:link,
#favDropDownID a.leo-fav-clear:visited {
	height: 34px;
	padding: 0 12px;
	border-radius: 8px;
	color: #b42a2a;
}

#favDropDownID a.leo-fav-clear:hover {
	border-color: #d64545;
	background: #fde4e4;
	color: #b42a2a;
}

.leo-fav-hint {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border: 1px solid #cfe0f3;
	border-radius: 10px;
	background: #f2f7fd;
	color: #2b4a6b;
	font-size: 13px;
	line-height: 1.5;
}

.leo-fav-hint .leo-ico {
	flex: none;
	color: var(--leo-accent);
}

#favListDiv:empty {
	display: none;
}

#favList {
	width: 100%;
	margin-top: 4px;
	border-collapse: collapse;
}

#favList td {
	padding: 6px 8px;
	border-top: 0 !important;
	border-bottom: 1px solid var(--leo-line-soft);
	font-size: 12.5px;
	vertical-align: middle;
}

#favList tr:last-child td {
	border-bottom: 0;
}

#favList tr:hover td {
	background: #f8fafc;
}

#favList .fav_remove {
	display: inline-flex;
	cursor: pointer;
}

.leo-fav-x {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	color: var(--leo-muted);
}

.leo-fav-x:hover {
	background: #fee2e2;
	color: #b91c1c;
}

/* the checkboxes that the favourites button adds to the list */
.listTable .indexCell .selectTrack {
	margin: 0 0 0 4px;
	vertical-align: middle;
	accent-color: var(--leo-accent);
	cursor: pointer;
}


/* ---------------------------------------------------------------- list popups: flight actions, download menu (2026-09-27) */

.leo-tip-head .leo-ico {
	margin-right: 4px;
	vertical-align: -2px;
}

.leo-tip a.leo-tip-item.leo-tip-danger,
.leo-tip a.leo-tip-item.leo-tip-danger .leo-ico {
	color: #b42a2a;
}

.leo-tip a.leo-tip-item.leo-tip-danger:hover {
	background: #fde4e4;
	color: #b42a2a;
}

/* download menu: title and a line of explanation, as the menu of the flight page */
.leo-tip-dl a.leo-tip-item {
	align-items: flex-start;
	gap: 10px;
	padding: 9px 12px;
}

.leo-tip-dl a.leo-tip-item .leo-ico {
	margin-top: 2px;
	color: var(--leo-accent);
}

.leo-tip-dl a.leo-tip-item b {
	display: block;
	font-size: 13px;
	font-weight: 600;
}

.leo-tip-dl a.leo-tip-item small {
	display: block;
	margin-top: 1px;
	color: var(--leo-muted);
	font-size: 11.5px;
	font-weight: 400;
	line-height: 1.35;
}

.leo-tip-dl a.leo-tip-item:hover {
	color: var(--leo-ink);
}

/* ---------------------------------------------------------------- flight edit page (GUI_flight_edit.php) */

.leo-fedit-summary {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 10px;
	margin: 0 0 14px;
}

.leo-fedit-sum-item {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 10px 14px;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	background: linear-gradient(180deg, #ffffff 0%, #f3f7fb 100%);
}

.leo-fedit-sum-item .leo-ico {
	flex: none;
	color: var(--leo-accent);
}

.leo-fedit-sum-item > div {
	min-width: 0;
}

.leo-fedit-sum-item small {
	display: block;
	color: var(--leo-muted);
	font-size: 11.5px;
	font-weight: 600;
}

.leo-fedit-sum-item b {
	display: block;
	overflow: hidden;
	color: var(--leo-ink);
	font-size: 13.5px;
	font-weight: 700;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.leo-fedit-cat {
	display: flex;
	align-items: center;
	gap: 8px;
}

.leo-fedit-cat img {
	flex: none;
}

.leo-fedit-checks {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
}

.leo-uform .leo-check-admin {
	padding: 4px 10px;
	border: 1px solid #f3d9a4;
	border-radius: 8px;
	background: #fff8e8;
	color: #7a4b00;
}

/* the parts that only an admin sees */
.leo-fset.leo-fset-admin {
	border-color: #f3d9a4;
	background: #fffdf7;
}

.leo-fset-admin .leo-fset-num {
	background: #d97706;
}

.leo-fedit-url {
	display: flex;
	align-items: stretch;
	max-width: 640px;
}

.leo-fedit-url > span {
	display: inline-flex;
	align-items: center;
	padding: 0 10px;
	border: 1px solid #c9d3df;
	border-right: 0;
	border-radius: 8px 0 0 8px;
	background: #f1f5f9;
	color: var(--leo-muted);
	font-size: 12.5px;
}

.leo-fedit-url input[type="text"] {
	flex: 1 1 auto;
	min-width: 0;
	border-radius: 0 8px 8px 0;
}

.leo-fedit-photos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 10px;
	margin: 0 0 12px;
}

.leo-fedit-photo {
	overflow: hidden;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	background: #f8fafc;
}

.leo-fedit-photo img {
	display: block;
	width: 100%;
	height: 110px;
	object-fit: cover;
}

.leo-fedit-photo-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	padding: 6px 8px;
	font-size: 12px;
	color: var(--leo-muted);
}

.leo-uform .leo-fedit-photo-del {
	color: #b42a2a;
	font-size: 12px;
	cursor: pointer;
}

.leo-fedit-airspace {
	margin: 0 0 12px;
}

.leo-factions.leo-fedit-actions {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.leo-factions.leo-fedit-actions input.leo-btn-primary {
	align-self: center;
}

.leo-factions.leo-fedit-actions a.leo-btn {
	height: 40px;
	padding: 0 16px;
}


/* ---------------------------------------------------------------- pilot statistics (GUI_pilot_profile_stats.php) */

.pilot_stats_div .stat_totals {
	display: none;
}

/* "breakdown per ..." titles */
.pilot_stats_div h1 {
	display: flex;
	align-items: center;
	gap: 8px;
	clear: both;
	margin: 26px 0 10px;
	padding: 10px 14px;
	border: 1px solid #cfe0f3;
	border-radius: 10px;
	background: #f2f7fd;
	color: var(--leo-accent-dark);
	font-family: var(--leo-font);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}

.pilot_stats_div h1 .leo-ico {
	flex: none;
	color: var(--leo-accent);
}

/* one line for each takeoff / glider, a click opens its numbers */
.pilot_stats_div h2 {
	display: flex;
	align-items: center;
	gap: 8px;
	clear: both;
	width: auto;
	margin: 0 0 6px;
	padding: 9px 12px;
	border: 1px solid var(--leo-line);
	border-radius: 8px;
	background: #ffffff;
	color: var(--leo-ink);
	font-family: var(--leo-font);
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	cursor: pointer;
	transition: border-color 0.15s, background-color 0.15s;
}

.pilot_stats_div h2:hover {
	border-color: #a9c9ea;
	background: #f7fafd;
}

.pilot_stats_div h2 .leo-ico {
	flex: none;
	color: var(--leo-muted);
	transition: transform 0.15s ease;
}

.pilot_stats_div h2.open {
	border-color: var(--leo-accent);
	background: var(--leo-accent-soft);
	color: var(--leo-accent-dark);
}

.pilot_stats_div h2.open .leo-ico {
	color: var(--leo-accent);
	transform: rotate(90deg);
}

.pilot_stats_div h2 span {
	flex: 1 1 auto;
	min-width: 0;
}

/* number of flights */
.pilot_stats_div h2 small {
	flex: none;
	min-width: 26px;
	padding: 0 8px;
	border-radius: 999px;
	background: #eef2f7;
	color: var(--leo-muted);
	font-size: 12px;
	font-weight: 700;
	line-height: 20px;
	text-align: center;
}

.pilot_stats_div h2.open small {
	background: #ffffff;
	color: var(--leo-accent-dark);
}

.pilot_stats_div h2 + .stat_totals {
	margin: 0 0 12px;
	padding: 4px 14px 12px;
	border: 1px solid var(--leo-line);
	border-radius: 10px;
	background: #ffffff;
}

/* the tables of the numbers: label on the left, number on the right */
.pilot_stats_div .stat_totals table.main_text {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
}

/* the same columns in every table of the page */
.pilot_stats_div .stat_totals table.main_text td:nth-child(1),
.pilot_stats_div .stat_totals table.main_text td:nth-child(4) {
	width: 32%;
}

.pilot_stats_div .stat_totals table.main_text td:nth-child(2),
.pilot_stats_div .stat_totals table.main_text td:nth-child(5) {
	width: 16%;
}

.pilot_stats_div .stat_totals table.main_text td {
	padding: 7px 10px;
	border-bottom: 1px solid var(--leo-line-soft);
	background: none !important;
	font-size: 13px;
	vertical-align: middle;
}

.pilot_stats_div .stat_totals table.main_text tr:last-child td {
	border-bottom: 0;
}

.pilot_stats_div .stat_totals table.main_text td > div[align] {
	color: var(--leo-muted);
	text-align: left;
}

.pilot_stats_div .stat_totals table.main_text td:nth-child(2),
.pilot_stats_div .stat_totals table.main_text td:nth-child(5) {
	color: var(--leo-ink);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: right;
	white-space: nowrap;
}

.pilot_stats_div .stat_totals table.main_text td:nth-child(3) {
	width: 28px;
	border-bottom: 0;
}

.pilot_stats_div .stat_totals table.main_text td.leo-pstat-graph {
	width: 100%;
	padding: 6px 0 0;
	border-bottom: 0;
	text-align: left;
}

.pilot_stats_div td.leo-pstat-graph img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 8px;
}

.pilot_stats_div .stat_totals .time_style,
.pilot_stats_div .stat_totals .altitude_style,
.pilot_stats_div .stat_totals .distance_style {
	color: inherit;
	font-weight: inherit;
}


/* ---------------------------------------------------------------- forms as wide as the page */

/* flight submit, flight edit and profile edit use the whole width of the box */
.leo-uform.leo-uform-wide,
.leo-uform.leo-fedit,
.leo-uform.leo-pedit {
	max-width: none;
}
