/* V103 UX polish — functionele laag, zonder redesign. */
.lvs-loading-state{position:relative;min-height:44px!important;color:transparent!important;overflow:hidden}
.lvs-loading-state::before{content:"";position:absolute;inset:10px 12px;border-radius:10px;background:linear-gradient(90deg,#f3f4f6 20%,#e5e7eb 38%,#f3f4f6 56%);background-size:220% 100%;animation:lvs-ux-shimmer 1.25s linear infinite}
@keyframes lvs-ux-shimmer{to{background-position:-220% 0}}
@media(prefers-reduced-motion:reduce){.lvs-loading-state::before{animation:none}}

.lvs-sticky-action-row{position:sticky;bottom:0;z-index:8;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--color-gray-100,#f3f4f6);padding-top:12px;padding-bottom:12px}
#lvs-class-create-v63 .lvs-sticky-action-row{margin-left:-4px;margin-right:-4px;padding-left:4px;padding-right:4px}
.lvs-pl-group-footer.lvs-sticky-action-row{bottom:0;margin:0;border-top:1px solid var(--color-gray-200,#e5e7eb);box-shadow:0 -8px 18px rgba(15,23,42,.04)}

.lvs-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid var(--color-gray-100,#f3f4f6);background:var(--color-blue-50,#eff6ff)}
.lvs-bulk-bar.hidden{display:none!important}.lvs-bulk-bar>div:first-child{display:grid;gap:1px}.lvs-bulk-bar strong{font-size:13px;color:var(--color-gray-900,#111827)}.lvs-bulk-bar span{font-size:11px;color:var(--color-gray-500,#6b7280)}.lvs-bulk-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lvs-bulk-check-cell{width:44px!important;min-width:44px!important}.lvs-bulk-check-cell input{width:16px;height:16px;accent-color:var(--lvs-theme-accent,var(--color-blue-600,#2563eb))}

.lvs-attention-card{border:1px solid var(--color-gray-200,#e5e7eb);border-radius:var(--lvs-shared-card-radius,1rem);background:#fff;overflow:hidden;box-shadow:var(--lvs-theme-card-shadow,0 1px 3px rgba(0,0,0,.08))}
.lvs-attention-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid var(--color-gray-100,#f3f4f6)}.lvs-attention-head>div{display:grid;gap:1px}.lvs-attention-head span{text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700;color:var(--lvs-theme-accent,var(--color-blue-600,#2563eb))}.lvs-attention-head strong{font-size:14px;color:var(--color-gray-900,#111827)}.lvs-attention-head small{font-size:11px;color:var(--color-gray-500,#6b7280)}
.lvs-attention-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0}.lvs-attention-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-right:1px solid var(--color-gray-100,#f3f4f6);border-bottom:1px solid var(--color-gray-100,#f3f4f6);text-decoration:none;color:inherit;background:#fff}.lvs-attention-item:hover{background:var(--color-gray-50,#f9fafb)}.lvs-attention-item>span:first-child{display:grid;gap:2px;min-width:0}.lvs-attention-item strong{font-size:12px;color:var(--color-gray-900,#111827);overflow-wrap:anywhere}.lvs-attention-item small{font-size:11px;color:var(--color-gray-500,#6b7280)}.lvs-attention-item>span:last-child{color:var(--lvs-theme-accent,var(--color-blue-600,#2563eb));font-weight:700}

@media(max-width:767px){
  .lvs-role-table[data-lvs-mobile-cards="1"]{display:block!important;min-width:0!important;width:100%!important;background:transparent!important}
  .lvs-role-table[data-lvs-mobile-cards="1"] thead{display:none!important}
  .lvs-role-table[data-lvs-mobile-cards="1"] tbody{display:grid!important;gap:10px!important;padding:10px!important}
  .lvs-role-table[data-lvs-mobile-cards="1"] tbody tr{display:block!important;border:1px solid var(--color-gray-200,#e5e7eb)!important;border-radius:14px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 1px 2px rgba(15,23,42,.04)!important}
  .lvs-role-table[data-lvs-mobile-cards="1"] tbody td{display:grid!important;grid-template-columns:minmax(94px,34%) minmax(0,1fr)!important;gap:10px!important;align-items:start!important;width:100%!important;min-width:0!important;padding:10px 12px!important;border:0!important;border-bottom:1px solid var(--color-gray-100,#f3f4f6)!important;text-align:left!important;white-space:normal!important}
  .lvs-role-table[data-lvs-mobile-cards="1"] tbody td:last-child{border-bottom:0!important}
  .lvs-role-table[data-lvs-mobile-cards="1"] tbody td::before{content:attr(data-label);font-size:10px;line-height:16px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-500,#6b7280)}
  .lvs-role-table[data-lvs-mobile-cards="1"] tbody td[colspan]{display:block!important;text-align:center!important}.lvs-role-table[data-lvs-mobile-cards="1"] tbody td[colspan]::before{display:none}
  .lvs-role-table[data-lvs-mobile-cards="1"] .lvs-role-row-actions,.lvs-role-table[data-lvs-mobile-cards="1"] .row-actions{display:flex!important;flex-wrap:wrap!important;gap:7px!important;justify-content:flex-start!important}
  .lvs-role-table[data-lvs-mobile-cards="1"] .lvs-bulk-check-cell{display:block!important;width:100%!important;min-width:0!important;background:var(--color-gray-50,#f9fafb)}.lvs-role-table[data-lvs-mobile-cards="1"] .lvs-bulk-check-cell::before{display:none}
  .lvs-bulk-bar{align-items:stretch;flex-direction:column}.lvs-bulk-actions{display:grid;grid-template-columns:1fr 1fr}.lvs-bulk-actions>*{justify-content:center}.lvs-bulk-actions>[data-lvs-bulk-clear]{grid-column:1/-1}
  .lvs-attention-grid{grid-template-columns:1fr}.lvs-attention-item{border-right:0}
}

/* Smart Slider group-import: 48+ items blijven scanbaar en bedienbaar. */
.lvs-pl-group-toolbar{display:grid;gap:10px;padding:12px 16px;border-bottom:1px solid var(--color-gray-100,#f3f4f6);background:var(--color-gray-50,#f9fafb)}
.lvs-pl-group-filters{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.lvs-pl-group-filter{appearance:none;border:1px solid var(--color-gray-200,#e5e7eb);background:#fff;color:var(--color-gray-600,#4b5563);border-radius:999px;padding:6px 9px;font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer}.lvs-pl-group-filter span{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;border-radius:999px;background:var(--color-gray-100,#f3f4f6);margin-left:4px;font-size:10px}.lvs-pl-group-filter.is-active{border-color:var(--lvs-theme-accent,var(--color-blue-600,#2563eb));background:var(--lvs-theme-accent-soft,var(--color-blue-50,#eff6ff));color:var(--lvs-theme-accent-dark,var(--color-blue-700,#1d4ed8))}.lvs-pl-group-filter.is-active span{background:#fff}
.lvs-pl-group-progress{display:grid;gap:7px;padding:10px 16px;border-bottom:1px solid var(--color-gray-100,#f3f4f6);background:#fff}.lvs-pl-group-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px}.lvs-pl-group-progress strong{color:var(--color-gray-800,#1f2937)}.lvs-pl-group-progress span{color:var(--color-gray-500,#6b7280)}.lvs-pl-group-progress-track{height:7px;border-radius:999px;background:var(--color-gray-100,#f3f4f6);overflow:hidden}.lvs-pl-group-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--lvs-theme-accent,var(--color-blue-600,#2563eb));transition:width .2s ease}
.lvs-pl-group-lesson-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.lvs-pl-group-empty{padding:24px 16px;text-align:center;color:var(--color-gray-500,#6b7280);font-size:13px}
@media(max-width:640px){.lvs-pl-group-toolbar{padding:10px 12px}.lvs-pl-group-lesson-filters{grid-template-columns:1fr}.lvs-pl-group-filters{margin-right:-12px;padding-right:12px}.lvs-pl-group-progress{padding:10px 12px}}


/* V104 publieke helderheid + toegankelijk routegedrag */
.lvs-skip-link{position:fixed;left:12px;top:12px;z-index:10050;transform:translateY(-160%);background:#fff;color:#111827;border:1px solid #d1d5db;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:700;box-shadow:0 8px 24px rgba(15,23,42,.14);transition:transform .15s ease}
.lvs-skip-link:focus{transform:translateY(0);outline:3px solid color-mix(in srgb,var(--lvs-theme-accent,#2563eb) 28%,transparent);outline-offset:2px}
#lvs-main-content:focus{outline:none}
#root button[aria-label],#root a[aria-label],.organization-main button[aria-label],.organization-main a[aria-label]{min-width:44px;min-height:44px}
@media (prefers-reduced-motion:reduce){.lvs-skip-link{transition:none}}
/* V105 account recovery and lifecycle entry points */
.lvs-account-access-link{min-height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important}
