/* ==========================================================================
   SCALA TIPOGRAFICA - cinque misure, nessuna eccezione
     t1 22px  titolo        Archivo 800 expanded, maiuscolo
     t2 15px  sottotitolo   Archivo 700 expanded, maiuscolo  (nomi esercizio)
     t3 17px  dato          Courier                          (reps, kg, tempo)
     t4 13px  interfaccia   Courier                          (bottoni, tab, input)
     t5 10px  caption       Courier maiuscolo spaziato       (etichette)
   COLORE - solo nero e nero 50%. Il giallo indica solo lo stato attivo.
   LINEE  - tutte 1px.
   ========================================================================== */
:root{
  --ink:#0A0A0A; --ink50:rgba(10,10,10,.5); --paper:#F4F3EC; --yellow:#EFE600;
  --t1:22px; --t2:15px; --t3:17px; --t4:13px; --t5:10px;
  --tap:44px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:'Archivo',Helvetica,Arial,sans-serif;
  font-variation-settings:'wdth' 112,'wght' 300;
  font-size:var(--t4);line-height:1.5;-webkit-font-smoothing:antialiased}
.wrap{max-width:940px;margin:0 auto;padding:0 16px 132px}

.t1{font-family:'Archivo',Helvetica,Arial,sans-serif;
  font-variation-settings:'wdth' 122,'wght' 800;
  text-transform:uppercase;letter-spacing:.01em;font-size:var(--t1);line-height:1.05}
.t2{font-family:'Archivo',Helvetica,Arial,sans-serif;
  font-variation-settings:'wdth' 116,'wght' 700;
  text-transform:uppercase;letter-spacing:.015em;font-size:var(--t2);line-height:1.2}
.t3{font-family:'Courier New',Courier,monospace;font-size:var(--t3);letter-spacing:.02em}
.t4{font-family:'Courier New',Courier,monospace;font-size:var(--t4);letter-spacing:.1em;
  text-transform:uppercase}
.t5{font-family:'Courier New',Courier,monospace;font-size:var(--t5);letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink50)}

a{color:var(--ink)}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- barra di identificazione ---------- */
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0 12px}
.who{min-width:0}
.who .nm{display:block;font-family:'Archivo',Helvetica,Arial,sans-serif;
  font-variation-settings:'wdth' 116,'wght' 700;
  text-transform:uppercase;letter-spacing:.015em;font-size:var(--t2);line-height:1.2}
.who .ct{display:block;font-family:'Courier New',Courier,monospace;font-size:var(--t5);
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink50);margin-top:4px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top .mark{width:26px;height:26px;flex:0 0 auto}

/* ---------- navigazione ---------- */
.nav{position:sticky;top:0;z-index:60;background:var(--paper);
  border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);
  margin:0 -16px;padding:0 16px}
.ptrack{height:3px;background:none;position:relative}
.pfill{position:absolute;inset:0 auto 0 0;background:var(--yellow);width:0;transition:width .3s}
.navrow{display:flex;align-items:center;padding:7px 0}
.navrow+.navrow{border-top:1px solid var(--ink50)}
.navrow .rk{flex:0 0 auto;padding-right:9px;
  font-family:'Courier New',Courier,monospace;font-size:var(--t5);
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink50)}
.tab{flex:1 1 0;min-width:0;height:38px;margin-right:6px;padding:0 4px;
  cursor:pointer;background:none;border:1px solid var(--ink);color:var(--ink);
  font-family:'Courier New',Courier,monospace;font-size:var(--t4);
  letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .15s}
.tab:last-child{margin-right:0}
.tab:hover{background:var(--yellow)}
.tab.on{background:var(--yellow);
  font-family:'Archivo',Helvetica,Arial,sans-serif;
  font-variation-settings:'wdth' 112,'wght' 700;letter-spacing:.02em}
.tab .dot{width:5px;height:5px;background:var(--ink);opacity:0;flex:0 0 auto;margin-right:7px}
.tab.done .dot{opacity:1}
#navWeek .tab{margin-right:5px;max-width:62px}
#navDay .tab{max-width:118px}
.tab.isplan{flex:1.7 1 0;max-width:168px;letter-spacing:.02em}
.count{flex:0 0 auto;padding-left:10px;
  font-family:'Courier New',Courier,monospace;font-size:var(--t5);
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink50);white-space:nowrap}

/* ---------- pannelli ---------- */
.panel{display:none;padding-top:22px}
.panel.on{display:block}
.pheader{display:none}

.shead{border-bottom:1px solid var(--ink);padding-bottom:14px}
.shead .eyebrow{font-family:'Courier New',Courier,monospace;font-size:var(--t5);
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink50)}
.shead h2{margin:8px 0 0}
.stats{display:flex;border-top:1px solid var(--ink50);margin-top:14px}
.stats>div{flex:1;padding:10px 10px 2px 0}
.stats .k{font-family:'Courier New',Courier,monospace;font-size:var(--t5);
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink50)}
.stats .v{font-family:'Courier New',Courier,monospace;font-size:var(--t3);margin-top:4px}

/* ---------- blocco ---------- */
.block{border-top:1px solid var(--ink);margin-top:26px}
.bhead{display:flex;align-items:center;padding:12px 0 14px}
.bnum{font-family:'Courier New',Courier,monospace;font-size:var(--t5);
  letter-spacing:.3em;color:var(--ink50);margin-right:14px}
.btitle{font-family:'Archivo',Helvetica,Arial,sans-serif;
  font-variation-settings:'wdth' 116,'wght' 700;
  text-transform:uppercase;letter-spacing:.03em;font-size:var(--t2)}
.bhead .m{margin-left:auto;font-family:'Courier New',Courier,monospace;
  font-size:var(--t5);letter-spacing:.16em;text-transform:uppercase;color:var(--ink50)}
.bfoot{display:flex;justify-content:flex-end;padding:4px 0 18px}
.markall{height:var(--tap);padding:0 16px;cursor:pointer;
  background:none;border:1px solid var(--ink50);color:var(--ink);
  font-family:'Courier New',Courier,monospace;font-size:var(--t4);
  letter-spacing:.1em;text-transform:uppercase;
  display:inline-flex;align-items:center;transition:background .15s,border-color .15s}
.markall:hover{background:var(--yellow);border-color:var(--ink)}
.markall .box{width:16px;height:16px;border:1px solid var(--ink);margin-right:10px;flex:0 0 auto}
.markall.all .box{background:var(--ink)}

/* ---------- esercizio ---------- */
.ex{padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid var(--ink50)}
.ex:last-child{border-bottom:none;margin-bottom:0}
.ex.is-done .exhead .exname{color:var(--ink50)}
.exhead{display:flex;align-items:flex-start;margin-bottom:12px}
.exname{flex:1;min-width:0}
.pairlab{display:block;font-family:'Courier New',Courier,monospace;font-size:var(--t5);
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink50);margin-bottom:5px}
.vid{flex:0 0 auto;width:22px;height:22px;background:var(--ink);
  display:block;text-decoration:none;margin:1px 0 0 14px}
.vid:hover{background:var(--yellow);outline:1px solid var(--ink)}

.rx{border:1px solid var(--ink)}
.rxrow{display:flex;border-top:1px solid var(--ink)}
.rxrow:first-child{border-top:none}
.rx .c{flex:1;min-width:0;padding:12px 14px;border-left:1px solid var(--ink);
  font-family:'Courier New',Courier,monospace;font-size:var(--t3);
  letter-spacing:.02em;text-transform:uppercase}
.rx .c:first-child{border-left:none}
.rx .c.sub{color:var(--ink50)}

.log{display:flex;align-items:center;margin-top:12px}
.log .field{flex:1;min-width:0}
.log.only-done{justify-content:flex-end}
.cap{display:block;font-family:'Courier New',Courier,monospace;font-size:var(--t5);
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink50);margin-bottom:5px}
input.load{width:100%;height:var(--tap);
  font-family:'Courier New',Courier,monospace;font-size:var(--t4);letter-spacing:.06em;
  color:var(--ink);background:none;text-transform:uppercase;
  border:1px solid var(--ink50);border-radius:0;padding:0 13px;outline:none}
input.load:focus{border-color:var(--ink)}
input.load::placeholder{color:var(--ink50)}
.chkwrap{flex:0 0 auto;margin-left:10px;align-self:flex-end}
.chkbtn{height:var(--tap);min-width:110px;padding:0 14px;cursor:pointer;
  background:none;border:1px solid var(--ink);color:var(--ink);
  font-family:'Courier New',Courier,monospace;font-size:var(--t4);
  letter-spacing:.1em;text-transform:uppercase;
  display:inline-flex;align-items:center;justify-content:center;transition:background .15s}
.chkbtn:hover{background:var(--yellow)}
.chkbtn .box{width:16px;height:16px;border:1px solid var(--ink);position:relative;
  flex:0 0 auto;margin-right:10px}
.chkbtn[aria-pressed="true"]{background:var(--yellow)}
.chkbtn[aria-pressed="true"] .box{background:var(--ink)}

@media(min-width:820px){
  .ex{display:flex;align-items:flex-start}
  .exhead{flex:1;min-width:0;margin-bottom:0;padding-right:32px}
  .exdata{flex:0 0 400px;width:400px}
}

/* ---------- pager ---------- */
.pager{display:flex;margin-top:30px}
.pager button{flex:1;min-height:var(--tap);cursor:pointer;padding:10px 13px;text-align:left;
  background:none;border:1px solid var(--ink);color:var(--ink);
  font-family:'Courier New',Courier,monospace;font-size:var(--t4);
  letter-spacing:.1em;text-transform:uppercase}
.pager button+button{margin-left:10px;text-align:right}
.pager button:hover{background:var(--yellow)}
.pager button[disabled]{border-color:var(--ink50);color:var(--ink50);cursor:default}
.pager button[disabled]:hover{background:none}
.pager .k{display:block;font-size:var(--t5);letter-spacing:.16em;color:var(--ink50);margin-bottom:3px}

/* ---------- note ---------- */
textarea{width:100%;min-height:96px;resize:vertical;
  font-family:'Archivo',Helvetica,Arial,sans-serif;
  font-variation-settings:'wdth' 112,'wght' 300;
  font-size:var(--t4);line-height:1.55;color:var(--ink);background:none;
  border:1px solid var(--ink50);border-radius:0;padding:12px;outline:none}
textarea:focus{border-color:var(--ink)}
textarea::placeholder{color:var(--ink50)}
.notes{border-top:1px solid var(--ink);margin-top:26px}
.notes .bhead{padding:12px 0 12px}
.coach{border:1px solid var(--ink);margin-top:18px;padding:14px}
.coach .bhead{padding:0 0 10px}
.coach textarea{border:none;border-top:1px solid var(--ink50);padding:12px 0 0}

/* ---------- struttura ---------- */
.ovlist{border-top:1px solid var(--ink50)}
.ovrow{border-bottom:1px solid var(--ink50);padding:14px 0}
.ovrow .h{font-family:'Archivo',Helvetica,Arial,sans-serif;
  font-variation-settings:'wdth' 116,'wght' 700;
  text-transform:uppercase;font-size:var(--t2);letter-spacing:.015em;margin-bottom:10px}
.ovrow .m{font-family:'Courier New',Courier,monospace;font-size:var(--t5);
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink50);margin-top:2px}
@media(min-width:760px){
  .ovrow{display:flex;align-items:center}
  .ovrow .h{flex:0 0 150px;margin-bottom:0}
  .ovrow .d{flex:1;min-width:0}
  .ovrow .m{flex:0 0 100px;text-align:right;margin-top:0}
}
button.chip,span.chip{display:inline-flex;align-items:center;min-height:var(--tap);
  font-family:'Courier New',Courier,monospace;font-size:var(--t4);
  letter-spacing:.1em;text-transform:uppercase;text-align:left;
  color:var(--ink);background:none;border:1px solid var(--ink);
  padding:6px 13px;margin:0 8px 8px 0}
button.chip{cursor:pointer;transition:background .15s}
button.chip:hover{background:var(--yellow)}
.chip.d{background:var(--yellow)}
.flag{border:1px solid var(--ink);padding:16px;margin-top:26px;font-size:var(--t4);line-height:1.55}
.flag strong{display:block;font-family:'Archivo',Helvetica,Arial,sans-serif;
  font-variation-settings:'wdth' 116,'wght' 700;
  letter-spacing:.03em;text-transform:uppercase;font-size:var(--t2);margin-bottom:8px}

/* ---------- footer e barra azioni ---------- */
.docfoot{border-top:1px solid var(--ink);margin-top:40px;padding:14px 0;
  display:flex;justify-content:space-between;
  font-family:'Courier New',Courier,monospace;font-size:var(--t5);
  letter-spacing:.16em;text-transform:uppercase}
.docfoot a{text-decoration:none}
.bar{position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--ink);
  display:flex;padding-bottom:env(safe-area-inset-bottom)}
.btn{flex:1;min-height:54px;cursor:pointer;border:none;
  border-left:1px solid var(--paper);background:var(--ink);color:var(--paper);
  font-family:'Courier New',Courier,monospace;font-size:var(--t4);
  letter-spacing:.1em;text-transform:uppercase;padding:8px 6px}
.btn:first-child{border-left:none}
.btn.primary{background:var(--yellow);color:var(--ink);flex:1.3;
  font-family:'Archivo',Helvetica,Arial,sans-serif;
  font-variation-settings:'wdth' 116,'wght' 700;letter-spacing:.05em}
.saved{position:fixed;left:50%;transform:translateX(-50%);bottom:70px;z-index:85;
  background:var(--ink);color:var(--paper);padding:8px 14px;
  font-family:'Courier New',Courier,monospace;font-size:var(--t5);letter-spacing:.16em;
  text-transform:uppercase;opacity:0;pointer-events:none;transition:opacity .25s}
.saved.on{opacity:1}
.saved.warn{background:var(--yellow);color:var(--ink);max-width:88vw;text-align:center;line-height:1.35}
.rolepill{position:fixed;left:10px;bottom:66px;z-index:75;
  background:var(--ink);color:var(--paper);padding:5px 9px;
  font-family:'Courier New',Courier,monospace;font-size:var(--t5);letter-spacing:.16em;
  text-transform:uppercase}
.printline{display:none}

/* ---------- stampa: una seduta per pagina ---------- */
@media print{
  @page{size:A4;margin:13mm 12mm}
  html,body{background:#fff;color:#000;font-size:9pt;line-height:1.3}
  .nav,.bar,.saved,.rolepill,.pager,.vid,.coach,.top,.bfoot{display:none!important}
  .wrap{max-width:none;padding:0}
  .panel{display:block!important;page-break-after:always;break-after:page;padding-top:0}
  .panel:last-child{page-break-after:auto;break-after:auto}
  .block,.ex,.shead,.notes,.ovrow{page-break-inside:avoid;break-inside:avoid}
  .pheader{display:block;border-bottom:1px solid #000;padding-bottom:4pt;margin-bottom:8pt;
    font-family:'Courier New',monospace;font-size:7.5pt;letter-spacing:.16em;text-transform:uppercase}
  .shead{padding-bottom:6pt}
  .shead h2{font-size:16pt}
  .stats{margin-top:6pt}
  .stats>div{padding:4pt 6pt 2pt 0}
  .stats .v{font-size:11pt}
  .block{margin-top:9pt}
  .bhead{padding:5pt 0 5pt}
  .btitle{font-size:9.5pt}
  .ex{padding:0 0 3pt;margin-bottom:3pt;display:flex;align-items:flex-start}
  .exhead{flex:1;min-width:0;margin:0}
  .exdata{flex:0 0 auto;width:96mm;display:flex;align-items:flex-start;margin-left:5mm}
  .exname{font-size:9pt}
  .pairlab{font-size:6.5pt;margin-bottom:1pt}
  .rx{border:none}
  .rxrow{border:none;display:block}
  .rx .c{display:inline;padding:0;border:none;font-size:9.5pt}
  .rx .c+.c::before{content:' / '}
  .rx .c.sub{display:block;font-size:7.5pt}
  .rx{flex:1;min-width:0}
  .log{flex:0 0 auto;width:34mm;margin:0 0 0 5mm;display:block}
  input.load,.chkbtn,.cap{display:none!important}
  .printline{display:block;border-bottom:1px solid #000;height:12pt}
  .log.only-done .printline{display:none}
  .notes{margin-top:6pt;border-top:1px solid #000}
  .notes .bhead{padding:3pt 0 2pt}
  .notes textarea{display:none}
  .notes::after{content:'';display:block;border:1px solid #000;height:24pt}
  .ovrow{padding:5pt 0}
  span.chip,button.chip{min-height:0;padding:2pt 5pt;font-size:7.5pt;margin:0 4pt 2pt 0}
  .flag{border:1px solid #000;padding:8pt;font-size:8.5pt}
  .docfoot{margin-top:10pt}
}

/* ---------- pagina di accesso e di errore (solo WordPress) ---------- */
.gate{padding-top:40px}
.gate p{max-width:52ch;font-size:var(--t4);line-height:1.6}
.gate form{margin-top:20px;max-width:400px}
.gate label{display:block;font-family:'Courier New',Courier,monospace;font-size:var(--t5);
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink50);margin-bottom:6px}
.gate input[type=password]{width:100%;height:44px;border:1px solid var(--ink);border-radius:0;
  background:none;color:var(--ink);padding:0 13px;outline:none;
  font-family:'Courier New',Courier,monospace;font-size:var(--t4)}
.gate input[type=submit]{margin-top:12px;height:44px;padding:0 20px;cursor:pointer;
  border:1px solid var(--ink);border-radius:0;background:var(--yellow);color:var(--ink);
  font-family:'Archivo',Helvetica,Arial,sans-serif;
  font-variation-settings:'wdth' 116,'wght' 700;
  font-size:var(--t4);letter-spacing:.05em;text-transform:uppercase}
