:root {
color-scheme: dark;
--verde:   #2D7A3A;
--verde-scuro: #23602e;
--blu:     #1A4E8C;
--arancio: #C45C1A;
--testo:   #E8EDF2;
--tenue:   #9AA7B4;
--bordo:   #2C3742;
--sfondo:  #131A21;
--card:    #1B232C;
--raggio:  10px;
--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
--club: var(--verde);
}
:root[data-club="delta"] { --club: #E40084; }
:root[data-club="vlc"]   { --club: #1A4E8C; }
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;
background: var(--sfondo);
color: var(--testo);
font-size: 17px;
line-height: 1.45;
-webkit-text-size-adjust: 100%;
}
.contenitore { max-width: 640px; margin: 0 auto; padding: 0 16px 40px; }
.contenitore { padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px)); }
.testata {
background: var(--blu);
color: #fff;
padding: 18px 16px;
padding-top: calc(18px + env(safe-area-inset-top, 0px));
position: sticky;
top: 0;
z-index: 10;
}
.testata .interno { max-width: 640px; margin: 0 auto; }
.testata h1 { margin: 0; font-size: 1.25rem; font-weight: 700; }
.testata .fase { margin: 2px 0 0; font-size: .9rem; opacity: .85; }
.indietro {
display: inline-block; color: #fff; text-decoration: none;
font-size: .95rem; opacity: .9; margin-bottom: 6px;
}
.indietro:active { opacity: .6; }
.card {
background: var(--card);
border: 1px solid var(--bordo);
border-radius: var(--raggio);
margin-top: 14px;
overflow: hidden;
}
.card-corpo { padding: 16px; }
.card-settimana { border-left: 5px solid var(--verde); }
.card-settimana .etichetta-fase {
color: var(--verde); font-weight: 700; font-size: .8rem;
text-transform: uppercase; letter-spacing: .04em;
}
.card-settimana h2 { margin: 4px 0 6px; font-size: 1.2rem; }
.card-settimana .date { color: var(--tenue); font-size: .9rem; }
.card-settimana .descrizione { margin: 10px 0 0; color: var(--tenue); font-size: .95rem; }
.titolo-sezione {
margin: 26px 0 0; font-size: .8rem; font-weight: 700; color: var(--tenue);
text-transform: uppercase; letter-spacing: .06em;
}
.giorno {
display: flex; align-items: center; gap: 12px;
width: 100%; text-align: left; cursor: pointer;
background: var(--card); border: 1px solid var(--bordo);
border-radius: var(--raggio); padding: 16px; margin-top: 12px;
font: inherit; color: inherit; min-height: 68px;
}
.giorno:active { background: #eef1f4; }
.giorno.oggi { border-color: var(--verde); border-width: 2px; }
.giorno .testo { flex: 1; min-width: 0; }
.giorno .nome { font-weight: 600; font-size: 1.05rem; }
.giorno .data { color: var(--tenue); font-size: .85rem; margin-top: 2px; }
.giorno .freccia { color: var(--tenue); font-size: 1.4rem; line-height: 1; }
.stato {
font-size: .75rem; font-weight: 700; padding: 4px 10px; border-radius: 999px;
text-transform: uppercase; letter-spacing: .03em; white-space: nowrap;
}
.stato.completato { background: #e3f2e6; color: var(--verde-scuro); }
.stato.cominciato { background: #fdf0da; color: #8a5a12; }
.stato.oggi       { background: var(--verde); color: #fff; }
.stato.previsto   { background: #eceff2; color: var(--tenue); }
.blocco { margin-top: 14px; }
.blocco-testa {
display: flex; align-items: center; gap: 12px; width: 100%;
padding: 16px; background: var(--card); border: 0; cursor: pointer;
font: inherit; color: inherit; text-align: left; min-height: 62px;
}
.blocco-testa:active { background: #eef1f4; }
.blocco-testa .tipo { flex: 1; font-weight: 700; font-size: 1.05rem; }
.blocco-testa .quanti { color: var(--tenue); font-size: .85rem; }
.blocco-testa .chevron { transition: transform .18s ease; color: var(--tenue); font-size: 1.1rem; }
.blocco[aperto] .blocco-testa .chevron { transform: rotate(90deg); }
.blocco-corpo { display: none; border-top: 1px solid var(--bordo); }
.blocco[aperto] .blocco-corpo { display: block; }
.blocco[data-tipo="wu"],
.blocco[data-tipo="prep"]   { border-left: 5px solid var(--arancio); }
.blocco[data-tipo="ply"],
.blocco[data-tipo="pow"],
.blocco[data-tipo="vbt"]    { border-left: 5px solid var(--verde); }
.blocco[data-tipo="wl"],
.blocco[data-tipo="hrt"]    { border-left: 5px solid var(--blu); }
.blocco[data-tipo="iso"],
.blocco[data-tipo="acc"],
.blocco[data-tipo="core"],
.blocco[data-tipo="fin"]    { border-left: 5px solid var(--tenue); }
.esercizio { padding: 14px 16px; border-bottom: 1px solid var(--bordo); }
.esercizio:last-child { border-bottom: 0; }
.esercizio .riga-alta { display: flex; align-items: baseline; gap: 10px; }
.esercizio .nome {
flex: 1; color: var(--blu); font-weight: 600; font-size: 1.02rem;
text-decoration: none; border-bottom: 1px dotted var(--blu); padding-bottom: 1px;
}
.esercizio .nome:active { color: var(--arancio); }
.esercizio .volume { font-weight: 700; white-space: nowrap; }
.esercizio .prescrizione {
display: inline-block; margin-top: 6px; color: var(--arancio);
font-weight: 600; font-size: .9rem;
}
.esercizio .carico-piano {
margin-top: 6px; font-weight: 700; font-size: 1rem; color: var(--arancio);
font-variant-numeric: tabular-nums;
}
.esercizio .carico-piano.mancante { font-weight: 400; font-size: .88rem; color: var(--tenue); }
.esercizio .carico-modulato {
font-size: .82rem; color: var(--tenue); margin-top: 2px;
}
.esercizio .carico-variante {
font-size: .82rem; color: var(--tenue); margin-top: 2px;
}
.esercizio .ritmo {
margin-top: 4px; font-size: .85rem; color: var(--testo, inherit); font-family: var(--mono);
font-variant-numeric: tabular-nums; letter-spacing: -.01em;
}
.esercizio .note { margin-top: 4px; color: var(--tenue); font-size: .88rem; }
.esercizio .kg { margin-top: 8px; font-size: .95rem; }
.esercizio .kg .valore { font-weight: 700; }
.esercizio .kg .vuoto { color: var(--tenue); }
.pagina-login {
min-height: 100vh; min-height: 100dvh;
display: flex; flex-direction: column; justify-content: center;
padding: 24px; max-width: 440px; margin: 0 auto;
}
.pagina-login {
padding-top: calc(24px + env(safe-area-inset-top, 0px));
padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
}
.marchio { text-align: center; margin-bottom: 32px; }
.marchio h1 { margin: 0; color: var(--verde); font-size: 2rem; letter-spacing: -.02em; }
.marchio p { margin: 6px 0 0; color: var(--tenue); }
label { display: block; font-weight: 600; margin-bottom: 8px; }
input[type="text"] {
width: 100%; padding: 18px 16px; font-size: 1.35rem; font-weight: 600;
text-align: center; letter-spacing: .12em; text-transform: uppercase;
border: 2px solid var(--bordo); border-radius: var(--raggio);
background: #fff; color: var(--testo);
}
input[type="text"]:focus { outline: none; border-color: var(--verde); }
.bottone {
width: 100%; margin-top: 14px; padding: 18px; min-height: 56px;
font-size: 1.1rem; font-weight: 700; color: #fff; background: var(--verde);
border: 0; border-radius: var(--raggio); cursor: pointer;
}
.bottone:active { background: var(--verde-scuro); }
.bottone:disabled { opacity: .6; cursor: default; }
.bottone-tenue {
display: block; width: 100%; margin-top: 28px; padding: 14px;
background: transparent; border: 1px solid var(--bordo); border-radius: var(--raggio);
color: var(--tenue); font: inherit; font-size: .95rem; cursor: pointer;
}
.concludi #stato-seduta { margin: 28px 0 0; text-align: center; color: var(--tenue); }
.errore {
margin-top: 14px; padding: 14px 16px; border-radius: var(--raggio);
background: #fdeceb; border: 1px solid #f2b8b5; color: #8c1d18;
font-size: .95rem;
}
.avviso {
margin-top: 14px; padding: 16px; border-radius: var(--raggio);
background: #fff6ed; border: 1px solid #f0cfae; color: #7a3b0d;
}
.avviso-anteprima {
background: #eef4fb; border-color: #c4d8ef; color: #1a3f6b;
display: flex; flex-direction: column; gap: 4px;
}
.avviso-anteprima strong { letter-spacing: .04em; text-transform: uppercase; font-size: .8rem; }
.avviso-anteprima .minuto { color: #45607e; font-size: .9rem; }
.avviso-aggiornata {
display: flex; flex-direction: column; gap: 4px;
cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.avviso-aggiornata strong { letter-spacing: .04em; text-transform: uppercase; font-size: .8rem; }
.avviso-aggiornata span { font-size: .9rem; }
.caricamento { padding: 40px 0; text-align: center; color: var(--tenue); }
[hidden] { display: none !important; }
.esercizio .nome { color: #7fb0ee; border-bottom-color: #7fb0ee; }
.stato.completato { background: #1e3a24; color: #8fd39c; }
.stato.cominciato { background: #3a2f16; color: #e0b366; }
.stato.previsto   { background: #26303a; }
input[type="text"] { background: #10161c; }
.errore { background: #3b1a18; border-color: #6b2b26; color: #f5b8b2; }
.avviso { background: #3a2716; border-color: #6b4a26; color: #f0c79a; }
.avviso-anteprima { background: #172736; border-color: #2c4560; color: #b9d3ef; }
.avviso-anteprima .minuto { color: #8fa9c4; }
.avviso-aggiornata:active { background: #4a3220; }
.giorno:active, .blocco-testa:active { background: #232d38; }
.riga-kg { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.riga-kg label { margin: 0; font-size: .9rem; color: var(--tenue); font-weight: 600; }
.campo-kg {
width: 110px; padding: 12px 10px; font-size: 1.15rem; font-weight: 700;
text-align: center; border: 2px solid var(--bordo); border-radius: 10px;
background: var(--card); color: var(--testo); font-family: inherit;
}
.campo-kg::placeholder { color: var(--tenue); font-weight: 600; opacity: 1; }
.campo-kg:focus { outline: none; border-color: var(--verde); }
.campo-kg.modificato { border-color: var(--arancio); }
.campo-kg.salvato { border-color: var(--verde); }
.riga-kg .unita { font-weight: 700; color: var(--tenue); }
.riga-kg .precedente { font-size: .85rem; color: var(--tenue); margin-left: auto; }
.riga-rpe { margin-top: 10px; }
.riga-rpe label { display: block; margin: 0 0 6px; font-size: .9rem;
color: var(--tenue); font-weight: 600; }
.riga-rpe .precedente { display: block; margin-top: 6px; font-size: .85rem;
color: var(--tenue); text-align: right; }
.scala-rpe.modificato { box-shadow: inset 0 0 0 2px var(--arancio); border-radius: 12px; }
.scala-rpe.salvato    { box-shadow: inset 0 0 0 2px var(--verde);   border-radius: 12px; }
.piede-blocco { padding: 14px 16px; border-top: 1px solid var(--bordo); }
.piede-blocco .bottone { margin-top: 0; }
.esito {
margin-top: 10px; padding: 12px 14px; border-radius: 10px;
font-size: .95rem; font-weight: 600;
}
.esito.ok      { background: #e3f2e6; color: var(--verde-scuro); }
.esito.ko      { background: #fdeceb; color: #8c1d18; }
.blocco.completo .blocco-testa .tipo::after { content: ' ✓'; color: var(--verde); }
.schermata {
position: fixed; inset: 0; z-index: 50; overflow-y: auto;
background: var(--sfondo); padding: 24px 16px 40px;
}
.schermata {
padding-top: calc(24px + env(safe-area-inset-top, 0px));
padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px));
}
.schermata .interno { max-width: 560px; margin: 0 auto; }
.schermata h2 { margin: 0 0 6px; font-size: 1.5rem; color: var(--verde); }
.schermata p.intro { margin: 0 0 24px; color: var(--tenue); }
.schermata h3 { margin: 24px 0 10px; font-size: 1.05rem; }
.scala { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.scala.dieci { grid-template-columns: repeat(5, 1fr); }
.scala button {
padding: 14px 0; min-height: 52px; font-size: 1.05rem; font-weight: 700;
border: 2px solid var(--bordo); border-radius: 10px;
background: var(--card); color: var(--testo); cursor: pointer; font-family: inherit;
}
.scala button[aria-pressed="true"] { background: var(--verde); border-color: var(--verde); color: #fff; }
.estremi {
display: flex; justify-content: space-between; margin-top: 6px;
font-size: .78rem; color: var(--tenue);
}
.voce { margin-top: 22px; }
.voce > .domanda { font-weight: 600; margin-bottom: 8px; }
.campo-ore {
width: 100%; padding: 16px; font-size: 1.3rem; font-weight: 700; text-align: center;
border: 2px solid var(--bordo); border-radius: var(--raggio);
background: var(--card); color: var(--testo); font-family: inherit;
}
.campo-ore:focus { outline: none; border-color: var(--verde); }
.badge-wellness {
display: inline-block; margin-top: 12px; padding: 6px 12px; border-radius: 999px;
background: #e3f2e6; color: var(--verde-scuro); font-size: .82rem; font-weight: 700;
}
.esito.ok, .badge-wellness { background: #1e3a24; color: #8fd39c; }
.esito.ko { background: #3b1a18; color: #f5b8b2; }
.titolo-sezione,
.card-settimana .etichetta-fase,
.stato {
font-family: var(--mono);
font-weight: 500;
letter-spacing: .16em;
text-transform: uppercase;
}
.titolo-sezione {
display: flex; align-items: center; gap: 12px;
font-size: .72rem; color: var(--tenue);
}
.titolo-sezione::after {
content: ''; flex: 1; height: 1px; background: var(--bordo);
}
.card-settimana .etichetta-fase { font-size: .7rem; color: var(--club); }
.card-settimana { border-left-color: var(--club); }
.testata {
background: var(--card);
border-bottom: 1px solid var(--bordo);
box-shadow: inset 0 3px 0 var(--club);
}
.stato {
font-size: .66rem; padding: 4px 9px;
background: transparent; border: 1px solid currentColor;
}
.stato.completato { background: transparent; color: #8fd39c; }
.stato.cominciato { background: transparent; color: #e0b366; }
.stato.oggi       { background: transparent; color: var(--club); }
.stato.previsto   { background: transparent; color: var(--tenue); }
.giorno.oggi      { border-color: var(--club); }
.esercizio .volume,
.esercizio .prescrizione,
.riga-kg .precedente,
.campo-kg,
.esercizio .kg .valore { font-variant-numeric: tabular-nums; }
.esercizio .volume { font-family: var(--mono); font-size: .95rem; letter-spacing: -.01em; }
.campo-kg { font-family: var(--mono); }
@keyframes componi {
from { opacity: 0; letter-spacing: .5em; }
to   { opacity: 1; letter-spacing: .16em; }
}
.titolo-sezione,
.card-settimana .etichetta-fase { animation: componi .45s ease-out both; }
@media (prefers-reduced-motion: reduce) {
.titolo-sezione,
.card-settimana .etichetta-fase { animation: none; }
}
.giorno.oggi { position: relative; overflow: hidden; }
.giorno.oggi::before {
content: ''; position: absolute; top: 0; left: 0; width: 38%; height: 2px;
background: linear-gradient(90deg, transparent, var(--club), transparent);
animation: sweep 3.5s ease-in-out infinite;
}
@keyframes sweep { 0% { transform: translateX(-100%) } 100% { transform: translateX(360%) } }
.avviso-anteprima { position: relative; overflow: hidden; }
.avviso-anteprima::after {
content: ''; position: absolute; inset: 0; pointer-events: none;
background: repeating-linear-gradient(135deg,
rgba(245,241,234,.035) 0 2px, transparent 2px 12px);
animation: trama 9s linear infinite;
}
@keyframes trama { from { background-position: 0 0 } to { background-position: 120px 0 } }
.avviso-anteprima strong::before {
content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%;
background: currentColor; margin-right: 7px; vertical-align: baseline;
animation: spia 1.9s ease-in-out infinite;
}
@keyframes spia { 0%, 100% { opacity: 1 } 50% { opacity: .25 } }
.blocco[aperto] .blocco-corpo .esercizio { animation: sali .34s ease-out both; }
@keyframes sali { from { opacity: 0; transform: translateY(9px) } to { opacity: 1; transform: none } }
.blocco[aperto] .blocco-corpo .esercizio:nth-child(1) { animation-delay: 120ms; }
.blocco[aperto] .blocco-corpo .esercizio:nth-child(2) { animation-delay: 165ms; }
.blocco[aperto] .blocco-corpo .esercizio:nth-child(3) { animation-delay: 210ms; }
.blocco[aperto] .blocco-corpo .esercizio:nth-child(4) { animation-delay: 255ms; }
.blocco[aperto] .blocco-corpo .esercizio:nth-child(5) { animation-delay: 300ms; }
.blocco[aperto] .blocco-corpo .esercizio:nth-child(6) { animation-delay: 345ms; }
.blocco[aperto] .blocco-corpo .esercizio:nth-child(7) { animation-delay: 390ms; }
.blocco[aperto] .blocco-corpo .esercizio:nth-child(8) { animation-delay: 435ms; }
.blocco[aperto] .blocco-corpo .esercizio:nth-child(9) { animation-delay: 480ms; }
.blocco[aperto] .blocco-corpo .esercizio:nth-child(10) { animation-delay: 525ms; }
.blocco[aperto] .blocco-corpo .esercizio:nth-child(11) { animation-delay: 570ms; }
.blocco[aperto] .blocco-corpo .esercizio:nth-child(12) { animation-delay: 615ms; }
.blocco.completo .blocco-testa .tipo::after { content: none; }
.blocco-testa .spunta { flex: none; opacity: 0; }
.blocco.completo .blocco-testa .spunta { opacity: 1; }
.blocco.completo .blocco-testa .spunta path {
stroke-dasharray: 34; stroke-dashoffset: 34;
animation: traccia .5s ease-out .1s forwards;
}
@keyframes traccia { to { stroke-dashoffset: 0 } }
.campo-kg.salvato { animation: acquisisci .9s ease-out; }
@keyframes acquisisci {
0%   { box-shadow: 0 0 0 0 rgba(111,191,126,.45) }
60%  { box-shadow: 0 0 0 4px rgba(111,191,126,.16) }
100% { box-shadow: 0 0 0 0 rgba(111,191,126,0) }
}
#scala-srpe button[aria-pressed="true"] ~ button,
.scala button[aria-pressed="true"] ~ button { opacity: .28; }
#scala-srpe button[aria-pressed="true"],
.scala button[aria-pressed="true"] { border-color: var(--club); color: var(--club); }
#scala-srpe button, .scala button { transition: opacity .18s ease, border-color .18s ease; }
.scala:not(.parole).male-basso:has(button:nth-child(-n+3)[aria-pressed="true"]) button[aria-pressed="true"] {
border-color: var(--arancio); color: var(--arancio);
}
.scala:not(.parole).male-alto:has(button:nth-child(n+5)[aria-pressed="true"]) button[aria-pressed="true"] {
border-color: var(--arancio); color: var(--arancio);
}
.riga-kg .precedente { font-family: var(--mono); font-size: .74rem; letter-spacing: .04em; }
.riga-rpe .precedente { font-family: var(--mono); font-size: .74rem; letter-spacing: .04em; }
.riga-kg .delta { font-family: var(--mono); font-size: .74rem; margin-left: 8px;
animation: entra .4s ease-out both; }
.riga-kg .delta.su  { color: #8fd39c; }
.riga-kg .delta.giu { color: var(--tenue); }
@keyframes entra { from { opacity: 0; transform: translateY(-3px) } to { opacity: 1; transform: none } }
.stato-rete {
position: sticky; bottom: 0; z-index: 9;
margin: 18px -16px 0; padding: 11px 16px;
padding-bottom: calc(11px + env(safe-area-inset-bottom, 0px));
background: var(--card); border-top: 1px solid var(--bordo);
font-family: var(--mono); font-size: .68rem; letter-spacing: .16em; text-transform: uppercase;
color: var(--tenue); display: flex; align-items: center; gap: 8px;
}
.stato-rete::before {
content: ''; width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: none;
}
.stato-rete.ok      { color: #8fd39c; }
.stato-rete.attesa  { color: var(--arancio); }
.stato-rete.attesa::before { animation: spia 1.4s ease-in-out infinite; }
.striscia { margin-top: 14px; display: flex; flex-direction: column; gap: 9px; }
.striscia .voci {
font-family: var(--mono); font-size: .68rem; letter-spacing: .16em; text-transform: uppercase;
color: var(--tenue); display: flex; gap: 8px; flex-wrap: wrap;
}
.striscia .voci .club { color: var(--club); }
.striscia .segmenti { display: flex; gap: 5px; }
.striscia .segmenti i {
display: block; flex: 1; height: 3px; border-radius: 2px; background: var(--bordo);
transform-origin: left; animation: riempi .6s ease-out both;
}
.striscia .segmenti i.pieno { background: var(--club); }
.striscia .segmenti i.mezzo {
background: linear-gradient(to right, var(--club) 50%, var(--bordo) 50%);
}
@keyframes riempi { from { transform: scaleX(0) } to { transform: scaleX(1) } }
@media (prefers-reduced-motion: reduce) {
.giorno.oggi::before,
.avviso-anteprima::after,
.avviso-anteprima strong::before,
.blocco[aperto] .blocco-corpo .esercizio,
.blocco.completo .blocco-testa .spunta path,
.campo-kg.salvato,
.riga-kg .delta,
.stato-rete.attesa::before,
.striscia .segmenti i { animation: none; }
.blocco.completo .blocco-testa .spunta path { stroke-dashoffset: 0; }
.striscia .segmenti i { transform: none; }
}
.card-installa {
margin-top: 18px;
border-left: 5px solid var(--club);
}
.card-installa .testa-installa {
display: flex; align-items: flex-start; justify-content: space-between; gap: 10px;
}
.card-installa h3 {
margin: 0; font-size: 1.05rem; font-weight: 700; line-height: 1.3;
}
.card-installa .chiudi {
flex: 0 0 auto; width: 40px; height: 40px; margin: -8px -8px 0 0;
display: flex; align-items: center; justify-content: center;
background: transparent; border: 0; border-radius: 50%;
color: var(--tenue); font-size: 1.5rem; line-height: 1; cursor: pointer;
}
.card-installa .chiudi:active { background: #232d38; }
.card-installa .spiega {
margin: 8px 0 0; color: var(--tenue); font-size: .95rem;
}
.card-installa .passi { margin: 12px 0 0; padding: 0; list-style: none; }
.card-installa .passi li {
display: flex; align-items: flex-start; gap: 10px;
padding: 7px 0; font-size: .95rem;
}
.card-installa .passi .numero {
flex: 0 0 auto;
width: 22px; height: 22px; margin-top: 1px;
display: flex; align-items: center; justify-content: center;
border-radius: 50%; background: var(--club); color: #fff;
font-size: .75rem; font-weight: 700; font-variant-numeric: tabular-nums;
}
.card-installa .passi .testo { flex: 1 1 auto; }
.card-installa .indirizzo {
margin-top: 12px; padding: 12px; border-radius: var(--raggio);
background: #10161c; border: 1px solid var(--bordo);
}
.card-installa .indirizzo code {
display: block; font-family: var(--mono); font-size: .9rem;
color: var(--testo); word-break: break-all;
}
.card-installa .indirizzo .bottone-tenue { margin-top: 10px; }
.riga-secondaria {
margin-top: 28px;
display: flex; flex-direction: column; gap: 10px;
}
.riga-secondaria .bottone-tenue { margin-top: 0; }
.riga-secondaria .link-tenue {
display: flex; align-items: center; justify-content: center;
text-align: center; padding: 6px; min-height: 44px;
color: var(--tenue); font-size: .9rem; text-decoration: none;
}
.riga-secondaria .link-tenue:active { color: var(--testo); }
.societa {
margin: 0 0 6px; font-size: .95rem; font-weight: 800;
letter-spacing: .04em; text-transform: uppercase; color: var(--verde);
}
.catena { margin: 2px 12px 4px; padding: 0 2px; }
.catena-testa {
display: flex; align-items: center; gap: 8px; padding: 12px 0 6px;
color: var(--club);
}
.catena[data-tipo="superserie"] .catena-testa,
.catena[data-tipo="triset"] .catena-testa { color: var(--verde); }
.catena-testa .icona-sequenza { flex: none; width: 16px; height: 16px; }
.catena-testa .che-cosa {
font-weight: 800; font-size: .76rem; letter-spacing: .07em; text-transform: uppercase;
white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.catena-testa .filo { flex: 1; height: 1px; background: var(--bordo); }
.catena-testa .come { font-size: .76rem; color: var(--tenue); font-family: var(--mono); white-space: nowrap; }
.catena-griglia { display: grid; grid-template-columns: 22px minmax(0, 1fr); column-gap: 12px; }
.catena .guida { display: flex; flex-direction: column; align-items: center; color: var(--club); }
.catena[data-tipo="superserie"] .guida,
.catena[data-tipo="triset"] .guida { color: var(--verde); }
.catena .nodo {
flex: none; width: 20px; height: 20px; border-radius: 999px;
background: var(--club); color: #fff; font-weight: 800; font-size: .7rem;
display: flex; align-items: center; justify-content: center;
}
.catena[data-tipo="superserie"] .nodo,
.catena[data-tipo="triset"] .nodo { background: var(--verde); }
.catena .linea { flex: 1; width: 2px; min-height: 10px; background: currentColor; opacity: .55; }
.catena .linea.fine { background: repeating-linear-gradient(180deg, currentColor 0 5px, transparent 5px 10px); opacity: .7; }
.catena .guida .icona-guida { flex: none; margin-top: 2px; color: var(--arancio); }
.catena .guida .icona-guida + .linea { margin-top: 4px; }
.catena .cella { min-width: 0; padding-bottom: 14px; }
.catena .cella.pausa { padding: 2px 0 10px; }
.catena .capo-recupero { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.catena .capo-recupero .quando { font-size: .78rem; color: var(--tenue); }
.catena .cella .esercizio { padding: 0; border-bottom: 0; }
.catena .cella .esercizio .nome { font-size: 1.02rem; }
.pastiglia {
display: inline-block; font-size: .74rem; font-weight: 700; color: var(--tenue);
background: var(--card); border: 1px solid var(--bordo); border-radius: 999px;
padding: 3px 10px; font-family: var(--mono); line-height: 1.3;
}
.pastiglia.verde {
color: var(--verde); border-color: transparent; font-family: inherit;
background: color-mix(in srgb, var(--verde) 14%, transparent);
}
.pastiglia.arancio {
color: var(--arancio); border-color: transparent; font-family: inherit;
font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
background: color-mix(in srgb, var(--arancio) 12%, transparent);
}
@supports not (background: color-mix(in srgb, red 20%, transparent)) {
.pastiglia.verde { background: #1D2A22; }
.pastiglia.arancio { background: #2A211A; }
}
.catena .dentro-recupero {
margin-top: 6px; padding-left: 10px;
border-left: 2px solid color-mix(in srgb, var(--arancio) 45%, transparent);
}
@supports not (border-color: color-mix(in srgb, red 45%, transparent)) {
.catena .dentro-recupero { border-left-color: #7A4A2A; }
}
.catena .dentro-recupero .esercizio { padding: 0 0 8px; border-bottom: 0; }
.catena .dentro-recupero .esercizio:last-child { padding-bottom: 0; }
.nel-recupero {
border-top: 2px dashed var(--bordo);
background: color-mix(in srgb, var(--arancio) 10%, var(--card));
}
@supports not (background: color-mix(in srgb, red 10%, white)) {
.nel-recupero { background: #24211E; }
}
.nel-recupero .capo { padding: 10px 14px 0; }
.nel-recupero .etichetta {
font-size: .74rem; font-weight: 800; letter-spacing: .05em;
text-transform: uppercase; color: var(--arancio);
}
.nel-recupero .esercizio { border-bottom: 0; padding-top: 8px; }
.blocco[data-tipo="riscaldamento"]  { border-left: 5px solid var(--arancio); }
.blocco[data-tipo="potenza"]        { border-left: 5px solid var(--verde); }
.blocco[data-tipo="forza"]          { border-left: 5px solid var(--blu); }
.blocco[data-tipo="specifico"]      { border-left: 5px solid var(--club); }
.blocco[data-tipo="complementari"],
.blocco[data-tipo="chiusura"]       { border-left: 5px solid var(--tenue); }
.sotto-blocco {
padding: 11px 16px 5px;
font-size: .72rem; font-weight: 800; letter-spacing: .08em;
text-transform: uppercase; color: var(--tenue);
background: var(--card);
}
.sotto-blocco + .esercizio,
.sotto-blocco + .catena { border-top: 0; }
.esercizio + .sotto-blocco { border-top: 1px solid var(--bordo); }
.scala.parole { grid-template-columns: repeat(4, 1fr); gap: 5px; }
.scala.parole button {
padding: 12px 2px; min-height: 52px;
font-size: .78rem; font-weight: 700; letter-spacing: -.01em;
line-height: 1.15; hyphens: auto;
}
.scala.parole.male-alto:has(button:nth-child(n+3)[aria-pressed="true"]) button[aria-pressed="true"] {
border-color: var(--arancio); color: var(--arancio);
}
.estremi-sotto {
margin: -4px 0 8px; font-size: .78rem; color: var(--tenue);
}
.schermata p.intro.tenue { font-size: .84rem; margin: -6px 0 4px; }
.avviso-settimana {
display: block; text-decoration: none;
background: #16281c; border-color: #2c4a34; color: #a8d9b8;
}
.avviso-settimana strong { letter-spacing: .04em; text-transform: uppercase; font-size: .8rem; }
.avviso-settimana .minuto { display: block; margin-top: 4px; color: #86ab93; font-size: .9rem; }
.avviso-dieta .dieta-testa {
display: flex; align-items: flex-start; justify-content: space-between; gap: 10px;
}
.avviso-dieta .chiudi {
flex: 0 0 auto; width: 40px; height: 40px; margin: -10px -10px 0 0;
display: flex; align-items: center; justify-content: center;
background: transparent; border: 0; border-radius: 50%;
color: #86ab93; font-size: 1.5rem; line-height: 1; cursor: pointer;
}
.avviso-dieta .chiudi:active { background: #1e3a24; }
.avviso-dieta .dieta-azioni { display: flex; gap: 10px; margin-top: 12px; }
.avviso-dieta .dieta-azioni .bottone {
flex: 1 1 0; margin-top: 0; padding: 13px 10px; min-height: 48px;
font-size: .95rem; text-align: center; text-decoration: none;
display: flex; align-items: center; justify-content: center;
}
.avviso-dieta .dieta-azioni .bottone-tenue {
flex: 1 1 0; margin-top: 0; padding: 13px 10px; min-height: 48px;
font-size: .95rem; color: #a8d9b8; border-color: #2c4a34;
text-align: center; text-decoration: none;
display: flex; align-items: center; justify-content: center;
}
.avviso-consegna {
background: #2a1a0d; border-color: #7a4413; color: #f0c398;
}
.avviso-consegna .riquadro-testa {
display: flex; align-items: flex-start; justify-content: space-between; gap: 10px;
}
.avviso-consegna strong {
letter-spacing: .04em; text-transform: uppercase; font-size: .8rem;
display: flex; align-items: center; gap: 9px;
}
.avviso-consegna .minuto {
display: block; margin-top: 4px; color: #c69a72; font-size: .9rem;
}
.avviso-consegna .quando { display: block; margin-top: 6px; color: #b0855f; font-size: .82rem; }
.avviso-consegna .chiudi {
flex: 0 0 auto; width: 40px; height: 40px; margin: -10px -10px 0 0;
display: flex; align-items: center; justify-content: center;
background: transparent; border: 0; border-radius: 50%;
color: #c69a72; font-size: 1.5rem; line-height: 1; cursor: pointer;
}
.avviso-consegna .chiudi:active { background: #40260f; }
.avviso-consegna .riquadro-azioni { display: flex; gap: 10px; margin-top: 12px; }
.avviso-consegna .riquadro-azioni .bottone {
flex: 1 1 0; margin-top: 0; padding: 13px 10px; min-height: 48px;
font-size: .95rem; text-align: center; text-decoration: none;
display: flex; align-items: center; justify-content: center;
background: #C45C1A; border-color: #C45C1A; color: #fff;
}
.avviso-consegna .riquadro-azioni .bottone-tenue {
flex: 1 1 0; margin-top: 0; padding: 13px 10px; min-height: 48px;
font-size: .95rem; color: #f0c398; border-color: #7a4413;
text-align: center; text-decoration: none;
display: flex; align-items: center; justify-content: center;
}
.avviso-consegna .radar {
position: relative; flex: 0 0 auto; width: 10px; height: 10px;
border-radius: 50%; background: #ff8c2b; box-shadow: 0 0 8px rgba(255, 140, 43, .8);
}
.avviso-consegna .radar::before,
.avviso-consegna .radar::after {
content: ""; position: absolute; inset: 0; border-radius: 50%;
border: 2px solid #ff8c2b; animation: radar 2.4s cubic-bezier(0, .55, .45, 1) infinite;
}
.avviso-consegna .radar::after { animation-delay: 1.2s; }
@keyframes radar {
0%   { transform: scale(1);   opacity: .9; }
100% { transform: scale(4.2); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
.avviso-consegna .radar::before,
.avviso-consegna .radar::after { animation: none; opacity: 0; }
}
.sbarra-settimane { display: flex; gap: 8px; margin-bottom: 16px; }
.sbarra-settimane .casella {
flex: 1 1 0; min-width: 0;
display: flex; flex-direction: column; gap: 2px;
padding: 10px 12px; min-height: 54px;
background: var(--card); border: 1px solid var(--bordo);
border-radius: var(--raggio);
font: inherit; color: var(--tenue); text-align: left; cursor: pointer;
-webkit-tap-highlight-color: transparent;
}
.sbarra-settimane .quando { font-weight: 700; font-size: .85rem; }
.sbarra-settimane .date { font-size: .78rem; }
.sbarra-settimane .casella.scelta {
color: var(--testo); border-color: var(--club);
box-shadow: inset 0 0 0 1px var(--club);
}
.sbarra-settimane .casella:active { background: #232d38; }
.giorno .rotazione { color: var(--arancio); font-weight: 600; font-size: .85rem; margin-top: 1px; }
.testata .rotazione-giorno { margin: 2px 0 0; color: var(--arancio); font-weight: 700; font-size: .95rem; }
.archivio {
display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px;
margin: 0 0 12px; padding: 8px 12px; border-radius: 10px;
border: 1px solid rgba(255,255,255,.12); font-size: .88rem;
}
.archivio-titolo { font-weight: 700; opacity: .8; margin-right: 4px; }
.archivio-voce {
color: inherit; text-decoration: underline; text-underline-offset: 3px;
display: inline-flex; align-items: center; min-height: 44px;
}
.archivio-voce .nuovo {
margin-left: 5px; padding: 0 5px; border-radius: 6px; font-size: .7rem; font-weight: 700;
text-transform: uppercase; background: var(--arancio); color: #fff; text-decoration: none;
display: inline-block;
}
:root { --rosa: #E40084; --rosa-chiaro: #FF7AC6; }
.riquadro-protocolli {
margin: 0 0 14px; padding: 12px 14px; border-radius: var(--raggio);
background: rgba(228, 0, 132, .10); border: 1px solid rgba(228, 0, 132, .35);
border-left: 5px solid var(--rosa);
animation: respiro-rosa 3s ease-in-out infinite;
}
.riquadro-protocolli[data-stato="calmo"] { animation-duration: 7s; }
.protocolli-testa { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.protocolli-testa strong { color: var(--rosa-chiaro); font-size: 1.02rem; }
.protocolli-testa .quando { color: var(--rosa-chiaro); font-size: .82rem; font-weight: 600; }
.riga-protocollo {
display: flex; align-items: center; gap: 10px; padding: 10px 0;
border-top: 1px solid rgba(228, 0, 132, .2); color: inherit; text-decoration: none;
}
.riga-protocollo:first-child { border-top: 0; }
.riga-protocollo .testo { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.riga-protocollo .nome { font-weight: 600; }
.riga-protocollo .quando { color: var(--tenue); font-size: .85rem; }
.riga-protocollo .pastiglia {
font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em;
padding: 3px 9px; border-radius: 999px; white-space: nowrap;
}
.riga-protocollo .pastiglia.oggi { background: var(--rosa); color: #fff; animation: pulsa-rosa 1.6s ease-in-out infinite; }
.riga-protocollo .pastiglia.fatto { background: var(--verde); color: #fff; }
@keyframes respiro-rosa {
0%, 100% { box-shadow: 0 0 0 0 rgba(228, 0, 132, 0); }
50%      { box-shadow: 0 0 18px 2px rgba(228, 0, 132, .35); }
}
@keyframes pulsa-rosa { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.08); } }
.testata .quando-protocollo { margin: 2px 0 0; color: var(--rosa-chiaro); font-weight: 600; font-size: .95rem; }
.fatto-protocollo { margin: 20px 0 40px; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.tasto-fatto {
width: 100%; min-height: 56px; border: 0; border-radius: var(--raggio); cursor: pointer;
background: var(--rosa); color: #fff; font: inherit; font-weight: 700; font-size: 1.05rem;
}
.tasto-fatto.fatto { background: var(--verde); }
.tappa-protocollo { padding: 10px 16px; color: var(--tenue); font-size: .88rem; font-weight: 600;
border-bottom: 1px solid var(--bordo); }
.avviso-tappe { margin: 14px 0 0; color: var(--tenue); font-size: .9rem; }
@media (prefers-reduced-motion: reduce) {
.riquadro-protocolli, .riga-protocollo .pastiglia.oggi { animation: none; }
}
.zona-esito { margin-top: 8px; }
.azioni-esercizio { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; }
.link-azione {
background: none; border: 0; padding: 6px 0; color: var(--tenue); font: inherit; font-size: .86rem;
text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}
.link-azione:disabled { opacity: .6; }
.link-azione.con-risposta { color: var(--club); font-weight: 600; }
.nota-esercizio { margin-top: 8px; }
.nota-esercizio textarea {
width: 100%; box-sizing: border-box; min-height: 64px; resize: vertical; font: inherit; font-size: .92rem;
background: var(--sfondo); color: var(--testo); border: 1px solid var(--bordo); border-radius: 8px; padding: 8px;
}
.nota-esercizio .riga-dolore { display: flex; align-items: center; gap: 6px; margin-top: 6px; font-size: .9rem; }
.nota-esercizio .scelta-dolore { display: flex; gap: 8px; margin-top: 6px; }
.nota-esercizio select {
font: inherit; font-size: .9rem; background: var(--sfondo); color: var(--testo);
border: 1px solid var(--bordo); border-radius: 8px; padding: 6px;
}
.bottone-nota {
background: var(--club); color: #fff; border: 0; border-radius: 8px; padding: 8px 14px; font: inherit;
font-size: .9rem; font-weight: 600; cursor: pointer;
}
.bottone-nota:disabled { opacity: .6; }
.nota-esercizio .riga { display: flex; gap: 10px; margin-top: 8px; align-items: center; }
.nota-esercizio .tenue { color: var(--tenue); }
.nota-esercizio .piccolo { font-size: .8rem; }
.note-passate { list-style: none; margin: 10px 0 0; padding: 0; font-size: .88rem; }
.note-passate li { padding: 6px 0; border-top: 1px solid var(--bordo); }
.note-passate li.con-dolore { border-left: 3px solid var(--arancio); padding-left: 8px; }
.risposta-coach { margin-top: 4px; color: var(--testo); }
.risposta-coach .chi { color: var(--club); font-weight: 600; }
.link-azione.scambia { color: var(--club); font-weight: 600; }
.link-azione.torna { color: var(--arancio); }
.esercizio.scambiato { background: rgba(196, 92, 26, .07); }
.al-posto-di { margin-top: 3px; color: var(--arancio); font-size: .84rem; }
.casella-scambio { margin-top: 8px; padding: 10px; border: 1px solid var(--bordo); border-radius: 8px; }
.casella-scambio .domanda { font-weight: 600; margin-bottom: 8px; }
.casella-scambio .motivi { display: flex; flex-wrap: wrap; gap: 8px; }
.casella-scambio .motivo {
background: var(--sfondo); color: var(--testo); border: 1px solid var(--bordo); border-radius: 8px;
padding: 9px 12px; font: inherit; font-size: .9rem; cursor: pointer;
}
.casella-scambio .scelta-dolore { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.casella-scambio select {
font: inherit; font-size: .9rem; background: var(--sfondo); color: var(--testo);
border: 1px solid var(--bordo); border-radius: 8px; padding: 6px;
}
.casella-scambio .tenue { color: var(--tenue); margin-top: 6px; }
.casella-scambio .piccolo { font-size: .8rem; }
.esercizio.rampa .gradini { margin-top: 8px; display: flex; flex-direction: column; gap: 6px; }
.gradino { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; column-gap: 10px;
padding: 4px 6px; border-radius: 8px; }
.gradino-n { width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--bordo); display: inline-flex;
align-items: center; justify-content: center; font-size: .78rem; color: var(--tenue); flex: none; }
.gradino-testo { font-family: var(--mono); font-size: .9rem; white-space: nowrap; }
.gradino.pesante .gradino-testo { font-weight: 700; }
.gradino .campo-kg { width: 84px; }
.esercizio.guidata .gradino.attuale { background: rgba(45, 122, 58, .18); }
.esercizio.guidata .gradino.attuale .gradino-n { border-color: var(--verde); color: var(--testo); }
.gradino.fatto .gradino-n { background: var(--verde); border-color: var(--verde); color: #fff; }
.guida-rampa { margin-top: 10px; display: flex; flex-direction: column; gap: 8px; }
.guida-stato { font-weight: 600; }
.guida-orologio { display: flex; align-items: center; gap: 10px; }
.guida-barra { flex: 1; height: 8px; background: var(--bordo); border-radius: 4px; overflow: hidden; }
.guida-barra-piena { height: 100%; width: 0; background: var(--club); transition: width .4s linear; }
.guida-tempo { font-family: var(--mono); font-size: .95rem; min-width: 110px; text-align: right; }
.guida-correttivo { color: var(--arancio); font-size: .9rem; }
@media (prefers-reduced-motion: reduce) { .guida-barra-piena { transition: none; } }
.schemi-scelta, .schema-blocco {
--verde-chiaro: #8FD39C; --arancio-chiaro: #EDA06B; --blu-chiaro: #7FB0EE; --bordo-forte: #45525F;
}
.schemi-scelta { padding: 0 12px; overflow: visible; }
.schemi-scelta .kick, .schema-blocco .kick {
display: block; font: 500 .66rem/1.2 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--tenue);
}
.schemi-scelta .kick.club { color: var(--verde-chiaro); }
.schemi-scelta button, .schema-blocco button, .miei-schemi button { font: inherit; color: inherit; }
.schemi-scelta .link, .schema-blocco .link, .miei-schemi .link {
background: none; border: 0; color: var(--blu-chiaro); font-size: .85rem; font-weight: 600; padding: 0 4px;
min-height: 44px; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap;
}
.tn { display: inline-flex; align-items: flex-end; gap: 2px; height: 16px; flex: none; vertical-align: -2px; }
.tn i { width: 4px; border-radius: 1.5px; background: #45525F; }
.tn i:nth-child(1) { height: 6px; } .tn i:nth-child(2) { height: 11px; } .tn i:nth-child(3) { height: 16px; }
.tn.alta i.on { background: #EDA06B; } .tn.media i.on { background: var(--testo); } .tn.bassa i.on { background: var(--tenue); }
.scegli { padding: 16px 4px 6px; }
.scegli h2 { margin: 6px 0 4px; font-size: 1.45rem; line-height: 1.15; letter-spacing: -.01em; }
.scegli p { margin: 0; font-size: .92rem; color: var(--tenue); }
.scegli p b { color: var(--testo); }
.sz-testa { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 18px 4px 8px; }
.sz-testa > div { display: flex; align-items: baseline; gap: 10px; }
.sz-quanti { font-size: .9rem; font-weight: 600; }
.posti { display: flex; gap: 6px; }
.posti i {
width: 26px; height: 26px; border-radius: 7px; border: 2px dashed var(--bordo-forte); display: grid; place-items: center;
font-style: normal; font-size: .8rem; font-weight: 800; color: #fff;
}
.posti i.on { background: var(--verde); border: 2px solid var(--verde); }
.sc {
background: var(--card); border: 1px solid var(--bordo); border-radius: 14px; margin-bottom: 10px; overflow: hidden;
transition: border-color .15s, box-shadow .15s;
}
.sc.dentro { border-color: var(--verde); box-shadow: inset 0 0 0 1px var(--verde); }
.sc.spento { opacity: .7; }
.sc.spento .ant .d b { color: var(--tenue); }
.sc-testa { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 14px 14px 4px; }
.sc-nome, .blk-nome { font-size: 1.05rem; line-height: 1.25; }
.sc-nome b, .blk-nome b { font-weight: 750; }
.sc-nome span, .blk-nome span { color: var(--tenue); }
.sc-min { font: 700 .95rem var(--mono); }
.dafare {
margin: 6px 14px 0; display: inline-block; font: 700 .66rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase;
color: var(--arancio-chiaro); border: 1px solid currentColor; border-radius: 999px; padding: 5px 8px;
}
.perche-no { margin: 6px 14px 0; font-size: .85rem; color: var(--arancio-chiaro); }
.per-te { margin: 6px 14px 0; font-size: .85rem; font-weight: 650; color: var(--verde-chiaro); }
.ant li .carico { grid-column: 2; font: 600 .74rem var(--mono); color: var(--tenue); }
.blk-corpo > .esercizio { padding-left: 0; padding-right: 0; }
.sc-forma { margin: 6px 14px 0; font-size: .82rem; color: var(--tenue); }
.ant { list-style: none; margin: 8px 0 0; padding: 0 14px 4px; }
.ant li { display: grid; grid-template-columns: 122px minmax(0, 1fr); gap: 8px; align-items: baseline; padding: 6px 0; border-top: 1px solid var(--bordo); }
.ant li:first-child { border-top: 0; }
.ant .d { white-space: nowrap; }
.ant .d b { font: 800 1.15rem/1 var(--mono); letter-spacing: -.02em; color: var(--testo); }
.ant .d small { font: 600 .72rem var(--mono); color: var(--tenue); margin-left: 2px; }
.ant .d.d-testo { white-space: normal; }
.ant .d.d-testo b { font-size: .82rem; line-height: 1.25; letter-spacing: 0; }
.ant .n { font-size: .95rem; line-height: 1.25; }
.agg {
display: flex; align-items: center; justify-content: center; gap: 8px; width: calc(100% - 28px); margin: 8px 14px 14px;
min-height: 50px; border-radius: 12px; border: 1.5px solid var(--verde); background: transparent;
color: var(--verde-chiaro) !important; font-weight: 750; font-size: 1rem; cursor: pointer; touch-action: manipulation;
}
.agg.on { background: var(--verde); color: #fff !important; }
.agg.on small { font-weight: 500; font-size: .78rem; opacity: .85; }
.agg.scambia { border-style: dashed; color: var(--testo) !important; border-color: var(--bordo-forte); font-weight: 600; font-size: .92rem; }
.agg:disabled { border-color: var(--bordo); color: var(--tenue) !important; cursor: default; font-weight: 500; }
.oggi-no { margin-top: 14px; border-top: 1px solid var(--bordo); }
.oggi-no summary {
list-style: none; display: flex; justify-content: space-between; align-items: center; min-height: 52px; padding: 0 4px;
color: var(--tenue); font-weight: 600; cursor: pointer;
}
.oggi-no summary::-webkit-details-marker { display: none; }
.schemi-scelta .chev, .schema-blocco .chev { display: inline-block; color: var(--tenue); font-size: 1.3rem; line-height: 1; transition: transform .18s; }
.oggi-no[open] summary .chev { transform: rotate(90deg); }
.schemi-scelta .legenda { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: 10px 4px 14px; font-size: .76rem; color: var(--tenue); }
.vassoio {
position: sticky; bottom: 0; z-index: 5; display: flex; align-items: center; gap: 12px; margin: 0 -12px;
padding: 12px 14px calc(14px + env(safe-area-inset-bottom, 0px));
background: rgba(27, 35, 44, .97); border-top: 1px solid var(--bordo); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.v-txt { flex: 1; display: flex; flex-direction: column; line-height: 1.2; }
.v-txt b { font-size: 1.05rem; }
.v-txt span { font-size: .8rem; color: var(--tenue); font-family: var(--mono); }
.conferma {
min-height: 52px; padding: 0 26px; border-radius: 12px; border: 0; background: var(--verde);
color: #fff !important; font-weight: 800; font-size: 1.05rem; cursor: pointer;
}
.conferma:disabled { background: var(--bordo); color: var(--tenue) !important; cursor: default; }
.miei-schemi { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 4px 0; font-size: .85rem; color: var(--tenue); }
.miei-schemi span { min-width: 0; }
.blocco[data-tipo="schemi-riscaldamento"] { border-left: 5px solid var(--arancio); }
.blocco[data-tipo="schemi-muscolazione"] { border-left: 5px solid #8C9BAB; }
.blk-testa {
display: flex; align-items: center; gap: 12px; width: 100%; padding: 14px; min-height: 62px;
background: none; border: 0; text-align: left; cursor: pointer;
}
.schema-blocco.fatto .blk-testa { cursor: default; }
.blk-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.blk-meta { font-size: .82rem; color: var(--tenue); display: flex; align-items: center; gap: 6px; }
.blk-dx { flex: none; }
.schema-blocco .ok { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--verde); color: #fff; font-weight: 800; font-size: .9rem; }
.schema-blocco[aperto] .blk-dx .chev { transform: rotate(90deg); }
.schema-blocco.fatto .blk-nome b { color: var(--verde-chiaro); }
.blk-corpo { border-top: 1px solid var(--bordo); padding: 2px 14px 16px; }
.gr-testa { font: 500 .66rem/1.3 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--blu-chiaro); padding: 12px 0 0; }
.perche { margin-top: 10px; font-size: .88rem; color: var(--tenue); }
.perche summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; }
.perche p { margin: 0 0 6px; color: var(--testo); }
.fatto-btn {
display: block; width: 100%; min-height: 56px; margin-top: 6px; border: 0; border-radius: 12px;
background: var(--verde); color: #fff !important; font-size: 1.1rem !important; font-weight: 800; cursor: pointer;
}
.fatto-btn:disabled { opacity: .6; cursor: default; }
.blk-fatto {
display: flex; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid var(--bordo);
padding: 2px 10px 2px 14px; font-size: .85rem; color: var(--verde-chiaro); font-family: var(--mono);
}
.blk-fatto .link { font-family: -apple-system, system-ui, sans-serif; color: var(--tenue); }
@media (prefers-reduced-motion: reduce) { .sc, .schemi-scelta .chev, .schema-blocco .chev { transition: none; } }
.azioni-esercizio button, .azioni-esercizio .link-azione { min-height: 44px; min-width: 44px; }
.nota-esercizio textarea, .nota-esercizio select, .casella-scambio select { font-size: 16px; }
.casella-scambio select { max-width: 100%; }
.gradino-nota { grid-column: 2 / -1; color: var(--tenue); font-size: .82rem; margin: 2px 0 0; }
:root { --club-testo: #8FD39C; }
:root[data-club="delta"] { --club-testo: #FF7AC6; }
:root[data-club="vlc"]   { --club-testo: #7FB0EE; }
body.foglio {
--sfondo: #121011;
--card: #171415;
--bordo: #2C2729;
--bordo-forte: #3A3437;
--bordo-spento: #4A4346;
--campo: #1F1B1D;
--testo: #F3EFF1;
--tenue: #B8B0B4;
--tenue2: #8D8589;
--cond: "Archivo", "Avenir Next Condensed", "Roboto Condensed", "Arial Narrow",
sans-serif-condensed, system-ui, sans-serif;
--alt-linguette: 0px;
background: var(--sfondo);
color: var(--testo);
}
body.foglio.con-linguette { --alt-linguette: calc(60px + env(safe-area-inset-bottom, 0px)); }
.foglio .contenitore { padding-bottom: calc(40px + var(--alt-linguette)); }
.foglio .cond { font-family: var(--cond); font-stretch: condensed; }
.foglio .sr {
position: absolute !important; width: 1px; height: 1px; overflow: hidden;
clip: rect(0 0 0 0); white-space: nowrap; margin: -1px; padding: 0; border: 0;
}
.foglio .kick, .foglio .kick-n {
display: block; margin: 0; font: 600 .7rem/1.2 var(--mono); letter-spacing: .12em;
text-transform: uppercase; color: var(--club-testo);
}
.foglio .kick-n { color: var(--tenue2); }
.foglio .testata {
position: relative; background: var(--sfondo); box-shadow: none;
border-bottom: 1px solid var(--bordo); color: var(--testo);
padding: 8px 16px 14px; padding-top: calc(8px + env(safe-area-inset-top, 0px));
}
.foglio .testata h1 {
margin: 4px 0 4px; font: 800 1.7rem/1.05 var(--cond); font-stretch: condensed;
letter-spacing: .005em; overflow-wrap: anywhere;
}
.foglio .testata .fase { margin: 2px 0 0; opacity: 1; font: 600 .74rem/1.4 var(--mono); color: var(--tenue); }
.foglio .indietro {
display: inline-flex; align-items: center; min-height: 44px; margin: 0 0 -6px; opacity: 1;
color: var(--tenue); font: 600 .72rem var(--mono); letter-spacing: .1em; text-transform: uppercase;
}
.foglio .testata .rotazione-giorno { font-size: .9rem; color: #EDA06B; }
.foglio .meta-seduta {
display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 4px 0 0;
font: 600 .74rem var(--mono); color: var(--tenue);
}
.foglio .meta-seduta .club { color: var(--club-testo); }
.foglio .bottone {
min-height: 52px; border-radius: 12px; background: var(--club); color: #fff;
font-weight: 800; font-size: 1rem; letter-spacing: .01em;
}
.foglio .bottone:active { background: var(--club); filter: brightness(.88); }
.foglio a.bottone { display: flex; align-items: center; justify-content: center; text-decoration: none; }
.foglio .bottone-tenue {
min-height: 48px; border-radius: 12px; border: 1.5px solid var(--bordo-spento);
color: var(--testo); background: transparent;
}
.foglio .esito.ok { background: transparent; border: 1px solid #2f5a3a; color: #8fd39c; }
.foglio .esito.ko { background: transparent; border: 1px solid #6b2b26; color: #f5b8b2; }
.foglio .blocco {
margin: 0; background: transparent; border: 0; border-radius: 0; overflow: visible;
border-top: 1px solid var(--bordo);
}
.foglio .blocco[data-tipo] { border-left: 0; }
.foglio #blocchi > .blocco:first-child, .foglio #blocchi > .miei-schemi + .blocco { border-top: 0; }
.foglio .blocco-testa {
background: transparent; padding: 14px 0; min-height: 56px; gap: 10px;
}
.foglio .blocco-testa:active { background: transparent; opacity: .7; }
.foglio .blocco-testa .tipo {
order: 1; font: 700 .8rem/1.2 var(--mono); letter-spacing: .12em; text-transform: uppercase;
color: var(--tenue);
}
.foglio .blocco[aperto] .blocco-testa .tipo { color: var(--testo); }
.foglio .blocco-testa .quanti { order: 3; font: 600 .74rem var(--mono); color: var(--tenue2); }
.foglio .blocco-testa .spunta { order: 2; stroke: var(--club-testo); }
.foglio .blocco-testa .chevron { order: 4; color: var(--tenue2); font-size: 1.3rem; }
.foglio .blocco-corpo { border-top: 0; }
.foglio .blocco.completo .blocco-testa .tipo { color: var(--tenue2); }
.foglio .sotto-blocco {
background: transparent; padding: 14px 0 4px; color: var(--tenue2);
font: 600 .7rem var(--mono); letter-spacing: .12em;
}
.foglio .esercizio { padding: 12px 0 14px; border-bottom: 0; border-top: 1px solid var(--bordo); }
.foglio .esercizio .riga-alta { justify-content: space-between; gap: 12px; }
.foglio .esercizio .nome {
flex: 1; min-width: 0; color: var(--testo); font-weight: 700; font-size: 1.02rem; line-height: 1.25;
border-bottom: 0; text-decoration: underline dotted rgba(243, 239, 241, .3); text-underline-offset: 4px;
}
.foglio .esercizio .nome:active { color: var(--club-testo); }
.foglio .esercizio .volume {
flex: none; max-width: 48%; text-align: right; overflow-wrap: anywhere;
font: 700 1.65rem/1 var(--cond); font-stretch: condensed; letter-spacing: .01em;
}
.foglio .esercizio .volume .per { font-size: .62em; color: var(--tenue); padding: 0 1px; }
.foglio .esercizio .carico-piano {
margin-top: 6px; color: var(--tenue); font: 500 .84rem/1.35 system-ui, sans-serif;
}
.foglio .esercizio .carico-piano .kg-num {
font: 800 1.35rem/1 var(--cond); font-stretch: condensed; color: var(--club-testo); margin-right: 2px;
}
.foglio .esercizio .carico-piano.mancante { color: var(--tenue2); font-size: .84rem; }
.foglio .esercizio .carico-modulato,
.foglio .esercizio .carico-variante,
.foglio .esercizio .note { color: var(--tenue); font-size: .84rem; line-height: 1.35; }
.foglio .esercizio .ritmo { color: var(--tenue); font-size: .8rem; }
.foglio .esercizio .prescrizione {
display: block; margin-top: 5px; color: var(--tenue); font-weight: 500; font-size: .86rem; line-height: 1.4;
}
.foglio .esercizio .al-posto-di { color: #EDA06B; }
.foglio .esercizio.scambiato { background: transparent; box-shadow: inset 3px 0 0 #EDA06B; padding-left: 10px; }
.foglio .sets { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; }
.foglio .set {
flex: none; width: 44px; height: 44px; border-radius: 10px; border: 1.5px solid var(--bordo-forte);
background: transparent; color: var(--tenue); font: 600 .9rem var(--mono); cursor: pointer;
display: inline-flex; align-items: center; justify-content: center; touch-action: manipulation; padding: 0;
}
.foglio .set.on { background: var(--club); border-color: var(--club); color: #fff; }
.foglio .riga-kg { margin: 0 0 0 auto; gap: 4px; flex-wrap: wrap; justify-content: flex-end; }
.foglio .esercizio > .riga-kg { margin: 10px 0 0; justify-content: flex-start; }
.foglio .riga-kg label { order: 0; }
.foglio .campo-kg {
order: 1; width: 92px; height: 44px; padding: 0 8px; border-radius: 10px;
background: var(--campo); border: 1.5px solid var(--bordo-forte); color: var(--testo);
font: 700 1.05rem var(--mono); font-size: 16px;
}
.foglio .campo-kg:focus { border-color: var(--club); }
.foglio .campo-kg.modificato { border-color: var(--arancio); }
.foglio .campo-kg.salvato { border-color: #5BBF86; }
.foglio .riga-kg .unita { order: 2; color: var(--tenue2); font: 600 .75rem var(--mono); }
.foglio .riga-kg .delta { order: 3; }
.foglio .riga-kg .precedente {
order: 4; flex-basis: 100%; margin: 2px 0 0; text-align: right; color: var(--tenue2);
}
.foglio .esercizio > .riga-kg .precedente { text-align: left; }
.foglio .link-azione { color: var(--tenue2); font-size: .84rem; }
.foglio .link-azione.scambia, .foglio .link-azione.con-risposta { color: var(--club-testo); }
.foglio .link-azione.torna { color: #EDA06B; }
.foglio .nota-esercizio textarea, .foglio .nota-esercizio select, .foglio .casella-scambio select,
.foglio .casella-scambio .motivo { background: var(--campo); border-color: var(--bordo-forte); }
.foglio .casella-scambio { border-color: var(--bordo-forte); }
.foglio .casella-scambio .motivo { min-height: 44px; }
.foglio .bottone-nota { background: var(--club); min-height: 44px; border-radius: 10px; }
.foglio .scala button {
border: 1.5px solid var(--bordo-forte); background: transparent; border-radius: 10px;
font-family: var(--mono); min-height: 48px;
}
.foglio .scala button[aria-pressed="true"],
.foglio #scala-srpe button[aria-pressed="true"] { background: var(--club); border-color: var(--club); color: #fff; }
.foglio .nel-recupero {
background: transparent; border-top: 0; border-left: 2px dashed var(--club);
margin: -4px 0 12px 6px; padding: 2px 0 0 16px;
}
.foglio .nel-recupero .capo { padding: 0; margin: 0 0 4px; display: flex; align-items: center; gap: 8px; }
.foglio .nel-recupero .capo .icona-guida { color: var(--club-testo); flex: none; }
.foglio .nel-recupero .etichetta {
font: 700 .8rem/1.3 system-ui, sans-serif; letter-spacing: 0; text-transform: none; color: var(--club-testo);
}
.foglio .nel-recupero .esercizio {
display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px; align-items: center;
padding: 9px 0; border-top: 1px solid var(--bordo);
}
.foglio .nel-recupero .capo + .esercizio { border-top: 0; }
.foglio .nel-recupero .esercizio > * { grid-column: 1; }
.foglio .nel-recupero .esercizio > .sets { grid-column: 2; grid-row: 1 / span 3; margin: 0; gap: 6px; flex-wrap: nowrap; }
.foglio .nel-recupero .esercizio > .zona-esito { grid-column: 1 / -1; }
.foglio .nel-recupero .esercizio .nome { font-size: .95rem; }
.foglio .nel-recupero .esercizio .volume { font-size: 1.2rem; }
.foglio .nel-recupero .esercizio .prescrizione,
.foglio .nel-recupero .esercizio .note { margin-top: 2px; font-size: .8rem; }
.foglio .catena { margin: 0; padding: 0; border-top: 1px solid var(--bordo); }
.foglio .catena-testa, .foglio .catena[data-tipo] .catena-testa { color: var(--club-testo); padding: 12px 0 8px; }
.foglio .catena-testa .che-cosa { font: 700 .72rem var(--mono); letter-spacing: .12em; }
.foglio .catena-testa .come { color: var(--tenue); }
.foglio .catena .guida, .foglio .catena[data-tipo] .guida { color: var(--club); }
.foglio .catena .nodo, .foglio .catena[data-tipo] .nodo {
width: 22px; height: 22px; background: var(--club); color: #fff; font: 700 .72rem var(--mono);
}
.foglio .catena .cella .esercizio { border-top: 0; }
.foglio .catena .guida .icona-guida { color: var(--club-testo); }
.foglio .catena .dentro-recupero {
border-left: 2px dashed var(--club); padding-left: 14px; margin: 6px 0 0 -2px;
}
.foglio .pastiglia { background: transparent; border-color: var(--bordo-forte); color: var(--tenue); }
.foglio .pastiglia.arancio, .foglio .pastiglia.verde {
background: transparent; border: 0; padding: 3px 0; color: var(--club-testo);
font: 700 .8rem system-ui, sans-serif; letter-spacing: 0; text-transform: none;
}
.foglio .gradino-n { border-color: var(--bordo-forte); }
.foglio .gradino.fatto .gradino-n { background: var(--club); border-color: var(--club); }
.foglio .esercizio.guidata .gradino.attuale { background: rgba(255, 255, 255, .05); }
.foglio .esercizio.guidata .gradino.attuale .gradino-n { border-color: var(--club); }
.foglio .piede-blocco { padding: 12px 0 18px; border-top: 1px solid var(--bordo); }
.foglio .stato-rete {
bottom: var(--alt-linguette); margin: 18px -16px 0; background: var(--card);
border-top: 1px solid var(--bordo); color: var(--tenue2);
}
.foglio.con-linguette .stato-rete { padding-bottom: 11px; }
.foglio .schermata { background: var(--sfondo); }
.foglio .schermata h2 { color: var(--testo); font: 800 1.9rem/1.05 var(--cond); font-stretch: condensed; }
.foglio .avviso-anteprima { background: #1b1720; border-color: #3a2f3f; color: #ddd0e2; }
.foglio .avviso-anteprima .minuto { color: var(--tenue); }
.foglio .schemi-scelta {
--verde-chiaro: var(--club-testo); --bordo-forte: var(--bordo-spento);
background: transparent; border: 0; border-radius: 0; padding: 0; margin: 0 0 8px;
}
.foglio .schemi-scelta .kick.club { color: var(--club-testo); }
.foglio .scegli { padding: 14px 0 10px; border-bottom: 1px solid var(--bordo); }
.foglio .scegli h2 { font: 800 1.6rem/1.05 var(--cond); font-stretch: condensed; margin: 6px 0 6px; }
.foglio .scegli p { font-size: .88rem; }
.foglio .sz-testa { padding: 16px 0 6px; }
.foglio .sz-quanti { color: var(--tenue); font-size: .86rem; }
.foglio .posti i { border-color: var(--bordo-spento); border-radius: 7px; }
.foglio .posti i.on { background: var(--club); border: 2px solid var(--club); }
.foglio [data-distretto] { --dist: #C9C1C5; }
.foglio [data-distretto="spalla"]    { --dist: #6CB8F0; }
.foglio [data-distretto="ginocchio"] { --dist: #F2A15A; }
.foglio [data-distretto="tronco"]    { --dist: #E8C95A; }
.foglio [data-distretto="anca"]      { --dist: #7FD39A; }
.foglio [data-distretto="caviglia"]  { --dist: #B9A2F0; }
.foglio [data-distretto="polso"]     { --dist: #5FD3C8; }
.foglio .sc {
position: relative; overflow: hidden; background: #1B1819; border: 1px solid var(--bordo-forte);
border-radius: 12px; margin: 0 0 8px; padding: 0 12px 0 16px;
}
.foglio .sc::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--dist); }
.foglio .sc.dentro { border-color: var(--club); box-shadow: inset 0 0 0 1px var(--club); }
.foglio .sc.spento { opacity: .55; }
.foglio .agg, .foglio .sc-testa {
display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 12px; align-items: center;
width: 100%; min-height: 56px; margin: 0; padding: 12px 0 6px; border: 0; border-radius: 0;
background: transparent; text-align: left; color: var(--testo) !important; font-weight: 400; font-size: 1rem;
}
.foglio .agg.on { background: transparent; color: var(--testo) !important; }
.foglio .agg.scambia { border: 0; color: var(--testo) !important; font-weight: 400; font-size: 1rem; }
.foglio .agg:disabled { color: var(--tenue) !important; }
.foglio .radio {
width: 24px; height: 24px; border-radius: 7px; border: 2px solid var(--bordo-spento); flex: none;
display: flex; align-items: center; justify-content: center; box-sizing: border-box;
}
.foglio .agg.on .radio { background: var(--club); border-color: var(--club); }
.foglio .agg.on .radio::after { content: ''; width: 8px; height: 8px; border-radius: 2px; background: #fff; }
.foglio .agg:disabled .radio { border-style: dashed; }
.foglio .sc-corpo { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.foglio .sc-nome { font-size: 1rem; line-height: 1.25; }
.foglio .sc-nome b, .foglio .blk-nome b { display: block; font-size: 1.08rem; font-weight: 750; color: var(--dist); }
.foglio .sc-nome .sotto, .foglio .blk-nome .sotto { display: block; font-size: .8rem; color: var(--tenue2); }
.foglio .sc-stato { font-size: .8rem; color: var(--tenue); }
.foglio .agg.on .sc-stato { color: var(--club-testo); }
.foglio .agg.scambia .sc-stato { color: #EDA06B; }
.foglio .sc-dx { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; }
.foglio .sc-min { font: 600 .78rem var(--mono); color: var(--tenue); }
.foglio .tn i { background: var(--bordo-spento); }
.foglio .tn.media i.on, .foglio .tn.bassa i.on { background: #E8E2E5; }
.foglio .sc-info { display: flex; flex-direction: column; gap: 4px; margin: 10px 0 0; }
.foglio .sc-info > div {
margin: 0; padding: 6px 9px; border: 1px solid; border-radius: 8px; background: rgba(255, 255, 255, .03);
font: 600 .8rem/1.3 system-ui, sans-serif; letter-spacing: 0; text-transform: none;
}
.foglio .sc-info .per-te { color: var(--club-testo); }
.foglio .sc-info .dafare { display: block; color: #EDA06B; }
.foglio .sc-info .perche-no { color: var(--tenue); border-color: var(--bordo-spento); font-weight: 500; }
.foglio .sc .agg, .foglio .sc .sc-testa { padding-bottom: 0; }
.foglio .sc-vedi {
display: flex; align-items: center; gap: 6px; width: 100%; min-height: 44px; margin: 0; padding: 0 0 2px 36px;
background: none; border: 0; color: var(--tenue); font-size: .84rem; font-weight: 600; text-align: left; cursor: pointer;
}
.foglio .sc-vedi[aria-expanded="true"] .chev { transform: rotate(90deg); }
.foglio .sc-dettaglio { padding: 0 0 10px 36px; }
.foglio .sc-dettaglio[hidden] { display: none; }
.foglio .sc-forma { margin: 0 0 4px; }
.foglio .ant { padding: 0; margin: 0; }
.foglio .ant li {
grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 7px 0; border-top: 1px solid var(--bordo);
}
.foglio .ant li:first-child { border-top: 0; }
.foglio .ant .n { font-size: .95rem; font-weight: 600; line-height: 1.3; color: var(--testo); }
.foglio .ant .d { text-align: right; }
.foglio .ant .d b, .foglio .ant .d.d-testo b { font: 500 .8rem/1.3 var(--mono); letter-spacing: 0; color: var(--tenue2); }
.foglio .ant .d small { font: 500 .72rem var(--mono); color: var(--tenue2); }
.foglio .ant .d.d-testo { max-width: 9.5em; }
.foglio .ant li .carico { grid-column: 1 / -1; color: var(--tenue2); }
.foglio .sc.spento .ant .d b { color: var(--tenue2); }
.foglio .oggi-no { border-top: 1px solid var(--bordo); }
.foglio .schemi-scelta .legenda { margin: 10px 0 14px; }
.foglio .vassoio {
bottom: var(--alt-linguette); margin: 0 -16px; padding: 12px 16px 14px; gap: 12px;
background: rgba(23, 20, 21, .97); border-top: 1px solid var(--bordo);
}
.foglio:not(.con-linguette) .vassoio { padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px)); }
.foglio .conferma { background: var(--club); border-radius: 12px; min-height: 52px; padding: 0 20px; }
.foglio .conferma:disabled { background: var(--bordo); }
.foglio .v-nota { display: block; margin-top: 2px; font-size: .74rem; color: var(--tenue2); font-family: system-ui, sans-serif; }
.foglio .schema-blocco { --verde-chiaro: var(--club-testo); --blu-chiaro: var(--club-testo); --bordo-forte: var(--bordo-forte); }
.foglio .miei-schemi {
display: block; margin: 12px 0 10px; padding: 10px 12px 2px; color: var(--tenue);
background: #1B1819; border: 1px solid var(--bordo-forte); border-radius: 12px;
}
.foglio .ms-riga {
display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; gap: 10px; align-items: center;
width: 100%; min-height: 44px; padding: 6px 0; margin: 0; background: none; border: 0;
border-top: 1px solid var(--bordo); text-align: left; cursor: pointer;
}
.foglio .miei-schemi .kick + .ms-riga { border-top: 0; margin-top: 4px; }
.foglio .ms-punto { width: 10px; height: 10px; border-radius: 50%; background: var(--dist); }
.foglio .ms-testo { min-width: 0; font-size: .9rem; color: var(--tenue); }
.foglio .ms-testo b { color: var(--dist); font-weight: 750; }
.foglio .ms-riga .chev { color: var(--tenue2); font-size: 1.3rem; line-height: 1; }
.foglio .ms-ok { color: var(--club-testo); font-weight: 800; }
.foglio .schemi-scelta.si-chiude { opacity: 0; transform: translateY(-6px); transition: opacity .18s, transform .18s; }
@keyframes lampo { from { background-color: rgba(228, 0, 132, .18); } to { background-color: transparent; } }
.foglio .blocco.lampo { animation: lampo .9s ease-out; }
@media (prefers-reduced-motion: reduce) {
.foglio .schemi-scelta.si-chiude { transition: none; }
.foglio .blocco.lampo { animation: none; }
.foglio .sc-vedi .chev { transition: none; }
}
.foglio .blk-testa { padding: 14px 0; color: var(--testo); }
.foglio .blk-corpo { border-top: 0; padding: 0 0 16px; }
.foglio .gr-testa { color: var(--club-testo); }
.foglio .fatto-btn { background: var(--club); }
.foglio .schema-blocco .ok { background: var(--club); }
.foglio .blk-fatto { color: var(--club-testo); }
.foglio .schema-blocco.fatto .blk-nome b { color: var(--club-testo); }
.foglio .card:not(.blocco):not(.schemi-scelta):not(.card-settimana) { background: var(--card); border-color: var(--bordo); }
.foglio .card-settimana {
background: transparent; border: 0; border-radius: 0; margin-top: 4px; border-bottom: 1px solid var(--bordo);
}
.foglio .card-settimana .card-corpo { padding: 14px 0 16px; }
.foglio .card-settimana .etichetta-fase { color: var(--club-testo); }
.foglio .card-settimana h2 { font: 800 1.45rem/1.1 var(--cond); font-stretch: condensed; }
.foglio .card-settimana .date { font: 600 .78rem var(--mono); color: var(--tenue); }
.foglio .badge-wellness { background: transparent; border: 1px solid #2f5a3a; }
.foglio .giorno {
background: transparent; border: 0; border-radius: 0; border-top: 1px solid var(--bordo);
margin: 0; padding: 14px 0; min-height: 68px;
}
.foglio #giorni .giorno:first-child { border-top: 0; }
.foglio .giorno.oggi { border-width: 0; border-top: 1px solid var(--bordo); box-shadow: inset 3px 0 0 var(--club); padding-left: 14px; }
.foglio .giorno:active { background: transparent; opacity: .7; }
.foglio .giorno .nome { font-weight: 700; font-size: 1rem; }
.foglio .giorno .data { font: 600 .74rem var(--mono); color: var(--tenue2); }
.foglio .giorno .freccia { color: var(--tenue2); }
.foglio .stato.oggi { color: var(--club-testo); }
.foglio .sbarra-settimane .casella { background: transparent; border-color: var(--bordo-forte); border-radius: 12px; }
.foglio .sbarra-settimane .casella.scelta { border-color: var(--club); box-shadow: inset 0 0 0 1px var(--club); }
.foglio .archivio { border-color: var(--bordo-forte); }
.foglio .riga-secondaria { margin-top: 28px; }
.foglio .marchio h1 { color: var(--testo); font: 800 2.2rem/1.05 var(--cond); font-stretch: condensed; }
.foglio .societa { color: var(--club-testo); font-family: var(--mono); font-weight: 600; letter-spacing: .12em; font-size: .78rem; }
.foglio input[type="text"] { background: var(--campo); border-color: var(--bordo-forte); }
.foglio input[type="text"]:focus { border-color: var(--club); }
.foglio .campo-ore { background: var(--campo); border-color: var(--bordo-forte); }
.linguette {
position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
display: grid; grid-template-columns: 1fr 1fr;
background: #171415; border-top: 1px solid #2C2729;
padding-bottom: env(safe-area-inset-bottom, 0px);
}
.linguetta {
height: 60px; display: flex; align-items: center; justify-content: center; gap: 8px;
font: 700 .84rem system-ui, sans-serif; color: #8D8589; text-decoration: none;
-webkit-tap-highlight-color: transparent;
}
.linguetta[aria-current="page"] { color: #F3EFF1; box-shadow: inset 0 2px 0 var(--club); }
.linguetta .quadro, .linguetta .tondo { width: 9px; height: 9px; background: currentColor; flex: none; }
.linguetta .quadro { border-radius: 2px; }
.linguetta .tondo { border-radius: 50%; width: 8px; height: 8px; }
.linguetta:active { opacity: .7; }
.foglio .filtri {
display: flex; gap: 6px; margin: 0 -16px; padding: 12px 16px; overflow-x: auto;
scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.foglio .filtri::-webkit-scrollbar { display: none; }
.foglio .chip {
flex: none; min-height: 44px; padding: 0 15px; border-radius: 22px; border: 1.5px solid var(--bordo-forte);
background: transparent; color: var(--tenue); font: 700 .8rem system-ui, sans-serif; cursor: pointer;
display: inline-flex; align-items: center; text-decoration: none; white-space: nowrap;
}
.foglio .chip[aria-pressed="true"] { background: var(--testo); color: #121011; border-color: var(--testo); }
.foglio .rep {
display: flex; justify-content: space-between; align-items: center; gap: 12px;
padding: 14px 0; border-top: 1px solid var(--bordo);
}
.foglio .rep-sx { min-width: 0; }
.foglio .rep-nome { font-weight: 700; font-size: .98rem; margin-top: 5px; line-height: 1.25; }
.foglio .rep-sotto { font-size: .82rem; color: var(--tenue); margin-top: 2px; line-height: 1.35; }
.foglio .rep-dx { flex: none; text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.foglio .rep-val { font: 800 1.35rem/1 var(--cond); font-stretch: condensed; color: var(--testo); }
.foglio .rep-val small { font-size: .7em; color: var(--tenue); font-weight: 700; margin-left: 2px; }
.foglio .rep-diff { font: 600 .76rem var(--mono); color: var(--tenue2); }
.foglio .rep-diff.su { color: #5BBF86; }
.foglio .barre { display: flex; gap: 4px; align-items: flex-end; height: 28px; }
.foglio .barre i {
display: block; width: 9px; border-radius: 2px; background: var(--bordo-spento); min-height: 3px;
}
.foglio .barre i.piena { background: var(--club); }
.foglio .barre i.vuota { background: transparent; border: 1px dashed var(--bordo-spento); height: 26px !important; }
.foglio .rep-vuoto { padding: 18px 0; color: var(--tenue); font-size: .9rem; border-top: 1px solid var(--bordo); }
.foglio .rep-titolo { margin: 22px 0 0; padding-bottom: 8px; }
.foglio .andamento { padding: 14px 0 6px; border-top: 1px solid var(--bordo); }
.foglio .andamento h2 { margin: 4px 0 4px; font-size: 1.05rem; }
.foglio .fascetta-anteprima { margin: 12px 0 0; padding: 8px 12px; border-radius: 8px; background: #D9A441; color: #121011; font: 700 .8rem system-ui, sans-serif; }
.foglio .and-riga { margin-top: 14px; }
.foglio .and-testa { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.foglio .and-nome { font-weight: 700; font-size: .9rem; }
.foglio .and-ora { font: 700 .8rem var(--mono); color: var(--tenue); }
.foglio .and-grafico { display: flex; align-items: flex-end; gap: 3px; height: 52px; margin-top: 6px; }
.foglio .and-grafico i { flex: 1 1 0; min-width: 4px; border-radius: 2px; background: var(--club); min-height: 3px; display: block; }
.foglio .and-grafico i.vuota { background: transparent; border: 1px dashed var(--bordo-spento); height: 30px !important; }
.foglio .and-grafico i.parziale { opacity: .55; }
.foglio .and-fasi { display: flex; gap: 3px; margin-top: 4px; }
.foglio .and-fasi i { flex: 1 1 0; min-width: 4px; height: 6px; border-radius: 3px; background: var(--bordo-spento); display: block; }
.foglio .and-fasi i.fase-pre { background: #7C8FA3; }
.foglio .and-fasi i.fase-rifinitura { background: #D9A441; }
.foglio .and-fasi i.fase-stagione { background: #5BBF86; }
.foglio .and-legenda { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 8px 0 0; padding: 0; list-style: none; font-size: .78rem; color: var(--tenue); }
.foglio .and-legenda li::before { content: ""; display: inline-block; width: 10px; height: 6px; border-radius: 3px; margin-right: 6px; background: var(--bordo-spento); vertical-align: 1px; }
.foglio .and-legenda li.fase-pre::before { background: #7C8FA3; }
.foglio .and-legenda li.fase-rifinitura::before { background: #D9A441; }
.foglio .and-legenda li.fase-stagione::before { background: #5BBF86; }
.foglio .and-assi { display: flex; justify-content: space-between; font: 600 .7rem var(--mono); color: var(--tenue2); margin-top: 3px; }
.foglio .and-letture { margin: 14px 0 0; padding: 0; list-style: none; }
.foglio .and-letture li { padding: 8px 0; border-top: 1px solid var(--bordo); font-size: .92rem; line-height: 1.4; }
.foglio .fatto { padding: 12px 0; border-top: 1px solid var(--bordo); }
.foglio .fatto-data { font: 700 .72rem var(--mono); color: var(--tenue2); letter-spacing: .06em; }
.foglio .fatto-tu, .foglio .fatto-noi { font-size: .9rem; line-height: 1.4; margin-top: 4px; }
.foglio .fatto-tu { color: var(--tenue); }
.foglio .fatto-noi { font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .linguetta, .foglio .chip { transition: none; } }
.foglio .rep-tasti { flex-direction: row; gap: 6px; }
.foglio .rep .nuovo {
margin-left: 6px; padding: 1px 6px; border-radius: 6px; font: 700 .66rem var(--mono); letter-spacing: .08em;
text-transform: uppercase; background: var(--club); color: #fff; vertical-align: 2px;
}
.foglio .blocco { --sez: var(--tenue); }
.foglio .blocco[data-tipo="riscaldamento"] { --sez: #5FD3C6; }
.foglio .blocco[data-tipo="specifico"]     { --sez: #FF7AC6; }
.foglio .blocco[data-tipo="potenza"]       { --sez: #7DDB93; }
.foglio .blocco[data-tipo="forza"]         { --sez: #8DB8FF; }
.foglio .blocco[data-tipo="complementari"] { --sez: #F4BF6A; }
.foglio .blocco[data-tipo="chiusura"]      { --sez: #C3A6FF; }
.foglio .blocco-testa { position: relative; padding-left: 14px; transition: background-color .2s ease; }
.foglio .blocco-testa::before {
content: ""; position: absolute; left: 0; top: 50%; width: 4px; height: 22px; border-radius: 2px;
background: var(--sez); transform: translateY(-50%); transition: height .25s ease;
}
.foglio .blocco[aperto] .blocco-testa::before { height: 70%; }
.foglio .blocco-testa .tipo { color: var(--sez); }
.foglio .blocco[aperto] .blocco-testa .tipo { color: var(--sez); }
.foglio .blocco-testa:hover, .foglio .blocco-testa:focus-visible {
background: color-mix(in srgb, var(--sez) 8%, transparent);
}
.foglio .blocco-testa:active { opacity: 1; background: color-mix(in srgb, var(--sez) 14%, transparent); }
.foglio .blocco-testa .chevron { transition: transform .2s ease; }
.foglio .blocco[aperto] .blocco-testa .chevron { transform: rotate(90deg); color: var(--sez); }
.foglio .blocco.completo .blocco-testa .tipo { color: color-mix(in srgb, var(--sez) 55%, var(--tenue2)); }
@media (prefers-reduced-motion: reduce) {
.foglio .blocco-testa, .foglio .blocco-testa::before, .foglio .blocco-testa .chevron { transition: none; }
}
.foglio .cambiato-coach { margin-top: 6px; padding: 6px 9px; border-left: 3px solid var(--club); border-radius: 0 6px 6px 0;
background: rgba(127, 127, 127, .08); display: flex; flex-direction: column; gap: 2px; }
.foglio .cambiato-coach-titolo { font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--club); }
.foglio .cambiato-coach-nota { font-size: .86rem; color: var(--testo); line-height: 1.35; }
.foglio .esercizio .cambiato-coach-nota { color: inherit; }
.foglio .tua-stagione { margin: 0 0 14px; padding: 12px; border: 1px solid var(--bordo); border-radius: 12px; }
.foglio .tua-stagione-titolo { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .7; margin-bottom: 8px; }
.foglio .tua-stagione-strisce { display: flex; gap: 4px; }
.foglio .tua-stagione-striscia { flex: 1; min-width: 0; border: 1px solid transparent; border-radius: 8px; padding: 6px 2px;
display: flex; flex-direction: column; align-items: center; gap: 1px; background: rgba(127, 127, 127, .12); color: inherit; font: inherit; cursor: pointer; }
.foglio .tua-stagione-striscia b { font-size: .78rem; }
.foglio .tua-stagione-striscia span { font-size: .62rem; opacity: .75; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.foglio .tua-stagione-striscia[aria-selected="true"] { border-color: currentColor; }
.foglio .tua-stagione-dettaglio { margin-top: 8px; font-size: .86rem; line-height: 1.4; }
.foglio .tua-stagione-dettaglio p { margin: 6px 0; }
.foglio .tua-stagione-dettaglio .ts-giorni { margin: 2px 0 8px; padding-left: 18px; }
.foglio .ts-mix { display: flex; gap: 2px; height: 10px; border-radius: 5px; overflow: hidden; margin: 8px 0 4px; }
.foglio .ts-mix > span { min-width: 4px; }
.foglio .ts-mix-potenza { background: rgb(201, 133, 0); }
.foglio .ts-mix-forza { background: rgb(122, 61, 190); }
.foglio .ts-mix-muscolazione { background: rgb(45, 122, 58); }
.foglio .ts-legenda { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 0 0 8px; font-size: .8rem; }
.foglio .ts-voce::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 5px; background: currentColor; }
.foglio .ts-voce-potenza::before { background: rgb(201, 133, 0); }
.foglio .ts-voce-forza::before { background: rgb(122, 61, 190); }
.foglio .ts-voce-muscolazione::before { background: rgb(45, 122, 58); }
.foglio .tua-stagione-striscia.tipo-P { background: rgba(201, 133, 0, .18); }
.foglio .tua-stagione-striscia.tipo-F { background: rgba(122, 61, 190, .18); }
.foglio .tua-stagione-striscia.tipo-M { background: rgba(45, 122, 58, .18); }
.foglio .tua-stagione-striscia.tipo-picco { background: rgba(196, 92, 26, .2); }
.foglio .tua-stagione-striscia.tipo-scarico { background: rgba(57, 135, 229, .16); }
.foglio .tua-stagione-linea { height: 46px; margin: 8px 0 2px; color: var(--club); }
.foglio .tua-stagione-linea svg { width: 100%; height: 100%; display: block; }
.foglio .tua-stagione-frase { margin: 4px 0 0; font-size: .9rem; line-height: 1.4; }
.foglio .tua-stagione-linea.ts-andamento { height: auto; margin: 10px 0 6px; color: var(--club); }
.foglio .ts-andamento-titolo { display: block; font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; opacity: .7; }
.foglio .ts-colonne { display: flex; gap: 4px; align-items: flex-end; height: 74px; margin-top: 4px; }
.foglio .ts-col { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; height: 100%; opacity: .85; }
.foglio .ts-col.scelta { opacity: 1; }
.foglio .ts-col.scelta .ts-sigla { font-weight: 800; text-decoration: underline; }
.foglio .ts-asta { position: relative; width: 100%; flex: 1; display: flex; align-items: flex-end; justify-content: center; }
.foglio .ts-asta > i { position: absolute; bottom: 0; left: 18%; right: 18%; display: block; border-radius: 3px 3px 0 0; }
.foglio .ts-fatto { background: currentColor; opacity: .85; }
.foglio .ts-prev { border: 1.5px solid currentColor; background: transparent; opacity: .75; }
.foglio .ts-col.questa .ts-prev { border-style: dashed; }
.foglio .ts-sigla { font-size: .62rem; margin-top: 3px; }
.foglio .ts-gara-punto { font-size: .6rem; height: .75rem; line-height: .75rem; }
.foglio .ts-andamento-legenda { margin: 2px 0 0; font-size: .66rem; opacity: .7; }
