/* Profilo completo: completezza dei dati, scelte a bottone, collegamenti, gare, privacy. */
.completeness-bar{height:8px;border-radius:8px;background:#ffffff14;overflow:hidden;margin-top:6px}
.completeness-bar span{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#a855f7,#f472b6,#fb923c)}
.missing-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.missing-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 12px;border-radius:10px;border:1px solid #fb923c55;background:#fb923c12;color:#fdba74;font-size:var(--fs-12,12px)}
.missing-chip:hover{background:#fb923c22}

.connection-group{font-size:var(--fs-9,9px);margin:18px 0 4px;letter-spacing:1.4px}
.connection-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.connection-row h3{font-size:var(--fs-13,13px)}
.connection-row p{font-size:var(--fs-11,11px);color:var(--muted);margin-top:3px}
.connection-btn{min-height:40px;padding:8px 14px;font-size:var(--fs-12,12px);flex-shrink:0}
/* Dispositivi (13 ottobre): badge verde «Collegato» e x per scollegare (con conferma); barra dello storico nella riga */
.connection-row.syncing{flex-wrap:wrap}
.connection-state{display:flex;align-items:center;gap:6px;flex-shrink:0}
.connection-state .tag.linked{background:#22c55e1f;color:#86efac;border:1px solid #22c55e40}
.connection-x{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);font-size:var(--fs-11,11px)}
.connection-x:hover,.connection-x:focus-visible{color:#fca5a5;border-color:#f8717155}
.connection-x:disabled{opacity:.5}
.connection-sync{flex-basis:100%;padding-left:52px}
.connection-sync .text-btn{margin-top:6px}
.data-sources-row{margin-top:6px}
.form-hint.warn{color:#fdba74}

.profile-form h3{font-size:var(--fs-15,15px)}
.choice-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border-radius:11px;border:1px solid var(--line);background:#0a0a0a;font-size:var(--fs-13,13px);color:var(--ink);cursor:pointer}
.chip input:checked+span{border-color:#a855f7;background:#a855f72a;color:#f3e8ff}
.chip input:focus-visible+span{outline:2px solid #c084fc;outline-offset:3px}
.form-fieldset{border:0;padding:0;margin:18px 0;min-width:0}
.form-fieldset legend{font-size:var(--fs-12,12px);color:var(--muted);padding:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.form-grid .form-field{margin:10px 0}
.form-hint{font-size:var(--fs-11,11px);color:var(--muted);margin-top:10px;line-height:1.6}
.check-row{display:flex;align-items:center;gap:10px;min-height:44px;font-size:var(--fs-13,13px);margin:8px 0}
.check-row input{width:20px;height:20px;accent-color:#a855f7}

.race-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.race-row h3{font-size:var(--fs-14,14px)}
.race-row p{font-size:var(--fs-11,11px);color:var(--muted);margin-top:3px}

.privacy-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.privacy-actions .btn{flex:1 1 auto;min-height:44px;font-size:var(--fs-12,12px)}
.btn.danger{border-color:#f8717155;color:#fca5a5}
.connections-card:focus,.privacy-card:focus{outline:2px solid #c084fc55;outline-offset:4px}

@media(max-width:520px){.form-grid{grid-template-columns:1fr}.connection-btn{padding-inline:11px}.connection-x span{display:none}.connection-x{padding:6px 8px}.connection-sync{padding-left:0}}
.subscription-status{font-size:var(--fs-13,13px);font-weight:600;color:#d8b4fe;margin-bottom:8px}
/* Calendario: voci, bozza dell'interprete, modulo con le parti che dipendono dal tipo */
.calendar-intro{font-size:var(--fs-12,12px)}
.calendar-group{font-size:var(--fs-11,11px);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin:18px 0 6px}
.calendar-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.calendar-item:last-child{border-bottom:0}
.calendar-item h3{font-size:var(--fs-14,14px);font-weight:600;margin:0}
.calendar-item p{font-size:var(--fs-11,11px);color:var(--muted);margin-top:4px;line-height:1.5}
.calendar-item .tag{flex-shrink:0;margin-top:2px}
.calendar-actions{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.calendar-actions .text-btn{min-height:30px;font-size:var(--fs-11,11px);padding:4px 0}
.calendar-draft{margin-top:14px;padding:14px 16px;border:1px solid #a855f755;border-radius:16px;background:#a855f70f}
.calendar-draft h3{font-size:var(--fs-14,14px);margin-bottom:4px}
.calendar-draft .off .calendar-item{opacity:.45}
.calendar-missing{display:flex;gap:6px;align-items:flex-start;font-size:var(--fs-11,11px);color:#fdba74;margin:-4px 0 8px}
.calendar-unclear{font-size:var(--fs-11,11px);margin-top:8px}
.calendar-form .cal-weekly{display:none}
.calendar-form:has([name=kind] option[value=allenamento]:checked):has([name=repeat][value=weekly]:checked) .cal-weekly{display:block}
.calendar-form:has([name=kind] option[value=allenamento]:checked):has([name=repeat][value=weekly]:checked) .cal-once{display:none}
.calendar-form:not(:has([name=kind] option[value=gara]:checked)):not(:has([name=kind] option[value=allenamento]:checked)) .cal-sporty,.calendar-form:not(:has([name=kind] option[value=allenamento]:checked)) .cal-training,.calendar-form:not(:has([name=kind] option[value=gara]:checked)) .cal-race,.calendar-form:not(:has([name=kind] option[value=viaggio]:checked)):not(:has([name=kind] option[value=impegno]:checked)):not(:has([name=kind] option[value=pausa]:checked)) .cal-span{display:none}
.calendar-form .problems{margin:10px 0 0;padding-left:18px;color:#fca5a5;font-size:var(--fs-12,12px);display:grid;gap:4px}
/* Prossimi appuntamenti in Oggi e segno nella settimana di Training */
/* Il foglietto della data (19 ottobre): fascia del mese in alto, giorno grande, giorno della settimana sotto. */
.cal-date{display:grid;justify-items:center;min-width:46px;padding:0 0 5px;border:1px solid var(--line);border-radius:10px;line-height:1.1;flex-shrink:0;overflow:hidden;background:#ffffff08}
.cal-date small{font-size:var(--fs-9,9px);text-transform:uppercase;color:var(--muted);letter-spacing:.5px}
.cal-date .cal-month{display:block;width:100%;text-align:center;padding:3px 0;margin-bottom:3px;background:var(--cal-band,#a855f7);color:#fff;font-weight:700}
.cal-date strong{font-size:var(--fs-17,17px);font-weight:600}
.cal-entry.cal-kind-gara{--cal-band:#fb923c}.cal-entry.cal-kind-viaggio{--cal-band:#38bdf8}.cal-entry.cal-kind-impegno{--cal-band:#71717a}.cal-entry.cal-kind-pausa{--cal-band:#f87171}
/* Le due settimane della scheda «In calendario». */
.upcoming-card .section-head h2{display:flex;align-items:center;gap:8px}
.heading-add.small{position:static;transform:none;width:36px;height:36px}
.cal-fortnight{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:4px 0 6px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#ffffff05}
.cal-weekday{text-align:center;font-size:var(--fs-9,9px);color:var(--muted);font-weight:600;padding-bottom:2px}
.cal-day{position:relative;display:grid;place-items:center;height:34px;border-radius:9px;font-size:var(--fs-12,12px);font-weight:600}
.cal-day.past{opacity:.4}
.cal-day.today{background:var(--module-accent,#a855f7);color:#fff}
.cal-dots{position:absolute;bottom:3px;left:0;right:0;display:flex;justify-content:center;gap:2px}
.cal-dots b{width:4px;height:4px;border-radius:50%;background:#a855f7}
.cal-dots .cal-kind-gara{background:#fb923c}.cal-dots .cal-kind-viaggio{background:#38bdf8}.cal-dots .cal-kind-impegno{background:#a1a1aa}.cal-dots .cal-kind-pausa{background:#f87171}
.cal-day.today .cal-dots b{background:#fff}
.cal-empty{margin-top:10px}
.upcoming-card .list-row{gap:12px;padding:12px 0}
.day{position:relative}
.day-cal{position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:#c084fc}
.calendar-session-card + .calendar-session-card{margin-top:14px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Abbonamento: pagamento non riuscito e abbonamento finito */
.subscription-status.warn{color:#fcd34d}
.info-band.payment-band{display:flex;align-items:center;gap:10px;margin-bottom:18px;text-decoration:none;background:#fbbf2410;border-color:#fbbf2440;color:#fde68a}
.info-band.payment-band>span{flex:1}
.ended-card{max-width:520px}
/* Scheda abbonamento: prodotto, prezzo e cosa include */
.sub-offer{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-top:12px;padding:14px;border:1px solid var(--line, #ffffff14);border-radius:14px;background:#ffffff04}
.sub-offer>div:first-child{min-width:0}
.sub-offer>div:first-child strong{font-size:var(--fs-15,15px);font-weight:600}
.sub-offer>div:first-child p{font-size:var(--fs-12,12px);color:#a1a1ae;margin-top:4px;line-height:1.5}
.sub-price{text-align:right;flex-shrink:0}
.sub-price>span{display:block;font-size:var(--fs-10,10px);letter-spacing:.3px;color:#9a9aa8}
.sub-price p{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;margin-top:2px}
.sub-price s{font-size:var(--fs-12,12px);color:#7c7c8a}
.sub-price strong{font-size:var(--fs-22,22px);font-weight:600;letter-spacing:-.5px}
.sub-price small{font-size:var(--fs-10,10px);color:#9a9aa8}
.sub-includes{list-style:none;display:grid;gap:9px;margin:14px 0 0;padding:0}
.sub-includes li{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-12,12px);color:#c9c9d2;line-height:1.5}
.sub-includes li .icon,.sub-includes li svg{flex-shrink:0;margin-top:2px;color:#c084fc}
/* Le fatture vere di Stripe nella scheda dell'abbonamento (16 ottobre, versione collegata). */
.sub-invoices{margin-top:16px}
.sub-invoices>h3{font-size:var(--fs-13,13px);font-weight:600;margin-bottom:4px}
.sub-invoices .list-row{text-decoration:none;color:inherit}
.sub-invoices .list-row .tag{flex-shrink:0}
/* Lingua */
.language-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.language-options .btn{flex:1 1 120px}
/* A6: cosa cambia nel piano */
.care-rules{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#ffffff05}
.care-rules h3{font-size:var(--fs-13,13px);font-weight:600}
.care-rules ul{list-style:none;display:grid;gap:8px;margin:10px 0 0;padding:0}
.care-rules li{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-12,12px);line-height:1.5;color:#d4d4dc}
.care-rules li svg{flex-shrink:0;margin-top:2px;color:#34d399}
/* Consensi: data e versione sotto ogni voce; schermata dei nuovi termini */
.consent-stamp{font-size:var(--fs-11,11px);color:#8f8f9c;margin-top:4px}
.terms-card{max-width:560px}
/* Questionari: una domanda per riga, controlli grandi da toccare */
.questionnaire-form .question{border:0;margin:0;padding:14px 0;border-bottom:1px solid var(--line);min-width:0}
.questionnaire-form .question legend{font-size:var(--fs-14,14px);font-weight:600;line-height:1.45;margin-bottom:10px;padding:0}
.questionnaire-form .question .required{color:#c084fc}
.questionnaire-form .question.invalid legend{color:#fca5a5}
.questionnaire-form input[type=number],.questionnaire-form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:#0a0a0a;color:var(--ink);font:inherit;font-size:var(--fs-15,15px)}
.yes-no{display:flex;gap:8px}
.yes-no label{position:relative}
.yes-no input{position:absolute;opacity:0;inset:0;margin:0}
.yes-no span{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:44px;padding:8px 14px;border-radius:10px;border:1px solid var(--line);background:#0a0a0a;font-size:var(--fs-13,13px);cursor:pointer}
.yes-no input:checked+span{border-color:#a855f7;background:#a855f72a;color:#f3e8ff}
.yes-no input:focus-visible+span,.choice-row input:focus-visible+span{outline:2px solid #c084fc;outline-offset:2px}
.choice-list{display:grid;gap:6px}
.choice-row{position:relative;display:block}
.choice-row input{position:absolute;opacity:0;inset:0;margin:0}
.choice-row span{display:block;padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:#0a0a0a;font-size:var(--fs-13,13px);cursor:pointer}
.choice-row input:checked+span{border-color:#a855f7;background:#a855f72a;color:#f3e8ff}
/* Assistenza: richiesta e risposta come messaggi */
.support-detail .support-bubble{margin-top:12px;padding:12px 14px;border-radius:14px;font-size:var(--fs-13,13px);line-height:1.55}
.support-bubble.mine{background:#a855f71f;border:1px solid #a855f740;margin-left:12%}
.support-bubble.team{background:#ffffff08;border:1px solid var(--line);margin-right:12%}
.support-bubble small{display:block;font-size:var(--fs-10,10px);color:var(--muted);margin-bottom:4px}
.support-card h3.mt16{font-size:var(--fs-13,13px);font-weight:600}
/* Scrivici: argomento scelto prima del messaggio, risposta in fondo alla conversazione */
.support-topic-chosen{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#ffffff05;font-size:var(--fs-13,13px)}
.support-steps h3{font-size:var(--fs-15,15px);margin:4px 0 8px}
.support-reply{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.support-reply .form-field{margin-top:0}
/* Profilo per il motore: pasti e orari, lavoro, integratori */
.meal-slots{display:grid;gap:8px;margin-top:12px}
.meal-slot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#ffffff04}
.meal-slot .check-field{margin:0;font-size:var(--fs-14,14px)}
.meal-slot input[type=time]{width:auto;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#0a0a0a;color:var(--ink);font-size:var(--fs-15,15px)}
.meal-slot:has(input[type=checkbox]:not(:checked)) input[type=time]{opacity:.35}
.work-form-hint{font-size:var(--fs-12,12px)}
#work-form:has(select[name=type] option[value=nessuno]:checked) .work-details{display:none}
#work-form:has(input[name=shifts]:checked) .work-hours{display:none}
.chip-row{display:flex;flex-wrap:wrap;gap:6px}
.supplement-list{list-style:none;display:grid;gap:6px;margin:12px 0 0;padding:0}
.supplement-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px}
.supplement-list small{display:block;font-size:var(--fs-11,11px);color:var(--muted);margin-top:2px}
.supplement-form:not(:has(select[name=kind] option[value=altro]:checked)) .supplement-name{display:none}
/* Check-in più ricco */
/* Le risposte del check-in (19 ottobre): un riquadrino per risposta, uno dopo l'altro, con il tono della risposta. */
.checkin-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.checkin-chip{display:inline-block;padding:6px 10px;border-radius:9px;border:1px solid #ffffff1f;background:#ffffff0d;color:var(--ink,#e5e7eb);font-size:var(--fs-12,12px);font-weight:600;line-height:1.3}
.checkin-chip::first-letter{text-transform:uppercase}
.checkin-chip.good{background:#34d3991f;border-color:#34d3994d;color:#6ee7b7}
.checkin-chip.warn{background:#fbbf241f;border-color:#fbbf244d;color:#fcd34d}
.checkin-chip.alert{background:#f871712e;border-color:#f8717166;color:#fecaca}
:root[data-background="light"] .checkin-chip.good{color:#047857}
:root[data-background="light"] .checkin-chip.warn{color:#b45309}
:root[data-background="light"] .checkin-chip.alert{color:#b91c1c}
.checkin-form .mood-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mood-choice{position:relative}
.mood-choice input{position:absolute;opacity:0;inset:0;margin:0}
.mood-choice span{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border:1px solid var(--line);border-radius:12px;background:#0a0a0a;font-size:var(--fs-12,12px);cursor:pointer}
.mood-choice input:checked+span{border-color:#a855f7;background:#a855f72a;color:#f3e8ff}
.mood-choice input:focus-visible+span,.scale-row input:focus-visible+span{outline:2px solid #c084fc;outline-offset:2px}
.scale-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.scale-row label{position:relative}
.scale-row input{position:absolute;opacity:0;inset:0;margin:0}
.scale-row span{display:grid;place-items:center;min-height:44px;border:1px solid var(--line);border-radius:10px;background:#0a0a0a;font-weight:600;cursor:pointer}
.scale-row input:checked+span{border-color:#a855f7;background:#a855f72e;color:#f3e8ff}
.scale-ends{display:flex;justify-content:space-between;font-size:var(--fs-11,11px);color:var(--muted);margin-top:4px}
.checkin-form .pain-level{margin-top:10px}
.checkin-form fieldset:not(:has(input[name=zones]:checked)) .pain-level{display:none}
/* Ciclo mestruale (D28): la scheda in Oggi e le domande del profilo; le parti del modulo si vedono solo per la situazione scelta. */
.cycle-card h3{font-size:var(--fs-15,15px)}
.cycle-card .cycle-day{font-size:var(--fs-13,13px);margin-top:10px;color:var(--muted)}
.cycle-card .cycle-day strong{font-size:var(--fs-18,18px);font-weight:600;color:var(--ink)}
.cycle-card .cycle-tip{font-size:var(--fs-11,11px);line-height:1.7;margin-top:6px}
.cycle-card .cycle-log{display:flex;gap:6px;align-items:center;font-size:var(--fs-11,11px);color:var(--muted);margin-top:10px}
.cycle-card .cycle-actions{margin-top:14px;display:flex;gap:8px}
.cycle-card .cycle-alert{margin-top:12px}
.cycle-intro{font-size:var(--fs-12,12px);line-height:1.6}
.cycle-form .cycle-only-hormonal,.cycle-form .cycle-only-counted,.cycle-form .cycle-only-symptoms,.cycle-form .cycle-only-absent{display:none}
.cycle-form:has(input[name=status][value=hormonal]:checked) .cycle-only-hormonal{display:block}
.cycle-form:has(input[name=status]:is([value=natural],[value=copper]):checked) .cycle-only-counted{display:block}
.cycle-form:has(input[name=status]:is([value=natural],[value=copper],[value=hormonal]):checked) .cycle-only-symptoms{display:block}
.cycle-form:has(input[name=status][value=absent]:checked) .cycle-only-absent{display:flex}
.cycle-start-form{margin-top:18px;padding-top:6px;border-top:1px solid var(--line)}
.cycle-start-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:var(--fs-12,12px)}
@media(max-width:760px){.today-grid .cycle-card{order:6;width:100%}}
.cycle-history{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:0}
.cycle-history li{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:var(--fs-12,12px)}
.cycle-history li:last-child{border-bottom:0}
.cycle-doctor{white-space:pre-wrap;font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;background:#ffffff08;border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:12px;user-select:text;-webkit-user-select:text}
/* Analisi: la mappa del ciclo (D28). */
.cycle-map .cycle-day{font-size:var(--fs-13,13px);margin-top:12px;color:var(--muted)}
.cycle-map .cycle-day strong{font-size:var(--fs-18,18px);font-weight:600;color:var(--ink)}
.cycle-track{position:relative;display:flex;height:14px;border-radius:8px;overflow:visible;margin-top:14px;background:#ffffff0d}
.cycle-seg{display:block;height:100%;opacity:.85}
.cycle-seg:first-child{border-radius:8px 0 0 8px}.cycle-seg:last-of-type{border-radius:0 8px 8px 0}
.cycle-marker{position:absolute;top:-5px;bottom:-5px;width:3px;margin-left:-1.5px;border-radius:2px;background:var(--ink);box-shadow:0 0 0 2px #000}
.cycle-scale{display:flex;justify-content:space-between;font-size:var(--fs-10,10px);color:var(--muted);margin-top:6px}
.cycle-legend{list-style:none;display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0 0;padding:0;font-size:var(--fs-11,11px);color:var(--muted)}
.cycle-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}
.cycle-map .cycle-tip{font-size:var(--fs-11,11px);line-height:1.7;margin-top:10px}
.cycle-map-next,.cycle-map-recent{font-size:var(--fs-11,11px);color:var(--muted);margin-top:6px}
.cycle-recent{margin-bottom:14px}.cycle-recent .text-btn{margin-top:8px;display:inline-block}
/* Aspetto e lingua sulla stessa riga (13 ottobre): il selettore a bandierine sta a destra della riga «Aspetto». */
.look-lang{position:relative}
.look-lang .appearance-summary{padding-right:118px}
.look-lang-menu{position:absolute;top:19px;right:20px;z-index:5}
.look-lang-menu .lang-current{min-height:38px}
@media(max-width:520px){.look-lang .appearance-summary{padding-right:104px}.look-lang-menu{right:14px}}

/* iPhone: i campi ora e data restano nella loro colonna (Safari dà loro una larghezza propria). */
.form-grid>*,.form-field{min-width:0}
.form-field input[type=time],.form-field input[type=date]{-webkit-appearance:none;appearance:none;display:block;width:100%;max-width:100%;min-width:0;min-height:48px;text-align:left}
.form-field input[type=time]::-webkit-date-and-time-value,.form-field input[type=date]::-webkit-date-and-time-value{text-align:left}
/* Sedute fuori programma nel calendario di Training (18 ottobre): un punto arancione in basso nel giorno. */
.day-extra{position:absolute;bottom:6px;right:6px;width:6px;height:6px;border-radius:50%;background:#fb923c}
.off-program .workout-head p{font-size:var(--fs-12,12px)}
/* L'obiettivo in cima al profilo si tocca per cambiarlo (19 ottobre). */
button.goal-row{width:100%;background:none;border:0;padding:6px 0 0;margin:0;color:inherit;font:inherit;text-align:left;cursor:pointer;display:flex;align-items:center;gap:12px}
button.goal-row:focus-visible{outline:2px solid var(--accent,#a855f7);outline-offset:4px;border-radius:12px}
.goal-change{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-11,11px);color:var(--muted);white-space:nowrap}
.goal-row:hover .goal-change{color:var(--ink)}
/* Privacy e consensi in una pagina sua e l'uscita dall'account sotto (19 ottobre). */
.account-card{padding-top:8px;padding-bottom:8px}.account-card .list-row{width:100%;text-align:left;color:inherit;text-decoration:none}.account-card .list-row+.list-row{border-top:1px solid var(--line)}
.logout-row h3{color:color-mix(in srgb,#f87171 70%,var(--ink))}
/* Obiettivo e sport (19 ottobre): ogni obiettivo con la sua riga; la gara e «da quanto eri fermo» solo con il loro obiettivo. */
.goal-choice span{display:grid;gap:2px}.goal-choice small{color:var(--muted);font-size:var(--fs-11,11px);font-weight:400;line-height:1.45}
.goal-race,.goal-comeback{display:none}
.profile-form:has(input[name="goalType"][value="race"]:checked) .goal-race{display:block;margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:14px}
.profile-form:has(input[name="goalType"][value="comeback"]:checked) .goal-comeback{display:block}
