/* ==========================================================================
   LNI Mare — integrazione grafica di Gruppo Sportivo e Invio punteggi
   Stessi colori, caratteri, pulsanti e angoli del resto del sito.
   Caricato dopo gli stili dei plugin: i plugin restano invariati.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Gruppo sportivo — base
   -------------------------------------------------------------------------- */
.lnim-entry .gs-app {
	--gs-navy: var(--paper-ink);
	--gs-blue: var(--paper-link);
	--gs-line: var(--paper-line);
	--gs-muted: var(--paper-muted);
	--gs-tint: rgba(10, 116, 102, .09);
	max-width: none;
	margin: 0;
	color: var(--paper-ink);
	font-family: var(--font);
	font-size: 16px;
}
.lnim-entry .gs-app h1, .lnim-entry .gs-app h2, .lnim-entry .gs-app h3, .lnim-entry .gs-app h4 {
	font-family: var(--font-display); color: var(--paper-ink); letter-spacing: -.02em; margin-top: 0;
}
.lnim-entry .gs-app a { color: var(--paper-link); }
.lnim-entry .gs-app .gs-muted, .lnim-entry .gs-app small { color: var(--paper-muted); }

/* Niente doppio riquadro: il contenuto sta direttamente nella pagina, come il resto del sito. */
.lnim-entry .gs-app.gs-workspace { background: transparent; border: 0; border-radius: 0; padding: 0; }

/* Il titolo e la descrizione sono già nella testata della pagina: niente stemma e titolo ripetuti. */
.lnim-entry .gs-app .gs-brand,
.lnim-entry .gs-app .gs-account-brand,
.lnim-entry .gs-app .gs-topbar h1,
.lnim-entry .gs-app.gs-account > h2 { display: none; }

/* Barra utente: nome e ruolo a sinistra, azioni a destra. */
.lnim-entry .gs-app .gs-topbar {
	align-items: center; margin: 0 0 8px; padding: 14px 18px;
	background: var(--paper-card); border: 1px solid var(--paper-line); border-radius: 18px;
}
.lnim-entry .gs-app .gs-topbar p { margin: 0; font-weight: 600; }
.lnim-entry .gs-app .gs-topbar p .gs-muted { font-weight: 400; }
.lnim-entry .gs-app .gs-top-actions { padding: 0; gap: 8px; align-items: center; }
.lnim-entry .gs-app .gs-top-actions .gs-text-link {
	display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px;
	border: 1.5px solid var(--paper-line); border-radius: 999px; background: transparent;
	color: var(--paper-ink); font-size: 14px; font-weight: 700; text-decoration: none;
}
.lnim-entry .gs-app .gs-top-actions .gs-text-link:hover { border-color: var(--paper-ink); text-decoration: none; }

/* --------------------------------------------------------------------------
   Navigazione interna: schede, filtri, passi
   -------------------------------------------------------------------------- */
.lnim-entry .gs-app .gs-main-nav { margin-top: 18px; border-bottom: 1px solid var(--paper-line); }
.lnim-entry .gs-app .gs-main-nav a { color: var(--paper-muted); font-weight: 700; border-bottom-width: 3px; }
.lnim-entry .gs-app .gs-main-nav a:hover { color: var(--paper-ink); text-decoration: none; }
.lnim-entry .gs-app .gs-main-nav a[aria-current] { color: var(--paper-ink); border-color: var(--accent); }

.lnim-entry .gs-app .gs-pills a {
	border: 1.5px solid var(--paper-line); border-radius: 999px; background: transparent;
	color: var(--paper-ink); font-weight: 600; padding: 8px 16px;
}
.lnim-entry .gs-app .gs-pills a:hover { border-color: var(--paper-ink); text-decoration: none; }
.lnim-entry .gs-app .gs-pills a[aria-current] { background: var(--paper-ink); border-color: var(--paper-ink); color: #fff; }

.lnim-entry .gs-app .gs-step-nav a { border-radius: 16px; border-color: var(--paper-line); color: var(--paper-muted); }
.lnim-entry .gs-app .gs-step-nav span { background: #EDF1F5; line-height: 26px; }
.lnim-entry .gs-app .gs-step-nav a[aria-current] { border-color: var(--paper-link); color: var(--paper-ink); background: var(--gs-tint); }
.lnim-entry .gs-app .gs-step-nav a[aria-current] span { background: var(--paper-link); color: #fff; }

.lnim-entry .gs-app .gs-section-heading h2 { font-size: clamp(24px, 2.6vw, 30px); font-weight: 800; }

/* --------------------------------------------------------------------------
   Pulsanti: come quelli del sito
   -------------------------------------------------------------------------- */
.lnim-entry .gs-app .gs-button,
.lnim-entry .gs-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 12px 22px; border: 1.5px solid transparent; border-radius: 999px;
	background: var(--accent); color: var(--accent-ink);
	font: 700 15px/1.2 var(--font); text-decoration: none; filter: none;
	transition: transform .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.lnim-entry .gs-app .gs-button:hover { background: #6BEAD7; color: var(--accent-ink); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(62, 224, 200, .22); text-decoration: none; filter: none; }
.lnim-entry .gs-app .gs-button-danger { background: #B42323; color: #fff; }
.lnim-entry .gs-app .gs-button-danger:hover { background: #961B1B; color: #fff; box-shadow: none; }

.lnim-entry .gs-app .gs-secondary,
.lnim-entry .gs-app .gs-choice button {
	border: 1.5px solid var(--paper-line); border-radius: 999px; background: var(--paper-card);
	color: var(--paper-ink); font: 700 14px/1.2 var(--font);
}
.lnim-entry .gs-app .gs-secondary:hover,
.lnim-entry .gs-app .gs-choice button:hover { border-color: var(--paper-ink); background: var(--paper-card); color: var(--paper-ink); }
.lnim-entry .gs-app .gs-choice button[aria-pressed=true],
.lnim-entry .gs-app .gs-choice button[aria-pressed=true]:hover { background: var(--paper-ink); border-color: var(--paper-ink); color: #fff; }

.lnim-entry .gs-app .gs-text-link,
.lnim-entry .gs-app .gs-edit-hint,
.lnim-entry .gs-app .gs-inline-edit summary,
.lnim-entry .gs-app .gs-crew-person summary,
.lnim-entry .gs-app .gs-more-days > summary { color: var(--paper-link); }
.lnim-entry .gs-app details > summary::after { border-color: var(--paper-link); }

/* --------------------------------------------------------------------------
   Uscite
   -------------------------------------------------------------------------- */
.lnim-entry .gs-app .gs-outing {
	border: 1px solid var(--paper-line); border-radius: 22px; background: var(--paper-card);
	transition: box-shadow .2s, transform .2s;
}
.lnim-entry .gs-app .gs-outing:hover { box-shadow: 0 18px 40px rgba(20, 32, 46, .08); }
.lnim-entry .gs-app .gs-outing.gs-st-draft { border-style: dashed; background: #FBFCFD; }
.lnim-entry .gs-app .gs-outing-copy h3 { font-size: clamp(20px, 2.2vw, 24px); font-weight: 800; }
.lnim-entry .gs-app .gs-outing-copy h3 a { color: var(--paper-ink); }
.lnim-entry .gs-app .gs-outing-copy p { color: var(--paper-muted); font-size: 15px; }
.lnim-entry .gs-app .gs-card-footer { border-top-color: var(--paper-line); background: #FAFBFC; }

.lnim-entry .gs-app .gs-date-tile,
.lnim-entry .gs-app .gs-agenda-day {
	border: 0; border-radius: 16px; background: var(--paper-ink); color: #fff;
}
.lnim-entry .gs-app .gs-date-tile span { color: var(--accent); font-weight: 700; letter-spacing: .06em; }
.lnim-entry .gs-app .gs-st-draft .gs-date-tile { background: #E8EDF2; color: var(--paper-ink); }
.lnim-entry .gs-app .gs-st-draft .gs-date-tile span { color: var(--paper-muted); }

/* Tipo uscita: allenamento verde acqua, regata blu notte */
.lnim-entry .gs-app .gs-kind { border-radius: 999px; padding: 4px 10px; background: var(--gs-tint); color: var(--paper-link); letter-spacing: .08em; }
.lnim-entry .gs-app .gs-kind-race { background: var(--paper-ink); color: var(--accent); }
.lnim-entry .gs-app .gs-agenda-race .gs-agenda-day { background: var(--accent); color: var(--accent-ink); }

.lnim-entry .gs-app .gs-empty-state { border: 1.5px dashed var(--paper-line); border-radius: 22px; background: var(--paper-card); }
.lnim-entry .gs-app .gs-empty-state strong { font-family: var(--font-display); }

/* --------------------------------------------------------------------------
   Calendario
   -------------------------------------------------------------------------- */
.lnim-entry .gs-app .gs-calendar { border-radius: 18px; border-color: var(--paper-line); background: var(--paper-line); }
.lnim-entry .gs-app .gs-weekday { background: #EEF2F6; color: var(--paper-muted); letter-spacing: .06em; text-transform: uppercase; font-size: 11px; }
.lnim-entry .gs-app .gs-event { border-radius: 8px; border-left-color: var(--paper-link); background: var(--gs-tint); color: var(--paper-ink); }
.lnim-entry .gs-app .gs-event.gs-race,
.lnim-entry .gs-app .gs-race { background: var(--paper-ink); border-color: var(--accent); color: #fff; }
.lnim-entry .gs-app .gs-agenda a { color: var(--paper-ink); }

/* --------------------------------------------------------------------------
   Riquadri, elenchi, etichette
   -------------------------------------------------------------------------- */
.lnim-entry .gs-app .gs-card,
.lnim-entry .gs-app .gs-boat-card,
.lnim-entry .gs-app .gs-crew { border-color: var(--paper-line); border-radius: 22px; box-shadow: none; background: var(--paper-card); }
.lnim-entry .gs-app .gs-notice { background: var(--gs-tint); border-left-color: var(--paper-link); border-radius: 12px; }
.lnim-entry .gs-app .gs-action-bar { background: var(--gs-tint); border-color: rgba(10, 116, 102, .25); border-radius: 18px; }
.lnim-entry .gs-app .gs-status-bar { border-radius: 18px; }
.lnim-entry .gs-app .gs-count,
.lnim-entry .gs-app .gs-seat-count,
.lnim-entry .gs-app .gs-badge { background: var(--gs-tint); color: var(--paper-link); border-radius: 999px; }
.lnim-entry .gs-app .gs-status-label { background: #EDF1F5; border-radius: 999px; }
.lnim-entry .gs-app .gs-stats > div { background: var(--paper-card); border: 1px solid var(--paper-line); border-radius: 18px; }
.lnim-entry .gs-app .gs-stats strong { font-family: var(--font-display); color: var(--paper-ink); }
.lnim-entry .gs-app .gs-summary-strip strong,
.lnim-entry .gs-app .gs-response-summary strong { color: var(--paper-ink); font-family: var(--font-display); }
.lnim-entry .gs-app .gs-order { background: #EDF1F5; color: var(--paper-muted); }
.lnim-entry .gs-app table thead { background: #EEF2F6; }
.lnim-entry .gs-app th, .lnim-entry .gs-app td { border-bottom-color: var(--paper-line); }

/* --------------------------------------------------------------------------
   Campi dei moduli, come nella ricerca del sito
   -------------------------------------------------------------------------- */
.lnim-entry .gs-app input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]),
.lnim-entry .gs-app select,
.lnim-entry .gs-app textarea {
	border: 1.5px solid var(--paper-line); border-radius: 14px; background: #fff; color: var(--paper-ink);
	min-height: 48px; padding: 11px 14px; font: 500 16px/1.4 var(--font);
}
.lnim-entry .gs-app input:focus, .lnim-entry .gs-app select:focus, .lnim-entry .gs-app textarea:focus {
	outline: none; border-color: var(--paper-link); box-shadow: 0 0 0 4px rgba(10, 116, 102, .14);
}
.lnim-entry .gs-app label { color: var(--paper-ink); }
.lnim-entry .gs-app .gs-check input { accent-color: var(--paper-link); }
.lnim-entry .gs-app :focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

/* --------------------------------------------------------------------------
   Accesso (non ancora collegati)
   -------------------------------------------------------------------------- */
.lnim-entry .gs-app.gs-account {
	max-width: 520px; margin: 0 auto; padding: 32px;
	background: var(--paper-card); border: 1px solid var(--paper-line); border-radius: 24px; box-shadow: 0 18px 40px rgba(20, 32, 46, .06);
}
.lnim-entry .gs-app.gs-account > h3 { font-size: 26px; font-weight: 800; text-align: left; margin: 0 0 6px; }
.lnim-entry .gs-app.gs-account .gs-form { max-width: none; margin: 18px 0 0; }
.lnim-entry .gs-app.gs-account .gs-form .gs-button { width: 100%; margin-top: 16px; }
.lnim-entry .gs-app.gs-account .gs-account-links { border-top-color: var(--paper-line); }
.lnim-entry .gs-app.gs-account .gs-account-links a { color: var(--paper-link); font-weight: 700; }
.lnim-entry .gs-app .gs-password .gs-eye { color: var(--paper-muted); }

@media (max-width: 760px) {
	.lnim-entry .gs-app .gs-topbar { flex-direction: row; flex-wrap: wrap; align-items: center; padding: 12px 14px; gap: 10px; }
	.lnim-entry .gs-app .gs-topbar > div:first-child { flex: 1 1 160px; min-width: 0; }
	.lnim-entry .gs-app .gs-top-actions .gs-text-link { min-height: 38px; padding: 0 14px; font-size: 13px; }
	.lnim-entry .gs-app .gs-main-nav { margin-top: 10px; }
	.lnim-entry .gs-app .gs-outing { border-radius: 18px; }
	.lnim-entry .gs-app .gs-choice button { border-radius: 14px; }
	.lnim-entry .gs-app.gs-account, .lnim-entry .gs-app.gs-account.gs-has-gutter { padding: 22px 18px; border: 1px solid var(--paper-line); border-radius: 22px; }
	.lnim-entry .gs-app.gs-account > h3 { font-size: 22px; }
}

/* --------------------------------------------------------------------------
   Invio punteggi: il plugin usa già i colori del sito; la frase introduttiva
   è nella testata della pagina, quindi non si ripete.
   -------------------------------------------------------------------------- */
.lnim-entry .lnisx .lnisx-lead { display: none; }

/* Gruppo sportivo: ultime tinte blu del plugin → verde acqua / blu notte del sito */
.lnim-entry .gs-app .gs-planned-boat input,
.lnim-entry .gs-app .gs-audience-option input,
.lnim-entry .gs-app .gs-invitee input { accent-color: var(--paper-link); }
.lnim-entry .gs-app .gs-planned-boat { border-radius: 16px; }
.lnim-entry .gs-app .gs-planned-boat:has(input:checked) { border-color: rgba(10, 116, 102, .45); background: var(--gs-tint); }
.lnim-entry .gs-app .gs-audience-option { border-radius: 16px; }
.lnim-entry .gs-app .gs-audience-option:has(input:checked),
.lnim-entry .gs-app .gs-audience-option.gs-is-checked { border-color: var(--paper-link); box-shadow: 0 0 0 1px var(--paper-link) inset; background: var(--gs-tint); }
.lnim-entry .gs-app .gs-audience-option input[type=radio]:checked { border-color: var(--paper-link); background: radial-gradient(circle, var(--paper-link) 0 5px, #fff 6px); }
.lnim-entry .gs-app .gs-new-boat > summary,
.lnim-entry .gs-app .gs-link-tool,
.lnim-entry .gs-app .gs-save-bar.gs-dirty p,
.lnim-entry .gs-app .gs-report-split .gs-cell-training .gs-ratio { color: var(--paper-link); }
.lnim-entry .gs-app .gs-crew-row.gs-changed { background: linear-gradient(90deg, var(--gs-tint), transparent); box-shadow: inset 3px 0 0 var(--paper-link); }
.lnim-entry .gs-app .gs-join-self { background: var(--gs-tint); border-color: rgba(10, 116, 102, .25); }
.lnim-entry .gs-app .gs-eye[aria-pressed=true] { color: var(--paper-link); }
.lnim-entry .gs-app .gs-stats .gs-stat-training { background: var(--gs-tint); }
.lnim-entry .gs-app .gs-sw-training, .lnim-entry .gs-app .gs-sw-closed { background: var(--gs-tint); border-left-color: var(--paper-link); }
.lnim-entry .gs-app .gs-sw-race { background: var(--paper-ink); border-left-color: var(--accent); }
/* Barche senza un colore scelto: verde acqua invece del blu predefinito */
.lnim-entry .gs-app .gs-boat-badge[style*="#175fbd"], .lnim-entry .gs-app .gs-icon-tile[style*="#175fbd"] { --gs-boat: #0A7466 !important; }

/* --------------------------------------------------------------------------
   Accesso rapido soci (1.0.15): menu da telefono e barra in basso
   -------------------------------------------------------------------------- */
.lnim-drawer-quick { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 4px 0 14px; }
.lnim-drawer-quick-item {
	display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 16px;
	border-radius: 18px; background: var(--surface); border: 1px solid var(--line-2);
	color: var(--ink); font: 700 16px/1.2 var(--font); text-decoration: none;
}
.lnim-drawer-quick-item svg { width: 26px; height: 26px; color: var(--accent); }
.lnim-drawer-quick-item:hover, .lnim-drawer-quick-item[aria-current] { border-color: var(--accent); color: #fff; }



/* --------------------------------------------------------------------------
   Navigazione semplificata (1.0.17): "Area soci" unica, in alto a destra
   -------------------------------------------------------------------------- */
.lnim-soci { position: relative; display: flex; align-items: center; }
.lnim-soci-toggle .lnim-ic:last-child { width: 14px; height: 14px; opacity: .7; transition: transform .15s; }
.lnim-soci:hover .lnim-soci-toggle .lnim-ic:last-child, .lnim-soci:focus-within .lnim-soci-toggle .lnim-ic:last-child { transform: rotate(180deg); }
.lnim-soci.is-active .lnim-soci-toggle { color: var(--accent); }
.lnim-soci-drop {
	position: absolute; top: calc(100% + 10px); right: 0; z-index: 60; width: 300px; margin: 0; padding: 8px; list-style: none;
	background: var(--surface); border: 1px solid var(--line-2); border-radius: 18px; box-shadow: 0 24px 50px rgba(0, 0, 0, .4);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s, transform .15s, visibility .15s;
}
.lnim-soci-drop::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.lnim-soci:hover .lnim-soci-drop, .lnim-soci:focus-within .lnim-soci-drop { opacity: 1; visibility: visible; transform: none; }
.lnim-soci-drop a { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 12px; color: var(--ink); text-decoration: none; }
.lnim-soci-drop a:hover, .lnim-soci-drop a[aria-current] { background: rgba(255, 255, 255, .06); color: #fff; }
.lnim-soci-drop strong { display: block; font-size: 15px; }
.lnim-soci-drop small { display: block; font-size: 13px; color: var(--muted-2, #9FB3C8); }
.lnim-soci-ic { display: inline-flex; flex: none; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 12px; background: var(--accent-soft); color: var(--accent); }
.lnim-members-m { display: none; background: none; border: 0; cursor: pointer; font-family: var(--font); }
.lnim-drawer-label { margin: 6px 0 10px; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); }
@media (max-width: 1180px) {
	.lnim-soci { display: none; }
	.lnim-header-actions .lnim-members-m { display: inline-flex; }
}
@media (max-width: 380px) { .lnim-header-actions .lnim-members-m { display: none; } }
