.training-balances { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.training-balances article,.training-booking,.training-current,.training-history { background:var(--theme-surface,#ffffffd9); border:1px solid var(--theme-line,#d6e6e7); border-radius:22px; padding:24px; }
.training-balances span,.training-balances strong { display:block; }
.training-balances strong { font-size:1.8rem; margin-top:8px; }
.training-balances small { font-size:.85rem; font-weight:400; }
.training-note { color:var(--muted); font-size:.85rem; line-height:1.7; margin:16px 0 28px; }
.training-setup { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr); gap:24px; margin-top:32px; }
.training-offers { display:grid; gap:16px; }
.training-offer { display:flex; flex-direction:column; gap:10px; text-align:left; background:var(--theme-surface,#ffffffb8); color:var(--ink); border:2px solid transparent; border-radius:20px; padding:24px; cursor:pointer; font:inherit; }
.training-offer.selected { border-color:var(--teal); background:var(--theme-hover,#effbfa); }
.training-offer strong { font-size:1.3rem; }
.training-offer small { color:var(--teal); letter-spacing:.12em; }
.training-offer span { font-size:.9rem; line-height:1.6; }
.training-booking { align-self:start; display:flex; flex-direction:column; gap:14px; }
.training-booking h2,.training-booking p { margin:0; }
.training-booking select { border:1px solid var(--theme-line,#accdd0); border-radius:10px; padding:12px; background:var(--theme-surface,white); color:var(--ink); font:inherit; }
.training-booking small { color:var(--muted); line-height:1.6; }
.training-booking input[type="range"] { width:100%; min-width:0; margin:0; accent-color:#1597a3; cursor:pointer; }
.training-allocation-labels { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.training-primary,.training-secondary { border:1px solid var(--theme-line,#accdd0); border-radius:12px; padding:12px 18px; font:inherit; cursor:pointer; }
.training-primary { color:white; background:var(--theme-button,var(--ink)); }
.training-secondary { color:var(--ink); background:var(--theme-soft,#edf7f6); }
.training-current,.training-history { margin-top:28px; }
.training-current progress { width:100%; height:14px; accent-color:var(--teal); }
.training-countdown { font-size:1.2rem; font-weight:600; font-variant-numeric:tabular-nums; }
.training-notice { background:var(--theme-soft,#fff4dc); padding:16px; border-radius:12px; line-height:1.6; }
.training-history article { display:flex; flex-direction:column; gap:7px; padding:16px 0; border-top:1px solid var(--theme-line,#d6e6e7); }
.training-history small { color:var(--muted); }
.training-offer:focus-visible,.training-primary:focus-visible,.training-secondary:focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
.training-setup button:disabled { opacity:.55; cursor:default; }
@media(max-width:760px) { .training-setup { grid-template-columns:1fr; } .training-balances { grid-template-columns:1fr; gap:8px; } .training-balances article { padding:16px; } .training-balances strong { font-size:1.4rem; } }

.training-followup { display:flex; align-items:flex-start; gap:12px; margin:18px 0; padding:14px; border:1px solid var(--theme-line,#bddcde); border-radius:12px; background:var(--theme-soft,#e8f4f2); cursor:pointer; }
.training-followup input { flex:0 0 auto; width:18px; height:18px; margin:3px 0 0; accent-color:var(--theme-accent,#169faa); }
.training-followup span { min-width:0; }
.training-followup strong,.training-followup small { display:block; }
.training-followup small { margin-top:5px; line-height:1.5; }
