.vlms-app{--vlms:#e8611a;--dark:#0f172a;--muted:#64748b;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#0f172a}.vlms-shell{background:#f8fafc;border:1px solid #e2e8f0;border-radius:24px;overflow:hidden;box-shadow:0 20px 70px rgba(15,23,42,.12)}.vlms-top{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff}.vlms-top h2{margin:0;color:#fff}.vlms-top p{margin:4px 0 0;color:#cbd5e1}.vlms-logo-mark{height:38px;background:#fff;border-radius:10px;padding:5px}.vlms-logo-placeholder{height:38px;min-width:80px;background:#fff;border:2px dashed #cbd5e1;border-radius:10px;padding:5px 12px;color:#64748b;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.vlms-body{padding:24px}.vlms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.vlms-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.vlms-course-card h3{margin:0 0 8px}.vlms-course-card p{color:#64748b}.vlms-progress{height:10px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin:12px 0}.vlms-progress span{display:block;height:100%;background:var(--vlms);border-radius:999px}.vlms-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 16px;background:var(--vlms);color:#fff!important;text-decoration:none;font-weight:800;border:0;cursor:pointer}.vlms-btn.secondary{background:#0f172a}.vlms-badge{display:inline-block;border-radius:999px;padding:4px 9px;background:#e2e8f0;color:#334155;font-weight:800;font-size:12px}.vlms-badge.completed{background:#dcfce7;color:#166534}.vlms-badge.overdue{background:#fee2e2;color:#991b1b}.vlms-loader,.vlms-login-box{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:28px;text-align:center}.vlms-player{display:grid;grid-template-columns:300px minmax(0,1fr);gap:0;align-items:stretch;min-height:calc(100vh - 70px);border-radius:0 24px 24px 0}.vlms-player.vlms-shell{border-radius:0 24px 24px 0}.vlms-sidebar{background:#0f172a;color:#fff;padding:28px 20px;min-height:100%;height:auto;border-radius:0;align-self:stretch}.vlms-sidebar h3{color:#fff;margin-top:0}.vlms-chapter{display:grid;grid-template-columns:22px 1fr;gap:8px;width:100%;text-align:left;background:transparent;color:#cbd5e1;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px;margin-bottom:8px;cursor:pointer}.vlms-chapter.active,.vlms-chapter:hover{background:#1e293b;color:#fff;border-color:rgba(255,255,255,.28)}.vlms-chapter.completed{background:#14532d;color:#dcfce7;border-color:#22c55e}.vlms-chapter.completed.active{background:#166534;color:#fff}.vlms-chapter.locked{opacity:.65}.vlms-status{font-weight:900;color:#86efac}.vlms-stage{background:#fff;min-height:calc(100vh - 70px);padding:28px;display:flex;flex-direction:column;position:relative}.vlms-stage-content{flex:1;overflow:auto;min-height:0}.vlms-slide{border:1px solid #e2e8f0;border-radius:18px;padding:30px;background:#f8fafc;min-height:260px}.vlms-video{width:100%;max-height:48vh;aspect-ratio:16/9;border:0;border-radius:18px;background:#000;display:block}.vlms-video-block{max-width:1100px}.vlms-file-block,.vlms-text-block,.vlms-html-block{margin:14px 0}.vlms-actions{position:sticky;bottom:22px;margin-top:16px;padding-top:14px;background:linear-gradient(to top,#fff 72%,rgba(255,255,255,0));z-index:5}.vlms-test-question{margin-bottom:20px;padding:16px;border:1px solid #e2e8f0;border-radius:16px}.vlms-test-question label{display:block;margin:10px 0}.vlms-result{padding:18px;border-radius:16px;background:#f1f5f9;margin-top:16px}.vlms-error{background:#fee2e2;color:#991b1b;padding:14px;border-radius:12px}@media(min-width:901px){.vlms-stage .vlms-slide:has(.vlms-video){min-height:auto}.vlms-stage:has(.vlms-video) .vlms-actions{bottom:18px}}@media(max-width:900px){.vlms-grid{grid-template-columns:1fr}.vlms-player{grid-template-columns:1fr;border-radius:24px}.vlms-player.vlms-shell{border-radius:24px}.vlms-sidebar{order:2;min-height:auto}.vlms-stage{order:1;min-height:520px}.vlms-video{max-height:none}}

/* 0.9.9 test player */
.vlms-test-start .vlms-test-intro{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px;margin:14px 0}.vlms-test-info{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.vlms-test-info span,.vlms-test-meta{display:inline-flex;align-items:center;gap:6px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:8px 12px}.vlms-test-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid #e2e8f0}.vlms-test-buttons{display:flex;gap:8px;align-items:center}.vlms-test-question{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px;margin-bottom:14px}.vlms-btn[disabled]{opacity:.5;cursor:not-allowed}.vlms-stage-content{max-width:1180px}.vlms-video{max-height:420px;object-fit:contain}

/* Emi LMS 1.0.0 — test player polish */
.vlms-stage{display:flex;flex-direction:column;min-height:520px}.vlms-test-wrap,.vlms-test-wrap .vlms-stage-content{display:flex;flex-direction:column;min-height:100%;flex:1}.vlms-test-start{margin-bottom:0}.vlms-test-questions-wrap{flex:1}.vlms-test-nav{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;border-top:1px solid #e2e8f0;padding:16px 0;margin-top:18px}.vlms-test-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.vlms-test-meta{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:8px 12px}.vlms-test-warning{width:100%;color:#b91c1c;font-weight:700;margin-top:6px}.vlms-test-intro{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;margin:10px 0 14px}.vlms-test-info{display:flex;gap:8px;flex-wrap:wrap}.vlms-test-info span{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:8px 12px}.vlms-result{border:1px solid #cbd5e1;background:#f8fafc}.vlms-video{max-height:46vh;object-fit:contain}.vlms-video-block{max-width:980px}.vlms-slide{max-width:1180px}.vlms-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid #e2e8f0;padding:14px 0;margin-top:auto}


/* Emi LMS 1.0.1 — active sidebar, progress under course name, stable test footer */
.vlms-sidebar-progress{height:8px;background:rgba(255,255,255,.16);border-radius:999px;overflow:hidden;margin:12px 0 6px}.vlms-sidebar-progress span{display:block;height:100%;background:#22c55e;border-radius:999px;transition:width .25s}.vlms-sidebar-progress-text{font-size:12px;color:#cbd5e1;margin-bottom:18px;font-weight:700}.vlms-chapter.active{background:#2563eb!important;color:#fff!important;border-color:#60a5fa!important;box-shadow:0 0 0 2px rgba(96,165,250,.20)}.vlms-chapter.completed.active{background:#166534!important;border-color:#22c55e!important}.vlms-test-entry.active{background:#2563eb!important;color:#fff!important;border-color:#60a5fa!important}.vlms-test-wrap{min-height:calc(100vh - 140px)}#vlms-test-form{display:flex;flex-direction:column;min-height:calc(100vh - 190px)}.vlms-test-questions-wrap{flex:1}.vlms-test-nav{margin-top:auto!important;position:sticky!important;bottom:0!important;z-index:6}.vlms-test-warning{color:#b91c1c!important;font-weight:800!important}

/* Emi LMS 1.0.2 */
.vlms-test-entry.completed{background:#166534!important;border-color:#22c55e!important;color:#fff!important}.vlms-result-completed{background:#dcfce7!important;color:#166534!important;border:1px solid #86efac}.vlms-chapter.active{outline:2px solid rgba(255,255,255,.35)}


/* Emi LMS 1.0.3 — active test protection, sidebar bottom button, fixed footers */
.vlms-sidebar{display:flex;flex-direction:column;min-height:calc(100vh - 70px)}
.vlms-sidebar-bottom{margin-top:auto;padding-top:18px}
.vlms-sidebar-dashboard{width:100%;border:1px solid rgba(255,255,255,.22);background:#1e293b;color:#fff;border-radius:12px;padding:11px 12px;font-weight:800;cursor:pointer;text-align:center}
.vlms-sidebar-dashboard:hover{background:#2563eb;border-color:#60a5fa}
.vlms-test-entry.completed .vlms-status{color:#fde68a}
.vlms-test-entry.failed{background:#3f1d1d!important;border-color:#fca5a5!important;color:#fee2e2!important}
.vlms-test-entry.failed .vlms-status{color:#fca5a5}
.vlms-stage{min-height:calc(100vh - 70px)}
.vlms-test-wrap{min-height:calc(100vh - 150px)}
#vlms-test-form{min-height:calc(100vh - 210px)}
.vlms-test-nav,.vlms-actions{position:sticky!important;bottom:0!important;z-index:20!important;background:#fff!important;box-shadow:0 -10px 24px rgba(255,255,255,.92)}

/* 1.0.4 refinements */
.vlms-course-card{position:relative;padding-top:28px}.vlms-course-card .vlms-badge{position:absolute;top:14px;left:18px;transform:translateY(-50%)}.vlms-course-tests{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.vlms-course-tests span{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.vlms-course-tests .ok{background:#dcfce7;color:#166534}.vlms-course-tests .bad{background:#ffedd5;color:#9a3412}.vlms-chapter.active,.vlms-test-entry.active{box-shadow:inset 0 0 0 3px var(--vlms),0 0 0 2px rgba(255,255,255,.18)!important;border-color:var(--vlms)!important}.vlms-chapter.completed.active{box-shadow:inset 0 0 0 3px #22c55e,0 0 0 2px rgba(255,255,255,.18)!important}.vlms-test-entry.retryable{background:#92400e!important;border-color:#f59e0b!important;color:#fffbeb!important}.vlms-test-entry.retryable .vlms-status{color:#fde68a}.vlms-test-start{min-height:calc(100vh - 210px);display:flex;flex-direction:column}.vlms-test-start .vlms-test-info{margin-top:auto}.vlms-test-start #vlms-start-test{margin-top:8px}.vlms-answer-list{display:grid;gap:10px}.vlms-test-question label.vlms-answer-option{display:grid;grid-template-columns:34px 22px 1fr;align-items:center;gap:8px;margin:0;padding:12px 14px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;cursor:pointer}.vlms-answer-option:hover{border-color:#bfdbfe;background:#f8fafc}.vlms-answer-letter{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#eef2ff;color:#1e40af;font-weight:900}.vlms-answer-text{line-height:1.35}.vlms-test-question input[type=radio],.vlms-test-question input[type=checkbox]{outline:none!important;box-shadow:none!important;appearance:auto!important;-webkit-appearance:auto!important;margin:0!important}.vlms-test-question input[type=radio]:focus,.vlms-test-question input[type=checkbox]:focus{outline:none!important;box-shadow:none!important}.vlms-test-nav{align-items:center}.vlms-test-buttons{margin-left:auto}@media(max-width:900px){.vlms-test-start{min-height:420px}.vlms-course-card .vlms-badge{position:static;transform:none;margin-bottom:8px}}


/* Emi LMS 1.0.5 — fixed test footer, yellow retry state, gradient active shadow, dashboard test list */
.vlms-course-card{padding-top:34px!important;margin-top:10px!important;overflow:visible!important}.vlms-course-card .vlms-badge{top:0!important;transform:translateY(-45%)!important}.vlms-course-tests{display:none!important}.vlms-course-tests-list{margin:12px 0 14px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px}.vlms-course-tests-list ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.vlms-course-tests-list li{padding:6px 8px;border-radius:10px;background:#fff;border:1px solid #e2e8f0;font-size:13px}.vlms-course-tests-list li.ok{background:#dcfce7;color:#166534;border-color:#86efac}.vlms-course-tests-list li.bad{background:#fee2e2;color:#991b1b;border-color:#fecaca}.vlms-course-tests-list li.pending{background:#f1f5f9;color:#334155}.vlms-test-entry.retryable{background:#713f12!important;border-color:#facc15!important;color:#fef9c3!important}.vlms-test-entry.retryable .vlms-status{color:#fde047!important}.vlms-test-entry.failed{background:#4c0519!important;border-color:#ef4444!important;color:#fee2e2!important}.vlms-test-entry.failed .vlms-status{color:#fecaca!important}.vlms-chapter.active,.vlms-test-entry.active{box-shadow:inset 0 0 0 2px var(--vlms),inset 0 0 24px rgba(232,97,26,.58),0 0 0 2px rgba(255,255,255,.14)!important}.vlms-test-entry.retryable.active{box-shadow:inset 0 0 0 2px #facc15,inset 0 0 24px rgba(250,204,21,.58),0 0 0 2px rgba(255,255,255,.14)!important}.vlms-test-entry.failed.active{box-shadow:inset 0 0 0 2px #ef4444,inset 0 0 24px rgba(239,68,68,.55),0 0 0 2px rgba(255,255,255,.14)!important}.vlms-test-entry.completed.active,.vlms-chapter.completed.active{box-shadow:inset 0 0 0 2px #22c55e,inset 0 0 24px rgba(34,197,94,.55),0 0 0 2px rgba(255,255,255,.14)!important}.vlms-test-start{position:relative;min-height:calc(100vh - 150px)!important;padding-bottom:190px!important}.vlms-test-start-footer{position:absolute;left:30px;right:30px;bottom:30px}.vlms-test-start-footer .vlms-error{margin:0 0 12px 0}.vlms-test-start-footer .vlms-test-info{margin:0 0 14px 0}.vlms-test-start-footer p{margin:0}.vlms-test-nav,.vlms-actions{position:sticky!important;bottom:24px!important;z-index:30!important;max-width:1180px}.vlms-test-question input[type=radio]:focus,.vlms-test-question input[type=checkbox]:focus,.vlms-answer-option:focus-within{outline:none!important;box-shadow:none!important}.vlms-answer-option input{border:0!important;box-shadow:none!important}
@media(max-width:900px){.vlms-test-start{min-height:520px!important;padding-bottom:210px!important}.vlms-test-start-footer{left:18px;right:18px;bottom:22px}}


/* Emi LMS 1.0.6 — blue active material outline, instant test unlock, larger status icons */
.vlms-status{font-size:18px!important;line-height:1!important;display:inline-flex;align-items:center;justify-content:center;min-width:20px}.vlms-test-entry .vlms-status{font-size:18px!important}.vlms-chapter.completed .vlms-status{font-size:19px!important}.vlms-test-entry.completed .vlms-status,.vlms-test-entry.failed .vlms-status,.vlms-test-entry.retryable .vlms-status{font-size:20px!important}
.vlms-chapter.active:not(.vlms-test-entry),.vlms-chapter.completed.active:not(.vlms-test-entry){background:#2563eb!important;color:#fff!important;border-color:#60a5fa!important;box-shadow:inset 0 0 0 2px #3b82f6,inset 0 0 24px rgba(59,130,246,.58),0 0 0 1px rgba(255,255,255,.16)!important}
.vlms-test-entry.locked{opacity:.68}.vlms-test-entry:not(.locked) .vlms-status{color:#fbbf24}


/* Emi LMS 1.0.7 — precise active/sidebar status colors */
.vlms-chapter .vlms-status,
.vlms-test-entry .vlms-status{
  font-size:18px!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:22px!important;
  min-width:22px!important;
}
/* Niezaliczony / nierozpoczęty rozdział po kliknięciu: niebieski */
.vlms-chapter.active:not(.completed):not(.vlms-test-entry){
  background:#2563eb!important;
  color:#fff!important;
  border-color:#60a5fa!important;
  outline:0!important;
  box-shadow:inset 0 0 0 2px #60a5fa, inset 0 0 22px rgba(96,165,250,.42)!important;
}
/* Zaliczony rozdział po kliknięciu: zielony */
.vlms-chapter.completed.active:not(.vlms-test-entry){
  background:#166534!important;
  color:#fff!important;
  border-color:#22c55e!important;
  outline:0!important;
  box-shadow:inset 0 0 0 2px #22c55e, inset 0 0 22px rgba(34,197,94,.42)!important;
}
/* Nierozpoczęty test po kliknięciu: niebieski */
.vlms-test-entry.active:not(.completed):not(.failed):not(.retryable){
  background:#2563eb!important;
  color:#fff!important;
  border-color:#60a5fa!important;
  outline:0!important;
  box-shadow:inset 0 0 0 2px #60a5fa, inset 0 0 22px rgba(96,165,250,.42)!important;
}
/* Zaliczony test po kliknięciu: zielony */
.vlms-test-entry.completed.active{
  background:#166534!important;
  color:#fff!important;
  border-color:#22c55e!important;
  outline:0!important;
  box-shadow:inset 0 0 0 2px #22c55e, inset 0 0 22px rgba(34,197,94,.42)!important;
}
/* Ikona otwartej kłódki ma być czytelniejsza po odblokowaniu */
.vlms-test-entry.unlocked:not(.completed):not(.failed):not(.retryable) .vlms-status{
  color:#93c5fd!important;
  text-shadow:0 0 8px rgba(147,197,253,.6)!important;
  font-size:20px!important;
}
.vlms-test-entry.locked .vlms-status{
  color:#fbbf24!important;
  font-size:20px!important;
}
