.training-programs{padding:1rem 1.5rem 4rem;background:var(--gray-50)}.training-programs .container{max-width:1200px;margin:0 auto}.program-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.program-card{background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:1.5rem;text-decoration:none;color:inherit;transition:all .15s;display:block;cursor:pointer;border-left:4px solid var(--primary-500)}.program-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.06);border-color:var(--primary-400)}.program-card-icon{font-size:2rem;line-height:1;margin-bottom:.75rem}.program-active h2,.program-card-title{font-size:1.125rem;font-weight:700;color:var(--gray-900);margin:0 0 .375rem}.program-card-desc{font-size:.875rem;color:var(--gray-600);line-height:1.5;margin:0 0 .75rem}.program-card-meta{display:flex;gap:.75rem;font-size:.8125rem;color:var(--gray-500)}.program-card-meta span{display:inline-flex;align-items:center;gap:.25rem}.program-active{background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:1.5rem}.program-active h2{margin:0 0 .5rem}.program-progress-bar{width:100%;height:10px;background:var(--gray-100);border-radius:5px;margin:1rem 0 .5rem;overflow:hidden}.program-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-500),var(--primary-700));border-radius:5px;transition:width .5s ease}.program-progress-label{font-size:.875rem;color:var(--gray-600);margin:0 0 1rem}.program-day-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:.5rem;margin:1rem 0}.program-day{aspect-ratio:1;background:var(--gray-100);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--gray-500);border:1px solid transparent}.program-day.done{background:var(--primary-100);color:var(--primary-700);border-color:var(--primary-300)}.program-day.today{background:var(--primary-600);color:#fff;border-color:var(--primary-700)}.program-actions{margin-top:1rem;display:flex;gap:.5rem}