:root{
  --navy:#17385f; --blue:#4472c4; --orange:#ed7d31; --green:#548235;
  --bg:#f4f7fa; --card:#fff; --text:#263341; --muted:#6c7a89; --line:#dce3ea;
  --ok:#d9ead3; --okText:#274e13; --bad:#f4cccc; --badText:#9c0006; --input:#fff2cc;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit}.app{min-height:100vh}.topbar{background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:14px 22px;position:sticky;top:0;z-index:20;box-shadow:0 2px 12px #0002}.brand{display:flex;align-items:center;gap:12px}.logo{width:38px;height:38px;border-radius:12px;background:#fff2;display:grid;place-items:center;font-weight:800}.brand h1{font-size:18px;margin:0}.brand small{opacity:.75}.userpill{background:#fff1;border:1px solid #fff3;border-radius:999px;padding:8px 12px;font-size:13px}.layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 66px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:20px 12px}.navbtn{width:100%;border:0;background:transparent;text-align:left;padding:12px 14px;border-radius:10px;color:#425466;margin-bottom:6px;cursor:pointer}.navbtn.active,.navbtn:hover{background:#eaf0f7;color:var(--navy);font-weight:700}.main{padding:26px;max-width:1500px;width:100%;margin:auto}.pagehead{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:20px}.pagehead h2{margin:0;font-size:28px;color:var(--navy)}.pagehead p{margin:5px 0 0;color:var(--muted)}.grid{display:grid;gap:16px}.cards4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 5px 18px #1f3f5d0a}.kpi .label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.kpi .value{font-size:30px;font-weight:800;color:var(--navy);margin-top:8px}.kpi .sub{font-size:12px;color:var(--muted);margin-top:5px}.section-title{font-size:15px;font-weight:800;color:var(--navy);margin:0 0 14px}.formgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.field label{display:block;font-size:12px;font-weight:700;color:#536273;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid #cad5df;border-radius:10px;padding:10px 11px;background:#fff;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #4472c422}.field.input input,.field.input select{background:var(--input)}.btn{border:0;border-radius:10px;padding:10px 16px;font-weight:800;cursor:pointer}.btn.primary{background:var(--navy);color:#fff}.btn.secondary{background:#eaf0f7;color:var(--navy)}.btn.danger{background:#fdeaea;color:#9c0006}.btnrow{display:flex;gap:10px;flex-wrap:wrap}.status{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11.5px;font-weight:800;white-space:nowrap}.status.ok{background:var(--ok);color:var(--okText)}.status.bad{background:var(--bad);color:var(--badText)}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.datatable{border-collapse:collapse;width:100%;min-width:1100px}.datatable th{position:sticky;top:0;background:var(--navy);color:#fff;font-size:12px;padding:10px 9px;text-align:left;z-index:1}.datatable td{border-top:1px solid #edf1f4;padding:8px 9px;font-size:13px;vertical-align:middle}.datatable tbody tr:nth-child(even){background:#fafcfd}.datatable input{width:90px;padding:7px;border:1px solid #d3dce4;border-radius:8px}.datatable input.entry{background:var(--input)}.avgcell{font-weight:800;color:var(--green);background:#edf5e9}.macroline td{border-top:3px solid #9cb2c8}.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.filters .field{min-width:190px}.chartbox{height:500px;position:relative}.chartbox svg{width:100%;height:100%;display:block}.legend{display:flex;gap:18px;justify-content:center;margin-top:8px;font-size:12px;color:var(--muted)}.legend span:before{content:"";display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-2px}.legend .base:before{background:var(--blue)}.legend .var:before{background:var(--orange)}.legend .avg:before{background:var(--green);height:3px;border-radius:2px;vertical-align:2px}.empty{padding:50px;text-align:center;color:var(--muted)}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#17385f,#315a86)}.loginbox{background:#fff;width:min(440px,100%);border-radius:22px;padding:32px;box-shadow:0 20px 70px #0004}.loginbox h1{color:var(--navy);margin:0}.loginbox p{color:var(--muted);line-height:1.5}.loginbox input{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;margin:7px 0 16px}.smallnote{font-size:12px;color:var(--muted);line-height:1.5}.macro-badges{display:flex;gap:8px;flex-wrap:wrap}.macro-badge{padding:6px 10px;border-radius:999px;font-size:11.5px;font-weight:800;background:#eaf0f7}.footer-note{font-size:12px;color:var(--muted);margin-top:12px}.two-col{grid-template-columns:1.1fr .9fr}.program-list{display:grid;gap:10px}.program-item{padding:13px;border:1px solid var(--line);border-radius:12px;cursor:pointer;display:flex;justify-content:space-between;gap:12px}.program-item:hover,.program-item.active{border-color:#91aac1;background:#f3f7fb}.program-item b{color:var(--navy)}
@media(max-width:1050px){.layout{grid-template-columns:1fr}.sidebar{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px}.navbtn{white-space:nowrap;width:auto;margin:0 4px}.cards4{grid-template-columns:repeat(2,1fr)}.formgrid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.main{padding:18px}}
@media(max-width:650px){.cards4,.formgrid{grid-template-columns:1fr}.pagehead{align-items:flex-start;flex-direction:column}.topbar{padding:11px 14px}.brand small{display:none}.main{padding:12px}.chartbox{height:380px}.card{padding:14px}}

/* Program management */
.program-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.program-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.btn.compact{padding:8px 11px;font-size:11.5px}.btn:disabled{opacity:.45;cursor:not-allowed}.program-item.program-manage{padding:0;overflow:hidden;align-items:stretch;cursor:default}.program-check-wrap{width:46px;display:grid;place-items:center;background:#f7f9fb;border-right:1px solid var(--line);cursor:pointer;flex:0 0 46px}.program-check-wrap input{width:18px;height:18px;accent-color:var(--navy);cursor:pointer}.program-select-main{flex:1;min-width:0;border:0;background:transparent;padding:13px;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;color:inherit}.program-select-main:hover{background:#f3f7fb}.program-meta{font-size:11.5px;font-weight:800;color:var(--muted);white-space:nowrap}.program-item.program-manage.active .program-check-wrap{background:#eaf0f7}.program-item.program-manage.active .program-meta{color:var(--navy)}
@media(max-width:650px){.program-list-head{flex-direction:column}.program-actions{width:100%;justify-content:stretch}.program-actions .btn{flex:1}.program-select-main{align-items:flex-start;flex-direction:column}.program-meta{white-space:normal}}

/* Dashboard program selector */
.dashboard-head{align-items:center}.dashboard-program-picker{min-width:310px;display:flex;flex-direction:column;gap:6px}.dashboard-program-picker label,.dashboard-program-single span{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.dashboard-program-picker select{width:100%;border:1px solid #c8d4df;border-radius:11px;background:#fff;padding:10px 36px 10px 12px;color:var(--navy);font-weight:800;outline:none;box-shadow:0 3px 10px #17385f0a}.dashboard-program-picker select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #4472c422}.dashboard-program-single{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.dashboard-program-single b{color:var(--navy)}.dashboard-macros{margin:-8px 0 18px;justify-content:flex-end}
@media(max-width:650px){.dashboard-program-picker{width:100%;min-width:0}.dashboard-program-single{align-items:flex-start}.dashboard-macros{justify-content:flex-start;margin-top:-4px}}


/* Program time pre-check */
.time-precheck-host{margin-top:18px}
.precheck{border-radius:15px;border:1px solid var(--line);padding:15px 16px}
.precheck.neutral{display:flex;gap:12px;align-items:center;background:#f7f9fb;color:var(--muted)}
.precheck.ok{background:#f1f8ef;border-color:#b9d7b0}
.precheck.bad{background:#fff5f5;border-color:#e5aaaa}
.precheck-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.precheck-status{display:flex;gap:12px;align-items:flex-start}
.precheck-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:900;flex:0 0 34px}
.precheck.ok .precheck-icon{background:var(--ok);color:var(--okText)}
.precheck.bad .precheck-icon{background:var(--bad);color:var(--badText)}
.precheck.neutral .precheck-icon{background:#e8edf2;color:#526273}
.precheck b{color:var(--navy)}
.precheck p{margin:4px 0 0;font-size:13px;line-height:1.45;color:var(--muted)}
.precheck-min{min-width:190px;background:#fff;border:1px solid #dfe6ec;border-radius:12px;padding:10px 12px;text-align:right}
.precheck-min span{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}
.precheck-min strong{display:block;font-size:25px;color:var(--navy);margin-top:3px}
.precheck-fix{margin-top:8px;background:var(--navy);color:#fff;padding:7px 10px;font-size:11.5px;width:100%}
.precheck-table-wrap{overflow:auto;max-height:310px;margin-top:14px;border:1px solid #efcccc;border-radius:11px;background:#fff}
.precheck-table{width:100%;border-collapse:collapse;min-width:620px}
.precheck-table th{position:sticky;top:0;background:#f8dddd;color:#6f3131;text-align:left;font-size:11.5px;padding:8px 10px;z-index:1}
.precheck-table td{border-top:1px solid #f4e0e0;padding:8px 10px;font-size:12px}
.precheck-table td small{display:block;color:var(--muted);margin-top:2px}
.precheck-over{font-weight:800;color:var(--badText)}
.precheck-foot{font-size:11.5px;color:#7c5555;margin-top:10px;line-height:1.45}
.program-submit-row{margin-top:16px;align-items:center}
.submit-hint{font-size:12px;color:var(--badText);font-weight:700}
.time-field input{font-weight:800}
@media(max-width:650px){.precheck-top{flex-direction:column}.precheck-min{width:100%;text-align:left}.precheck-min strong{font-size:22px}}


/* v1.6 Program edit actions */
.program-editor-card.editing{border-color:#8ba9c5;box-shadow:0 8px 26px #17385f15}
.edit-banner{display:flex;align-items:center;gap:11px;background:#eaf1f8;border:1px solid #c4d5e5;border-radius:12px;padding:11px 12px;margin-bottom:16px}
.edit-banner-icon{width:34px;height:34px;border-radius:10px;background:var(--navy);color:#fff;display:grid;place-items:center;flex:0 0 34px}
.edit-banner-icon svg{width:18px;height:18px;fill:currentColor}
.edit-banner>div:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.edit-banner b{color:var(--navy)}
.edit-banner span{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.icon-text-btn{border:0;background:transparent;color:var(--navy);font-weight:800;font-size:11.5px;cursor:pointer;padding:7px 9px;border-radius:8px}
.icon-text-btn:hover{background:#dbe7f2}
.program-row-actions{display:flex;align-items:center;gap:5px;padding:8px 9px;border-left:1px solid var(--line);background:#fbfcfd}
.row-icon-btn{width:35px;height:35px;border:0;border-radius:9px;display:grid;place-items:center;cursor:pointer;background:transparent;transition:.15s ease}
.row-icon-btn svg{width:17px;height:17px;fill:currentColor}
.row-icon-btn.edit{color:var(--navy)}
.row-icon-btn.edit:hover{background:#e4eef7}
.row-icon-btn.delete{color:#a23939}
.row-icon-btn.delete:hover{background:#fdeaea}
.program-item.program-manage.being-edited{box-shadow:inset 3px 0 0 var(--blue)}
@media(max-width:650px){
 .program-item.program-manage{flex-wrap:wrap}
 .program-select-main{order:2;flex-basis:calc(100% - 47px)}
 .program-row-actions{order:3;width:100%;justify-content:flex-end;border-left:0;border-top:1px solid var(--line);padding:6px 9px}
 .edit-banner{align-items:flex-start}
}


/* v1.8 Help tooltip RPE */
.th-help{display:inline-flex;align-items:center;gap:6px;position:relative}
.help-dot{width:20px;height:20px;border-radius:999px;border:1px solid #b9c7d6;background:#eef4fa;color:var(--navy);font-weight:900;font-size:12px;line-height:1;display:inline-grid;place-items:center;cursor:pointer;padding:0;flex:0 0 20px}
.help-dot:hover{background:#dfeaf5}
.help-bubble{position:absolute;left:0;top:calc(100% + 8px);width:min(280px, 70vw);background:#102842;color:#fff;border-radius:12px;padding:10px 12px;font-size:12px;line-height:1.45;box-shadow:0 12px 28px rgba(8,24,43,.22);display:none;z-index:20;text-transform:none;letter-spacing:normal;font-weight:500}
.help-bubble::before{content:"";position:absolute;top:-6px;left:20px;width:12px;height:12px;background:#102842;transform:rotate(45deg)}
.help-bubble.open{display:block}


/* v1.9 Session summary + full training sheet */
.sessions-summary-info{display:flex;gap:10px;flex-wrap:wrap;margin:-7px 0 15px}
.sessions-summary-info span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-size:12px;color:var(--muted)}
.sessions-summary-info b{color:var(--navy)}
.session-summary-row{cursor:pointer}
.session-summary-row:hover{background:#f0f5fa!important}
.session-summary-row td:first-child small,.session-summary-row td:nth-child(2) small,.session-summary-row td:nth-child(3) small{display:block;color:var(--muted);font-size:11.5px;margin-top:3px}
.completion-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:11.5px;font-weight:900;white-space:nowrap}
.completion-pill.complete,.detail-status-text.complete{background:#d9ead3;color:#274e13}
.completion-pill.partial,.detail-status-text.partial{background:#fff2cc;color:#7f6000}
.completion-pill.empty,.detail-status-text.empty{background:#edf1f4;color:#667788}
.open-session-btn{width:31px;height:31px;border:0;border-radius:9px;background:#eaf0f7;color:var(--navy);font-size:24px;line-height:1;cursor:pointer}
.open-session-btn:hover{background:#d9e5f0}
.session-mobile-list{display:none}

.session-detail{max-width:1180px;margin:0 auto}
.session-detail-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:13px}
.back-link{border:0;background:transparent;color:var(--navy);font-weight:800;cursor:pointer;padding:7px 0}
.session-detail-nav{display:flex;gap:8px}
.session-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:16px}
.session-hero .eyebrow{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}
.session-hero h2{font-size:29px;color:var(--navy);margin:5px 0 3px}
.session-hero p{margin:0;color:var(--muted);font-size:13px}
.session-hero-kpis{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:10px}
.session-hero-kpis>div{min-height:78px;background:#f7f9fb;border:1px solid var(--line);border-radius:12px;padding:10px}
.session-hero-kpis span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}
.session-hero-kpis strong{display:block;color:var(--navy);font-size:22px;margin-top:5px}
.session-hero-kpis small{font-size:11.5px;color:var(--muted)}
.session-hero-kpis .detail-status-text{font-size:11.5px;display:inline-flex;width:auto;padding:5px 8px;border-radius:999px;margin-top:8px}

.accordion-stack{display:grid;gap:10px}
.session-section{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:visible}
.session-section[open]{box-shadow:0 5px 18px #17385f0a}
.session-section>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;user-select:none}
.session-section>summary::-webkit-details-marker{display:none}
.session-section>summary span:first-child{display:flex;flex-direction:column;gap:3px}
.session-section>summary b{color:var(--navy);font-size:14px}
.session-section>summary small{color:var(--muted);font-size:11.5px}
.summary-chevron{font-size:21px;color:var(--muted);transition:transform .15s ease}
.session-section[open] .summary-chevron{transform:rotate(180deg)}
.session-section-body{border-top:1px solid var(--line);padding:16px}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.detail-field{min-width:0}
.detail-field.wide{grid-column:span 2}
.detail-field label{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;color:#536273;margin-bottom:6px}
.detail-field input,.detail-field select,.detail-field textarea{width:100%;border:1px solid #cad5df;border-radius:10px;padding:10px 11px;background:#fff;outline:none}
.detail-field textarea{resize:vertical;min-height:82px}
.detail-field input:focus,.detail-field select:focus,.detail-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #4472c422}
.computed-value{border:1px solid #cfe0c7;background:#edf5e9;color:var(--green);font-weight:900;border-radius:10px;padding:10px 11px;min-height:41px}
.label-inline-help{position:relative}
.inline-help-wrap{position:relative;display:inline-flex}
.inline-help-wrap .help-bubble{left:-6px;top:calc(100% + 8px)}
.autosave-note{text-align:center;color:var(--muted);font-size:11.5px;margin:13px 0 4px}

@media(max-width:900px){
 .session-hero{align-items:flex-start;flex-direction:column}
 .session-hero-kpis{width:100%;grid-template-columns:repeat(2,1fr)}
 .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
 .session-table-card{display:none}
 .session-mobile-list{display:grid;gap:10px}
 .session-mobile-card{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px;cursor:pointer;color:inherit}
 .session-mobile-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
 .session-mobile-head b{display:block;color:var(--navy);font-size:15px}
 .session-mobile-head span:not(.completion-pill){display:block;color:var(--muted);font-size:11.5px;margin-top:3px}
 .session-mobile-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}
 .session-mobile-kpis div{background:#f7f9fb;border-radius:9px;padding:8px 7px}
 .session-mobile-kpis span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:800}
 .session-mobile-kpis strong{display:block;color:var(--navy);font-size:14px;margin-top:2px}
 .session-mobile-open{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:9px;border-top:1px solid #edf1f4;font-size:11.5px;font-weight:800;color:var(--navy)}
 .session-mobile-open span{font-size:21px}
 .session-detail-top{align-items:flex-start;flex-direction:column}
 .session-detail-nav{width:100%}
 .session-detail-nav .btn{flex:1}
 .session-hero{padding:15px}
 .session-hero h2{font-size:25px}
 .session-hero-kpis{grid-template-columns:repeat(2,1fr)}
 .detail-grid{grid-template-columns:1fr}
 .detail-field.wide{grid-column:auto}
 .session-section>summary{padding:13px}
 .session-section-body{padding:13px}
 .sessions-summary-info{gap:6px}
 .sessions-summary-info span{padding:6px 8px;font-size:11.5px}
}


/* v1.11 stronger CTA for additional data */
.open-session-btn.cta{
  min-width:138px;height:38px;border-radius:12px;
  background:linear-gradient(180deg,#274f7b 0%,#1f3f63 100%);
  color:#fff;display:inline-flex;align-items:center;justify-content:space-between;
  gap:10px;padding:0 12px;border:1px solid #1b3857;box-shadow:0 6px 16px rgba(31,63,99,.18);
  font-size:12px;font-weight:900;letter-spacing:.02em
}
.open-session-btn.cta:hover{background:linear-gradient(180deg,#2d5b8c 0%,#25496f 100%);transform:translateY(-1px)}
.open-session-label{font-size:11.5px}
.open-session-arrow{font-size:24px;line-height:1;margin-top:-1px}
.session-summary-table td:last-child{text-align:right}
.session-mobile-open{
  display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;
  align-items:center;column-gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #edf1f4
}
.session-mobile-open-text{
  font-size:11.5px;font-weight:900;color:var(--navy);letter-spacing:.04em
}
.session-mobile-open-sub{
  font-size:11.5px;color:var(--muted)
}
.session-mobile-open-arrow{
  grid-row:1 / span 2;grid-column:2;
  width:34px;height:34px;border-radius:10px;background:#e7eff7;color:var(--navy);
  display:grid;place-items:center;font-size:22px;font-weight:900
}
@media(max-width:650px){
  .open-session-btn.cta{min-width:122px;height:36px;padding:0 10px}
  .open-session-label{font-size:11.5px}
}


/* v1.12 Analysis metric filters */
.analysis-controls{display:flex;align-items:flex-end;gap:18px;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}
.macro-filter-field{min-width:170px}
.metric-filters{display:flex;gap:8px;flex-wrap:wrap;flex:1;justify-content:flex-end}
.metric-toggle{border:1px solid var(--line);border-radius:12px;background:#f8fafc;padding:8px 10px;display:flex;align-items:center;gap:8px;cursor:pointer;min-width:145px;transition:.15s ease}
.metric-toggle input{display:none}
.metric-toggle:hover{background:#f2f6fa}
.metric-toggle.on{background:#fff;border-color:#aebdca;box-shadow:0 3px 10px #17385f0c}
.toggle-dot{width:11px;height:11px;border-radius:999px;background:#b8c2cc;box-shadow:0 0 0 3px #fff,0 0 0 4px #ccd5dd}
.metric-toggle.on.avg .toggle-dot{background:#548235;box-shadow:0 0 0 3px #fff,0 0 0 4px #54823555}
.metric-toggle.on.borg .toggle-dot{background:#8064A2;box-shadow:0 0 0 3px #fff,0 0 0 4px #8064A255}
.metric-toggle.on.hydration .toggle-dot{background:#00A6A6;box-shadow:0 0 0 3px #fff,0 0 0 4px #00A6A655}
.metric-toggle.on.fatigue .toggle-dot{background:#C0504D;box-shadow:0 0 0 3px #fff,0 0 0 4px #C0504D55}
.toggle-copy{display:flex;flex-direction:column;gap:1px}
.toggle-copy b{font-size:11.5px;color:var(--navy)}
.toggle-copy small{font-size:11px;color:var(--muted)}
.analysis-legend{flex-wrap:wrap}
.legend .metric-line:before{height:3px;border-radius:2px;vertical-align:2px}
.legend .metric-line.avg:before{background:#548235}
.legend .metric-line.borg:before{background:#8064A2}
.legend .metric-line.hydration:before{background:#00A6A6}
.legend .metric-line.fatigue:before{background:#C0504D}
.legend .metric-line.muted{opacity:.35;text-decoration:line-through}
@media(max-width:900px){.analysis-controls{align-items:stretch}.metric-filters{justify-content:flex-start}.metric-toggle{flex:1;min-width:180px}}
@media(max-width:650px){.metric-filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.metric-toggle{min-width:0}.macro-filter-field{width:100%}.chartbox{height:420px}}


/* v1.13 Mobile responsive refinement */
html,body,#app,.app{width:100%;max-width:100%;overflow-x:hidden}
.layout,.main,.grid,.card,form,.formgrid,.field,.program-list,.program-item,.program-select-main,.precheck,.session-detail{min-width:0;max-width:100%}
img,svg{max-width:100%}
input,select,textarea,button{max-width:100%}

/* Clearer card hierarchy */
.program-editor-card{background:#f8fbff;border-color:#c9d9e8;box-shadow:0 6px 20px rgba(23,56,95,.08)}
.saved-programs-card{background:#fcfdfd;border-color:#d5dfdf;box-shadow:0 6px 20px rgba(23,56,95,.06)}
.cards4 .card:nth-child(1){background:#f5f9fd;border-color:#cbdcea}
.cards4 .card:nth-child(2){background:#fff8f1;border-color:#edd5bd}
.cards4 .card:nth-child(3){background:#f5faf3;border-color:#cfe0c8}
.cards4 .card:nth-child(4){background:#f8f5fb;border-color:#dbcee6}
.program-item.program-manage{background:#fff;border-color:#d3dde6}
.program-item.program-manage.active{background:#eef5fb;border-color:#8eabc5}

/* Training sheet sections get distinct but restrained accents */
.session-section:nth-of-type(1)>summary{background:#f3f8fc}
.session-section:nth-of-type(2)>summary{background:#f5f9f2}
.session-section:nth-of-type(3)>summary{background:#f1f9f8}
.session-section:nth-of-type(4)>summary{background:#fbf7f1}
.session-section:nth-of-type(5)>summary{background:#f7f4fa}
.session-section:nth-of-type(6)>summary{background:#f7f8fa}

/* Stronger availability feedback */
.precheck.ok{background:#edf8e9;border-color:#8fbe7e}
.precheck.bad{background:#fff0f0;border-color:#d98282}
.precheck.neutral{background:#f3f6f9;border-color:#cfd9e2}

@media(max-width:650px){
  html,body,#app,.app,.layout,.main{width:100%;max-width:100%;overflow-x:hidden}
  body{font-size:14px}
  .main{padding:10px;width:100%;min-width:0}
  .layout{display:block}
  .topbar{padding:9px 10px;gap:8px}
  .brand{gap:8px;min-width:0}
  .logo{width:32px;height:32px;border-radius:9px;font-size:12px;flex:0 0 32px}
  .brand h1{font-size:15px;white-space:nowrap}
  .userpill{font-size:11.5px;padding:6px 8px;max-width:34vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  .sidebar{width:100%;max-width:100%;padding:6px;gap:2px;overflow-x:auto;overscroll-behavior-x:contain}
  .navbtn{font-size:11.5px;padding:9px 10px;margin:0 2px;flex:0 0 auto}

  .pagehead{gap:8px;margin-bottom:13px}
  .pagehead h2{font-size:20px;line-height:1.15}
  .pagehead p{font-size:11.5px;line-height:1.4;margin-top:4px}
  .section-title{font-size:13px;margin-bottom:10px}
  .smallnote{font-size:11.5px;line-height:1.35}

  .grid,.two-col,.formgrid,.cards4{display:grid;grid-template-columns:minmax(0,1fr)!important;width:100%;max-width:100%;gap:10px}
  .card{width:100%;max-width:100%;padding:12px;border-radius:13px}
  .program-editor-card,.saved-programs-card{overflow:hidden}

  #programForm,.formgrid,.field{width:100%;max-width:100%;min-width:0}
  .field input,.field select,.field textarea{
    display:block;width:100%;max-width:100%;min-width:0;
    padding:10px;font-size:16px;border-radius:9px
  }
  .field label{font-size:11.5px;margin-bottom:5px}
  .plan-type-field select{white-space:normal}
  .btn{font-size:11.5px;padding:9px 11px}
  .program-submit-row{width:100%;align-items:stretch}
  .program-submit-row .btn{width:100%}
  .submit-hint{font-size:11.5px;line-height:1.35}

  /* Prevent pre-check from widening the whole page */
  .time-precheck-host,.precheck,.precheck-top,.precheck-status{width:100%;max-width:100%;min-width:0}
  .precheck{padding:12px;border-radius:12px}
  .precheck-top{gap:10px}
  .precheck-status{gap:9px}
  .precheck-icon{width:28px;height:28px;flex-basis:28px;font-size:12px}
  .precheck p{font-size:11.5px}
  .precheck-min{min-width:0;width:100%;padding:9px}
  .precheck-min strong{font-size:19px}
  .precheck-table-wrap{width:100%;max-width:100%;overflow:visible;border:0;background:transparent;max-height:none}
  .precheck-table{display:block;width:100%;min-width:0}
  .precheck-table thead{display:none}
  .precheck-table tbody{display:grid;gap:8px;width:100%}
  .precheck-table tr{display:block;width:100%;background:#fff;border:1px solid #efd1d1;border-radius:10px;padding:6px 9px}
  .precheck-table td{display:flex;width:100%;justify-content:space-between;gap:10px;border:0!important;padding:5px 0;font-size:11.5px;text-align:right}
  .precheck-table td::before{font-weight:800;color:#6e7780;text-align:left}
  .precheck-table td:nth-child(1)::before{content:"Giornata"}
  .precheck-table td:nth-child(2)::before{content:"Blocco"}
  .precheck-table td:nth-child(3)::before{content:"Frecce"}
  .precheck-table td:nth-child(4)::before{content:"Tempo richiesto"}
  .precheck-table td:nth-child(5)::before{content:"Tempo mancante"}
  .precheck-table td small{font-size:11px}

  /* Saved programs: compact and never wider than viewport */
  .program-list-head{gap:9px;margin-bottom:10px}
  .program-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:6px}
  .program-actions .btn{width:100%;min-width:0;font-size:11px;padding:8px 5px;white-space:normal;line-height:1.2}
  .program-item.program-manage{width:100%;max-width:100%;display:grid;grid-template-columns:38px minmax(0,1fr);border-radius:11px}
  .program-check-wrap{width:38px;min-width:38px;max-width:38px;grid-row:1}
  .program-select-main{width:100%;max-width:100%;min-width:0;padding:10px;gap:5px;overflow:hidden}
  .program-select-main>div{width:100%;min-width:0}
  .program-select-main b{display:block;font-size:12.5px;line-height:1.25;overflow-wrap:anywhere}
  .program-select-main .smallnote{font-size:11px;overflow-wrap:anywhere}
  .program-meta{font-size:11px;white-space:normal}
  .program-row-actions{grid-column:1 / -1;width:100%;padding:5px 7px}
  .row-icon-btn{width:31px;height:31px}

  /* Dashboard typography */
  .dashboard-program-picker{width:100%;min-width:0}
  .dashboard-program-picker select{width:100%;max-width:100%;font-size:12px;padding:9px 30px 9px 10px}
  .dashboard-program-single b{font-size:12px}
  .dashboard-macros{gap:5px;margin-bottom:11px}
  .macro-badge{font-size:11px;padding:5px 7px}
  .kpi .label{font-size:11px}
  .kpi .value{font-size:22px;margin-top:5px}
  .kpi .sub{font-size:11px}
  .cards4 .card{padding:11px}

  /* Training-day cards */
  .session-mobile-card{padding:10px;border-radius:12px;overflow:hidden}
  .session-mobile-head b{font-size:13px}
  .session-mobile-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:9px}
  .session-mobile-kpis div{padding:7px}
  .session-mobile-kpis strong{font-size:13px}
  .session-mobile-open-text{font-size:11.5px}
  .session-mobile-open-sub{font-size:11px}

  /* Full session sheet typography */
  .session-detail{width:100%;max-width:100%;overflow:hidden}
  .session-hero{width:100%;padding:12px;gap:12px}
  .session-hero .eyebrow{font-size:11px}
  .session-hero h2{font-size:20px}
  .session-hero p{font-size:11.5px}
  .session-hero-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .session-hero-kpis>div{min-width:0;min-height:64px;padding:8px}
  .session-hero-kpis span{font-size:11px}
  .session-hero-kpis strong{font-size:17px}
  .session-section>summary{padding:11px 12px;gap:8px}
  .session-section>summary b{font-size:12px}
  .session-section>summary small{font-size:11px}
  .session-section-body{padding:11px}
  .detail-grid{grid-template-columns:minmax(0,1fr);gap:9px}
  .detail-field label{font-size:11.5px}
  .detail-field input,.detail-field select,.detail-field textarea{font-size:16px;max-width:100%;min-width:0}

  /* Analysis filters/chart remain inside viewport */
  .analysis-controls,.metric-filters,.analysis-legend{width:100%;max-width:100%}
  .metric-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}
  .metric-toggle{width:100%;min-width:0;padding:7px}
  .toggle-copy b{font-size:11px}
  .toggle-copy small{font-size:11px}
  .legend{gap:8px;font-size:11px;justify-content:flex-start}
  .chartbox{width:100%;max-width:100%;height:330px;overflow:hidden}
}

/* Extra-narrow phones */
@media(max-width:390px){
  .main{padding:8px}
  .pagehead h2{font-size:18px}
  .brand h1{font-size:14px}
  .userpill{display:none}
  .metric-filters{grid-template-columns:1fr}
  .session-hero-kpis{grid-template-columns:1fr 1fr}
  .program-actions{grid-template-columns:1fr}
}


/* v1.14 Chart rest day */
.legend .rest:before{background:#B7C9B0;border:1px solid #91AA8A}


/* v1.15 Daily arrow target status */
.target-entry-field{grid-column:span 2}
.target-entry-row{display:grid;grid-template-columns:minmax(120px,.75fr) minmax(180px,1.25fr);gap:9px;align-items:stretch}
.target-entry-row>input{width:100%;min-width:0}
.target-status{border-radius:10px;border:1px solid var(--line);padding:7px 10px;display:flex;flex-direction:column;justify-content:center;min-height:41px}
.target-status strong{font-size:11.5px;letter-spacing:.035em}
.target-status small{font-size:11px;margin-top:2px}
.target-status.pending{background:#f2f5f7;border-color:#d5dde4;color:#667788}
.target-status.reached{background:#eaf6e6;border-color:#9ac38c;color:#2f681f}
.target-status.missed{background:#fff0f0;border-color:#dc9898;color:#9c3030}
.programmed-arrows{background:#edf3f8!important;border-color:#bfd0df!important;color:var(--navy)!important}
.readonly-note{font-size:11px;color:var(--muted);margin-top:4px}
@media(max-width:900px){.target-entry-field{grid-column:span 2}}
@media(max-width:650px){
 .target-entry-field{grid-column:auto}
 .target-entry-row{grid-template-columns:1fr;gap:6px}
 .target-status{min-height:38px}
}


/* v1.17 Time commitment preview */
.optional-label{display:inline-flex;margin-left:5px;padding:2px 5px;border-radius:999px;background:#edf1f4;color:#667788;font-size:11px;font-weight:900;letter-spacing:.04em;vertical-align:1px}
.time-commitment-host,.time-precheck-host{margin-top:18px}
.time-commitment{border:1px solid #c7d6e4;background:#f8fbfe;border-radius:16px;padding:16px}
.time-commitment.neutral{display:flex;align-items:center;gap:12px;color:var(--muted)}
.time-commitment-icon{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#e6eef6;color:var(--navy);font-weight:900}
.time-commitment p{margin:4px 0 0;color:var(--muted);font-size:11.5px;line-height:1.45}
.time-commitment-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.time-eyebrow{font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--blue)}
.time-commitment-head h4{margin:4px 0 0;color:var(--navy);font-size:16px}
.time-range{min-width:180px;background:#17385f;color:#fff;border-radius:13px;padding:10px 12px;text-align:right}
.time-range span{display:block;font-size:11px;opacity:.72;text-transform:uppercase;font-weight:800}
.time-range strong{display:block;font-size:21px;margin-top:3px}
.time-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}
.time-kpi{border-radius:12px;padding:11px;border:1px solid #d8e1e8;background:#fff}
.time-kpi.short{background:#f3f8fc;border-color:#cbdde9}
.time-kpi.long{background:#fff7ef;border-color:#ead1b7}
.time-kpi.peak{background:#f6f3fa;border-color:#d9cde5}
.time-kpi span{display:block;font-size:11px;font-weight:900;text-transform:uppercase;color:#687786;letter-spacing:.035em}
.time-kpi strong{display:block;font-size:19px;color:var(--navy);margin-top:4px}
.time-kpi small{display:block;font-size:11px;color:var(--muted);margin-top:3px;line-height:1.35}
.time-limit-result{margin-top:10px;border-radius:11px;padding:9px 11px;display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line)}
.time-limit-result b{font-size:11.5px}
.time-limit-result p{font-size:11.5px}
.time-limit-result>span{font-size:11px;font-weight:900;border-radius:999px;padding:5px 7px}
.time-limit-result.ok{background:#edf8e9;border-color:#9fc58f;color:#315f25}
.time-limit-result.ok>span{background:#d9ead3}
.time-limit-result.warning{background:#fff5e9;border-color:#e4bd88;color:#8a5617}
.time-limit-result.warning>span{background:#f8dfb8}
.time-limit-result.neutral{background:#f4f6f8;color:#667788}

@media(max-width:900px){
 .time-commitment-head{flex-direction:column}
 .time-range{width:100%;text-align:left}
 .time-kpis{grid-template-columns:1fr}
}
@media(max-width:650px){
 .time-commitment{padding:12px;border-radius:13px}
 .time-commitment-head h4{font-size:13px}
 .time-range strong{font-size:18px}
 .time-kpi{padding:9px}
 .time-kpi strong{font-size:16px}
 .time-limit-result{align-items:flex-start}
}


/* v1.18 Contata layout */
.programmed-target-field{grid-column:span 1}
.detail-subsection{grid-column:1 / -1;border-top:1px solid #dfe7ee;margin-top:2px;padding-top:12px}
.detail-subsection-title{font-size:12px;font-weight:900;color:var(--navy);margin-bottom:9px;text-transform:none}
.contata-section{background:#f8fbfd;border:1px solid #d7e2eb;border-radius:12px;padding:12px;margin-top:2px}
.contata-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.contata-grid .detail-field{min-width:0}
@media(max-width:900px){
 .contata-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
 .target-entry-field,.programmed-target-field{grid-column:auto}
 .contata-grid{grid-template-columns:1fr}
 .contata-section{padding:10px}
 .detail-subsection-title{font-size:11.5px}
}


/* v1.19 daily arrows row + status underneath */
.daily-arrow-row{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.target-status-row{grid-column:1 / -1}
.target-status-row .target-status{width:100%;min-height:40px}
@media(max-width:650px){
 .daily-arrow-row{grid-template-columns:1fr 1fr;gap:8px}
 .daily-arrow-row .detail-field label{font-size:11px;line-height:1.2}
 .daily-arrow-row .computed-value,.daily-arrow-row input{min-height:41px}
}
@media(max-width:390px){
 .daily-arrow-row{grid-template-columns:1fr}
}


/* v1.20 five-level descriptive scales */
.scale-field{grid-column:1 / -1}
.scale-choice-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.scale-choice{
  border:1px solid #cfd9e2;background:#f8fafc;color:#506172;border-radius:10px;
  min-height:44px;padding:8px 7px;font-size:12px;font-weight:800;line-height:1.2;
  cursor:pointer;transition:.14s ease
}
.scale-choice:hover{background:#eef4f8;border-color:#b9c8d5}
.scale-choice.selected{
  background:#e8f0f7;border-color:#6e91b1;color:var(--navy);
  box-shadow:inset 0 0 0 1px #6e91b133
}
@media(max-width:900px){
 .scale-choice-row{grid-template-columns:repeat(5,minmax(88px,1fr));overflow-x:auto;padding-bottom:2px}
 .scale-choice{white-space:normal}
}
@media(max-width:650px){
 .scale-choice-row{grid-template-columns:repeat(5,minmax(96px,1fr));gap:6px;overflow-x:auto;scroll-snap-type:x proximity}
 .scale-choice{font-size:11.5px;min-height:46px;scroll-snap-align:start}
}


/* v1.22 grouped heart-rate fields */
.heart-rate-row{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
.heart-rate-row .detail-field{min-width:0}
@media(max-width:430px){
  .heart-rate-row{grid-template-columns:1fr}
}


/* v1.24 program setup mode */
.setup-mode-section{margin-bottom:16px}
.setup-mode-heading{font-size:13px;font-weight:900;color:var(--navy);margin-bottom:9px}
.setup-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.setup-mode-card{
 position:relative;border:1px solid #cfd9e2;border-radius:14px;background:#fff;padding:14px 14px 13px 40px;
 cursor:pointer;transition:.15s ease;min-height:128px
}
.setup-mode-card:hover{border-color:#9eb3c6;background:#f8fbfd}
.setup-mode-card.selected{border-color:#5f84a7;background:#edf5fb;box-shadow:inset 0 0 0 1px #5f84a733}
.setup-mode-card input{position:absolute;opacity:0;pointer-events:none}
.setup-mode-card b{display:block;font-size:12px;color:var(--navy);line-height:1.25}
.setup-mode-card p{font-size:11.5px;line-height:1.45;color:var(--muted);margin:7px 0 0}
.setup-mode-check{
 position:absolute;left:13px;top:13px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;
 border:1px solid #b9c7d3;color:transparent;background:#fff;font-size:11.5px;font-weight:900
}
.setup-mode-card.selected .setup-mode-check{background:var(--navy);border-color:var(--navy);color:#fff}
.setup-dependent-field.is-hidden{display:none!important}
.time-kpi.start{background:#eef7f2;border-color:#c2dccb}
.time-error{background:#fff2f2;border-color:#da9b9b;color:#8b3838}
.time-plan-note{margin-top:10px;background:#fff;border:1px solid #dbe4eb;border-radius:10px;padding:9px 11px;font-size:11.5px;color:#5d6d7d;line-height:1.45}

@media(max-width:650px){
 .setup-mode-grid{grid-template-columns:1fr}
 .setup-mode-card{min-height:0;padding:12px 12px 12px 38px}
 .setup-mode-card b{font-size:11.5px}
 .setup-mode-card p{font-size:11.5px}
}


/* v1.25 contata + work block structure */
.contata-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:10px}
.contata-choice{border:1px solid #cfd9e2;background:#fff;border-radius:11px;padding:9px 8px;text-align:left;cursor:pointer;min-height:62px}
.contata-choice b{display:block;font-size:11.5px;color:var(--navy);line-height:1.2}
.contata-choice small{display:block;font-size:11px;color:var(--muted);margin-top:4px;line-height:1.25}
.contata-choice.selected{background:#eaf3fa;border-color:#6487a8;box-shadow:inset 0 0 0 1px #6487a833}
.contata-options{margin:7px 0}
.contata-option-line{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #d8e1e8;border-radius:10px;padding:9px}
.contata-option-line label{font-size:11.5px;font-weight:800;color:#526273}
.contata-option-line select{margin-left:auto;border:1px solid #cbd6df;border-radius:8px;padding:7px;background:#fff}
.contata-half-toggle{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #d8e1e8;border-radius:10px;padding:9px;cursor:pointer}
.contata-half-toggle span{font-size:11.5px;font-weight:800;color:#526273}
.contata-half-toggle small{margin-left:auto;font-size:11px;color:var(--muted)}
.legacy-contata-note{background:#fff7e8;border:1px solid #e7c78f;border-radius:9px;padding:8px;font-size:11px;color:#855d20}
.contata-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:10px}
.arrow-balance-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}
.arrow-balance-strip>div{background:#f7fafc;border:1px solid #d9e2e9;border-radius:10px;padding:8px}
.arrow-balance-strip span{display:block;font-size:11px;text-transform:uppercase;font-weight:900;color:#70808e}
.arrow-balance-strip strong{display:block;font-size:17px;color:var(--navy);margin-top:2px}
.arrow-balance-strip.over>div:last-child{background:#fff1f1;border-color:#dc9a9a}
.work-block-section{background:transparent!important;border:0!important;padding:0!important}
.work-block-panel{background:#f9fbfd;border:1px solid #d4e0e9;border-radius:13px;padding:12px}
.work-block-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.work-block-eyebrow{font-size:11px;font-weight:900;letter-spacing:.08em;color:#47779f}
.work-block-head h4{margin:3px 0 0;font-size:14px;color:var(--navy)}
.work-block-head p{font-size:11px;color:var(--muted);margin:4px 0 0;line-height:1.4}
.work-block-budget{min-width:170px;background:#edf6ee;border:1px solid #bcd6bf;border-radius:11px;padding:9px;text-align:right}
.work-block-budget.over{background:#fff0f0;border-color:#d99b9b}
.work-block-budget span{display:block;font-size:11px;text-transform:uppercase;font-weight:900;color:#70808e}
.work-block-budget strong{display:block;font-size:20px;color:var(--navy)}
.work-block-budget small{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.exercise-list{display:grid;gap:8px;margin-top:11px}
.exercise-placeholder{background:#fff;border:1px solid #d8e1e8;border-radius:11px;overflow:hidden}
.exercise-placeholder-head{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#f4f8fb;padding:9px 10px;border-bottom:1px solid #e2e8ed}
.exercise-no{display:block;font-size:11px;font-weight:900;color:#7690a7;letter-spacing:.06em}
.exercise-placeholder-head b{display:block;font-size:11.5px;color:var(--navy)}
.exercise-placeholder-head small{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.exercise-done{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:900;color:#4d6c43;cursor:pointer}
.exercise-done input{width:17px;height:17px;accent-color:var(--green)}
.exercise-placeholder-body{display:grid;grid-template-columns:minmax(120px,.35fr) minmax(0,.65fr);gap:9px;padding:10px}
.exercise-placeholder-body .wide{grid-column:auto}
.exercise-rating{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.exercise-rating button{border:1px solid #d2dce4;background:#f8fafc;border-radius:8px;padding:7px 4px;font-size:11px;font-weight:800;color:#5b6a78;cursor:pointer}
.exercise-rating button.selected{background:#e9f2f8;border-color:#7595b1;color:var(--navy)}
.work-block-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}
.work-block-actions span{font-size:11px;color:var(--muted)}
@media(max-width:900px){
 .contata-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .contata-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .work-block-head{flex-direction:column}
 .work-block-budget{width:100%;text-align:left}
 .exercise-placeholder-body{grid-template-columns:1fr}
 .exercise-placeholder-body .wide{grid-column:1}
}
@media(max-width:650px){
 .contata-choice-grid{grid-template-columns:1fr 1fr}
 .contata-summary-grid{grid-template-columns:1fr 1fr}
 .arrow-balance-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
 .arrow-balance-strip strong{font-size:14px}
 .arrow-balance-strip span{font-size:11px}
 .exercise-placeholder-head{align-items:flex-start}
 .exercise-placeholder-body{padding:8px}
 .exercise-rating{grid-template-columns:repeat(2,minmax(0,1fr))}
 .exercise-rating button:last-child{grid-column:1 / -1}
}
@media(max-width:390px){
 .contata-choice-grid,.contata-summary-grid{grid-template-columns:1fr}
 .arrow-balance-strip{grid-template-columns:1fr}
}


/* v1.26 exercise library + interactive target */
.exercise-library-list{display:grid;gap:8px;margin-top:14px}
.exercise-library-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border:1px solid #d8e2e9;background:#fff;border-radius:11px;padding:10px}
.exercise-library-item>div{min-width:0}
.exercise-library-item span{font-size:11px;font-weight:900;letter-spacing:.06em;color:#71879a}
.exercise-library-item b{display:block;color:var(--navy);font-size:12px;margin-top:2px}
.exercise-library-item p{font-size:11px;color:var(--muted);line-height:1.4;margin:4px 0}
.exercise-library-item small{font-size:11px;color:#587047}
.library-empty{margin-top:14px;background:#f5f7f9;border:1px dashed #cad5de;border-radius:10px;padding:16px;text-align:center;font-size:11.5px;color:var(--muted)}
.personal-exercise-form{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.personal-exercise-form .wide{grid-column:1/-1}
.personal-exercise-form>.btn{grid-column:1/-1;justify-self:start}
.work-block-toolbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:10px}
.work-block-toolbar span{font-size:11px;color:var(--muted)}
.work-library-warning{margin-top:8px;padding:8px 10px;border-radius:9px;background:#fff7e8;border:1px solid #e5c992;color:#80601f;font-size:11px;line-height:1.4}
.exercise-select-row{display:flex;align-items:center;gap:9px;padding:8px 10px;background:#fbfcfd;border-bottom:1px solid #e4e9ee}
.exercise-select-row label{font-size:11px;font-weight:900;color:#607182;white-space:nowrap}
.exercise-select-row select{flex:1;min-width:0;border:1px solid #ccd7e0;background:#fff;border-radius:8px;padding:7px;font-size:11.5px}

.target-tracker{margin-top:12px;border:1px solid #d6e0e7;background:#fff;border-radius:13px;padding:12px}
.target-tracker-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.target-eyebrow{font-size:11px;font-weight:900;letter-spacing:.08em;color:#587a96}
.target-tracker-head h4{margin:3px 0 0;color:var(--navy);font-size:13px}
.target-tracker-head p{font-size:11px;line-height:1.4;color:var(--muted);margin:4px 0 0}
.target-progress{min-width:145px;text-align:right;background:#f5f8fa;border:1px solid #dae3e9;border-radius:10px;padding:8px}
.target-progress span{display:block;font-size:11px;font-weight:900;text-transform:uppercase;color:#748491}
.target-progress strong{display:block;font-size:18px;color:var(--navy)}
.target-progress small{display:block;font-size:11px;color:var(--muted)}
.target-layout{display:grid;grid-template-columns:minmax(240px,380px) minmax(160px,1fr);gap:14px;margin-top:10px;align-items:start}
.target-canvas-wrap{width:100%;max-width:380px;margin:auto}
.interactive-target{display:block;width:100%;aspect-ratio:1;border-radius:50%;touch-action:manipulation;cursor:crosshair;box-shadow:0 4px 14px #17385f18}
.impact-dot{fill:#fff;stroke:#17385f;stroke-width:1.5}
.target-side{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.target-stat{background:#f7f9fb;border:1px solid #dbe3e9;border-radius:10px;padding:8px}
.target-stat span{display:block;font-size:11px;font-weight:900;text-transform:uppercase;color:#748491}
.target-stat strong{display:block;font-size:17px;color:var(--navy)}
.target-stat small{font-size:11px;color:var(--muted)}
.target-side .btn{grid-column:1/-1}
.target-hint{grid-column:1/-1;font-size:11px;line-height:1.4;color:var(--muted);background:#f7f9fb;border-radius:9px;padding:8px}
@media(max-width:900px){
 .target-layout{grid-template-columns:1fr}
 .target-side{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:650px){
 .personal-exercise-form{grid-template-columns:1fr}
 .personal-exercise-form .wide,.personal-exercise-form>.btn{grid-column:1}
 .target-tracker-head{flex-direction:column}
 .target-progress{width:100%;text-align:left}
 .target-canvas-wrap{max-width:320px}
 .target-side{grid-template-columns:repeat(3,minmax(0,1fr))}
 .exercise-select-row{align-items:flex-start;flex-direction:column}
 .exercise-select-row select{width:100%}
}


/* v1.28 Allenamento: gerarchia e istruzioni */
.training-plan-intro{
 grid-column:1 / -1;
 background:#edf4f9;
 border:1px solid #cbdce8;
 border-radius:12px;
 padding:11px 12px;
}
.training-plan-eyebrow{
 display:block;
 font-size:11px;
 font-weight:900;
 letter-spacing:.08em;
 color:#5b7890;
}
.training-plan-intro h4{margin:3px 0 2px;color:var(--navy);font-size:14px}
.training-plan-intro p{margin:0;font-size:11px;color:var(--muted);line-height:1.4}
.detail-subsection-heading{
 display:flex;
 align-items:baseline;
 justify-content:space-between;
 gap:10px;
 flex-wrap:wrap;
 margin-bottom:8px;
}
.detail-subsection-heading .detail-subsection-title{margin-bottom:0}
.detail-subsection-help{
 font-size:11px;
 font-weight:800;
 color:#6d7f8e;
}
.training-report-divider{
 grid-column:1 / -1;
 margin-top:5px;
 border-top:1px solid #cfdbe4;
 padding-top:12px;
}
.training-report-divider span{
 display:block;
 font-size:11px;
 font-weight:900;
 letter-spacing:.08em;
 color:var(--navy);
}
.training-report-divider small{
 display:block;
 margin-top:2px;
 font-size:11px;
 color:var(--muted);
}
@media(max-width:650px){
 .detail-subsection-heading{align-items:flex-start;flex-direction:column;gap:2px}
 .detail-subsection-help{font-size:11px}
}


/* v1.29 ordine della sessione */
.session-order-config{
 margin-top:10px;
 padding:10px;
 border:1px solid #d7e1e8;
 border-radius:11px;
 background:#f8fafc;
}
.session-order-heading b{
 display:block;
 font-size:11.5px;
 color:var(--navy);
}
.session-order-heading small{
 display:block;
 margin-top:2px;
 font-size:11px;
 color:var(--muted);
}
.session-order-choice-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:7px;
 margin-top:8px;
}
.session-order-choice{
 border:1px solid #ccd8e1;
 border-radius:10px;
 background:#fff;
 padding:9px 10px;
 text-align:left;
 cursor:pointer;
 min-height:60px;
}
.session-order-choice b{
 display:block;
 font-size:11px;
 color:var(--navy);
 line-height:1.25;
}
.session-order-choice small{
 display:block;
 margin-top:4px;
 font-size:11px;
 color:#6c7d8b;
}
.session-order-choice.selected{
 background:#eaf3fa;
 border-color:#6487a8;
 box-shadow:inset 0 0 0 1px #6487a833;
}
.session-order-summary{
 margin-top:10px;
 border:1px solid #d9e2e9;
 border-radius:11px;
 background:#fff;
 padding:10px;
}
.session-order-title{
 font-size:11px;
 font-weight:900;
 letter-spacing:.08em;
 color:#6d8294;
 margin-bottom:7px;
}
.session-order-step{
 display:flex;
 align-items:center;
 gap:9px;
 background:#f7fafc;
 border:1px solid #e0e7ec;
 border-radius:9px;
 padding:8px 9px;
}
.session-order-number{
 width:23px;
 height:23px;
 flex:0 0 23px;
 display:grid;
 place-items:center;
 border-radius:50%;
 background:var(--navy);
 color:#fff;
 font-size:11px;
 font-weight:900;
}
.session-order-step b{
 display:block;
 font-size:11px;
 color:var(--navy);
}
.session-order-step small{
 display:block;
 margin-top:2px;
 font-size:11px;
 color:var(--muted);
}
.session-order-arrow{
 text-align:center;
 color:#7790a5;
 font-weight:900;
 font-size:16px;
 line-height:1;
 padding:3px 0;
}
.session-order-total{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:10px;
 margin-top:8px;
 border-top:1px solid #dde5eb;
 padding-top:8px;
}
.session-order-total span{
 font-size:11px;
 font-weight:900;
 letter-spacing:.06em;
 color:#70818f;
}
.session-order-total strong{
 font-size:12px;
 color:var(--navy);
}
.session-order-summary.single{margin-top:10px}
@media(max-width:650px){
 .session-order-choice-grid{grid-template-columns:1fr}
}


/* v1.30 disciplina / arco / bersaglio */
.target-config-panel{
 margin-top:10px;
 border:1px solid #cfdce6;
 border-radius:12px;
 background:#f8fbfd;
 padding:11px;
}
.target-config-eyebrow{
 display:block;
 font-size:11px;
 font-weight:900;
 letter-spacing:.08em;
 color:#607f99;
}
.target-config-heading h4{margin:3px 0 0;font-size:13px;color:var(--navy)}
.target-config-heading p{margin:3px 0 0;font-size:11px;color:var(--muted);line-height:1.4}
.target-config-row{
 display:grid;
 grid-template-columns:1fr 1.5fr;
 gap:9px;
 margin-top:10px;
}
.target-config-group label{
 display:block;
 margin-bottom:5px;
 font-size:11px;
 font-weight:900;
 color:#637482;
}
.target-config-buttons{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:5px;
}
.target-config-buttons.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.target-config-choice{
 border:1px solid #ccd7e0;
 background:#fff;
 border-radius:9px;
 padding:8px 5px;
 font-size:11px;
 font-weight:900;
 color:#536575;
 cursor:pointer;
}
.target-config-choice.selected{
 background:#e8f2f9;
 border-color:#6789a6;
 color:var(--navy);
 box-shadow:inset 0 0 0 1px #6789a633;
}
.target-selected-card{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:10px;
 margin-top:9px;
 background:#fff;
 border:1px solid #d8e2e9;
 border-radius:10px;
 padding:9px 10px;
}
.target-selected-card>div{min-width:0}
.target-selected-card span{
 display:block;
 font-size:11px;
 font-weight:900;
 letter-spacing:.06em;
 color:#758897;
}
.target-selected-card b{
 display:block;
 margin-top:2px;
 font-size:11.5px;
 color:var(--navy);
}
.target-selected-card small{
 display:block;
 margin-top:2px;
 font-size:11px;
 color:var(--muted);
}
.target-manual-grid{
 display:grid;
 grid-template-columns:1fr 2fr;
 gap:8px;
 margin-top:9px;
}
.target-rule-note{
 margin-top:8px;
 padding:7px 9px;
 border-radius:9px;
 background:#eef5f9;
 font-size:11px;
 color:#5c7181;
 line-height:1.4;
}
.contata-overflow-warning{
 margin-top:10px;
 padding:9px 10px;
 border:1px solid #dda1a1;
 background:#fff2f2;
 border-radius:10px;
 color:#823d3d;
}
.contata-overflow-warning b{display:block;font-size:11px}
.contata-overflow-warning span{display:block;margin-top:3px;font-size:11px;line-height:1.4}
.interactive-target.triple{
 aspect-ratio:220 / 340;
 border-radius:14px;
 background:#f2f5f7;
}
.target-canvas-wrap.triple-wrap{max-width:270px}
.target-layout.triple-layout{grid-template-columns:minmax(190px,290px) minmax(160px,1fr)}
@media(max-width:900px){
 .target-layout.triple-layout{grid-template-columns:1fr}
}
@media(max-width:650px){
 .target-config-row{grid-template-columns:1fr}
 .target-config-buttons.three{grid-template-columns:repeat(3,minmax(0,1fr))}
 .target-selected-card{align-items:flex-start;flex-direction:column}
 .target-manual-grid{grid-template-columns:1fr}
 .target-canvas-wrap.triple-wrap{max-width:240px}
}


/* v1.31 compound 50m x-ring */
.impact-dot-x{
 fill:#ffe9a8;
 stroke:#5e4d11;
 stroke-width:1.6;
}


/* v1.32 budget frecce */
.work-budget-panel{
 margin-top:11px;
 border:1px solid #d4dfe7;
 border-radius:13px;
 background:#fff;
 padding:11px;
}
.work-budget-panel.complete{border-color:#a9c8ad;background:#f7fbf7}
.work-budget-panel.over,.work-budget-panel.incompatible{border-color:#d89a9a;background:#fffafa}
.work-budget-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.work-budget-eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.08em;color:#6d8293}
.work-budget-top>div>strong{display:block;margin-top:2px;font-size:21px;line-height:1;color:var(--navy)}
.work-budget-top>div>small{display:block;margin-top:3px;font-size:11px;color:var(--muted)}
.work-budget-status{
 display:inline-flex;align-items:center;justify-content:center;
 border-radius:999px;padding:6px 8px;font-size:11px;font-weight:900;letter-spacing:.04em;
 background:#fff4d9;color:#866318;border:1px solid #e5ce8e;white-space:nowrap
}
.work-budget-status.complete{background:#eaf6eb;color:#477347;border-color:#b8d2bb}
.work-budget-status.over,.work-budget-status.incompatible{background:#fdeaea;color:#8a4040;border-color:#dfaaaa}
.work-budget-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}
.work-budget-metrics>div{border:1px solid #e0e7ec;background:#f8fafb;border-radius:9px;padding:7px}
.work-budget-metrics span{display:block;font-size:11px;font-weight:900;text-transform:uppercase;color:#798996}
.work-budget-metrics strong{display:block;margin-top:2px;font-size:15px;color:var(--navy)}
.work-budget-progress{height:10px;background:#e7edf1;border-radius:999px;overflow:hidden;margin-top:10px}
.work-budget-progress-fill{height:100%;border-radius:999px;background:#d2a43a;transition:width .15s ease}
.work-budget-progress-fill.complete{background:#6f9b70}
.work-budget-progress-fill.over,.work-budget-progress-fill.incompatible{background:#bf6666}
.work-budget-caption{margin-top:5px;font-size:11px;color:#617382;font-weight:700}
.work-budget-override-note{margin-top:8px;border-radius:8px;padding:7px 8px;background:#eef5fa;font-size:11px;color:#5d7487}
.budget-issue{margin-top:8px}
.budget-alert{
 display:flex;justify-content:space-between;align-items:center;gap:12px;
 border-radius:10px;padding:9px 10px
}
.budget-alert.over,.budget-alert.incompatible{background:#fff0f0;border:1px solid #dfa5a5;color:#7f3e3e}
.budget-alert b{display:block;font-size:11px}
.budget-alert p{margin:3px 0 0;font-size:11px;line-height:1.4}
.budget-alert-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.contata-overflow-warning{display:flex;justify-content:space-between;align-items:center;gap:10px}
.contata-overflow-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:700px){
 .work-budget-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .budget-alert,.contata-overflow-warning{align-items:flex-start;flex-direction:column}
 .budget-alert-actions,.contata-overflow-actions{justify-content:flex-start;width:100%}
}


/* v1.34 visualizzazione Base / Esperto */
.mode-base .expert-only{display:none!important}

.topbar-right{
 display:flex;
 align-items:center;
 justify-content:flex-end;
 gap:12px;
 min-width:0;
}
.view-mode-control{
 display:flex;
 align-items:center;
 gap:7px;
}
.view-mode-label{
 font-size:11px;
 font-weight:900;
 letter-spacing:.08em;
 opacity:.72;
 white-space:nowrap;
}
.view-mode-switch{
 display:grid;
 grid-template-columns:1fr 1fr;
 padding:2px;
 border:1px solid rgba(255,255,255,.28);
 border-radius:999px;
 background:rgba(255,255,255,.08);
}
.view-mode-switch button{
 border:0;
 border-radius:999px;
 background:transparent;
 color:rgba(255,255,255,.76);
 font-size:11px;
 font-weight:900;
 letter-spacing:.04em;
 padding:6px 9px;
 cursor:pointer;
 line-height:1;
}
.view-mode-switch button.active{
 background:#fff;
 color:var(--navy);
 box-shadow:0 1px 5px rgba(0,0,0,.12);
}
.expert-tag{
 display:inline-block;
 margin-left:4px;
 border-radius:999px;
 padding:2px 5px;
 background:#e8eef6;
 color:#526b84;
 font-size:11px;
 font-weight:900;
 letter-spacing:.05em;
 vertical-align:middle;
}

@media(max-width:760px){
 .topbar{align-items:center}
 .topbar-right{gap:7px}
 .view-mode-control{gap:4px}
 .view-mode-label{display:none}
 .view-mode-switch button{font-size:11px;padding:6px 7px}
 .userpill{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media(max-width:430px){
 .brand small{display:none}
 .brand h1{font-size:15px}
 .topbar-right{gap:5px}
 .view-mode-switch button{padding:6px 6px}
 .userpill{max-width:80px;font-size:11px}
}


/* v1.35 Borg guidato + carico interno */
.borg-guided-block{
 grid-column:1 / -1;
 border:1px solid #d6e1e8;
 border-radius:12px;
 background:#f9fbfd;
 padding:11px;
}
.borg-guided-head{
 display:flex;
 justify-content:space-between;
 align-items:baseline;
 gap:10px;
 flex-wrap:wrap;
}
.borg-guided-head label{
 font-size:11.5px;
 font-weight:900;
 color:var(--navy);
}
.borg-guided-instruction{
 font-size:11px;
 color:var(--muted);
 font-weight:700;
}
.borg-choice-grid{
 display:grid;
 grid-template-columns:repeat(11,minmax(0,1fr));
 gap:5px;
 margin-top:9px;
}
.borg-choice{
 min-height:38px;
 border:1px solid #ccd8e1;
 border-radius:9px;
 background:#fff;
 color:#526575;
 font-size:12px;
 font-weight:900;
 cursor:pointer;
}
.borg-choice:hover{border-color:#829cb1;background:#f4f8fb}
.borg-choice.selected{
 background:var(--navy);
 border-color:var(--navy);
 color:#fff;
 box-shadow:0 2px 6px #17385f22;
}
.borg-selected-description{
 margin-top:8px;
 border-radius:9px;
 background:#eef4f8;
 padding:8px 9px;
 font-size:11px;
 color:#536b7e;
}
.borg-selected-description strong{color:var(--navy)}
.borg-guide-legend{
 display:grid;
 grid-template-columns:repeat(7,minmax(0,1fr));
 gap:4px;
 margin-top:7px;
}
.borg-guide-legend span{
 font-size:11px;
 line-height:1.25;
 color:#71818e;
 text-align:center;
}
.borg-guide-legend b{
 display:block;
 color:#526777;
 font-size:11px;
}
.internal-load-card{
 grid-column:1 / -1;
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:14px;
 border:1px solid #b9d2bc;
 background:#f2f8f2;
 border-radius:12px;
 padding:10px 12px;
}
.internal-load-card.pending{
 border-color:#d8e1e7;
 background:#f8fafb;
}
.internal-load-card>div>.internal-load-title{
 display:flex;
 font-size:11px;
 font-weight:900;
 letter-spacing:.08em;
 color:#6d8270;
}
.internal-load-card>div strong{
 display:inline-block;
 margin-top:2px;
 font-size:22px;
 color:var(--navy);
}
.internal-load-card>div small{
 margin-left:4px;
 font-size:11px;
 color:var(--muted);
}
.internal-load-card p{
 margin:0;
 font-size:11px;
 line-height:1.4;
 color:#607164;
 text-align:right;
}
@media(max-width:900px){
 .borg-choice-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
 .borg-guide-legend{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:650px){
 .borg-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .borg-guide-legend{grid-template-columns:repeat(2,minmax(0,1fr))}
 .borg-guide-legend span{text-align:left}
 .internal-load-card{align-items:flex-start;flex-direction:column}
 .internal-load-card p{text-align:left}
}


/* v1.36 help carico interno */
.internal-load-title{
 display:flex;
 align-items:center;
 gap:5px;
}
.internal-load-title .inline-help-wrap{
 display:inline-flex;
 vertical-align:middle;
}
.internal-load-title .help-dot{
 width:17px;
 height:17px;
 min-width:17px;
 font-size:11.5px;
 line-height:15px;
}
.internal-load-help-bubble{
 width:min(330px,82vw);
 text-align:left;
 display:none;
}
.internal-load-help-bubble.open{
 display:block;
}
.internal-load-help-bubble b{
 color:#fff;
}
@media(max-width:650px){
 .internal-load-help-bubble{
  left:-10px;
  width:min(310px,82vw);
 }
}


/* v1.40 scale orientate negativo -> positivo */
/* 1 = peggiore / rosso, 5 = migliore / verde */
.scale-choice.scale-tone-1,
.exercise-rating button.rating-tone-1{
 background:#fff0ee;
 border-color:#e4aaa4;
 color:#8d3f39;
}
.scale-choice.scale-tone-2,
.exercise-rating button.rating-tone-2{
 background:#fff4e7;
 border-color:#e5bd8e;
 color:#94652e;
}
.scale-choice.scale-tone-3,
.exercise-rating button.rating-tone-3{
 background:#fff9df;
 border-color:#dfcf88;
 color:#7c6b28;
}
.scale-choice.scale-tone-4,
.exercise-rating button.rating-tone-4{
 background:#f0f8e9;
 border-color:#bdd7aa;
 color:#55783e;
}
.scale-choice.scale-tone-5,
.exercise-rating button.rating-tone-5{
 background:#e8f5eb;
 border-color:#9ec9a5;
 color:#397044;
}

.scale-choice.scale-tone-1.selected,
.exercise-rating button.rating-tone-1.selected{
 background:#c9564d;
 border-color:#b8443d;
 color:#fff;
}
.scale-choice.scale-tone-2.selected,
.exercise-rating button.rating-tone-2.selected{
 background:#df913f;
 border-color:#ca7e31;
 color:#fff;
}
.scale-choice.scale-tone-3.selected,
.exercise-rating button.rating-tone-3.selected{
 background:#d4b13d;
 border-color:#bd9828;
 color:#25303a;
}
.scale-choice.scale-tone-4.selected,
.exercise-rating button.rating-tone-4.selected{
 background:#78a95a;
 border-color:#67964a;
 color:#fff;
}
.scale-choice.scale-tone-5.selected,
.exercise-rating button.rating-tone-5.selected{
 background:#478753;
 border-color:#397743;
 color:#fff;
}

.scale-choice.scale-tone-1:hover{border-color:#c86b63}
.scale-choice.scale-tone-2:hover{border-color:#cf9554}
.scale-choice.scale-tone-3:hover{border-color:#c4a844}
.scale-choice.scale-tone-4:hover{border-color:#85ad68}
.scale-choice.scale-tone-5:hover{border-color:#5e9868}
.exercise-rating button[class*="rating-tone-"]:hover{filter:brightness(.98)}


/* v1.41 gerarchia visiva delle sezioni */
/* Manteniamo fondi tenui, ma con accenti più leggibili per orientare l'occhio. */

.training-plan-intro{
 border-left:5px solid #17385f;
 padding-left:14px;
 margin-bottom:9px;
}
.contata-section{
 border-left:5px solid #4472c4;
 padding-left:14px;
 margin-top:10px;
 box-shadow:0 3px 10px rgba(23,56,95,.035);
}
.target-config-panel{
 border-left:1px solid #cfdce6;
 margin-top:14px;
 padding-left:11px;
}
.session-order-config{
 border-left:5px solid #8064a2;
 margin-top:14px;
 padding-left:14px;
}
.work-block-panel{
 border-left:5px solid #ed7d31;
 padding-left:14px;
 box-shadow:0 3px 10px rgba(23,56,95,.035);
}
.training-report-divider{
 margin-top:18px;
 border-top:0;
 border-left:5px solid #548235;
 background:#f4f9f2;
 border-radius:10px;
 padding:10px 12px;
}
.training-report-divider span{color:#3f6f34}
.training-report-divider small{color:#6b7b67}

/* Distanza tra i blocchi interni dell'allenamento */
.contata-section + .detail-subsection,
.target-config-panel + .session-order-config,
.session-order-config + .contata-summary-grid,
.work-block-section{
 margin-top:14px;
}

/* Selezioni più facili da riconoscere, senza saturare gli sfondi */
.contata-choice,
.target-config-choice,
.session-order-choice{
 position:relative;
}
.contata-choice.selected,
.target-config-choice.selected,
.session-order-choice.selected{
 border-width:2px;
 box-shadow:0 2px 7px rgba(23,56,95,.10);
}
.contata-choice.selected::after,
.target-config-choice.selected::after,
.session-order-choice.selected::after{
 content:"✓";
 position:absolute;
 top:6px;
 right:8px;
 width:16px;
 height:16px;
 border-radius:50%;
 display:grid;
 place-items:center;
 background:#17385f;
 color:#fff;
 font-size:11px;
 font-weight:900;
}
.target-config-choice.selected{padding-right:24px}
.contata-choice.selected{padding-right:27px}
.session-order-choice.selected{padding-right:27px}

/* Accenti delle sezioni principali della scheda */
.session-section.section-training>summary{
 border-left:5px solid #4472c4;
 background:#f4f8fc;
 padding-left:15px;
}
.session-section.section-athlete>summary{
 border-left:5px solid #548235;
 background:#f5f9f3;
 padding-left:15px;
}
.session-section.section-hydration>summary{
 border-left:5px solid #2f8f83;
 background:#f3f9f8;
 padding-left:15px;
}
.session-section.section-weather>summary{
 border-left:5px solid #6f8597;
 background:#f5f7f9;
 padding-left:15px;
}
.session-section.section-technical>summary{
 border-left:5px solid #ed7d31;
 background:#fff8f1;
 padding-left:15px;
}
.session-section.section-notes>summary{
 border-left:5px solid #9aa6af;
 background:#f7f8f9;
 padding-left:15px;
}

/* Un po' più respiro tra le grandi sezioni */
.accordion-stack{
 gap:14px;
}
.session-section{
 box-shadow:0 2px 7px rgba(23,56,95,.025);
}
.session-section[open]{
 box-shadow:0 6px 18px rgba(23,56,95,.055);
}

/* Eyebrow leggermente più deciso in base alla sezione */
.training-plan-eyebrow{color:#17385f}
.target-config-eyebrow{color:#25766e}
.work-block-eyebrow{color:#c45f16}
.session-order-title{color:#6d508d}

@media(max-width:650px){
 .training-plan-intro,
 .contata-section,
 .target-config-panel,
 .session-order-config,
 .work-block-panel{
  border-left-width:4px;
  padding-left:11px;
 }
 .session-section.section-training>summary,
 .session-section.section-athlete>summary,
 .session-section.section-hydration>summary,
 .session-section.section-weather>summary,
 .session-section.section-technical>summary,
 .session-section.section-notes>summary{
  border-left-width:4px;
  padding-left:12px;
 }
}


/* v1.42 maggiore separazione visiva tra gli esercizi */
.exercise-list{
 gap:14px;
 margin-top:14px;
}
.exercise-placeholder{
 border:1px solid #bfcfdb;
 border-radius:13px;
 background:#fff;
 box-shadow:0 4px 12px rgba(23,56,95,.045);
}
.exercise-placeholder-head{
 background:#eaf2f8;
 border-bottom:1px solid #c9d8e3;
 padding:11px 12px;
}
.exercise-placeholder-head:hover{
 background:#e6eff6;
}
.exercise-placeholder-head b{
 font-size:11.5px;
}
.exercise-no{
 color:#5f7f99;
}
.exercise-placeholder-head small{
 color:#71818f;
}
.exercise-placeholder-body{
 padding:12px;
}
.exercise-select-row{
 padding-top:10px;
 padding-bottom:10px;
}
.exercise-placeholder + .exercise-placeholder{
 margin-top:2px;
}

/* lieve accento sul bordo sinistro per distinguere l'inizio di ogni esercizio */
.exercise-placeholder{
 border-left:4px solid #8daec7;
}
.exercise-placeholder:nth-child(3n+2){
 border-left-color:#9bb995;
}
.exercise-placeholder:nth-child(3n){
 border-left-color:#c6a07f;
}

@media(max-width:650px){
 .exercise-list{gap:12px}
 .exercise-placeholder-head{padding:10px}
 .exercise-placeholder-body{padding:10px}
 .exercise-placeholder{border-left-width:4px}
}


/* ================================================================
   v1.43 - ALLENAMENTO LIBERO
   ================================================================ */
.free-page-eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.09em;color:#5d7890;margin-bottom:4px}
.free-pagehead{align-items:flex-end}
.free-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.free-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:13px}
.free-section-head>div>span,.free-section-head>span{display:block;font-size:11px;font-weight:900;letter-spacing:.09em;color:#71889a}
.free-section-head h3{margin:3px 0 0;color:var(--navy);font-size:15px}
.free-section-head>small{font-size:11px;color:var(--muted);text-align:right;max-width:280px;line-height:1.35}

.free-preset-card{border-left:5px solid #4472c4}
.free-preset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.free-preset-choice{position:relative;text-align:left;border:1px solid #cbd8e2;background:#f9fbfc;border-radius:12px;padding:13px;cursor:pointer;min-height:76px}
.free-preset-choice b{display:block;color:var(--navy);font-size:11.5px;line-height:1.25}
.free-preset-choice span{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.free-preset-choice.selected{background:#e9f2fa;border:2px solid #4472c4;padding:12px;box-shadow:0 3px 9px rgba(23,56,95,.08)}
.free-preset-choice.selected::after{content:"✓";position:absolute;right:9px;top:9px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#17385f;color:#fff;font-size:11.5px;font-weight:900}
.free-personal-presets{margin-top:14px;padding-top:12px;border-top:1px solid #dde6ed}
.free-personal-presets>span{font-size:11px;font-weight:900;letter-spacing:.08em;color:#75899a}
.free-personal-presets>div{display:flex;align-items:stretch;gap:6px;flex-wrap:wrap;margin-top:7px}
.free-personal-preset{border:1px solid #cfdae3;background:#fff;border-radius:10px;padding:8px 10px;text-align:left;cursor:pointer}
.free-personal-preset b{display:block;font-size:11px;color:var(--navy)}
.free-personal-preset small{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.free-preset-delete{width:30px;border:1px solid #e1c9c9;background:#fff7f7;color:#9b5050;border-radius:9px;cursor:pointer;font-weight:900}

.free-config-card{border-left:5px solid #2f8f83}
.free-target-config-grid{display:grid;grid-template-columns:180px minmax(220px,1fr) auto;gap:9px;align-items:end;margin-top:13px}
.free-custom-config{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;padding:12px;border:1px solid #d9e3ea;border-radius:11px;background:#f8fafc}
.free-save-preset{grid-column:1/-1;display:flex;gap:8px;align-items:center;font-size:11px;font-weight:800;color:#596c7d}
.free-save-preset input{width:17px;height:17px;accent-color:var(--blue)}
.free-config-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}
.free-config-summary>div{border:1px solid #d6e1e8;background:#f8fbfc;border-radius:10px;padding:9px}
.free-config-summary span{display:block;font-size:11px;font-weight:900;letter-spacing:.06em;color:#75899a}
.free-config-summary strong{display:block;margin-top:3px;color:var(--navy);font-size:11.5px}

.free-condition-card{border-left:5px solid #548235}
.free-condition-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.free-fatigue-block{margin-top:13px}
.free-fatigue-block>label{display:block;font-size:11.5px;font-weight:800;color:#536273;margin-bottom:6px}
.free-fatigue-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.free-note-field{margin-top:13px}
.free-start-bar{position:sticky;bottom:10px;z-index:8;margin-top:16px;background:#17385f;color:#fff;border-radius:14px;padding:13px 14px;box-shadow:0 9px 24px rgba(23,56,95,.18);display:flex;align-items:center;justify-content:space-between;gap:15px}
.free-start-bar span{display:block;font-size:11px;font-weight:900;letter-spacing:.09em;opacity:.65}
.free-start-bar b{display:block;font-size:13px;margin-top:2px}
.free-start-bar small{display:block;font-size:11px;margin-top:3px;opacity:.75}
.free-start-bar .btn.primary{background:#ed7d31;border-color:#ed7d31}

.free-active-progress{height:7px;background:#e4ebf0;border-radius:999px;overflow:hidden;margin-bottom:12px}
.free-active-progress>div{height:100%;background:#548235;border-radius:999px;transition:width .2s ease}
.free-live-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:13px}
.free-live-kpis>div{background:#fff;border:1px solid #d6e1e9;border-radius:12px;padding:10px;box-shadow:0 2px 7px rgba(23,56,95,.025)}
.free-live-kpis span{display:block;font-size:11px;font-weight:900;letter-spacing:.07em;color:#748898}
.free-live-kpis strong{display:block;margin-top:4px;font-size:18px;color:var(--navy)}
.free-shoot-card{border-left:5px solid #ed7d31}
.free-shoot-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:12px}
.free-shoot-head h3{margin:3px 0 0;color:var(--navy);font-size:16px}
.free-shoot-head p{margin:4px 0 0;color:var(--muted);font-size:11px}
.free-old-hits-toggle{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800;color:#5b6c79;cursor:pointer;white-space:nowrap}
.free-old-hits-toggle input{width:17px;height:17px;accent-color:var(--blue)}
.free-target-stage{display:grid;grid-template-columns:minmax(270px,520px) minmax(170px,1fr);gap:18px;align-items:start}
.free-target-canvas{max-width:520px}
.free-target-actions{display:grid;gap:9px}
.free-target-actions .target-stat{background:#f7fafc}
.free-confirm-volley{min-height:46px}
.free-impact.previous-old{fill:#6f7e89;opacity:.12;pointer-events:none}
.free-impact.previous-recent{fill:#546b7d;opacity:.34;pointer-events:none}
.free-impact.current{fill:#17385f;stroke:#fff;stroke-width:1.2;opacity:.96;pointer-events:none}
.free-live-details{margin-top:14px;border-left:5px solid #548235}
.free-live-score{margin-top:14px;border-left:5px solid #4472c4}

.free-score-wrap{overflow-x:auto}
.free-score-table{width:100%;border-collapse:collapse;font-size:11.5px}
.free-score-table th{background:#eef4f8;color:#5d7385;font-size:11px;letter-spacing:.06em;text-align:left;padding:8px;border-bottom:1px solid #cddae4}
.free-score-table td{padding:8px;border-bottom:1px solid #e3e9ee;color:#536273}
.free-score-table td:first-child{font-weight:900;color:var(--navy);width:60px}
.free-arrow-values{font-weight:800;color:#354c61!important;letter-spacing:.02em}

.free-result-hero{display:grid;grid-template-columns:1.25fr repeat(5,minmax(0,1fr));gap:9px;margin-bottom:14px}
.free-result-hero>div{background:#fff;border:1px solid #d5e0e8;border-radius:12px;padding:11px}
.free-result-hero>div:first-child{background:#17385f;color:#fff;border-color:#17385f}
.free-result-hero span{display:block;font-size:11px;font-weight:900;letter-spacing:.07em;color:#738899}
.free-result-hero>div:first-child span{color:#b9c8d5}
.free-result-hero strong{display:block;margin-top:4px;font-size:18px;color:var(--navy)}
.free-result-hero>div:first-child strong{color:#fff;font-size:26px}
.free-result-hero strong small{font-size:12px;opacity:.7}
.free-result-hero>div>small{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.free-analysis-grid{align-items:stretch}
.free-cloud-card{border-left:5px solid #ed7d31}
.free-half-card{border-left:5px solid #548235}
.free-cloud-layout{display:grid;grid-template-columns:minmax(190px,300px) 1fr;gap:16px;align-items:center}
.free-cloud-target{width:100%;max-width:300px;display:block;margin:auto}
.cloud-impact{fill:#17385f;stroke:#fff;stroke-width:.8;opacity:.58}
.cloud-centroid{stroke:#ed7d31;stroke-width:2.3;fill:none}
.free-impact-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.free-impact-metrics>div{border:1px solid #d9e3e9;border-radius:10px;padding:9px;background:#f9fbfc}
.free-impact-metrics .trend{grid-column:1/-1;background:#fff7ef;border-color:#eac6a7}
.free-impact-metrics span{display:block;font-size:11px;font-weight:900;letter-spacing:.06em;color:#788b99}
.free-impact-metrics strong{display:block;margin-top:3px;font-size:12px;color:var(--navy)}
.free-impact-metrics small{display:block;margin-top:2px;font-size:11px;color:var(--muted)}
.free-half-compare{display:grid;gap:9px}
.free-half-compare>div{border:1px solid #d9e3e9;background:#f8fbf8;border-radius:10px;padding:10px}
.free-half-compare span{display:block;font-size:11px;font-weight:900;color:#718578}
.free-half-compare strong{display:block;margin-top:3px;color:var(--navy);font-size:14px}
.free-half-compare small{display:block;margin-top:3px;color:var(--muted);font-size:11px}
.free-condition-report{margin-top:14px;padding-top:12px;border-top:1px solid #dfe7e1}
.free-condition-report>span,.free-report-notes>span{font-size:11px;font-weight:900;letter-spacing:.07em;color:#748879}
.free-condition-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:7px}
.free-condition-summary>div{background:#f7faf7;border:1px solid #dce6dc;border-radius:9px;padding:8px}
.free-condition-summary span{display:block;font-size:11px;color:#748179}
.free-condition-summary strong{display:block;font-size:11px;color:#425845;margin-top:2px}
.free-report-notes{margin-top:12px}
.free-report-notes p{margin:5px 0 0;padding:9px;border:1px solid #dfe6e1;background:#fafcfb;border-radius:9px;color:#53645a;font-size:11px;line-height:1.45}
.free-score-card{margin-top:14px;border-left:5px solid #4472c4}

.free-history-chart-card{border-left:5px solid #548235}
.free-history-filter{display:flex;flex-direction:column;gap:4px;min-width:280px}
.free-history-filter label{font-size:11px;font-weight:900;color:#718497}
.free-history-filter select{border:1px solid #cbd8e1;border-radius:9px;padding:8px;background:#fff;color:#405466}
.free-history-chart{width:100%;height:auto;margin-top:10px;overflow:visible}
.free-history-chart text{font-size:11px;fill:#6f8291}
.free-chart-grid{stroke:#dce5eb;stroke-width:1}
.free-chart-line{fill:none;stroke:#4472c4;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.free-history-chart circle{fill:#17385f;stroke:#fff;stroke-width:2}
.free-history-series-label{text-align:center;font-size:11px;color:#758795;margin-top:3px}
.free-history-list-card{margin-top:14px;border-left:5px solid #4472c4}
.free-history-list{display:grid;gap:8px}
.free-history-item{display:grid;grid-template-columns:1fr auto;align-items:stretch;border:1px solid #d8e2e9;border-radius:11px;background:#fff;overflow:hidden}
.free-history-open{border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;text-align:left;cursor:pointer}
.free-history-open:hover{background:#f8fafc}
.free-history-open b{display:block;color:var(--navy);font-size:11.5px}
.free-history-open span{display:block;color:#536878;font-size:11px;margin-top:2px}
.free-history-open small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.free-history-score{text-align:right;white-space:nowrap}
.free-history-score strong{font-size:14px!important}
.free-history-score span{font-size:11px!important;color:#708495!important}
.free-history-item>.row-icon-btn{align-self:center;margin-right:8px}

@media(max-width:1000px){
 .free-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .free-condition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .free-result-hero{grid-template-columns:repeat(3,minmax(0,1fr))}
 .free-result-hero>div:first-child{grid-column:span 1}
 .free-target-stage{grid-template-columns:minmax(250px,1fr) 190px}
}
@media(max-width:700px){
 .free-pagehead{align-items:flex-start}
 .free-preset-grid{grid-template-columns:1fr 1fr}
 .free-target-config-grid{grid-template-columns:1fr}
 .free-config-summary{grid-template-columns:1fr 1fr}
 .free-condition-grid{grid-template-columns:1fr 1fr}
 .free-fatigue-row{grid-template-columns:repeat(5,minmax(96px,1fr));overflow-x:auto;padding-bottom:3px}
 .free-start-bar{position:static;flex-direction:column;align-items:stretch}
 .free-start-bar .btn{width:100%}
 .free-live-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .free-live-kpis>div:last-child{grid-column:1/-1}
 .free-target-stage{grid-template-columns:1fr}
 .free-target-canvas{max-width:100%}
 .free-shoot-head{flex-direction:column}
 .free-old-hits-toggle{white-space:normal}
 .free-result-hero{grid-template-columns:repeat(2,minmax(0,1fr))}
 .free-result-hero>div:first-child{grid-column:1/-1}
 .free-cloud-layout{grid-template-columns:1fr}
 .free-impact-metrics{grid-template-columns:1fr 1fr}
 .free-history-filter{min-width:0;width:100%}
 .free-section-head{flex-direction:column}
 .free-section-head>small{text-align:left;max-width:none}
 .free-history-open{align-items:flex-start}
}
@media(max-width:430px){
 .free-preset-grid{grid-template-columns:1fr}
 .free-condition-grid,.free-condition-summary{grid-template-columns:1fr}
 .free-config-summary{grid-template-columns:1fr 1fr}
 .free-result-hero{grid-template-columns:1fr 1fr}
 .free-impact-metrics{grid-template-columns:1fr}
 .free-impact-metrics .trend{grid-column:auto}
 .free-history-open{flex-direction:column}
 .free-history-score{text-align:left}
}


/* v1.44 - scelta bersaglio visuale + ordine schermata contata */
.free-target-config-grid{
 grid-template-columns:180px auto;
 justify-content:start;
}
.free-face-selector{
 margin-top:14px;
}
.free-face-selector-head{
 display:flex;
 align-items:baseline;
 justify-content:space-between;
 gap:12px;
 margin-bottom:8px;
}
.free-face-selector-head label{
 font-size:11.5px;
 font-weight:900;
 color:#536273;
}
.free-face-selector-head small{
 font-size:11px;
 color:var(--muted);
}
.free-face-choice-grid{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:8px;
}
.free-face-choice{
 position:relative;
 display:flex;
 align-items:center;
 gap:10px;
 min-height:76px;
 padding:9px 30px 9px 9px;
 border:1px solid #cbd8e2;
 border-radius:11px;
 background:#fff;
 text-align:left;
 cursor:pointer;
 transition:.14s ease;
}
.free-face-choice:hover{
 border-color:#8faabd;
 background:#f7fafc;
}
.free-face-choice.selected{
 border:2px solid #4472c4;
 padding:8px 29px 8px 8px;
 background:#eef5fb;
 box-shadow:0 3px 9px rgba(23,56,95,.08);
}
.free-face-thumb{
 width:54px;
 height:54px;
 flex:0 0 54px;
 display:grid;
 place-items:center;
 border:1px solid #d7e1e8;
 border-radius:9px;
 background:#f5f7f8;
 overflow:hidden;
}
.free-face-thumb-svg{
 display:block;
 width:48px;
 height:48px;
}
.free-face-thumb-svg.triple{
 width:33px;
 height:51px;
}
.free-face-choice-text{
 min-width:0;
}
.free-face-choice-text b{
 display:block;
 font-size:11px;
 color:var(--navy);
 line-height:1.25;
}
.free-face-choice-text small{
 display:block;
 margin-top:3px;
 font-size:11px;
 color:var(--muted);
}
.free-face-check{
 position:absolute;
 top:7px;
 right:7px;
 width:17px;
 height:17px;
 border-radius:50%;
 display:grid;
 place-items:center;
 background:#17385f;
 color:#fff;
 font-size:11px;
 font-weight:900;
}
.free-optional-label{
 display:inline;
 margin-left:6px;
 font-size:11px;
 font-weight:900;
 letter-spacing:.05em;
 color:#6f8291;
}
.free-live-score{
 margin-top:14px;
}
.free-live-score + .free-live-details{
 margin-top:14px;
}

@media(max-width:1000px){
 .free-face-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
 .free-target-config-grid{grid-template-columns:1fr}
 .free-face-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .free-face-selector-head{align-items:flex-start;flex-direction:column;gap:3px}
}
@media(max-width:430px){
 .free-face-choice-grid{grid-template-columns:1fr}
 .free-face-choice{min-height:70px}
}


/* ================================================================
   v1.45 - NAVIGAZIONE A MODULI + ICONE
   ================================================================ */
.sidebar{
 padding:18px 10px 24px;
}
.nav-group{
 padding:0 0 13px;
 margin:0 0 11px;
 border-bottom:1px solid #e5ebf0;
}
.nav-group:last-child{
 border-bottom:0;
 margin-bottom:0;
}
.nav-group-title{
 padding:0 11px 6px;
 font-size:11px;
 line-height:1.25;
 font-weight:900;
 letter-spacing:.09em;
 color:#8a9aa7;
padding-left:14px;gap:0;}
.navbtn{
 display:flex;
 align-items:center;
 gap:10px;
 min-height:43px;
 padding:10px 11px;
 margin-bottom:3px;
 font-size:12px;
}
.nav-icon{
 width:18px;
 height:18px;
 flex:0 0 18px;
 display:grid;
 place-items:center;
 color:#60778a;
}
.nav-icon svg{
 width:18px;
 height:18px;
 fill:none;
 stroke:currentColor;
 stroke-width:1.8;
 stroke-linecap:round;
 stroke-linejoin:round;
}
.navbtn.active .nav-icon{
 color:var(--navy);
}
.navbtn.active{
 box-shadow:inset 3px 0 0 #4472c4;
}
.navbtn:hover .nav-icon{
 color:var(--navy);
}

/* Navigazione interna del modulo Allenamento Libero */
.free-module-tabs{
 display:flex;
 align-items:center;
 gap:7px;
 padding:6px;
 margin:0 0 18px;
 width:max-content;
 max-width:100%;
 border:1px solid #d8e2e9;
 border-radius:13px;
 background:#fff;
 box-shadow:0 3px 11px rgba(23,56,95,.035);
}
.free-module-tab{
 border:0;
 background:transparent;
 color:#607283;
 border-radius:9px;
 padding:9px 12px;
 min-height:39px;
 display:flex;
 align-items:center;
 gap:7px;
 font-size:11.5px;
 font-weight:850;
 cursor:pointer;
 white-space:nowrap;
}
.free-module-tab:hover{
 background:#f2f6f9;
 color:var(--navy);
}
.free-module-tab.active{
 background:#17385f;
 color:#fff;
}
.free-module-tab.disabled{
 opacity:.42;
 cursor:not-allowed;
}
.free-module-tab.disabled:hover{
 background:transparent;
 color:#607283;
}
.free-module-tab-icon{
 width:16px;
 height:16px;
 flex:0 0 16px;
 display:grid;
 place-items:center;
}
.free-module-tab-icon svg{
 width:16px;
 height:16px;
 fill:none;
 stroke:currentColor;
 stroke-width:1.8;
 stroke-linecap:round;
 stroke-linejoin:round;
}
.free-history-list-card-first,
.free-trend-card{
 margin-top:0;
}

@media(max-width:900px){
 .nav-group-title{
  font-size:11px;
 }
}
@media(max-width:700px){
 .free-module-tabs{
  width:100%;
  overflow-x:auto;
  justify-content:flex-start;
  scrollbar-width:thin;
 }
 .free-module-tab{
  flex:0 0 auto;
 }
}


/* v1.46 - titoli gruppi sidebar più leggibili */
.nav-group{
 padding:0 0 15px;
 margin:0 0 14px;
 border-bottom:1px solid #dfe7ed;
}
.nav-group-title{
 margin:0 4px 9px;
 padding:6px 8px;
 border-radius:7px;
 background:#f1f5f8;
 color:#557089;
 font-size:11px;
 line-height:1.2;
 font-weight:900;
 letter-spacing:.085em;
}
.nav-group:first-child .nav-group-title{
 color:#49657d;
}
.nav-group-title::before{content:none !important; display:none !important;}
.navbtn{
 margin-left:2px;
 margin-right:2px;
}


/* v1.47 - titoli gruppi con sfondo pastello unico */
.nav-group-title{
 background:#eef4f8;
 color:#516b82;
 border:1px solid #d8e3eb;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
.nav-group-title::before{content:none !important; display:none !important;}


/* v1.48 - voce attiva sidebar albicocca / sabbia chiarissima */
.navbtn.active{
 background:#fff1df;
 color:var(--navy);
 font-weight:800;
 box-shadow:inset 3px 0 0 #e3a15d;
}
.navbtn.active:hover{
 background:#fff1df;
}
.navbtn.active .nav-icon{
 color:#b87535;
}


/* ================================================================
   v1.49 - AVVERSARIO VIRTUALE
   ================================================================ */
.free-opponent-card{
 border-left:5px solid #8b6caf;
}
.free-mode-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:10px;
}
.free-mode-choice{
 position:relative;
 display:grid;
 grid-template-columns:34px 1fr;
 grid-template-rows:auto auto;
 column-gap:10px;
 border:1px solid #cfd9e2;
 border-radius:12px;
 background:#fafbfc;
 padding:13px;
 text-align:left;
 cursor:pointer;
}
.free-mode-choice.selected{
 background:#f4eff9;
 border:2px solid #8b6caf;
 padding:12px;
 box-shadow:0 3px 9px rgba(77,54,104,.07);
}
.free-mode-icon{
 grid-row:1/3;
 width:34px;
 height:34px;
 border-radius:9px;
 display:grid;
 place-items:center;
 background:#fff;
 color:#73558f;
 border:1px solid #ddd2e8;
}
.free-mode-icon svg{
 width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.free-mode-choice b{font-size:11.5px;color:var(--navy)}
.free-mode-choice small{font-size:11px;color:var(--muted);margin-top:3px}

.virtual-opponent-setup{
 margin-top:14px;
 padding:13px;
 border:1px solid #ded4e7;
 border-radius:12px;
 background:#fbf9fd;
}
.virtual-opponent-heading{
 display:flex;
 justify-content:space-between;
 gap:12px;
 align-items:flex-start;
 margin-bottom:10px;
}
.virtual-opponent-heading span{
 display:block;
 font-size:11px;
 font-weight:900;
 letter-spacing:.08em;
 color:#806494;
}
.virtual-opponent-heading h4{
 margin:3px 0 0;
 font-size:13px;
 color:var(--navy);
}
.virtual-opponent-heading small{
 font-size:11px;
 color:var(--muted);
 text-align:right;
}
.virtual-level-grid{
 display:grid;
 grid-template-columns:repeat(6,minmax(0,1fr));
 gap:6px;
}
.virtual-level-choice{
 border:1px solid #d7dce2;
 background:#fff;
 border-radius:9px;
 padding:9px 6px;
 cursor:pointer;
 min-height:44px;
}
.virtual-level-choice b{display:block;font-size:11px;color:#596a79}
.virtual-level-choice small{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.virtual-level-choice.selected{
 background:#fff1df;
 border:2px solid #e3a15d;
 padding:8px 5px;
}
.virtual-level-choice.selected b{color:#8a5725}
.virtual-custom-level{
 margin-top:10px;
 display:grid;
 grid-template-columns:190px 120px 1fr;
 align-items:center;
 gap:8px;
 padding:9px;
 border-radius:9px;
 background:#fff;
 border:1px solid #dedfe3;
}
.virtual-custom-level label{font-size:11px;font-weight:900;color:#596b7a}
.virtual-custom-level input{border:1px solid #cbd6df;border-radius:8px;padding:8px;width:100%}
.virtual-custom-level small{font-size:11px;color:var(--muted)}
.virtual-rules-note{
 margin-top:11px;
 padding:9px 10px;
 border-radius:9px;
 background:#eef4f8;
 border:1px solid #d6e1e9;
}
.virtual-rules-note b{display:block;font-size:11px;color:var(--navy)}
.virtual-rules-note span{display:block;margin-top:3px;font-size:11px;color:#607383;line-height:1.4}

.virtual-match-scoreboard{
 display:grid;
 grid-template-columns:1fr 1.15fr 1fr;
 align-items:stretch;
 gap:8px;
 margin:0 0 13px;
 padding:8px;
 border:1px solid #d6e0e7;
 border-radius:13px;
 background:#fff;
}
.virtual-score-side,.virtual-score-center{
 border-radius:10px;
 padding:10px;
 text-align:center;
}
.virtual-score-side{background:#f5f8fa}
.virtual-score-side.opponent{background:#faf6fc}
.virtual-score-side span,.virtual-score-center span{
 display:block;font-size:11px;font-weight:900;letter-spacing:.07em;color:#758898
}
.virtual-score-side strong{
 display:block;margin-top:3px;font-size:25px;color:var(--navy)
}
.virtual-score-side small,.virtual-score-center small{
 display:block;margin-top:2px;font-size:11px;color:var(--muted)
}
.virtual-score-center{
 display:grid;align-content:center;background:#f8fafc
}
.virtual-score-center b{
 display:block;margin-top:4px;font-size:13px;color:var(--navy)
}
.virtual-match-scoreboard.win .virtual-score-center{background:#eef7f0;border:1px solid #bdd8c3}
.virtual-match-scoreboard.win .virtual-score-center b{color:#3f7a4b}
.virtual-match-scoreboard.loss .virtual-score-center{background:#fff1f1;border:1px solid #e2bbbb}
.virtual-match-scoreboard.loss .virtual-score-center b{color:#9a4a4a}
.virtual-match-scoreboard.draw .virtual-score-center{background:#fff8e8;border:1px solid #e1d1a5}

.virtual-duel-card{border-left-color:#8b6caf}
.virtual-duel-targets{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:14px;
}
.virtual-target-card{
 border:1px solid #d5e0e7;
 border-radius:12px;
 background:#f9fbfc;
 padding:10px;
}
.virtual-target-card.opponent-card{
 background:#fbf9fd;
 border-color:#ded4e7;
}
.virtual-target-card-head{
 display:flex;
 justify-content:space-between;
 gap:10px;
 align-items:baseline;
 margin-bottom:8px;
}
.virtual-target-card-head span{
 font-size:11px;font-weight:900;letter-spacing:.07em;color:#718696
}
.virtual-target-card-head b{
 font-size:11px;color:var(--navy)
}
.virtual-opponent-wait{
 display:block;
 margin-top:7px;
 font-size:11px;
 color:#786b82;
 line-height:1.35;
 text-align:center;
}
.free-impact.opponent-old{fill:#79678a;opacity:.12;pointer-events:none}
.free-impact.opponent-recent{fill:#6d4c89;stroke:#fff;stroke-width:1;opacity:.75;pointer-events:none}
.virtual-duel-actions{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr)) auto auto;
 gap:8px;
 align-items:stretch;
 margin-top:12px;
}
.virtual-duel-actions .target-stat{background:#f7fafc}
.free-locked-label{
 margin-left:5px;
 font-size:11px;
 color:#8b6caf;
 letter-spacing:.05em;
}
.virtual-locked-conditions{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:8px;
}
.virtual-locked-conditions>div{
 border:1px solid #dce4e9;
 background:#f8fafb;
 border-radius:9px;
 padding:9px;
}
.virtual-locked-conditions span{display:block;font-size:11px;color:#7b8b97}
.virtual-locked-conditions strong{display:block;margin-top:3px;font-size:11px;color:#4e6070}

.virtual-score-table th:nth-child(4),
.virtual-score-table td:nth-child(4){
 background:#faf7fc;
}
.shoot-off-row{background:#fff8e9!important}

.virtual-final-card{
 margin:0 0 14px;
 border-left:5px solid #8b6caf;
}
.virtual-final-card.win{border-left-color:#548235}
.virtual-final-card.loss{border-left-color:#b65c5c}
.virtual-final-head{
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 gap:16px;
 padding-bottom:12px;
 border-bottom:1px solid #e0e7ec;
}
.virtual-final-head span{display:block;font-size:11px;font-weight:900;letter-spacing:.07em;color:#758796}
.virtual-final-head h3{margin:3px 0 0;font-size:22px;color:var(--navy)}
.virtual-final-head small{display:block;margin-top:3px;font-size:11px;color:var(--muted)}
.virtual-final-score{text-align:right}
.virtual-final-score strong{display:block;font-size:26px;color:var(--navy)}
.virtual-final-score span{display:block;font-size:11px;color:var(--muted)}
.virtual-final-body{
 display:grid;
 grid-template-columns:220px 1fr;
 gap:14px;
 padding-top:13px;
 align-items:center;
}
.virtual-final-target .interactive-target{width:100%;max-height:230px}
.virtual-final-kpis{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:8px;
}
.virtual-final-kpis>div{
 border:1px solid #dce4e9;
 border-radius:9px;
 padding:9px;
 background:#f9fbfc;
}
.virtual-final-kpis span{display:block;font-size:11px;color:#788996}
.virtual-final-kpis strong{display:block;margin-top:3px;font-size:11.5px;color:var(--navy)}

.free-data-mode-switch{
 display:flex;
 gap:6px;
 width:max-content;
 margin:-6px 0 15px;
 padding:5px;
 border:1px solid #d8e2e9;
 border-radius:11px;
 background:#fff;
}
.free-data-mode-switch button{
 border:0;
 border-radius:8px;
 background:transparent;
 color:#617383;
 padding:8px 11px;
 font-size:11px;
 font-weight:900;
 cursor:pointer;
}
.free-data-mode-switch button.active{
 background:#fff1df;
 color:#8a5725;
 box-shadow:inset 0 0 0 1px #e3b77f;
}
.virtual-result-pill{
 display:inline-block!important;
 width:max-content;
 margin-left:auto;
 border-radius:999px;
 padding:3px 7px;
 font-size:11px!important;
 font-weight:900;
 letter-spacing:.05em;
}
.virtual-result-pill.win{background:#eaf5ec;color:#3f7749!important}
.virtual-result-pill.loss{background:#fdeeee;color:#9a4d4d!important}
.virtual-result-pill.draw{background:#fff6df;color:#866b2f!important}
.virtual-trend-kpis{
 display:grid;
 grid-template-columns:repeat(5,minmax(0,1fr));
 gap:8px;
 margin-bottom:13px;
}
.virtual-trend-kpis>div{
 border:1px solid #d8e2e9;
 background:#fff;
 border-radius:11px;
 padding:10px;
}
.virtual-trend-kpis span{display:block;font-size:11px;font-weight:900;color:#7b8b98}
.virtual-trend-kpis strong{display:block;margin-top:3px;font-size:17px;color:var(--navy)}
.virtual-history-chart .player-line{stroke:#4472c4}
.virtual-history-chart .opponent-line{stroke:#8b6caf}
.virtual-history-chart .player-dot{fill:#17385f}
.virtual-history-chart .opponent-dot{fill:#8b6caf}
.virtual-chart-legend{
 display:flex;justify-content:center;gap:16px;margin-top:6px;font-size:11px;color:#657786
}
.virtual-chart-legend span::before{
 content:"";display:inline-block;width:10px;height:3px;border-radius:3px;margin-right:5px;vertical-align:2px
}
.virtual-chart-legend .you::before{background:#4472c4}
.virtual-chart-legend .opp::before{background:#8b6caf}

@media(max-width:1000px){
 .virtual-level-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .virtual-duel-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .virtual-trend-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
 .free-mode-grid{grid-template-columns:1fr}
 .virtual-level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .virtual-custom-level{grid-template-columns:1fr}
 .virtual-opponent-heading{flex-direction:column}
 .virtual-opponent-heading small{text-align:left}
 .virtual-match-scoreboard{grid-template-columns:1fr 1fr}
 .virtual-score-center{grid-column:1/-1;grid-row:1}
 .virtual-duel-targets{grid-template-columns:1fr}
 .virtual-duel-actions{grid-template-columns:1fr 1fr}
 .virtual-locked-conditions{grid-template-columns:1fr 1fr}
 .virtual-final-body{grid-template-columns:1fr}
 .virtual-final-target{max-width:240px;margin:auto}
 .virtual-trend-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:430px){
 .virtual-level-grid{grid-template-columns:1fr 1fr}
 .virtual-duel-actions{grid-template-columns:1fr}
 .virtual-locked-conditions{grid-template-columns:1fr}
 .virtual-final-kpis{grid-template-columns:1fr}
 .virtual-final-head{flex-direction:column}
 .virtual-final-score{text-align:left}
 .free-data-mode-switch{width:100%}
 .free-data-mode-switch button{flex:1}
}


/* ================================================================
   v1.50 - RACCOLTA DATI PER CALIBRAZIONE M.A.C.
   ================================================================ */
.calibration-panel{
 margin:0 0 14px;
 border-left:5px solid #607f96;
 background:#fbfcfd;
}
.calibration-kpis{
 display:grid;
 grid-template-columns:repeat(5,minmax(0,1fr));
 gap:8px;
 margin:8px 0 10px;
}
.calibration-kpis>div{
 border:1px solid #dbe4ea;
 border-radius:10px;
 background:#fff;
 padding:9px;
}
.calibration-kpis span{
 display:block;
 font-size:11px;
 font-weight:900;
 letter-spacing:.055em;
 color:#81919d;
}
.calibration-kpis strong{
 display:block;
 margin-top:3px;
 font-size:17px;
 color:var(--navy);
}
.calibration-actions{
 display:flex;
 gap:8px;
 flex-wrap:wrap;
 margin-top:10px;
}
.calibration-panel .smallnote{
 line-height:1.45;
 margin:8px 0 0;
}
@media(max-width:1000px){
 .calibration-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:600px){
 .calibration-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .calibration-actions .btn{width:100%}
}


/* ================================================================
   v1.51 - READABILITY / ACCESSIBILITA VISIVA
   ================================================================ */
:root{
  --muted:#5d6d7c;
}
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  font-size:15px;
  line-height:1.45;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
button,input,select,textarea{
  line-height:1.35;
}
p,small,.smallnote{
  line-height:1.5;
}
small{
  font-size:12px;
}
.pagehead p{
  font-size:14px;
  line-height:1.5;
  color:#596b7b;
}
.pagehead h2{
  line-height:1.15;
}
.btn{
  font-size:13px;
  line-height:1.25;
  min-height:40px;
}
.btn.compact{
  min-height:36px;
  font-size:12.5px;
}
.field label,
.detail-field label{
  font-size:12.5px;
  line-height:1.35;
  color:#4f6171;
}
.field input,.field select,.field textarea,
.detail-field input,.detail-field select,.detail-field textarea{
  font-size:14px;
  line-height:1.4;
}
.smallnote{
  font-size:12.5px;
  color:#607181;
}
.status,.completion-pill{
  font-size:11.5px;
}

/* Sidebar */
.navbtn{
  font-size:14px;
  line-height:1.3;
}
.nav-group-title{
  font-size:11px;
  line-height:1.3;
  color:#4f687d;
  letter-spacing:.065em;
}
.brand small{
  font-size:12px;
}

/* Dashboard and program cards */
.kpi .label,
.session-hero-kpis span,
.session-mobile-kpis span,
.time-kpi span,
.precheck-min span{
  font-size:11.5px;
  line-height:1.3;
}
.kpi .sub,
.session-hero-kpis small,
.session-mobile-head span:not(.completion-pill),
.session-mobile-open-sub,
.time-kpi small,
.time-limit-result p,
.program-meta,
.program-select-main .smallnote{
  font-size:12px;
  line-height:1.45;
}
.macro-badge{
  font-size:11.5px;
}
.session-section>summary b{
  font-size:13px;
}
.session-section>summary small{
  font-size:12px;
  line-height:1.45;
}
.toggle-copy b{
  font-size:12px;
}
.toggle-copy small,
.legend{
  font-size:11.5px;
}
.analysis-controls label,
.filters label{
  font-size:12px;
}

/* Scales and secondary interactive controls */
.scale-choice{
  font-size:12.5px;
  line-height:1.3;
  min-height:46px;
}
.optional-label,
.free-optional-label,
.free-locked-label{
  font-size:10.5px;
  line-height:1.2;
}

/* Allenamento libero - headings and instructions */
.free-page-eyebrow{
  font-size:11.5px;
  line-height:1.3;
  color:#526f86;
}
.free-section-head>div>span,
.free-section-head>span{
  font-size:11px;
  line-height:1.3;
  color:#607c91;
}
.free-section-head h3{
  font-size:17px;
  line-height:1.2;
}
.free-section-head>small{
  font-size:12.5px;
  line-height:1.45;
  color:#5d6e7d;
  max-width:360px;
}
.free-module-tab{
  font-size:12px;
  line-height:1.2;
  min-height:42px;
}
.free-preset-choice b,
.free-mode-choice b{
  font-size:12.5px;
  line-height:1.3;
}
.free-preset-choice span,
.free-mode-choice small{
  font-size:11.5px;
  line-height:1.4;
}
.target-config-group label,
.free-face-selector-head label,
.free-fatigue-block>label{
  font-size:12.5px;
}
.free-face-selector-head small{
  font-size:12px;
  line-height:1.4;
}
.free-face-choice b{
  font-size:12px;
}
.free-face-choice small{
  font-size:11.5px;
}
.free-config-summary span,
.free-condition-summary span{
  font-size:11.5px;
}
.free-config-summary strong,
.free-condition-summary strong{
  font-size:13px;
}

/* Active shooting screen: field-use readability */
.free-shoot-head .target-eyebrow,
.target-eyebrow{
  font-size:11.5px;
  line-height:1.3;
}
.free-shoot-head h3{
  font-size:22px;
  line-height:1.15;
}
.free-shoot-head p{
  margin-top:6px;
  font-size:14px;
  line-height:1.5;
  color:#596b7b;
}
.free-old-hits-toggle{
  font-size:12.5px;
  line-height:1.35;
}
.virtual-target-card-head span{
  font-size:11.5px;
  line-height:1.3;
}
.virtual-target-card-head b{
  font-size:13px;
  line-height:1.3;
}
.virtual-opponent-wait{
  font-size:12px;
  line-height:1.45;
}
.target-stat span{
  font-size:11.5px;
  line-height:1.3;
}
.target-stat strong{
  font-size:22px;
  line-height:1.15;
}
.target-stat small{
  font-size:12px;
  line-height:1.3;
}
.target-hint{
  font-size:12.5px;
  line-height:1.5;
  padding:10px 11px;
  color:#5b6d7d;
}
.free-live-kpis span{
  font-size:11px;
  line-height:1.3;
}
.free-live-kpis strong{
  font-size:20px;
  line-height:1.2;
}
.free-confirm-volley{
  font-size:13px;
  min-height:48px;
}
.virtual-score-side span,
.virtual-score-center span{
  font-size:11px;
}
.virtual-score-side small,
.virtual-score-center small{
  font-size:11.5px;
}
.virtual-score-center b{
  font-size:15px;
}
.virtual-opponent-heading span,
.virtual-level-choice small,
.virtual-rules-note b{
  font-size:11px;
}
.virtual-opponent-heading small,
.virtual-rules-note span,
.virtual-level-choice b{
  font-size:11.5px;
  line-height:1.4;
}

/* Tables / score / report */
.free-score-table th{
  font-size:11.5px;
  line-height:1.3;
  padding:10px;
}
.free-score-table td{
  font-size:12.5px;
  line-height:1.4;
  padding:10px;
}
.free-arrow-values{
  font-size:13px;
}
.free-result-hero span{
  font-size:11px;
  line-height:1.3;
}
.free-result-hero strong{
  font-size:20px;
}
.free-result-hero strong small{
  font-size:12px;
}
.free-impact-metrics span,
.free-half-compare span{
  font-size:11.5px;
}
.free-impact-metrics strong,
.free-half-compare strong{
  font-size:14px;
}
.free-impact-metrics small,
.free-half-compare small{
  font-size:11.5px;
  line-height:1.4;
}
.free-report-notes p{
  font-size:12.5px;
  line-height:1.55;
}
.free-history-filter label{
  font-size:11.5px;
}
.free-history-filter select{
  font-size:12.5px;
}
.free-history-chart text{
  font-size:10.5px;
}
.free-history-open b{
  font-size:13px;
}
.free-history-open span{
  font-size:12px;
}
.free-history-open small,
.free-history-score span{
  font-size:11.5px!important;
  line-height:1.4;
}
.free-history-score strong{
  font-size:16px!important;
}
.virtual-result-pill{
  font-size:10.5px!important;
}
.virtual-final-head span,
.virtual-final-score span,
.virtual-final-kpis span{
  font-size:11px;
}
.virtual-final-head small{
  font-size:11.5px;
}
.virtual-final-kpis strong{
  font-size:13px;
}

/* Exercise library / program management */
.exercise-library-item span,
.exercise-library-item small,
.library-empty{
  font-size:12px;
  line-height:1.45;
}
.exercise-library-item b{
  font-size:13.5px;
}
.exercise-library-item p{
  font-size:12.5px;
  line-height:1.5;
}

/* Calibration panel */
.calibration-kpis span{
  font-size:11px;
}
.calibration-kpis strong{
  font-size:18px;
}

/* Mobile: preserve readability instead of shrinking type to fit. */
@media(max-width:700px){
  body{
    font-size:15px;
  }
  .main{
    line-height:1.45;
  }
  .pagehead h2{
    font-size:23px;
  }
  .pagehead p{
    font-size:13.5px;
  }
  .btn{
    font-size:13px;
    min-height:42px;
  }
  .field input,.field select,.field textarea,
  .detail-field input,.detail-field select,.detail-field textarea{
    font-size:16px;
  }
  .session-mobile-kpis span,
  .session-hero-kpis span,
  .free-live-kpis span{
    font-size:11px;
  }
  .session-mobile-open-text{
    font-size:12.5px;
  }
  .session-mobile-open-sub{
    font-size:11.5px;
  }
  .session-hero .eyebrow{
    font-size:11px;
  }
  .session-hero p{
    font-size:12.5px;
    line-height:1.5;
  }
  .metric-toggle{
    min-height:48px;
  }
  .toggle-copy b{
    font-size:12px;
  }
  .toggle-copy small{
    font-size:11px;
  }
  .legend{
    font-size:11px;
  }
  .free-shoot-head p{
    font-size:13.5px;
  }
  .free-shoot-head h3{
    font-size:20px;
  }
  .target-stat span{
    font-size:11.5px;
  }
  .target-stat small{
    font-size:12px;
  }
  .target-hint{
    font-size:12px;
  }
  .free-score-table th{
    font-size:11px;
  }
  .free-score-table td{
    font-size:12px;
  }
  .free-section-head>small{
    font-size:12px;
  }
  .free-data-mode-switch button{
    font-size:11.5px;
    min-height:40px;
  }
}
@media(max-width:430px){
  .pagehead h2{
    font-size:22px;
  }
  .nav-group-title{
    font-size:10.5px;
  }
  .free-result-hero span{
    font-size:10.5px;
  }
  .virtual-trend-kpis span{
    font-size:10.5px;
  }
  .calibration-kpis span{
    font-size:10.5px;
  }
}


/* ================================================================
   v1.52 - SIDEBAR: rimozione stanghetta titoli sezione
   ================================================================ */
.nav-group-title{
  padding-left:14px !important;
  gap:0 !important;
}
.nav-group-title::before{
  content:none !important;
  display:none !important;
}


/* ================================================================
   v1.53 - REGISTRAZIONE / PROFILO ARCIERE
   ================================================================ */
.registration-page{
 min-height:100vh;
 background:linear-gradient(145deg,#edf3f7,#f8fafc 48%,#eef2f6);
 padding:34px 18px 42px;
}
.registration-brand{
 width:min(980px,100%);
 margin:0 auto 18px;
 display:flex;
 align-items:center;
 justify-content:center;
 gap:11px;
 color:var(--navy);
}
.registration-logo{
 width:42px;height:42px;border-radius:13px;
 display:grid;place-items:center;
 background:var(--navy);color:#fff;
 font-size:18px;font-weight:900;
}
.registration-brand h1{margin:0;font-size:21px;line-height:1}
.registration-brand span{display:block;margin-top:3px;font-size:12px;color:#607385}
.registration-shell{
 width:min(980px,100%);
 margin:auto;
}
.registration-progress{
 display:flex;
 align-items:center;
 justify-content:center;
 margin:0 auto 14px;
 max-width:430px;
}
.registration-progress>div{
 display:flex;
 align-items:center;
 gap:7px;
 color:#84939f;
 font-size:12px;
 font-weight:800;
}
.registration-progress>div span{
 width:27px;height:27px;border-radius:50%;
 display:grid;place-items:center;
 background:#dfe6ec;color:#6f7f8c;
 font-size:11px;font-weight:900;
}
.registration-progress>div.active{color:var(--navy)}
.registration-progress>div.active span{background:var(--navy);color:#fff}
.registration-progress i{
 height:2px;
 flex:1;
 max-width:80px;
 background:#d4dee6;
 margin:0 10px;
}
.registration-card{
 width:min(700px,100%);
 margin:auto;
 background:#fff;
 border:1px solid #d7e1e8;
 border-radius:20px;
 padding:26px;
 box-shadow:0 16px 48px rgba(23,56,95,.09);
}
.registration-card-wide{width:100%}
.registration-card-head{
 padding-bottom:18px;
 border-bottom:1px solid #e3e9ee;
 margin-bottom:20px;
}
.registration-card-head>span{
 display:block;
 font-size:11px;
 font-weight:900;
 letter-spacing:.08em;
 color:#68839a;
}
.registration-card-head h2{
 margin:5px 0 0;
 color:var(--navy);
 font-size:25px;
 line-height:1.15;
}
.registration-card-head p{
 margin:7px 0 0;
 color:#5b6e7e;
 font-size:13px;
 line-height:1.5;
}
.registration-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:14px;
}
.registration-field{min-width:0}
.registration-field.wide{grid-column:span 2}
.registration-field label{
 display:block;
 margin-bottom:6px;
 color:#4c6071;
 font-size:12px;
 font-weight:850;
}
.registration-field label span{
 font-size:10px;
 color:#84939f;
 margin-left:4px;
}
.registration-field input,
.registration-field select{
 width:100%;
 min-height:43px;
 border:1px solid #cbd7e0;
 border-radius:10px;
 padding:10px 11px;
 background:#fff;
 color:#263341;
 font-size:14px;
 outline:none;
}
.registration-field input:focus,
.registration-field select:focus{
 border-color:#6d91b0;
 box-shadow:0 0 0 3px rgba(68,114,196,.12);
}
.registration-field small{
 display:block;
 margin-top:5px;
 color:#758795;
 font-size:11px;
 line-height:1.4;
}
.registration-bow-section{
 margin-top:18px;
}
.registration-bow-section>label{
 display:block;
 font-size:12px;
 font-weight:850;
 color:#4c6071;
 margin-bottom:7px;
}
.registration-bow-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:8px;
}
.registration-bow-choice{
 border:1px solid #ced9e2;
 border-radius:11px;
 background:#f9fbfc;
 padding:11px;
 text-align:left;
 cursor:pointer;
}
.registration-bow-choice span{
 display:block;
 font-size:13px;
 font-weight:850;
 color:#4c6071;
}
.registration-bow-choice small{
 display:block;
 margin-top:2px;
 font-size:11px;
 color:#7b8994;
}
.registration-bow-choice.selected{
 background:#fff1df;
 border:2px solid #e3a15d;
 padding:10px;
}
.registration-bow-choice.selected span{color:#7f4d22}
.registration-auth-preview{
 margin-top:17px;
 border:1px solid #d8e3eb;
 border-radius:11px;
 background:#eef4f8;
 padding:11px 13px;
}
.registration-auth-preview b{
 display:block;
 color:#516b82;
 font-size:12px;
}
.registration-auth-preview span{
 display:block;
 margin-top:3px;
 color:#617585;
 font-size:11.5px;
 line-height:1.45;
}
.registration-subsection{
 margin-top:20px;
 padding-top:2px;
}
.registration-subsection+.registration-subsection{
 border-top:1px solid #e3e9ee;
 padding-top:20px;
}
.registration-subhead{
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 gap:12px;
 margin-bottom:12px;
}
.registration-subhead h3{
 margin:0;
 color:var(--navy);
 font-size:17px;
}
.registration-subhead p{
 margin:4px 0 0;
 color:#667988;
 font-size:12px;
 line-height:1.45;
}
.registration-subhead>span{
 flex:0 0 auto;
 border-radius:999px;
 background:#edf1f4;
 padding:4px 7px;
 color:#6e7e8b;
 font-size:10px;
 font-weight:900;
}
.registration-records{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:10px;
}
.registration-record-card{
 border:1px solid #d8e2e9;
 border-radius:13px;
 background:#fafcfd;
 padding:13px;
}
.registration-record-title span{
 display:block;
 color:#7a8b98;
 font-size:10px;
 font-weight:900;
 letter-spacing:.06em;
}
.registration-record-title h3{
 margin:2px 0 10px;
 color:var(--navy);
 font-size:16px;
}
.registration-record-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:9px;
}
.registration-record-grid .wide{grid-column:span 2}
.registration-consent{
 border-top:1px solid #e3e9ee;
}
.registration-consent-row{
 display:flex;
 gap:10px;
 align-items:flex-start;
 cursor:pointer;
}
.registration-consent-row input{
 width:18px;height:18px;flex:0 0 18px;
 margin-top:2px;
 accent-color:var(--blue);
}
.registration-consent-row b{
 display:block;
 color:var(--navy);
 font-size:13px;
}
.registration-consent-row small{
 display:block;
 margin-top:3px;
 color:#607383;
 font-size:11.5px;
 line-height:1.45;
}
.registration-actions{
 display:flex;
 justify-content:flex-end;
 gap:9px;
 margin-top:22px;
 padding-top:16px;
 border-top:1px solid #e4eaef;
}
.registration-actions.split{
 justify-content:space-between;
 align-items:center;
}
.registration-actions.split>div{
 display:flex;
 gap:8px;
}
.registration-local-note{
 width:min(760px,100%);
 margin:13px auto 0;
 text-align:center;
 color:#657787;
 font-size:11px;
 line-height:1.45;
}
@media(max-width:760px){
 .registration-page{padding:22px 12px 30px}
 .registration-card{padding:18px;border-radius:16px}
 .registration-grid{grid-template-columns:1fr}
 .registration-field.wide{grid-column:auto}
 .registration-records{grid-template-columns:1fr}
 .registration-bow-grid{grid-template-columns:1fr}
 .registration-actions.split{
   flex-direction:column-reverse;
   align-items:stretch;
 }
 .registration-actions.split>div{
   width:100%;
   display:grid;
   grid-template-columns:1fr 1fr;
 }
 .registration-actions.split>.btn{width:100%}
 .registration-actions.split>div .btn{width:100%}
}
@media(max-width:480px){
 .registration-record-grid{grid-template-columns:1fr}
 .registration-record-grid .wide{grid-column:auto}
 .registration-actions.split>div{grid-template-columns:1fr}
 .registration-progress>div b{font-size:11px}
}


/* ================================================================
   v1.54 - LOGOUT / SESSIONE LOCALE
   ================================================================ */
.logout-btn{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:6px;
 min-height:34px;
 border:1px solid rgba(255,255,255,.28);
 border-radius:9px;
 background:rgba(255,255,255,.08);
 color:#fff;
 padding:7px 9px;
 font-size:11.5px;
 font-weight:900;
 letter-spacing:.035em;
 cursor:pointer;
 transition:.14s ease;
}
.logout-btn:hover{
 background:rgba(255,255,255,.17);
 border-color:rgba(255,255,255,.42);
}
.logout-btn:focus-visible{
 outline:2px solid #fff;
 outline-offset:2px;
}
.logout-btn svg{
 width:17px;
 height:17px;
 fill:none;
 stroke:currentColor;
 stroke-width:1.8;
 stroke-linecap:round;
 stroke-linejoin:round;
}
.local-login-page{
 display:grid;
 align-content:start;
}
.local-login-card{
 max-width:520px;
 text-align:center;
}
.local-login-avatar{
 width:62px;
 height:62px;
 border-radius:50%;
 margin:0 auto 13px;
 display:grid;
 place-items:center;
 background:#eef4f8;
 border:1px solid #d4e1ea;
 color:var(--navy);
 font-size:24px;
 font-weight:900;
}
.local-login-head{
 text-align:center;
}
.local-login-head p{
 word-break:break-word;
}
.local-login-info{
 margin:0 0 16px;
 padding:12px 13px;
 border:1px solid #d8e3eb;
 border-radius:11px;
 background:#f6f9fb;
 text-align:left;
}
.local-login-info b{
 display:block;
 color:var(--navy);
 font-size:12.5px;
}
.local-login-info span{
 display:block;
 margin-top:4px;
 color:#607383;
 font-size:12px;
 line-height:1.5;
}
.local-login-enter{
 width:100%;
 min-height:46px;
}
.local-login-supabase{
 margin:13px 0 0;
 color:#718291;
 font-size:11.5px;
 line-height:1.5;
}
@media(max-width:600px){
 .topbar-right{
  gap:5px;
 }
 .logout-btn{
  padding:7px 8px;
 }
 .userpill{
  max-width:90px;
 }
}
@media(max-width:430px){
 .logout-label{
  display:none;
 }
 .logout-btn{
  width:36px;
  min-width:36px;
  padding:7px;
 }
 .userpill{
  max-width:74px;
 }
}


/* ================================================================
   v1.56 - NAVIGAZIONE INDIETRO
   ================================================================ */
.app-backbar{
 display:flex;
 align-items:center;
 min-height:34px;
 margin:0 0 11px;
}
.app-back-btn{
 display:inline-flex;
 align-items:center;
 gap:7px;
 min-height:36px;
 border:1px solid #d3dde5;
 border-radius:9px;
 background:#fff;
 color:#516779;
 padding:7px 11px;
 font-size:11.5px;
 line-height:1;
 font-weight:900;
 letter-spacing:.035em;
 cursor:pointer;
 box-shadow:0 2px 7px rgba(23,56,95,.04);
}
.app-back-btn span{
 font-size:17px;
 line-height:.8;
 color:var(--navy);
}
.app-back-btn:hover{
 background:#f4f7f9;
 border-color:#bdccd7;
 color:var(--navy);
}
.app-back-btn:focus-visible{
 outline:3px solid rgba(68,114,196,.18);
 outline-offset:2px;
}
@media(max-width:650px){
 .app-backbar{margin-bottom:9px}
 .app-back-btn{
  min-height:39px;
  font-size:12px;
  padding:8px 11px;
 }
}


/* ================================================================
   v1.57 - LIVELLO ARCIERE AUTOVALUTATO
   ================================================================ */
.athlete-level-guidance{
 border:1px solid #d6e1e9;
 border-radius:12px;
 background:#f4f8fb;
 padding:12px 13px;
 margin-bottom:12px;
}
.athlete-level-guidance b{
 display:block;
 color:var(--navy);
 font-size:13px;
}
.athlete-level-guidance span{
 display:block;
 margin-top:4px;
 color:#5c7182;
 font-size:12px;
 line-height:1.5;
}
.athlete-level-grid{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:8px;
}
.athlete-level-choice{
 min-width:0;
 border:1px solid #d2dde5;
 border-radius:11px;
 background:#fff;
 padding:11px 10px;
 text-align:left;
 cursor:pointer;
 transition:.14s ease;
}
.athlete-level-choice b{
 display:block;
 color:#41586c;
 font-size:12.5px;
 line-height:1.25;
}
.athlete-level-choice span{
 display:block;
 margin-top:4px;
 color:#748592;
 font-size:10.8px;
 line-height:1.4;
}
.athlete-level-choice:hover{
 background:#f7fafc;
 border-color:#afc2d0;
}
.athlete-level-choice.selected{
 background:#fff1df;
 border:2px solid #e3a15d;
 padding:10px 9px;
 box-shadow:0 3px 10px rgba(173,111,48,.08);
}
.athlete-level-choice.selected b{
 color:#7d4d23;
}
.athlete-level-selected{
 margin-top:9px;
 min-height:34px;
 display:flex;
 align-items:center;
 justify-content:center;
 border-radius:9px;
 background:#f7f9fb;
 color:#617483;
 font-size:11.5px;
}
.athlete-level-selected b{
 color:var(--navy);
 margin-left:4px;
}
.registration-record-title{
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:10px;
}
@media(max-width:900px){
 .athlete-level-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
 }
}
@media(max-width:520px){
 .athlete-level-grid{
  grid-template-columns:1fr;
 }
 .athlete-level-choice{
  padding:12px;
 }
 .athlete-level-choice.selected{
  padding:11px;
 }
}


/* ================================================================
   v1.58 - PROFILO MODIFICABILE / MULTI-ARCO
   ================================================================ */
.userpill-button{
 appearance:none;
 font-family:inherit;
 color:#fff;
 cursor:pointer;
 display:inline-flex;
 align-items:center;
 gap:7px;
}
.userpill-button:hover{
 background:rgba(255,255,255,.16);
 border-color:rgba(255,255,255,.32);
}
.userpill-button:focus-visible{
 outline:2px solid #fff;
 outline-offset:2px;
}
.userpill-button svg{
 width:14px;
 height:14px;
 fill:none;
 stroke:currentColor;
 stroke-width:1.8;
 stroke-linecap:round;
 stroke-linejoin:round;
 opacity:.8;
}
.registration-bow-help{
 margin:0 0 8px;
 color:#657786;
 font-size:11.5px;
 line-height:1.45;
}
.registration-primary-bow{
 margin-top:10px;
 padding:11px 12px;
 border:1px solid #d8e2e9;
 border-radius:11px;
 background:#f8fafc;
}
.registration-primary-bow label{
 display:block;
 color:#4d6172;
 font-size:12px;
 font-weight:850;
 margin-bottom:6px;
}
.registration-primary-bow select{
 width:100%;
 min-height:41px;
 border:1px solid #cbd7e0;
 border-radius:9px;
 background:#fff;
 padding:8px 10px;
 font-size:13px;
}
.registration-primary-bow small{
 display:block;
 margin-top:5px;
 color:#718390;
 font-size:11px;
}
.registration-bow-choice.selected{
 position:relative;
}
.registration-bow-choice.selected::after{
 content:"✓";
 position:absolute;
 top:7px;
 right:8px;
 width:20px;
 height:20px;
 border-radius:50%;
 display:grid;
 place-items:center;
 background:#e3a15d;
 color:#fff;
 font-size:12px;
 font-weight:900;
}
.profile-pagehead{
 align-items:flex-start;
}
.profile-editor{
 display:grid;
 gap:14px;
 max-width:1050px;
}
.profile-section{
 padding:20px;
}
.profile-section .registration-subhead{
 margin-bottom:13px;
}
.profile-primary-bow{
 max-width:420px;
}
.profile-savebar{
 position:sticky;
 bottom:12px;
 z-index:8;
 display:flex;
 justify-content:flex-end;
 gap:9px;
 padding:12px;
 border:1px solid #d5e0e7;
 border-radius:13px;
 background:rgba(255,255,255,.95);
 box-shadow:0 8px 28px rgba(23,56,95,.13);
 backdrop-filter:blur(8px);
}
@media(max-width:650px){
 .userpill-button svg{display:none}
 .profile-section{padding:15px}
 .profile-savebar{
  bottom:7px;
  display:grid;
  grid-template-columns:1fr 1fr;
 }
 .profile-savebar .btn{width:100%}
}


/* ================================================================
   v1.59 - PROFILI MULTI-ARCO INDIPENDENTI
   ================================================================ */
.bow-profiles-stack{
 display:grid;
 gap:16px;
}
.bow-profile-panel{
 border:1px solid #d6e1e8;
 border-radius:15px;
 background:#fbfcfd;
 overflow:hidden;
}
.bow-profile-panel.is-hidden{
 display:none;
}
.bow-profile-head{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:12px;
 padding:14px 16px;
 background:#eef4f8;
 border-bottom:1px solid #d6e1e8;
}
.bow-profile-head>div>span{
 display:block;
 font-size:10.5px;
 font-weight:900;
 letter-spacing:.07em;
 color:#688097;
}
.bow-profile-head h3{
 margin:2px 0 0;
 color:var(--navy);
 font-size:20px;
}
.bow-primary-badge{
 flex:0 0 auto;
 border-radius:999px;
 padding:5px 8px;
 background:#fff1df;
 border:1px solid #e7c59d;
 color:#995f28;
 font-size:10.5px;
 font-weight:900;
 letter-spacing:.035em;
}
.bow-profile-level,
.bow-profile-bests{
 padding:15px;
}
.bow-profile-bests{
 border-top:1px solid #e0e7ec;
 background:#fff;
}
.bow-profile-level .registration-subhead h4,
.bow-profile-bests .registration-subhead h4{
 margin:0;
 color:var(--navy);
 font-size:16px;
}
.registration-record-title h4{
 margin:2px 0 10px;
 color:var(--navy);
 font-size:15px;
}
.free-add-bow-link{
 margin-top:7px;
 padding:0;
 border:0;
 background:transparent;
 color:#496f91;
 font-size:11px;
 font-weight:900;
 cursor:pointer;
 text-align:left;
}
.free-add-bow-link:hover{
 text-decoration:underline;
}
.free-athlete-bow-level{
 margin-top:7px;
 border-radius:8px;
 background:#f3f7fa;
 color:#617484;
 padding:7px 9px;
 font-size:11.5px;
 line-height:1.35;
}
.free-athlete-bow-level b{
 color:var(--navy);
}
@media(max-width:650px){
 .bow-profile-head{
  align-items:flex-start;
 }
 .bow-profile-head h3{
  font-size:18px;
 }
}


/* ================================================================
   v1.60 - PROGRAMMA DI MANTENIMENTO
   ================================================================ */
.program-type-section{margin-bottom:18px}
.program-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.program-type-card{position:relative;border:1px solid #d0dce5;border-radius:13px;background:#fafcfd;padding:14px;cursor:pointer;min-height:120px}
.program-type-card input{position:absolute;opacity:0;pointer-events:none}
.program-type-card b{display:block;color:var(--navy);font-size:13px;margin-bottom:5px}
.program-type-card p{margin:0;color:#617483;font-size:12px;line-height:1.5}
.program-type-card.selected{background:#fff1df;border:2px solid #e3a15d;padding:13px}
.program-type-hidden{display:none!important}
.maintenance-info-box{border:1px solid #d7e3ea;border-radius:12px;background:#f3f8fb;padding:12px 13px;margin:4px 0 14px}
.maintenance-info-box b{display:block;color:var(--navy);font-size:12.5px}.maintenance-info-box span{display:block;margin-top:4px;color:#607383;font-size:12px;line-height:1.5}
.maintenance-banner{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid #cbdde7;border-radius:15px;background:#eef6fa;padding:16px 18px;margin-bottom:16px}
.maintenance-banner>div>span{font-size:10.5px;font-weight:900;letter-spacing:.07em;color:#5f7f94}.maintenance-banner h3{margin:3px 0;color:var(--navy);font-size:18px}.maintenance-banner p{margin:4px 0 0;color:#5f7180;font-size:12.5px;line-height:1.5}
.maintenance-focus-list{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.maintenance-focus-list span{border-radius:999px;background:#eef4f8;border:1px solid #d6e1e8;padding:5px 8px;font-size:11px;color:#5d7181}.maintenance-focus-list b{color:var(--navy)}
.maintenance-session-focus{border:1px solid #d5e1e9;border-left:5px solid #6f95af;border-radius:12px;background:#f4f8fb;padding:13px 15px;margin:0 0 14px}.maintenance-session-focus span{font-size:10.5px;font-weight:900;letter-spacing:.07em;color:#668196}.maintenance-session-focus h3{margin:3px 0;color:var(--navy);font-size:17px}.maintenance-session-focus p{margin:4px 0 0;color:#607383;font-size:12.5px;line-height:1.5}
.maintenance-preview .time-plan-note{display:none}
@media(max-width:700px){.program-type-grid{grid-template-columns:1fr}.maintenance-banner{align-items:stretch;flex-direction:column}.maintenance-banner .btn{width:100%}}


/* ================================================================
   v1.61 - LOGO UFFICIALE M.A.C.
   ================================================================ */
.mac-logo-wrap{
  overflow:hidden;
  background:transparent !important;
  border-radius:50%;
  display:grid;
  place-items:center;
}
.mac-logo-wrap img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  border-radius:50%;
}
.mac-registration-logo{
  width:58px;
  height:58px;
  border-radius:50%;
  overflow:hidden;
  padding:0;
  background:transparent;
  border:0;
  display:grid;
  place-items:center;
}
.mac-registration-logo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  border-radius:50%;
}
@media(max-width:430px){
  .mac-registration-logo{
    width:52px;
    height:52px;
  }
}


/* ================================================================
   v1.62 - ATLETI VIRTUALI M.A.C. · BETA
   Separazione grafica dal Virtuale Classico
   ================================================================ */
.free-mode-grid-three{grid-template-columns:repeat(3,minmax(0,1fr));}
.classic-virtual-choice{background:#f7fafc;}
.mac-athlete-mode-choice{position:relative;background:#fffaf4;border-color:#dec9ad;}
.mac-athlete-mode-choice.selected{border-color:#b77b3f;box-shadow:0 0 0 2px rgba(183,123,63,.10);background:#fff7ed;}
.mac-mode-badge,.mac-beta-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d5ae7d;background:#fff1df;color:#915d28;border-radius:999px;font-size:10px;line-height:1;font-weight:900;letter-spacing:.06em;padding:5px 7px;}
.mac-mode-badge{position:absolute;top:9px;right:9px;}
.virtual-system-label{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid #dce5eb;background:#f6f9fb;border-radius:11px;padding:11px 13px;margin-bottom:14px;}
.virtual-system-label>span,.virtual-system-label>div>span{font-size:10.5px;font-weight:900;letter-spacing:.06em;color:#59748c;}
.virtual-system-label p{margin:0;color:#657684;font-size:11.5px;line-height:1.45;}
.mac-system-label{background:#fffaf4;border-color:#ead8c0;}
.mac-system-label>div{min-width:185px;}
.mac-system-label>div>b{display:block;margin-top:4px;color:#9a642d;font-size:10.5px;}
.mac-athlete-setup{margin-top:15px;padding:15px;border:1px solid #ead8c0;border-radius:14px;background:linear-gradient(180deg,#fffdf9 0%,#fff 100%);}
.mac-athlete-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:12px;}
.mac-athlete-card{appearance:none;border:1px solid #d9e1e6;border-radius:13px;background:#fff;padding:13px;text-align:left;cursor:pointer;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;}
.mac-athlete-card:hover{border-color:#b6c7d3;transform:translateY(-1px);}
.mac-athlete-card.selected{border-color:#b77b3f;box-shadow:0 0 0 2px rgba(183,123,63,.10);background:#fffaf4;}
.mac-athlete-card-top{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:10px;}
.mac-athlete-avatar{position:relative;width:46px;height:46px;border-radius:50%;background:#eaf1f5;border:1px solid #cedbe3;display:grid;place-items:center;overflow:visible;}
.mac-athlete-avatar>b{color:#24435d;font-size:13px;letter-spacing:.03em;}
.mac-athlete-avatar>span{position:absolute;right:-5px;bottom:-3px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.12);font-size:13px;}
.mac-athlete-avatar.large{width:58px;height:58px;}
.mac-athlete-avatar.large>b{font-size:15px;}
.mac-athlete-country{display:block;color:#708392;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
.mac-athlete-card h5{margin:2px 0 1px;color:var(--navy);font-size:15px;}
.mac-athlete-card small{color:#697985;font-size:11px;}
.mac-athlete-strength{display:flex;align-items:center;gap:7px;margin-top:11px;padding-top:9px;border-top:1px solid #edf1f3;}
.mac-athlete-strength span{font-size:9.5px;font-weight:900;letter-spacing:.05em;color:#789;}
.mac-athlete-strength b{font-size:11px;color:#405a6d;}
.mac-athlete-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;margin-top:10px;}
.mac-athlete-mini-stats>div{display:flex;justify-content:space-between;align-items:center;gap:7px;}
.mac-athlete-mini-stats>div>span{color:#738491;font-size:9px;font-weight:900;letter-spacing:.04em;}
.mac-stat-dots{display:flex;gap:2px;}
.mac-stat-dots i{width:6px;height:6px;border-radius:50%;background:#dce4e9;}
.mac-stat-dots i.on{background:#647f94;}
.mac-athlete-card.selected .mac-stat-dots i.on{background:#a76e36;}
.mac-athlete-selected-detail{margin-top:13px;border:1px solid #e6d5bf;border-radius:13px;background:#fffaf4;padding:14px;}
.mac-athlete-selected-head{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:12px;}
.mac-athlete-selected-head>div>span{font-size:9.5px;color:#8d755f;font-weight:900;letter-spacing:.06em;}
.mac-athlete-selected-head h4{margin:2px 0;font-size:18px;color:var(--navy);}
.mac-athlete-selected-head p,.mac-athlete-selected-detail>p{margin:0;color:#627480;line-height:1.45;}
.mac-athlete-selected-detail>p{margin-top:12px;font-size:12.5px;}
.mac-athlete-selected-detail>small{display:block;margin-top:11px;color:#85796d;font-size:10.5px;}
.mac-athlete-strengths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;}
.mac-athlete-strengths>div{border:1px solid #eadfce;background:#fff;border-radius:9px;padding:8px 9px;}
.mac-athlete-strengths span{display:block;color:#8a7a6b;font-size:9.5px;font-weight:800;}
.mac-athlete-strengths b{display:block;margin-top:2px;color:#4d5e69;font-size:11px;}
.mac-athlete-rules{margin-top:13px;}
.mac-athlete-scoreboard{border-color:#e0c6a5;}
.mac-athlete-history-card,.mac-athlete-trend-card{border-color:#e4d3bd;}
.mac-athlete-history-item{background:#fffdf9;}
.free-data-mode-switch-three{grid-template-columns:repeat(3,minmax(0,1fr));}
.free-data-mode-switch-three button.mac-active{background:#fff1df;border-color:#d5ae7d;color:#805226;}
.free-data-mode-switch-three button i{font-style:normal;font-size:8.5px;margin-left:4px;padding:2px 4px;border-radius:999px;border:1px solid currentColor;}
.mac-athlete-trend-kpis{border-color:#e0c6a5;}
@media(max-width:900px){
  .free-mode-grid-three{grid-template-columns:1fr;}
  .mac-athlete-grid{grid-template-columns:1fr;}
}
@media(max-width:650px){
  .mac-athlete-selected-head{grid-template-columns:52px 1fr;}
  .mac-athlete-selected-head .mac-beta-pill{grid-column:1/-1;justify-self:start;}
  .mac-athlete-strengths{grid-template-columns:1fr;}
  .free-data-mode-switch-three{grid-template-columns:1fr;}
}


/* v1.63 - Etichette caratteristiche Atleti M.A.C. per esteso */
.mac-athlete-mini-stats>div>span{
  font-size:10px;
  letter-spacing:.01em;
  text-transform:none;
  line-height:1.2;
}
.mac-athlete-mini-stats>div{
  align-items:center;
}
@media(max-width:520px){
  .mac-athlete-mini-stats{
    grid-template-columns:1fr;
  }
}


/* ================================================================
   v1.64 - CORE UX
   Dashboard Oggi + score rapido + nomenclatura allenamento
   ================================================================ */
.dashboard-today-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:22px;
  margin:0 0 18px;
  padding:20px 22px;
  border:1px solid #cbdbe5;
  border-radius:16px;
  background:linear-gradient(135deg,#f4f9fc 0%,#fff 72%);
  box-shadow:0 8px 24px rgba(35,68,91,.06);
}
.dashboard-today-card.recovery{background:linear-gradient(135deg,#fafbfc 0%,#fff 72%);border-color:#dce3e8;}
.dashboard-today-card.done{background:linear-gradient(135deg,#f5faf5 0%,#fff 72%);border-color:#d2e2d1;}
.dashboard-today-card.event-day{background:linear-gradient(135deg,#fff8ef 0%,#fff 72%);border-color:#ead5b8;}
.dashboard-today-eyebrow{display:block;margin-bottom:4px;color:#58768c;font-size:10.5px;font-weight:900;letter-spacing:.07em;}
.dashboard-today-copy h3{margin:0 0 5px;font-size:23px;color:var(--navy);}
.dashboard-today-copy p{margin:0;color:#667885;line-height:1.45;}
.dashboard-today-status{display:flex;align-items:center;gap:8px;margin-top:10px;}
.dashboard-today-status small{color:#71818c;}
.dashboard-today-kpis{display:flex;gap:8px;}
.dashboard-today-kpis>div{min-width:78px;padding:10px 12px;border:1px solid #dce6ec;border-radius:11px;background:#fff;text-align:center;}
.dashboard-today-kpis span{display:block;color:#748896;font-size:9px;font-weight:900;letter-spacing:.05em;}
.dashboard-today-kpis strong{display:block;margin-top:3px;color:var(--navy);font-size:17px;}
.dashboard-today-cta{white-space:nowrap;}
.dashboard-today-event{min-width:88px;padding:13px 16px;border-radius:12px;background:#fff0dc;color:#8c5a25;font-weight:900;text-align:center;letter-spacing:.08em;}

.target-entry-mode{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:12px 14px;border:1px solid #dfe7ec;border-radius:12px;background:#fafcfd;}
.target-entry-mode h4{margin:2px 0 0;color:var(--navy);}
.target-entry-mode-buttons{display:flex;gap:7px;}
.target-entry-mode-buttons button{border:1px solid #ccd8df;background:#fff;color:#506a7c;border-radius:9px;padding:9px 11px;font-size:10.5px;font-weight:900;cursor:pointer;}
.target-entry-mode-buttons button.selected{border-color:#7c9fb5;background:#edf5f9;color:#234760;}
.quick-score-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,.6fr);gap:14px;align-items:start;}
.quick-score-pad{display:grid;grid-template-columns:repeat(4,minmax(58px,1fr));gap:8px;}
.quick-score-btn{min-height:52px;border:1px solid #cad7df;border-radius:11px;background:#fff;color:#284b63;font-size:18px;font-weight:900;cursor:pointer;}
.quick-score-btn:hover{background:#f3f8fb;}
.quick-score-btn.x{border-color:#d6b56e;background:#fff8df;color:#78601f;}
.quick-score-btn.miss{background:#f6f7f8;color:#75818a;}
.quick-score-side{display:grid;gap:8px;}
.quick-score-history{grid-column:1/-1;padding-top:12px;border-top:1px solid #e7ecef;}
.quick-score-history>span{display:block;margin-bottom:7px;color:#788995;font-size:9.5px;font-weight:900;letter-spacing:.06em;}
.quick-score-sequence{display:flex;flex-wrap:wrap;gap:5px;}
.quick-score-sequence span{min-width:30px;height:30px;display:grid;place-items:center;padding:0 6px;border:1px solid #dbe3e8;border-radius:8px;background:#fff;color:#425c6e;font-weight:800;}
.quick-score-empty{color:#82909a;font-size:11px;}
.open-session-label{white-space:nowrap;}

@media(max-width:900px){
  .dashboard-today-card{grid-template-columns:1fr auto;}
  .dashboard-today-cta{grid-column:1/-1;justify-self:start;}
}
@media(max-width:650px){
  .dashboard-today-card{grid-template-columns:1fr;gap:13px;padding:16px;}
  .dashboard-today-kpis{width:100%;}
  .dashboard-today-kpis>div{flex:1;}
  .dashboard-today-cta{width:100%;}
  .target-entry-mode{align-items:stretch;flex-direction:column;}
  .target-entry-mode-buttons{display:grid;grid-template-columns:1fr 1fr;}
  .quick-score-layout{grid-template-columns:1fr;}
  .quick-score-pad{grid-template-columns:repeat(3,1fr);}
  .quick-score-history{grid-column:auto;}
}


/* ================================================================
   v1.65 - FONDAZIONI PROGRAMMA ADATTIVO
   Obiettivo gara + stato sessione + aderenza + disponibilità reale
   ================================================================ */
.program-goal-card{
  margin-top:16px;
  border:1px solid #d6e1e8;
  border-radius:14px;
  padding:16px;
  background:#f9fbfc;
}
.program-goal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:13px;
}
.program-goal-head span{
  display:block;
  color:#688294;
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
}
.program-goal-head h4{
  margin:3px 0 4px;
  color:var(--navy);
  font-size:17px;
}
.program-goal-head p{
  margin:0;
  color:#72828c;
  font-size:11.5px;
}
.program-goal-head>b{
  max-width:350px;
  border:1px solid #dbe5eb;
  border-radius:10px;
  background:#fff;
  padding:10px 12px;
  color:#36576d;
  font-size:11px;
  line-height:1.45;
  text-align:right;
}
.program-goal-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.program-goal-note{
  margin-top:10px;
  color:#73828c;
  font-size:10.5px;
}

.dashboard-goal-line{
  margin-top:7px;
  display:flex;
  gap:7px;
  align-items:center;
  flex-wrap:wrap;
}
.dashboard-goal-line span{
  color:#778995;
  font-size:9.5px;
  font-weight:900;
  letter-spacing:.06em;
}
.dashboard-goal-line b{
  color:#3d5d72;
  font-size:11px;
}

.program-adherence-card{
  margin:0 0 18px;
  padding:17px 19px;
  border:1px solid #d8e1e7;
  border-radius:15px;
  background:#fff;
}
.program-adherence-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.program-adherence-head>div:first-child>span,
.empty-adherence>div>span{
  color:#718693;
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
}
.program-adherence-head h3,
.empty-adherence h3{
  margin:2px 0 2px;
  color:var(--navy);
  font-size:24px;
}
.program-adherence-head p,
.empty-adherence p{
  margin:0;
  color:#72818b;
  font-size:11.5px;
}
.program-adherence-statuses{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.program-adherence-statuses span{
  padding:5px 8px;
  border-radius:999px;
  border:1px solid #dfe5e9;
  background:#f7f9fa;
  color:#687985;
  font-size:9.5px;
  font-weight:800;
}
.program-adherence-statuses .complete{background:#f2f8f1;border-color:#d7e7d3;color:#56724f;}
.program-adherence-statuses .partial{background:#fff9ed;border-color:#eadfbd;color:#816c35;}
.program-adherence-statuses .skipped{background:#faf1f0;border-color:#ead6d3;color:#8b5d58;}
.program-adherence-progress{
  height:7px;
  margin:13px 0;
  overflow:hidden;
  border-radius:999px;
  background:#e9eef1;
}
.program-adherence-progress i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:#6f93a8;
}
.program-adherence-kpis{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.program-adherence-kpis>div{
  padding:10px 11px;
  border:1px solid #e1e7ea;
  border-radius:10px;
  background:#fafcfd;
}
.program-adherence-kpis span{
  display:block;
  color:#7b8c97;
  font-size:9px;
  font-weight:900;
  letter-spacing:.05em;
}
.program-adherence-kpis strong{
  display:inline-block;
  margin-top:3px;
  color:#294a60;
  font-size:18px;
}
.program-adherence-kpis small{
  margin-left:4px;
  color:#83909a;
}
.program-adherence-kpis .negative strong{color:#9a5c54;}
.program-adherence-kpis .positive strong{color:#4d7654;}
.program-adherence-note{
  margin:10px 0 0;
  color:#7a8891;
  font-size:10.5px;
}
.empty-adherence{background:#fafbfc;}

.session-state-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 15px;
  padding:13px 15px;
  border:1px solid #dbe3e8;
  border-radius:13px;
  background:#fafcfd;
}
.session-state-card>div:first-child>span{
  color:#748894;
  font-size:9.5px;
  font-weight:900;
  letter-spacing:.06em;
}
.session-state-card h4{
  margin:2px 0;
  color:var(--navy);
}
.session-state-card p{
  margin:0;
  color:#788791;
  font-size:10.5px;
}
.session-state-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.session-state-actions button{
  border:1px solid #d4dee4;
  background:#fff;
  color:#607481;
  border-radius:8px;
  padding:8px 9px;
  font-size:9.5px;
  font-weight:900;
  cursor:pointer;
}
.session-state-actions button.selected{
  border-color:#7f9daf;
  background:#edf4f7;
  color:#2f536a;
}
.session-state-actions .state-skipped.selected{
  border-color:#d6aaa5;
  background:#fbefee;
  color:#875a55;
}
.completion-pill.skipped,
.detail-status-text.skipped{
  color:#8a5b56;
  background:#fbefee;
  border-color:#e2c5c1;
}
.completion-pill.planned,
.detail-status-text.planned{
  color:#667985;
  background:#f4f7f8;
  border-color:#dce4e8;
}

.session-availability-card{
  grid-column:1/-1;
  padding:14px;
  border:1px solid #dbe4e9;
  border-radius:13px;
  background:#f9fbfc;
}
.session-availability-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  margin-bottom:10px;
}
.session-availability-head span{
  display:block;
  color:#718895;
  font-size:9.5px;
  font-weight:900;
  letter-spacing:.06em;
}
.session-availability-head h4{
  margin:2px 0 0;
  color:var(--navy);
  font-size:15px;
}
.session-availability-head small{
  color:#8b7a62;
  border:1px solid #e7dbc8;
  background:#fffaf2;
  border-radius:999px;
  padding:5px 7px;
  white-space:nowrap;
}
.session-availability-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.session-availability-summary{
  margin-top:8px;
  color:#3f6175;
  font-size:11px;
  font-weight:700;
}
.session-availability-card>p{
  margin:7px 0 0;
  color:#7b8992;
  font-size:10.5px;
}

@media(max-width:1000px){
  .program-goal-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px){
  .program-goal-head,
  .program-adherence-head,
  .session-state-card,
  .session-availability-head{
    flex-direction:column;
  }
  .program-goal-head>b{
    max-width:none;
    width:100%;
    text-align:left;
  }
  .program-goal-grid,
  .program-adherence-kpis,
  .session-availability-grid{
    grid-template-columns:1fr;
  }
  .program-adherence-statuses,
  .session-state-actions{
    justify-content:flex-start;
  }
  .session-state-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
}


/* ================================================================
   v1.66 - RICALCOLO ADATTIVO M.A.C. · BETA
   ================================================================ */
.program-adherence-statuses .unresolved{background:#f5f2fb;border-color:#ddd4ef;color:#675b82;}
.program-adherence-warning{margin:11px 0 0;padding:9px 11px;border:1px solid #e3d9ef;border-radius:10px;background:#faf7fd;color:#6b6179;font-size:10.5px;line-height:1.45;}
.adaptive-recalc-card{margin:0 0 18px;padding:17px 19px;border:1px solid #d9e3e8;border-radius:15px;background:linear-gradient(135deg,#f8fbfd 0%,#fff 76%);}
.adaptive-recalc-card.proposal{border-color:#c7dbe7;box-shadow:0 7px 20px rgba(52,91,116,.05);}
.adaptive-recalc-card.aligned{border-color:#d5e4d4;background:linear-gradient(135deg,#f5faf5,#fff 76%);}
.adaptive-recalc-card.scheduled{border-color:#d9e2cb;background:linear-gradient(135deg,#f8faf3,#fff 76%);}
.adaptive-recalc-card.blocked{border-color:#e4d8d3;background:linear-gradient(135deg,#fcf8f6,#fff 76%);}
.adaptive-recalc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
.adaptive-recalc-head>div>span{display:block;color:#718895;font-size:10px;font-weight:900;letter-spacing:.07em;}
.adaptive-recalc-head h3{margin:3px 0 4px;color:var(--navy);font-size:19px;}
.adaptive-recalc-head p{margin:0;color:#6f7f89;font-size:11.5px;line-height:1.5;max-width:850px;}
.adaptive-state-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border:1px solid #cedbe3;border-radius:999px;background:#fff;color:#557487;font-size:9px;font-weight:900;letter-spacing:.06em;white-space:nowrap;}
.adaptive-proposal-details{margin-top:13px;border-top:1px solid #e4ebef;padding-top:11px;}
.adaptive-proposal-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;color:#31576f;font-size:11px;font-weight:900;letter-spacing:.03em;list-style:none;}
.adaptive-proposal-details>summary::-webkit-details-marker{display:none;}
.adaptive-proposal-body{padding-top:13px;}
.adaptive-proposal-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:13px;}
.adaptive-proposal-kpis>div{padding:9px 10px;border:1px solid #e0e7eb;border-radius:9px;background:#fff;}
.adaptive-proposal-kpis span{display:block;color:#7b8b95;font-size:8.5px;font-weight:900;letter-spacing:.05em;}
.adaptive-proposal-kpis strong{display:block;margin-top:3px;color:#2f536a;font-size:17px;}
.adaptive-table-wrap{overflow-x:auto;border:1px solid #e0e6ea;border-radius:10px;background:#fff;}
.adaptive-table{width:100%;border-collapse:collapse;min-width:720px;}
.adaptive-table th,.adaptive-table td{padding:9px 10px;border-bottom:1px solid #edf1f3;text-align:left;font-size:10.5px;color:#566b79;}
.adaptive-table th{background:#f7f9fa;color:#738590;font-size:9px;font-weight:900;letter-spacing:.04em;}
.adaptive-table tr:last-child td{border-bottom:0;}
.adaptive-table .adaptive-plus{color:#4c7556;font-weight:900;}
.adaptive-unrecovered{margin:11px 0;padding:9px 11px;border:1px solid #ead8cc;border-radius:9px;background:#fff8f2;color:#765f51;font-size:10.5px;}
.adaptive-method-note{margin:11px 0;color:#788791;font-size:10.5px;line-height:1.45;}
.adaptive-last-revision{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:11px;border-top:1px dashed #dde5e9;}
.adaptive-last-revision>span{color:#7a8b95;font-size:9px;font-weight:900;letter-spacing:.05em;}
.adaptive-last-revision>b{color:#4f6878;font-size:10.5px;margin-right:auto;}
.adaptive-session-note{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 14px;padding:10px 12px;border:1px solid #d4e1e8;border-radius:11px;background:#f5f9fb;}
.adaptive-session-note>span{color:#5c7b8f;font-size:9px;font-weight:900;letter-spacing:.06em;}
.adaptive-session-note>b{color:#35586e;font-size:11px;}
.adaptive-session-note>small{color:#7d8a93;font-size:10px;}
@media(max-width:900px){.adaptive-proposal-kpis{grid-template-columns:repeat(3,1fr);}}
@media(max-width:650px){.adaptive-recalc-head{flex-direction:column}.adaptive-proposal-kpis{grid-template-columns:1fr 1fr}.adaptive-last-revision{align-items:flex-start;flex-direction:column}.adaptive-last-revision>b{margin-right:0}}


/* v1.66.1 contata dopo esercizi: blocco e sblocco progressivo */
.contata-after-notice{
 margin-top:10px;
 padding:10px 12px;
 border:1px dashed #c8d6e2;
 background:#f6fafc;
 border-radius:11px;
}
.contata-after-notice b{display:block;font-size:12px;color:var(--navy)}
.contata-after-notice small{display:block;margin-top:3px;font-size:11px;line-height:1.45;color:#637789}
.contata-after-notice.locked{background:#fcfbf7;border-color:#e5d7b5}
.contata-after-section{grid-column:1 / -1}
.target-tracker-locked{border-color:#e6d8bd;background:linear-gradient(180deg,#fffdf8,#fff 45%)}
.target-layout.locked{opacity:.96}
.target-canvas-wrap.locked-preview{position:relative;cursor:not-allowed}
.target-preview-svg{display:block;width:100%;aspect-ratio:1;border-radius:50%;opacity:.5;filter:saturate(.88);pointer-events:none;box-shadow:0 4px 14px #17385f12}
.target-lock-banner{
 margin-top:10px;
 padding:10px 12px;
 border-radius:11px;
 border:1px solid #e7c98f;
 background:#fff4db;
 color:#7b571a;
 cursor:pointer;
}
.target-lock-banner strong{display:block;font-size:12px}
.target-lock-banner small{display:block;margin-top:3px;font-size:11px;line-height:1.45}
.locked-buttons button{opacity:.55;cursor:not-allowed}


/* v1.66.2 - conferma esercizio FATTO senza dati */
.exercise-completion-modal{
 position:fixed;
 inset:0;
 z-index:9999;
 display:grid;
 place-items:center;
 padding:20px;
 background:rgba(18,37,52,.42);
 backdrop-filter:blur(3px);
}
.exercise-completion-dialog{
 width:min(520px,100%);
 display:grid;
 grid-template-columns:auto 1fr;
 gap:14px;
 padding:18px;
 border:1px solid #e5d8be;
 border-radius:16px;
 background:#fff;
 box-shadow:0 24px 70px rgba(22,47,66,.24);
}
.exercise-completion-icon{
 width:38px;
 height:38px;
 display:grid;
 place-items:center;
 border-radius:50%;
 background:#fff3d8;
 border:1px solid #e6c98e;
 color:#8a631c;
 font-size:20px;
 font-weight:900;
}
.exercise-completion-copy>span{
 display:block;
 color:#7c8992;
 font-size:9.5px;
 font-weight:900;
 letter-spacing:.07em;
}
.exercise-completion-copy h3{
 margin:3px 0 7px;
 color:var(--navy);
 font-size:18px;
}
.exercise-completion-copy p{
 margin:5px 0;
 color:#637581;
 font-size:12px;
 line-height:1.5;
}
.exercise-completion-copy p b{color:#38566a}
.exercise-completion-actions{
 grid-column:1/-1;
 display:flex;
 justify-content:flex-end;
 gap:8px;
 margin-top:4px;
}
@media(max-width:560px){
 .exercise-completion-dialog{grid-template-columns:1fr;padding:16px}
 .exercise-completion-icon{width:34px;height:34px}
 .exercise-completion-actions{grid-column:1;display:grid;grid-template-columns:1fr}
 .exercise-completion-actions .btn{width:100%}
}


/* v1.66.3 fix: indicatori di selezione non devono coprire il testo delle card */
.program-type-card,
.setup-mode-card{
  padding-left:50px;
}
.program-type-card.selected,
.setup-mode-card.selected{
  padding-left:49px;
}
.program-type-card .setup-mode-check,
.setup-mode-card .setup-mode-check{
  left:15px;
  top:18px;
}
.program-type-card b,
.setup-mode-card b{
  line-height:1.3;
}
@media(max-width:650px){
  .program-type-card,
  .setup-mode-card{padding-left:46px}
  .program-type-card.selected,
  .setup-mode-card.selected{padding-left:45px}
  .program-type-card .setup-mode-check,
  .setup-mode-card .setup-mode-check{left:13px;top:16px}
}


/* ================================================================
   v1.66.4 - AUDIT UI PROGRAMMI + PULSANTE INDIETRO
   ================================================================ */
/* Le card di scelta usano una vera colonna per l'indicatore: niente overlay sul testo. */
.program-type-card,
.setup-mode-card{
  box-sizing:border-box;
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  grid-auto-rows:min-content;
  column-gap:11px;
  align-content:start;
  align-items:start;
  padding:15px 16px;
}
.program-type-card.selected{padding:14px 15px;}
.setup-mode-card.selected{padding:15px 16px;}
.program-type-card .setup-mode-check,
.setup-mode-card .setup-mode-check{
  position:static;
  grid-column:1;
  grid-row:1 / span 3;
  align-self:start;
  justify-self:start;
  margin-top:1px;
  width:20px;
  height:20px;
  box-sizing:border-box;
}
.program-type-card b,
.setup-mode-card b{
  grid-column:2;
  margin:0;
  line-height:1.32;
  min-width:0;
}
.program-type-card p,
.setup-mode-card p{
  grid-column:2;
  margin:7px 0 0;
  line-height:1.48;
  min-width:0;
}
.program-type-card.selected .setup-mode-check,
.setup-mode-card.selected .setup-mode-check{
  background:var(--navy);
  border-color:var(--navy);
  color:#fff;
}
/* Gerarchia e respiro della schermata Programmi. */
.program-type-section{margin-bottom:22px;}
.program-type-section>h3,
.setup-mode-heading{margin-bottom:11px;}
.program-type-grid,
.setup-mode-grid{gap:12px;}
.program-type-card{min-height:132px;}
.setup-mode-card{min-height:126px;}
.program-type-card p{font-size:11.8px;}
.setup-mode-card p{font-size:11.5px;}

/* L'intero pulsante INDIETRO deve essere il target cliccabile, non solo la freccia. */
.app-backbar{
  position:relative;
  z-index:8;
}
.app-back-btn{
  position:relative;
  z-index:9;
  isolation:isolate;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.app-back-btn .app-back-arrow,
.app-back-btn .app-back-label{
  pointer-events:none;
}
.app-back-btn .app-back-label{
  display:inline-block;
}

@media(max-width:650px){
  .program-type-card,
  .setup-mode-card{padding:13px 14px;column-gap:10px;}
  .program-type-card.selected{padding:12px 13px;}
  .setup-mode-card.selected{padding:13px 14px;}
  .program-type-card .setup-mode-check,
  .setup-mode-card .setup-mode-check{position:static;left:auto;top:auto;margin-top:0;}
  .program-type-card{min-height:0;}
  .setup-mode-card{min-height:0;}
}


/* ================================================================
   v1.66.5 - SIDEBAR: gerarchia tra titoli di sezione e voci cliccabili
   ================================================================ */
.sidebar{
  padding:18px 14px 24px;
}
.nav-group{
  padding:0 0 8px;
  margin:0 0 16px;
  border-bottom:0;
}
.nav-group:last-child{
  margin-bottom:0;
  padding-bottom:0;
}
.nav-group-title{
  display:flex;
  align-items:center;
  gap:9px !important;
  margin:0 4px 7px;
  padding:0 2px 5px !important;
  min-height:20px;
  border:0 !important;
  border-radius:0;
  background:transparent !important;
  box-shadow:none !important;
  color:#6d8292 !important;
  font-size:10px !important;
  line-height:1.25 !important;
  font-weight:900;
  letter-spacing:.095em !important;
  text-transform:uppercase;
}
.nav-group-title::before{
  content:none !important;
  display:none !important;
}
.nav-group-title::after{
  content:"";
  flex:1 1 auto;
  height:1px;
  min-width:14px;
  background:#dce5eb;
}
.navbtn{
  min-height:45px;
  margin:2px 0;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:#42596a;
  font-size:14px;
  font-weight:500;
  box-shadow:none;
  transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;
}
.navbtn:hover{
  background:#f5f8fa;
  border-color:#e5ebef;
  color:var(--navy);
  font-weight:600;
}
.navbtn.active{
  background:#fff1df;
  border-color:#f0d7bb;
  color:var(--navy);
  font-weight:800;
  box-shadow:inset 3px 0 0 #e3a15d;
}
.navbtn.active:hover{
  background:#fff1df;
  border-color:#f0d7bb;
}
.nav-icon{
  color:#6b8191;
}
.navbtn.active .nav-icon{
  color:#b87535;
}

/* Sotto la sidebar verticale, i titoli diventerebbero troppo ingombranti:
   nella navigazione orizzontale restano solo le azioni, separate per gruppo. */
@media(max-width:1050px){
  .sidebar{
    gap:0;
    padding:8px 10px;
  }
  .nav-group{
    display:flex;
    align-items:center;
    flex:0 0 auto;
    gap:3px;
    margin:0 8px 0 0;
    padding:0 8px 0 0;
    border-right:1px solid #e1e7ec;
  }
  .nav-group:last-child{
    margin-right:0;
    padding-right:0;
    border-right:0;
  }
  .nav-group-title{
    display:none;
  }
  .navbtn{
    min-height:40px;
    margin:0;
    padding:8px 10px;
    white-space:nowrap;
  }
}


/* ================================================================
   v1.66.6 - SIDEBAR: titoli sezione con doppia linea sopra/sotto
   ================================================================ */
.nav-group{
  margin:0 0 18px;
  padding:0 0 10px;
}
.nav-group-title{
  display:block;
  margin:0 4px 10px;
  padding:7px 2px 7px !important;
  border-top:1px solid #d7e1e8 !important;
  border-bottom:1px solid #d7e1e8 !important;
  background:transparent !important;
  color:#5f7486 !important;
  font-size:10.5px !important;
  line-height:1.25 !important;
  letter-spacing:.11em !important;
  font-weight:900;
}
.nav-group-title::after{
  content:none !important;
  display:none !important;
}
.nav-group:first-child .nav-group-title{
  margin-top:0;
}


/* ================================================================
   v1.66.7 - SIDEBAR: rifinitura tipografica + sfumatura nei titoli sezione
   ================================================================ */
.sidebar{
  padding:18px 15px 24px;
}
.nav-group{
  margin:0 0 20px;
  padding:0 0 12px;
}
.nav-group-title{
  margin:0 4px 11px;
  padding:8px 10px 8px !important;
  border-top:1px solid #d5e0e7 !important;
  border-bottom:1px solid #d5e0e7 !important;
  background:linear-gradient(to top,#ffffff 0%,#f6f9fc 72%,#eef4f8 100%) !important;
  color:#617789 !important;
  font-size:10.8px !important;
  line-height:1.2 !important;
  letter-spacing:.12em !important;
  font-weight:900;
  border-radius:10px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88), inset 0 -1px 0 rgba(255,255,255,.72);
}
.navbtn{
  min-height:46px;
  margin:3px 0;
  padding:11px 13px;
  font-size:14.5px;
  font-weight:500;
  gap:11px;
}
.navbtn + .navbtn{
  margin-top:4px;
}
.nav-group-title + .navbtn{
  margin-top:2px;
}
.nav-icon{
  width:22px;
  min-width:22px;
  font-size:18px;
  color:#6a8091;
}
.navbtn:hover{
  background:#f4f8fb;
}
.navbtn.active{
  box-shadow:inset 3px 0 0 #e3a15d, 0 1px 0 rgba(255,255,255,.7);
}
@media(max-width:1050px){
  .sidebar{padding:8px 10px;}
  .nav-group{margin:0 8px 0 0;padding:0 8px 0 0;}
  .navbtn{min-height:40px;padding:8px 10px;font-size:14px;gap:8px;}
  .nav-icon{width:20px;min-width:20px;font-size:17px;}
}


/* ================================================================
   v1.66.8 - micro-rifinitura sidebar
   - gradiente sezione piu percepibile
   - voce attiva con contrasto leggermente superiore
   ================================================================ */
.nav-group-title{
  border-top:1px solid #cfdbe3 !important;
  border-bottom:1px solid #cfdbe3 !important;
  background:linear-gradient(to top,#ffffff 0%,#fbfdff 38%,#f1f6fa 78%,#e8f0f6 100%) !important;
  color:#5c7284 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96), inset 0 -1px 0 rgba(255,255,255,.78), 0 1px 0 rgba(233,240,245,.6);
}
.navbtn{
  color:#405667;
}
.navbtn:hover{
  background:#f2f7fa;
  border-color:#dfe7ec;
}
.navbtn.active{
  background:#feeeda;
  border-color:#ebcfaf;
  color:#223e52;
  box-shadow:inset 3px 0 0 #df9952, 0 1px 0 rgba(255,255,255,.75), 0 3px 10px rgba(191,129,63,.08);
}
.navbtn.active .nav-icon{
  color:#ab6d2d;
}

/* ================================================================
   v1.67 - AUDIT FUNZIONALE / CONSOLIDAMENTO
   ================================================================ */
.computed-value.locked-value{
  background:#fff7e8;
  border-color:#e5c992;
  color:#7b5b1e;
  font-weight:900;
}

/* ================================================================
   v1.68 - RICALCOLO ADATTIVO: origine dello scostamento
   ================================================================ */
.adaptive-cause-summary{
  margin-top:13px;
  padding:12px 13px;
  border:1px solid #dde7ec;
  border-radius:11px;
  background:#fbfdfe;
}
.adaptive-cause-summary-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.adaptive-cause-summary-head>div>span{
  display:block;
  color:#738894;
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.065em;
}
.adaptive-cause-summary-head>div>b{
  display:block;
  margin-top:3px;
  color:#35586e;
  font-size:12px;
}
.adaptive-cause-summary-head p{
  max-width:650px;
  margin:0;
  color:#7b8a93;
  font-size:9.5px;
  line-height:1.45;
}
.adaptive-cause-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}
.adaptive-cause-chip{
  display:inline-grid;
  grid-template-columns:auto auto auto;
  align-items:baseline;
  gap:5px;
  padding:6px 8px;
  border:1px solid #dfe7eb;
  border-radius:999px;
  background:#fff;
  color:#5a6f7d;
}
.adaptive-cause-chip b{font-size:8px;letter-spacing:.045em}
.adaptive-cause-chip strong{font-size:12px;color:#34586e}
.adaptive-cause-chip small{font-size:8px;color:#87949c}
.adaptive-cause-chip.skipped{border-color:#ead7d2;background:#fff9f7}
.adaptive-cause-chip.time{border-color:#d3e1e9;background:#f8fbfd}
.adaptive-cause-chip.arrows{border-color:#d7e4d7;background:#f8fbf7}
.adaptive-cause-chip.availability{border-color:#d8ddec;background:#f9f9fd}
.adaptive-cause-chip.partial{border-color:#eadfcb;background:#fffaf3}
.adaptive-cause-chip.volume{border-color:#e1e3e5;background:#fafbfb}
.adaptive-deficit-offset{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:9px;
  padding-top:8px;
  border-top:1px dashed #dfe7eb;
  color:#71838e;
}
.adaptive-deficit-offset span{font-size:8px;font-weight:900;letter-spacing:.05em}
.adaptive-deficit-offset b{font-size:10.5px;color:#4d7557}
.adaptive-source-block{margin:13px 0 0}
.adaptive-source-block h4{
  margin:0 0 7px;
  color:#4c6676;
  font-size:10px;
  font-weight:900;
  letter-spacing:.025em;
}
.adaptive-source-table{min-width:610px}
.adaptive-table .adaptive-deficit-minus{color:#a15e55;font-weight:900}
@media(max-width:650px){
  .adaptive-cause-summary-head{flex-direction:column;gap:6px}
  .adaptive-cause-summary-head p{max-width:none}
  .adaptive-cause-chip{grid-template-columns:auto auto;gap:4px 6px}
  .adaptive-cause-chip small{grid-column:2}
}


/* ================================================================
   v1.69 - RIEPILOGO CICLO: previsto -> fatto -> scostamento -> adattamenti -> risultato
   ================================================================ */
.cycle-summary-card{margin:16px 0;border:1px solid #d6e1e8;border-radius:17px;background:linear-gradient(180deg,#fbfdff 0%,#fff 100%);padding:17px 18px;box-shadow:0 6px 18px rgba(23,56,95,.055)}
.cycle-summary-card.closed{border-color:#c8ddce;background:linear-gradient(180deg,#f7fbf7 0%,#fff 100%)}
.cycle-summary-card.event{border-color:#e8d4b9;background:linear-gradient(180deg,#fffaf2 0%,#fff 100%)}
.cycle-summary-card.past{border-color:#d8dde2;background:linear-gradient(180deg,#f8fafb 0%,#fff 100%)}
.cycle-summary-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.cycle-summary-head>div>span{font-size:10.5px;font-weight:900;letter-spacing:.08em;color:#6c8394}
.cycle-summary-head h3{margin:4px 0 5px;color:var(--navy);font-size:17px;line-height:1.3}
.cycle-summary-head p{margin:0;max-width:900px;color:#657786;font-size:12px;line-height:1.5}
.cycle-state-pill{flex:0 0 auto;border:1px solid #bfd0dd;background:#eef5fa;color:#4d6a80;border-radius:999px;padding:6px 10px;font-size:10.5px;font-weight:900;letter-spacing:.05em}
.closed .cycle-state-pill{background:#eef7ef;border-color:#c8dec9;color:#4f7454}.event .cycle-state-pill{background:#fff1df;border-color:#ead0af;color:#8a6132}.past .cycle-state-pill{background:#f1f4f6;border-color:#d7dfe5;color:#62717d}
.cycle-flow{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1.15fr);gap:6px;align-items:stretch;margin-top:15px}
.cycle-flow>i{display:grid;place-items:center;color:#9babb7;font-style:normal;font-size:18px;font-weight:800}
.cycle-step{border:1px solid #dbe5eb;border-radius:12px;background:#fff;padding:11px 11px 10px;min-width:0}
.cycle-step>span{display:block;font-size:9.5px;line-height:1.2;font-weight:900;letter-spacing:.055em;color:#728695}
.cycle-step>strong{display:block;margin-top:5px;color:var(--navy);font-size:21px;line-height:1.1;overflow-wrap:anywhere}
.cycle-step>small{display:block;margin-top:4px;color:#778895;font-size:10.5px;line-height:1.3}
.cycle-step.negative{background:#fff7f6;border-color:#ecd2cf}.cycle-step.negative>strong{color:#a14d47}.cycle-step.positive{background:#f5fbf4;border-color:#d0e3ce}.cycle-step.positive>strong{color:#4f7c48}.cycle-step.result{background:#f7f9fc;border-color:#d4dfeb}
.cycle-coverage{margin-top:13px;padding-top:12px;border-top:1px solid #e5ebef;display:grid;grid-template-columns:auto minmax(150px,1fr) auto;gap:12px;align-items:center}
.cycle-coverage>div:first-child span{display:block;font-size:9.5px;font-weight:900;letter-spacing:.06em;color:#728695}.cycle-coverage>div:first-child b{display:block;margin-top:2px;color:#344f63;font-size:12px}
.cycle-coverage-bar{height:7px;border-radius:999px;background:#e8eef2;overflow:hidden}.cycle-coverage-bar i{display:block;height:100%;border-radius:inherit;background:#6f90aa}
.cycle-baseline-meta{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.cycle-baseline-meta span{font-size:10.5px;color:#71828f}.cycle-baseline-meta b{color:#405a6d}
.cycle-warning{margin-top:11px;border:1px solid #ead7b9;border-radius:10px;background:#fff9ef;padding:9px 11px;color:#765b39;font-size:11.5px;line-height:1.45}
.cycle-result-detail{margin-top:14px;border:1px solid #d8e2e9;border-radius:13px;background:#f8fbfd;padding:13px 14px;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(330px,1.2fr);gap:14px;align-items:center}
.cycle-result-detail>div:first-child>span{display:block;font-size:9.5px;font-weight:900;letter-spacing:.07em;color:#708695}.cycle-result-detail>div:first-child>b{display:block;margin-top:4px;color:var(--navy);font-size:12.5px}.cycle-result-detail>div:first-child>small{display:block;margin-top:4px;color:#788995;font-size:10.5px}
.cycle-result-values{display:flex;align-items:center;justify-content:flex-end;gap:10px}.cycle-result-values span{min-width:66px;border:1px solid #dbe5eb;border-radius:10px;background:#fff;padding:8px 10px;text-align:center}.cycle-result-values small{display:block;color:#7a8a96;font-size:9.5px}.cycle-result-values b{display:block;margin-top:2px;color:var(--navy);font-size:17px}.cycle-result-values .cycle-result-arrow{min-width:auto;border:0;background:transparent;padding:0;color:#8da0ad;font-size:17px}.cycle-result-values .cycle-result-delta.positive b{color:#4f7c48}.cycle-result-values .cycle-result-delta.negative b{color:#a14d47}
.cycle-result-detail>p{grid-column:1/-1;margin:0;color:#6e7f8c;font-size:10.8px;line-height:1.45}.cycle-result-detail.insufficient{grid-template-columns:1fr;background:#fbfcfd}
@media(max-width:980px){.cycle-flow{grid-template-columns:1fr 1fr}.cycle-flow>i{display:none}.cycle-step.result{grid-column:1/-1}.cycle-coverage{grid-template-columns:1fr}.cycle-baseline-meta{justify-content:flex-start}.cycle-result-detail{grid-template-columns:1fr}.cycle-result-values{justify-content:flex-start}.cycle-result-detail>p{grid-column:auto}}
@media(max-width:650px){.cycle-summary-card{padding:14px 12px}.cycle-summary-head{display:block}.cycle-state-pill{display:inline-flex;margin-top:9px}.cycle-flow{grid-template-columns:1fr}.cycle-step.result{grid-column:auto}.cycle-result-values{display:grid;grid-template-columns:1fr auto 1fr}.cycle-result-values .cycle-result-delta{grid-column:1/-1}.cycle-baseline-meta{display:grid;grid-template-columns:1fr}.cycle-summary-head h3{font-size:15px}}


/* ================================================================
   v1.70 - INSIGHTS M.A.C. / qualita esplicita del dato
   ================================================================ */
.mac-insights-card{
  margin:16px 0;
  border:1px solid #cfdde7;
  border-radius:17px;
  background:linear-gradient(180deg,#f7fbfe 0%,#ffffff 100%);
  padding:18px;
  box-shadow:0 7px 20px rgba(23,56,95,.06);
}
.mac-insights-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.mac-insights-head>div>span{display:block;font-size:10.5px;font-weight:900;letter-spacing:.085em;color:#607d91}
.mac-insights-head h3{margin:4px 0 5px;color:var(--navy);font-size:18px;line-height:1.3}
.mac-insights-head p{margin:0;max-width:900px;color:#647887;font-size:12px;line-height:1.5}
.mac-insights-overall,.mac-insight-quality{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:900;letter-spacing:.045em;white-space:nowrap}
.mac-insights-overall{padding:7px 10px;font-size:10px;border:1px solid #d6e1e8;background:#f5f8fa;color:#5f7280}
.mac-insight-quality{padding:4px 7px;font-size:8.5px;border:1px solid #d9e2e8;background:#f7f9fa;color:#667985}
.mac-insights-overall.sufficient,.mac-insight-quality.sufficient{background:#f0f7f1;border-color:#cbded0;color:#527158}
.mac-insights-overall.limited,.mac-insight-quality.limited{background:#fff8ed;border-color:#ead9bd;color:#816640}
.mac-insights-overall.insufficient,.mac-insight-quality.insufficient{background:#f5f6f7;border-color:#dce1e5;color:#77838b}
.mac-insights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:15px}
.mac-insight-item{border:1px solid #dbe5eb;border-radius:13px;background:#fff;padding:13px 14px;min-width:0}
.mac-insight-item-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.mac-insight-item-head>span{font-size:9.5px;font-weight:900;letter-spacing:.07em;color:#6e8493}
.mac-insight-item>strong{display:block;margin-top:9px;color:#28485f;font-size:18px;line-height:1.22;overflow-wrap:anywhere}
.mac-insight-item>p{margin:7px 0 0;color:#637684;font-size:11.5px;line-height:1.48}
.mac-insight-item>small{display:block;margin-top:9px;padding-top:8px;border-top:1px dashed #e2e8ec;color:#81909a;font-size:9.8px;line-height:1.4}
.mac-insights-method{margin-top:12px;border-top:1px solid #e2e9ee;padding-top:10px;color:#71838f;font-size:10.8px;line-height:1.5}
.mac-insights-method b{color:#506b7d}
@media(max-width:850px){.mac-insights-grid{grid-template-columns:1fr}.mac-insights-head{display:block}.mac-insights-overall{margin-top:10px}}
@media(max-width:650px){.mac-insights-card{padding:14px 12px}.mac-insight-item-head{align-items:flex-start}.mac-insight-item>strong{font-size:16px}.mac-insight-quality{white-space:normal;text-align:center}}


/* ================================================================
   v1.71 - Fondamenta dati tecnico/atleta
   ================================================================ */
.technical-goal-panel{
  grid-column:1/-1;
  border:1px solid #c9dbe8;
  border-left:5px solid #315f87;
  border-radius:13px;
  background:linear-gradient(135deg,#f7fbfe 0%,#ffffff 68%);
  padding:14px;
}
.technical-goal-head{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}
.technical-goal-head>span{font-size:10px;font-weight:900;letter-spacing:.09em;color:#577991}
.technical-goal-head>b{font-size:14px;color:var(--navy)}
.technical-goal-head>small{font-size:11.5px;line-height:1.45;color:var(--muted);max-width:920px}
.technical-goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.technical-goal-grid .detail-field{min-width:0}

.session-section.section-history>summary{
  border-left:5px solid #6c63a5;
  background:#f7f6fb;
  padding-left:15px;
}
.history-data-note{
  display:flex;gap:10px;align-items:flex-start;
  border:1px solid #dedbea;background:#faf9fd;border-radius:11px;
  padding:10px 12px;margin-bottom:14px;color:#586775;font-size:11.5px;line-height:1.45
}
.history-data-note b{color:#4f477b;white-space:nowrap}

.exercise-history{
  margin:0 12px 12px;
  border:1px solid #d8e1e8;
  border-radius:10px;
  overflow:hidden;
  background:#fbfcfd;
}
.exercise-history>summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 10px;background:#f4f6f9;color:#596d7d
}
.exercise-history>summary::-webkit-details-marker{display:none}
.exercise-history>summary span{font-size:10.5px;font-weight:900;letter-spacing:.06em;color:#405b72}
.exercise-history>summary small{font-size:10.5px;color:#7a8995;text-align:right}
.exercise-history-body{padding:10px;border-top:1px solid #e1e7ec}
.exercise-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.exercise-history-grid .wide{grid-column:1/-1}
.exercise-history-grid textarea,.exercise-history-grid select{width:100%}

@media(max-width:900px){
  .technical-goal-grid{grid-template-columns:1fr}
  .exercise-history-grid{grid-template-columns:1fr 1fr}
  .exercise-history-grid .wide{grid-column:1/-1}
}
@media(max-width:650px){
  .technical-goal-panel{padding:11px;border-left-width:4px}
  .exercise-history{margin:0 9px 9px}
  .exercise-history>summary{align-items:flex-start;flex-direction:column}
  .exercise-history>summary small{text-align:left}
  .exercise-history-grid{grid-template-columns:1fr}
  .exercise-history-grid .wide{grid-column:1}
  .history-data-note{flex-direction:column;gap:3px}
  .session-section.section-history>summary{border-left-width:4px;padding-left:12px}
}


/* ================================================================
   v1.72 - TRACCIAMENTO IDENTITA SINGOLA FRECCIA
   ================================================================ */
.arrow-tracking-box,.free-arrow-tracking-setup,.free-arrow-tracking-live{
  margin:12px 0 16px;border:1px solid #d7e2e9;border-radius:13px;background:#f8fbfd;padding:12px 13px;
}
.arrow-tracking-box.enabled,.free-arrow-tracking-setup.enabled,.free-arrow-tracking-live{
  border-color:#b9cfdd;background:#f2f8fb;
}
.arrow-tracking-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;min-width:0}
.arrow-tracking-toggle>input{position:absolute;opacity:0;pointer-events:none}
.arrow-tracking-switch{width:36px;height:20px;border-radius:999px;background:#c7d2da;position:relative;flex:0 0 36px;transition:.16s ease}
.arrow-tracking-switch::after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;left:2px;top:2px;box-shadow:0 1px 3px #0002;transition:.16s ease}
.arrow-tracking-toggle input:checked + .arrow-tracking-switch{background:#315f86}
.arrow-tracking-toggle input:checked + .arrow-tracking-switch::after{transform:translateX(16px)}
.arrow-tracking-toggle>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.arrow-tracking-toggle b{font-size:12.5px;color:var(--navy)}
.arrow-tracking-toggle small{font-size:11.5px;color:var(--muted);line-height:1.35}
.arrow-tracking-controls{display:grid;grid-template-columns:minmax(150px,1.5fr) minmax(105px,.7fr) minmax(120px,.8fr) auto;gap:10px;align-items:end;margin-top:12px;padding-top:11px;border-top:1px solid #dde7ed}
.arrow-tracking-controls label,.free-arrow-tracking-live label{font-size:11px;font-weight:800;color:#586d7c;display:flex;flex-direction:column;gap:5px}
.arrow-tracking-controls input,.arrow-tracking-controls select,.free-arrow-tracking-live select{border:1px solid #c9d6df;border-radius:9px;background:#fff;padding:8px 9px;min-height:36px;color:#344b5c}
.arrow-tracking-status{display:flex;flex-direction:column;justify-content:center;min-height:36px;padding:6px 10px;border-radius:9px;background:#fff;border:1px solid #dbe5eb}
.arrow-tracking-status span{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.arrow-tracking-status strong{font-size:14px;color:var(--navy)}
.arrow-tracking-info{align-self:center;color:#667a89;font-size:11.5px;line-height:1.4}
.quick-score-sequence span{display:inline-flex;align-items:center;gap:4px}
.quick-score-sequence span small{font-size:9px;font-weight:900;color:#5b7488;background:#eef4f7;border-radius:999px;padding:1px 4px}
.free-arrow-tracking-setup{margin:14px 0 0}
.free-arrow-tracking-live{display:grid;grid-template-columns:minmax(170px,1fr) minmax(130px,190px) minmax(180px,1.4fr);gap:14px;align-items:center;margin:12px 0}
.free-arrow-tracking-live>div{display:flex;flex-direction:column;gap:2px}
.free-arrow-tracking-live>div>span{font-size:10px;font-weight:900;letter-spacing:.07em;color:#617b8e}
.free-arrow-tracking-live>div>b{font-size:13px;color:var(--navy)}
.free-arrow-tracking-live>div>small,.free-arrow-auto-note{font-size:11px;color:var(--muted);line-height:1.35}
.free-arrow-auto-note{align-self:center}
@media(max-width:800px){
 .arrow-tracking-controls{grid-template-columns:1fr 1fr}
 .free-arrow-tracking-live{grid-template-columns:1fr 1fr}.free-arrow-auto-note{grid-column:1/-1}
}
@media(max-width:520px){
 .arrow-tracking-controls,.free-arrow-tracking-live{grid-template-columns:1fr}
 .free-arrow-auto-note{grid-column:auto}
}

/* ================================================================
   v1.73 - DIARIO INTERVENTI
   ================================================================ */
.diary-note-box{
  margin-top:12px;padding:12px 13px;border:1px solid #dce5eb;border-radius:12px;background:#f8fafc;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,260px);gap:12px;align-items:center
}
.diary-note-box.active{background:#fffaf3;border-color:#e8cfb4}
.diary-note-toggle{display:flex;align-items:flex-start;gap:10px;cursor:pointer;color:#405767}
.diary-note-toggle input{margin-top:3px;accent-color:#17385f}
.diary-note-toggle span{display:flex;flex-direction:column;gap:3px}
.diary-note-toggle b{font-size:11px;letter-spacing:.055em;color:var(--navy)}
.diary-note-toggle small{font-size:11.5px;line-height:1.4;color:var(--muted)}
.diary-note-category label{display:block;font-size:11px;font-weight:800;color:#657887;margin-bottom:5px}
.diary-note-category select{width:100%;border:1px solid #ccd8e1;border-radius:9px;padding:9px 10px;background:#fff;color:#3e5262}
.diary-note-box:not(.active) .diary-note-category{opacity:.55}

.intervention-diary{margin:16px 0}
.intervention-diary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:13px}
.intervention-diary-head>div:first-child>span{font-size:10.5px;font-weight:900;letter-spacing:.08em;color:#8a6c4d}
.intervention-diary-head h3{margin:4px 0 5px;color:var(--navy);font-size:18px}
.intervention-diary-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.45;max-width:800px}
.diary-total{min-width:74px;border:1px solid #eadac8;border-radius:12px;background:#fff8ef;padding:9px 12px;text-align:center}
.diary-total strong{display:block;color:#8c5f31;font-size:22px;line-height:1}
.diary-total span{display:block;margin-top:4px;color:#8a7765;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em}
.diary-summary-chips{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 13px}
.diary-summary-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #dde5eb;background:#f8fafb;border-radius:999px;padding:5px 9px;font-size:11px;color:#607482}
.diary-summary-chip b{color:var(--navy)}
.diary-summary-chip.equipment,.diary-category-badge.equipment{background:#eef5fb;border-color:#caddea;color:#365b79}
.diary-summary-chip.maintenance,.diary-category-badge.maintenance{background:#f3f7ed;border-color:#d7e3c9;color:#587243}
.diary-summary-chip.athlete,.diary-category-badge.athlete{background:#fff4ef;border-color:#ecd6c9;color:#8b5b43}
.diary-summary-chip.coach,.diary-category-badge.coach{background:#f4f0f8;border-color:#ddd1e7;color:#6e5682}
.diary-summary-chip.other,.diary-category-badge.other{background:#f6f7f8;border-color:#dfe3e6;color:#66727c}
.diary-filters{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(135px,.8fr) minmax(135px,.8fr) minmax(230px,1.4fr) auto;gap:10px;align-items:end;margin-bottom:11px}
.diary-filters .field select,.diary-filters .field input{width:100%;border:1px solid #cad6df;border-radius:9px;padding:9px 10px;background:#fff}
.diary-marker-toggle{min-height:58px;border:1px solid #d9e2e8;border-radius:10px;background:#f8fafc;padding:9px 10px;display:flex;align-items:flex-start;gap:8px;cursor:pointer}
.diary-marker-toggle input{margin-top:3px;accent-color:#a36e38}
.diary-marker-toggle span{display:flex;flex-direction:column;gap:2px}
.diary-marker-toggle b{font-size:10.5px;letter-spacing:.04em;color:var(--navy)}
.diary-marker-toggle small{font-size:11px;line-height:1.3;color:var(--muted)}
.diary-source-note{border:1px solid #e5e9ed;border-radius:10px;background:#fbfcfd;padding:9px 11px;color:#647583;font-size:11.5px;line-height:1.45;margin-bottom:12px}
.diary-source-note b{color:#4b6070}
.diary-timeline{display:grid;gap:8px;max-height:560px;overflow:auto;padding-right:2px}
.diary-entry{display:grid;grid-template-columns:145px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e2e8ed;border-left-width:3px;border-radius:11px;padding:11px 12px;background:#fff}
.diary-entry.diary-equipment{border-left-color:#799fbe}.diary-entry.diary-maintenance{border-left-color:#8ca86e}.diary-entry.diary-athlete{border-left-color:#c08b6f}.diary-entry.diary-coach{border-left-color:#947aac}.diary-entry.diary-other{border-left-color:#99a4ad}
.diary-entry-date{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.diary-entry-date strong{font-size:12px;color:#425766}
.diary-category-badge{border:1px solid #dde5eb;border-radius:999px;padding:3px 7px;font-size:9.5px;font-weight:900;letter-spacing:.04em}
.diary-entry-main b{display:block;color:var(--navy);font-size:12.5px;margin-bottom:3px}
.diary-entry-main p{margin:0;color:#536775;font-size:12px;line-height:1.45;white-space:pre-wrap}
.diary-entry-main small{display:block;margin-top:5px;color:#84919a;font-size:10.5px}
.diary-empty{padding:24px;text-align:center;border:1px dashed #d8e1e7;border-radius:11px;background:#fafcfd;color:#73828d}
.diary-empty b{display:block;color:#526572;margin-bottom:4px}
.diary-empty span{font-size:11.5px}
.diary-marker-legend:before{content:"";display:inline-block;width:12px;height:0;border-top:2px dashed #b68b61;margin-right:6px;vertical-align:3px}
.diary-marker-legend.muted{opacity:.35;text-decoration:line-through}

@media(max-width:1000px){
  .diary-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .diary-filters .diary-marker-toggle{grid-column:span 2}
  .diary-entry{grid-template-columns:125px minmax(0,1fr)}
  .diary-open-session{grid-column:2;justify-self:start}
}
@media(max-width:650px){
  .diary-note-box{grid-template-columns:1fr}
  .intervention-diary-head{align-items:stretch}
  .diary-total{min-width:62px}
  .diary-filters{grid-template-columns:1fr}
  .diary-filters .diary-marker-toggle{grid-column:auto}
  .diary-entry{grid-template-columns:1fr;gap:7px}
  .diary-entry-date{flex-direction:row;align-items:center;justify-content:space-between}
  .diary-open-session{grid-column:auto;justify-self:start}
  .diary-timeline{max-height:none}
}


/* ================================================================
   v1.74 - Programmi: accesso diretto alle Giornate
   ================================================================ */
.program-select-main b{
  transition:color .15s ease,text-decoration-color .15s ease;
  text-decoration:underline;
  text-decoration-color:transparent;
  text-underline-offset:3px;
}
.program-select-main:hover b{
  color:#244e70;
  text-decoration-color:#8ca9bd;
}
.row-icon-btn.view{color:#527a95}
.row-icon-btn.view:hover{background:#eaf3f8;color:#244e70}
.row-icon-btn.view:focus-visible,.row-icon-btn.edit:focus-visible,.row-icon-btn.delete:focus-visible,.program-select-main:focus-visible{
  outline:2px solid #6f96b2;
  outline-offset:2px;
}

/* ================================================================
   v1.75 - Menu guidati Obiettivo / Focus / Criterio
   ================================================================ */
.technical-taxonomy-badge{
  display:inline-flex;align-items:center;gap:7px;margin:0 0 10px;padding:6px 9px;
  border:1px solid #cfdde7;border-radius:999px;background:#f4f8fb;color:#597286;
  font-size:10px;font-weight:900;letter-spacing:.08em
}
.taxonomy-grid{align-items:start}
.taxonomy-field select,
.taxonomy-field input{
  width:100%;border:1px solid #c9d6e0;border-radius:10px;background:#fff;color:#2d4558;
  padding:10px 11px;outline:none
}
.taxonomy-field select:focus,
.taxonomy-field input:focus{border-color:#6e95b8;box-shadow:0 0 0 3px rgba(86,132,174,.12)}
.taxonomy-field select{min-height:44px;cursor:pointer}
.taxonomy-field .session-taxonomy-other{margin-top:8px;background:#fffaf4;border-color:#e7c9a7}
.taxonomy-field .session-taxonomy-other.is-hidden{display:none}
.taxonomy-help{display:block;margin-top:6px;color:#738493;font-size:10.5px;line-height:1.4}
.taxonomy-field optgroup{font-weight:800;color:#304e65}
.taxonomy-field option{font-weight:400;color:#2f4658}
@media(max-width:850px){
  .technical-goal-grid.taxonomy-grid{grid-template-columns:1fr}
  .taxonomy-field select,.taxonomy-field input{font-size:16px}
}

/* ================================================================
   v1.76 - SESSIONE GUIDATA / PROGRESSIVE DISCLOSURE
   ================================================================ */
.guided-panel-head{
  grid-column:1/-1;display:flex;flex-direction:column;gap:3px;margin:0 0 8px;
  padding:12px 14px;border:1px solid #d8e4ec;border-radius:12px;background:#f7fafc
}
.guided-panel-head span{font-size:10.5px;font-weight:900;letter-spacing:.09em;color:#60798b}
.guided-panel-head b{font-size:15px;color:var(--navy)}
.guided-panel-head small{font-size:11.5px;line-height:1.4;color:var(--muted)}
.guided-checkin-grid{align-items:start}
.guided-field{grid-column:auto}
.guided-choice-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}
.guided-choice{
  border:1px solid #d2dde5;background:#fff;color:#52697a;border-radius:999px;padding:8px 11px;
  font-size:11.5px;font-weight:800;cursor:pointer;transition:.15s ease
}
.guided-choice:hover{background:#f3f7fa;border-color:#aebfcc;color:var(--navy)}
.guided-choice.selected{background:#eaf3fa;border-color:#789bbb;color:var(--navy);box-shadow:inset 0 0 0 1px #789bbb22}
.pain-presence-field .guided-choice.selected[data-guided-value="yes"]{background:#fff2e7;border-color:#e2aa75;color:#774617}
.conditional-panel{grid-column:1/-1;border:1px solid #d9e4eb;border-radius:13px;background:#fbfdfe;padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.conditional-panel .wide{grid-column:1/-1}
.pain-detail-panel{border-left:3px solid #d89a60}
.error-cause-panel{border-left:3px solid #789bbb}
.guided-more{grid-column:1/-1;margin-top:8px;border:1px dashed #d8e1e7;border-radius:11px;background:#fcfdfe}
.guided-more>summary{cursor:pointer;list-style:none;padding:10px 12px;font-size:10.5px;font-weight:900;letter-spacing:.07em;color:#647a8a}
.guided-more>summary::-webkit-details-marker{display:none}
.guided-more>.detail-grid{padding:0 12px 12px}
.section-checkin>summary{background:#f5faf7}
.section-endcheck>summary{background:#f8f6fb}
.section-weather>summary{background:#f4f9fb}
.equipment-guided-box{margin-top:14px;padding-top:14px;border-top:1px solid #e3e9ed}
.equipment-guided-box select{width:100%;border:1px solid #cad5df;border-radius:10px;padding:10px 11px;background:#fff}
.exercise-tech-verification{margin-top:10px;border:1px dashed #d6e1e8;border-radius:10px;background:#fbfdfe}
.exercise-tech-verification>summary{padding:10px 12px;cursor:pointer;list-style:none;color:#557086}
.exercise-tech-verification>summary::-webkit-details-marker{display:none}
.exercise-tech-verification>summary span{font-size:11px;font-weight:900;letter-spacing:.06em}
.exercise-tech-verification>summary small{display:block;margin-top:2px;color:var(--muted);font-size:10.5px}
.free-purpose-card{border-color:#cfdde8;background:#fbfdff}
.free-purpose-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.free-purpose-choice{border:1px solid #d5e0e8;border-radius:13px;background:#fff;padding:13px 11px;text-align:left;cursor:pointer;min-height:92px;display:flex;flex-direction:column;gap:5px;transition:.15s ease}
.free-purpose-choice b{font-size:11.5px;color:var(--navy)}
.free-purpose-choice small{font-size:10.5px;line-height:1.35;color:var(--muted)}
.free-purpose-choice:hover{border-color:#9fb5c6;background:#f7fafc}
.free-purpose-choice.selected{border-color:#e0a060;background:#fff2df;box-shadow:inset 3px 0 0 #df9952}
@media(max-width:1050px){.free-purpose-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){
 .guided-choice-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .guided-choice{border-radius:10px;padding:9px 8px;text-align:center}
 .conditional-panel{grid-template-columns:1fr}
 .free-purpose-grid{grid-template-columns:1fr 1fr}
 .free-purpose-choice{min-height:82px}
}
.free-opponent-card.purpose-hidden{display:none}


/* ================================================================
   v1.77 - Consuntivo collegato + ambiente indoor/outdoor contestuale
   ================================================================ */
.actual-arrows-field .inline-arrow-status{
  margin-top:7px;
  min-height:34px;
  padding:6px 9px;
  border-radius:9px;
}
.actual-arrows-field .inline-arrow-status strong{
  font-size:10.8px;
  line-height:1.25;
}
.actual-arrows-field .inline-arrow-status small{
  font-size:10.5px;
  line-height:1.25;
}
.environment-mode-row{
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(240px,1.28fr);
  gap:12px;
  align-items:stretch;
  margin-bottom:13px;
}
.environment-mode-row .detail-field{margin:0}
.environment-mode-summary{
  border:1px solid #d8e2e9;
  border-radius:12px;
  padding:10px 12px;
  background:#f7fafc;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:68px;
}
.environment-mode-summary span{
  font-size:9.5px;
  font-weight:900;
  letter-spacing:.09em;
  color:#718493;
}
.environment-mode-summary strong{
  margin-top:2px;
  color:var(--navy);
  font-size:14px;
}
.environment-mode-summary small{
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
  line-height:1.3;
}
.environment-mode-summary.indoor{background:#f3f7fb;border-color:#cddce8}
.environment-mode-summary.outdoor{background:#f5f9f2;border-color:#d2dfca}
.environment-mode-field select{min-height:44px}
.environment-fields{margin-top:0}
@media(max-width:650px){
  .environment-mode-row{grid-template-columns:1fr;gap:8px}
  .environment-mode-summary{min-height:0}
}

/* ================================================================
   v1.78 - PULIZIA UX: check-in, ambiente, storico tecnico
   ================================================================ */

/* Check-in rapido: i pulsanti fanno parte di un unico blocco visivo */
.checkin-quick-panel{
  margin-top:12px;
  border:1px solid #d8e3ea;
  border-radius:14px;
  background:linear-gradient(180deg,#fbfdff 0%,#f7fafc 100%);
  padding:13px;
}
.checkin-quick-heading{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  padding:0 2px 10px;
  border-bottom:1px solid #e5ebef;
  margin-bottom:11px;
}
.checkin-quick-heading span{
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.08em;
  color:#5c7588;
}
.checkin-quick-heading small{font-size:11px;color:var(--muted)}
.guided-checkin-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
}
.guided-checkin-grid>.guided-field{
  grid-column:auto;
  border:1px solid #e0e8ee;
  background:#fff;
  border-radius:11px;
  padding:10px 11px;
}
.guided-checkin-grid>.pain-presence-field{grid-column:1/-1}
.guided-checkin-grid>.conditional-panel{grid-column:1/-1}
.guided-checkin-grid .guided-choice-row{margin-top:7px}

/* Recupero avanzato: pannello espandibile riconoscibile e coerente */
.recovery-advanced-panel{
  margin-top:12px;
  border:1px solid #d7e2e9;
  border-radius:13px;
  background:#fbfdfe;
  overflow:visible;
}
.recovery-advanced-panel>summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  gap:10px;
  padding:11px 13px;
}
.recovery-advanced-panel>summary::-webkit-details-marker{display:none}
.recovery-advanced-panel>summary>span:first-child{display:flex;flex-direction:column;gap:2px}
.recovery-advanced-panel>summary b{font-size:10.8px;letter-spacing:.07em;color:#5e7485}
.recovery-advanced-panel>summary small{font-size:10.8px;color:var(--muted);line-height:1.35}
.recovery-summary-status{
  border:1px solid #d4e0e8;
  border-radius:999px;
  padding:5px 8px;
  background:#fff;
  font-size:10px;
  font-weight:800;
  color:#647a8a;
  white-space:nowrap;
}
.recovery-advanced-panel[open]{background:#fff;box-shadow:0 4px 14px rgba(23,56,95,.05)}
.recovery-advanced-panel[open] .summary-chevron{transform:rotate(180deg)}
.recovery-advanced-body{border-top:1px solid #e1e8ed;padding:13px}

/* Ambiente: griglia stabile, due colonne e fattori in card */
.environment-layout-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin:2px 0 9px;
  padding:0 2px;
}
.environment-layout-head span{font-size:10.5px;font-weight:900;letter-spacing:.08em;color:#60788a}
.environment-layout-head small{font-size:10.8px;color:var(--muted)}
.environment-fields{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
  align-items:start;
}
.environment-fields>.detail-field,
.environment-fields>.guided-field{
  grid-column:auto;
}
.environment-factor-card{
  border:1px solid #dee7ed;
  border-radius:12px;
  background:#fbfdfe;
  padding:11px 12px;
  min-height:88px;
}
.environment-factor-card.detail-field label{margin-bottom:8px}
.environment-factor-card .guided-choice-row{margin-top:8px}
.environment-wide-factor{grid-column:1/-1!important;min-height:0}
.environment-precise{grid-column:1/-1!important;margin-top:2px}
.environment-precise>summary{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
}
.environment-precise>summary span{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%}
.environment-precise>summary b{font-size:10.5px;color:#5f7788}
.environment-precise>summary small{font-size:10.5px;font-weight:500;letter-spacing:normal;color:var(--muted)}

/* Storico tecnico: ordine logico cosa è successo -> intervento -> valutazione */
.section-history .inline-help-wrap{vertical-align:middle}
.section-history .help-dot{width:18px;height:18px;flex-basis:18px;font-size:11px}
.section-history .help-bubble{width:min(330px,72vw)}
.history-step-card{
  border:1px solid #e0e4ec;
  border-radius:13px;
  background:#fcfcfe;
  padding:13px;
  margin-top:11px;
}
.history-step-head{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}
.history-step-head>span{font-size:9.8px;font-weight:900;letter-spacing:.09em;color:#6e68a0}
.history-step-head>b{font-size:13px;color:var(--navy)}
.history-step-head>small{font-size:10.8px;line-height:1.4;color:var(--muted)}
.history-event-card{border-left:4px solid #91a8bc}
.history-coach-card{border-left:4px solid #776db2}
.history-assessment-card{border-left:4px solid #8eae83}
.history-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.history-two-col>.detail-field{min-width:0}
.history-two-col>.detail-field.wide{grid-column:auto}
.coach-cue-grid>.detail-field:first-child textarea{min-height:88px}
.history-empty-state,.history-context-hint{
  border:1px dashed #d8e0e7;
  border-radius:10px;
  background:#fff;
  padding:10px 11px;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.history-empty-state b,.history-context-hint b{font-size:11px;color:#536b7c}
.history-empty-state span,.history-context-hint span{font-size:10.5px;line-height:1.4;color:var(--muted)}
.history-assessment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.history-assessment-grid>.detail-field.wide{grid-column:auto}
.section-history .equipment-guided-box{
  margin-top:13px;
  padding:13px;
  border:1px solid #e0e6eb;
  border-radius:13px;
  background:#fbfcfd;
}

@media(max-width:900px){
  .guided-checkin-grid,.environment-fields,.history-two-col,.history-assessment-grid{grid-template-columns:1fr}
  .guided-checkin-grid>.pain-presence-field,.environment-wide-factor{grid-column:1!important}
}
@media(max-width:650px){
  .checkin-quick-panel{padding:10px}
  .checkin-quick-heading,.environment-layout-head{align-items:flex-start;flex-direction:column;gap:3px}
  .recovery-advanced-panel>summary{grid-template-columns:1fr auto;gap:7px}
  .recovery-advanced-panel>summary .summary-chevron{display:none}
  .recovery-summary-status{font-size:9.5px}
  .environment-factor-card{min-height:0}
  .history-step-card{padding:11px}
}


/* ================================================================
   v1.79 - UX valutazione/contesto + intervento attrezzatura
   ================================================================ */
.history-assessment-card{
  display:flex;
  flex-direction:column;
  gap:11px;
}
.history-assessment-card>.history-step-head{margin-bottom:0}
.assessment-subpanel{
  border:1px solid #e2e8ec;
  border-radius:12px;
  background:#fff;
  padding:12px;
}
.assessment-subhead{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:14px;
  margin-bottom:11px;
  padding-bottom:8px;
  border-bottom:1px solid #edf1f4;
}
.assessment-subhead>span{
  font-size:10px;
  font-weight:900;
  letter-spacing:.075em;
  color:#61798a;
}
.assessment-subhead>small{
  font-size:10.5px;
  line-height:1.35;
  color:var(--muted);
  text-align:right;
}
.assessment-two-col{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
.assessment-two-col>.detail-field,
.assessment-two-col>.detail-field.wide,
.assessment-two-col>.scale-field{
  grid-column:auto;
  min-width:0;
}
.assessment-warmup-row{
  max-width:360px;
  margin-bottom:12px;
}
.assessment-warmup-row>.detail-field{min-width:0}
.assessment-scale-pair{align-items:stretch}
.assessment-setup-grid>.detail-field{min-width:0}
.optional-presence-badge{
  display:inline-flex;
  align-items:center;
  margin-left:6px;
  padding:2px 6px;
  border-radius:999px;
  border:1px solid #d6dee5;
  background:#f5f8fa;
  color:#718392;
  font-size:8.8px;
  font-weight:900;
  letter-spacing:.055em;
  vertical-align:2px;
  white-space:nowrap;
}
.section-history .equipment-guided-box .guided-panel-head b{
  font-size:14px;
}
.section-history .equipment-guided-box .guided-panel-head small{
  max-width:900px;
}
@media(max-width:1050px){
  .assessment-two-col{grid-template-columns:1fr}
  .assessment-warmup-row{max-width:none}
  .assessment-subhead{align-items:flex-start;flex-direction:column;gap:3px}
  .assessment-subhead>small{text-align:left}
}


/* ================================================================
   v1.80 - programma personalizzato + modello dose esercizi
   ================================================================ */
.program-type-grid.three-types{grid-template-columns:repeat(3,minmax(0,1fr))}
.custom-program-info{margin:14px 0;border:1px solid #d3e0ea;border-radius:13px;background:#f5f9fc;padding:13px 15px;color:#536b7c}
.custom-program-info b{display:block;color:var(--navy);font-size:12px;letter-spacing:.07em;margin-bottom:4px}.custom-program-info p{margin:0;font-size:12px;line-height:1.5}
.custom-program-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #caddea;background:#f1f7fb;border-radius:15px;padding:16px 18px;margin:16px 0}.custom-program-banner span{font-size:10.5px;font-weight:900;letter-spacing:.08em;color:#607f94}.custom-program-banner h3{margin:4px 0;color:var(--navy)}.custom-program-banner p{margin:0;color:#607383;font-size:12.5px}
.custom-session-help{display:flex;gap:14px;align-items:center;border:1px solid #d7e2e9;border-radius:12px;background:#f6f9fb;padding:12px 14px;margin-bottom:14px}.custom-session-help b{color:var(--navy);font-size:11px;letter-spacing:.07em}.custom-session-help span{font-size:12px;color:#607383}
.custom-session-builder{display:grid;gap:12px}.custom-session-card{display:grid;grid-template-columns:74px 1fr auto;gap:14px;align-items:center;border:1px solid #d4dfe7;border-radius:15px;background:#fff;padding:14px 15px;box-shadow:0 4px 14px rgba(23,56,95,.04)}.custom-session-index{display:flex;flex-direction:column;align-items:center;color:#718595}.custom-session-index span{font-size:9.5px;font-weight:900;letter-spacing:.08em}.custom-session-index strong{font-size:25px;color:var(--navy)}.custom-session-fields{display:grid;grid-template-columns:1.5fr 1fr .75fr auto;gap:10px;align-items:end}.custom-session-estimate{padding:8px 10px;border-radius:10px;background:#f4f7f9;min-width:100px}.custom-session-estimate span{display:block;font-size:9.5px;color:#71808d}.custom-session-estimate b{color:var(--navy)}.custom-session-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.exercise-dose-grid{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(130px,1fr) minmax(120px,1fr);gap:9px}.exercise-dose-summary{display:block;margin-top:5px;color:#6b7d8c}.exercise-model-note{display:flex;gap:14px;align-items:center;margin-bottom:16px;background:#f2f8fb}.exercise-model-note b{font-size:11px;letter-spacing:.07em;color:var(--navy)}.exercise-model-note span{font-size:12px;color:#607383}.exercise-library-item.rich .exercise-card-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:7px}.exercise-card-meta small{color:#647786}
@media(max-width:1050px){.program-type-grid.three-types{grid-template-columns:1fr}.custom-session-card{grid-template-columns:55px 1fr}.custom-session-actions{grid-column:2}.custom-session-fields{grid-template-columns:1fr 1fr}.exercise-dose-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.custom-program-banner{display:block}.custom-program-banner .btn{margin-top:10px;width:100%}.custom-session-card{display:block}.custom-session-index{flex-direction:row;justify-content:flex-start;gap:6px;margin-bottom:8px}.custom-session-fields{grid-template-columns:1fr}.custom-session-actions{margin-top:10px}.custom-session-actions .btn{flex:1}.exercise-dose-grid{grid-template-columns:1fr}.exercise-model-note{display:block}.exercise-model-note b{display:block;margin-bottom:4px}}


/* ================================================================
   v1.81 - Libreria M.A.C. iniziale
   ================================================================ */
.library-principles{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:14px;background:#f3f8fb}.library-principles>div>span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#617d92}.library-principles h3{margin:4px 0;color:var(--navy)}.library-principles p{margin:0;color:#617483;font-size:12px;line-height:1.5}.library-count{text-align:center;min-width:105px;padding:9px 12px;border-radius:12px;background:#fff;border:1px solid #d7e2e9}.library-count strong{display:block;font-size:24px;color:var(--navy)}.library-count span{font-size:10.5px;color:#71808c}
.library-filterbar{display:grid;grid-template-columns:200px 260px 1fr;gap:12px;align-items:end;margin-bottom:14px;padding:12px 14px}.library-filter-note{align-self:center;font-size:11.5px;color:#6b7d8a}.library-layout{grid-template-columns:1.25fr .75fr}.exercise-knowledge-card{display:block!important;padding:0!important;overflow:hidden}.exercise-knowledge-head{display:flex;justify-content:space-between;gap:12px;padding:14px}.exercise-knowledge-head>div>span{display:block;font-size:9.5px;font-weight:900;letter-spacing:.07em;color:#6e8291}.exercise-knowledge-head b{display:block;margin:3px 0;color:var(--navy);font-size:14px}.exercise-knowledge-head p{margin:0;color:#657786;font-size:11.8px;line-height:1.45}.exercise-knowledge-meta{display:flex;gap:7px;flex-wrap:wrap;padding:0 14px 12px}.exercise-knowledge-meta span{border:1px solid #d9e3ea;background:#f5f8fa;border-radius:999px;padding:5px 8px;font-size:10.5px;color:#617584}.exercise-knowledge-meta b{margin-right:5px;color:#405d72;font-size:9px;letter-spacing:.05em}.exercise-knowledge-details{border-top:1px solid #e2e8ed}.exercise-knowledge-details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;padding:9px 14px;font-size:10.5px;font-weight:900;color:#536f84;background:#fafcfd}.exercise-knowledge-body{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;background:#fff}.exercise-knowledge-body section{border:1px solid #e1e7ec;border-radius:10px;padding:10px}.exercise-knowledge-body section.wide{grid-column:1/-1}.exercise-knowledge-body h4{margin:0 0 5px;font-size:10px;letter-spacing:.06em;color:#5c7588;text-transform:uppercase}.exercise-knowledge-body p,.exercise-knowledge-body li{font-size:11.5px;line-height:1.5;color:#506575}.exercise-knowledge-body ul{margin:5px 0 0;padding-left:18px}.exercise-source a{font-size:11px}.exercise-guidance{margin:0 14px 12px;border:1px solid #d7e3ea;border-radius:10px;background:#f8fbfd}.exercise-guidance summary{cursor:pointer;display:flex;justify-content:space-between;gap:10px;padding:8px 10px;color:#526f83;font-size:10.5px;font-weight:900}.exercise-guidance summary small{font-weight:600;color:#71818e}.exercise-guidance-body{border-top:1px solid #e1e8ed;padding:10px}.exercise-guidance-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.exercise-guidance-grid>div{background:#fff;border:1px solid #e2e8ed;border-radius:9px;padding:8px}.exercise-guidance-grid .wide{grid-column:1/-1}.exercise-guidance-grid span{display:block;font-size:9px;font-weight:900;letter-spacing:.07em;color:#627e91}.exercise-guidance-grid p,.exercise-guidance-grid li{font-size:11px;line-height:1.45;color:#536878}.exercise-guidance-grid ul{margin:5px 0 0;padding-left:16px}
@media(max-width:1050px){.library-layout{grid-template-columns:1fr}.library-filterbar{grid-template-columns:1fr 1fr}.library-filter-note{grid-column:1/-1}}
@media(max-width:650px){.library-principles{display:block}.library-count{margin-top:10px}.library-filterbar{grid-template-columns:1fr}.library-filter-note{grid-column:auto}.exercise-knowledge-body,.exercise-guidance-grid{grid-template-columns:1fr}.exercise-knowledge-body section.wide,.exercise-guidance-grid .wide{grid-column:auto}}

/* ================================================================
   v1.81.1 - Libreria M.A.C. strutturata
   ricerca, categorie, preferiti, schede, editor proprietario, media
   ================================================================ */
.library-owner-banner{display:flex;gap:14px;align-items:flex-start;margin:0 0 14px;padding:12px 14px;border:1px solid #d9c8ab;border-radius:13px;background:#fff8ed;color:#5e5140}.library-owner-banner b{font-size:11px;letter-spacing:.07em;color:#775f3f;white-space:nowrap}.library-owner-banner span{font-size:11.5px;line-height:1.45}.library-search-panel{display:grid;grid-template-columns:minmax(260px,1.6fr) 180px 210px 230px auto;gap:10px;align-items:end;margin-bottom:10px;padding:13px}.library-search-main label{display:block;font-size:11px;font-weight:800;color:#536b7e;margin-bottom:6px}.library-search-main input{width:100%;border:1px solid #cad7e0;border-radius:10px;padding:10px 11px;background:#fff}.library-favorite-filter{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:1px solid #dce4ea;border-radius:10px;background:#fafcfd;padding:8px 10px;cursor:pointer}.library-favorite-filter input{accent-color:#d59a4b}.library-favorite-filter span{font-size:10.5px;font-weight:900;color:#62788a}.library-quick-groups{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}.library-quick-groups button{border:1px solid #dbe4ea;background:#f7fafc;color:#5b7183;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;cursor:pointer}.library-quick-groups button:hover{background:#edf4f8;border-color:#c7d6e0}.library-section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:10px}.library-section-head>span{font-size:10.5px;font-weight:900;color:#6f8494;background:#f1f5f8;border-radius:999px;padding:5px 8px}.exercise-mini-tags{display:flex;flex-wrap:wrap;gap:5px;padding:0 14px 10px}.exercise-mini-tags span,.exercise-sheet-tags span{display:inline-flex;border:1px solid #dce5eb;background:#f6f9fb;border-radius:999px;padding:4px 7px;font-size:9.5px;font-weight:700;color:#607587}.exercise-card-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px 14px 13px;border-top:1px solid #edf1f4;background:#fbfcfd}.exercise-favorite-btn{width:32px;height:32px;border:1px solid #dce5eb;border-radius:9px;background:#fff;color:#b7c0c7;font-size:18px;cursor:pointer;flex:0 0 auto}.exercise-favorite-btn:hover,.exercise-favorite-btn.on{color:#d2963d;background:#fff8e9;border-color:#ecd6af}.exercise-select-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center}.exercise-select-row label small{font-size:9.5px;font-weight:600;color:#80909b;margin-left:4px}.exercise-select-actions select{min-width:0}

.exercise-library-modal{position:fixed;inset:0;z-index:120;background:rgba(16,31,45,.52);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px}.exercise-library-dialog{width:min(1040px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;border:1px solid #d8e2e9;box-shadow:0 28px 80px rgba(8,30,47,.28)}.exercise-modal-toolbar{position:sticky;top:0;z-index:3;display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;background:rgba(250,252,253,.96);border-bottom:1px solid #e1e8ed;backdrop-filter:blur(8px)}.exercise-sheet-dialog{padding-bottom:18px}.exercise-sheet-head{display:flex;justify-content:space-between;gap:20px;padding:22px 24px 10px}.exercise-sheet-head>div>span{font-size:10px;font-weight:900;letter-spacing:.09em;color:#698092}.exercise-sheet-head h2{margin:4px 0 5px;color:var(--navy);font-size:26px}.exercise-sheet-head p{margin:0;color:#637786;line-height:1.5}.exercise-sheet-tags{display:flex;flex-wrap:wrap;gap:6px;padding:0 24px 13px}.exercise-sheet-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 24px 16px}.exercise-sheet-meta span{border:1px solid #dce5eb;border-radius:10px;background:#f7fafc;padding:9px 10px;font-size:11px;color:#5c7080}.exercise-sheet-meta b{display:block;margin-bottom:3px;font-size:9px;letter-spacing:.07em;color:#718795;text-transform:uppercase}.exercise-sheet-media{margin:0 24px 14px;padding:14px;border:1px solid #dce5eb;border-radius:13px;background:#fbfcfd}.exercise-sheet-media h3,.exercise-sheet-grid h3{margin:0 0 7px;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#5f788a}.exercise-media-empty{display:flex;gap:14px;align-items:center}.exercise-media-placeholder{width:120px;height:82px;border:1px dashed #bfcdd7;border-radius:10px;background:linear-gradient(135deg,#f8fbfd,#eef4f7);display:grid;place-items:center;font-size:9px;font-weight:900;letter-spacing:.08em;color:#899ba8}.exercise-media-empty b{display:block;color:#4f6678;font-size:12px}.exercise-media-empty p{margin:4px 0 0;color:#71818e;font-size:11px;line-height:1.4}.exercise-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.exercise-media-grid figure{margin:0;border:1px solid #e0e7ec;border-radius:10px;overflow:hidden;background:#fff}.exercise-media-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#f7fafc}.exercise-media-grid figcaption{padding:7px 9px;font-size:10.5px;color:#627686}.exercise-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 24px}.exercise-sheet-grid section{border:1px solid #e1e8ed;border-radius:11px;padding:11px;background:#fff}.exercise-sheet-grid section.wide{grid-column:1/-1}.exercise-sheet-grid p,.exercise-sheet-grid li{font-size:12px;line-height:1.55;color:#506676}.exercise-sheet-grid ul{margin:5px 0 0;padding-left:18px}

.exercise-picker-dialog{padding-bottom:15px}.exercise-picker-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:19px 20px 12px;border-bottom:1px solid #e2e8ed}.exercise-picker-head span{font-size:9.5px;font-weight:900;letter-spacing:.09em;color:#718694}.exercise-picker-head h2{margin:3px 0 4px;color:var(--navy);font-size:20px}.exercise-picker-head p{margin:0;color:#6d7f8c;font-size:11.5px}.exercise-picker-controls{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:1fr 260px;gap:8px;padding:10px 20px;background:#f9fbfc;border-bottom:1px solid #e5ebef}.exercise-picker-controls input,.exercise-picker-controls select{border:1px solid #cad7e0;border-radius:10px;padding:10px 11px;background:#fff}.exercise-picker-suggestions{margin:12px 20px 0;border:1px solid #dbe5eb;border-radius:10px;background:#f3f8fb;padding:8px 10px;font-size:10.5px;color:#657988}.exercise-picker-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px 20px}.exercise-picker-card{display:flex;flex-direction:column;justify-content:space-between;border:1px solid #dde5ea;border-radius:12px;background:#fff;padding:12px}.exercise-picker-card.suggested{border-color:#d6b780;background:#fffaf1}.exercise-picker-card>div>span{font-size:9px;font-weight:900;letter-spacing:.07em;color:#6f8493}.exercise-picker-card b{display:block;color:var(--navy);font-size:13px;margin:3px 0}.exercise-picker-card p{margin:0 0 8px;font-size:11px;line-height:1.45;color:#657987}.exercise-picker-card .exercise-mini-tags{padding:0}.exercise-picker-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:10px}

.exercise-editor-dialog{padding:18px}.exercise-editor-banner{display:flex;gap:12px;align-items:flex-start;border:1px solid #dccaaa;background:#fff8ec;border-radius:11px;padding:10px 12px;margin-bottom:13px}.exercise-editor-banner b{font-size:10px;letter-spacing:.07em;color:#775f3f;white-space:nowrap}.exercise-editor-banner span{font-size:10.5px;line-height:1.4;color:#6d604e}.exercise-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.exercise-editor-grid .wide{grid-column:1/-1}.exercise-editor-actions{margin-top:13px;border-top:1px solid #e3e9ed;padding-top:12px}.exercise-owner-editor textarea{resize:vertical}

@media(max-width:1100px){.library-search-panel{grid-template-columns:1fr 1fr 1fr}.library-search-main{grid-column:1/-1}.library-favorite-filter{min-height:42px}.exercise-sheet-meta{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.exercise-library-modal{padding:7px}.exercise-library-dialog{width:100%;max-height:96vh;border-radius:14px}.exercise-sheet-head{padding:17px 15px 8px}.exercise-sheet-head h2{font-size:21px}.exercise-sheet-tags,.exercise-sheet-meta,.exercise-sheet-grid{padding-left:15px;padding-right:15px}.exercise-sheet-media{margin-left:15px;margin-right:15px}.exercise-sheet-grid,.exercise-editor-grid,.exercise-picker-list,.exercise-media-grid{grid-template-columns:1fr}.exercise-sheet-grid section.wide,.exercise-editor-grid .wide{grid-column:auto}.exercise-picker-controls{grid-template-columns:1fr;padding:9px 12px}.exercise-picker-list{padding:10px 12px}.exercise-picker-head{padding:15px 12px}.exercise-select-actions{grid-template-columns:1fr 1fr}.exercise-select-actions select{grid-column:1/-1}.library-search-panel{grid-template-columns:1fr}.library-search-main{grid-column:auto}.library-owner-banner{display:block}.library-owner-banner b{display:block;margin-bottom:5px}.exercise-sheet-meta{grid-template-columns:1fr}.exercise-media-empty{align-items:flex-start}.exercise-media-placeholder{width:90px;height:70px;flex:0 0 90px}}

/* ================================================================
   v1.81.2 - Libreria: tassonomia controllata + gestione proprietario
   ================================================================ */
.taxonomy-editor-field{grid-column:1/-1}
.taxonomy-picker{border:1px solid #d7e1e8;border-radius:12px;background:#fbfdff;overflow:hidden}
.taxonomy-picker>summary{cursor:pointer;list-style:none;padding:11px 13px;font-size:12px;font-weight:800;color:var(--navy);background:#f4f8fb;border-bottom:1px solid transparent}
.taxonomy-picker[open]>summary{border-bottom-color:#dfe7ec}
.taxonomy-picker>summary::-webkit-details-marker{display:none}
.taxonomy-choice-group{padding:11px 12px;border-top:1px solid #edf1f4}
.taxonomy-choice-group:first-of-type{border-top:0}
.taxonomy-choice-group>b{display:block;margin-bottom:8px;font-size:10px;letter-spacing:.08em;color:#657b8c}
.taxonomy-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.taxonomy-choice{display:grid;grid-template-columns:auto 1fr;gap:7px 8px;align-items:start;border:1px solid #e2e8ed;border-radius:9px;background:#fff;padding:8px 9px;cursor:pointer}
.taxonomy-choice:hover{border-color:#c8d5df;background:#f9fbfd}
.taxonomy-choice input{margin-top:2px}
.taxonomy-choice span{font-size:11.5px;color:#3f5567;line-height:1.35}
.taxonomy-choice small{grid-column:2;font-size:10px;color:#81909d}
.library-owner-taxonomy{margin:12px 0 14px;background:#f8fbfd;border-color:#ccdae4;display:grid;grid-template-columns:1.2fr 1fr;gap:14px;align-items:end}
.owner-taxonomy-eyebrow{display:block;font-size:9.5px;letter-spacing:.09em;font-weight:900;color:#6a8192}
.library-owner-taxonomy h3{margin:4px 0 3px;color:var(--navy);font-size:15px}
.library-owner-taxonomy p{margin:0;color:#687b89;font-size:11.5px;line-height:1.45}
.owner-tag-form{display:flex;gap:8px;align-items:center}
.owner-tag-form input{flex:1;min-width:0;border:1px solid #cfd9e2;border-radius:9px;padding:9px 10px;background:#fff}
.owner-tag-list{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap;padding-top:2px}
.owner-tag-list>span{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #dbe4ea;border-radius:999px;padding:5px 8px 5px 10px;font-size:10.5px;color:#53697a}
.owner-tag-list button{border:0;background:transparent;color:#8a5a5a;font-weight:900;cursor:pointer;padding:0;line-height:1}
.owner-tag-list small{color:#7f8f9b;font-size:11px}
@media(max-width:800px){.taxonomy-choice-grid{grid-template-columns:1fr}.library-owner-taxonomy{grid-template-columns:1fr}.owner-tag-list{grid-column:1}}


/* v1.81.3 - prime illustrazioni M.A.C. integrate nelle schede esercizio */
.exercise-media-grid figure:only-child{grid-column:1/-1}
.exercise-media-grid figure:only-child img{max-height:440px}


/* ================================================================
   v1.81.4 - FIX LIBRERIA + ricerca esplicita
   ================================================================ */
.library-search-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}
.library-search-input-row .btn{min-height:40px;white-space:nowrap}
.library-search-main input{min-height:40px}
@media(max-width:760px){.library-search-input-row{grid-template-columns:1fr 1fr}.library-search-input-row input{grid-column:1/-1}}

/* ================================================================
   v1.81.6 - SCHEDA ESERCIZIO: standard visuale M.A.C. approvato
   ================================================================ */
.exercise-sheet-dialog{width:min(1460px,97vw)!important;background:#f8fbff!important}
.mac-exercise-sheet{padding:16px 18px 20px;color:#113f82;font-size:13px}
.mac-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:8px}
.mac-sheet-title{min-width:0}.mac-sheet-title-line{display:flex;align-items:center;gap:10px}.mac-sheet-title h2{margin:0;color:#093c88;font-size:34px;line-height:1.05;letter-spacing:-.02em}.mac-sheet-title p{margin:5px 0 0;color:#174b91;font-size:16px}.mac-sheet-logo{width:92px;height:64px;object-fit:contain;flex:0 0 auto}
.mac-sheet-meta-row{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:2px 0 7px}.mac-sheet-meta-row>span{display:inline-flex;align-items:center;gap:6px;min-height:35px;padding:6px 12px;border:1px solid #c9ddf5;border-radius:9px;background:#f7fbff;color:#123f83;font-weight:800}.mac-sheet-meta-row svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8}
.mac-sheet-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.mac-sheet-tags span{display:inline-flex;border:1px solid #c9ddf5;border-radius:999px;background:#fff;padding:5px 13px;color:#15458b;font-size:12px}
.mac-sheet-top-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:10px;margin-bottom:10px}.mac-sheet-main-grid{display:grid;grid-template-columns:.72fr 2.28fr;gap:10px;margin-bottom:10px}.mac-sheet-mid-grid{display:grid;grid-template-columns:.9fr 1.35fr 1.35fr;gap:10px;margin-bottom:10px}.mac-sheet-bottom-grid{display:grid;grid-template-columns:.85fr 1.15fr 1.15fr 1.05fr;gap:10px;margin-bottom:10px}
.mac-sheet-panel{border:1px solid #cbdff5;border-radius:10px;background:rgba(255,255,255,.92);padding:11px 13px;box-shadow:0 1px 0 rgba(23,84,153,.03)}.mac-sheet-panel h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;color:#064baf;font-size:14px;font-weight:900}.mac-sheet-panel p,.mac-sheet-panel li{color:#174d92;font-size:12.5px;line-height:1.48}.mac-sheet-panel p{margin:0}.mac-sheet-panel a{color:#0d6de0;font-weight:800;text-decoration:none}
.mac-sheet-icon{width:24px;height:24px;display:grid;place-items:center;flex:0 0 24px}.mac-sheet-icon svg{width:24px;height:24px;fill:none;stroke:#0866d8;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mac-sheet-icon-error svg{stroke:#db1e19}
.mac-step-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.mac-step-list li{display:grid;grid-template-columns:27px 1fr;gap:8px;align-items:start}.mac-step-list li>span{width:25px;height:25px;border-radius:999px;background:#0d6edb;color:#fff;display:grid;place-items:center;font-weight:900}.mac-step-list p{margin:2px 0 0}
.mac-check-list,.mac-error-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.mac-check-list li,.mac-error-list li{position:relative;padding-left:22px}.mac-check-list li:before,.mac-error-list li:before{position:absolute;left:0;top:1px;width:15px;height:15px;border-radius:999px;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900}.mac-check-list li:before{content:'✓';background:#2ba64a}.mac-error-list li:before{content:'×';background:#df1e1a}
.mac-dose{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.mac-dose strong{display:inline-flex;align-items:center;justify-content:center;min-width:145px;min-height:58px;padding:8px 16px;border-radius:9px;background:#e5f1ff;border:1px solid #c5dcf6;color:#073d88;font-size:22px}.mac-dose span{color:#174d92;font-size:12px;max-width:160px}
.mac-visual-gallery{display:grid;gap:7px}.mac-visual-gallery figure{margin:0;border:1px solid #d0e0ef;border-radius:9px;overflow:hidden;background:#fff}.mac-visual-gallery img{display:block;width:100%;height:auto;max-height:270px;object-fit:contain;background:#fff}.mac-visual-gallery figcaption{padding:5px 8px;background:#f7fbff;color:#55728e;font-size:10px}.mac-visual-placeholder{min-height:160px;border:1px dashed #b9cee2;border-radius:9px;background:linear-gradient(180deg,#fbfdff,#eff6fc);display:grid;place-items:center;text-align:center;padding:20px}.mac-visual-placeholder span{font-size:10px;font-weight:900;letter-spacing:.08em}.mac-visual-placeholder b{color:#174d92}.mac-visual-placeholder p{max-width:420px;color:#6b8194;font-size:11px}
.mac-sheet-errors{border-color:#e7c8c6}.mac-sheet-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid #cad8f7;border-radius:10px;background:linear-gradient(90deg,#f1f4ff,#f7f5ff);padding:10px 15px;color:#0742a1}.mac-sheet-footer b{font-style:italic;font-weight:700;font-size:15px}.mac-sheet-footer>span:last-child{text-align:right;font-size:10px;line-height:1.3}.mac-footer-bulb{font-size:26px}
@media(max-width:1050px){.mac-sheet-top-grid,.mac-sheet-mid-grid{grid-template-columns:1fr 1fr}.mac-sheet-top-grid>.mac-sheet-panel:last-child,.mac-sheet-mid-grid>.mac-sheet-panel:last-child{grid-column:1/-1}.mac-sheet-main-grid{grid-template-columns:1fr}.mac-sheet-bottom-grid{grid-template-columns:1fr 1fr}.mac-sheet-title h2{font-size:28px}}
@media(max-width:700px){.mac-exercise-sheet{padding:10px}.mac-sheet-head{align-items:center}.mac-sheet-title h2{font-size:23px}.mac-sheet-title p{font-size:13px}.mac-sheet-logo{width:62px;height:45px}.mac-sheet-top-grid,.mac-sheet-mid-grid,.mac-sheet-bottom-grid{grid-template-columns:1fr}.mac-sheet-top-grid>.mac-sheet-panel:last-child,.mac-sheet-mid-grid>.mac-sheet-panel:last-child{grid-column:auto}.mac-sheet-meta-row{justify-content:flex-start}.mac-sheet-meta-row>span{font-size:10px;padding:5px 8px;min-height:31px}.mac-sheet-tags{justify-content:flex-start}.mac-dose strong{font-size:19px;min-height:50px}.mac-sheet-footer{grid-template-columns:auto 1fr}.mac-sheet-footer>span:last-child{grid-column:1/-1;text-align:left;padding-left:38px}}

/* ================================================================
   v1.81.7 - WORKFLOW GIORNATA: check-in, coerenza, disponibilita, archi
   ================================================================ */

/* Check-in: colori tenui, sempre supportati da testo e stato selected */
.guided-checkin-grid .guided-choice.tone-bad{background:#fff4f2;border-color:#efcec8;color:#8a5148}
.guided-checkin-grid .guided-choice.tone-warn{background:#fff8e9;border-color:#ead8ad;color:#816a34}
.guided-checkin-grid .guided-choice.tone-mid{background:#fffbe9;border-color:#e6ddb3;color:#75672f}
.guided-checkin-grid .guided-choice.tone-good{background:#f2f8ef;border-color:#cfe0c7;color:#55724a}
.guided-checkin-grid .guided-choice.tone-great{background:#eaf6ed;border-color:#bdd9c2;color:#386445}
.guided-checkin-grid .guided-choice.tone-bad.selected{background:#fbe7e3;border-color:#d99f95;box-shadow:inset 0 0 0 1px #d99f9533}
.guided-checkin-grid .guided-choice.tone-warn.selected{background:#fff0cf;border-color:#d7b873;box-shadow:inset 0 0 0 1px #d7b87333}
.guided-checkin-grid .guided-choice.tone-mid.selected{background:#fff4c9;border-color:#d4be69;box-shadow:inset 0 0 0 1px #d4be6933}
.guided-checkin-grid .guided-choice.tone-good.selected{background:#e4f1df;border-color:#9fbe92;box-shadow:inset 0 0 0 1px #9fbe9233}
.guided-checkin-grid .guided-choice.tone-great.selected{background:#dceee1;border-color:#82ad8e;box-shadow:inset 0 0 0 1px #82ad8e33}
.pain-presence-field .guided-choice.selected[data-guided-value="yes"]{background:#fbe7e3;border-color:#d99f95;color:#7d443c}

/* Controllo coerenza obiettivo-focus-criterio */
.session-coherence{grid-column:1/-1;margin-top:12px;border:1px solid #d9e2e8;border-left:4px solid #9aabba;border-radius:12px;background:#f8fafc;padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start}
.session-coherence span{display:block;font-size:9.5px;font-weight:900;letter-spacing:.08em;color:#6d8292}
.session-coherence b{display:block;margin-top:3px;color:var(--navy);font-size:13px}
.session-coherence p{margin:4px 0 0;color:#667987;font-size:11.5px;line-height:1.45}
.session-coherence.coherent{background:#f2f8ef;border-color:#c8ddc0;border-left-color:#72a164}
.session-coherence.verify{background:#fffaed;border-color:#eadbb2;border-left-color:#d0ad55}
.session-coherence.warning{background:#fff4f1;border-color:#eccfc8;border-left-color:#d68c7d}
.session-coherence.limited{background:#f7f5fb;border-color:#dcd3e9;border-left-color:#8c79ac}
.session-coherence.incomplete{background:#f7fafc;border-color:#dde5ea;border-left-color:#9aacb9}
.coherence-suggestions{display:flex;flex-direction:column;gap:5px;min-width:250px;max-width:420px}
.coherence-suggestions small{font-size:9.5px;font-weight:900;color:#75683f}
.coherence-suggestions button{border:1px solid #dfcf9f;background:#fffdf6;color:#66582f;border-radius:8px;padding:6px 8px;text-align:left;font-size:10px;line-height:1.25;cursor:pointer}
.coherence-suggestions button:hover{background:#fff6d8;border-color:#ccb46b}

/* Disponibilita reale: ora vive sotto il blocco lavoro */
.session-availability-card{margin-top:4px;border:1px solid #d4e0e8;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f7fafc);padding:14px;grid-column:1/-1}
.session-availability-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:10px}
.session-availability-head>div>span{font-size:9.8px;font-weight:900;letter-spacing:.09em;color:#5f788a}
.session-availability-head h4{margin:3px 0 4px;color:var(--navy);font-size:15px}
.session-availability-head p{margin:0;color:#6c7f8d;font-size:11px;line-height:1.4}
.session-availability-head>small{border:1px solid #ecd8b8;background:#fffaf0;color:#88663c;border-radius:999px;padding:5px 8px;font-size:10px;white-space:nowrap}
.availability-plan-reference{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dae5ec;background:#fff;border-radius:10px;padding:8px 10px;margin-bottom:10px}
.availability-plan-reference span{font-size:9px;font-weight:900;letter-spacing:.07em;color:#738895}.availability-plan-reference b{font-size:12px;color:var(--navy)}
.session-availability-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.session-availability-summary{margin-top:8px;font-size:10.5px;font-weight:700;color:#5d7485}
.availability-plan{margin-top:10px;border-radius:11px;padding:11px 12px;border:1px solid #dbe4e9;background:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.availability-plan b{font-size:10.5px;letter-spacing:.05em;color:var(--navy)}.availability-plan span,.availability-plan p{font-size:10.8px;line-height:1.4;color:#657987;margin:0}
.availability-plan.ok{background:#f2f8ef;border-color:#c8ddc0}.availability-plan.constrained{background:#fff9ec;border-color:#ead8a8}.availability-plan.bad{background:#fff2ef;border-color:#e9c7bf}
.availability-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin-bottom:4px}.availability-compare>div{border:1px solid #e4ddc6;border-radius:9px;background:#fff;padding:8px}.availability-compare span{font-size:8.8px;font-weight:900;letter-spacing:.06em;color:#7b7564}.availability-compare strong{display:block;font-size:19px;color:var(--navy);margin-top:2px}.availability-compare small{font-size:9.5px;color:#7b8790}
.availability-applied{margin-top:10px;border:1px solid #c5d9c0;background:#eef7ec;border-radius:10px;padding:9px 10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.availability-applied span{font-size:9px;font-weight:900;letter-spacing:.07em;color:#5e7b57}.availability-applied b{font-size:11.5px;color:#385f32}.availability-applied button{margin-left:auto}

/* Badge compatibilita archi */
.exercise-bow-badges{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap;margin:5px 0 2px}
.bow-badge{display:inline-flex;align-items:center;gap:3px;border-radius:999px;padding:3px 6px;border:1px solid #dce4e9;background:#f6f8fa;color:#91a0aa;font-size:8.7px;font-weight:900;line-height:1}
.bow-badge i{font-style:normal;font-size:9px}.bow-badge.ok{background:#eef7ed;border-color:#c4dbc0;color:#4e7447}.bow-badge.ok i{color:#4d9a55}.bow-badge.off{opacity:.48}.bow-badge.current{box-shadow:0 0 0 2px rgba(75,129,170,.12);border-color:#9fbccc}
.library-bow-meta .exercise-bow-badges{margin-top:4px}
.exercise-sheet-meta .exercise-bow-badges{margin-top:5px}

/* Picker: suggerimenti ordinati per obiettivo + focus + criterio + arco */
.exercise-picker-kicker{display:flex;justify-content:space-between;gap:8px;align-items:center}.exercise-picker-kicker>span{font-size:9px;font-weight:900;letter-spacing:.07em;color:#6f8493}.exercise-picker-kicker em{font-style:normal;border:1px solid #c9dbc1;background:#f0f8ed;color:#54754b;border-radius:999px;padding:3px 6px;font-size:8.5px;font-weight:900}
.exercise-picker-card.suggested{border-color:#bfcfb8;background:#fbfdf9;box-shadow:0 4px 12px rgba(79,116,69,.06)}
.exercise-match-reason{display:inline-block;margin:5px 0 7px;border-radius:7px;background:#eef5e9;color:#5c7554;padding:4px 6px;font-size:9px;font-weight:800}
.exercise-picker-suggestions .exercise-bow-badges{margin:0 0 0 7px;vertical-align:middle}

@media(max-width:760px){
 .session-coherence{grid-template-columns:1fr}.coherence-suggestions{min-width:0;max-width:none}.session-availability-grid,.availability-compare{grid-template-columns:1fr}.availability-plan-reference{align-items:flex-start;flex-direction:column}.availability-applied button{margin-left:0}.session-availability-head{flex-direction:column}.session-availability-head>small{align-self:flex-start}
}


/* ================================================================
   v1.81.9 - FLUSSO GIORNATA LINEARE
   Check-in -> disponibilità reale -> obiettivo/focus/criterio -> contata -> esercizi
   ================================================================ */
.checkin-arrival-panel{
  border:1px solid #d8e3ea;
  border-radius:14px;
  background:linear-gradient(180deg,#fbfdff 0%,#f7fafc 100%);
  padding:13px;
}
.checkin-arrival-panel .guided-panel-head{
  border:0;
  background:transparent;
  padding:0 2px 10px;
  margin:0 0 11px;
  border-bottom:1px solid #e5ebef;
  border-radius:0;
}
.checkin-arrival-panel .guided-panel-head span{font-size:11px}
.checkin-arrival-panel .guided-panel-head small{margin-top:2px}
.section-checkin .recovery-advanced-panel{margin-top:12px}
.section-checkin .session-availability-card{margin-top:12px}
.section-training>summary span:first-child{max-width:820px}
.section-training>summary small{line-height:1.35}
.target-config-panel{border-left-width:1px;box-shadow:none}
.target-config-row{margin-top:0}
.work-block-toolbar .btn.primary{white-space:normal}
@media(max-width:650px){
  .checkin-arrival-panel{padding:10px}
}

/* ================================================================
   v1.82.0 - ATTREZZATURA E MATERIALI
   Inventario locale + preferiti + selezione storicizzata nella Giornata
   ================================================================ */
.equipment-manager{scroll-margin-top:18px}
.equipment-manager-head{align-items:flex-start}
.equipment-manager-group{margin-top:16px;border:1px solid #d9e3e9;border-radius:14px;background:#fbfdfe;padding:14px}
.equipment-manager-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:11px}
.equipment-manager-title span{display:block;font-size:9.5px;font-weight:900;letter-spacing:.09em;color:#6d8190}
.equipment-manager-title h4{margin:3px 0 0;color:var(--navy);font-size:15px}
.equipment-add-form{border:1px dashed #cbd9e2;border-radius:11px;background:#fff;padding:11px;margin-bottom:12px}
.equipment-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.equipment-form-grid.compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.equipment-form-grid label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:900;letter-spacing:.03em;color:#607687}
.equipment-form-grid label.wide{grid-column:1/-1}
.equipment-form-grid input,.equipment-form-grid select,.equipment-form-grid textarea{width:100%;border:1px solid #ccd8e0;border-radius:9px;background:#fff;color:#203c52;padding:9px 10px;font:inherit;font-size:12px;font-weight:500;letter-spacing:0;box-sizing:border-box}
.equipment-add-form>.btn{margin-top:10px}
.equipment-manage-list{display:grid;gap:9px}
.equipment-manage-card{border:1px solid #dce5ea;border-radius:11px;background:#fff;overflow:hidden}
.equipment-manage-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px}
.equipment-manage-summary>div:first-child{min-width:0}
.equipment-manage-summary span{display:block;font-size:8.8px;font-weight:900;letter-spacing:.08em;color:#728694;text-transform:uppercase}
.equipment-manage-summary b{display:block;margin-top:2px;color:var(--navy);font-size:13px}
.equipment-manage-summary small{display:block;margin-top:3px;color:#6d7f8b;font-size:10.5px;line-height:1.35}
.equipment-star{flex:0 0 auto;border:1px solid #d8dfc0;background:#fffdf3;color:#807244;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:900;cursor:pointer}
.equipment-star.selected{background:#fff6c9;border-color:#d9c06f;color:#715d17}
.equipment-star span{display:inline;font-size:8.5px;color:inherit;letter-spacing:.04em}
.equipment-manage-card details{border-top:1px solid #e4eaee}
.equipment-manage-card summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;padding:8px 12px;background:#fafcfd;color:#667b8a;font-size:9.5px;font-weight:900;letter-spacing:.04em}
.equipment-edit-form{padding:12px}
.equipment-form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.equipment-manage-empty{border:1px dashed #d7e1e7;border-radius:10px;padding:12px;color:#7b8b96;font-size:11px;background:#fff}

.session-equipment-section{grid-column:1/-1}
.session-equipment-panel{border:1px solid #d5e1e8;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f6fafc);padding:14px}
.session-equipment-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}
.session-equipment-head>div:first-child>span{display:block;font-size:9.5px;font-weight:900;letter-spacing:.09em;color:#60798a}
.session-equipment-head h4{margin:3px 0 4px;color:var(--navy);font-size:15px}
.session-equipment-head p{margin:0;color:#687d8b;font-size:11px;line-height:1.45;max-width:760px}
.session-equipment-head-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.session-equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.equipment-session-field{border:1px solid #dfe7ec;border-radius:10px;background:#fff;padding:9px}
.equipment-session-field label{display:block;margin-bottom:5px;color:#647b8b;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.equipment-session-field select{width:100%;min-height:38px;border:1px solid #ccd9e1;border-radius:8px;background:#fff;color:#284458;padding:8px 9px;font-size:11px}
.equipment-empty-session{display:flex;flex-direction:column;gap:4px;border:1px dashed #cad9e2;border-radius:10px;background:#fff;padding:12px}
.equipment-empty-session b{color:var(--navy);font-size:12px}.equipment-empty-session span{color:#70828e;font-size:10.5px;line-height:1.4}
.equipment-legacy-note{margin-top:9px;border:1px solid #e5dcc2;border-radius:9px;background:#fffaf0;padding:8px 10px;color:#776843;font-size:10px}

@media(max-width:980px){
 .equipment-form-grid.compact-grid,.session-equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
 .equipment-form-grid,.equipment-form-grid.compact-grid,.session-equipment-grid{grid-template-columns:1fr}
 .session-equipment-head{flex-direction:column}
 .session-equipment-head-actions{justify-content:flex-start;width:100%}
 .equipment-manage-summary{align-items:flex-start;flex-direction:column}
 .equipment-star{align-self:flex-start}
}
.equipment-summary-readonly{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.equipment-summary-readonly>div{border:1px solid #dfe7ec;border-radius:9px;background:#fff;padding:8px 9px}
.equipment-summary-readonly span{display:block;color:#718491;font-size:8.8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.equipment-summary-readonly b{display:block;margin-top:3px;color:#28465b;font-size:11.5px}
.equipment-summary-empty{border:1px dashed #d8e1e7;border-radius:9px;background:#fff;padding:9px;color:#788995;font-size:10.5px}
.arrow-tracking-structured-set{min-height:38px;display:flex;align-items:center;border:1px solid #d8e2e8;border-radius:8px;background:#f7fafc;padding:8px 9px;color:#28465b;font-size:11px;font-weight:800}
@media(max-width:680px){.equipment-summary-readonly{grid-template-columns:1fr}}


/* ================================================================
   v1.82.1 - PROFILO MOBILE A SEZIONI + RELAZIONE TECNICO/ATLETA
   ================================================================ */
.profile-home{display:grid;gap:14px;max-width:860px}
.profile-identity-card{display:flex;align-items:center;gap:14px;border:1px solid #d7e2e9;border-radius:16px;background:#fff;padding:16px 18px;box-shadow:0 4px 18px rgba(28,62,89,.06)}
.profile-avatar{width:48px;height:48px;flex:0 0 48px;border-radius:50%;display:grid;place-items:center;background:#edf4f8;border:1px solid #d4e1e8;color:var(--navy);font-size:20px;font-weight:900}
.profile-identity-card span{display:block;font-size:9.5px;font-weight:900;letter-spacing:.09em;color:#6b8291}
.profile-identity-card h3{margin:2px 0;color:var(--navy);font-size:19px}.profile-identity-card p{margin:2px 0 0;color:#71818d;font-size:11px}
.profile-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.profile-menu-card{width:100%;min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #d5e1e8;border-radius:15px;background:#fff;padding:15px 16px;text-align:left;cursor:pointer;box-shadow:0 3px 14px rgba(30,62,88,.045);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.profile-menu-card:hover{border-color:#aebfca;transform:translateY(-1px);box-shadow:0 7px 20px rgba(30,62,88,.08)}
.profile-menu-card-copy>span{display:block;color:var(--navy);font-size:14px;font-weight:900}.profile-menu-card-copy p{margin:5px 0;color:#637886;font-size:11px;line-height:1.45}.profile-menu-card-copy small{display:block;color:#8a6b48;font-size:9.5px;font-weight:900;letter-spacing:.025em}.profile-menu-card>b{flex:0 0 auto;color:#7990a0;font-size:27px;font-weight:400}
.profile-detail-head{display:flex;align-items:flex-start;gap:14px;max-width:1050px;margin-bottom:14px}.profile-detail-head>div{min-width:0}.profile-detail-head h2{margin:0;color:var(--navy);font-size:24px}.profile-detail-head p{margin:5px 0 0;color:#667b88;font-size:12px;line-height:1.5}
.profile-menu-back{flex:0 0 auto;border:1px solid #d1dde5;border-radius:999px;background:#fff;color:#567084;padding:7px 10px;font-size:9px;font-weight:900;letter-spacing:.04em;cursor:pointer}
.profile-editor-detail{max-width:1050px}.profile-savebar-single{grid-template-columns:1fr!important;justify-items:end}.profile-password-row{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #dce5ea;border-radius:12px;background:#f8fbfd;padding:13px}.profile-password-row b{display:block;color:var(--navy);font-size:12.5px}.profile-password-row span{display:block;margin-top:4px;color:#6b7e8a;font-size:10.5px;line-height:1.45;max-width:680px}
.optional-pb-disciplines{margin-top:11px;border:1px solid #dce5ea;border-radius:11px;background:#f9fbfc;overflow:hidden}.optional-pb-disciplines>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;color:#5f7483;font-size:9.5px;font-weight:900;letter-spacing:.05em}.optional-pb-disciplines>summary::-webkit-details-marker{display:none}.optional-pb-records{padding:0 11px 11px}
.coach-sharing-card{display:grid;gap:14px}.coach-cloud-note{display:flex;flex-direction:column;gap:4px;border:1px solid #d4e3ec;border-radius:11px;background:#f2f8fb;padding:11px 12px}.coach-cloud-note b{color:var(--navy);font-size:11.5px}.coach-cloud-note span{color:#607785;font-size:10.5px;line-height:1.45}.profile-role-field{max-width:460px}.profile-role-field select{width:100%;border:1px solid #ccd8e0;border-radius:9px;background:#fff;color:#203c52;padding:9px 10px;font-size:12px}.profile-role-field small{display:block;margin-top:5px;color:#718491;font-size:9.5px;line-height:1.4}
.coach-list-head span,.coach-athletes-placeholder>span{display:block;font-size:9px;font-weight:900;letter-spacing:.09em;color:#6d8291}.coach-list-head h4{margin:3px 0;color:var(--navy);font-size:15px}.coach-add-form{border:1px dashed #cbd9e2;border-radius:11px;background:#fff;padding:11px}.coach-add-form>.btn{margin-top:9px}.coach-relations-list{display:grid;gap:9px}.coach-relation-card{border:1px solid #dce5ea;border-radius:12px;background:#fff;padding:12px}.coach-relation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.coach-relation-head span{display:block;color:#6e8492;font-size:8.7px;font-weight:900;letter-spacing:.07em}.coach-relation-head b{display:block;margin-top:2px;color:var(--navy);font-size:13px}.coach-relation-head small{display:block;margin-top:3px;color:#758792;font-size:10px}.coach-relation-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.coach-permissions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:11px;padding-top:10px;border-top:1px solid #e5ebef}.coach-permissions label{display:flex;gap:7px;align-items:flex-start;border:1px solid #e2e9ed;border-radius:9px;background:#fafcfd;padding:8px;color:#5c7281;font-size:10px;line-height:1.35}.coach-permissions input{margin-top:1px}.coach-empty{display:flex;flex-direction:column;gap:3px;border:1px dashed #d6e1e7;border-radius:10px;background:#fff;padding:12px}.coach-empty b{color:var(--navy);font-size:11.5px}.coach-empty span{color:#72848f;font-size:10.5px}.coach-athletes-placeholder{border:1px solid #e0e7eb;border-radius:11px;background:#fafcfd;padding:12px}.coach-athletes-placeholder b{display:block;margin-top:3px;color:var(--navy);font-size:13px}.coach-athletes-placeholder p{margin:4px 0 0;color:#6d808c;font-size:10.5px;line-height:1.45}
@media(max-width:700px){
 .profile-pagehead{margin-bottom:10px}.profile-pagehead h2{font-size:22px}.profile-menu-grid{grid-template-columns:1fr;gap:8px}.profile-menu-card{min-height:88px;padding:12px 13px;border-radius:13px}.profile-menu-card-copy>span{font-size:13px}.profile-menu-card-copy p{font-size:10.5px;margin:3px 0}.profile-detail-head{gap:9px;flex-direction:column}.profile-detail-head h2{font-size:20px}.profile-menu-back{padding:6px 9px}.profile-password-row{align-items:stretch;flex-direction:column}.profile-password-row .btn{width:100%}.coach-relation-head{flex-direction:column}.coach-relation-actions{justify-content:flex-start;width:100%}.coach-permissions{grid-template-columns:1fr}.coach-add-form .registration-grid{grid-template-columns:1fr}.profile-savebar-single{justify-items:stretch}
}

/* ================================================================
   v1.82.2 - PROFILO: USCITA, PB PIU VISIBILI, DATI ATTREZZATURA STRUTTURATI
   ================================================================ */
.profile-exit-btn{min-width:74px;justify-content:center}
.profile-exit-btn .app-back-label{font-size:11.5px!important;line-height:1!important;letter-spacing:.07em;color:var(--navy)}
.optional-pb-disciplines{border-color:#c9d8e2;background:#f5f9fc}
.optional-pb-disciplines>summary{padding:13px 14px;color:var(--navy);font-size:11.5px;font-weight:900;letter-spacing:.055em;background:#edf4f8}
.optional-pb-disciplines>summary:hover{background:#e7f0f5}
.optional-pb-disciplines[open]>summary{border-bottom:1px solid #d5e1e8}
.equipment-legacy-data{grid-column:1/-1;display:flex;flex-direction:column;gap:4px;border:1px solid #e4dcc5;border-radius:9px;background:#fffaf0;padding:9px 10px}
.equipment-legacy-data b{font-size:9px;letter-spacing:.055em;color:#806c46;text-transform:uppercase}
.equipment-legacy-data span{font-size:10.5px;line-height:1.45;color:#6f6652}
.equipment-form-grid [hidden]{display:none!important}
@media(max-width:650px){
 .profile-exit-btn{min-height:39px;min-width:72px}
 .profile-exit-btn .app-back-label{font-size:12px!important}
 .optional-pb-disciplines>summary{font-size:11px;padding:12px 13px}
}

/* ================================================================
   v1.82.3 - CONTROLLO DUPLICATI LIBRERIA ESERCIZI
   ================================================================ */
.exercise-relation-box{grid-column:1/-1;border:1px solid #d7e3ea;border-radius:11px;background:#f7fafc;padding:11px 12px}
.exercise-relation-box>label{display:block;color:var(--navy);font-size:10px;font-weight:900;letter-spacing:.035em;margin-bottom:7px}
.exercise-relation-grid{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(260px,1.6fr);gap:8px}
.exercise-relation-grid select{width:100%;min-height:39px;border:1px solid #ccd9e1;border-radius:8px;background:#fff;color:#29475c;padding:8px 9px;font-size:11px}
.exercise-relation-box>small{display:block;margin-top:7px;color:#6f818d;font-size:9.7px;line-height:1.45}
.exercise-duplicate-dialog{max-width:760px!important;padding:20px!important}
.exercise-duplicate-head>span{display:block;color:#6d8190;font-size:9px;font-weight:900;letter-spacing:.11em}
.exercise-duplicate-head h2{margin:4px 0 6px;color:var(--navy);font-size:22px}
.exercise-duplicate-head p{margin:0;color:#657a87;font-size:11px;line-height:1.5}
.exercise-duplicate-new{margin-top:15px;border:1px solid #d7e3ea;border-radius:11px;background:#f7fafc;padding:10px 12px}
.exercise-duplicate-new span{display:block;color:#6c8291;font-size:8.5px;font-weight:900;letter-spacing:.08em}
.exercise-duplicate-new b{display:block;margin-top:2px;color:var(--navy);font-size:13px}
.exercise-duplicate-new small{display:block;margin-top:2px;color:#748691;font-size:9.5px}
.exercise-duplicate-list,.exercise-audit-list{display:grid;gap:8px;margin-top:12px;max-height:48vh;overflow:auto;padding-right:2px}
.exercise-duplicate-match{display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:flex-start;border:1px solid #dce5ea;border-radius:11px;background:#fff;padding:10px}
.exercise-duplicate-score{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff6e9;border:1px solid #ecd7ba;color:#8b673d;font-size:12px;font-weight:900}
.exercise-duplicate-kicker{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.exercise-duplicate-kicker span,.exercise-duplicate-kicker em{font-style:normal;font-size:8.2px;font-weight:900;letter-spacing:.07em;color:#687e8d}.exercise-duplicate-kicker em{color:#55765f;background:#edf7ef;border-radius:999px;padding:2px 6px}
.exercise-duplicate-match b{display:block;margin-top:2px;color:var(--navy);font-size:12.5px}.exercise-duplicate-match small{display:block;margin-top:2px;color:#758793;font-size:9.5px}.exercise-duplicate-match p{margin:5px 0 0;color:#687b87;font-size:9.5px;line-height:1.4}
.exercise-duplicate-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:14px}.exercise-duplicate-note{margin:8px 0 0;text-align:right;color:#88969f;font-size:8.8px}
.exercise-audit-dialog{max-width:900px!important}.exercise-audit-summary{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:7px 10px;align-items:center;margin-top:14px;border:1px solid #dbe5ea;border-radius:10px;background:#f8fbfc;padding:9px 11px}.exercise-audit-summary b{color:var(--navy);font-size:18px}.exercise-audit-summary span{color:#6d808c;font-size:10px}
.exercise-audit-pair{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;border:1px solid #dce5ea;border-radius:11px;background:#fff;padding:9px 10px}.exercise-audit-pair.declared{background:#f5faf6;border-color:#d4e6d8}.exercise-audit-names{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;align-items:center}.exercise-audit-names b{color:var(--navy);font-size:11px}.exercise-audit-names>span{color:#8b9aa3}.exercise-audit-names small{grid-column:1/-1;color:#70818c;font-size:9px}.exercise-audit-pair>em{font-style:normal;color:#9a6d3f;background:#fff4e7;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:900;letter-spacing:.04em;white-space:nowrap}.exercise-audit-pair.declared>em{color:#55765f;background:#eaf6ed}
@media(max-width:680px){
 .exercise-relation-grid{grid-template-columns:1fr}.exercise-duplicate-dialog{padding:14px!important}.exercise-duplicate-head h2{font-size:19px}.exercise-duplicate-match{grid-template-columns:48px 1fr}.exercise-duplicate-score{width:42px;height:42px;font-size:10.5px}.exercise-duplicate-actions{flex-direction:column}.exercise-duplicate-actions .btn{width:100%}.exercise-audit-summary{grid-template-columns:auto 1fr}.exercise-audit-pair{grid-template-columns:48px 1fr}.exercise-audit-pair>em{grid-column:2}.exercise-audit-names{grid-template-columns:1fr}.exercise-audit-names>span{display:none}.exercise-audit-names small{grid-column:auto}
}

/* =========================================================
   v1.83.0 - DATA SAFETY FOUNDATION
   ========================================================= */
.data-safety-card{border-color:#d7e4ee;background:linear-gradient(180deg,#fff 0%,#f8fbfd 100%)}
.data-safety-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.data-safety-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.data-safety-meta span{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid #dbe5ec;border-radius:12px;background:#fff;color:#6a7f8f;font-size:12px}
.data-safety-meta b{color:#173f67;font-size:14px}
.data-integrity-dialog{max-width:900px}
.integrity-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}
.integrity-summary span{border:1px solid #dce6ed;border-radius:14px;padding:12px;background:#f8fbfd;display:flex;align-items:baseline;gap:7px;color:#617787}
.integrity-summary b{font-size:24px;color:#173f67}
.integrity-list{display:grid;gap:8px;max-height:55vh;overflow:auto;padding-right:4px}
.integrity-row{display:grid;grid-template-columns:130px 1fr auto;gap:10px;align-items:center;border:1px solid #dbe5ec;border-radius:12px;padding:10px 12px;background:#fff}
.integrity-row>b{font-size:11px;letter-spacing:.04em;color:#657a89}
.integrity-row>span{color:#203f59}
.integrity-row>em{font-style:normal;font-size:10px;font-weight:800;color:#4e7b60;background:#eef8f1;border-radius:999px;padding:5px 8px}
.integrity-row.error{border-color:#e9b8b8;background:#fff8f8}.integrity-row.error>b{color:#a33d3d}
.integrity-row.warning{border-color:#ead9ac;background:#fffdf7}.integrity-row.warning>b{color:#8a6c20}
.integrity-row.info{border-color:#cbdfea;background:#f8fcff}
.integrity-ok{display:flex;flex-direction:column;gap:5px;padding:18px;border:1px solid #bfdcc9;border-radius:14px;background:#f4fbf6}.integrity-ok b{color:#2f6d48}.integrity-ok span{color:#60786a}
.equipment-archived-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#eef2f5;color:#71818c;font-size:11px;font-weight:800;letter-spacing:.04em}
.archived-library-box,.archived-programs-box{margin-top:16px;border-top:1px solid #dbe4eb;padding-top:12px}
.archived-library-box>summary,.archived-programs-box>summary{cursor:pointer;color:#4f6b80;font-weight:800;font-size:12px;letter-spacing:.04em;padding:8px 0}
.program-item.archived{opacity:.82;background:#f8fafb}
@media(max-width:720px){
 .data-safety-actions{display:grid;grid-template-columns:1fr}
 .data-safety-actions .btn{width:100%}
 .data-safety-meta{grid-template-columns:1fr}
 .integrity-summary{grid-template-columns:1fr}
 .integrity-row{grid-template-columns:1fr;gap:5px}
}

/* v1.83.0 - blocco protettivo su errori di caricamento/migrazione */
.storage-safety-blocker{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f4f7fa;color:#17385f}
.storage-safety-blocker>section{width:min(760px,100%);background:#fff;border:1px solid #dce5ee;border-radius:22px;padding:28px;box-shadow:0 14px 40px rgba(23,56,95,.08)}
.storage-safety-blocker>section>span{font-size:.76rem;font-weight:800;letter-spacing:.12em;color:#a25a25}
.storage-safety-blocker h1{margin:8px 0 10px}.storage-safety-blocker p{line-height:1.55}
.storage-safety-error{margin:18px 0;padding:14px 16px;border-radius:14px;background:#fff3f1;border:1px solid #efc9c3;color:#823b33;font-weight:700;overflow-wrap:anywhere}
.storage-safety-blocker small{display:block;margin-bottom:16px;overflow-wrap:anywhere}

/* ==========================================================
   v1.83.1 - LIBRERIA SEARCH-FIRST / FAVORITI / RACCOLTE
   ========================================================== */
.exercise-library-item[hidden],
.library-results-area[hidden]{display:none!important}
.library-search-shell{padding:14px 16px;margin-bottom:14px}
.library-search-shell .library-search-main{max-width:980px}
.library-search-shell .library-search-main label{font-size:12px;font-weight:900;letter-spacing:.03em;color:#425f75}
.library-search-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}
.library-search-input-row input{min-height:44px;font-size:14px}
.library-filter-details{margin-top:10px;border-top:1px solid #e4ebf0;padding-top:8px}
.library-filter-details>summary{cursor:pointer;list-style:none;font-size:10.5px;font-weight:900;letter-spacing:.07em;color:#5e7587;padding:6px 0}
.library-filter-details>summary::-webkit-details-marker{display:none}
.library-filter-details>summary::after{content:'⌄';margin-left:7px;color:#7890a0}
.library-filter-details[open]>summary::after{content:'⌃'}
.library-search-panel{display:grid;grid-template-columns:180px 210px 230px minmax(160px,auto);gap:10px;align-items:end;margin:8px 0 0;padding:0;border:0;background:transparent;box-shadow:none}
.library-collections{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}
.library-collections button{border:1px solid #d7e1e8;background:#f7fafc;color:#506b7f;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;letter-spacing:.04em;cursor:pointer}
.library-collections button.selected{background:#e8f1f8;border-color:#9ebbd1;color:#173e61}
.library-collections small{flex-basis:100%;color:#788894;line-height:1.4;margin-top:2px}
.library-results-area{margin-top:8px}
.library-community-empty{border-style:dashed;background:#fafcfd;color:#637887}

/* v1.83.5 - Card libreria compatte per mobile: informazioni chiave in alto accanto al preferito. */
.exercise-knowledge-side{display:flex;align-items:flex-start;gap:8px;margin-left:auto;flex:0 0 auto}
.exercise-card-inline-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding-top:1px}
.exercise-count-inline{display:block;font-size:11px;line-height:1.2;font-weight:800;color:#526a7d;text-align:right;white-space:nowrap}
.exercise-intensity-inline{display:flex;align-items:center;gap:7px;justify-content:flex-end}
.exercise-intensity-inline b{font-size:11px;line-height:1;color:#173e61;white-space:nowrap}
.exercise-intensity-scale{position:relative;display:inline-block;width:64px;height:8px;border-radius:999px;background:linear-gradient(90deg,#58b46b 0%,#d8c84b 50%,#d96255 100%);border:1px solid #d8e1e8;box-sizing:border-box}
.exercise-intensity-scale::after{content:'';position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid currentColor;box-shadow:0 1px 2px rgba(0,0,0,.08);transform:translate(-50%,-50%);left:14%}
.exercise-intensity-scale.low{color:#3f9d57}
.exercise-intensity-scale.medium{color:#ba8a1f}
.exercise-intensity-scale.high{color:#ca554a}
.exercise-intensity-scale.low::after{left:14%}
.exercise-intensity-scale.medium::after{left:50%}
.exercise-intensity-scale.high::after{left:86%}
.exercise-top-shooter-note{display:grid;gap:5px}
.exercise-top-shooter-note>b{font-size:10px;letter-spacing:.06em;color:#49687f}
.exercise-top-shooter-note>span{display:block;border:1px solid #e0e7ec;border-radius:8px;padding:7px 8px;background:#fafcfd;color:#566c7c;font-size:11px}

@media(max-width:760px){
 .library-search-input-row{grid-template-columns:1fr 1fr}.library-search-input-row input{grid-column:1/-1}.library-search-panel{grid-template-columns:1fr}.library-collections button{flex:1 1 auto}.exercise-knowledge-head{align-items:flex-start}.exercise-knowledge-side{gap:7px}.exercise-card-inline-meta{padding-top:0}.exercise-count-inline{font-size:10.5px;white-space:normal;max-width:86px}.exercise-intensity-inline{gap:6px}.exercise-intensity-inline b{font-size:10.5px}.exercise-intensity-scale{width:54px}
}


/* ================================================================
   v1.83.2 - DASHBOARD ATLETA / ESERCIZI SENZA TAG VISIBILI
   ================================================================ */
.dashboard-athlete-overview{margin:0 0 18px;padding:16px;border:1px solid #d6e1e8;border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(35,68,91,.045)}
.dashboard-athlete-overview-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e7edf1}
.dashboard-athlete-overview-head>div>span,.dashboard-athlete-grid article>span,.dashboard-support-grid article>span{display:block;color:#6d8392;font-size:9.5px;font-weight:900;letter-spacing:.075em}
.dashboard-athlete-overview-head h3{margin:3px 0 3px;color:var(--navy);font-size:19px}
.dashboard-athlete-overview-head p{margin:0;color:#73838e;font-size:11.5px}
.dashboard-athlete-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.dashboard-athlete-grid article,.dashboard-support-grid article{min-width:0;border:1px solid #dfe7ec;border-radius:12px;background:#fafcfd;padding:12px}
.dashboard-athlete-grid h4,.dashboard-support-grid h4{margin:3px 0 9px;color:var(--navy);font-size:13px}
.dashboard-readiness-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.dashboard-readiness-list span{min-width:0;padding:6px 7px;border:1px solid #e2e9ed;border-radius:8px;background:#fff}
.dashboard-readiness-list span:last-child:nth-child(odd){grid-column:1/-1}
.dashboard-readiness-list small,.dashboard-plan-lines span{display:block;color:#80909b;font-size:8.5px;font-weight:900;letter-spacing:.045em}
.dashboard-readiness-list b{display:block;margin-top:2px;color:#38566a;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-athlete-empty{display:grid;gap:3px;margin:0;color:#778995;font-size:10.5px;line-height:1.4}
.dashboard-athlete-empty b{color:#4d687a;font-size:11px}
.dashboard-plan-lines{display:grid;gap:6px}.dashboard-plan-lines p{margin:0}.dashboard-plan-lines b{display:block;margin-top:1px;color:#3c5a6d;font-size:10.5px;line-height:1.3}
.dashboard-exercise-list{display:grid;gap:5px}.dashboard-exercise-list>span{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:6px;align-items:center}.dashboard-exercise-list small{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#eaf1f5;color:#5b7384;font-size:8px;font-weight:900}.dashboard-exercise-list b{min-width:0;color:#425f72;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-exercise-list em{font-style:normal;color:#5d8b63;font-weight:900}.dashboard-exercise-list p{margin:1px 0 0;color:#7e8e99;font-size:9.5px}
.dashboard-support-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}.dashboard-support-value{display:grid;gap:3px}.dashboard-support-value b{color:#3e5b6e;font-size:11px}.dashboard-support-value span{color:#7b8b96;font-size:10px;line-height:1.35}
.dashboard-recent-trend{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.dashboard-recent-trend>div{padding:7px;border:1px solid #e2e9ed;border-radius:8px;background:#fff;text-align:center}.dashboard-recent-trend span{display:block;color:#82919b;font-size:7.5px;font-weight:900;letter-spacing:.04em}.dashboard-recent-trend b{display:block;margin-top:2px;color:#335368;font-size:12px}
@media(max-width:1000px){.dashboard-athlete-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.dashboard-athlete-overview{padding:12px}.dashboard-athlete-overview-head{display:grid;grid-template-columns:1fr}.dashboard-athlete-overview-head button{width:100%}.dashboard-athlete-grid,.dashboard-support-grid{grid-template-columns:1fr}.dashboard-athlete-grid article,.dashboard-support-grid article{padding:11px}.dashboard-readiness-list{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-readiness-list span:last-child:nth-child(odd){grid-column:auto}.dashboard-recent-trend{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* v1.83.3 - ordine menu laterale: Dashboard > Allenamento libero > Libreria > Allenamento programmato */


/* ================================================================
   v1.84.0 - STORICO UNIFICATO
   ================================================================ */
.history-pagehead{margin-bottom:12px}.history-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.history-kpis>div{border:1px solid #dbe5ec;background:#fff;border-radius:13px;padding:12px 14px}.history-kpis span{display:block;font-size:9px;font-weight:900;letter-spacing:.07em;color:#718595}.history-kpis b{display:block;margin-top:4px;color:var(--navy);font-size:22px}.history-tabs{display:flex;gap:7px;margin:0 0 10px}.history-tabs button{border:1px solid #d5e0e8;border-radius:999px;background:#f8fafb;color:#567084;padding:8px 14px;font-size:10.5px;font-weight:900;cursor:pointer}.history-tabs button.selected{background:var(--navy);border-color:var(--navy);color:#fff}.history-filterbar{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr auto;gap:9px;align-items:end;margin-bottom:12px}.history-filterbar label{font-size:10px;font-weight:900;color:#5d7486}.history-filterbar select,.history-filterbar input{display:block;width:100%;box-sizing:border-box;margin-top:5px;border:1px solid #cfdbe3;border-radius:9px;background:#fff;padding:8px 9px;color:#304f66}.history-content{display:grid;gap:9px}.history-row{display:grid;grid-template-columns:125px minmax(0,1fr) 185px auto;gap:12px;align-items:center;border:1px solid #dae4eb;border-radius:13px;background:#fff;padding:11px 13px}.history-row-date b{display:block;color:var(--navy);font-size:13px}.history-row-date span,.history-program-head span{display:block;margin-top:3px;font-size:8.5px;font-weight:900;letter-spacing:.065em;color:#718696}.history-row-main h4{margin:0;color:#163e63;font-size:13px}.history-row-main p{margin:3px 0 0;color:#667b8b;font-size:10.5px}.history-row-metrics{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end;align-items:center}.history-row-metrics span,.history-row-metrics em{font-size:9.5px;font-style:normal;border-radius:999px;padding:5px 8px;background:#f2f6f8;color:#567084}.history-row-metrics em.complete{background:#edf8ef;color:#3b7a48}.history-row-metrics em.partial{background:#fff7e8;color:#956b27}.history-row-metrics em.skipped,.history-row-metrics em.archived{background:#f1f2f4;color:#737d84}.history-readonly{font-size:9px;font-weight:900;color:#83919b}.history-program-card{border:1px solid #dae4eb;border-radius:14px;background:#fff;padding:14px}.history-program-head{display:flex;justify-content:space-between;gap:14px}.history-program-head h3{margin:3px 0;color:var(--navy);font-size:16px}.history-program-head p{margin:0;color:#6e808d;font-size:10.5px}.history-program-status{align-self:flex-start;border-radius:999px;padding:6px 9px;font-size:9px;font-style:normal;font-weight:900}.history-program-status.active{background:#eaf3fa;color:#315e7d}.history-program-status.complete{background:#edf8ef;color:#3c7c4a}.history-program-status.archived{background:#f0f2f4;color:#737d84}.history-program-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.history-program-kpis>div{background:#f7fafc;border-radius:10px;padding:8px 10px}.history-program-kpis span{display:block;font-size:8.5px;font-weight:900;color:#778a98}.history-program-kpis b{display:block;margin-top:3px;color:#173e61;font-size:14px}.history-program-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.history-program-actions>span{font-size:10px;color:#72838f}.history-note{display:flex;gap:10px;align-items:flex-start;margin-top:12px;background:#f7fafc}.history-note b{font-size:10px;color:#173e61;white-space:nowrap}.history-note span{font-size:10.5px;line-height:1.45;color:#637887}
@media(max-width:760px){.history-kpis{grid-template-columns:1fr 1fr}.history-kpis b{font-size:18px}.history-filterbar{grid-template-columns:1fr 1fr}.history-filterbar .btn{grid-column:1/-1;width:100%}.history-row{grid-template-columns:1fr auto;gap:8px}.history-row-date{grid-column:1}.history-row-main{grid-column:1/-1}.history-row-metrics{grid-column:1;justify-content:flex-start}.history-row>.btn,.history-readonly{grid-column:2;grid-row:1;align-self:start}.history-program-kpis{grid-template-columns:repeat(3,1fr)}.history-note{display:block}.history-note b{display:block;margin-bottom:4px}}

/* v1.84.2 - consenso apprendimento M.A.C. */
.mac-learning-card{border-color:#d9e6ee;background:#fbfdfe}.mac-learning-consent small{display:block;line-height:1.55}.mac-learning-consent strong{color:#173e61}

/* v1.84.4 - Motore M.A.C. Esercizi: spiegazione raccomandazione e congruità */
.exercise-congruence{margin:0 14px 10px;border:1px solid #d9e3e9;border-radius:10px;padding:9px 10px;background:#f8fbfc}
.exercise-congruence-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.exercise-congruence-head>span{font-size:9px;font-weight:900;letter-spacing:.08em;color:#60798b}
.exercise-congruence-head>b{font-size:10.5px;color:#173b55}
.exercise-congruence-head>em{margin-left:auto;font-style:normal;font-size:9.5px;font-weight:900;color:#526b7c;background:#fff;border:1px solid #dbe4e9;border-radius:999px;padding:2px 6px}
.exercise-congruence p{margin:5px 0 0;font-size:11px;line-height:1.45;color:#526979}
.exercise-congruence>small{display:block;margin-top:6px;font-size:10.5px;line-height:1.4;color:#725b2a}
.exercise-congruence.recommended{background:#eff8f2;border-color:#bfdcc8}.exercise-congruence.recommended .exercise-congruence-head>b{color:#24633a}
.exercise-congruence.coherent{background:#f1f7fb;border-color:#c8ddea}.exercise-congruence.coherent .exercise-congruence-head>b{color:#315f7e}
.exercise-congruence.partial{background:#fff8e9;border-color:#ead6a6}.exercise-congruence.partial .exercise-congruence-head>b{color:#82601b}
.exercise-congruence.warning,.exercise-congruence.incompatible{background:#fff1ef;border-color:#e7c1bb}.exercise-congruence.warning .exercise-congruence-head>b,.exercise-congruence.incompatible .exercise-congruence-head>b{color:#8b3f34}
.exercise-congruence.neutral{background:#f7f8f9;border-color:#dde3e7}
.exercise-avoid-note{display:block;margin-top:6px;padding-top:6px;border-top:1px solid #e8ecef;color:#795e2b!important}
.mac-sheet-attention{margin-top:9px;padding:8px 9px;border:1px solid #ead7aa;background:#fff9ec;border-radius:8px}.mac-sheet-attention b,.mac-sheet-attention span{display:block}.mac-sheet-attention b{font-size:9px;letter-spacing:.05em;color:#82601b}.mac-sheet-attention span{margin-top:3px;font-size:11px;line-height:1.4;color:#665638}.mac-dose small{display:block;margin-top:5px;font-size:10.5px;color:#637482}
@media(max-width:650px){.exercise-congruence{margin:0 10px 9px}.exercise-congruence-head>em{margin-left:0}}

/* v1.84.5 - pannelli estesi scheda esercizio v2 */
.mac-sheet-wide-panel{margin-bottom:10px}.mac-sheet-wide-panel>.mac-sheet-panel{min-height:0}.mac-sheet-wide-panel ul{margin:8px 0 0 18px;padding:0}.mac-sheet-wide-panel li{margin:4px 0}

/* ================================================================
   v1.84.6 - MODALITÀ ALLENAMENTO: CON ESERCIZI / SOLO TIRO
   ================================================================ */
.training-mode-section{margin:0 0 18px;padding:14px;border:1px solid #d7e2e9;border-radius:14px;background:#f8fbfd}
.training-mode-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:9px}
.training-mode-option{position:relative;display:block;border:1px solid #cfdbe4;border-radius:12px;background:#fff;padding:12px 13px;cursor:pointer;min-height:76px}
.training-mode-option input{position:absolute;opacity:0;pointer-events:none}
.training-mode-option b{display:block;color:var(--navy);font-size:12px;letter-spacing:.025em}
.training-mode-option span{display:block;margin-top:4px;color:#617483;font-size:11px;line-height:1.45}
.training-mode-option.selected{border:2px solid #e3a15d;background:#fff1df;padding:11px 12px}
.training-mode-advice{display:flex;gap:8px;align-items:flex-start;margin-top:9px;padding:9px 10px;border-radius:10px;background:#eef5f8;color:#5e7180}
.training-mode-advice b{flex:0 0 auto;color:#173e61;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.training-mode-advice span{font-size:10.5px;line-height:1.45}
.session-training-mode-card{grid-column:1/-1;border:1px solid #d5e1e8;border-radius:13px;background:#f7fafc;padding:12px 13px}
.session-training-mode-card.shoot_only{background:#f7faf8;border-color:#d6e4d8}
.session-training-mode-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.session-training-mode-head>div>span{display:block;font-size:9px;font-weight:900;letter-spacing:.08em;color:#688094}
.session-training-mode-head h4{margin:3px 0 0;color:var(--navy);font-size:15px}
.session-training-mode-head p{margin:4px 0 0;color:#617483;font-size:11px;line-height:1.45;max-width:760px}
.session-training-mode-head>small{flex:0 0 auto;border-radius:999px;background:#fff;border:1px solid #d8e2e8;padding:5px 8px;color:#63798a;font-size:8.5px;font-weight:900;letter-spacing:.04em}
.session-training-mode-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}
.session-training-mode-options button{border:1px solid #cfdae2;border-radius:9px;background:#fff;color:#587084;padding:9px 8px;font-size:9.5px;font-weight:900;cursor:pointer}
.session-training-mode-options button.selected{background:var(--navy);border-color:var(--navy);color:#fff}
.session-training-mode-preserved{margin-top:8px;border-top:1px solid #dde6eb;padding-top:7px;color:#6b7d89;font-size:10px;line-height:1.4}
.shoot-only-panel{border:1px solid #d6e4d8;border-left:4px solid #7c9f82;border-radius:12px;background:#f4f8f4;padding:14px 15px}
.shoot-only-panel>span{display:block;font-size:9px;font-weight:900;letter-spacing:.08em;color:#64806a}
.shoot-only-panel h4{margin:4px 0;color:var(--navy);font-size:16px}
.shoot-only-panel p{margin:0;color:#617469;font-size:11.5px;line-height:1.5}
.shoot-only-panel small{display:block;margin-top:7px;color:#718078;font-size:10px}
@media(max-width:700px){
 .training-mode-section{padding:11px;margin-bottom:14px}
 .training-mode-choice{grid-template-columns:1fr}
 .training-mode-option{min-height:0;padding:11px 12px}
 .training-mode-option.selected{padding:10px 11px}
 .training-mode-advice{display:block}
 .training-mode-advice b{display:block;margin-bottom:3px}
 .session-training-mode-head{display:block}
 .session-training-mode-head>small{display:inline-block;margin-top:7px}
 .session-training-mode-options{grid-template-columns:1fr}
 .session-training-mode-options button{min-height:42px;text-align:center}
}


/* =========================================================
   v1.84.7 - TIMER DI TIRO M.A.C.
   Preset gara, personalizzato, countdown audio/voce e mobile.
   ========================================================= */
.shot-timer{
  margin:14px 0;
  border:1px solid #d8e3ea;
  border-radius:14px;
  background:#f8fbfd;
  overflow:hidden;
}
.shot-timer.disabled{background:#fbfcfd}
.shot-timer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:13px 15px;
}
.shot-timer-head h4{margin:2px 0 2px;color:var(--navy)}
.shot-timer-head p{margin:0;color:var(--muted);font-size:12px}
.shot-timer-toggle{
  display:inline-flex;
  align-items:center;
  gap:7px;
  cursor:pointer;
  font-size:11px;
  font-weight:900;
  color:var(--navy);
}
.shot-timer-toggle input{width:18px;height:18px;accent-color:#17385f}
.shot-timer-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,330px);
  gap:14px;
  padding:0 15px 15px;
  border-top:1px solid #e2e9ee;
}
.shot-timer-settings{
  display:grid;
  grid-template-columns:minmax(210px,1.5fr) minmax(100px,.55fr);
  gap:9px;
  align-content:start;
  padding-top:14px;
}
.shot-timer-settings>label:not(.shot-timer-check){
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:11px;
  font-weight:900;
  color:#536b7b;
}
.shot-timer-settings select,
.shot-timer-settings input[type="number"]{
  width:100%;
  min-height:41px;
  border:1px solid #cdd9e1;
  border-radius:9px;
  background:#fff;
  color:#17385f;
  padding:8px 10px;
  font:inherit;
  font-size:13px;
}
.shot-timer-custom.is-hidden{display:none!important}
.shot-timer-check{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:7px 9px;
  border:1px solid #dde6eb;
  border-radius:9px;
  background:#fff;
  font-size:11px;
  font-weight:800;
  color:#536b7b;
}
.shot-timer-check input{width:17px;height:17px;accent-color:#17385f}
.shot-timer-console{
  margin-top:14px;
  border:1px solid #cbd8e0;
  border-radius:13px;
  background:#fff;
  padding:12px;
  text-align:center;
  transition:background .18s ease,border-color .18s ease;
}
.shot-timer-console.prep{background:#edf3f7;border-color:#9fb7c7}
.shot-timer-console.shoot{background:#eef8ee;border-color:#9fca9f}
.shot-timer-console.warning{background:#fff8dc;border-color:#e1c762}
.shot-timer-console.critical{background:#fff0e5;border-color:#e59a55}
.shot-timer-console.paused{background:#f4f5f6;border-color:#b7c0c7}
.shot-timer-console.ended{background:#fff0f0;border-color:#d98b8b}
.shot-timer-state{
  font-size:10.5px;
  font-weight:950;
  letter-spacing:.12em;
  color:#667b89;
}
.shot-timer-clock{
  margin:2px 0 8px;
  font-size:44px;
  line-height:1;
  font-weight:950;
  letter-spacing:.025em;
  font-variant-numeric:tabular-nums;
  color:var(--navy);
}
.shot-timer-console.ended .shot-timer-clock{color:#a83a3a}
.shot-timer-actions{display:flex;justify-content:center;gap:7px}
.shot-timer-cadence{
  grid-column:1/-1;
  padding:10px 12px;
  border-radius:10px;
  background:#fff;
  border:1px dashed #cbd8e0;
  color:#607584;
  font-size:11.5px;
  line-height:1.45;
}
@media (max-width:700px){
  .shot-timer{margin:12px 0;border-radius:12px}
  .shot-timer-head{align-items:flex-start;padding:12px}
  .shot-timer-head p{font-size:11px;line-height:1.4}
  .shot-timer-body{grid-template-columns:1fr;padding:0 12px 12px;gap:9px}
  .shot-timer-settings{grid-template-columns:1fr 1fr;padding-top:12px}
  .shot-timer-settings>label:first-child{grid-column:1/-1}
  .shot-timer-console{margin-top:0}
  .shot-timer-clock{font-size:52px}
  .shot-timer-actions .btn{min-height:42px;flex:1}
  .shot-timer-cadence{font-size:11px}
}
@media (max-width:430px){
  .shot-timer-settings{grid-template-columns:1fr}
  .shot-timer-settings>label:first-child{grid-column:auto}
  .shot-timer-clock{font-size:48px}
}

/* =========================================================
   v1.84.8 - TEMPO EFFETTIVO VOLÉE
   Registrazione opzionale con FINE VOLÉE e storico compatto.
   ========================================================= */
.shot-timer-track{
  grid-column:1/-1;
  border-color:#c9ddd2;
  background:#f7fbf8;
  color:#365a47;
}
.shot-timer-console.finished{background:#edf8f2;border-color:#8ebca4}
.shot-timer-console.finished .shot-timer-clock{color:#285c43}
.shot-timer-finish{
  background:#2f6b4f;
  border-color:#2f6b4f;
  color:#fff;
}
.shot-timer-finish:hover:not(:disabled){background:#285c43;border-color:#285c43}
.shot-timer-finish:disabled{opacity:.42;cursor:not-allowed}
.shot-timer-finish-help{
  margin-top:8px;
  font-size:10.5px;
  line-height:1.4;
  color:#607584;
}
.shot-timer-volley-log{
  grid-column:1/-1;
  padding:10px 12px;
  border:1px solid #d8e3df;
  border-radius:10px;
  background:#f8fbf9;
}
.shot-timer-volley-log-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.shot-timer-volley-log-head b{display:block;color:#244c39;font-size:12px}
.shot-timer-volley-log-head span{display:block;margin-top:2px;color:#667b70;font-size:10.5px}
.shot-timer-volley-log-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}
.shot-timer-volley-log-list>span{
  display:inline-flex;
  align-items:baseline;
  gap:5px;
  padding:6px 8px;
  border:1px solid #dce8e1;
  border-radius:8px;
  background:#fff;
  color:#355748;
  font-size:11px;
  font-variant-numeric:tabular-nums;
}
.shot-timer-volley-log-list small{color:#7a8d84;font-size:9.5px}
@media (max-width:700px){
  .shot-timer-actions{flex-wrap:wrap}
  .shot-timer-actions .shot-timer-finish{flex-basis:100%;min-height:48px;font-size:13px}
  .shot-timer-volley-log-head{align-items:flex-start}
  .shot-timer-volley-log-list{display:grid;grid-template-columns:1fr 1fr}
  .shot-timer-volley-log-list>span{justify-content:space-between}
}
@media (max-width:430px){
  .shot-timer-volley-log-head{display:block}
  .shot-timer-volley-log-head .btn{margin-top:8px;width:100%}
  .shot-timer-volley-log-list{grid-template-columns:1fr}
}


/* v1.84.9 - Timer configurabile anche da Allenamento libero */
.free-timer-setup-card{overflow:hidden}
.free-timer-setup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.free-timer-setup-title{flex:1;margin:0}
.free-timer-setup-body{margin-top:14px;padding-top:14px;border-top:1px solid #e5eaee}
.free-timer-setup-body>p{margin:0 0 12px;color:var(--muted);font-size:12px;line-height:1.5}
.free-timer-setup-grid{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(120px,.7fr) repeat(4,minmax(135px,1fr));gap:9px;align-items:end}
.free-timer-setup-grid>label:not(.shot-timer-check){display:grid;gap:5px;color:#435463;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.free-timer-setup-grid select,.free-timer-setup-grid input[type="number"]{width:100%;min-height:42px;border:1px solid #ccd5dc;border-radius:10px;background:#fff;padding:8px 10px;color:#19344f;font:inherit;text-transform:none;letter-spacing:normal}
.free-timer-custom-field.is-hidden{display:none!important}
.free-timer-setup-note{margin-top:10px;padding:9px 11px;border-radius:10px;background:#f6f8fa;color:#60707c;font-size:11px;line-height:1.45}
@media(max-width:1100px){.free-timer-setup-grid{grid-template-columns:1fr 1fr 1fr}.free-timer-main-field{grid-column:1/3}}
@media(max-width:700px){
 .free-timer-setup-head{align-items:flex-start;gap:10px}
 .free-timer-setup-title{display:block}
 .free-timer-setup-title small{display:block;margin-top:5px}
 .free-timer-setup-grid{grid-template-columns:1fr 1fr}
 .free-timer-main-field{grid-column:1/-1}
 .free-timer-setup-grid .shot-timer-check{min-height:44px}
}
@media(max-width:430px){
 .free-timer-setup-grid{grid-template-columns:1fr}
 .free-timer-main-field{grid-column:auto}
 .free-timer-setup-head .shot-timer-toggle{flex:0 0 auto}
}


/* =========================================================
   v1.84.10 - TIMER MOBILE FULL-SCREEN
   Vista operativa a schermo intero durante la volée.
   ========================================================= */
.shot-timer-collapse{display:none}
@media (max-width:700px){
  body.shot-timer-mobile-active{overflow:hidden;overscroll-behavior:none;touch-action:manipulation}
  .shot-timer-console.mobile-fullscreen{
    position:fixed;
    inset:0;
    z-index:10050;
    width:100vw;
    height:100vh;
    height:100dvh;
    box-sizing:border-box;
    margin:0;
    border:0;
    border-radius:0;
    padding:max(22px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    overflow:auto;
    box-shadow:none;
  }
  .shot-timer-console.mobile-fullscreen .shot-timer-collapse{
    display:inline-flex;
    position:absolute;
    top:max(12px,env(safe-area-inset-top));
    right:max(12px,env(safe-area-inset-right));
    z-index:2;
    align-items:center;
    gap:5px;
    min-height:38px;
    border:1px solid rgba(23,56,95,.18);
    border-radius:999px;
    background:rgba(255,255,255,.82);
    color:#17385f;
    padding:7px 11px;
    font-size:20px;
    line-height:1;
    font-weight:800;
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
  }
  .shot-timer-console.mobile-fullscreen .shot-timer-collapse span{font-size:10px;letter-spacing:.08em}
  .shot-timer-console.mobile-fullscreen .shot-timer-state{font-size:14px;letter-spacing:.16em}
  .shot-timer-console.mobile-fullscreen .shot-timer-clock{
    margin:4px 0 14px;
    font-size:clamp(82px,27vw,156px);
    line-height:.95;
    letter-spacing:.015em;
  }
  .shot-timer-console.mobile-fullscreen .shot-timer-actions{
    width:min(560px,100%);
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .shot-timer-console.mobile-fullscreen .shot-timer-actions .btn{
    min-height:54px;
    width:100%;
    font-size:14px;
  }
  .shot-timer-console.mobile-fullscreen .shot-timer-actions .shot-timer-finish{
    grid-column:1/-1;
    grid-row:1;
    min-height:64px;
    font-size:17px;
  }
  .shot-timer-console.mobile-fullscreen .shot-timer-finish-help{
    width:min(560px,100%);
    margin-top:2px;
    font-size:11px;
  }
}
@media (max-width:430px){
  .shot-timer-console.mobile-fullscreen{gap:10px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
  .shot-timer-console.mobile-fullscreen .shot-timer-state{font-size:12px}
  .shot-timer-console.mobile-fullscreen .shot-timer-clock{font-size:clamp(76px,28vw,124px)}
  .shot-timer-console.mobile-fullscreen .shot-timer-actions{grid-template-columns:1fr}
  .shot-timer-console.mobile-fullscreen .shot-timer-actions .shot-timer-finish{grid-column:auto;grid-row:auto;order:-1}
}

/* v1.84.12 - Punteggi gare ufficiali, condizioni avanzate + filtri obiettivo Libreria */
.official-competition-form{display:flex;flex-direction:column;gap:18px}
.official-competition-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.official-competition-form-head span{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;color:#667788;margin-bottom:5px}
.official-competition-form-head h3{margin:0}
.official-competition-fields{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:end}
.official-competition-total-field input{font-weight:900;background:#eef4f8}
.official-competition-conditions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:4px}
.official-competition-conditions>div>label{display:block;font-size:11px;font-weight:900;letter-spacing:.08em;color:#516273;margin-bottom:8px;text-transform:uppercase}
.official-competition-condition-block{border-top:1px solid #e7edf2;padding-top:14px}
.official-competition-condition-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.official-competition-condition-head b{font-size:11px;letter-spacing:.09em;color:#2c455c}
.official-competition-condition-head span{font-size:11px;color:#758491}
.official-competition-extra{border:1px solid #e0e7ed;border-radius:13px;background:#fafcfd;padding:0 13px}
.official-competition-extra>summary{cursor:pointer;list-style:none;padding:12px 0;font-size:11px;font-weight:900;letter-spacing:.07em;color:#31516b}
.official-competition-extra>summary::-webkit-details-marker{display:none}
.official-competition-extra>summary span{font-weight:600;letter-spacing:0;color:#788795;margin-left:8px}
.official-competition-extra[open]>summary{border-bottom:1px solid #e7edf2}
.official-competition-extra-grid{padding:13px 0}
.official-competition-athlete-state{border:1px solid #e0e7ed;border-radius:13px;padding:13px;background:#fff}
.competition-state-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.competition-state-item>label{display:block;font-size:11px;font-weight:900;letter-spacing:.07em;color:#516273;margin-bottom:7px;text-transform:uppercase}
.competition-state-row{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.competition-state-btn{min-height:38px;border:1px solid #d6dfe7;border-radius:9px;background:#fff;color:#516273;font-weight:900;cursor:pointer}
.competition-state-btn:hover{background:#f6f9fb;border-color:#8fa8be}
.competition-state-btn.active{background:#17385f;border-color:#17385f;color:#fff;box-shadow:0 0 0 2px rgba(36,78,115,.08)}
.official-competition-state-summary{margin-top:6px;font-size:12px;font-weight:800;color:#31516b}
.competition-condition-row{display:flex;gap:6px;flex-wrap:wrap}
.competition-condition-btn{min-width:64px;min-height:58px;border:1px solid #d6dfe7;border-radius:12px;background:#fff;color:#455767;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:7px 8px;cursor:pointer;transition:.15s ease}
.competition-condition-btn span{font-size:20px;line-height:1;white-space:nowrap}
.competition-condition-btn b{font-size:10px;letter-spacing:.03em}
.competition-condition-btn:hover{border-color:#8fa8be;background:#f6f9fb}
.competition-condition-btn.active{border-color:#244e73;background:#e7f0f7;color:#17385f;box-shadow:0 0 0 2px rgba(36,78,115,.08)}
.official-competition-notes-field textarea{width:100%}
.official-competition-list-section{margin-top:22px}
.official-competition-list-section .section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px}
.official-competition-list-section .section-head h3{margin:0 0 3px}
.official-competition-list-section .section-head>b{font-size:22px}
.official-competition-list{display:flex;flex-direction:column;gap:10px}
.official-competition-card{position:relative;border:1px solid #dfe6ec;border-radius:14px;background:#fff;padding:14px 48px 14px 14px;box-shadow:0 2px 10px rgba(35,55,75,.04)}
.official-competition-card.archived{opacity:.72;margin-top:8px}
.official-competition-main{display:grid;grid-template-columns:1.4fr 1.25fr repeat(4,minmax(80px,.75fr));gap:12px;align-items:center}
.official-competition-main>div{min-width:0}
.official-competition-main span{display:block;font-size:9px;font-weight:900;letter-spacing:.08em;color:#788795;margin-bottom:3px}
.official-competition-main b{display:block;font-size:15px;color:#20384c;white-space:normal}
.official-competition-date span{font-size:14px;color:#20384c;letter-spacing:0}
.official-competition-date small{display:block;color:#657482;margin-top:3px}
.official-competition-total b{font-size:22px;color:#17385f}
.official-competition-condition-summary{margin-top:10px;padding-top:9px;border-top:1px solid #edf1f4;font-size:12px;font-weight:700;color:#526575}
.official-competition-notes{margin:8px 0 0;color:#596a78;font-size:12px;line-height:1.45;white-space:pre-wrap}
.official-competition-actions{position:absolute;right:10px;top:10px;display:flex;gap:5px;align-items:center}
.official-competition-actions .btn{font-size:9px;padding:6px 8px}
.official-competition-archived{margin-top:16px;border-top:1px solid #e4e9ee;padding-top:12px}
.official-competition-archived>summary{cursor:pointer;font-size:11px;font-weight:900;letter-spacing:.08em;color:#687988}
.official-competition-chart-marker line{stroke:#9a6b31;stroke-width:1.5;stroke-dasharray:4 4;opacity:.5}
.official-competition-chart-marker circle{fill:#fff4df;stroke:#9a6b31;stroke-width:2}
.official-competition-chart-marker text{font-size:10px;font-weight:900;fill:#79501e}
.official-competition-legend:before{content:'●';color:#9a6b31;margin-right:6px}
.official-competition-legend.muted{opacity:.35}
.analysis-competition-type{min-width:145px}
.library-objective-filter{border-top:1px solid #e5ebef;padding-top:13px;margin-top:13px}
.library-objective-filter-head{display:flex;align-items:baseline;gap:10px;margin-bottom:9px}
.library-objective-filter-head b{font-size:11px;letter-spacing:.09em;color:#2c455c}
.library-objective-filter-head span{font-size:11px;color:#758491}
.library-objective-chip-row{display:flex;gap:7px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}
.library-objective-chip{flex:0 0 auto;border:1px solid #d5dfe7;border-radius:999px;background:#fff;color:#536676;font-size:10px;font-weight:900;letter-spacing:.04em;padding:8px 11px;cursor:pointer;white-space:nowrap}
.library-objective-chip:hover{background:#f5f8fa;border-color:#9db0bf}
.library-objective-chip.active{background:#17385f;border-color:#17385f;color:#fff}
@media (max-width:1100px){
 .official-competition-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
 .official-competition-conditions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .official-competition-main{grid-template-columns:repeat(3,minmax(0,1fr))}
 .official-competition-actions{position:static;margin-top:10px;justify-content:flex-end}
 .official-competition-card{padding-right:14px}
}
@media (max-width:700px){
 .official-competition-form{gap:14px}
 .official-competition-form-head{flex-direction:column}
 .official-competition-fields{grid-template-columns:1fr 1fr;gap:10px}
 .official-competition-fields .field:nth-child(2),.official-competition-fields .field:nth-child(3){grid-column:1/-1}
 .official-competition-conditions{grid-template-columns:1fr;gap:14px}
 .official-competition-condition-head{display:block}
 .official-competition-condition-head span{display:block;margin-top:4px;line-height:1.35}
 .official-competition-extra>summary span{display:block;margin:4px 0 0;line-height:1.35}
 .competition-state-grid{grid-template-columns:1fr;gap:12px}
 .competition-state-btn{min-height:44px}
 .competition-condition-row{display:grid;grid-template-columns:repeat(3,1fr)}
 .competition-condition-btn{min-width:0;width:100%;min-height:62px}
 .official-competition-main{grid-template-columns:1fr 1fr;gap:10px}
 .official-competition-date{grid-column:1/-1}
 .official-competition-total b{font-size:20px}
 .official-competition-actions{justify-content:space-between}
 .official-competition-actions .btn{min-height:38px}
 .library-objective-filter-head{display:block}
 .library-objective-filter-head span{display:block;margin-top:4px}
 .library-objective-chip-row{margin-left:-2px;margin-right:-2px;padding-bottom:9px;-webkit-overflow-scrolling:touch}
 .library-objective-chip{min-height:40px;padding:9px 12px}
 .analysis-competition-type{width:100%}
}
@media (max-width:430px){
 .official-competition-fields{grid-template-columns:1fr}
 .official-competition-fields .field:nth-child(2),.official-competition-fields .field:nth-child(3){grid-column:auto}
 .official-competition-main{grid-template-columns:1fr 1fr}
}

/* =========================================================
   v1.85.0 - CONSOLIDAMENTO ADATTIVO M.A.C.
   ========================================================= */
.exercise-personal-evidence{margin-top:8px;padding:8px 10px;border-radius:10px;border:1px solid #dce5eb;background:#f8fafb;display:flex;flex-direction:column;gap:2px}
.exercise-personal-evidence span{font-size:9px;font-weight:900;letter-spacing:.08em;color:#536979}
.exercise-personal-evidence small{font-size:11px;line-height:1.35;color:#617381}
.exercise-personal-evidence.high{background:#edf7f0;border-color:#bdddc6}
.exercise-personal-evidence.medium{background:#f8f5e9;border-color:#ded3a6}
.exercise-personal-evidence.low{background:#f8f8f8;border-color:#dedede}
.exercise-personal-evidence.disabled{background:#f5f6f7;border-style:dashed;color:#7b8790}
.exercise-response-panel{grid-column:1/-1;border:1px solid #dce5eb;background:#f8fafb;border-radius:14px;padding:13px;margin-top:2px}
.exercise-response-panel.positive{border-color:#bdddc6;background:#f1f8f3}
.exercise-response-panel.negative{border-color:#e4c8c8;background:#fcf5f5}
.exercise-response-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.exercise-response-head>div{min-width:0}
.exercise-response-head span{display:block;font-size:9px;font-weight:900;letter-spacing:.09em;color:#627788}
.exercise-response-head b{display:block;font-size:14px;color:#20384c;margin:2px 0}
.exercise-response-head small{display:block;font-size:11px;color:#677987;line-height:1.35}
.exercise-response-head em{font-style:normal;font-size:10px;font-weight:800;color:#526b7d;text-align:right;max-width:240px}
.exercise-response-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.exercise-response-notes{margin-top:9px}
.exercise-response-notes label span{font-weight:500;color:#89949d}
.exercise-transfer-hint{display:block;margin-top:8px;color:#5e7180;line-height:1.4}
.session-learning-feedback{border:1px solid #d7e4ed;background:#f5f9fc;border-radius:14px;padding:13px;margin-bottom:14px}
.session-learning-feedback-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:10px}
.session-learning-feedback-head span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#274f70}
.session-learning-feedback-head small{font-size:11px;color:#657785;line-height:1.35;max-width:620px;text-align:right}
.session-learning-feedback-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}
.focus-improved-field .guided-choice-row{grid-template-columns:repeat(4,minmax(0,1fr))}
.official-competition-total small,.official-competition-main>div>small{display:block;margin-top:3px;font-size:10px;color:#72818d;line-height:1.3}
#officialCompetitionNormalized{display:block;margin-top:4px;font-size:10px;color:#627481;font-weight:700}
@media (max-width:700px){
 .exercise-response-head{display:block}
 .exercise-response-head em{display:block;text-align:left;max-width:none;margin-top:5px}
 .exercise-response-grid{grid-template-columns:1fr}
 .session-learning-feedback-head{display:block}
 .session-learning-feedback-head small{display:block;text-align:left;margin-top:4px;max-width:none}
 .session-learning-feedback-grid{grid-template-columns:1fr}
 .focus-improved-field .guided-choice-row{grid-template-columns:1fr 1fr}
}
@media (max-width:430px){
 .focus-improved-field .guided-choice-row{grid-template-columns:1fr}
}

/* v1.85.2 – Punteggi gare: distanze/frecce guidate, visuale ABCD e media vs PB */
.official-competition-fields{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.official-competition-fields .field{min-width:0}
.official-competition-position-field{grid-column:span 2;border:1px solid #dfe6ec;border-radius:12px;padding:10px 12px;margin:0;min-width:0}
.official-competition-position-field legend{font-size:12px;font-weight:800;color:#20384c;padding:0 5px}
.official-competition-position-field small,.official-competition-fields .field small{font-size:11px;line-height:1.4;display:block;margin-top:5px;color:#657482}
.competition-position-grid{display:grid;grid-template-columns:repeat(2,minmax(0,70px));gap:8px;margin:5px 0 8px}
.competition-position-tile{position:relative;cursor:pointer}
.competition-position-tile input{position:absolute;opacity:0;width:1px;height:1px}
.competition-position-tile span{display:flex;align-items:center;justify-content:center;min-height:43px;border-radius:9px;border:1px solid #a9bccd;background:#f4f7fa;font-weight:900;color:#20384c}
.competition-position-tile input:checked+span{border-color:#17385f;background:#17385f;color:white}
.competition-position-tile input:focus-visible+span{outline:3px solid #d9a34b;outline-offset:2px}
.official-competition-average-preview{grid-column:span 2;border-radius:12px;background:#f4f7fa;border:1px solid #dfe6ec;padding:11px 13px;display:flex;flex-direction:column;gap:5px;min-width:0}
.official-competition-average-preview>span{font-size:11px;letter-spacing:.08em;font-weight:900;color:#536476}
.competition-avg{font-size:18px;line-height:1.2;font-weight:900;white-space:normal}
.competition-avg.above{color:#17663b}
.competition-avg.below{color:#b42332}
.competition-avg.neutral{color:#355069}
.competition-avg-detail,.official-competition-average-preview small{font-size:11px;line-height:1.4;color:#657482;display:block}
.official-competition-main{grid-template-columns:1.25fr 1.45fr repeat(5,minmax(0,.9fr))}
.official-competition-average{min-width:0}
.official-competition-average .competition-avg{font-size:15px;white-space:normal}
@media(max-width:1100px){.official-competition-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.official-competition-main{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.official-competition-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.official-competition-main{grid-template-columns:repeat(2,minmax(0,1fr))}.official-competition-fields .field:nth-child(2),.official-competition-fields .field:nth-child(3){grid-column:1/-1}}
@media(max-width:430px){.official-competition-fields{grid-template-columns:1fr}.official-competition-position-field,.official-competition-average-preview{grid-column:1/-1}.official-competition-fields .field:nth-child(2),.official-competition-fields .field:nth-child(3){grid-column:auto}}

/* Il layout dei campi non deve scavalcare l’attributo hidden. */
#officialCompetitionDistanceCustom[hidden],#officialCompetitionArrowsCustom[hidden]{display:none!important}

/* v1.85.3 — Scienza del tiro: biblioteca scientifica editoriale, responsive. */
.science-intro{margin-bottom:14px;background:#f4f8fc;border-color:#d1dfea}
.science-intro b{color:var(--navy)}.science-intro p{margin:6px 0 0;font-size:13px;line-height:1.55;color:#54697b}
.science-search{display:grid;grid-template-columns:minmax(0,2fr) minmax(190px,1fr);gap:14px;margin-bottom:11px}
.science-search .field{min-width:0}.science-search .field input,.science-search .field select{width:100%}
.science-library-count{font-size:11px;letter-spacing:.06em;font-weight:900;color:#62798b;margin:12px 0}
.science-document-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.science-document-card{min-width:0;display:flex;flex-direction:column;gap:8px}.science-document-card[hidden],#scienceNoResults[hidden]{display:none!important}
.science-document-card h3{font-size:17px;color:var(--navy);margin:0;overflow-wrap:anywhere}.science-document-card p{font-size:12px;line-height:1.5;margin:0;color:#5b7080;overflow-wrap:anywhere}.science-document-card .btnrow{margin-top:auto;padding-top:10px}
.science-labels{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}.science-labels span{font-size:10px;font-weight:800;color:#284b64;background:#e9f1f7;border:1px solid #d5e2ec;padding:4px 8px;border-radius:99px}
.science-detail{display:grid;gap:14px;min-width:0}.science-detail>button:first-child{justify-self:start}.science-detail-head{padding:23px}.science-detail-head h2{margin:9px 0;color:var(--navy);font-size:25px;line-height:1.22;overflow-wrap:anywhere}.science-detail-head p{margin:5px 0 12px;font-size:13px;color:#607487;overflow-wrap:anywhere}.science-detail-link{display:flex;gap:9px;flex-wrap:wrap}
.science-scope{border:1px solid #dbe5ef;background:#f4f8fc;padding:12px;border-radius:12px;margin:0}
.science-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.science-detail-section{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;min-width:0}
.science-detail-section h3{font-size:13px;color:var(--navy);margin:0 0 8px}.science-detail-section p{font-size:13px;line-height:1.65;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:#526677}
.science-relations,.science-proposals{min-width:0}.science-relations h3,.science-proposals h3{font-size:15px;color:var(--navy);margin:0 0 10px}.science-proposals>p{font-size:12px;color:#607181;line-height:1.5}
.science-relation-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #e7edf1;min-width:0;flex-wrap:wrap}.science-relation-row>div{flex:1;min-width:180px}.science-relation-row b{font-size:13px;color:#243e52;display:block}.science-relation-row small{font-size:11px;color:#61798b;line-height:1.5;display:block;margin-top:4px}
.science-manual-link{padding:13px;border-radius:11px;background:#f4f8fc;border:1px solid #dce7ef;margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.science-manual-link label{font-size:12px;font-weight:700;width:100%;color:#38576f}.science-manual-link select{flex:1;min-width:180px;max-width:100%;padding:9px;border-radius:9px;border:1px solid #bfceda}
.science-exercise-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.science-exercise-links button{text-align:left;white-space:normal;line-height:1.45;overflow-wrap:anywhere;max-width:100%}
.science-editor-dialog{width:min(950px,96vw);padding:0 22px 22px}.science-editor-dialog h2{color:var(--navy);font-size:23px;margin:16px 0 8px}.science-editor-dialog>p{max-width:780px}
.science-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:18px 0}
.science-editor-field{display:flex;flex-direction:column;gap:6px;min-width:0;color:#3a5468}.science-editor-field>span,.science-editor-field>b{font-weight:800;font-size:12px}.science-editor-field input:not([type=checkbox]),.science-editor-field select,.science-editor-field textarea{width:100%;min-width:0;padding:10px;border:1px solid #c7d6e1;border-radius:9px;background:#fff;outline:none;color:#263341}.science-editor-field textarea{resize:vertical;line-height:1.5}
.science-wide{grid-column:1/-1}.science-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;border:1px solid #e0e8ee;border-radius:10px;padding:12px;max-height:230px;overflow:auto}.science-check-grid label{display:flex;align-items:flex-start;gap:7px;font-size:12px;line-height:1.4;cursor:pointer}.science-check-grid input,.science-review-consent input{accent-color:var(--navy);flex:0 0 auto;margin-top:2px}
.science-review-consent{display:flex;gap:10px;align-items:flex-start;background:#edf5ef;border:1px solid #c4dec9;border-radius:11px;padding:13px}.science-review-consent span{font-size:12px;line-height:1.5;color:#2e563c}
.science-archive{margin-top:15px}.science-archive summary{font-size:12px;color:var(--navy);font-weight:800;cursor:pointer}.science-owner-help{font-size:12px}
@media(max-width:800px){.science-document-list,.science-detail-grid{grid-template-columns:1fr}.science-search{grid-template-columns:1fr}}
@media(max-width:600px){.science-editor-dialog{padding:0 14px 15px}.science-editor-fields,.science-check-grid{grid-template-columns:1fr}.science-wide{grid-column:auto}.science-detail-head{padding:15px}.science-detail-head h2{font-size:21px}.science-relation-row>button{max-width:100%;white-space:normal}.science-manual-link select,.science-manual-link button{width:100%;flex-basis:100%}.science-document-card{padding:14px}.science-detail-link a{white-space:normal;overflow-wrap:anywhere}}

/* v1.85.4 - revisione associazioni */
.science-review-board{margin:16px 0;display:grid;gap:13px}
.science-review-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.science-review-heading h3{margin:0 0 5px}
.science-review-heading p{margin:0;max-width:690px;font-size:.86rem;opacity:.83}
.science-review-total{padding:8px 12px;border-radius:12px;font-weight:750;background:var(--surface-2,#e8eeed)}
.science-review-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.science-review-stats span{border:1px solid var(--border,#d9e1df);padding:10px;border-radius:10px;display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:.86rem}
.science-review-stats b{font-size:1.15rem}
.science-review-queue>summary{cursor:pointer;font-weight:700;margin:8px 0}
.science-review-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border,#d9e1df);padding:12px 0}
.science-review-row>div:first-child{flex:1 1 230px;min-width:0;display:grid;gap:4px}
.science-review-row small{opacity:.75;overflow-wrap:anywhere}
.science-review-row p{font-size:.83rem;margin:0;overflow-wrap:anywhere}
.science-review-status{font-size:.69rem;font-weight:750;letter-spacing:.03em}
.science-review-status.pending{color:#267552}.science-review-status.review{color:#9c6919}.science-review-status.invalid{color:#ab3f3f}
.science-review-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
@media(max-width:767px){.science-review-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.science-review-actions{width:100%}.science-review-actions>.btn{flex:1 1 auto}}

.science-audit{font-size:.75rem;opacity:.85}.science-audit summary{cursor:pointer}.science-audit small{display:block;padding:4px 0;overflow-wrap:anywhere}

/* v1.85.5 — Scheda operativa da campo: standard visuale unificato, mobile first, stampabile. */
.field-nav{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 17px;align-items:center}
.field-nav .btn{flex:1 1 200px;min-width:0;white-space:normal;text-align:center}
.field-detail{display:grid;gap:15px;min-width:0;max-width:900px;margin:0 auto}
.field-detail>button:first-child{justify-self:start}
.field-sheet{--field-navy:#17385f;--field-green:#548235;background:#fff;border:1px solid #dce3ea;border-radius:20px;overflow:hidden;box-shadow:0 7px 24px rgba(22,44,62,.06);color:#293d50;min-width:0}
.field-sheet-header{background:var(--field-navy);color:white;padding:25px 27px}
.field-sheet-eyebrow{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:11px;letter-spacing:.045em}
.field-sheet-eyebrow span{border:1px solid #8fa8bf;border-radius:50px;padding:5px 11px}
.field-sheet-header>small{display:block;color:#c9dcf3;font-size:10px;font-weight:800;margin-top:17px;letter-spacing:.08em}
.field-sheet-header h2{font-size:clamp(23px,4vw,30px);line-height:1.16;margin:5px 0 10px;color:white;overflow-wrap:anywhere}
.field-sheet-header p{color:#e0ebf8;line-height:1.5;margin:0 0 14px;font-size:13px}
.field-sheet-tags{display:flex;flex-wrap:wrap;gap:7px}
.field-sheet-tags span{font-size:10px;color:#f7fbff;border:1px solid #6383a2;border-radius:50px;padding:5px 10px}
.field-sheet-body{padding:21px 26px;display:grid;gap:16px}
.field-sheet-body section{min-width:0}
.field-sheet-body section h3{font-size:13px;line-height:1.4;letter-spacing:.025em;margin:0 0 7px;color:var(--field-navy)}
.field-sheet-body section p{font-size:13px;line-height:1.67;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.field-sheet-why{background:#edf3fa;border-radius:12px;padding:17px}
.field-sheet-actions{border-top:1px solid #e1e8ed;padding-top:14px}
.field-sheet-actions h3{color:var(--field-green)!important}
.field-sheet-actions ol{counter-reset:field-step;padding:0;margin:12px 0 0;list-style:none;display:grid;gap:12px}
.field-sheet-actions li{counter-increment:field-step;display:grid;grid-template-columns:29px minmax(0,1fr);align-items:start;gap:11px;font-size:13px;line-height:1.62;overflow-wrap:anywhere}
.field-sheet-actions li:before{content:counter(field-step);width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e7f0e0;color:#375b24;font-weight:900;font-size:12px}
.field-sheet-alert{background:#fff3e7;border:1px solid #f1d3b4;border-radius:12px;padding:15px}
.field-sheet-alert h3{color:#945417!important}
.field-sheet-evidence{border:1px solid #d8e4f0;border-radius:12px;padding:17px}
.field-sheet-sources{margin-top:12px;background:#edf3fa;padding:13px;border-radius:10px;display:grid;gap:10px}
.field-sheet-sources>b{font-size:12px;color:var(--field-navy)}
.field-sheet-source{border-top:1px solid #d0dce6;padding-top:9px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px;min-width:0}
.field-sheet-source span{width:100%;line-height:1.5;overflow-wrap:anywhere}
.field-sheet-source a{font-size:11px;color:#245b97;overflow-wrap:anywhere}
.field-sheet-source .btn{white-space:normal;text-align:center}
.field-sheet-warning{border-top:1px solid #dce3ea;padding-top:13px}
.field-sheet-warning p{font-size:11px!important;color:#596b7a}
.field-sheet-footer{background:#f4f7fa;display:flex;justify-content:space-between;flex-wrap:wrap;gap:9px;padding:13px 24px;font-size:10px;color:#617181}
.field-sheet-footer b{color:var(--field-navy)}
.field-blocked{border:2px solid #bb771b;background:#fff3e5;color:#754a11;border-radius:11px;padding:14px}
.field-blocked p{font-size:12px;margin:4px 0 0}
.field-management{display:grid;gap:9px}
.field-management h3{margin:0;color:var(--navy)}
.field-library-card[hidden],#fieldNoResults[hidden]{display:none!important}
@media(max-width:600px){.field-sheet{border-radius:14px}.field-sheet-header{padding:19px 16px}.field-sheet-body{padding:15px 13px;gap:14px}.field-sheet-why,.field-sheet-alert,.field-sheet-evidence{padding:13px}.field-sheet-footer{padding:12px 14px}.field-nav{gap:6px}.field-nav .btn{flex-basis:135px;padding:11px 7px;font-size:10px}.field-sheet-source>.btn{width:100%}}
@media print{.field-nav,.field-detail>button:first-child,.field-management,.field-sheet-source .btn,.field-sheet-source a,body nav,body aside{display:none!important}.field-detail,.field-sheet{max-width:none;box-shadow:none;border:none}.field-sheet{-webkit-print-color-adjust:exact;print-color-adjust:exact;break-inside:avoid}.field-sheet-body{gap:10px}.field-sheet-actions li{break-inside:avoid}}

.field-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
@media print{.field-toolbar{display:none!important}}

/* v1.85.6 — wordmark tipografico provvisorio: immagine di titolarita non documentata esclusa dal pacchetto. */
.mac-logo-wordmark{display:grid;place-items:center;background:#17385f!important;color:white!important;font-size:13px;font-weight:900;letter-spacing:-.08em;font-family:Arial,sans-serif;border-radius:50%;width:100%;height:100%;line-height:1}.mac-sheet-logo.mac-logo-wordmark{width:80px;height:62px;flex:0 0 80px;font-size:23px;letter-spacing:-.08em}.science-rights-panel,.mac-rights-statement{display:grid;gap:7px}.mac-rights-statement{border:1px solid #d8e4f0;padding:12px;border-radius:10px;background:#f8fbfe;font-size:11px;overflow-wrap:anywhere}.mac-rights-statement p{margin:0;font-size:11px;line-height:1.5}.mac-rights-statement b{font-size:11px;color:#17385f}.mac-rights-statement a{color:#245b97;overflow-wrap:anywhere}.field-sheet-source .mac-rights-statement{flex:1 1 100%;width:100%;}.field-sheet-source .mac-rights-statement p{font-size:10px;}.science-editor-field h3{margin:7px 0;color:#17385f}@media print{.field-sheet-source a{display:inline!important;overflow-wrap:anywhere}.field-sheet .mac-rights-statement{break-inside:avoid}}

@media print{.field-toolbar{display:none!important}}

/* v1.85.7 — avviso di titolarità dei componenti originali; non modifica licenze di terzi. */
.mac-code-rights-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 14px;padding:12px 18px;border-top:1px solid #dce3ea;background:#f4f7fa;color:#526579;font-size:11px;line-height:1.5;text-align:center}
.mac-code-rights-footer span:first-child{font-weight:700;color:#17385f}
.registration-page>.mac-code-rights-footer{width:min(980px,100%);margin:15px auto 0;background:transparent;border-top:1px solid #dce3ea}
@media print{.mac-code-rights-footer{display:none!important}}

/* v1.85.8 · Vetrina delle anteprime editoriali (non equivale a pubblicazione). */
.science-starter-preview{border:2px solid #d1a14e;background:#fff9ec;display:grid;gap:12px}
.science-starter-preview h3{margin:5px 0;color:#17385f}
.science-starter-preview p{margin:0;color:#38506a;line-height:1.55}
.science-starter-kicker{font-size:.73rem;font-weight:900;letter-spacing:.065em;color:#8a5b17}
.science-starter-workflow{border-left:5px solid #548235;background:#f2f8ef}
.science-starter-workflow p{margin:8px 0;line-height:1.55}
.science-starter-preview .btnrow,.science-starter-workflow .btnrow{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:480px){.science-starter-preview .btnrow>.btn,.science-starter-workflow .btnrow>.btn{width:100%;white-space:normal}}


/* v1.86.6 - Logo ufficiale M.A.C. con emblema circolare */
.logo.mac-logo-wrap{background:transparent;border-radius:50%;overflow:hidden;padding:0;box-shadow:none;}
.logo.mac-logo-wrap img{width:100%;height:100%;display:block;object-fit:contain;border-radius:50%;}
.registration-brand{gap:15px;}
.mac-registration-logo{width:84px;height:84px;box-shadow:0 6px 20px rgba(23,56,95,.08);}
.mac-registration-logo img{width:100%;height:100%;display:block;object-fit:contain;border-radius:50%;}
.registration-brand h1{font-size:22px;letter-spacing:.01em;}
.registration-brand span{font-size:12.5px;}
.mac-sheet-logo{width:86px;height:86px;object-fit:contain;flex:0 0 86px;border-radius:50%;background:transparent;}
@media(max-width:700px){.mac-sheet-logo{width:62px;height:62px;flex-basis:62px}}
@media(max-width:430px){.mac-registration-logo{width:72px;height:72px}}


/* Patch UI UTENTE - Accesso catalogo cloud: campi allineati e responsivi.
   Solo resa grafica; non modifica autenticazione, RLS o schede. */
.mac-cloud-login{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 16px;
  align-items:end;
  max-width:760px;
  margin-top:16px;
}
.mac-cloud-login label{
  display:grid;
  gap:6px;
  min-width:0;
  font-size:14px;
  font-weight:700;
}
.mac-cloud-login input{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  min-height:44px;
  margin:0;
  padding:10px 12px;
  border:1px solid #cad5df;
  border-radius:10px;
  background:#fff;
}
.mac-cloud-login input:focus-visible{
  outline:3px solid #91b5de;
  outline-offset:2px;
}
.mac-cloud-login button[type="submit"]{
  grid-column:1/-1;
  justify-self:start;
  margin:0;
  min-height:44px;
  white-space:normal;
}
@media (max-width:620px){
  .mac-cloud-login{grid-template-columns:minmax(0,1fr);gap:12px;}
  .mac-cloud-login button[type="submit"]{width:100%;}
}

/* Patch feedback accessibile per Sincronizza/Scollega (solo UI UTENTE). */
.mac-cloud-status .btnrow button:disabled{opacity:.72;cursor:progress;filter:saturate(.72);}
.mac-cloud-feedback{font-size:13px;line-height:1.5;color:#315c77;margin:12px 0 0;min-height:1.2em;}
.mac-cloud-feedback:empty{display:none;}
.mac-cloud-status[aria-busy="true"] .btnrow button:disabled{border:1px solid #90abc5;}


/* Patch 2 - feedback davvero percepibile: pulsanti stabili, niente salto orizzontale. */
.mac-cloud-status .btnrow{align-items:stretch;gap:10px;}
.mac-cloud-status .btnrow button{box-sizing:border-box;width:224px;max-width:100%;flex:0 0 224px;min-height:49px;white-space:nowrap;text-align:center;transition:background-color .16s ease,border-color .16s ease;}
.mac-cloud-status[data-operation="sync"] #macCloudRefresh,
.mac-cloud-status[data-operation="logout"] #macCloudLogout{background:#17385f;color:#fff;border:1px solid #17385f;opacity:1;}
.mac-cloud-feedback[data-state="pending"]{background:#eaf2fb;color:#17385f;border:1px solid #8fb3dc;border-radius:9px;padding:10px 12px;font-weight:750;}
.mac-cloud-feedback[data-state="success"]{background:#e6f6ea;color:#235c32;border:1px solid #96cfa2;border-radius:9px;padding:10px 12px;font-weight:750;}
.mac-cloud-feedback[data-state="error"]{background:#fff0ed;color:#9c2d1b;border:1px solid #e2a89e;border-radius:9px;padding:10px 12px;font-weight:750;}
@media(max-width:620px){.mac-cloud-status .btnrow button{width:100%;max-width:100%;flex:1 1 100%;}}

/* ================================================================
   v1.86.6a - BACKUP UI: DIALOG INTERNI, FEEDBACK, RECOVERY WELCOME
   ================================================================ */
.data-integrity-dialog{max-width:900px;padding:30px!important}
.data-integrity-dialog .exercise-duplicate-head{padding:2px 2px 4px}
.data-integrity-dialog [data-integrity-body]{margin-top:8px}
.data-integrity-dialog .exercise-duplicate-actions{padding-top:4px}

.mac-ui-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(16,31,45,.56);backdrop-filter:blur(3px)}
.mac-ui-dialog{width:min(620px,96vw);max-height:90vh;overflow:auto;border:1px solid #d8e2e9;border-radius:20px;background:#fff;box-shadow:0 28px 80px rgba(8,30,47,.30);padding:28px}
.mac-ui-dialog-head>span{display:block;font-size:10px;font-weight:900;letter-spacing:.11em;color:#6d8190}
.mac-ui-dialog-head h2{margin:5px 0 8px;color:var(--navy);font-size:24px;line-height:1.18}
.mac-ui-dialog-head p{margin:0;color:#607482;line-height:1.55;font-size:13px;white-space:pre-line}
.mac-ui-dialog.success{border-color:#c6dfcf}.mac-ui-dialog.success .mac-ui-dialog-head>span{color:#397553}
.mac-ui-dialog.warning{border-color:#ead9ac}.mac-ui-dialog.warning .mac-ui-dialog-head>span{color:#8a6c20}
.mac-ui-dialog.danger{border-color:#e9b8b8}.mac-ui-dialog.danger .mac-ui-dialog-head>span{color:#a33d3d}
.mac-ui-dialog-details{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:18px;padding:14px;border:1px solid #dfe7ed;border-radius:14px;background:#f8fbfd}
.mac-ui-dialog-details>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e6edf2;padding:7px 4px;color:#637887;font-size:12px}
.mac-ui-dialog-details>div:nth-last-child(-n+2){border-bottom:0}
.mac-ui-dialog-details b{color:var(--navy);font-size:14px}
.mac-ui-dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:22px}
.mac-ui-dialog-actions .btn{min-width:132px}
.mac-ui-toast{position:fixed;z-index:1100;right:24px;bottom:24px;max-width:min(520px,calc(100vw - 32px));transform:translateY(18px);opacity:0;pointer-events:none;border:1px solid #c6dfcf;border-radius:14px;background:#f4fbf6;color:#2f6d48;box-shadow:0 14px 38px rgba(8,30,47,.18);padding:13px 16px;font-size:12.5px;font-weight:800;line-height:1.4;transition:opacity .18s ease,transform .18s ease}
.mac-ui-toast.show{opacity:1;transform:translateY(0)}
.mac-ui-toast.danger{border-color:#e9b8b8;background:#fff8f8;color:#923d3d}
.mac-ui-toast.warning{border-color:#ead9ac;background:#fffdf7;color:#7f651f}

.registration-restore-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:15px 16px;border:1px solid #d6e2ea;border-radius:14px;background:#f7fafc}
.registration-restore-card>div{min-width:0}.registration-restore-card b{display:block;color:var(--navy);font-size:13px}.registration-restore-card span{display:block;margin-top:4px;color:#657987;font-size:11px;line-height:1.45}
.registration-restore-card .btn{flex:0 0 auto;white-space:nowrap}
.registration-restore-card.compact{margin-top:14px;text-align:left}

@media(max-width:680px){
 .data-integrity-dialog{padding:20px!important}
 .mac-ui-modal{padding:10px}.mac-ui-dialog{width:100%;padding:20px;border-radius:16px}.mac-ui-dialog-head h2{font-size:21px}.mac-ui-dialog-details{grid-template-columns:1fr}.mac-ui-dialog-details>div:nth-last-child(-n+2){border-bottom:1px solid #e6edf2}.mac-ui-dialog-details>div:last-child{border-bottom:0}.mac-ui-dialog-actions{flex-direction:column-reverse}.mac-ui-dialog-actions .btn{width:100%}
 .registration-restore-card{align-items:stretch;flex-direction:column}.registration-restore-card .btn{width:100%}
 .mac-ui-toast{right:12px;bottom:12px;max-width:calc(100vw - 24px)}
}


/* M.A.C. v1.86.6b candidate — backup cifrato client-side */
.data-safety-security-note{display:flex;align-items:flex-start;gap:10px;margin:12px 0 4px;padding:12px 14px;border:1px solid #cfe1d7;border-radius:14px;background:#f4faf6;color:#4e6b5b}
.data-safety-security-note b{flex:0 0 auto;color:#2f6d48;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.data-safety-security-note span{font-size:12px;line-height:1.45}
.mac-ui-password-form{display:grid;gap:14px;margin-top:20px}
.mac-ui-password-form label{display:grid;gap:6px;color:#304f67;font-size:12px;font-weight:800}
.mac-ui-password-form input{width:100%;box-sizing:border-box;border:1px solid #c8d6e0;border-radius:12px;background:#fff;color:#173f67;padding:12px 13px;font:inherit;outline:none}
.mac-ui-password-form input:focus{border-color:#6e9bbd;box-shadow:0 0 0 3px rgba(74,126,166,.12)}
.mac-ui-password-hint{padding:10px 12px;border-radius:11px;background:#f6f9fb;color:#6a7f8f;font-size:11.5px;line-height:1.45}
.mac-ui-password-error{min-height:18px;color:#a33d3d;font-size:12px;font-weight:800}
@media(max-width:700px){.data-safety-security-note{flex-direction:column;gap:4px}}

/* v1.86.6e: navigazione su telefoni. Le regole della sidebar aggiunte
   successivamente non devono riattivare i titoli nella riga orizzontale. */
@media(max-width:1050px){
  .sidebar{
    display:flex;
    width:100%;
    min-width:0;
    max-width:100vw;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    touch-action:pan-x pan-y;
    gap:0;
    padding:8px 10px;
  }
  .sidebar .nav-group{
    display:flex;
    align-items:center;
    flex:0 0 auto;
    width:max-content;
    margin:0 8px 0 0;
    padding:0 8px 0 0;
    border-right:1px solid #e1e7ec;
  }
  .sidebar .nav-group:last-child{border-right:0;margin-right:0;padding-right:0}
  .sidebar .nav-group-title{display:none}
  .sidebar .navbtn{flex:0 0 auto;width:auto;min-height:44px;margin:0 2px;padding:9px 11px;white-space:nowrap}
  .layout,.main{min-width:0}
}
@media(max-width:650px){
  .topbar{gap:8px}
  .topbar-right{min-width:0;max-width:68%;gap:5px}
  .brand{min-width:0}
  .main{width:100%;max-width:100%;overflow-x:clip}
  .main>*,.pagehead>*,.card{min-width:0}
  .pagehead p,.dashboard-program-single b{overflow-wrap:anywhere}
  .grid,.cards4,.two-col{grid-template-columns:minmax(0,1fr)}
  .dashboard-today-card{min-width:0}
  .dashboard-today-kpis{min-width:0;flex-wrap:wrap}
  .dashboard-today-kpis>div{min-width:0}
}



/* v1.86.6e: accesso esplicito a tutte le sezioni su telefono. */
.mobile-navigation{min-width:0;background:#fff}
.mobile-menu-toggle{display:none}
@media(min-width:1051px){.mobile-navigation{border-right:1px solid var(--line)}.mobile-navigation .sidebar{border-right:0}}
@media(max-width:650px){
  .mobile-navigation{width:100%;border-bottom:1px solid var(--line)}
  .mobile-menu-toggle{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;border:0;background:#fff;color:var(--navy);font-size:15px;font-weight:800;text-align:left;padding:10px 16px;cursor:pointer}
  .mobile-menu-toggle span{margin-left:auto;font-size:12px;font-weight:600;color:#617789}
  .mobile-navigation .sidebar{display:none;width:100%;max-width:100%;max-height:60vh;overflow-x:hidden;overflow-y:auto;padding:6px 12px 14px;flex-direction:column}
  .mobile-navigation .sidebar.mobile-open{display:flex}
  .mobile-navigation .sidebar .nav-group{display:block;width:100%;margin:0;padding:0;border:0}
  .mobile-navigation .sidebar .nav-group-title{display:block;margin:9px 2px 3px;padding:5px 2px!important;border:0!important;background:none!important;box-shadow:none!important}
  .mobile-navigation .sidebar .navbtn{display:flex;align-items:center;width:100%;min-height:44px;margin:1px 0;padding:10px 12px;white-space:normal;text-align:left}
}
