/* Live training calendar */
.lc{margin:1.5rem 0 0}
.lc-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.4rem}
.lc-title{margin:0;font-size:clamp(1.4rem,2.6vw,1.9rem)}
.lc-nav{display:flex;gap:.4rem}
.lc-nav[hidden],.lc-grid[hidden],.lc-detail[hidden]{display:none}
.lc-legend{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;padding:0;margin:0 0 1rem;font-size:.9rem;color:var(--muted)}
.lc-legend li{display:inline-flex;align-items:center;gap:.4rem}
.lc-dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;background:var(--seal)}
.mode-online{--m:var(--seal)}.mode-onsite{--m:var(--ink)}.mode-hybrid{--m:var(--brass)}
.lc-dot.mode-online{background:var(--seal)}.lc-dot.mode-onsite{background:var(--ink)}.lc-dot.mode-hybrid{background:var(--brass)}

.lc-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.lc-table th{background:var(--mist);font:600 .82rem var(--sans);color:var(--muted);padding:.55rem .3rem;text-align:center;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line)}
.lc-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:0;vertical-align:top;height:5.6rem}
.lc-table td:last-child{border-right:0}
.lc-table tr:last-child td{border-bottom:0}
.lc-blank{background:#fafcfd}
.lc-daybtn{display:flex;flex-direction:column;align-items:stretch;gap:.2rem;width:100%;height:100%;min-height:5.6rem;padding:.35rem .4rem;border:0;background:transparent;font:inherit;color:var(--text);text-align:left;cursor:default}
.lc-daybtn:not(:disabled){cursor:pointer}
.lc-daybtn:not(:disabled):hover{background:var(--mist)}
.lc-num{font-weight:600;font-size:.9rem;color:var(--muted)}
.is-today .lc-num{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--ink);color:#fff}
.is-past .lc-num{opacity:.55}
.has-session .lc-num{color:var(--ink)}
.lc-chips{display:flex;flex-direction:column;gap:.2rem}
.lc-chip{display:block;font-size:.76rem;line-height:1.25;padding:.2rem .4rem;border-radius:3px;background:var(--m);color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.is-past .lc-chip{opacity:.55}
.lc-more{font-size:.74rem;color:var(--muted)}
.lc-dots{display:none;gap:.2rem;flex-wrap:wrap}
.lc-detail{margin:1rem 0 0;padding:1rem 1.2rem;border:1px solid var(--line);border-left:4px solid var(--seal);border-radius:var(--r);background:var(--mist)}
.lc-detail-title{font-size:1.1rem;margin:0 0 .6rem}
.lc-dcard{display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;align-items:center;padding:.6rem 0;border-top:1px solid var(--line)}
.lc-dcard:first-of-type{border-top:0}
.lc-dcard .lc-meta{grid-column:1}
.lc-dcard .btn,.lc-dcard .lc-full{grid-column:2;grid-row:1/span 2}

/* Upcoming list */
.lc-list{margin-top:2.2rem}
.lc-list>h3{font-size:1.4rem}
.lc-month{font:600 1rem var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:1.4rem 0 .6rem;padding-bottom:.4rem;border-bottom:2px solid var(--ink)}
.lc-card{display:grid;grid-template-columns:4.2rem 1fr auto;gap:1rem;align-items:start;padding:1rem 0;border-bottom:1px solid var(--line)}
.lc-date{display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid var(--m,var(--ink));border-radius:var(--r);padding:.35rem 0;color:var(--m,var(--ink));line-height:1}
.lc-date b{font:600 1.7rem var(--serif)}
.lc-date span{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;margin-top:.15rem}
.lc-info h5{font:600 1.15rem var(--serif);margin:0 0 .15rem;color:var(--ink)}
.lc-meta{margin:0;color:var(--muted);font-size:.95rem}
.lc-tags{display:flex;flex-wrap:wrap;gap:.35rem .5rem;list-style:none;padding:0;margin:.5rem 0 0}
.lc-tags li{font-size:.82rem;padding:.15rem .6rem;border-radius:999px;background:var(--mist);color:var(--text)}
.lc-tags .lc-tag{background:var(--m);color:#fff}
.lc-tags .lc-warn{background:#fff6e0;color:#6b4700}
.lc-note{margin:.5rem 0 0;font-size:.92rem;color:var(--muted)}
.lc-full{display:inline-block;padding:.3rem .8rem;border-radius:999px;background:#fdeceb;color:#7d2417;font-weight:600;font-size:.88rem}

/* Registration */
.lc-register{margin-top:2.6rem;padding:1.6rem 1.6rem 1.8rem;border:1px solid var(--line);border-top:4px solid var(--seal);border-radius:var(--r);background:#fff}
.lc-register>h3{font-size:1.5rem}
.ac-form [aria-invalid="true"]{border-color:var(--bad)}

@media (max-width:760px){
	.lc-table td{height:3.6rem}
	.lc-daybtn{min-height:3.6rem;align-items:center;padding:.3rem .1rem}
	.lc-chips{display:none}
	.lc-dots{display:flex;justify-content:center}
	.lc-card{grid-template-columns:3.6rem 1fr}
	.lc-act{grid-column:1/-1}
	.lc-register{padding:1.2rem 1rem 1.4rem}
}
