/* Training screens: compact summaries and mobile attendance. */
.training-intro{margin:.7rem 0}
.training-home-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.65rem 1rem}
.training-home-toolbar>.training-tabs{flex-shrink:0;max-width:100%;overflow-x:auto}
.training-home-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.2rem;max-width:100%}
.training-home-actions .btn{min-height:44px;padding:.55rem .9rem}
.training-intro+#training-tab-panel{margin-top:.8rem}
.training-tabs{display:flex;gap:1.5rem;align-items:stretch;border-bottom:1px solid var(--line,#dbe6ec);min-width:0}
.training-tabs [role=tab]{appearance:none;background:none;border:0;border-bottom:3px solid transparent;border-radius:0;color:var(--muted,#657b89);font:inherit;font-weight:700;min-height:48px;padding:.8rem .3rem;cursor:pointer;white-space:nowrap}
.training-tabs [aria-selected=true]{border-bottom-color:var(--primary,#24637f);color:var(--primary,#24637f)}
.training-tabs button:focus-visible,.training-session-row:focus-visible{outline:3px solid #83b7cc;outline-offset:3px}
#training-tab-panel{margin-top:1.3rem;min-width:0}
.training-group-grid{gap:1.2rem}
.training-group-card{height:100%;text-align:left}
.training-group-card .work-group-card-content{gap:.65rem}
.training-card-next{font-size:.88rem;line-height:1.5;padding:.75rem 0;border-top:1px solid var(--line,#dbe6ec);margin-top:.25rem}
.training-card-progress{display:flex;gap:.5rem;justify-content:space-between;font-size:.86rem}
html:has(.training-group-toolbar,.training-home-toolbar){scrollbar-gutter:stable}
.main-content:has(.training-group-toolbar,.training-home-toolbar){padding-top:0}
.training-group-toolbar{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:flex-start;margin:0}
.training-group-toolbar>.training-tabs{flex-shrink:0;max-width:100%;overflow-x:auto}
.training-group-toolbar label.training-season{display:flex;flex-direction:row;flex-shrink:0;align-items:center;gap:.75rem;max-width:250px;min-width:0;margin:0}
.training-season select{width:160px;min-height:44px;margin:0}
.training-group-toolbar .training-season[hidden]{display:none}
.training-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.training-progress>div{display:flex;flex-direction:column;gap:.2rem;background:#fff;border:1px solid var(--line,#dbe6ec);border-radius:14px;padding:1rem 1.2rem}
.training-progress strong{font-size:1.65rem;line-height:1.2}
.training-progress small{font-size:1rem;color:var(--muted,#657b89);font-weight:400}
.training-progress span{font-size:.86rem;color:var(--muted,#657b89)}
.training-progress-help{margin:.6rem 0 1.2rem}
.training-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.training-filters .btn{min-height:42px;padding:.45rem .8rem;gap:.5rem}
.training-filters span{font-size:.78rem;opacity:.8}
.training-filters [aria-pressed=true]{background:#e0f0f7;border-color:#8eb7cb;color:#205a75}
.training-session-list{list-style:none;padding:0;margin:0}
.training-session-row{display:grid;grid-template-columns:minmax(210px,1fr) minmax(190px,1.2fr) auto;align-items:center;gap:1.2rem;padding:1rem 0;border-top:1px solid var(--line,#dbe6ec)}
.training-session-date,.training-session-meta{display:flex;flex-direction:column;gap:.35rem;min-width:0;overflow-wrap:anywhere}
.training-session-date>div{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.training-session-date>span,.training-session-meta{font-size:.88rem}
.training-alert{color:#955207;font-size:.8rem;font-weight:600}
.training-list-empty{padding:1rem 0}
#training-tab-panel .work-section-head>.actions{display:flex;flex-wrap:wrap;gap:.65rem}
.training-sheet-summary{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1.4rem;padding:.4rem 0 1rem;font-size:.95rem}
.training-sheet-summary>span:nth-child(2){color:var(--muted,#657b89)}
.training-sheet-settings{border:1px solid var(--line,#dbe6ec);border-radius:12px;background:#f4f8fa}
.training-sheet-settings>summary{cursor:pointer;padding:.8rem 1rem;font-weight:700;min-height:48px}
.training-sheet-settings>summary>span{margin-left:.65rem;font-weight:400}
.training-sheet-settings>.form-grid{padding:0 1rem 1rem}
.training-content-body{padding:0 1rem 1rem;min-width:0}
.training-content-body textarea{resize:vertical;max-width:100%}
.training-content-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.training-attendance-heading{margin-bottom:0}
.training-sheet-save{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;padding-top:1rem;border-top:1px solid var(--line,#dbe6ec)}
.training-sheet-save .error{width:100%;margin:0}
.training-sheet-save .form-actions{margin:0}
.training-hours-toolbar{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.training-hours-toolbar .field{margin:0;min-width:160px}
.training-hours-toolbar .btn{margin-left:auto}
@media(max-width:900px){
 .training-session-row{grid-template-columns:minmax(180px,1fr) minmax(140px,1fr);gap:.8rem}
 .training-session-row>.btn{grid-column:1/-1;justify-self:start}
}
@media(max-width:600px){
 .training-tabs{gap:.75rem;overflow-x:auto}
 .training-tabs [role=tab]{font-size:.9rem;padding:.6rem .15rem;min-height:44px}
 .training-group-toolbar{align-items:stretch;flex-direction:column;gap:.65rem}
 .training-group-toolbar label.training-season{gap:.8rem;max-width:none;font-size:.85rem}
 .training-season select{width:auto;flex:1;min-height:42px}
 .training-season[hidden]{display:none}
 #training-tab-panel{margin-top:1rem}
 .training-progress{gap:.4rem;grid-template-columns:repeat(4,minmax(0,1fr))}
 .training-progress>div{padding:.7rem .5rem;border-radius:12px;gap:.3rem}
 .training-progress strong{font-size:1.25rem;white-space:nowrap}
 .training-progress small{font-size:.8rem}
 .training-progress span{font-size:.7rem;line-height:1.3;overflow-wrap:anywhere}
 .training-progress-help{font-size:.78rem;line-height:1.5}
 .training-session-panel{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
 .training-session-panel .work-section-head{display:block}
 .training-session-panel .actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}
 .training-session-panel .actions .btn{flex:1;min-height:42px;padding:.55rem .7rem;font-size:.82rem}
 .training-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin:1rem 0}
 .training-filters .btn{justify-content:space-between;min-width:0;font-size:.85rem}
 .training-session-list{display:grid;gap:.75rem}
 .training-session-row{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;background:#fff;border:1px solid var(--line,#dbe6ec);border-radius:16px;padding:1rem}
 .training-session-row>.btn{width:100%;min-height:44px;font-size:.9rem}
 .training-session-date>span{font-size:.9rem}
 .training-session-meta{font-size:.85rem}
 .training-session-date .tag{font-size:.72rem}
 .training-attendance-panel:has(.training-sheet-save){padding-bottom:130px!important}
 .training-sheet-summary{flex-direction:column;align-items:start;gap:.4rem;font-size:.9rem}
 .training-sheet-settings>summary{font-size:.9rem;padding:.75rem}
 .training-sheet-settings>summary>span{display:block;margin:.25rem 0 0 1rem;font-size:.78rem}
 .training-sheet-settings>.form-grid{padding:0 .75rem .75rem}
 .training-attendance-panel .training-player-row{padding:.8rem 0}
 .training-attendance-panel .training-presence{display:grid;grid-template-columns:1.25fr 1fr 1fr;width:100%;gap:.35rem}
 .training-attendance-panel .training-presence label span{min-height:44px;font-size:.78rem;padding:.65rem .3rem;text-align:center}
 .training-sheet-save{position:fixed;bottom:0;left:0;right:0;z-index:25;background:#fff;padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom));box-shadow:0 -4px 18px #183b4d12;gap:.4rem;justify-content:stretch}
 .training-sheet-save>span{width:100%;font-size:.75rem;text-align:center}
 .training-sheet-save .form-actions,.training-sheet-save button[type=submit]{width:100%;margin:0}
 .training-sheet-save button[type=submit]{min-height:46px}
 .training-sheet-save .error{font-size:.8rem}
 body:has(.training-sheet-save) #toast{bottom:calc(115px + env(safe-area-inset-bottom))}
 .training-summary-table{min-width:0!important;width:100%}
 .training-summary-table thead{display:none}
 .training-summary-table tbody{display:block}
 .training-summary-table tr{display:block;padding:.8rem 0;border-bottom:1px solid var(--line,#dbe6ec)}
 .training-summary-table td{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;border:0;white-space:normal;overflow-wrap:anywhere;font-size:.85rem}
 .training-summary-table td:first-child{display:block;font-size:.95rem;margin-bottom:.3rem}
 .training-summary-table td[data-label]:before{content:attr(data-label);color:var(--muted,#657b89)}
 .training-hours-toolbar{gap:.65rem}
 .training-hours-toolbar .field{flex:1;min-width:130px}
 .training-hours-toolbar .btn{width:100%;margin:0}
}
.training-point-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;padding:.75rem 0;border-top:1px solid var(--line,#ddd)}
.training-point-text{display:grid;gap:.25rem;flex:1 1 14rem;min-width:0;overflow-wrap:anywhere}
.training-point-buttons{display:flex;flex-wrap:wrap;gap:.4rem}
.training-point-buttons .btn{min-height:44px}
.training-home-actions{flex-wrap:wrap}
@media(max-width:520px){.training-point-text{flex-basis:100%}}

.training-planning{display:grid;gap:1rem;padding-top:1rem}
.training-planning-actions{padding:0}
.training-point-panel{padding:1rem 1.2rem}
.training-point-panel h2{margin-bottom:.65rem}
.training-point-clear{margin:0;color:var(--muted);font-size:.875rem}
.training-planning-panel{padding:0;overflow:hidden}
.training-planning-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.65rem;padding:1.1rem 1.25rem}
.training-planning-head p{margin:.25rem 0 0}
.training-archive-toggle{margin:0}
.training-planning-table thead th{padding:.65rem 1.25rem;border-top:1px solid var(--line)}
.training-planning-table td{padding:.85rem 1.25rem}
.training-planning-table .training-coach-row th{padding:.6rem 1.25rem;background:var(--surface-soft);color:var(--ink);font-size:.9rem;text-align:left;border-top:1px solid var(--line)}
.training-coach-count{margin-inline-start:.65rem;color:var(--muted);font-size:.78rem;font-weight:500}
.training-slot-link.btn{padding:.35rem 0;text-align:left;white-space:normal;overflow-wrap:anywhere}
.training-slot-link svg{flex:none}
.training-planning-table td small{display:block;color:var(--muted)}
.training-slot-progress{display:grid;gap:.22rem;max-width:17rem}
.training-slot-progress progress{width:100%;height:.42rem;accent-color:var(--court-inside);border:0;border-radius:1rem;overflow:hidden}
.training-slot-progress progress::-webkit-progress-bar{background:var(--line)}
.training-slot-progress progress::-webkit-progress-value{background:var(--court-inside)}
.training-planning-empty{padding:1rem 1.25rem;margin:0;border-top:1px solid var(--line)}
@media(max-width:760px){
 .training-planning-table .training-coach-row{padding:0}
 .training-planning-table .training-coach-row th{display:block;border:0}
 .training-planning-table td{padding:.3rem 1.25rem;gap:.65rem}
 .training-planning-table td[data-label]{align-items:baseline;text-align:right}
 .training-slot-progress{min-width:0}
}

#training-sim{color-scheme:light;--ink:light-dark(#18394b,#e5f2f7);--muted:light-dark(#486377,#a5bfcb);--paper:light-dark(#fff,#142b38);--base:light-dark(#f0f6f8,#0f222d);--line:light-dark(#cbdde5,#365462);--blue:light-dark(#1d5674,#a3d6ed);--nav:#15374a;--warn:light-dark(#843b1b,#ffbd92);font:inherit;color:var(--ink);background:var(--base);border:1px solid var(--line);border-radius:16px;overflow:hidden}
#training-sim *{box-sizing:border-box}
#training-sim header{background:var(--nav);color:#f6fbfe;padding:18px 100px 18px 20px}
#training-sim h2,#training-sim h3,#training-sim p{margin:0}
#training-sim header small{color:#c1dce8}
#training-sim .sim-body{padding:16px;display:grid;gap:12px}
#training-sim .sim-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#training-sim .sim-between{justify-content:space-between}
#training-sim .sim-panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:12px}
#training-sim button,#training-sim input,#training-sim select,#training-sim textarea{font:inherit;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:7px 10px;max-width:100%}
#training-sim button{min-height:42px}
#training-sim button[aria-pressed=true],#training-sim .sim-primary{color:var(--paper);background:var(--blue);border-color:var(--blue)}
#training-sim button:disabled{opacity:.55}
#training-sim label{display:grid;gap:4px;min-width:0}
#training-sim form{display:grid;gap:10px}
#training-sim small,#training-sim .sim-muted{color:var(--muted)}
#training-sim .sim-badge{background:var(--base);padding:4px 9px;border-radius:20px}
#training-sim .sim-warning{color:var(--warn)}
#training-sim ol{padding-left:24px;line-height:1.7}
#training-sim details summary{padding:6px 0}
@media(max-width:450px){#training-sim .sim-body,#training-sim .sim-panel{padding:11px}#training-sim header{padding-left:12px}#training-sim textarea{width:100%}}
