/* =====================================================================================
   FIRST PERFORMANCE 3.3 â€” INTERFACCIA SCURA
   Author: QCode - Diego Quacquarini Â· Version 1.3.1 Â· 29/10/2026
   1.3.1 (02/11/2026): pulsante "Invia PDF all'atleta" nella pagina del test (#fp_send_test_pdf), stesso stile di "Mostra dati grezzi".
   1.3: area utente piu' larga (1880px), team con molti atleti ("+N altri", intestazione team fissa nella barra laterale).
   1.2: testi di spiegazione dei test bianchi e barra di scorrimento scura delle tabelle Step/Sprint (tema scuro).
   1.1: palette scura su base nera neutra (non piu' blu notte), accent invariato;
        tutte le Swal (anche attesa/PDF) e il modale avatar seguono il tema;
        loader loading_inv.gif nel tema scuro (variabile --fpd-loader).

   Regole:
   - tutto e' confinato dentro #fp_user_page.fpd (area account front end);
   - il contenuto dei test (#toPDF) e lo storico (#fp_test_chart) sono scuri SOLO a video:
     durante l'esportazione PDF (.export / .export2) valgono gli stili originali di
     fp_pdf.css, quindi PDF e social card restano identici a prima;
   - fp.css e fp_pdf.css non sono stati modificati.
   ===================================================================================== */

@font-face {
	font-family: 'FPD Sans';
	src: url('../font/Montserrat-VariableFont_wght.ttf') format('truetype');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

/* ------------------------------------------------------------------ TOKENS */
/* Palette scura v1.1 (13/10/2026): base nera neutra (richiesta cliente) al posto del blu notte.
   Livelli di superficie in grigio neutro, nessuna dominante fredda; accent arancio invariato. */
#fp_user_page.fpd,
body.fpd-body .swal2-container,
body.fpd-body .my_imgselect {
	--fpd-bg: #000000;
	--fpd-bg-2: #0a0a0a;
	--fpd-card: #1f1f1f;
	--fpd-card-2: #2a2a2a;
	--fpd-card-3: #333333;
	--fpd-line: #3c3c3c;
	--fpd-line-2: #4a4a4a;
	--fpd-text: #ededed;
	--fpd-text-2: #ababab;
	--fpd-text-3: #7c7c7c;
	--fpd-accent: #f26b3a;
	--fpd-accent-2: #ff8a5c;
	--fpd-accent-soft: rgba(242, 107, 58, .14);
	--fpd-accent-ring: rgba(242, 107, 58, .55);
	--fpd-ok: #34d399;
	--fpd-warn: #fbbf24;
	--fpd-danger: #f87171;
	--fpd-cp: #4f8fd0;
	--fpd-ramp: #ee723a;
	--fpd-la: #c73a3a;
	--fpd-radius: 16px;
	--fpd-radius-sm: 10px;
	--fpd-shadow: 0 18px 40px -18px rgba(0, 0, 0, .9);
	--fpd-shadow-pop: 0 24px 60px -12px rgba(0, 0, 0, .95), 0 0 0 1px rgba(255, 255, 255, .04);
	--fpd-strong: #ffffff;
	--fpd-hover: rgba(255, 255, 255, .03);
	--fpd-row-line: rgba(255, 255, 255, .08);
	--fpd-overlay: rgba(0, 0, 0, .82);
	--fpd-backdrop: rgba(0, 0, 0, .78);
	--fpd-scheme: dark;
	--fpd-glow: rgba(242, 107, 58, .07);
	--fpd-loader: url(../images/loading_inv.gif);
	--fpd-tab-active-bg: var(--fpd-accent-soft);
	--fpd-tab-active-fg: var(--fpd-accent-2);
	--fpd-tab-active-ring: var(--fpd-accent-ring);
	--fpd-font: 'FPD Sans', 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* ------------------------------------------------------------------ PAGINA */
html.fpd-noscroll,
html.fpd-noscroll body { overflow: hidden; }

body.fpd-body:not(.fpd-body-light) {
	background-color: #000000;
	overflow-x: hidden;
}

#fp_user_page.fpd {
	position: relative;
	box-sizing: border-box;
	width: 100vw;
	max-width: 100vw;
	margin-top: -10px;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 28px clamp(16px, 3vw, 40px) 64px;
	min-height: calc(100vh - 147px);
	background: radial-gradient(1200px 500px at 85% -10%, var(--fpd-glow), transparent 60%), var(--fpd-bg);
	color: var(--fpd-text);
	font-family: var(--fpd-font);
	font-size: 15px;
	line-height: 1.5;
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
}

/* box-sizing solo sui componenti nuovi: il contenuto del test (#toPDF) mantiene il modello originale */
#fp_user_page.fpd [class*="fpd-"],
#fp_user_page.fpd [class*="fpd-"]::before,
#fp_user_page.fpd [class*="fpd-"]::after,
#fp_user_page.fpd #fp_user_menu,
#fp_user_page.fpd #fp_user_page_content { box-sizing: border-box; }

#fp_user_page.fpd #fp_user_page_content {
	max-width: 1880px; /* 1.3 - era 1480px: su schermi larghi si usa piu' spazio */
	margin: 0 auto;
	width: 100%;
	float: none;
}

#fp_user_page.fpd :where(a:not(#toPDF.export *):not(#toPDF.export2 *):not(#fp_test_chart.export *)) { color: var(--fpd-accent-2); }
#fp_user_page.fpd :where(a:not(#toPDF.export *):not(#toPDF.export2 *):not(#fp_test_chart.export *)):hover { color: var(--fpd-accent); }

#fp_user_page.fpd .fpd-ico { flex: 0 0 auto; display: inline-block; vertical-align: middle; }

/* ------------------------------------------------------------------ TESTATA E MENU */
#fp_user_page.fpd .fpd-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 28px;
}
#fp_user_page.fpd .fpd-head__id { display: flex; align-items: center; gap: 14px; min-width: 0; }
#fp_user_page.fpd .fpd-head__logo {
	width: 46px; height: 46px; border-radius: 13px;
	display: grid; place-items: center;
	color: var(--fpd-accent);
	background: var(--fpd-accent-soft);
	box-shadow: inset 0 0 0 1px rgba(242, 107, 58, .25);
}
#fp_user_page.fpd .fpd-eyebrow {
	font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
	color: var(--fpd-text-3);
}
#fp_user_page.fpd .fpd-head__title {
	font-size: 26px; font-weight: 750; letter-spacing: -.02em; line-height: 1.15; color: var(--fpd-text);
}

#fp_user_page.fpd #fp_user_menu.fpd-nav {
	display: flex; align-items: center; gap: 4px;
	width: auto; float: none; margin: 0; padding: 5px;
	background: var(--fpd-card); border: 1px solid var(--fpd-line); border-radius: 14px;
	overflow-x: auto; scrollbar-width: none;
}
#fp_user_page.fpd #fp_user_menu.fpd-nav::-webkit-scrollbar { display: none; }

#fp_user_page.fpd .fpd-nav .fp_user_page_butt {
	display: inline-flex; align-items: center; gap: 9px;
	width: auto; height: auto; float: none; margin: 0;
	padding: 10px 16px;
	border: 0; border-radius: 10px;
	background: transparent;
	color: var(--fpd-text-2);
	font-family: var(--fpd-font); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none;
	line-height: 1.2; white-space: nowrap; text-decoration: none;
	cursor: pointer; box-shadow: none;
	transition: background .2s, color .2s, box-shadow .2s;
}
#fp_user_page.fpd .fpd-nav .fp_user_page_butt:hover { background: var(--fpd-card-2); color: var(--fpd-text); }
#fp_user_page.fpd .fpd-nav .fp_user_page_butt.active {
	background: var(--fpd-tab-active-bg); color: var(--fpd-tab-active-fg);
	box-shadow: inset 0 0 0 1.5px var(--fpd-tab-active-ring);
}
#fp_user_page.fpd .fpd-nav .fpd-nav__logout { margin-left: 6px; color: var(--fpd-text-3); }
#fp_user_page.fpd .fpd-nav .fpd-nav__logout:hover { color: var(--fpd-danger); background: rgba(248, 113, 113, .08); }

/* ------------------------------------------------------------------ CONTENUTI / SEZIONI */
#fp_user_page.fpd #fp_content { width: 100%; float: none; margin: 0; padding: 0; background: transparent; }
#fp_user_page.fpd #fp_content .fp_part_content { padding: 0; margin: 0; width: 100%; float: none; }
#fp_user_page.fpd #fp_content h3:not(.fpd-h1) { color: var(--fpd-text); }
#fp_user_page.fpd #fp_content h3::before,
#fp_user_page.fpd #fp_content h3::after { display: none !important; }

#fp_user_page.fpd .fpd-pagehead {
	display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap;
	margin: 0 0 20px;
}
#fp_user_page.fpd #fp_content h3.fpd-h1,
#fp_user_page.fpd .fpd-h1 {
	margin: 2px 0 0; padding: 0;
	font-family: var(--fpd-font); font-size: 24px; font-weight: 750; letter-spacing: -.02em; line-height: 1.2;
	color: var(--fpd-text); text-align: left; text-transform: none; background: none; border: 0;
}
#fp_user_page.fpd .fpd-sub { margin: 6px 0 0; color: var(--fpd-text-2); font-size: 14px; max-width: 60ch; }
#fp_user_page.fpd .fpd-pagehead__actions { display: flex; gap: 8px; flex-wrap: wrap; }

#fp_user_page.fpd .fpd-muted { color: var(--fpd-text-3); }
#fp_user_page.fpd .fpd-link { color: var(--fpd-accent-2); cursor: pointer; }
#fp_user_page.fpd .fpd-link:hover { color: var(--fpd-accent); }
#fp_user_page.fpd .fpd-empty { padding: 40px 16px; text-align: center; color: var(--fpd-text-2); }

/* ------------------------------------------------------------------ CARD, PULSANTI, CAMPI */
#fp_user_page.fpd .fpd-card {
	background: var(--fpd-card);
	border: 1px solid var(--fpd-line);
	border-radius: var(--fpd-radius);
}
#fp_user_page.fpd .fpd-card__title {
	display: flex; align-items: center; gap: 8px;
	font-size: 15px; font-weight: 700; color: var(--fpd-text); margin-bottom: 14px;
}
#fp_user_page.fpd .fpd-card__title .fpd-ico { color: var(--fpd-accent); }

#fp_user_page.fpd .fpd-btn,
#fp_user_page.fpd .fp_acc_button.fpd-btn,
#fp_user_page.fpd .userinfo_butt.fpd-btn,
#fp_user_page.fpd .athlete_block_butt.fpd-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	width: auto; height: auto; min-height: 40px; float: none; margin: 0;
	padding: 9px 16px;
	border: 1px solid var(--fpd-line-2); border-radius: 11px;
	background: var(--fpd-card-2);
	color: var(--fpd-text);
	font-family: var(--fpd-font); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; line-height: 1.2;
	white-space: nowrap; cursor: pointer; text-decoration: none; box-shadow: none;
	transition: background .2s, border-color .2s, color .2s, transform .1s;
}
#fp_user_page.fpd .fpd-btn:hover { border-color: var(--fpd-accent-ring); background: var(--fpd-card-3); color: var(--fpd-strong); }
#fp_user_page.fpd .fpd-btn:active { transform: translateY(1px); }
#fp_user_page.fpd .fpd-btn--primary,
#fp_user_page.fpd .fp_acc_button.fpd-btn--primary,
#fp_user_page.fpd .userinfo_butt.fpd-btn--primary {
	background: var(--fpd-accent); border-color: var(--fpd-accent); color: #fff;
}
#fp_user_page.fpd .fpd-btn--primary:hover { background: var(--fpd-accent-2); border-color: var(--fpd-accent-2); }
#fp_user_page.fpd .fpd-btn--warn { border-color: rgba(251, 191, 36, .45); color: var(--fpd-warn); background: rgba(251, 191, 36, .08); }
#fp_user_page.fpd .fpd-btn--cp .fpd-ico { color: var(--fpd-cp); }
#fp_user_page.fpd .fpd-btn--ramp .fpd-ico { color: var(--fpd-ramp); }
#fp_user_page.fpd .fpd-btn--la .fpd-ico { color: #ef5b5b; }

#fp_user_page.fpd .fpd-icon-btn {
	display: inline-grid; place-items: center;
	width: 40px; height: 40px; padding: 0; margin: 0;
	border: 1px solid var(--fpd-line-2); border-radius: 11px;
	background: var(--fpd-card-2); color: var(--fpd-text-2);
	cursor: pointer; transition: .2s;
}
#fp_user_page.fpd .fpd-icon-btn:hover { color: var(--fpd-text); border-color: var(--fpd-accent-ring); }
#fp_user_page.fpd .fpd-icon-btn--danger:hover { color: var(--fpd-danger); border-color: rgba(248, 113, 113, .55); background: rgba(248, 113, 113, .08); }
#fp_user_page.fpd .fpd-sep { width: 1px; height: 26px; background: var(--fpd-line-2); margin: 0 4px; }

#fp_user_page.fpd #fp_content :where(input[type="text"]:not(#toPDF.export *):not(#toPDF.export2 *):not(#fp_test_chart.export *)),
#fp_user_page.fpd #fp_content :where(input[type="email"]:not(#toPDF.export *):not(#toPDF.export2 *):not(#fp_test_chart.export *)),
#fp_user_page.fpd #fp_content :where(input[type="number"]:not(#toPDF.export *):not(#toPDF.export2 *):not(#fp_test_chart.export *)),
#fp_user_page.fpd #fp_content :where(input[type="date"]:not(#toPDF.export *):not(#toPDF.export2 *):not(#fp_test_chart.export *)),
#fp_user_page.fpd #fp_content :where(input[type="password"]:not(#toPDF.export *):not(#toPDF.export2 *):not(#fp_test_chart.export *)),
#fp_user_page.fpd #fp_content :where(input[type="tel"]:not(#toPDF.export *):not(#toPDF.export2 *):not(#fp_test_chart.export *)),
#fp_user_page.fpd #fp_content :where(select:not(#toPDF.export *):not(#toPDF.export2 *):not(#fp_test_chart.export *)),
#fp_user_page.fpd #fp_content :where(textarea:not(#toPDF.export *):not(#toPDF.export2 *):not(#fp_test_chart.export *)) {
	background-color: var(--fpd-bg-2);
	border: 1px solid var(--fpd-line-2);
	border-radius: 10px;
	color: var(--fpd-text);
	font-family: var(--fpd-font);
	box-shadow: none;
	color-scheme: var(--fpd-scheme);
}
#fp_user_page.fpd #fp_content :where(input:not(#toPDF.export *):not(#fp_test_chart.export *)):focus,
#fp_user_page.fpd #fp_content :where(select:not(#toPDF.export *):not(#fp_test_chart.export *)):focus,
#fp_user_page.fpd #fp_content :where(textarea:not(#toPDF.export *):not(#fp_test_chart.export *)):focus {
	outline: none; border-color: var(--fpd-accent); box-shadow: 0 0 0 3px var(--fpd-accent-soft);
}
#fp_user_page.fpd input::placeholder,
#fp_user_page.fpd textarea::placeholder { color: var(--fpd-text-3); }

/* ------------------------------------------------------------------ DASHBOARD */
#fp_user_page.fpd #display_user_info.fpd-dash {
	display: grid;
	grid-template-columns: minmax(260px, 320px) 1fr;
	gap: 20px;
	align-items: start;
	width: 100%; text-align: left;
}
#fp_user_page.fpd #display_user_info > h3 { display: none; }
#fp_user_page.fpd .fpd-dash__main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }

#fp_user_page.fpd .fpd-profile {
	padding: 28px 22px 24px; text-align: center;
	display: flex; flex-direction: column; align-items: center; gap: 4px;
	position: sticky; top: 24px;
}
#fp_user_page.fpd .fpd-profile #avatar_frame,
#fp_user_page.fpd .fpd-profile #avatar_block {margin: 0 auto 12px;}
#fp_user_page.fpd .fpd-profile #avatar_inframe {
	border: 3px solid transparent !important;
	box-shadow: 0 0 0 6px var(--fpd-accent-soft);
	background: var(--fpd-card-2);
}
#fp_user_page.fpd .fpd-profile__name { font-size: 19px; font-weight: 700; color: var(--fpd-text); }
#fp_user_page.fpd .fpd-profile__role { font-size: 13px; color: var(--fpd-text-3); word-break: break-word; }

#fp_user_page.fpd .fpd-stats {
	display: grid; gap: 14px;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	width: 100%; margin: 0; padding: 0; text-align: left; font-size: 14px;
}
#fp_user_page.fpd .fpd-stat {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
	padding: 18px 18px 16px;
	background: #212020;
	border: 1px solid #424141;
	border-radius: 14px;
} 
#fp_user_page.fpd.fpd-light .fpd-stat {
	background: #ffffff ;
	border: 1px solid #e2e2e2;
}
#fp_user_page.fpd .fpd-stat__label {
	display: flex; align-items: center; gap: 6px;
	font-size: 12px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--fpd-text-3);
}
#fp_user_page.fpd .fpd-stat__value {
	font-size: 34px; font-weight: 750; letter-spacing: -.03em; line-height: 1.05; color: var(--fpd-text);
	font-variant-numeric: tabular-nums;
}
#fp_user_page.fpd .fpd-stat__value--sm { font-size: 18px; letter-spacing: -.01em; line-height: 1.3; }
#fp_user_page.fpd .fpd-stat__sub { font-size: 13px; color: var(--fpd-text-2); line-height: 1.4; }
#fp_user_page.fpd .fpd-stat__sub strong { color: var(--fpd-text); }
#fp_user_page.fpd .fpd-stat--accent {
	background: linear-gradient(160deg, rgba(242, 107, 58, .16), rgba(242, 107, 58, .03) 60%), var(--fpd-card);
	border-color: rgba(242, 107, 58, .35);
}
#fp_user_page.fpd .fpd-stat--accent .fpd-stat__label { color: var(--fpd-accent-2); }
#fp_user_page.fpd .fpd-actions { display: flex; flex-wrap: wrap; gap: 10px; }


/* Tabella amministratore "test richiesti" */
#fp_user_page.fpd #fp_dotest { margin: 0 0 24px; }
#fp_dotest .fp_table_title { color: inherit; }

/* ------------------------------------------------------------------ VISTA COACH */
#fp_user_page.fpd .fpd-coach {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

#fp_user_page.fpd .fpd-side {
	position: sticky;
	top: 115px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-height: calc(100vh - 250px);
	padding: 16px;
	background: var(--fpd-bg-2);
	border: 1px solid var(--fpd-line);
	border-radius: var(--fpd-radius);
}
#fp_user_page.fpd .fpd-side__head { display: flex; align-items: center; justify-content: space-between; }
#fp_user_page.fpd .fpd-side__title { display: flex; align-items: center; gap: 9px; font-size: 16px; font-weight: 700; color: var(--fpd-text); }
#fp_user_page.fpd .fpd-side__title .fpd-ico { color: var(--fpd-accent); }
#fp_user_page.fpd .fpd-side__close { display: none; width: 36px; height: 36px; }
#fp_user_page.fpd .fpd-side__tools { display: flex; flex-direction: column; gap: 8px; }

#fp_user_page.fpd .fpd-search { position: relative; display: block !important; width: 100%; margin: 0; float: none; }
#fp_user_page.fpd .fpd-search .fpd-ico { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--fpd-text-3); pointer-events: none; }
#fp_user_page.fpd #fp_content input[type="text"]#fp_team_search {
	width: 100% !important; height: 40px; margin: 0 !important; padding: 0 12px 0 38px !important; font-size: 14px; float: none;
}
#fp_user_page.fpd #fp_content select#sort_team {
	display: block !important; width: 100% !important; height: 38px; margin: 0 !important; padding: 0 12px !important; font-size: 13px; float: none; position: static;
}
#fp_user_page.fpd .fpd-side__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; width: 100%; margin: 0; float: none; text-align: left; }
#fp_user_page.fpd .fpd-side__actions .fpd-btn { padding: 8px 10px; font-size: 13px; min-height: 38px; }

#fp_user_page.fpd .fpd-side__list {
	flex: 1 1 auto; min-height: 120px; overflow-y: auto; margin: 0 -8px; padding: 0 8px;
	scrollbar-width: thin; scrollbar-color: var(--fpd-line-2) transparent;
	width: auto; float: none; background: none;
}
#fp_user_page.fpd .fpd-side__list::-webkit-scrollbar { width: 6px; }
#fp_user_page.fpd .fpd-side__list::-webkit-scrollbar-thumb { background: var(--fpd-line-2); border-radius: 6px; }
#fp_user_page.fpd #myteam_load { display: flex; flex-direction: column; gap: 6px; padding-bottom: 6px; }

#fp_user_page.fpd .fpd-ath {
	display: flex; align-items: center; gap: 10px;
	padding: 7px 10px; border-radius: 10px;
	color: var(--fpd-text-2); cursor: pointer;
	transition: background .15s, color .15s;
	position: relative;
}
#fp_user_page.fpd .fpd-ath:hover { background: var(--fpd-card-2); color: var(--fpd-text); }
#fp_user_page.fpd .fpd-ath.is-active { background: var(--fpd-accent-soft); color: var(--fpd-text); box-shadow: inset 0 0 0 1px var(--fpd-accent-ring); }
#fp_user_page.fpd .fpd-ath.is-active::before {
	content: ''; position: absolute; left: -9px; top: 9px; bottom: 9px; width: 3px; border-radius: 3px; background: var(--fpd-accent);
}
#fp_user_page.fpd .fpd-ath__avatar { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; flex: 0 0 30px; background: var(--fpd-card-2); }
#fp_user_page.fpd .fpd-ath__ico { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border-radius: 9px; background: var(--fpd-card-2); color: var(--fpd-text-2); }
#fp_user_page.fpd .fpd-ath__name { flex: 1 1 auto; min-width: 0; font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#fp_user_page.fpd .fpd-ath__go { color: var(--fpd-text-3); opacity: 0; transition: opacity .15s; }
#fp_user_page.fpd .fpd-ath:hover .fpd-ath__go,
#fp_user_page.fpd .fpd-ath.is-active .fpd-ath__go { opacity: 1; }
#fp_user_page.fpd .fpd-side__home { margin-bottom: 4px; }

#fp_user_page.fpd .fpd-team { border-top: 1px solid var(--fpd-line); padding-top: 6px; }
#fp_user_page.fpd .fpd-team__head {
	display: flex; align-items: center; gap: 10px;
	padding: 8px 8px; border-radius: 10px; cursor: pointer; user-select: none;
	color: var(--fpd-text);
}
#fp_user_page.fpd .fpd-team__head:hover { background: var(--fpd-card); }
/* 1.3 - scorrendo un team lungo la sua intestazione resta visibile */
#fp_user_page.fpd .fpd-team:not(.is-collapsed) .fpd-team__head { position: sticky; top: 0; z-index: 2; background: var(--fpd-bg-2); }
#fp_user_page.fpd .fpd-team:not(.is-collapsed) .fpd-team__head:hover { background: var(--fpd-card); }
#fp_user_page.fpd .fpd-team__logo {
	width: 28px; height: 28px; flex: 0 0 28px; border-radius: 8px; overflow: hidden;
	display: grid; place-items: center;
	background: #fff; color: #111; box-shadow: inset 0 0 0 1px var(--fpd-line); font-size: 11px; font-weight: 800; letter-spacing: .02em;
}
#fp_user_page.fpd .fpd-team--none .fpd-team__logo { background: var(--fpd-card-2); color: var(--fpd-text-2); }
#fp_user_page.fpd .fpd-team__logo img { width: 100%; height: 100%; object-fit: contain; }
#fp_user_page.fpd .fpd-team__logo--lg { width: 44px; height: 44px; flex-basis: 44px; border-radius: 11px; font-size: 14px; }
#fp_user_page.fpd .fpd-team__name { flex: 1 1 auto; min-width: 0; font-size: 13px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#fp_user_page.fpd .fpd-team__count {
	min-width: 22px; height: 20px; padding: 0 6px; border-radius: 10px;
	display: inline-grid; place-items: center;
	background: var(--fpd-card-2); color: var(--fpd-text-2); font-size: 11px; font-weight: 700;
}
#fp_user_page.fpd .fpd-team__edit { color: var(--fpd-text-3); display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 7px; opacity: 0; transition: .15s; }
#fp_user_page.fpd .fpd-team__head:hover .fpd-team__edit { opacity: 1; }
#fp_user_page.fpd .fpd-team__edit:hover { color: var(--fpd-accent); background: var(--fpd-card-2); }
#fp_user_page.fpd .fpd-team__chev { color: var(--fpd-text-3); display: inline-grid; transition: transform .2s; }
#fp_user_page.fpd .fpd-team.is-collapsed .fpd-team__chev { transform: rotate(-90deg); }
#fp_user_page.fpd .fpd-team__list { display: flex; flex-direction: column; gap: 2px; padding: 2px 0 6px 6px; }
#fp_user_page.fpd .fpd-team.is-collapsed .fpd-team__list { display: none; }
#fp_user_page.fpd .fpd-searching .fpd-team.is-collapsed .fpd-team__list { display: flex; }
#fp_user_page.fpd .fpd-team__empty,
#fp_user_page.fpd .fpd-side__empty { padding: 6px 10px 8px; font-size: 13px; color: var(--fpd-text-3); }

#fp_user_page.fpd .fpd-side__backdrop { display: none; }
#fp_user_page.fpd .fpd-mobilebar { display: none; }

/* Palco */
#fp_user_page.fpd .fpd-main { min-width: 0; }
#fp_user_page.fpd .fpd-stage,
#fp_user_page.fpd .myteam_single.fpd-stage {
	list-style: none; margin: 0; padding: 0; width: 100%;
	background: transparent; border: 0; box-shadow: none; float: none; display: block;
}
#fp_user_page.fpd .fpd-stage .myteam_athlete_content {
	display: block; width: 100%; margin: 0; padding: 0; min-height: 300px;
	background: transparent; border: 0; float: none; grid-template-columns: none;
	transition: opacity .2s;
}
#fp_user_page.fpd .fpd-stage .myteam_athlete_content.load {
	opacity: .35; pointer-events: none;
	background: transparent var(--fpd-loader) no-repeat 50% 120px / 280px auto !important;
	min-height: 420px;
}
#fp_user_page.fpd .fpd-stage .myteam_athlete_content.load > * { visibility: hidden; }

/* Panoramica */
#fp_user_page.fpd .fpd-overview .fpd-stats { margin-bottom: 22px; }
#fp_user_page.fpd .fpd-teamgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
#fp_user_page.fpd .fpd-teamcard { padding: 16px; display: flex; flex-direction: column; gap: 14px; }
#fp_user_page.fpd .fpd-teamcard__head { display: flex; align-items: center; gap: 12px; }
#fp_user_page.fpd .fpd-teamcard__head > div { flex: 1 1 auto; min-width: 0; }
#fp_user_page.fpd .fpd-teamcard__name { font-size: 16px; font-weight: 700; color: var(--fpd-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#fp_user_page.fpd .fpd-teamcard__meta { font-size: 13px; color: var(--fpd-text-3); }
#fp_user_page.fpd .fpd-teamcard__people { display: flex; flex-wrap: wrap; gap: 6px; }
#fp_user_page.fpd .fpd-chip {
	display: inline-flex; align-items: center; gap: 7px;
	padding: 4px 10px 4px 4px; border-radius: 999px;
	background: var(--fpd-card-2); border: 1px solid var(--fpd-line);
	font-size: 13px; font-weight: 600; color: var(--fpd-text-2); cursor: pointer; transition: .15s;
}
#fp_user_page.fpd .fpd-chip:hover { border-color: var(--fpd-accent-ring); color: var(--fpd-text); }
#fp_user_page.fpd .fpd-chip img { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; }
/* 1.3 - team con molti atleti: nella panoramica si vedono i primi 8, gli altri con "+N altri" */
#fp_user_page.fpd .fpd-teamcard:not(.is-expanded) .fpd-chip--extra { display: none; }
#fp_user_page.fpd .fpd-teamcard.is-expanded .fpd-teamcard__people {
	max-height: 340px; overflow-y: auto; padding-right: 4px;
	scrollbar-width: thin; scrollbar-color: var(--fpd-line-2) transparent;
}
#fp_user_page.fpd .fpd-chip--more {
	align-self: flex-start; margin-top: -6px;
	padding: 4px 14px; font-family: inherit; line-height: 24px;
	background: transparent; border: 1px dashed var(--fpd-line-2); color: var(--fpd-accent);
}
#fp_user_page.fpd .fpd-chip--more:hover { border-color: var(--fpd-accent); background: var(--fpd-accent-soft); }

/* Intestazione atleta */
#fp_user_page.fpd .ath_head.fpd-athhead {
	display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
	width: 100%; height: auto; margin: 0 0 18px !important; padding: 0;
	background: transparent !important; color: var(--fpd-text); text-align: left; text-transform: none; font-size: inherit;
}
#fp_user_page.fpd .fpd-athhead__menu { display: none; }
#fp_user_page.fpd .fpd-athhead__avatar {
	width: 56px; height: 56px; border-radius: 50%; object-fit: cover; cursor: zoom-in;
	border: 2px solid var(--fpd-line-2); background: var(--fpd-card-2);
}
#fp_user_page.fpd .fpd-athhead__id { flex: 1 1 220px; min-width: 0; }
#fp_user_page.fpd .fpd-athhead__name { font-size: 24px; font-weight: 750; letter-spacing: -.02em; line-height: 1.2; color: var(--fpd-text); }
#fp_user_page.fpd .fpd-athhead__meta { font-size: 14px; color: var(--fpd-text-2); margin-top: 2px; }
#fp_user_page.fpd .fpd-athhead__meta i { font-style: normal; color: var(--fpd-text-3); margin: 0 4px; }
#fp_user_page.fpd .fpd-athhead__actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* Intestazioni dei moduli di richiesta test (test_CP / test_RAMP / test_LA) */
#fp_user_page.fpd .ath_head:not(.fpd-athhead) {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 52px;
	padding: 10px 16px 10px 10px !important;
	margin: 0 0 16px !important;
	border-radius: 14px;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	text-transform: none;
}
#fp_user_page.fpd .ath_head:not(.fpd-athhead) #mng_back {
	width: 34px; height: 34px; margin: 0; border-radius: 9px; background-color: rgba(0, 0, 0, .18);
	background-size: 55% auto; background-position: 50%; flex: 0 0 34px; cursor: pointer;
}

/* ------------------------------------------------------------------ VISTA TEST: TOOLBAR */
#fp_user_page.fpd #fp_user_load,
#fp_user_page.fpd #fp_user_test_content { width: 100%; float: none; margin: 0; padding: 0; background: transparent; }
#fp_user_page.fpd #fp_user_load.load { opacity: .4; }

#fp_user_page.fpd .fpd-toolbar {
	display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
	margin: 0 0 16px; position: relative; z-index: 20;
}
#fp_user_page.fpd .fpd-toolbar.is-empty #fpd_picker { display: none; }

/* Selettore test */
#fp_user_page.fpd .fpd-picker { position: relative; flex: 0 1 380px; min-width: 260px; }
#fp_user_page.fpd .fpd-picker.is-empty { display: none; }
#fp_user_page.fpd .fpd-picker__btn {
	display: flex; align-items: center; gap: 10px; width: 100%;
	min-height: 54px; padding: 6px 12px 6px 6px; margin: 0;
	background: var(--fpd-card); border: 1px solid var(--fpd-line-2); border-radius: 14px;
	color: var(--fpd-text); font-family: var(--fpd-font); text-align: left; cursor: pointer;
	transition: border-color .2s, background .2s; box-shadow: none; text-transform: none; letter-spacing: 0;
}
#fp_user_page.fpd .fpd-picker__btn:hover,
#fp_user_page.fpd .fpd-picker.is-open .fpd-picker__btn { border-color: var(--fpd-accent-ring); background: var(--fpd-card-2); }
#fp_user_page.fpd .fpd-picker__current { flex: 1 1 auto; min-width: 0; font-size: 14px; color: var(--fpd-text-2); padding-left: 6px; }
#fp_user_page.fpd .fpd-picker__current .fpd-picker__item { display: flex; align-items: center; gap: 12px; padding-left: 0; }
#fp_user_page.fpd #fpd_picker_current .fpd-picker__item { margin-left: -6px; }
#fp_user_page.fpd .fpd-picker__chev { color: var(--fpd-text-3); display: inline-grid; transition: transform .2s; }
#fp_user_page.fpd .fpd-picker.is-open .fpd-picker__chev { transform: rotate(180deg); }
#fp_user_page.fpd .fpd-picker.is-history .fpd-picker__current { opacity: .55; }

#fp_user_page.fpd .fpd-picker__panel,
#fp_user_page.fpd #left_bar.fpd-picker__panel {
	display: none !important;
	position: absolute; top: calc(100% + 8px); left: 0; z-index: 60;
	width: max(100%, 340px); height: auto !important; max-height: min(460px, 70vh); overflow-y: auto;
	margin: 0 !important; padding: 8px; vertical-align: top;
	background: var(--fpd-card-2); border: 1px solid var(--fpd-line-2); border-radius: 14px;
	box-shadow: var(--fpd-shadow-pop);
	scrollbar-width: thin; scrollbar-color: var(--fpd-line-2) transparent;
}
#fp_user_page.fpd .fpd-picker.is-open #left_bar.fpd-picker__panel { display: block !important; }
#fp_user_page.fpd .fpd-picker__title {
	display: flex; justify-content: space-between;
	padding: 6px 8px 8px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fpd-text-3);
}
#fp_user_page.fpd .fpd-picker__title::after { content: attr(data-count); color: var(--fpd-text-3); }

/* voci dell'elenco test (markup originale di fp_left_bar) */
#fp_user_page.fpd #left_bar .left_bar_historic,
#fp_user_page.fpd #left_bar .fp_notest { display: none !important; }

#fp_user_page.fpd #left_bar .left_bar_item,
#fp_user_page.fpd #left_bar .left_bar_item_process,
#fp_user_page.fpd #left_bar .left_bar_item_draft,
#fp_user_page.fpd .fpd-picker__item {
	display: flex; align-items: center; justify-content: flex-start; gap: 12px;
	height: auto; min-height: 0; margin: 0 0 2px; padding: 6px;
	background: transparent !important; color: var(--fpd-text);
	border-radius: 10px; font-size: 13px; line-height: 1.2; opacity: 1 !important;
	transition: background .15s;
}
#fp_user_page.fpd #left_bar .left_bar_item:hover,
#fp_user_page.fpd #left_bar .left_bar_item_draft:hover { background: var(--fpd-card-3) !important; color: var(--fpd-text); }
#fp_user_page.fpd #left_bar .left_bar_item.active { background: var(--fpd-accent-soft) !important; box-shadow: inset 0 0 0 1px var(--fpd-accent-ring); }
#fp_user_page.fpd #left_bar .left_bar_item.active::after,
#fp_user_page.fpd .fpd-picker__item::after { display: none !important; }
#fp_user_page.fpd #left_bar .left_bar_item_process,
#fp_user_page.fpd #left_bar .left_bar_item_draft { cursor: default; }
#fp_user_page.fpd #left_bar .left_bar_item_draft { cursor: pointer; }
#fp_user_page.fpd #left_bar .left_bar_item_draft.laathl { cursor: default; }

#fp_user_page.fpd #left_bar .test_type,
#fp_user_page.fpd .fpd-picker__item .test_type {
	display: flex !important; flex-direction: column; align-items: center; justify-content: center;
	width: 46px; height: 42px; flex: 0 0 46px; margin: 0; border-radius: 9px;
	color: #fff; font-family: RobotoCond, var(--fpd-font) !important; font-size: 16px !important; font-weight: 800 !important; line-height: 1;
	background-color: var(--fpd-card-3) !important;
}
#fp_user_page.fpd #left_bar .test_type.cp,  #fp_user_page.fpd .fpd-picker__item .test_type.cp { background-color: var(--fpd-cp) !important; }
#fp_user_page.fpd #left_bar .test_type.ramp, #fp_user_page.fpd .fpd-picker__item .test_type.ramp { background-color: var(--fpd-ramp) !important; }
#fp_user_page.fpd #left_bar .test_type.la,  #fp_user_page.fpd .fpd-picker__item .test_type.la { background-color: var(--fpd-la) !important; }
#fp_user_page.fpd #left_bar .left_bar_item_process .test_type,
#fp_user_page.fpd #left_bar .left_bar_item_draft .test_type { filter: saturate(.35) brightness(.8); }
#fp_user_page.fpd #left_bar .test_type .discipline,
#fp_user_page.fpd .fpd-picker__item .test_type .discipline {
	margin: 3px 0 0; font-size: 8.5px; font-weight: 700; letter-spacing: .04em; opacity: .9; align-self: center;
}
#fp_user_page.fpd #left_bar .test_info,
#fp_user_page.fpd .fpd-picker__item .test_info {
	display: flex !important; flex-direction: column; justify-content: center; gap: 2px;
	width: auto; height: auto; flex: 1 1 auto;
	font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--fpd-text-3);
}
#fp_user_page.fpd #left_bar .left_bar_item .test_info { color: var(--fpd-ok); }
#fp_user_page.fpd #left_bar .left_bar_item_process .test_info { color: var(--fpd-warn); }
#fp_user_page.fpd #left_bar .left_bar_item_draft .test_info { color: var(--fpd-text-3); }
#fp_user_page.fpd .fpd-picker__item .test_info { color: var(--fpd-ok); }
#fp_user_page.fpd #left_bar .test_date,
#fp_user_page.fpd .fpd-picker__item .test_date {
	color: var(--fpd-text) !important; font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; margin: 0;
}
#fp_user_page.fpd #left_bar br,
#fp_user_page.fpd .fpd-picker__item br { display: none; }

/* Filtro disciplina (segmented control) */
#fp_user_page.fpd #fp_user_type_choose.fpd-seg {
	display: inline-flex; align-items: center; gap: 4px; width: auto; margin: 0; padding: 4px; float: none;
	background: var(--fpd-card); border: 1px solid var(--fpd-line); border-radius: 13px;
}
#fp_user_page.fpd .fpd-seg .fp_type_choose_button {
	display: inline-flex; align-items: center; gap: 7px;
	width: auto; height: auto; margin: 0; padding: 9px 14px; float: none;
	border: 0; border-radius: 9px; background: transparent; color: var(--fpd-text-2);
	font-family: var(--fpd-font); font-size: 13px; font-weight: 600; text-transform: none; letter-spacing: 0; line-height: 1.2;
	cursor: pointer; white-space: nowrap; transition: .15s;
}
#fp_user_page.fpd .fpd-seg .fp_type_choose_button:hover { color: var(--fpd-text); background: var(--fpd-card-2); }
#fp_user_page.fpd .fpd-seg .fp_type_choose_button.active { background: var(--fpd-accent); color: #fff; }

/* Contenitore del test */
#fp_user_page.fpd #historic_tests_content.fpd-card,
#fp_user_page.fpd #fp_coach_test_content #historic_tests_content {
	display: block; width: 100%; margin: 0 0 24px; padding: 18px !important;
	background: var(--fpd-card); border: 1px solid var(--fpd-line); border-radius: var(--fpd-radius);
}
#fp_user_page.fpd #single_test_content { display: block !important; width: 100%; }
#fp_user_page.fpd #single_test_content > br { display: none; }
#fp_user_page.fpd .fp_notest {padding: 20px 16px 40px;text-align: center;color: #FF9800;border-radius: 8px;background-color: #000000;font-size: 15px;}
.fpd-body-light #fp_user_page.fpd .fp_notest {padding: 20px 16px 40px;border-radius: 8px;text-align: center;color: #000000;background-color: #f3f3f3;font-size: 15px;}
#fp_user_page.fpd .loadtest { background-color: transparent !important; background-image: var(--fpd-loader) !important; }

/* Pulsanti azione del test */
#fp_user_page.fpd #fp_test_acts {
	display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; width: 100%; margin: 0 0 14px;
}
#fp_user_page.fpd #fp_test_acts.export { display: none; }
/* PDF dello storico: html2canvas cattura tutto #fp_test_chart, che contiene anche la barra
   schede (fpd_test_tabs 'history') e i pulsanti. "Invia PDF all'atleta" (sendHistoricPdf)
   non aggiunge .export a #fp_test_acts: li nascondo dal contenitore, validi per entrambi i flussi. */
#fp_test_chart.export #data_nav,
#fp_test_chart.export .fpd-tabs,
#fp_test_chart.export #fp_test_acts { display: none !important; }
#fp_user_page.fpd #fp_share_test,
#fp_user_page.fpd #fp_raw_data,
#fp_user_page.fpd #fp_send_test_pdf,
#fp_user_page.fpd #fp_dwn_pdf {
	flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px;
	height: 38px; padding: 0 14px !important;
	background: var(--fpd-card-2) !important; background-image: none !important;
	border: 1px solid var(--fpd-line-2); border-radius: 10px;
	color: var(--fpd-text-2); font-family: var(--fpd-font); font-size: 13px; font-weight: 600; text-transform: none; letter-spacing: 0;
	transition: .2s;
}
#fp_user_page.fpd #fp_share_test:hover,
#fp_user_page.fpd #fp_raw_data:hover,
#fp_user_page.fpd #fp_send_test_pdf:hover,
#fp_user_page.fpd #fp_dwn_pdf:hover { color: var(--fpd-strong); border-color: var(--fpd-accent-ring); background: var(--fpd-card-3) !important; }
#fp_user_page.fpd #fp_dwn_pdf { color: #fff; background: var(--fpd-accent) !important; border-color: var(--fpd-accent); }
#fp_user_page.fpd #fp_dwn_pdf:hover { background: var(--fpd-accent-2) !important; border-color: var(--fpd-accent-2); }
#fp_user_page.fpd #fp_share_test.off { display: none !important; }

/* Schede delle sezioni */
#fp_user_page.fpd #data_nav.fpd-tabs {
	display: flex; flex-wrap: nowrap; gap: 4px;
	margin: 0 0 20px; padding: 5px;
	background: var(--fpd-bg-2); border: 1px solid var(--fpd-line); border-radius: 14px;
	overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
#fp_user_page.fpd #data_nav.fpd-tabs::-webkit-scrollbar { display: none; }
#fp_user_page.fpd #data_nav .data_tab {
	flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px;
	margin: 0; padding: 9px 13px;
	background: transparent; border-radius: 10px;
	color: var(--fpd-text-2); font-family: var(--fpd-font) !important; font-size: 13.5px; font-weight: 600; letter-spacing: 0; line-height: 1.2;
	white-space: nowrap; cursor: pointer; transition: background .15s, color .15s, box-shadow .15s;
}
#fp_user_page.fpd #data_nav .data_tab .fpd-ico { opacity: .85; }
#fp_user_page.fpd #data_nav .data_tab:hover { background: var(--fpd-card-2); color: var(--fpd-text); }
#fp_user_page.fpd #data_nav .data_tab.active,
#fp_user_page.fpd #data_nav .data_tab.active:hover {
	background: var(--fpd-tab-active-bg); color: var(--fpd-tab-active-fg);
	box-shadow: inset 0 0 0 1.5px var(--fpd-tab-active-ring);
}
#fp_user_page.fpd #data_nav .fpd-tab--history { margin-left: auto; position: relative; }
#fp_user_page.fpd #data_nav .fpd-tab--history::before {
	content: ''; position: absolute; left: -3px; top: 8px; bottom: 8px; width: 1px; background: var(--fpd-line-2);
}
#fp_user_page.fpd #data_nav.fpd-tabs--old .fpd-tab--history { margin-left: 0; }
#fp_user_page.fpd #data_nav.fpd-tabs--old .fpd-tab--history::before { display: none; }
/* la classe generica .active di fp_pdf.css imposta position:relative/left:0 */
#fp_user_page.fpd #data_nav .data_tab.active { position: relative !important; left: 0 !important; }

/* ------------------------------------------------------------------ CONTENUTO DEL TEST (solo a video) */
#fp_user_page.fpd #toPDF:not(.export):not(.export2) {
	background-color: transparent !important;
	color: var(--fpd-text-2);
	min-height: 40vh;
}
/* In esportazione il contenuto eredita di nuovo i valori del tema (letti da fp_dark.js
   sul contenitore della pagina), come prima dell'introduzione dell'interfaccia scura. */
#fp_user_page.fpd #toPDF.export,
#fp_user_page.fpd #toPDF.export2,
#fp_user_page.fpd #fp_test_chart.export {
	color: var(--fpd-inherit-color, #000);
	font-size: var(--fpd-inherit-fs, 16px);
	line-height: var(--fpd-inherit-lh, normal);
	font-family: var(--fpd-inherit-ff, inherit);
	-webkit-font-smoothing: auto;
}

#fp_user_page.fpd #toPDF:not(.export):not(.export2) .pdf_block_title,
#fp_user_page.fpd #fp_test_chart:not(.export) .pdf_block_title {
	display: flex; align-items: center; gap: 10px;
	width: 100%; margin: 4px 0 18px; padding: 0 0 12px;
	background: transparent !important; border-bottom: 1px solid var(--fpd-line);
	color: var(--fpd-text); font-size: 18px; font-weight: 700 !important; letter-spacing: -.01em; text-align: left; text-transform: none;
}
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .pdf_block_title::before,
#fp_user_page.fpd #fp_test_chart:not(.export) .pdf_block_title::before {
	content: ''; width: 4px; height: 18px; border-radius: 4px; background: var(--fpd-accent); flex: 0 0 4px;
}
#fp_user_page.fpd #fp_test_chart:not(.export) .chart_title_disc { color: var(--fpd-accent-2); margin-left: 4px; }

#fp_user_page.fpd #toPDF:not(.export):not(.export2) .pdf_table_title {
	border-top: 0; color: var(--fpd-accent-2); text-align: left; padding: 0; margin: 28px 0 12px; font-size: 13px; letter-spacing: .08em;
}

#fp_user_page.fpd #toPDF:not(.export):not(.export2) .data_table,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) table {
	background: transparent !important; border-collapse: collapse;
}
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .data_table tr { border-bottom: 1px solid var(--fpd-row-line) !important; }
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .data_table tr:last-child { border-bottom: 0 !important; }
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .data_table tr:hover td { background-color: var(--fpd-hover); }
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .data_table td,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) table td,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) table th {
	color: var(--fpd-text); padding: 7px 6px !important; line-height: 1.35; border-color: var(--fpd-line) !important;
	font-variant-numeric: tabular-nums;
}
#fp_user_page.fpd #toPDF:not(.export):not(.export2) #athlete_profile .data_table td:last-child,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) #body_comp .data_table td:last-child { color: var(--fpd-text-3); }
#fp_user_page.fpd #toPDF:not(.export):not(.export2) table { border-color: var(--fpd-line) !important; }
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .data_table .label,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .data_table td.label { color: var(--fpd-text-2); font-weight: 600; }
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .data_table .grey,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .data_table .grey td { color: var(--fpd-text-3) !important; }
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .bg_gray,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .data_table .bg_gray { background-color: var(--fpd-card-2) !important; }
#fp_user_page.fpd #toPDF:not(.export):not(.export2) td[data="d_disc"] { color: var(--fpd-accent-2); }

/* testi liberi, info e riquadri del report */
#fp_user_page.fpd #toPDF:not(.export):not(.export2) h1,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) h2,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) h4,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) strong,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) b { color: var(--fpd-text); }
#fp_user_page.fpd #toPDF:not(.export):not(.export2) p { color: var(--fpd-text-2); }
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .chart3_title,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) [class*="chart_title"],
#fp_user_page.fpd #toPDF:not(.export):not(.export2) [class$="_title"]:not(.pdf_block_title):not(.pdf_table_title) {
	color: var(--fpd-text-2);
}
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .total_score { color: var(--fpd-accent-2); }
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .total_score span,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .total_score strong { color: var(--fpd-text); }

/* immagini "livello" e "salto" (PNG con fondo bianco): fondo nero via inversione + screen */
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) img[src*="level_man"],
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) img[src*="level_woman"],
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) img[src*="jump_man"],
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) img[src*="jump_woman"] {
	filter: invert(1) hue-rotate(180deg) saturate(1.3);
	mix-blend-mode: screen;
}

/* maschere a griglia dei grafici 3 e 7 (PNG chiari): griglia scura equivalente */
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) #chart3_mask_L,
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) #chart3_mask_R,
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) #chart7_mask_R {
	background-color: var(--fpd-card) !important;
	background-image:
		linear-gradient(to right, var(--fpd-line) 1px, transparent 1px),
		linear-gradient(to bottom, var(--fpd-line) 1px, transparent 1px) !important;
	background-size: 22px 100%, 100% 33px !important;
	border-color: var(--fpd-card) !important;
}

/* grafici Google: tooltip HTML leggibili */
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .google-visualization-tooltip {
	background: var(--fpd-card-3) !important; border: 1px solid var(--fpd-line-2) !important; border-radius: 10px !important;
	box-shadow: var(--fpd-shadow) !important; color: var(--fpd-text) !important;
}
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .google-visualization-tooltip * { color: var(--fpd-text) !important; }
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .nodata { color: var(--fpd-text-2); background: var(--fpd-overlay); border-radius: 12px; }
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .nodata_msg { color: var(--fpd-text-3); }

/* calcolatore allenamento */
#fp_user_page.fpd #toPDF:not(.export):not(.export2) #fp_powercalc_block input,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) #fp_powercalc_block select {
	background: var(--fpd-bg-2) !important; color: var(--fpd-text) !important; border: 1px solid var(--fpd-line-2) !important;
}
#fp_user_page.fpd #toPDF:not(.export):not(.export2) #power_calculate {
	background: var(--fpd-accent) !important; color: #fff !important; border-radius: 10px; border: 0;
}
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .info_suggest { color: var(--fpd-text-3); }
#fp_user_page.fpd #toPDF:not(.export):not(.export2) hr { border: 0; border-top: 1px solid var(--fpd-line); background: none; }

/* test vecchio formato (visualizzatore PDF) */
#fp_user_page.fpd #toPDF:not(.export):not(.export2) #oldcontent .mytest_show_content { background: var(--fpd-bg-2) !important; border-radius: 12px; }

/* ------------------------------------------------------------------ STORICO (grafici Apex) */
#fp_user_page.fpd #fp_test_chart:not(.export) { width: 100%; background: transparent; color: var(--fpd-text-2); }
#fp_user_page.fpd #fp_test_chart:not(.export) #firsthperformance-chart-range {
	display: flex; gap: 12px; flex-wrap: wrap; align-items: center; justify-content: flex-start; margin: 0 0 16px;
	color: var(--fpd-text-3); font-size: 13px; font-weight: 600;
}
#fp_user_page.fpd #fp_test_chart:not(.export) #firsthperformance-chart-range span { margin: 0; display: inline-flex; align-items: center; }
#fp_user_page.fpd #fp_test_chart:not(.export) #firsthperformance-chart-range select { height: 36px; padding: 0 10px; }
#fp_user_page.fpd #fp_test_chart:not(.export) .apex_chart_content {
	background: var(--fpd-bg-2); border: 1px solid var(--fpd-line); border-radius: 14px; padding: 10px 6px; margin: 0 0 22px;
}
#fp_user_page.fpd #fp_test_chart:not(.export) #firsthperformance-chart,
#fp_user_page.fpd #fp_test_chart:not(.export) #firsthperformance-bodyindex { background: transparent !important; border: 0; }
#fp_user_page.fpd #fp_test_chart:not(.export) .apexcharts-menu { background: var(--fpd-card-3); border-color: var(--fpd-line-2); color: var(--fpd-text); }
#fp_user_page.fpd #fp_test_chart:not(.export) .apexcharts-menu-item:hover { background: var(--fpd-card-2); }
#fp_user_page.fpd #fp_test_chart:not(.export) .apexcharts-toolbar svg { fill: var(--fpd-text-3); }
#fp_user_page.fpd #fp_test_acts.histo #fp_share_test { color: var(--fpd-text); }

/* ------------------------------------------------------------------ MODULI DI COMPILAZIONE TEST */
#fp_user_page.fpd #fp_test_content {
	background: var(--fpd-card); border: 1px solid var(--fpd-line); border-radius: var(--fpd-radius);
	color: var(--fpd-text-2); padding: 22px;
	margin-top:10px
}
#fp_user_page.fpd #fp_test_content .fp_test_title {color: #ffffff;font-weight: 750;}
#fp_user_page.fpd #fp_test_content .discipline_title {color: #000000;}
#fp_user_page.fpd #fp_test_content .discipline_title span { color: var(--fpd-text-3); }
#fp_user_page.fpd #fp_test_content .fp_test_cost,
#fp_user_page.fpd #fp_test_content .fp_test_info {
	background: var(--fpd-bg-2) !important;
	border: 1px solid var(--fpd-line) !important;
	border-radius: 12px;
	color: var(--fpd-text-2);
	line-height: 2;
	padding: 4px 8px;
}
#fp_user_page.fpd #fp_test_content .fp_test_cost strong,
#fp_user_page.fpd #fp_test_content .fp_test_info strong { color: var(--fpd-text); }
#fp_user_page.fpd #fp_test_content label,
#fp_user_page.fpd #fp_test_content .label,
#fp_user_page.fpd #fp_test_content td,
#fp_user_page.fpd #fp_test_content th { color: var(--fpd-text-2); border-color: var(--fpd-line) !important; }
#fp_user_page.fpd #fp_test_content table { background: transparent !important; }
#fp_user_page.fpd #fp_test_content th,
#fp_user_page.fpd #fp_test_content thead td { background: var(--fpd-card-2) !important; color: var(--fpd-text) !important; }
#fp_user_page.fpd #fp_test_content tr:nth-child(even) td { background: var(--fpd-hover); }
#fp_user_page.fpd #fp_test_content h1,
#fp_user_page.fpd #fp_test_content h2,
#fp_user_page.fpd #fp_test_content h3,
#fp_user_page.fpd #fp_test_content h4,
#fp_user_page.fpd #fp_test_content strong { color: var(--fpd-text); }
#fp_user_page.fpd #fp_test_content hr { border: 0; border-top: 1px solid var(--fpd-line); background: none; }
/* 1.2 - testi di spiegazione dei test leggibili nel tema scuro (il tema del sito li colora di scuro) */
#fp_user_page.fpd:not(.fpd-light) #fp_test_content p:not([style*="color"]) { color: #ffffff; }
/* 1.2 - barra di scorrimento orizzontale delle tabelle Step/Sprint (overflow-x in fp.css) scura */
#fp_user_page.fpd:not(.fpd-light) #fp_test_content .fp_step_test table,
#fp_user_page.fpd:not(.fpd-light) #fp_test_content .fp_sprint_test table { scrollbar-width: thin; scrollbar-color: var(--fpd-line-2) transparent; }
#fp_user_page.fpd:not(.fpd-light) #fp_test_content .fp_step_test table::-webkit-scrollbar,
#fp_user_page.fpd:not(.fpd-light) #fp_test_content .fp_sprint_test table::-webkit-scrollbar { height: 8px; background: transparent; }
#fp_user_page.fpd:not(.fpd-light) #fp_test_content .fp_step_test table::-webkit-scrollbar-thumb,
#fp_user_page.fpd:not(.fpd-light) #fp_test_content .fp_sprint_test table::-webkit-scrollbar-thumb { background: var(--fpd-line-2); border-radius: 8px; }
#fp_user_page.fpd #fp_content #fp_test_content input[type="number"],
#fp_user_page.fpd #fp_content #fp_test_content input[type="text"],
#fp_user_page.fpd #fp_content #fp_test_content input[type="date"],
#fp_user_page.fpd #fp_content #fp_test_content select,
#fp_user_page.fpd #fp_content #fp_test_content textarea {
	background-color: var(--fpd-bg-2) !important; border: 1px solid var(--fpd-line-2) !important; color: var(--fpd-text) !important; border-radius: 8px;
}
#fp_user_page.fpd #fp_content #fp_test_content input[readonly],
#fp_user_page.fpd #fp_content #fp_test_content input:disabled { background-color: var(--fpd-card-2) !important; color: var(--fpd-text-2) !important; }
#fp_user_page.fpd #fp_test_content .istruct,
#fp_user_page.fpd .istruct { border-radius: 10px; }
#fp_user_page.fpd #fp_test_content .file-drop-area { background: var(--fpd-bg-2); border-color: var(--fpd-line-2); color: var(--fpd-text-2); border-radius: 12px; }
#fp_user_page.fpd .fp_radio { color: var(--fpd-text-2); }

/* ------------------------------------------------------------------ SWEETALERT (popup)
   Tutte le Swal seguono il tema (chiaro/scuro) tramite i token --fpd-* definiti sul
   .swal2-container. Anche i popup di attesa (.swaldownload) e di esportazione PDF
   (.pdfexport) ora sono scuri: fp_dark.js sostituisce fp_loader.gif con loading_inv.gif. */
body.fpd-body .swal2-popup {
	background: var(--fpd-card) !important; color: var(--fpd-text) !important;
	border: 1px solid var(--fpd-line-2); border-radius: 18px !important;
	box-shadow: var(--fpd-shadow-pop);
	font-family: var(--fpd-font);
}
body.fpd-body .swalistruct.swal2-popup {
	background: white !important; 
}

body.fpd-body .swal2-popup .swal2-title,
body.fpd-body .swal2-popup .swal2-html-container,
body.fpd-body .swal2-popup .swal2-content,
body.fpd-body .swal2-popup .swal_title,
body.fpd-body .swal2-popup label { color: var(--fpd-text) !important; }
body.fpd-body .swal2-popup .swal2-footer { border-top-color: var(--fpd-line) !important; color: var(--fpd-text-2) !important; }
body.fpd-body .swal2-popup .swal2-close { color: var(--fpd-text-3); }
body.fpd-body .swal2-popup .swal2-close:hover { color: var(--fpd-accent); }

/* campi */
body.fpd-body .swal2-popup input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),
body.fpd-body .swal2-popup select,
body.fpd-body .swal2-popup textarea {
	background: var(--fpd-bg-2) !important; color: var(--fpd-text) !important; border: 1px solid var(--fpd-line-2) !important; border-radius: 10px !important; color-scheme: var(--fpd-scheme);
}
body.fpd-body .swal2-popup input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):focus,
body.fpd-body .swal2-popup select:focus,
body.fpd-body .swal2-popup textarea:focus { border-color: var(--fpd-accent) !important; box-shadow: 0 0 0 3px var(--fpd-accent-soft) !important; outline: none; }
body.fpd-body .swal2-popup input::placeholder,
body.fpd-body .swal2-popup textarea::placeholder { color: var(--fpd-text-3) !important; }
body.fpd-body .swal2-popup input[type="radio"],
body.fpd-body .swal2-popup input[type="checkbox"] { accent-color: var(--fpd-accent); color-scheme: var(--fpd-scheme); }
body.fpd-body .swal2-popup .swal2-validation-message { background: var(--fpd-card-2) !important; color: var(--fpd-text-2) !important; }
body.fpd-body .swal2-popup .swal2-validation-message::before { background-color: var(--fpd-danger); color: #fff; }

/* pulsanti */
body.fpd-body .swal2-popup .swal2-confirm { background-color: var(--fpd-accent) !important; border-radius: 10px !important; }
body.fpd-body .swal2-popup .swal2-cancel { background-color: var(--fpd-card-3) !important; color: var(--fpd-text) !important; border-radius: 10px !important; }
body.fpd-body .swal2-popup .swal2-deny { border-radius: 10px !important; }
body.fpd-body .swal2-popup.swalistruct .swal2-confirm { background-color: var(--fpd-card-3) !important; color: var(--fpd-text) !important; }
body.fpd-body .swal2-modal button:focus,
body.fpd-body .swal2-modal button.swal2-styled:focus { box-shadow: none !important; outline: none !important; }body.fpd-body .swal2-popup .swal2_big_butt {
	background: var(--fpd-card-2) !important; color: var(--fpd-text) !important; border: 1px solid var(--fpd-line-2) !important; border-radius: 12px !important;
}
body.fpd-body .swal2-popup .swal2_big_butt:hover { background: var(--fpd-accent) !important; border-color: var(--fpd-accent) !important; color: #fff !important; }
body.fpd-body .swal2-popup.swal_big h2 { color: var(--fpd-accent) !important; }
body.fpd-body .swal2-popup .swal2_big_butt:focus { box-shadow: none !important; }
/* icone Swal: le "maschere" dell'animazione successo sono bianche nel CSS di SweetAlert */
body.fpd-body .swal2-popup .swal2-icon.swal2-success [class^="swal2-success-circular-line"],
body.fpd-body .swal2-popup .swal2-icon.swal2-success .swal2-success-fix { background-color: var(--fpd-card) !important; }
body.fpd-body .swal2-popup .swal2-icon.swal2-question { border-color: var(--fpd-line-2); color: var(--fpd-text-2); }
body.fpd-body .swal2-popup .swal2-timer-progress-bar { background: var(--fpd-accent-ring); }

/* contenuti propri del plugin dentro le Swal (fp.css) */
body.fpd-body .swal2-popup .swal_social_block { background-color: var(--fpd-card-2) !important; border: 1px solid var(--fpd-line); }
body.fpd-body .swal2-popup .radio_content { background-color: var(--fpd-bg-2) !important; border-color: var(--fpd-line-2) !important; border-radius: 10px; }
body.fpd-body .swal2-popup .group_erase { border-color: var(--fpd-line-2) !important; }
body.fpd-body .swal2-popup .group_erase_btn:hover { background-color: var(--fpd-card-3) !important; }
body.fpd-body .swal2-popup .myteam_img,
body.fpd-body .swal2-popup img.group_avatar { border-color: var(--fpd-line-2) !important; }
body.fpd-body .swal2-popup.edit_athlete .athlete_img img { border-color: var(--fpd-line-2) !important; }
body.fpd-body .swal2-popup subtitle { border-top-color: var(--fpd-line-2) !important; color: var(--fpd-text-3) !important; }
body.fpd-body .swal2-popup .file-drop-area {
	background: var(--fpd-bg-2) !important; border: 1px dashed var(--fpd-line-2) !important; border-radius: 10px !important; color: var(--fpd-text-2);
}
body.fpd-body .swal2-popup .file-drop-area:hover,
body.fpd-body .swal2-popup .file-drop-area.is-active { background: var(--fpd-accent-soft) !important; border-color: var(--fpd-accent) !important; color: var(--fpd-text) !important; }
body.fpd-body .swal2-popup .fake-btn { color: var(--fpd-text) !important; }
body.fpd-body .swal2-popup table td,
body.fpd-body .swal2-popup table th { color: var(--fpd-text-2); border-color: var(--fpd-line) !important; }
body.fpd-body .swal2-popup.swalistruct.rawdata .swal2-html-container tr:nth-child(even) { background-color: var(--fpd-card-2) !important; }
body.fpd-body .swal2-popup.swalistruct .swal2-html-container { scrollbar-color: var(--fpd-line-2) transparent; }
body.fpd-body .swal2-popup.swalistruct  h2.swal2-title{ color:black !important;}


/* popup immagine / social card (.swalpopup ha fondo bianco forzato in fp.css) */
body.fpd-body .swal2-popup.swalpopup { background-color: var(--fpd-card) !important; }

/* popup di attesa e di esportazione PDF (fp_pdf.css forza fondo bianco su popup e immagine) */
body.fpd-body .swal2-popup.swaldownload .swal2-image,
body.fpd-body .swal2-container:has(.pdfexport) .swal2-image { background: transparent !important; }
body.fpd-body .swal2-container:has(.pdfexport) .swal2-popup { background: var(--fpd-card) !important; }
body.fpd-body .swal2-container:has(.pdfexport) #swal_msg { color: var(--fpd-text-2); }
/* fondo pieno che copre la pagina durante l'esportazione (bianco in fp_pdf.css): nero nel tema scuro */
body.fpd-body:not(.fpd-body-light) .swal2-container:has(.pdfexport) { background: var(--fpd-bg) !important; }

/* sfondo dietro i popup */
body.fpd-body .swal2-container.swal2-backdrop-show:not(:has(.pdfexport)) { background: var(--fpd-backdrop) !important; backdrop-filter: blur(3px); }

/* ------------------------------------------------------------------ MODALE CARICAMENTO AVATAR / IMMAGINI (Bootstrap, imgSelect.js) */
body.fpd-body .my_imgselect .modal-content {
	background: var(--fpd-card); color: var(--fpd-text);
	border: 1px solid var(--fpd-line-2); border-radius: 18px; box-shadow: var(--fpd-shadow-pop);
	font-family: var(--fpd-font);
}
body.fpd-body .my_imgselect .modal-header,
body.fpd-body .my_imgselect .modal-footer { border-color: var(--fpd-line); }
body.fpd-body .my_imgselect .modal-title { color: var(--fpd-text); }
body.fpd-body .my_imgselect .modal-body { color: var(--fpd-text-2); }
body.fpd-body .my_imgselect .close { color: var(--fpd-text); text-shadow: none; opacity: .6; }
body.fpd-body .my_imgselect .close:hover { opacity: 1; color: var(--fpd-accent); }
body.fpd-body .my_imgselect .btn-default { background: var(--fpd-card-3); color: var(--fpd-text); border-color: var(--fpd-line-2); }
body.fpd-body .my_imgselect .btn-default:hover { background: var(--fpd-card-2); color: var(--fpd-strong); border-color: var(--fpd-accent-ring); }
body.fpd-body:not(.fpd-body-light) .my_imgselect .btn-primary { background: var(--fpd-accent); border-color: var(--fpd-accent); color: #fff; }
body.fpd-body:not(.fpd-body-light) .my_imgselect .btn-primary:hover { background: var(--fpd-accent-2); border-color: var(--fpd-accent-2); }
body.fpd-body .my_imgselect .swal2-icon.swal2-question { border-color: var(--fpd-line-2); color: var(--fpd-text-2); }
/* logo FIRST H+ (PNG scuro) reso chiaro su fondo nero */
body.fpd-body:not(.fpd-body-light) .my_imgselect .modal-header .fullwidth::before { filter: invert(1) brightness(.92); }
body.fpd-body:not(.fpd-body-light) .modal-backdrop.show { background-color: #000; opacity: .75; }


/* ------------------------------------------------------------------ LOADER (gif chiara/scura)
   fp.css e fp_pdf.css usano fp_loader.gif (logo nero) con fondi bianchi/grigi forzati
   (!important): in tema scuro uso loading_inv.gif (logo chiaro) su fondo trasparente.
   La variabile --fpd-loader vale fp_loader.gif nel tema chiaro. */
#fp_user_page.fpd:not(.fpd-light) #fp_user_load.load,
#fp_user_page.fpd:not(.fpd-light) #athlete_test_content.load,
#fp_user_page.fpd:not(.fpd-light) #fp_content.load,
#fp_user_page.fpd:not(.fpd-light) .myteam_athlete_content.load,
#fp_user_page.fpd:not(.fpd-light) #reload,
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) #oldcontent {
	background-color: transparent !important;
	background-image: var(--fpd-loader) !important;
}
#fp_user_page.fpd:not(.fpd-light) #reload { background-color: var(--fpd-overlay) !important; }
#fp_user_page.fpd:not(.fpd-light) #fp_content.load { border-color: var(--fpd-line) !important; }
#fp_user_page.fpd #products-loader { background: var(--fpd-card) !important; color: var(--fpd-text-2); }

/* Campi file nei moduli test (fp.css: fondo grigio chiaro e bordo blu) */
#fp_user_page.fpd #fp_test_content .file-drop-area { border: 1px dashed var(--fpd-line-2) !important; }
#fp_user_page.fpd #fp_test_content .file-drop-area:hover,
#fp_user_page.fpd #fp_test_content .file-drop-area.is-active { background: var(--fpd-accent-soft) !important; border-color: var(--fpd-accent) !important; color: var(--fpd-text) !important; }

/* ------------------------------------------------------------------ RESPONSIVE */
@media (max-width: 1180px) {
	#fp_user_page.fpd .fpd-coach { grid-template-columns: 260px minmax(0, 1fr); gap: 18px; }
	#fp_user_page.fpd .fpd-athhead__actions .fpd-btn span { display: none; }
	#fp_user_page.fpd .fpd-athhead__actions .fpd-btn { padding: 9px 11px; }
	#fp_user_page.fpd .fpd-athhead__actions .fpd-btn::after { font-size: 12px; font-weight: 800; letter-spacing: .02em; }
	#fp_user_page.fpd .fpd-athhead__actions .fpd-btn--cp::after { content: 'CP'; }
	#fp_user_page.fpd .fpd-athhead__actions .fpd-btn--ramp::after { content: 'RAMP'; }
	#fp_user_page.fpd .fpd-athhead__actions .fpd-btn--la::after { content: 'LA'; }
}

@media (max-width: 1023px) {
	#fp_user_page.fpd .fpd-coach { grid-template-columns: minmax(0, 1fr); }
	#fp_user_page.fpd .fpd-side {
		position: fixed; top: 0; left: 0; bottom: 0; z-index: 100000;
		width: min(88vw, 340px); max-height: none; border-radius: 0 18px 18px 0;
		transform: translateX(-105%); transition: transform .25s ease;
		box-shadow: 0 0 60px rgba(0, 0, 0, .8), 1px 0 0 var(--fpd-line);
	}
	#fp_user_page.fpd .fpd-coach.is-side-open .fpd-side { transform: none; }
	#fp_user_page.fpd .fpd-side__close { display: inline-grid; }
	#fp_user_page.fpd .fpd-coach.is-side-open .fpd-side__backdrop {
		display: block; position: fixed; inset: 0; z-index: 99999; background: rgba(0, 0, 0, .7); backdrop-filter: blur(2px);
	}
	#fp_user_page.fpd .fpd-mobilebar { display: flex; margin: 0 0 16px; }
	#fp_user_page.fpd .fpd-mobilebar .fpd-btn { width: 100%; justify-content: flex-start; }
	#fp_user_page.fpd .fpd-mobilebar .fpd-btn .fpd-mobilebar__go { margin-left: auto; color: var(--fpd-text-3); }

	#fp_user_page.fpd #display_user_info.fpd-dash { grid-template-columns: minmax(0, 1fr); }
	#fp_user_page.fpd .fpd-profile { position: static; flex-direction: row; text-align: left; gap: 16px; padding: 18px; }
	#fp_user_page.fpd .fpd-profile #avatar_block,
	#fp_user_page.fpd .fpd-profile .avatar_capture,
	#fp_user_page.fpd .fpd-profile .avatar_remove { margin: 0; transform: scale(.7); transform-origin: left center; width: 110px; }
}

@media (max-width: 720px) {
	#fp_user_page.fpd { padding: 18px 16px 48px; font-size: 14px; }
	#fp_user_page.fpd .fpd-head { margin-bottom: 18px; }
	#fp_user_page.fpd .fpd-head__title { font-size: 21px; }
	#fp_user_page.fpd #fp_user_menu.fpd-nav { width: 100%; justify-content: space-between; }
	#fp_user_page.fpd .fpd-nav .fp_user_page_butt { flex: 1 1 0; justify-content: center; flex-direction: column; gap: 4px; padding: 9px 6px; font-size: 11.5px; }
	#fp_user_page.fpd .fpd-nav .fpd-nav__logout { margin-left: 0; }
	#fp_user_page.fpd .fpd-stat__value { font-size: 28px; }
	#fp_user_page.fpd .fpd-picker { flex: 1 1 100%; min-width: 0; }
	#fp_user_page.fpd .fpd-seg { width: 100%; }
	#fp_user_page.fpd .fpd-seg .fp_type_choose_button { flex: 1 1 0; justify-content: center; padding: 9px 6px; }
	#fp_user_page.fpd #historic_tests_content.fpd-card { padding: 12px !important; }
	#fp_user_page.fpd #fp_test_acts { justify-content: stretch; }
	#fp_user_page.fpd #fp_share_test,
	#fp_user_page.fpd #fp_raw_data,
	#fp_user_page.fpd #fp_send_test_pdf,
	#fp_user_page.fpd #fp_dwn_pdf { flex: 1 1 0; justify-content: center; padding: 0 8px !important; font-size: 12px; }
	#fp_user_page.fpd .fpd-athhead__name { font-size: 20px; }
	#fp_user_page.fpd .fpd-athhead__actions { width: 100%; }
	#fp_user_page.fpd .fpd-pagehead__actions { width: 100%; }
	#fp_user_page.fpd .fpd-pagehead__actions .fpd-btn { flex: 1 1 0; }
	#fp_user_page.fpd .fpd-teamgrid { grid-template-columns: minmax(0, 1fr); }
	
}

@media (prefers-reduced-motion: reduce) {
	#fp_user_page.fpd *,
	#fp_user_page.fpd *::before,
	#fp_user_page.fpd *::after { transition: none !important; animation-duration: .01ms !important; }
}


/* Pulsanti "nuovo test" dell'atleta (fp.css li posiziona con float e margini negativi) */
#fp_user_page.fpd #test_request_button,
#fp_user_page.fpd.is_athlete #test_request_button {
	display: flex; width: auto; float: none; margin: 0; padding: 0; text-align: left; position: static;
}
#fp_user_page.fpd #test_request_button .athlete_block_butt { display: inline-flex !important; flex-direction: row; }
#fp_user_page.fpd .athlete_block_butt.fpd-btn.cp:hover,
#fp_user_page.fpd .athlete_block_butt.fpd-btn.ramp:hover { background: var(--fpd-card-3); color: var(--fpd-strong); }

/* Titoli sovrapposti ai grafici (in fp_pdf.css hanno uno sfondo bianco che maschera il grafico) */
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .chart1_title,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .chart2_title,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .chart3_title,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .chart4_title,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .chart5_title,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .chart6_title {
	background: var(--fpd-card) !important;
	border-bottom-color: var(--fpd-line) !important;
	color: var(--fpd-text) !important;
	font-size: 14px;
	line-height: 37px;
}
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .chart3_title { line-height: 27px; }

/* Celle colorate delle tabelle (zone, priorita', lattato...): tinte trasparenti leggibili su fondo scuro */
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) .bg_grey     { background-color: rgba(255, 255, 255, .05) !important; }
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) .bg_grey2    { background-color: rgba(255, 255, 255, .09) !important; }
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) .bg_white    { background-color: transparent !important; }
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) .bg_green    { background-color: rgba(198, 250, 137, .16) !important; }
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) .bg_viol     { background-color: rgba(194, 228, 245, .14) !important; }
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) .bg_orange   { background-color: rgba(251, 230, 154, .15) !important; }
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) .bg_orange2  { background-color: rgba(250, 177, 142, .18) !important; }
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) .bg_blue     { background-color: rgba(122, 211, 251, .18) !important; }
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) .bg_yellow   { background-color: rgba(255, 248, 158, .15) !important; }
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) .bg_red      { background-color: rgba(255, 120, 99, .2) !important; }
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) .bg_ancap    { background-color: rgba(251, 202, 58, .18) !important; }
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) .bg_vo2max   { background-color: rgba(132, 217, 245, .18) !important; }
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) .bg_lactateth{ background-color: rgba(246, 179, 244, .16) !important; }
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) #cst_table .bg_orange2 { background-color: rgba(221, 231, 235, .1) !important; }
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) tr.train_la_bal { background-color: rgba(254, 248, 158, .12) !important; border-bottom-color: var(--fpd-line-2) !important; }
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) tr.train_la_bal.orange { background-color: rgba(250, 177, 142, .2) !important; }
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) tr.train_la_bal.red { background-color: rgba(255, 120, 99, .22) !important; }
#fp_user_page.fpd:not(.fpd-light) #toPDF:not(.export):not(.export2) .brd_black_b2 { border-bottom-color: var(--fpd-line-2) !important; }
#fp_user_page.fpd #toPDF:not(.export):not(.export2) #calc_content table tr td input { background-color: var(--fpd-bg-2) !important; color: var(--fpd-text) !important; border-color: var(--fpd-line-2) !important; }
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .test_block,
#fp_user_page.fpd #toPDF:not(.export):not(.export2) .json_display { background-color: var(--fpd-bg-2) !important; color: var(--fpd-text-2); border-radius: 10px; }

/* Barra laterale: campi ricerca/ordinamento (fp.css li forza bianchi con !important) */
#fp_user_page.fpd #fp_content input[type="text"]#fp_team_search,
#fp_user_page.fpd #fp_content select#sort_team {
	background-color: var(--fpd-bg) !important;
	border: 1px solid var(--fpd-line-2) !important;
	color: var(--fpd-text) !important;
	border-radius: 10px !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
}
#fp_user_page.fpd #fp_content input[type="text"]#fp_team_search { height: 40px !important; }
#fp_user_page.fpd #fp_content select#sort_team { height: 38px !important; color: var(--fpd-text-2) !important; }
#fp_user_page.fpd #fp_content input[type="text"]#fp_team_search:focus { border-color: var(--fpd-accent) !important; }
#fp_user_page.fpd #fp_team_search_container { float: none !important; width: 100% !important; max-width: none !important; }
#fp_user_page.fpd #fp_coach_test_content { padding: 0 !important; }
#fp_user_page.fpd .fpd-side__actions .fpd-btn { min-width: 0; padding: 8px 8px; font-size: 12.5px; gap: 6px; }
#fp_user_page.fpd .fpd-side__actions .fpd-btn span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }

#fp_user_page.fpd .fp_acc_button.fpd-btn,
#fp_user_page.fpd .userinfo_butt.fpd-btn { max-width: none; min-width: 0; }
#fp_user_page.fpd #myteam_content { margin: 0 -8px; }
#fp_user_page.fpd .fpd-search .fpd-ico { z-index: 2; }

/* Schede: su schermi medi vanno a capo invece di nascondersi; su mobile scorrono */
#fp_user_page.fpd #data_nav.fpd-tabs { flex-wrap: wrap; overflow: visible; }
#fp_user_page.fpd #historic_tests_content { container-type: inline-size; }
@container (max-width: 1080px) {
	#fp_user_page.fpd #data_nav .data_tab { padding: 8px 10px; font-size: 13px; gap: 6px; }
}
@media (max-width: 720px) {
	#fp_user_page.fpd #data_nav.fpd-tabs {
		flex-wrap: nowrap; overflow-x: auto;
		-webkit-mask-image: linear-gradient(90deg, #000 85%, transparent);
		mask-image: linear-gradient(90deg, #000 85%, transparent);
	}
	#fp_user_page.fpd #data_nav .fpd-tab--history { margin-left: 0; }
}
#fp_user_page.fpd .fpd-side__actions { grid-template-columns: 1fr auto; }
#fp_user_page.fpd .fpd-side__actions .fpd-btn--icon { width: 40px; padding: 0; }
#fp_user_page.fpd .fpd-side__actions .fpd-btn--icon span { display: none; }

/* Moduli test: titoli di sezione, disciplina, pulsanti finali */
#fp_user_page.fpd #fp_test_content .fp_test_section_title { color: var(--fpd-text) !important; border-color: var(--fpd-line-2) !important; }
#fp_user_page.fpd #fp_test_content .discipline_title span { color: rgba(255, 255, 255, .7) !important; }
#fp_user_page.fpd #fp_test_content .fp_test_title {border-radius: 12px;}
#fp_user_page.fpd #fp_test_content .fp_buttdraft_data {
	background: var(--fpd-card-3) !important; color: var(--fpd-text) !important; border: 1px solid var(--fpd-line-2) !important; border-radius: 11px !important;
}
#fp_user_page.fpd #fp_test_content button[id^="fpdatasend"]:not(.fp_buttdraft_data),
#fp_user_page.fpd #fp_test_content .fp_buttsend_data { border-radius: 11px !important; }

@media (max-width: 720px) {
	#fp_user_page.fpd #fp_user_type_choose.fpd-seg { width: 100%; }
	#fp_user_page.fpd .fpd-stat__value.fpd-stat__value--sm { font-size: 17px; }
	#fp_user_page.fpd #fp_share_test span,
	#fp_user_page.fpd #fp_raw_data span,
	#fp_user_page.fpd #fp_send_test_pdf span { display: none; }
	#fp_user_page.fpd #fp_share_test,
	#fp_user_page.fpd #fp_raw_data,
	#fp_user_page.fpd #fp_send_test_pdf { flex: 0 0 44px; }
	#fp_user_page.fpd #fp_dwn_pdf { white-space: nowrap; }
	#fp_user_page.fpd #fp_test_acts.histo #fp_share_test span { display: inline; }
	#fp_user_page.fpd #fp_test_acts.histo #fp_share_test { flex: 1 1 0; }
	#fp_user_page.fpd .fpd-profile__name { font-size: 17px; }
}


/* =====================================================================================
   TEMA CHIARO (#fp_user_page.fpd.fpd-light)
   Stessa impaginazione, colori dell'interfaccia storica: grigi chiari, nero #333 per
   gli elementi attivi, arancio #fa471c come colore d'azione, colori dei test invariati.
   La scelta chiaro/scuro e' del singolo utente (pulsante sole/luna, salvata nel profilo).
   ===================================================================================== */
#fp_user_page.fpd.fpd-light,
body.fpd-body.fpd-body-light .swal2-container,
body.fpd-body.fpd-body-light .my_imgselect {
	--fpd-bg: #f3f3f3;
	--fpd-bg-2: #fafafa;
	--fpd-card: #ffffff;
	--fpd-card-2: #f1f1f1;
	--fpd-card-3: #e2e2e2;
	--fpd-line: #e2e2e2;
	--fpd-line-2: #cfcfcf;
	--fpd-text: #1d1d1d;
	--fpd-text-2: #4d4d4d;
	--fpd-text-3: #8a8a8a;
	--fpd-accent: #fa471c;
	--fpd-accent-2: #dc330a;
	--fpd-accent-soft: rgba(250, 71, 28, .09);
	--fpd-accent-ring: rgba(250, 71, 28, .5);
	--fpd-ok: #2e9300;
	--fpd-warn: #c77d00;
	--fpd-danger: #e70000;
	--fpd-cp: #6296c0;
	--fpd-ramp: #ee723a;
	--fpd-la: #b71111;
	--fpd-shadow: 0 14px 30px -18px rgba(0, 0, 0, .25);
	--fpd-shadow-pop: 0 20px 50px -14px rgba(0, 0, 0, .3);
	--fpd-strong: #000000;
	--fpd-hover: rgba(0, 0, 0, .025);
	--fpd-row-line: #ececec;
	--fpd-overlay: rgba(255, 255, 255, .88);
	--fpd-backdrop: rgba(0, 0, 0, .35);
	--fpd-loader: url(../images/fp_loader.gif);
	--fpd-scheme: light;
	--fpd-glow: transparent;
	--fpd-tab-active-bg: #333333;
	--fpd-tab-active-fg: #ffffff;
	--fpd-tab-active-ring: #333333;
}
body.fpd-body.fpd-body-light { background-color: #f3f3f3; }

#fp_user_page.fpd.fpd-light .fpd-btn:hover { color: var(--fpd-text); }
#fp_user_page.fpd.fpd-light .fpd-btn--primary:hover,
#fp_user_page.fpd.fpd-light #fp_dwn_pdf:hover { color: #fff; }
#fp_user_page.fpd.fpd-light #fp_share_test:hover,
#fp_user_page.fpd.fpd-light #fp_raw_data:hover,
#fp_user_page.fpd.fpd-light #fp_send_test_pdf:hover { color: var(--fpd-text); }
#fp_user_page.fpd.fpd-light .fpd-card,
#fp_user_page.fpd.fpd-light .fpd-stat,
#fp_user_page.fpd.fpd-light .fpd-side { box-shadow: 0 1px 2px rgba(0, 0, 0, .05); }
#fp_user_page.fpd.fpd-light .fpd-side { background: #ffffff; }
#fp_user_page.fpd.fpd-light .fpd-team__logo { box-shadow: inset 0 0 0 1px var(--fpd-line); }
#fp_user_page.fpd.fpd-light .fpd-stat--accent {
	background: linear-gradient(160deg, rgba(250, 71, 28, .10), rgba(250, 71, 28, .02) 60%), #fff;
	border-color: rgba(250, 71, 28, .35); /* la regola chiara di .fpd-stat lo riportava grigio */
}
#fp_user_page.fpd.fpd-light .fpd-picker__panel,
#fp_user_page.fpd.fpd-light #left_bar.fpd-picker__panel { background: #fff; }
#fp_user_page.fpd.fpd-light #left_bar .left_bar_item:hover,
#fp_user_page.fpd.fpd-light #left_bar .left_bar_item_draft:hover { background: var(--fpd-card-2) !important; }
#fp_user_page.fpd.fpd-light #left_bar .left_bar_item.active { background: #333 !important; box-shadow: none; }
#fp_user_page.fpd.fpd-light #left_bar .left_bar_item.active .test_date { color: #fff !important; }
#fp_user_page.fpd.fpd-light #left_bar .left_bar_item.active .test_info { color: #ff7251; }
#fp_user_page.fpd.fpd-light .fpd-seg .fp_type_choose_button.active { background: var(--fpd-accent); }
#fp_user_page.fpd.fpd-light .fpd-stage .myteam_athlete_content.load { opacity: .5; }
body.fpd-body.fpd-body-light .swal2-container.swal2-backdrop-show:not(:has(.pdfexport)) { background: rgba(0, 0, 0, .35) !important; }
body.fpd-body.fpd-body-light .swal2-popup { box-shadow: var(--fpd-shadow-pop); }

/* Pulsante sole/luna */
#fp_user_page.fpd .fpd-head__right { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; min-width: 0; }
#fp_user_page.fpd .fpd-theme-toggle { width: 46px; height: 46px; border-radius: 13px; background: var(--fpd-card); border-color: var(--fpd-line); }
#fp_user_page.fpd .fpd-theme-toggle:hover { color: var(--fpd-accent); }
#fp_user_page.fpd .fpd-theme-toggle > span { display: inline-grid; place-items: center; }
#fp_user_page.fpd:not(.fpd-light) .fpd-theme-toggle__moon,
#fp_user_page.fpd.fpd-light .fpd-theme-toggle__sun { display: none !important; }
@media (max-width: 720px) {
	#fp_user_page.fpd .fpd-head__right { width: 100%; flex-wrap: nowrap; }
	#fp_user_page.fpd .fpd-head__right #fp_user_menu.fpd-nav { flex: 1 1 auto; min-width: 0; }
	#fp_user_page.fpd .fpd-theme-toggle { flex: 0 0 44px; height: auto; align-self: stretch; }
}


/* ------------------------------------------------------------------ BARRA LATERALE A SCOMPARSA (desktop) */
#fp_user_page.fpd .fpd-side__headbtns { display: flex; gap: 6px; }
#fp_user_page.fpd .fpd-side__collapse,
#fp_user_page.fpd .fpd-side__dock { width: 36px; height: 36px; }
#fp_user_page.fpd .fpd-side__dock { display: none; }
#fp_user_page.fpd .fpd-coach { transition: grid-template-columns .25s ease; }

@media (min-width: 1024px) {
	#fp_user_page.fpd .fpd-coach.is-side-collapsed { grid-template-columns: minmax(0, 1fr); }
	#fp_user_page.fpd .fpd-coach.is-side-collapsed .fpd-side {
		position: fixed;
		top: 115px;
		left: 0;
		bottom: 0;
		z-index: 100000;
		width: 340px;
		max-height: calc(100vh - 150px);
		border-radius: 0 18px 18px 0;
		transform: translateX(-105%);
		transition: transform .25s ease;
		box-shadow: 0 0 60px rgba(0, 0, 0, .45);
	}
	#fp_user_page.fpd .fpd-coach.is-side-collapsed.is-side-open .fpd-side {transform: none;}
	#fp_user_page.fpd .fpd-coach.is-side-collapsed.is-side-open .fpd-side__backdrop {
		display: block; position: fixed; inset: 0; z-index: 99999; background: rgba(0, 0, 0, .55); backdrop-filter: blur(2px);
	}
	#fp_user_page.fpd .fpd-coach.is-side-collapsed .fpd-side__collapse { display: none; }
	#fp_user_page.fpd .fpd-coach.is-side-collapsed .fpd-side__dock,
	#fp_user_page.fpd .fpd-coach.is-side-collapsed .fpd-side__close { display: inline-grid; }
	#fp_user_page.fpd .fpd-coach.is-side-collapsed .fpd-mobilebar { display: flex; margin: 0 0 16px; }
	#fp_user_page.fpd .fpd-coach.is-side-collapsed .fpd-mobilebar .fpd-btn { width: auto; }
	#fp_user_page.fpd .fpd-coach.is-side-collapsed .fpd-mobilebar .fpd-mobilebar__go { margin-left: 4px; color: var(--fpd-text-3); }
}
@media (max-width: 1023px) {
	#fp_user_page.fpd .fpd-side__collapse,
	#fp_user_page.fpd .fpd-side__dock { display: none !important; }
}