/* ==========================================================================
   IamCALCIO Liver
   Foglio di stile unico: sostituisce Bootstrap 3, jQuery UI e i CSS storici.

   Impostazione: chiara di default, scura se il dispositivo è impostato così.
   Un solo colore d'accento; il resto è scala di grigi. Il colore compare solo
   dove porta informazione (gol, cartellini, errori, stato "in corso").
   ========================================================================== */

/* --- Tipografia: IBM Plex, servita in locale (licenza SIL OFL 1.1,
   vedi assets/fonts/LICENSE.txt). Plex Sans è la versione variabile:
   un solo file copre tutti i pesi da 100 a 700. -------------------- */

@font-face {
	font-family: 'IBM Plex Sans';
	font-style: normal;
	font-weight: 100 700;
	font-display: swap;
	src: url(../fonts/ibm-plex-sans-var-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'IBM Plex Sans';
	font-style: normal;
	font-weight: 100 700;
	font-display: swap;
	src: url(../fonts/ibm-plex-sans-var-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'IBM Plex Mono';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(../fonts/ibm-plex-mono-400-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'IBM Plex Mono';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(../fonts/ibm-plex-mono-400-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'IBM Plex Mono';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url(../fonts/ibm-plex-mono-500-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'IBM Plex Mono';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url(../fonts/ibm-plex-mono-500-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* --- Token ---------------------------------------------------------------- */

/* Scura di default. La versione chiara resta disponibile: basta mettere
   data-theme="light" sull'elemento <html>. */

:root {
	color-scheme: dark;

	--bg: #0c1310;
	--surface: #121b17;
	--surface-2: #18221d;
	--surface-3: #1f2b25;
	--border: #25332c;
	--border-strong: #32433a;
	--text: #e7efe9;
	--text-soft: #c2d2c8;
	--text-muted: #a3b8ac;
	--text-faint: #7f9389; /* solo elementi decorativi, mai testo */

	--accent: #38d6a5;
	--accent-hover: #5ee0b8;
	--accent-soft: #122720;
	--on-accent: #06120e;
	--glow: rgba(56, 214, 165, .10);

	--danger: #f18a80;
	--danger-soft: #26140f;
	--warning: #e0a95e;
	--warning-soft: #241c10;

	--card-yellow: #e7bd2c;
	--card-red: #f18a80;

	--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 30px -14px rgba(0, 0, 0, .6);
	--shadow-lifted: 0 6px 22px -8px rgba(0, 0, 0, .7);

	--radius: 12px;
	--radius-sm: 8px;
	--radius-pill: 999px;

	--space: 16px;
	--maxw: 940px;
	--nav-h: 56px;

	--font: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

:root[data-theme="light"] {
	color-scheme: light;

	--bg: #f5f8f6;
	--surface: #ffffff;
	--surface-2: #eef2ef;
	--surface-3: #e6ece8;
	--border: #dbe3dd;
	--border-strong: #c4cfc8;
	--text: #0e1913;
	--text-soft: #46554d;
	--text-muted: #4e5d55;
	--text-faint: #7b8b82; /* solo elementi decorativi, mai testo */

	--accent: #00694f;
	--accent-hover: #00543f;
	--accent-soft: #e1f1e9;
	--on-accent: #ffffff;
	--glow: rgba(0, 105, 79, .07);

	--danger: #b02418;
	--danger-soft: #fbe3e0;
	--warning: #9a5a00;
	--warning-soft: #faeccd;

	--card-yellow: #b8860b;
	--card-red: #b02418;

	--shadow: 0 1px 2px rgba(16, 40, 30, .06), 0 8px 24px -12px rgba(16, 40, 30, .16);
	--shadow-lifted: 0 4px 14px rgba(16, 40, 30, .14);
}

/* --- Reset ---------------------------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--bg);
	background-image: radial-gradient(120% 520px at 100% 0%, var(--glow) 0%, transparent 60%);
	background-repeat: no-repeat;
	color: var(--text);
	font-family: var(--font);
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: -.003em;
	-webkit-font-smoothing: antialiased;
	padding-top: var(--nav-h);
}

h1, h2, h3, h4, p, ul, ol, fieldset, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
fieldset { border: 0; padding: 0; min-width: 0; }
img { max-width: 100%; height: auto; }

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

:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
	border-radius: 4px;
}

/* --- Icone ---------------------------------------------------------------- */

.icon {
	width: 1em;
	height: 1em;
	display: inline-block;
	vertical-align: -.125em;
	fill: currentColor;
	flex: none;
}

.icon-lg { width: 1.25em; height: 1.25em; }

/* --- Layout --------------------------------------------------------------- */

.container {
	width: 100%;
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 0 var(--space);
}

.row {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -8px;
}

.row > [class*="col-"] { padding: 0 8px; width: 100%; }

.col-xs-1  { width: 8.3333%; }
.col-xs-4  { width: 33.3333%; }
.col-xs-7  { width: 58.3333%; }
.col-xs-8  { width: 66.6666%; }
.col-xs-11 { width: 91.6666%; }
.col-xs-12 { width: 100%; }

@media (min-width: 768px) {
	.col-md-1  { width: 8.3333%; }
	.col-md-4  { width: 33.3333%; }
	.col-md-5  { width: 41.6666%; }
	.col-md-6, .col-lg-6 { width: 50%; }
	.col-md-7  { width: 58.3333%; }
	.col-md-8  { width: 66.6666%; }
	.col-md-12 { width: 100%; }
	.col-sm-12 { width: 100%; }
}

.nopadding { padding: 0 !important; }
.text-center { text-align: center; }
.pull-right { float: right; }
.pull-left { float: left; }
.clearfix::after { content: ""; display: table; clear: both; }
.divider { height: 1px; background: var(--border); margin: 20px 0; overflow: hidden; text-indent: -999em; }

/* --- Barra superiore ------------------------------------------------------ */

.navbar {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 30;
	height: var(--nav-h);
	background: var(--surface);
	border-bottom: 1px solid var(--border);
	display: flex;
	align-items: center;
	padding: 0 var(--space);
	gap: 12px;
}

.navbar-header {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 1;
	min-width: 0;
}

.navbar-brand {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 15px;
	font-weight: 650;
	letter-spacing: -.01em;
	color: var(--text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.navbar-brand:hover { color: var(--text); }

.brand-mark, .brand-wordmark { display: block; flex: none; color: var(--accent); }
.brand-mark { width: 26px; height: 26px; }
.brand-wordmark { width: 96px; height: auto; }

.brand-app {
	font-size: 15px;
	font-weight: 650;
	letter-spacing: -.01em;
	color: var(--text);
	margin-left: -2px;
}

.navbar-brand .tag {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--text-muted);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-pill);
	padding: 1px 7px;
}

.navbar-actions { display: flex; align-items: center; gap: 4px; }

.navbar-toggle {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-sm);
	color: var(--text-soft);
	font-size: 15px;
}

.navbar-toggle:hover { background: var(--surface-2); color: var(--text); }

.navbar-collapse { display: none; }

@media (min-width: 768px) {
	.navbar-collapse { display: block; }
	.navbar-nav { display: flex; gap: 2px; }
	.navbar-nav a {
		display: block;
		padding: 7px 12px;
		border-radius: var(--radius-sm);
		font-size: 14px;
		font-weight: 500;
		color: var(--text-soft);
	}
	.navbar-nav a:hover { background: var(--surface-2); color: var(--text); }
	.navbar-nav .active a { background: var(--accent-soft); color: var(--accent); }
}

/* menu inferiore su mobile */
.tabbar {
	position: fixed;
	bottom: 0; left: 0; right: 0;
	z-index: 30;
	display: flex;
	background: var(--surface);
	border-top: 1px solid var(--border);
	padding-bottom: env(safe-area-inset-bottom);
}

.tabbar a {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	padding: 8px 4px 9px;
	font-size: 11px;
	font-weight: 550;
	color: var(--text-muted);
}

.tabbar a.active { color: var(--accent); }
.tabbar .icon { font-size: 17px; }

@media (min-width: 768px) { .tabbar { display: none; } }
/* spazio per non finire sotto la barra inferiore */
@media (max-width: 767px) { .container { padding-bottom: 78px; } }

/* --- Testata di pagina ---------------------------------------------------- */

.container > .row:first-child { margin-top: 24px; }

.title {
	font-size: 21px;
	font-weight: 680;
	letter-spacing: -.02em;
	margin: 4px 0 18px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.title span {
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0;
	color: var(--text-muted);
}

/* --- Pulsanti ------------------------------------------------------------- */

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 40px;
	padding: 0 16px;
	border: 1px solid transparent;
	border-radius: var(--radius-sm);
	background: var(--surface-2);
	color: var(--text);
	font: inherit;
	font-size: 14px;
	font-weight: 550;
	line-height: 1;
	cursor: pointer;
	white-space: nowrap;
	transition: background .12s ease, border-color .12s ease, color .12s ease;
	-webkit-appearance: none;
	appearance: none;
}

.btn:hover { background: var(--border); color: var(--text); }
.btn:active { transform: translateY(.5px); }
.btn[disabled] { opacity: .45; cursor: not-allowed; }

/* azione principale */
.btn-yellow, .btn-green, .btn-primary {
	background: var(--accent);
	border-color: var(--accent);
	color: var(--on-accent);
}

.btn-yellow:hover, .btn-green:hover, .btn-primary:hover {
	background: var(--accent-hover);
	border-color: var(--accent-hover);
	color: var(--on-accent);
}

/* azione secondaria */
.btn-heavenly, .btn-heavenly100 {
	background: var(--surface);
	border-color: var(--border-strong);
	color: var(--text);
}

.btn-heavenly:hover, .btn-heavenly100:hover { background: var(--surface-2); }

.btn-danger {
	background: transparent;
	border-color: var(--danger);
	color: var(--danger);
}

.btn-danger:hover { background: var(--danger-soft); color: var(--danger); }

.btn-sm { height: 32px; padding: 0 12px; font-size: 13px; }
.btn-lg { height: 46px; padding: 0 20px; font-size: 15px; }
.btn-block { display: flex; width: 100%; }

.margin-top-left { margin: 4px 6px 0 0; }

/* --- Campi ---------------------------------------------------------------- */

.form-control {
	display: block;
	width: 100%;
	height: 42px;
	padding: 0 12px;
	background: var(--surface);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-sm);
	color: var(--text);
	font: inherit;
	font-size: 15px;
	transition: border-color .12s ease, box-shadow .12s ease;
	-webkit-appearance: none;
	appearance: none;
}

textarea.form-control { height: auto; padding: 10px 12px; line-height: 1.5; resize: vertical; }

.form-control::placeholder { color: var(--text-muted); }

.form-control:focus {
	outline: 0;
	border-color: var(--accent);
	box-shadow: 0 0 0 3px var(--accent-soft);
}

select.form-control {
	padding-right: 34px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23a3b8ac' d='M8 11 3.5 6h9z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 11px center;
	background-size: 14px;
}

input[type="time"].form-control { font-variant-numeric: tabular-nums; }

.checkbox-inline { display: inline-flex; align-items: center; gap: 8px; }
.checkbox { display: flex; flex-wrap: wrap; gap: 18px; margin-bottom: 12px; }

input[type="checkbox"], input[type="radio"] { accent-color: var(--accent); width: 17px; height: 17px; margin: 0; }

label { font-size: 14px; }

/* --- Messaggi ------------------------------------------------------------- */

.alert {
	display: block;
	padding: 12px 14px;
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	background: var(--surface-2);
	color: var(--text-soft);
	font-size: 14px;
	margin-bottom: 14px;
}

.alert-success { background: var(--accent-soft); border-color: transparent; color: var(--accent); }
.alert-warning { background: var(--warning-soft); border-color: transparent; color: var(--warning); }
.alert-danger { background: var(--danger-soft); border-color: transparent; color: var(--danger); }

.alert .icon { margin-right: 6px; vertical-align: -.12em; }
.alert strong { font-weight: 650; }
.alert code {
	font-family: var(--font-mono);
	font-size: 12.5px;
	background: var(--surface-2);
	border-radius: 4px;
	padding: 1px 5px;
}

.notice {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 13px;
	color: var(--text-muted);
	margin: 12px 0;
}

.nobody { color: var(--text-muted); font-size: 14px; }

.noliveassigned {
	display: block;
	padding: 28px 16px;
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius);
	text-align: center;
	color: var(--text-muted);
	font-size: 14px;
}

/* --- Accesso -------------------------------------------------------------- */

.account-wall {
	max-width: 380px;
	margin: 40px auto 20px;
	padding: 28px 24px;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
}

.profile-img {
	display: block;
	width: 56px;
	height: 56px;
	margin: 0 auto 18px;
	border-radius: 50%;
	object-fit: cover;
}

.form-signin .form-control, .forgot .form-control { margin-bottom: 10px; }
.form-signin .btn, .forgot .btn { margin-top: 6px; }

.need-help { font-size: 13px; color: var(--text-muted); }
.need-help:hover { color: var(--accent); }

.notification {
	display: block;
	padding: 10px 12px;
	margin-bottom: 14px;
	border-radius: var(--radius-sm);
	background: var(--danger-soft);
	color: var(--danger);
	font-size: 14px;
}

/* --- Elenco partite (pannello, storico, prenotazione) --------------------- */

.liverow {
	display: block;
	margin: 0 0 10px;
	padding: 14px 16px;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
}

.liverow > [class*="col-"] { padding: 0; }

.CPclubs { display: block; }

.CPhome, .CPvisitors {
	position: relative;
	display: block;
	padding: 3px 52px 3px 30px;
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 22px 22px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -.01em;
	line-height: 1.45;
}

.score {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	min-width: 26px;
	text-align: right;
	font-variant-numeric: tabular-nums;
	font-weight: 680;
	color: var(--text);
}

.liveDate, .eventRealDate, .eventtime, .CPclubStatus {
	display: block;
	margin-top: 8px;
	font-size: 13px;
	color: var(--text-muted);
	font-variant-numeric: tabular-nums;
}

.eventRealDate span, .eventtime span, .CPstatus { display: inline; margin-right: 8px; }

.liverName {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	padding: 2px 9px;
	border-radius: var(--radius-pill);
	background: var(--surface-2);
	font-size: 12px;
	color: var(--text-soft);
}

.liverName strong { font-weight: 650; color: var(--text-muted); font-size: 11px; letter-spacing: .04em; }

.liverow .btn { margin: 10px 6px 0 0; }

/* pallino "in corso" al posto della vecchia spunta */
.liverow .glyphicon-ok-sign, .liverow .live-dot {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
	font-size: 11px;
	font-weight: 650;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--accent);
}

.live-dot::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--accent);
	box-shadow: 0 0 0 3px var(--accent-soft);
}

.searchbox { display: flex; gap: 8px; margin-bottom: 18px; }
.searchbox .form-control { flex: 1; }

/* --- Autocomplete (jQuery UI) --------------------------------------------- */

.ui-autocomplete {
	position: absolute;
	z-index: 60;
	max-height: 260px;
	overflow-y: auto;
	padding: 5px;
	margin: 4px 0 0;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-lifted);
	list-style: none;
}

/* jQuery UI 1.11 costruisce la voce come <li> con il testo dentro; la 1.12 usa
   un <a> o un wrapper. Si vestono tutte e tre le forme, cosi' l'elenco resta
   uguale a prescindere dalla versione della libreria. */
.ui-menu-item, .ui-menu-item-wrapper, .ui-menu-item > a {
	display: block;
	padding: 8px 10px;
	border-radius: 6px;
	font-size: 14px;
	line-height: 1.35;
	color: var(--text);
	cursor: pointer;
	list-style: none;
}

.ui-menu-item.ui-state-focus,
.ui-menu-item:hover,
.ui-menu-item-wrapper.ui-state-active,
.ui-menu-item-wrapper:hover,
.ui-menu-item > a.ui-state-focus {
	background: var(--accent-soft);
	color: var(--accent);
}

/* Voce su due righe: sopra la squadra, sotto l'ultimo campionato disputato. */
.ac-name { display: block; }

.ac-league {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	color: var(--text-muted);
}

.ui-menu-item.ui-state-focus .ac-league,
.ui-menu-item:hover .ac-league {
	color: var(--accent);
	opacity: .85;
}

.ui-helper-hidden-accessible { position: absolute; left: -9999px; }

/* --- Invito a installare l'applicazione ----------------------------------- */

/* Nasce nascosto: lo accende il JavaScript solo dove l'installazione e'
   davvero possibile, cosi' non si propone una cosa che non si puo' fare. */
.install-bar {
	display: flex;
	justify-content: center;
	padding: 4px 20px 28px;
}

/* su telefono deve stare sopra la barra fissa in basso */
@media (max-width: 767px) { .install-bar { padding-bottom: 96px; } }

.install-btn { gap: 9px; }

/* Messaggio breve: su iPhone e sui browser che non espongono l'installazione
   diretta si puo' solo spiegare dove trovarla nel menu. */
.toast {
	position: fixed;
	left: 50%;
	bottom: 92px;
	transform: translateX(-50%) translateY(12px);
	z-index: 200;
	max-width: min(90vw, 420px);
	padding: 11px 18px;
	border: 1px solid var(--border-strong);
	border-radius: 999px;
	background: var(--surface-2);
	color: var(--text);
	font-size: 13.5px;
	font-weight: 550;
	text-align: center;
	box-shadow: var(--shadow-lifted);
	opacity: 0;
	transition: opacity .25s, transform .25s;
	pointer-events: none;
}

.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

@media (min-width: 768px) { .toast { bottom: 28px; } }

/* --- Tabellino: riepilogo partita ----------------------------------------- */

#wrapperLive { padding-bottom: 40px; }
#wrapperLiveTeamsHidden { display: none; }

#boxFormLiveAbstract, #boxFormLive, #boxTimeline, #boxTimelineOvertime,
#boxTimelinePenalties, #boxFormTypeMatch, #boxLiveScore, #boxLiveTeam,
#boxFormCronaca {
	margin-bottom: 14px;
	padding: 16px;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
}

#boxFormLiveAbstract h3, #boxFormLive h3, #boxTimeline h3,
#boxTimelineOvertime h3, #boxTimelinePenalties h3, #boxLiveScore h3,
#boxFormTypeMatch h3, #boxFormCronaca h3, .box-title {
	font-size: 12px;
	font-weight: 650;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--text-muted);
	margin: 0 0 12px;
}

.selectHalf { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }

.boxLivematchkickoff {
	flex: 1 1 120px;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.boxLivematchkickoff > span {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.boxLivematchkickoff .form-control { height: 38px; text-align: center; }

.firstChecksSeparator, .secondChecksSeparator {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12px;
}

.boxLivematchEnding {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-pill);
	background: var(--surface);
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	user-select: none;
}

.boxLivematchEnding:has(input:checked) {
	border-color: var(--accent);
	background: var(--accent-soft);
	color: var(--accent);
}

/* --- Tabellino: risultato ------------------------------------------------- */

.badgeResults {
	padding: 16px 0 4px;
	border-top: 1px solid var(--border);
	margin-top: 4px;
}

.badgeResults .row { align-items: center; }

.badgeResults .col-sm-12 {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex-wrap: nowrap;
}

.badgeResults .home, .badgeResults .visitors {
	width: 40px;
	height: 40px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	flex: none;
	text-indent: -999em;
	overflow: hidden;
}

.selectScore {
	width: 68px;
	height: 46px;
	text-align: center;
	font-size: 19px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	padding: 0 6px;
	background-image: none;
}

.badgeResults + .row .col-sm-12 { display: flex; text-align: center; margin-top: 2px; }
.badgeResults + .row .col-sm-12 > div { font-size: 13px !important; font-weight: 550 !important; color: var(--text-soft); }

/* --- Tabellino: inserimento evento ---------------------------------------- */

#descriptiveTime, #descriptiveClub {
	display: block;
	text-align: center;
	font-size: 13px;
	color: var(--text-muted);
	margin-bottom: 8px;
	min-height: 1px;
}

#descriptiveClub { font-weight: 650; color: var(--text); font-size: 15px; }

#formLive label { display: block; margin-bottom: 10px; }

#formLive label > span {
	display: block;
	margin-bottom: 5px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--text-muted);
}

#formLive #setAction { margin-bottom: 12px; }

#formLive label.player2, #formLive label.comment { display: none; }
#formLive label.player2.player2show, #formLive label.comment.commentshow { display: block; }

/* --- Tabellino: minuti ---------------------------------------------------- */

/* i supplementari e i rigori stanno dentro il riquadro dei minuti: niente
   scatola dentro la scatola */
#boxTimelineOvertime, #boxTimelinePenalties {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

.timeline-half {
	margin: 18px 0 2px;
	padding-top: 12px;
	border-top: 1px solid var(--border);
	font-size: 11px;
	font-weight: 650;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--text-muted);
}

#boxTimeline > .timeline-half:first-of-type { margin-top: 4px; padding-top: 0; border-top: 0; }

#boxTimeline .club, #boxTimelineOvertime .club, #boxTimelinePenalties .club {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 7px 0;
	font-size: 14px;
	font-weight: 550;
}

.club-name {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.selectMinute {
	width: 104px;
	height: 38px;
	margin-left: auto;
	font-size: 14px;
	font-variant-numeric: tabular-nums;
}

.selectMinute option[disabled] { color: var(--text-faint); }

/* --- Tabellino: elenco eventi --------------------------------------------- */

#liveScore { margin-top: 4px; }

#liveScore li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 2px;
	border-bottom: 1px solid var(--border);
	font-size: 14.5px;
}

#liveScore li:last-child { border-bottom: 0; }

#liveScore li.half {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-top: 14px;
	padding: 6px 2px;
	border-bottom: 1px solid var(--border-strong);
	font-size: 11px;
	font-weight: 650;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--text-muted);
}

#liveScore li.half:first-child { margin-top: 0; }
.scroll_top_a { font-size: 10px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--text-muted); }

#liveScore .clubHome, #liveScore .clubVisitors {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1;
	min-width: 0;
}

#liveScore .clubVisitors { justify-content: flex-end; text-align: right; }

#liveScore .minute {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 24px;
	padding: 0 7px;
	border-radius: var(--radius-pill);
	background: var(--surface-2);
	color: var(--text-soft);
	font-size: 12px;
	font-weight: 650;
	font-variant-numeric: tabular-nums;
	flex: none;
}

#liveScore .card { font-weight: 600; display: inline-flex; align-items: center; gap: 7px; }
#liveScore .card em { font-style: normal; color: var(--text-muted); font-weight: 500; }
#liveScore .assist { font-style: normal; color: var(--text-muted); font-weight: 500; margin: 0 4px; }

#liveScore li.comment { align-items: flex-start; }
#liveScore li.comment p { flex: 1; color: var(--text-soft); }
#liveScore li.comment em { font-style: normal; color: var(--text-soft); }

.separator { margin-left: auto; flex: none; }

.deleteLiveEvent {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: var(--radius-sm);
	color: var(--text-muted);
	font-size: 13px;
}

.deleteLiveEvent:hover { background: var(--danger-soft); color: var(--danger); }

/* colori degli eventi: solo dove servono davvero */
.goal .icon, .penalty .icon { color: var(--accent); }
.autogoal .icon, .penaltyerror .icon { color: var(--danger); }
.yellowcard .icon { color: var(--card-yellow); }
.redcard .icon { color: var(--card-red); }
.subentry .icon { color: var(--text-muted); }

/* --- Formazioni ----------------------------------------------------------- */

#boxLiveTeam { padding: 0; overflow: hidden; }

#boxLiveTeam fieldset { border-bottom: 1px solid var(--border); }
#boxLiveTeam fieldset:last-of-type { border-bottom: 0; }

#boxLiveTeam legend { display: block; width: 100%; padding: 0; }

#showLiveTeamHome, #showLiveTeamVisitors {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	height: auto;
	padding: 14px 16px;
	border: 0;
	border-radius: 0;
	background: var(--surface);
	color: var(--text);
	font-size: 15px;
	font-weight: 650;
	text-align: left;
}

#showLiveTeamHome:hover, #showLiveTeamVisitors:hover { background: var(--surface-2); }
#showLiveTeamHome .icon, #showLiveTeamVisitors .icon { color: var(--text-muted); transition: transform .15s ease; }
#showLiveTeamHome.closed .icon, #showLiveTeamVisitors.closed .icon { transform: rotate(-90deg); }

#liveTeamHomeBox, #liveTeamVisitorsBox { padding: 0 16px 8px; }

#liveDefaultTeamHome li.header, #liveDefaultTeamVisitors li.header,
#liveTeamHome li.header, #liveTeamVisitors li.header {
	display: block;
	padding: 14px 0 8px;
	font-size: 11px;
	font-weight: 650;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--text-muted);
}

#liveDefaultTeamHome li.row, #liveDefaultTeamVisitors li.row,
#liveTeamHome li.row, #liveTeamVisitors li.row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	padding: 0;
}

#liveDefaultTeamHome li.row > div, #liveDefaultTeamVisitors li.row > div,
#liveTeamHome li.row > div, #liveTeamVisitors li.row > div { padding: 0; width: auto; }

#liveDefaultTeamHome li.row .col-md-1, #liveDefaultTeamVisitors li.row .col-md-1,
#liveTeamHome li.row .col-md-1, #liveTeamVisitors li.row .col-md-1 { width: 26px; flex: none; }

#liveDefaultTeamHome li.row .col-md-4, #liveDefaultTeamVisitors li.row .col-md-4,
#liveTeamHome li.row .col-md-4, #liveTeamVisitors li.row .col-md-4 { width: 86px; flex: none; }

#liveDefaultTeamHome li.row .col-md-7, #liveDefaultTeamVisitors li.row .col-md-7,
#liveTeamHome li.row .col-md-7, #liveTeamVisitors li.row .col-md-7 { flex: 1; min-width: 0; }

#liveDefaultTeamHome .pull-left, #liveDefaultTeamVisitors .pull-left,
#liveTeamHome .pull-left, #liveTeamVisitors .pull-left {
	float: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--surface-2);
	color: var(--text-muted);
	font-size: 12px;
	font-weight: 650;
	font-variant-numeric: tabular-nums;
}

.playerHomeVote, .playerVisitorsVote, .liveDefaultTeamHome, .liveDefaultTeamVisitors { height: 38px; font-size: 14px; }

ul.liveDefaultTeamHome, ul.liveDefaultTeamVisitors { padding: 8px 0; }

/* --- Vecchie glyphicon: neutralizzate ------------------------------------- */

.glyphicon { font-style: normal; }

/* --- Rifiniture ----------------------------------------------------------- */

.page-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 8px; }

hr { border: 0; border-top: 1px solid var(--border); margin: 20px 0; }

::selection { background: var(--accent-soft); color: var(--accent); }

/* --- Card partita: stato, data, azioni ------------------------------------ */

.match-status, .match-when {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 10px;
	font-size: 12.5px;
	color: var(--text-muted);
	font-variant-numeric: tabular-nums;
}

.match-when .icon { font-size: 12px; }
.match-when .dot { opacity: .5; }

.liverow.is-open { border-color: var(--accent); }

.match-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 14px;
}

.match-actions .btn { margin: 0; }

.match-note {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 12px;
	font-size: 12.5px;
	color: var(--text-muted);
}

.noliveassigned .icon-lg { font-size: 22px; color: var(--text-faint); margin-bottom: 6px; }

/* --- Accesso: rifiniture -------------------------------------------------- */

.account-brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
	color: var(--accent);
}

.account-brand .brand-mark { width: 52px; height: 52px; }
.account-brand .brand-wordmark { width: 148px; height: auto; }

.account-title {
	font-size: 19px;
	font-weight: 680;
	letter-spacing: -.02em;
	text-align: center;
	margin-bottom: 4px;
}

.account-sub {
	text-align: center;
	font-size: 13.5px;
	color: var(--text-muted);
	margin-bottom: 20px;
}

.field { display: block; margin-bottom: 12px; }

.field > span {
	display: block;
	margin-bottom: 5px;
	font-size: 12px;
	font-weight: 600;
	color: var(--text-soft);
}

.account-links {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 14px;
}

.notification { display: flex; align-items: center; gap: 8px; }

/* --- Tabellino: testata partita ------------------------------------------- */

.live-page { padding-bottom: 30px; }

.match-head {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 22px 0 6px;
}

.mh-team {
	display: flex;
	align-items: center;
	gap: 9px;
	flex: 1;
	min-width: 0;
}

.match-head .mh-team:last-of-type { flex-direction: row-reverse; text-align: right; }

.mh-badge {
	width: 34px;
	height: 34px;
	flex: none;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.mh-name {
	font-size: 16px;
	font-weight: 660;
	letter-spacing: -.01em;
	line-height: 1.25;
	overflow: hidden;
	text-overflow: ellipsis;
}

.mh-vs {
	flex: none;
	font-size: 11px;
	font-weight: 650;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.match-meta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin-bottom: 18px;
	font-size: 12.5px;
	color: var(--text-muted);
	font-variant-numeric: tabular-nums;
}

.match-meta .dot { opacity: .5; }

/* il messaggio di conferma compare solo dopo un salvataggio (lo mostra il JS) */
.ok { display: none; }

/* I nomi sotto al risultato arrivano dal codice originale con stili in linea
   (width 40/20/40 e float): qui vengono ricondotti alla griglia flex. */

#boxFormLiveAbstract .col-sm-12:has(> div[style*="width:40%"]) {
	display: flex;
	gap: 12px;
	margin-top: 4px;
}

#boxFormLiveAbstract div[style*="width:40%"] {
	float: none !important;
	width: auto !important;
	flex: 1;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--text-soft);
}

#boxFormLiveAbstract div[style*="width:40%"]:last-child { text-align: right; }
#boxFormLiveAbstract div[style*="width:20%"] { display: none !important; }

/* --- Tabellino: rifiniture degli eventi ----------------------------------- */

#liveScore .card em, #liveScore em.left, #liveScore em.right {
	font-style: normal;
	font-weight: 500;
	color: var(--text-muted);
}

#liveScore em.right { margin-left: 5px; }
#liveScore em.left { margin-right: 5px; }

#liveScore strong { font-weight: 620; display: inline-flex; align-items: center; gap: 7px; flex-wrap: wrap; }
#liveScore .clubVisitors strong { justify-content: flex-end; }

/* --- Formazioni: rifiniture ----------------------------------------------- */

#liveDefaultTeamHome li.header, #liveDefaultTeamVisitors li.header,
#liveTeamHome li.header, #liveTeamVisitors li.header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}

#liveDefaultTeamHome li.header em, #liveDefaultTeamVisitors li.header em,
#liveTeamHome li.header em, #liveTeamVisitors li.header em {
	font-style: normal;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	opacity: .75;
}

#formLiveTeam .btn[type="submit"], #formLiveTeam input[type="submit"] { margin: 14px 16px 16px; width: calc(100% - 32px); }

/* Le due rose partono chiuse, come prevede il markup (classe "closed" sul
   pulsante): è il JS di teams.js ad aprirle con .show()/.hide(). */
#liveTeamHomeBox, #liveTeamVisitorsBox { display: none; }

/* Orari dei tempi e caselle di fine tempo affiancati (il markup originale li
   incolonna dentro le colonne della vecchia griglia). */

.selectHalf > .row { flex: 1; width: 100%; margin: 0; }
.selectHalf .col-sm-12 { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; }
#boxFormLiveAbstract .row > .col-lg-6 { width: auto; padding: 0; }
#boxFormLiveAbstract .row:has(> .col-lg-6) { gap: 8px; margin: 0 0 12px; }
.boxLivematchEnding[style*="display: none"] { display: none !important; }

/* La freccia delle tendine è un'immagine: nel tema chiaro serve la versione scura. */
:root[data-theme="light"] select.form-control {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%234e5d55' d='M8 11 3.5 6h9z'/%3E%3C/svg%3E");
}

/* --- Interruttore tema chiaro / scuro ------------------------------------- */

.theme-toggle {
	border: 0;
	background: transparent;
	font: inherit;
	cursor: pointer;
	padding: 0;
}

/* si mostra l'icona della modalità in cui si passerà */
.theme-toggle .icon-moon { display: none; }

:root[data-theme="light"] .theme-toggle .icon-sun { display: none; }
:root[data-theme="light"] .theme-toggle .icon-moon { display: inline-block; }

/* --- Evento appena inserito ----------------------------------------------- */

/* Si evidenzia solo lo sfondo e una barretta d'accento a sinistra: i colori
   del testo non vengono toccati, così la riga resta leggibile in entrambi i
   temi per tutta la durata dell'effetto. */

#liveScore li.is-new {
	border-radius: var(--radius-sm);
	animation: eventoNuovo 15s ease-out forwards;
}

@keyframes eventoNuovo {
	0% {
		background-color: var(--accent-soft);
		box-shadow: inset 3px 0 0 0 var(--accent);
	}
	65% {
		background-color: var(--accent-soft);
		box-shadow: inset 3px 0 0 0 var(--accent);
	}
	100% {
		background-color: transparent;
		box-shadow: inset 3px 0 0 0 transparent;
	}
}

@media (prefers-reduced-motion: reduce) {
	#liveScore li.is-new { animation-duration: 0s; background-color: var(--accent-soft); }
}

/* Il salvataggio richiede sempre un minuto: finché non è scelto il pulsante
   resta disattivato e si mostra il promemoria. */

.hint-minute {
	display: none;
	align-items: center;
	gap: 7px;
	margin-bottom: 10px;
	font-size: 12.5px;
	color: var(--text-muted);
}

#formLive:has(#submitAction:disabled) .hint-minute { display: flex; }

/* Respiro fra l'ultimo campo e il pulsante che chiude il riquadro. */

#formTypeMatch .btn-block,
#formLive .btn-block,
#formLiveAbstract .btn-block { margin-top: 16px; }

/* nel riquadro della tipologia fra la tendina e il pulsante non c'è altro */
#formTypeMatch .typeMatch { margin-bottom: 0; }

/* Promemoria in testata finché la partita non è stata avviata. */

.match-alert {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	max-width: 620px;
	margin: 0 auto 18px;
	padding: 11px 14px;
	border: 1px solid var(--warning);
	border-radius: var(--radius-sm);
	background: var(--warning-soft);
	color: var(--warning);
	font-size: 13px;
	line-height: 1.45;
}

.match-alert .icon { margin-top: .18em; flex: none; }
.match-alert strong { font-weight: 650; }

/* --- Orari dei tempi in testata ------------------------------------------- */

.match-times {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px 14px;
	margin: -10px 0 18px;
	font-size: 12px;
	color: var(--text-muted);
	font-variant-numeric: tabular-nums;
}

.match-times span {
	display: inline-flex;
	align-items: baseline;
	gap: 5px;
}

/* la regola qui sopra batterebbe [hidden] dello user agent */
.match-times span[hidden] { display: none; }

.match-times em {
	font-style: normal;
	font-weight: 650;
	font-size: 10px;
	letter-spacing: .06em;
	color: var(--text-faint);
}

/* --- Conferma di salvataggio ---------------------------------------------- */

/* Compare sopra la pagina invece che dentro il riquadro: prima entrava nel
   flusso e faceva scorrere tutto il contenuto verso il basso.
   Il JS la mostra e la nasconde con un fade, quindi qui niente "display". */

.ok {
	position: fixed;
	top: calc(var(--nav-h) + 14px);
	left: 50%;
	margin-left: -110px;
	width: 220px;
	z-index: 60;
	padding: 11px 14px;
	border: 0;
	border-radius: var(--radius-pill);
	background: var(--accent);
	color: var(--on-accent);
	font-size: 14px;
	font-weight: 650;
	text-align: center;
	box-shadow: var(--shadow-lifted);
	pointer-events: none;
}

.ok::before {
	content: "\2713";
	margin-right: 8px;
	font-weight: 700;
}

/* --- Stato della partita: in diretta / finale ----------------------------- */

.badge-live, .badge-ft {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 3px 10px;
	border-radius: var(--radius-pill);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
}

.badge-live {
	background: var(--accent-soft);
	color: var(--accent);
}

.badge-live i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
	animation: battito 1.6s ease-in-out infinite;
}

@keyframes battito {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: .35; transform: scale(.8); }
}

@media (prefers-reduced-motion: reduce) {
	.badge-live i { animation: none; }
}

.badge-ft {
	background: var(--surface-2);
	color: var(--text-muted);
	border: 1px solid var(--border);
}

/* gli orari dei tempi dentro la scheda del pannello */
.match-times-sm {
	justify-content: flex-start;
	margin: 10px 0 0;
	font-size: 11.5px;
}

.badge-waiting {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 3px 11px;
	border-radius: var(--radius-pill);
	border: 1px solid var(--warning);
	background: var(--warning-soft);
	color: var(--warning);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
}

/* Promemoria nella scheda: partita finita ma non chiusa. */

.match-warning {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 12px 0 0;
	padding: 9px 12px;
	border: 1px solid var(--warning);
	border-radius: var(--radius-sm);
	background: var(--warning-soft);
	color: var(--warning);
	font-size: 12.5px;
	line-height: 1.45;
}

.match-warning .icon { margin-top: .16em; flex: none; }
.match-warning strong { font-weight: 700; }

/* Le tre azioni della scheda stanno su una riga anche su schermo stretto. */

.match-actions .btn-sm {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0 10px;
	gap: 6px;
}

@media (max-width: 380px) {
	.match-actions .btn-sm { font-size: 12px; padding: 0 8px; }
}

/* Safari su iOS non centra il valore degli input orario: va allineato
   il contenuto interno del controllo, non solo il testo del campo. */

input[type="time"].form-control::-webkit-date-and-time-value {
	text-align: center;
	width: 100%;
	margin: 0;
}

input[type="time"].form-control::-webkit-datetime-edit {
	text-align: center;
	width: 100%;
}

/* --- Pagina della cronaca ------------------------------------------------- */

#boxFormCronaca #descriptiveTime {
	display: block;
	text-align: center;
	font-size: 13px;
	color: var(--text-muted);
	margin-bottom: 10px;
	min-height: 1px;
}

#formCronaca .btn-block { margin-top: 16px; }
#formCronaca:has(#submitCronaca:disabled) .hint-minute { display: flex; }
#formCronaca textarea { min-height: 96px; }

/* Prepartita e chiusura */

#boxFormPrePost {
	margin-bottom: 14px;
	padding: 16px;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
}

/* Prepartita e chiusura stanno in un pannello richiudibile: si scrivono una
   volta sola, mentre la cronaca si aggiorna di continuo. Chiuso occupa una riga. */
#boxFormPrePost > summary {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	list-style: none;
	font-size: 12px;
	font-weight: 650;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--text-muted);
}

/* via il triangolino predefinito: la freccia la mettiamo noi */
#boxFormPrePost > summary::-webkit-details-marker { display: none; }
#boxFormPrePost > summary::marker { content: ''; }

#boxFormPrePost > summary:hover { color: var(--text); }

#boxFormPrePost[open] > summary { margin-bottom: 12px; }

.prepost-freccia {
	margin-left: auto;
	flex: 0 0 auto;
	font-size: 12px;
	transition: transform .18s ease;
}

#boxFormPrePost[open] .prepost-freccia { transform: rotate(180deg); }

/* segnala che dentro c'e' gia' del testo, senza doverlo aprire */
.prepost-stato {
	font-size: 10.5px;
	font-weight: 600;
	font-style: normal;
	letter-spacing: .04em;
	text-transform: none;
	color: var(--accent);
	background: var(--accent-soft);
	border-radius: 999px;
	padding: 2px 8px;
}

#boxFormPrePost > summary:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
	border-radius: 4px;
}

#boxFormPrePost textarea { min-height: 92px; }
#formLivePrePost .btn-block { margin-top: 6px; }

.live-prepost { margin-top: 4px; }

.live-prepost li.half {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-top: 14px;
	padding: 6px 2px;
	border-bottom: 1px solid var(--border-strong);
	font-size: 11px;
	font-weight: 650;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.live-prepost li.comment {
	display: flex;
	padding: 10px 2px;
	font-size: 14.5px;
	color: var(--text-soft);
	line-height: 1.55;
}

/* Titolo di sezione dentro una pagina (pannello di controllo). */

.section-title {
	margin: 26px 0 12px;
	font-size: 13px;
	font-weight: 650;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.liverow.is-pending { border-style: dashed; }

/* un'azione da sola non deve allargarsi a tutta la riga */
.match-actions .btn-sm:only-child { flex: 0 0 auto; }

/* --- Moduli di accesso, registrazione e recupero -------------------------- */

/* i campi del modulo di registrazione arrivano uno in fila all'altro:
   qui prendono il respiro che serve */
.account-wall .form-control { margin-bottom: 12px; }
.account-wall .field .form-control { margin-bottom: 0; }
.account-wall .checkbox { margin: 4px 0 12px; }
.account-wall .divider { margin: 18px 0; }
.account-wall .alert { margin: 6px 0 16px; }
.account-wall .btn-block { margin-top: 6px; }

.account-links { justify-content: center; margin-top: 16px; }
.account-brand .brand-mark { width: 52px; height: 52px; }

.form-horizontal select.form-control { color: var(--text); }

/* registrazione: la scheda è più alta delle altre, sta più larga */
.account-wall.account-wall-wide { max-width: 440px; }

/* --- Elenco delle opzioni ------------------------------------------------- */

.option-list {
	display: block;
	margin-bottom: 18px;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	overflow: hidden;
}

.option-item {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	padding: 14px 16px;
	border: 0;
	border-bottom: 1px solid var(--border);
	background: none;
	color: var(--text);
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.option-list .option-item:last-child { border-bottom: 0; }
.option-item:hover { background: var(--surface-2); color: var(--text); }

.option-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	flex: none;
	border-radius: var(--radius-sm);
	background: var(--accent-soft);
	color: var(--accent);
	font-size: 15px;
}

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

.option-text strong { font-size: 15px; font-weight: 620; }
.option-text em { font-style: normal; font-size: 12.5px; color: var(--text-muted); }

.option-arrow { color: var(--text-faint); flex: none; }

/* --- Squadre preferite ---------------------------------------------------- */

.favorites {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}

.favorite {
	display: inline-flex;
	align-items: center;
	background: var(--surface);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-pill);
	overflow: hidden;
}

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

.favorite-go {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 14px 7px 10px;
	color: var(--text);
	font-size: 14px;
	font-weight: 550;
}

.favorite-go:hover { color: var(--text); }

.favorite-badge {
	width: 22px;
	height: 22px;
	flex: none;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.favorite-remove { display: flex; }

.favorite-remove button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 100%;
	padding: 0;
	border: 0;
	border-left: 1px solid var(--border);
	background: none;
	color: var(--text-muted);
	font-size: 12px;
	cursor: pointer;
}

.favorite-remove button:hover { background: var(--danger-soft); color: var(--danger); }

.favorite-add { margin-bottom: 14px; }
