/* Pagine: accesso, elenco sedute, scheda, libreria, tabelle. */
/* accesso */
.login{max-width:360px;margin:12vh auto 0;display:flex;flex-direction:column;gap:14px}
.err{color:var(--danger);min-height:1.4em;margin:0}
/* elenco sedute */
.list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:52px 96px 1fr auto;gap:10px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;padding:10px 4px;font-weight:400}
.row:hover{background:var(--chalk)}
.row .n{font:700 22px var(--display);font-variant-numeric:tabular-nums}
.row .d{color:var(--muted);font-variant-numeric:tabular-nums}
.row .o{min-width:0}.row .o b{display:block;font-weight:600}.row .o span{color:var(--muted);font-size:13px}
.row.next{background:var(--chalk)}
.tag{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:3px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.tag.done{border-color:var(--accent);color:var(--accent)}.tag.mod{border-color:var(--flag);color:var(--flag)}
@media (max-width:560px){.row{grid-template-columns:40px 1fr auto}.row .d{grid-column:2;grid-row:2;font-size:13px}.row .o{grid-column:2}.row .n{grid-row:1 / span 2}}
/* scheda */
.head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-block:14px}
.blk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 18px;padding-block:16px;border-top:2px solid var(--fg);break-inside:avoid}
.blk.plain{border:0;padding:0}
.blk>.lab{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}
.blk .lab .min{font:700 18px var(--display);color:var(--muted);font-variant-numeric:tabular-nums}
.blk .lab .sp{margin-left:auto;display:flex;gap:12px}
.blk p{margin:6px 0 0;max-width:62ch}.blk p b{font-weight:600}
.blk .txt{min-width:0}
.blocks{margin-top:18px}
@media (max-width:720px){.blk{grid-template-columns:minmax(0,1fr)}}
svg.pitch{display:block;width:100%;height:auto;border-radius:4px}
/* libreria */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.card{display:flex;flex-direction:column;gap:8px;text-align:left;padding:10px;font-weight:400;min-width:0}
.card b{font:600 17px/1.15 var(--display);text-transform:uppercase}
.meta{display:flex;flex-wrap:wrap;gap:5px}
/* tabelle */
.scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%}
th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;padding:6px 8px;border-bottom:2px solid var(--fg);white-space:nowrap}
td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}
td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.cal td{min-width:150px}.cal td.num{min-width:0}
.cell{display:block;width:100%;text-align:left;font-weight:400;padding:5px 7px;margin-bottom:4px}
.cell b{font-weight:600}.cell.done{border-color:var(--accent)}
.meso{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:6px 18px;padding-block:14px;border-top:1px solid var(--line)}
.meso p{margin:2px 0;max-width:80ch}.meso .per{font:700 18px var(--display);text-transform:uppercase}
@media (max-width:640px){.meso{grid-template-columns:minmax(0,1fr)}}
section.part{margin-top:28px}
/* squadre */
.team{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;padding-block:14px;border-top:1px solid var(--line)}
.team.cur{border-top:2px solid var(--fg)}
.team p{margin:2px 0}
.teams-pick{display:flex;flex-wrap:wrap;gap:4px 12px}
#team-select{font-weight:600;max-width:260px}
.tag.skip{border-color:var(--danger);color:var(--danger)}
.row:has(.tag.skip) .o b{text-decoration:line-through}
.cell.skip{border-color:var(--danger);text-decoration:line-through}
/* scheda dell'elenco esercizi: corpo cliccabile e contatore delle sedute */
.card{display:flex;flex-direction:column;gap:0;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);min-width:0}
.card-main{display:flex;flex-direction:column;gap:8px;text-align:left;padding:10px;font-weight:400;border:0;background:none;border-radius:6px 6px 0 0;min-width:0}
.card .count{border:0;border-top:1px solid var(--line);border-radius:0 0 6px 6px;background:var(--chalk);font-size:13px;font-weight:500;text-align:left;padding:7px 10px}
.card .count:disabled{color:var(--muted);cursor:default}
.tag.lvl{letter-spacing:.12em;font-size:10px}
.form.narrow{max-width:760px}
td .chips{min-width:200px}
