#vkm-training-app{--vkm-red:#e51b45;--vkm-bg:#fff;--vkm-soft:#f7f7f8;--vkm-muted:#6b7280;--vkm-border:#e3e5e8;--vkm-title:#111827;--vkm-shadow:0 5px 18px rgba(17,24,39,.045);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;color:var(--vkm-title);-webkit-font-smoothing:antialiased}
#vkm-training-app *{box-sizing:border-box}
#vkm-training-app .vkm-finder{border:1px solid var(--vkm-border);border-radius:16px;background:#fff;padding:18px 20px 20px;margin:0 0 16px;box-shadow:var(--vkm-shadow)}
#vkm-training-app .vkm-finder-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}
#vkm-training-app .vkm-kicker{font-size:11px;line-height:1.2;font-weight:800;letter-spacing:.12em;color:var(--vkm-red);margin-bottom:4px;text-transform:uppercase}
#vkm-training-app .vkm-finder h2{font-size:26px;line-height:1.12;margin:0 0 4px;color:var(--vkm-title)}
#vkm-training-app button.vkm-reset{appearance:none!important;border:1px solid var(--vkm-border)!important;border-radius:9px!important;background:#fff!important;color:var(--vkm-title)!important;font:inherit!important;font-size:12px!important;line-height:1!important;font-weight:700!important;cursor:pointer!important;padding:9px 11px!important;min-height:34px!important;width:auto!important;box-shadow:none!important;text-transform:none!important;letter-spacing:0!important;white-space:nowrap}
#vkm-training-app button.vkm-reset:hover{border-color:#cfd3d8!important;background:var(--vkm-soft)!important}
#vkm-training-app .vkm-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#vkm-training-app .vkm-filters label{margin:0}
#vkm-training-app .vkm-filters label>span{display:block;font-size:12px;line-height:1.3;font-weight:750;margin:0 0 6px;color:var(--vkm-title)}
#vkm-training-app .vkm-filters select{width:100%;height:44px;border:1px solid var(--vkm-border);border-radius:10px;background:#fff;padding:0 38px 0 12px;font:inherit;font-size:15px;color:var(--vkm-title);box-shadow:none}
#vkm-training-app .vkm-filters select:disabled{background:#f4f5f6;color:#9ca3af}
#vkm-training-app .vkm-filters select:focus{outline:2px solid rgba(229,27,69,.35);outline-offset:2px;border-color:var(--vkm-red)}
#vkm-training-app .vkm-summary[hidden]{display:none!important}
#vkm-training-app .vkm-district{margin:20px 0}
#vkm-training-app .vkm-district-title{display:flex;align-items:center;gap:9px;font-size:13px;line-height:1.3;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin:0 0 9px;color:var(--vkm-title)}
#vkm-training-app .vkm-district-title:before{content:"";flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--vkm-red)}
#vkm-training-app .vkm-card{border:1px solid var(--vkm-border);border-radius:13px;background:#fff;overflow:hidden;margin:0 0 9px;box-shadow:0 2px 8px rgba(17,24,39,.025)}
#vkm-training-app button.vkm-card-button{appearance:none!important;-webkit-appearance:none!important;width:100%!important;min-height:0!important;border:0!important;border-radius:0!important;background:#fff!important;background-image:none!important;text-align:left!important;padding:13px 15px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;cursor:pointer!important;color:var(--vkm-title)!important;font:inherit!important;line-height:normal!important;box-shadow:none!important;text-transform:none!important;letter-spacing:0!important}
#vkm-training-app button.vkm-card-button:hover{background:var(--vkm-soft)!important;color:var(--vkm-title)!important}
#vkm-training-app button.vkm-card-button:focus-visible{outline:2px solid rgba(229,27,69,.42)!important;outline-offset:-2px!important;box-shadow:inset 0 0 0 1px rgba(229,27,69,.12)!important}
#vkm-training-app .vkm-card-main{min-width:0}
#vkm-training-app .vkm-group-name{font-size:15px;line-height:1.35;font-weight:800;margin:0 0 4px;color:var(--vkm-title)}
#vkm-training-app .vkm-card-meta{display:flex;flex-wrap:wrap;gap:3px 14px;font-size:12.5px;line-height:1.45;color:var(--vkm-muted)}
#vkm-training-app .vkm-card-meta strong{color:#374151;font-weight:650}
#vkm-training-app .vkm-toggle{align-self:center;display:flex;align-items:center;color:var(--vkm-red);white-space:nowrap}
#vkm-training-app .vkm-toggle:after{content:"⌄";font-size:18px;line-height:.8;transform:translateY(-1px)}
#vkm-training-app .vkm-card.open .vkm-toggle:after{content:"⌃";transform:translateY(2px)}
#vkm-training-app .vkm-details{display:none;border-top:1px solid var(--vkm-border);padding:10px 12px 12px;background:#fff}
#vkm-training-app .vkm-card.open .vkm-details{display:block}
#vkm-training-app .vkm-details table{width:100%;margin:0;border-collapse:separate;border-spacing:0;table-layout:fixed;border:1px solid var(--vkm-border);border-radius:10px;overflow:hidden;background:#fff}
#vkm-training-app .vkm-details th,#vkm-training-app .vkm-details td{padding:9px 11px;border:0;border-bottom:1px solid var(--vkm-border);font-size:13px;line-height:1.4;vertical-align:middle;color:var(--vkm-title);background:#fff}
#vkm-training-app .vkm-details th{background:var(--vkm-soft);font-size:12px;font-weight:750;text-align:left}
#vkm-training-app .vkm-details tr:last-child td{border-bottom:0}
#vkm-training-app .vkm-details th:nth-child(1),#vkm-training-app .vkm-details td:nth-child(1){width:27%}
#vkm-training-app .vkm-details th:nth-child(2),#vkm-training-app .vkm-details td:nth-child(2){width:53%}
#vkm-training-app .vkm-details th:nth-child(3),#vkm-training-app .vkm-details td:nth-child(3){width:20%;text-align:center;font-variant-numeric:tabular-nums}
#vkm-training-app .vkm-venue-sub{display:block;color:var(--vkm-muted);font-size:11.5px;margin-top:2px}
#vkm-training-app .vkm-empty{border:1px dashed var(--vkm-border);border-radius:13px;padding:20px;text-align:center;color:var(--vkm-muted);font-size:13px}
@media(max-width:768px){
 #vkm-training-app .vkm-finder{padding:15px}
 #vkm-training-app .vkm-finder-head{display:block;margin-bottom:13px}
 #vkm-training-app button.vkm-reset{margin-top:10px!important}
 #vkm-training-app .vkm-filters{grid-template-columns:1fr}
 #vkm-training-app button.vkm-card-button{grid-template-columns:minmax(0,1fr) auto!important;padding:12px 13px!important}
 #vkm-training-app .vkm-toggle:after{font-size:20px}
 #vkm-training-app .vkm-details table,#vkm-training-app .vkm-details thead,#vkm-training-app .vkm-details tbody,#vkm-training-app .vkm-details th,#vkm-training-app .vkm-details td,#vkm-training-app .vkm-details tr{display:block}
 #vkm-training-app .vkm-details thead{display:none}
 #vkm-training-app .vkm-details tr{border:1px solid var(--vkm-border);border-radius:9px;padding:7px 9px;margin-bottom:8px;background:#fff}
 #vkm-training-app .vkm-details tr:last-child{margin-bottom:0}
 #vkm-training-app .vkm-details td{border:0!important;padding:4px 0!important;width:100%!important;text-align:left!important;background:#fff!important}
 #vkm-training-app .vkm-details td:before{content:attr(data-label) " ";font-weight:700;color:var(--vkm-title)}
}

/* v0.4 */
#vkm-training-app .vkm-card-meta .vkm-meta-label{color:var(--vkm-muted);font-weight:400}
#vkm-training-app .vkm-card-meta .vkm-meta-sep{color:var(--vkm-muted);margin:0 3px}
#vkm-training-app .vkm-card-meta strong{color:var(--vkm-ink);font-weight:700}
#vkm-training-app button.vkm-card-button:focus,#vkm-training-app button.vkm-card-button:focus-visible{outline:2px solid rgba(229,27,69,.48)!important;outline-style:solid!important;outline-offset:-2px!important;box-shadow:inset 0 0 0 1px rgba(229,27,69,.10)!important}

/* v0.5 — mobile filter layout */
@media(max-width:768px){
 #vkm-training-app .vkm-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #vkm-training-app .vkm-filters label:nth-child(3){grid-column:1 / -1}
}

#vkm-training-app .vkm-group-name .vkm-title-sep{color:var(--vkm-muted);font-weight:500;margin:0 7px}
#vkm-training-app .vkm-group-name .vkm-group-venue{font-size:13.5px;font-weight:600;color:#374151}
#vkm-training-app .vkm-phone{color:var(--vkm-ink)!important;font-weight:400;text-decoration:none!important}
#vkm-training-app .vkm-phone:hover{text-decoration:underline!important}
