/**
 * Digitech LMS frontend
 */
.digitech-form label { display:block; font-weight:600; margin-bottom:0.35rem; }
.digitech-form input[type="email"],
.digitech-form input[type="password"],
.digitech-form input[type="text"] {
  width:100%; max-width:420px; padding:0.65rem 0.75rem; border:1px solid #d0d5dd; border-radius:10px;
}
.digitech-form button {
  background:linear-gradient(135deg,#5b21b6,#1d4ed8); color:#fff; border:0; border-radius:999px;
  padding:0.7rem 1.4rem; cursor:pointer; font-weight:600;
}
.digitech-message.success { color:#057a55; }
.digitech-message.error { color:#b42318; }
.digitech-curriculum .digitech-module { margin:1rem 0; padding:1rem 1.1rem; border-radius:16px; background:rgba(91,33,182,0.06); }
.digitech-course-pricing { font-size:1.35rem; font-weight:700; margin:1rem 0; color:#1d4ed8; }
.digitech-verify { max-width:520px; }
.digitech-verify-valid { background:#ecfdf3; padding:1rem; border-radius:12px; }
.digitech-verify-invalid { background:#fef3f2; padding:1rem; border-radius:12px; }
.digitech-legal-flag { color:#b42318; }
.digitech-modal { background:#fff; border:1px solid #e4e7ec; border-radius:16px; padding:1.25rem; margin-top:1rem; max-width:420px; }

/* Phase 3 — dashboards + player */
.sk-btn { display:inline-flex; align-items:center; justify-content:center; padding:.7rem 1.1rem; border-radius:999px; border:0; background:linear-gradient(135deg,#5b21b6,#1d4ed8); color:#fff!important; font-weight:700; text-decoration:none!important; cursor:pointer; }
.sk-btn--ghost { background:#fff; color:#0f172a!important; border:1px solid #e2e8f0; }
.sk-progress-bar { height:8px; background:#e2e8f0; border-radius:999px; overflow:hidden; }
.sk-progress-bar > span { display:block; height:100%; background:linear-gradient(135deg,#5b21b6,#1d4ed8); }
.sk-dash { display:grid; grid-template-columns:240px 1fr; gap:1.25rem; min-height:70vh; }
.sk-dash-nav { background:#0f172a; color:#e2e8f0; border-radius:18px; padding:1rem; display:flex; flex-direction:column; gap:.45rem; }
.sk-dash-nav a { color:#e2e8f0; text-decoration:none; padding:.45rem .6rem; border-radius:10px; }
.sk-dash-nav a.is-active, .sk-dash-nav a:hover { background:rgba(255,255,255,.08); }
.sk-dash-brand { font-weight:800; margin-bottom:.75rem; color:#fff; }
.sk-stat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:.75rem; margin:1rem 0 1.5rem; }
.sk-stat { background:#fff; border-radius:16px; padding:1rem; box-shadow:0 8px 24px rgba(15,23,42,.06); }
.sk-stat span { display:block; font-size:1.6rem; font-weight:800; color:#1d4ed8; }
.sk-course-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:1rem; }
.sk-course-card { background:#fff; border-radius:18px; padding:1rem; box-shadow:0 10px 28px rgba(15,23,42,.06); }
.sk-table-wrap { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.sk-table { width:100%; border-collapse:collapse; }
.sk-table th, .sk-table td { padding:.55rem .6rem; border-bottom:1px solid #e2e8f0; text-align:left; }
.sk-player-body { margin:0; background:#f8fafc; font-family:Segoe UI,Helvetica Neue,sans-serif; }
.sk-player-top { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1rem; background:#fff; border-bottom:1px solid #e2e8f0; position:sticky; top:0; z-index:20; }
.sk-player { display:grid; grid-template-columns:320px 1fr; min-height:calc(100vh - 64px); }
.sk-player-sidebar { background:#fff; border-right:1px solid #e2e8f0; padding:1rem; overflow:auto; }
.sk-player-main { padding:1.25rem 1.5rem 3rem; }
.sk-player-sidebar ul { list-style:none; padding:0; margin:.35rem 0 0; }
.sk-player-sidebar li a { display:block; padding:.4rem .5rem; border-radius:8px; color:#0f172a; text-decoration:none; }
.sk-player-sidebar li.is-current a { background:rgba(29,78,216,.1); font-weight:700; }
.sk-player-sidebar li.is-complete a { color:#057a55; }
.sk-player-sidebar li.is-locked { opacity:.55; }
.sk-lesson-locked { display:flex; align-items:center; gap:.4rem; padding:.4rem .5rem; color:#64748b; }
.sk-icon-lock,.sk-icon-check {
  display:inline-block; width:.85rem; height:.85rem; flex:0 0 auto;
  background-repeat:no-repeat; background-position:center; background-size:contain;
}
.sk-icon-lock {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2364748b'%3E%3Cpath d='M17 8h-1V6a4 4 0 10-8 0v2H7a2 2 0 00-2 2v8a2 2 0 002 2h10a2 2 0 002-2v-8a2 2 0 00-2-2zm-7-2a2 2 0 114 0v2h-4V6zm7 12H7v-8h10v8z'/%3E%3C/svg%3E");
}
.sk-icon-check {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23057a55'%3E%3Cpath d='M9.5 16.2L5.3 12l1.4-1.4 2.8 2.8 7-7L18 7.8z'/%3E%3C/svg%3E");
}
.screen-reader-text {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0;
}
.sk-quiz-timer { font-weight:700; color:#b45309; }
.sk-player-nav { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.5rem; }
.sk-video iframe, .sk-video video { width:100%; aspect-ratio:16/9; border:0; border-radius:14px; background:#0f172a; }
.sk-player-drawer-toggle { display:none; margin:0.75rem; }
.sk-progress-pill { background:#eef2ff; color:#3730a3; padding:.25rem .6rem; border-radius:999px; font-weight:700; }
.sk-q { margin:0 0 1rem; padding:1rem; border:1px solid #e2e8f0; border-radius:12px; }
.sk-q label { display:block; margin:.35rem 0; }
.sk-enroll-cta { margin:1.5rem 0; padding:1.25rem; border:1px solid #e2e8f0; border-radius:14px; background:linear-gradient(180deg,#fff,#f8fafc); display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; }
.sk-enroll-price { margin:0; width:100%; font-size:1.15rem; }
.sk-enroll-msg { width:100%; color:#b91c1c; margin:0; }
@media (max-width:900px) {
  .sk-dash { grid-template-columns:1fr; }
  .sk-dash-nav { flex-direction:row; flex-wrap:wrap; }
  .sk-player { grid-template-columns:1fr; }
  .sk-player-drawer-toggle { display:inline-flex; }
  .sk-player-sidebar { display:none; position:fixed; inset:64px 0 0 0; z-index:30; }
  .sk-player-sidebar.is-open { display:block; }
}

/* Admission / Enroll checkout */
.sk-enroll { --sk-e-blue:#2563eb; --sk-e-purple:#5b3df5; --sk-e-ink:#0f172a; --sk-e-muted:#64748b; max-width:1180px; margin:0 auto 3rem; padding:0 1rem; }
.sk-enroll-hero {
  position:relative; display:grid; grid-template-columns:1.2fr .8fr; gap:1.5rem; align-items:end;
  padding:2rem 1.5rem 2.5rem; margin:0 0 1.75rem; border-radius:24px; overflow:hidden;
  background:linear-gradient(135deg,#e8f0ff 0%,#f0e9ff 55%,#eef2ff 100%);
}
.sk-enroll-hero__inner { position:relative; z-index:2; }
.sk-enroll-crumb { display:flex; flex-wrap:wrap; gap:.35rem; font-size:.85rem; color:var(--sk-e-muted); margin-bottom:1rem; }
.sk-enroll-crumb a { color:var(--sk-e-muted); text-decoration:none; }
.sk-enroll-badge {
  display:inline-block; background:#1e293b; color:#fff; font-size:.72rem; font-weight:700; letter-spacing:.04em;
  padding:.35rem .75rem; border-radius:999px; margin-bottom:.75rem;
}
.sk-enroll-title { margin:0 0 .6rem; font-size:clamp(1.6rem,3vw,2.35rem); line-height:1.15; color:var(--sk-e-ink); }
.sk-enroll-lead { margin:0 0 1rem; color:var(--sk-e-muted); max-width:36rem; }
.sk-enroll-meta { display:flex; flex-wrap:wrap; gap:.75rem 1.25rem; list-style:none; margin:0; padding:0; color:#334155; font-weight:600; font-size:.92rem; }
.sk-enroll-hero__media {
  min-height:220px; border-radius:18px; background-size:cover; background-position:center; box-shadow:0 20px 40px rgba(37,99,235,.18);
}
.sk-enroll-perks {
  position:absolute; right:1.25rem; top:50%; transform:translateY(-50%); z-index:3;
  background:#fff; border-radius:16px; padding:1rem 1.1rem; box-shadow:0 16px 36px rgba(15,23,42,.12); max-width:220px;
}
.sk-enroll-perks ul { list-style:none; margin:0; padding:0; }
.sk-enroll-perks li { position:relative; padding:.35rem 0 .35rem 1.35rem; font-size:.88rem; color:#0f172a; }
.sk-enroll-perks li::before { content:""; position:absolute; left:0; top:.55rem; width:.7rem; height:.7rem; border-radius:50%; background:#22c55e; box-shadow:inset 0 0 0 2px #fff; }

.sk-enroll-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.75fr); gap:1.5rem; align-items:start; }
.sk-enroll-card {
  background:#fff; border-radius:18px; padding:1.35rem 1.4rem 1.5rem; margin-bottom:1rem;
  box-shadow:0 10px 28px rgba(15,23,42,.06); border:1px solid rgba(15,23,42,.06);
}
.sk-enroll-card__head { display:flex; align-items:center; gap:.75rem; margin-bottom:1rem; }
.sk-enroll-card__head h2 { margin:0; font-size:1.15rem; }
.sk-enroll-step {
  width:2rem; height:2rem; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:var(--sk-e-blue); color:#fff; font-weight:800; font-size:.95rem;
}
.sk-enroll-auth-toggle { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; margin-bottom:1rem; }
.sk-enroll-auth-toggle button {
  border:0; border-radius:12px; padding:.9rem .75rem; font-weight:700; cursor:pointer;
  background:#e8eefc; color:#1e3a8a;
}
.sk-enroll-auth-toggle button.is-active { background:var(--sk-e-blue); color:#fff; }
.sk-enroll-fields { display:grid; grid-template-columns:1fr 1fr; gap:.85rem 1rem; }
.sk-enroll-fields label { display:flex; flex-direction:column; gap:.35rem; font-weight:600; font-size:.9rem; }
.sk-enroll-fields label em { color:#dc2626; font-style:normal; }
.sk-enroll-fields input {
  width:100%; padding:.75rem .85rem; border:1px solid #d0d5dd; border-radius:12px; font:inherit; background:#fff;
}
.sk-enroll-signed { margin:0; padding:.85rem 1rem; background:#f0f9ff; border-radius:12px; color:#0c4a6e; font-weight:600; }

.sk-pay-list { display:flex; flex-direction:column; gap:.65rem; }
.sk-pay-option {
  display:grid; grid-template-columns:auto 1fr auto; gap:.75rem; align-items:center;
  padding:1rem 1.05rem; border:1.5px solid #e2e8f0; border-radius:14px; cursor:pointer; background:#fff;
}
.sk-pay-option.is-active, .sk-pay-option:has(input:checked) { border-color:var(--sk-e-blue); background:#f8faff; box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.sk-pay-option input { width:1.1rem; height:1.1rem; }
.sk-pay-option__body { display:flex; flex-direction:column; gap:.15rem; }
.sk-pay-option__body strong { color:var(--sk-e-ink); }
.sk-pay-option__body small { color:var(--sk-e-muted); }
.sk-pay-option__logos { font-size:.75rem; font-weight:800; color:#64748b; letter-spacing:.02em; }
.sk-enroll-receipt {
  margin-top:1rem; padding:1rem; border-radius:14px; background:#fff7ed; border:1px dashed #fb923c;
}
.sk-receipt-label { display:flex; flex-direction:column; gap:.4rem; font-weight:700; }
.sk-receipt-label em { color:#dc2626; font-style:normal; }
.sk-receipt-hint { margin:.5rem 0 0; font-size:.85rem; color:#9a3412; }
.sk-enroll-delivery { margin-top:1.15rem; display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.sk-enroll-delivery__label { width:100%; font-weight:700; font-size:.9rem; margin-bottom:.15rem; }
.sk-chip {
  display:inline-flex; align-items:center; gap:.4rem; padding:.45rem .8rem; border-radius:999px;
  border:1px solid #e2e8f0; background:#fff; font-weight:600; font-size:.88rem; cursor:pointer;
}
.sk-chip:has(input:checked) { border-color:var(--sk-e-purple); background:#f5f3ff; color:#4c1d95; }

.sk-enroll-summary { position:sticky; top:1rem; }
.sk-enroll-summary__card {
  background:#fff; border-radius:18px; padding:1.15rem; box-shadow:0 14px 36px rgba(15,23,42,.08); border:1px solid rgba(15,23,42,.06);
}
.sk-enroll-summary__thumb { width:100%; height:120px; object-fit:cover; border-radius:12px; margin-bottom:.75rem; }
.sk-enroll-summary h3 { margin:0 0 .25rem; font-size:1.05rem; }
.sk-enroll-summary__by { margin:0 0 .85rem; color:var(--sk-e-muted); font-size:.9rem; }
.sk-enroll-summary__price { display:flex; flex-wrap:wrap; align-items:baseline; gap:.5rem; margin-bottom:1rem; }
.sk-enroll-summary__price strong { font-size:1.55rem; color:var(--sk-e-blue); }
.sk-enroll-summary__price s { color:#94a3b8; }
.sk-enroll-off { background:#dcfce7; color:#166534; font-size:.75rem; font-weight:800; padding:.2rem .5rem; border-radius:999px; }
.sk-enroll-summary__features { list-style:none; margin:0 0 1rem; padding:0; }
.sk-enroll-summary__features li { padding:.35rem 0 .35rem 1.25rem; position:relative; font-size:.9rem; color:#334155; }
.sk-enroll-summary__features li::before { content:"✓"; position:absolute; left:0; color:#2563eb; font-weight:800; }
.sk-enroll-summary__total {
  display:flex; justify-content:space-between; align-items:center; padding: .85rem 0; margin-bottom:.85rem;
  border-top:1px solid #e2e8f0; border-bottom:1px solid #e2e8f0; font-weight:700;
}
.sk-enroll-summary__total strong { color:var(--sk-e-blue); font-size:1.15rem; }
.sk-btn--block { width:100%; }
.sk-enroll-submit { background:linear-gradient(135deg,#6d4aff,#4f46e5 40%,#2563eb); padding:1rem 1.2rem; font-size:1rem; border-radius:14px; }
.sk-enroll-secure { text-align:center; margin:.75rem 0 0; font-size:.85rem; color:#15803d; font-weight:600; }
.sk-enroll-msg { margin:1rem 0 0; padding:.85rem 1rem; border-radius:12px; }
.sk-enroll-msg.is-error { background:#fef2f2; color:#b91c1c; }
.sk-enroll-msg.is-ok { background:#ecfdf3; color:#057a55; }

.sk-enroll-trust {
  display:grid; grid-template-columns:repeat(4,1fr); gap:.85rem; margin-top:1.75rem;
}
.sk-enroll-trust > div {
  background:#fff; border-radius:16px; padding:1rem; box-shadow:0 8px 22px rgba(15,23,42,.05);
  display:flex; flex-direction:column; gap:.2rem;
}
.sk-enroll-trust strong { color:var(--sk-e-ink); }
.sk-enroll-trust span { color:var(--sk-e-muted); font-size:.88rem; }

.sk-mode-pill { display:inline-block; font-size:.75rem; font-weight:800; padding:.2rem .55rem; border-radius:999px; margin:.35rem 0; }
.sk-mode-pill--live { background:#dbeafe; color:#1d4ed8; }
.sk-mode-pill--recorded { background:#ede9fe; color:#5b21b6; }
.sk-status { display:inline-block; padding:.15rem .5rem; border-radius:999px; font-size:.8rem; font-weight:700; text-transform:capitalize; }
.sk-status--pending { background:#fff7ed; color:#c2410c; }
.sk-status--active { background:#ecfdf3; color:#057a55; }
.sk-status--completed { background:#eef2ff; color:#3730a3; }
.sk-status--cancelled, .sk-status--suspended { background:#fef2f2; color:#b91c1c; }
.sk-admit-table { background:#fff; border-radius:16px; padding:1rem; box-shadow:0 10px 28px rgba(15,23,42,.06); }
.sk-enroll--done { padding:2rem; text-align:center; background:#fff; border-radius:18px; box-shadow:0 10px 28px rgba(15,23,42,.06); }
.sk-enroll--done .sk-btn { margin:.35rem; }

@media (max-width:960px) {
  .sk-enroll-hero { grid-template-columns:1fr; }
  .sk-enroll-perks { position:static; transform:none; max-width:none; margin-top:.5rem; }
  .sk-enroll-grid { grid-template-columns:1fr; }
  .sk-enroll-summary { position:static; }
  .sk-enroll-fields { grid-template-columns:1fr; }
  .sk-enroll-trust { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px) {
  .sk-enroll-auth-toggle { grid-template-columns:1fr; }
  .sk-enroll-trust { grid-template-columns:1fr; }
  .sk-pay-option { grid-template-columns:auto 1fr; }
  .sk-pay-option__logos { display:none; }
}

/* Phase 3 Live Training — session/attendance mobile */
.sk-live-att-block .sk-table-wrap,
.sk-session-att-form .sk-table-wrap { margin: .75rem 0; }
.sk-join-session { display:inline-block; margin-top:.35rem; }
@media (max-width:720px) {
  .sk-dash nav a { display:inline-block; margin:.2rem .35rem .2rem 0; }
  .sk-session-att-form select { max-width:100%; }
  #sk-live-form label { display:block; margin-bottom:.65rem; }
  #sk-live-form input, #sk-live-form select { width:100%; max-width:100%; box-sizing:border-box; }
}

