.bq-app{font-family:Arial,sans-serif;color:#1a1a2e;font-size:15px;max-width:760px;margin:0 auto;
  -webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}
.bq-app *{box-sizing:border-box}

/* ── Login / blocked notices ── */
.bq-login-required,.bq-blocked{background:#fff;border-radius:14px;padding:36px 24px;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.08);max-width:420px;margin:30px auto}
.bq-login-icon,.bq-blocked-icon{font-size:48px;margin-bottom:10px}
.bq-login-required h3,.bq-blocked h3{color:#1a237e;margin-bottom:8px}
.bq-login-required p,.bq-blocked p{color:#555;margin-bottom:16px;line-height:1.5}

/* ── Buttons ── */
.bq-btn{border:none;border-radius:30px;font-weight:700;cursor:pointer;font-size:15px;padding:12px 30px;transition:transform .15s,box-shadow .15s;font-family:inherit}
.bq-btn:active{transform:scale(.97)}
.bq-btn-primary{background:#1a237e;color:#fff;box-shadow:0 3px 10px rgba(26,35,126,.35)}
.bq-btn-outline{background:transparent;color:#1a237e;border:2px solid #1a237e}
.bq-btn-large{padding:14px 44px;font-size:16px;width:100%;max-width:320px}
.bq-btn-small{padding:7px 16px;font-size:12px;border-radius:20px;background:#1a237e;color:#fff}

/* ── Welcome screen ── */
.bq-welcome-screen{background:#fff;border-radius:16px;padding:34px 24px;text-align:center;box-shadow:0 2px 12px rgba(0,0,0,.08)}
.bq-lock-icon{font-size:56px;margin-bottom:10px}
.bq-welcome-screen h2{color:#1a237e;font-size:21px;margin-bottom:8px}
.bq-desc{color:#666;font-size:14px;margin-bottom:16px;line-height:1.6}
.bq-meta-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0}
.bq-meta-item{background:#e8eaf6;color:#3949ab;padding:8px 16px;border-radius:20px;font-size:13px}
.bq-student-tag{color:#888;font-size:13px;margin-bottom:18px}

/* ── Header / progress / timer ── */
.bq-hdr{background:linear-gradient(135deg,#1a237e,#283593);color:#fff;padding:16px;border-radius:12px;margin-bottom:14px;position:sticky;top:8px;z-index:50;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.bq-hdr h2{font-size:16px;margin-bottom:10px}
.bq-hdr-row{display:flex;align-items:center;gap:14px}
.bq-progress-wrap{flex:1}
.bq-progress-bar{background:rgba(255,255,255,.25);border-radius:6px;height:6px;overflow:hidden}
.bq-progress-fill{background:#ffd54f;height:100%;border-radius:6px;transition:width .3s}
.bq-progress-label{font-size:11px;opacity:.85;margin-top:4px}
.bq-timer{background:rgba(255,255,255,.18);padding:6px 14px;border-radius:20px;font-weight:700;font-size:14px;white-space:nowrap}
.bq-timer.bq-timer-warn{background:#c62828;animation:bq-pulse 1s infinite}
@keyframes bq-pulse{0%,100%{opacity:1}50%{opacity:.6}}

/* ── Question cards ── */
.bq-q-card{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 1px 4px rgba(0,0,0,.1);border-left:4px solid #3949ab}
.bq-q-num{font-size:11px;font-weight:700;color:#5c6bc0;text-transform:uppercase;margin-bottom:6px}
.bq-q-text{font-size:15px;font-weight:600;color:#1a237e;margin-bottom:12px;line-height:1.5}
.bq-options{display:grid;gap:8px}
.bq-opt{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s;background:#fafafa}
.bq-opt:active{transform:scale(.98)}
.bq-opt-letter{width:26px;height:26px;border-radius:50%;background:#e8eaf6;color:#3949ab;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.bq-opt-text{font-size:14px;line-height:1.4;color:#333}
.bq-opt.bq-selected{border-color:#3949ab;background:#e8eaf6}
.bq-opt.bq-selected .bq-opt-letter{background:#3949ab;color:#fff}
.bq-opt.bq-correct{border-color:#2e7d32;background:#e8f5e9}
.bq-opt.bq-correct .bq-opt-letter{background:#2e7d32;color:#fff}
.bq-opt.bq-wrong{border-color:#c62828;background:#ffebee}
.bq-opt.bq-wrong .bq-opt-letter{background:#c62828;color:#fff}
.bq-opt.bq-show-correct{border-color:#1565c0;background:#e3f2fd}
.bq-opt.bq-show-correct .bq-opt-letter{background:#1565c0;color:#fff}

.bq-warn-msg{background:#fff3cd;color:#856404;border:1px solid #ffc107;border-radius:8px;padding:10px 14px;font-size:13px;text-align:center;margin:0 0 12px}
.bq-btn-wrap{text-align:center;padding:8px 0 24px}

/* ── Review bar ── */
.bq-review-bar{background:#1b5e20;color:#fff;text-align:center;padding:10px 16px;font-size:13px;font-weight:700;border-radius:8px;margin-bottom:12px;position:sticky;top:78px;z-index:49}
.bq-review-legend{display:flex;justify-content:center;gap:16px;margin-top:6px;font-size:12px;font-weight:400}
.bq-leg{display:flex;align-items:center;gap:5px}
.bq-dot{width:12px;height:12px;border-radius:50%;display:inline-block}

/* ── Overlays / modals ── */
.bq-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:9999;align-items:center;justify-content:center;padding:16px}
.bq-overlay.bq-show{display:flex}
.bq-modal-box{background:#fff;border-radius:16px;padding:26px 22px;width:100%;max-width:380px;text-align:center;box-shadow:0 8px 32px rgba(0,0,0,.3);max-height:90vh;overflow-y:auto}

/* score modal */
.bq-score-box h2{color:#1a237e;font-size:20px;margin-bottom:4px}
.bq-score-circle{width:120px;height:120px;border-radius:50%;margin:18px auto;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;background:#f0f4f8}
.bq-score-num{font-size:36px;line-height:1;color:#1a237e}
.bq-score-total{font-size:14px;opacity:.7;color:#1a237e}
.bq-score-pct{font-size:22px;font-weight:700;margin:4px 0;color:#1a237e}
.bq-score-msg{font-size:15px;color:#555;margin-bottom:16px}
.bq-score-detail{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.bq-s-box{border-radius:10px;padding:10px 6px}
.bq-s-box span{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.bq-s-box strong{font-size:22px;font-weight:700}
.bq-s-correct{background:#e8f5e9;color:#2e7d32}
.bq-s-wrong{background:#ffebee;color:#c62828}
.bq-score-actions{display:flex;flex-direction:column;gap:8px}
.bq-score-actions .bq-btn{width:100%}

/* review-pending state inside score modal */
.bq-review-pending{display:none;background:#fff8e1;border:1px solid #ffe082;border-radius:10px;padding:14px;margin-bottom:16px}
.bq-review-pending-icon{font-size:26px;margin-bottom:4px}
.bq-review-status-text{font-size:13px;color:#7a5c00;line-height:1.5;margin:0}

/* ── Dashboard ── */
.bq-dashboard{max-width:900px}

/* notification banner */
.bq-notif-banner{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#1565c0,#1976d2);color:#fff;border-radius:12px;padding:14px 16px;margin-bottom:18px;box-shadow:0 2px 10px rgba(21,101,192,.3)}
.bq-notif-icon{font-size:24px;flex-shrink:0}
.bq-notif-text{flex:1;display:flex;flex-direction:column;gap:2px}
.bq-notif-headline{font-size:14px}
.bq-notif-sub{font-size:12px;opacity:.9}
.bq-notif-dismiss{cursor:pointer;font-size:16px;opacity:.85;padding:4px;flex-shrink:0}
.bq-notif-dismiss:hover{opacity:1}

.bq-dash-hdr h2{color:#1a237e;font-size:21px;margin-bottom:4px}
.bq-dash-hdr p{color:#666;font-size:14px;margin-bottom:18px}
.bq-dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}
.bq-stat-box{background:#fff;border-radius:12px;padding:18px 10px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.bq-stat-num{font-size:26px;font-weight:700;color:#1a237e}
.bq-stat-label{font-size:12px;color:#777;margin-top:4px;text-transform:uppercase;letter-spacing:.5px}
.bq-dash-sub{color:#1a237e;font-size:16px;margin-bottom:10px}
.bq-empty{color:#888;font-size:14px;text-align:center;padding:30px}

.bq-history-table-wrap{overflow-x:auto;background:#fff;border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.bq-history-table{width:100%;border-collapse:collapse;font-size:14px}
.bq-history-table th{background:#f5f6fa;color:#444;text-align:left;padding:12px 14px;font-size:12px;text-transform:uppercase;letter-spacing:.5px}
.bq-history-table td{padding:12px 14px;border-top:1px solid #eee}
.bq-history-table tr.bq-row-new{background:#e3f2fd}
.bq-pill{padding:3px 10px;border-radius:12px;font-size:12px;font-weight:700;white-space:nowrap}
.bq-pill-green{background:#d4edda;color:#155724}
.bq-pill-orange{background:#fff3cd;color:#856404}
.bq-pill-red{background:#f8d7da;color:#721c24}
.bq-pill-gray{background:#eceff1;color:#607d8b;font-weight:600}
.bq-new-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ffd54f;margin-left:4px;vertical-align:middle}

@media(max-width:600px){
  .bq-history-table thead{display:none}
  .bq-history-table,.bq-history-table tbody,.bq-history-table tr,.bq-history-table td{display:block;width:100%}
  .bq-history-table tr{border-top:1px solid #eee;padding:10px 14px}
  .bq-history-table td{border:none;padding:4px 0;display:flex;justify-content:space-between;align-items:center}
  .bq-history-table td::before{content:attr(data-label);font-weight:700;color:#888;font-size:11px;text-transform:uppercase}
  .bq-dash-stats{grid-template-columns:1fr 1fr}
  .bq-notif-banner{flex-wrap:wrap}
}

/* Dashboard review modal */
.bq-dash-review-box{max-width:600px;text-align:left}
.bq-dash-review-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.bq-dash-review-hdr h2{color:#1a237e;font-size:17px}
.bq-close-review-x{cursor:pointer;font-size:18px;color:#888}
.bq-dash-review-body .bq-q-card{text-align:left}

@media(max-width:480px){
  .bq-welcome-screen h2{font-size:18px}
  .bq-q-text{font-size:14px}
  .bq-opt-text{font-size:13px}
}

/* ── Welcome screen extras ── */
.bq-teacher-byline{color:#5c6bc0;font-size:13px;font-weight:600;margin-bottom:6px}
.bq-warn-once{background:#fff3cd;color:#856404;border:1px solid #ffe082;border-radius:8px;padding:8px 14px;font-size:12px;margin:6px auto 16px;max-width:340px}

/* ── Browse grid (card layout) ── */
.bq-browse{max-width:1100px}
.bq-browse-hdr h2{color:#1a237e;font-size:22px;margin-bottom:4px}
.bq-browse-hdr p{color:#666;font-size:14px;margin-bottom:16px}
.bq-browse-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.bq-browse-filters select{padding:8px 12px;border-radius:8px;border:1.5px solid #dcdfe6;font-size:13px;background:#fff;color:#333}

.bq-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.bq-quiz-card{background:#fff;border-radius:14px;padding:18px;box-shadow:0 1px 6px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:6px;border-top:4px solid #3949ab}
.bq-quiz-card.bq-state-completed{border-top-color:#2e7d32}
.bq-quiz-card.bq-state-locked{border-top-color:#9e9e9e;opacity:.75}
.bq-quiz-card-top{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:2px}
.bq-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:3px 9px;border-radius:10px}
.bq-tag-subject{background:#e8eaf6;color:#3949ab}
.bq-tag-class{background:#fce4ec;color:#ad1457}
.bq-quiz-card-title{color:#1a237e;font-size:16px;line-height:1.3;margin:2px 0}
.bq-quiz-card-chapter,.bq-quiz-card-teacher{font-size:12.5px;color:#666;margin:0}
.bq-quiz-card-meta{display:flex;gap:14px;font-size:12px;color:#777;margin:8px 0 4px}
.bq-quiz-card-action{margin-top:auto;padding-top:10px}
.bq-btn-small-full{display:block;text-align:center;width:100%;padding:10px;font-size:13px;text-decoration:none}

/* ── Enrollment form ── */
.bq-enroll{max-width:600px}
.bq-enroll-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:#fff;padding:16px;border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.bq-enroll-form select{flex:1;min-width:180px;padding:10px 12px;border-radius:8px;border:1.5px solid #dcdfe6;font-size:14px}
.bq-enroll-msg{margin-top:12px;font-size:13px;padding:10px 14px;border-radius:8px}
.bq-enroll-msg.bq-msg-success{background:#e8f5e9;color:#2e7d32;display:block}
.bq-enroll-msg.bq-msg-error{background:#ffebee;color:#c62828;display:block}
.bq-enroll-msg:empty{display:none}

/* ── Leaderboard ── */
.bq-leaderboard{max-width:800px}
.bq-leaderboard-table .bq-rank{font-size:16px;font-weight:700;color:#5c6bc0}
.bq-history-table tr.bq-row-top{background:#fffde7}

@media(max-width:600px){
  .bq-card-grid{grid-template-columns:1fr}
}


/* ═══════════════════════════════════════════════════════════════
   COURSES — Catalog, Player, My-Courses, Certificate
   ═══════════════════════════════════════════════════════════════ */

/* ── Catalog Hero ── */
.bq-courses-catalog { max-width: 1200px; }
.bq-catalog-hero { background: linear-gradient(135deg,#1a237e,#3949ab); color:#fff; border-radius:16px; padding:40px 28px; text-align:center; margin-bottom:28px; }
.bq-catalog-hero h2 { font-size:28px; margin:0 0 8px; }
.bq-catalog-hero p  { font-size:15px; opacity:.88; margin:0; }

/* ── Filters ── */
.bq-catalog-filters { margin-bottom:24px; }
.bq-filter-form { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.bq-filter-form select { padding:9px 13px; border-radius:8px; border:1.5px solid #dde2ef; font-size:14px; background:#fff; color:#333; cursor:pointer; }
.bq-filter-count { font-size:13px; color:#777; margin-left:4px; }

/* ── Course Grid ── */
.bq-course-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:22px; }

.bq-course-card { background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,.09); transition:transform .2s,box-shadow .2s; display:flex; flex-direction:column; }
.bq-course-card:hover { transform:translateY(-4px); box-shadow:0 8px 24px rgba(0,0,0,.14); }
.bq-course-card.bq-enrolled { border-top:3px solid #2e7d32; }

.bq-course-thumb { height:170px; background:#e8eaf6 center/cover no-repeat; position:relative; }
.bq-thumb-placeholder { display:flex; align-items:center; justify-content:center; font-size:48px; }
.bq-enrolled-badge { position:absolute; top:10px; right:10px; background:#2e7d32; color:#fff; font-size:11px; font-weight:700; padding:4px 10px; border-radius:12px; }

.bq-course-card-body { padding:16px 18px; display:flex; flex-direction:column; flex:1; }
.bq-course-tags { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:8px; }
.bq-tag-cat   { background:#e8eaf6; color:#3949ab; }
.bq-tag-level { background:#fce4ec; color:#ad1457; }

.bq-course-title { font-size:16px; font-weight:700; color:#1a237e; margin:0 0 6px; line-height:1.35; }
.bq-course-desc  { font-size:13px; color:#666; margin:0 0 10px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bq-course-instructor { font-size:12.5px; color:#555; margin-bottom:10px; }
.bq-course-meta { display:flex; gap:10px; flex-wrap:wrap; font-size:12px; color:#777; margin-bottom:12px; }

.bq-course-progress { margin-bottom:12px; }
.bq-progress-bar { background:#e0e0e0; border-radius:6px; height:7px; overflow:hidden; }
.bq-progress-fill { background:linear-gradient(90deg,#3949ab,#5c6bc0); height:100%; border-radius:6px; transition:width .4s; }
.bq-progress-label { font-size:11px; color:#888; margin-top:4px; display:block; }

.bq-course-card-footer { margin-top:auto; padding-top:10px; }
.bq-btn-full { width:100%; text-align:center; display:block; }
.bq-btn-ghost { background:transparent; color:#555; border:1.5px solid #dde2ef; }
.bq-btn-ghost:hover { border-color:#3949ab; color:#3949ab; }
.bq-free-badge { background:#fff9c4; color:#f57f17; font-size:10px; padding:2px 6px; border-radius:6px; vertical-align:middle; margin-left:4px; font-weight:700; }

/* ── Course Player ── */
.bq-course-player { max-width:1300px; font-family:inherit; }

.bq-player-topbar { display:flex; align-items:center; gap:16px; background:linear-gradient(135deg,#1a237e,#283593); color:#fff; border-radius:12px; padding:12px 18px; margin-bottom:20px; flex-wrap:wrap; }
.bq-back-link { color:rgba(255,255,255,.8); font-size:13px; text-decoration:none; white-space:nowrap; }
.bq-back-link:hover { color:#fff; }
.bq-player-title { flex:1; font-size:15px; font-weight:700; min-width:120px; }
.bq-player-progress-wrap { display:flex; align-items:center; gap:8px; font-size:13px; white-space:nowrap; }
.bq-progress-sm { width:100px; height:6px; background:rgba(255,255,255,.25); }

.bq-player-layout { display:grid; grid-template-columns:300px 1fr; gap:20px; align-items:start; }

/* Sidebar */
.bq-player-sidebar { background:#fff; border-radius:14px; box-shadow:0 2px 10px rgba(0,0,0,.09); overflow:hidden; position:sticky; top:20px; max-height:80vh; overflow-y:auto; }
.bq-sidebar-hdr { background:#f5f6fa; padding:14px 16px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #e8eaf6; }
.bq-sidebar-hdr strong { font-size:14px; color:#1a237e; }
.bq-sidebar-stats { font-size:11px; color:#777; }
.bq-sidebar-section { border-bottom:1px solid #f0f2f8; }
.bq-sidebar-section-title { background:#eef0fb; color:#3949ab; font-size:12px; font-weight:700; padding:10px 16px; text-transform:uppercase; letter-spacing:.5px; }
.bq-sidebar-lessons { list-style:none; margin:0; padding:0; }
.bq-sidebar-lessons li { border-bottom:1px solid #f8f8fb; }
.bq-sidebar-lessons li a { display:flex; align-items:center; gap:8px; padding:10px 16px; text-decoration:none; color:#444; font-size:13px; transition:background .15s; }
.bq-sidebar-lessons li a:hover { background:#f5f6ff; }
.bq-sidebar-lessons li.bq-lesson-done a { color:#2e7d32; }
.bq-sidebar-lessons li.bq-lesson-current a { background:#e8eaf6; font-weight:700; color:#1a237e; }
.bq-sidebar-lessons li.bq-lesson-locked { display:flex; align-items:center; gap:8px; padding:10px 16px; color:#aaa; font-size:13px; }
.bq-lesson-dur { margin-left:auto; font-size:11px; color:#aaa; white-space:nowrap; }

/* Player Main */
.bq-player-main { background:#fff; border-radius:14px; box-shadow:0 2px 10px rgba(0,0,0,.09); overflow:hidden; }

/* Course Overview */
.bq-course-overview { }
.bq-overview-thumb { height:280px; background:#e8eaf6 center/cover no-repeat; }
.bq-overview-content { padding:28px 32px; }
.bq-course-instructor-line { color:#555; font-size:14px; margin-bottom:18px; }
.bq-overview-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:20px 0 24px; }
.bq-ov-stat { background:#f5f6fa; border-radius:10px; padding:16px 8px; text-align:center; }
.bq-ov-stat strong { display:block; font-size:22px; color:#1a237e; font-weight:700; }
.bq-ov-stat span { font-size:11px; color:#888; text-transform:uppercase; letter-spacing:.5px; margin-top:4px; display:block; }
.bq-overview-desc { color:#555; font-size:14px; line-height:1.7; margin-bottom:24px; }
.bq-enroll-cta { text-align:center; }
.bq-btn-lg { padding:15px 40px; font-size:16px; }

.bq-completion-banner { display:flex; align-items:center; gap:16px; background:linear-gradient(135deg,#1b5e20,#2e7d32); color:#fff; border-radius:12px; padding:20px 24px; }
.bq-completion-icon { font-size:40px; }

/* Lesson Viewer */
.bq-lesson-viewer { padding:28px 32px; }
.bq-lesson-hdr { display:flex; align-items:center; gap:14px; margin-bottom:20px; flex-wrap:wrap; }
.bq-lesson-title-main { font-size:22px; font-weight:700; color:#1a237e; margin:0; flex:1; }
.bq-lesson-type-badge { background:#e8eaf6; color:#3949ab; font-size:12px; font-weight:700; padding:5px 12px; border-radius:20px; white-space:nowrap; }

/* Video */
.bq-video-wrap { position:relative; width:100%; padding-bottom:56.25%; background:#000; border-radius:10px; overflow:hidden; margin-bottom:22px; }
.bq-video-wrap iframe,
.bq-video-wrap video { position:absolute; top:0; left:0; width:100%; height:100%; }

/* Lesson content */
.bq-lesson-content { color:#444; font-size:15px; line-height:1.75; margin-bottom:24px; }
.bq-lesson-content h2,.bq-lesson-content h3 { color:#1a237e; }
.bq-lesson-content img { max-width:100%; border-radius:8px; }

/* Quiz CTA */
.bq-lesson-quiz-cta { background:#e8eaf6; border-radius:10px; padding:20px 24px; text-align:center; margin-bottom:24px; }

/* Lesson Footer */
.bq-lesson-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; border-top:1px solid #f0f2f8; padding-top:20px; margin-top:10px; }
.bq-lesson-completed-check { color:#2e7d32; font-weight:700; font-size:15px; }
.bq-lesson-nav { display:flex; gap:10px; }
.bq-btn-success { background:#2e7d32; color:#fff; }
.bq-btn-success:hover { background:#1b5e20; }

/* ── My Courses ── */
.bq-my-courses { max-width:900px; }
.bq-my-courses-stats .bq-stat-box-green { border-top:3px solid #2e7d32; }
.bq-my-courses-stats .bq-stat-box-green .bq-stat-num { color:#2e7d32; }
.bq-my-courses-stats .bq-stat-box-gold { border-top:3px solid #f57f17; }
.bq-my-courses-stats .bq-stat-box-gold .bq-stat-num { color:#f57f17; }

.bq-my-section { margin-bottom:30px; }
.bq-my-course-list { display:flex; flex-direction:column; gap:14px; }

.bq-my-course-row { display:grid; grid-template-columns:90px 1fr auto; gap:16px; background:#fff; border-radius:12px; padding:14px 18px; box-shadow:0 1px 6px rgba(0,0,0,.08); align-items:center; }
.bq-course-completed-row { opacity:.9; }
.bq-my-course-thumb { width:90px; height:64px; background:#e8eaf6 center/cover no-repeat; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:28px; flex-shrink:0; position:relative; }
.bq-thumb-done-overlay { position:absolute; inset:0; background:rgba(0,0,0,.35); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:22px; }
.bq-my-course-title { font-size:15px; font-weight:700; color:#1a237e; margin-bottom:4px; }
.bq-my-course-meta  { font-size:12px; color:#777; margin-bottom:8px; }
.bq-my-course-enrolled { font-size:11px; color:#aaa; margin-top:4px; }
.bq-cert-pill { display:inline-block; background:#fff9c4; color:#f57f17; font-size:11px; font-weight:700; padding:3px 10px; border-radius:12px; margin-top:4px; }

/* Certificates Grid */
.bq-cert-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; }
.bq-cert-card { display:flex; align-items:center; gap:14px; background:#fffde7; border:1.5px solid #ffe082; border-radius:12px; padding:14px 18px; }
.bq-cert-card-icon { font-size:32px; flex-shrink:0; }
.bq-cert-card-info { flex:1; }
.bq-cert-card-title { font-size:14px; font-weight:700; color:#1a237e; margin-bottom:2px; }
.bq-cert-card-meta  { font-size:12px; color:#777; }
.bq-cert-card-uid   { font-size:10px; color:#aaa; margin-top:2px; font-family:monospace; }
.bq-btn-gold { background:#f57f17; color:#fff; }
.bq-btn-gold:hover { background:#e65100; }

/* ── Certificate ── */
.bq-cert-wrapper { padding:20px; }
.bq-cert-actions { display:flex; gap:12px; justify-content:center; margin-top:20px; flex-wrap:wrap; }

.bq-certificate { background:#fff; border-radius:16px; padding:52px 60px; text-align:center; box-shadow:0 4px 32px rgba(0,0,0,.15); position:relative; max-width:800px; margin:0 auto; min-height:520px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.bq-cert-border { position:absolute; inset:14px; border:3px solid #c9a84c; border-radius:10px; pointer-events:none; }
.bq-cert-border::before { content:''; position:absolute; inset:6px; border:1px solid #e8c96a; border-radius:6px; }

.bq-cert-top { margin-bottom:12px; }
.bq-cert-seal { font-size:56px; }
.bq-cert-subtitle { font-size:11px; font-weight:700; letter-spacing:4px; text-transform:uppercase; color:#8d6e1a; margin-bottom:12px; }
.bq-cert-divider { width:80px; height:3px; background:linear-gradient(90deg,#c9a84c,#f0c040,#c9a84c); border-radius:2px; margin:0 auto 18px; }
.bq-cert-divider-sm { width:50px; margin-bottom:16px; }
.bq-cert-presented { font-size:14px; color:#888; margin-bottom:6px; font-style:italic; }
.bq-cert-name { font-size:36px; font-weight:700; color:#1a237e; margin-bottom:10px; font-family:Georgia,serif; }
.bq-cert-body-text { font-size:14px; color:#666; margin-bottom:8px; }
.bq-cert-course-title { font-size:22px; font-weight:700; color:#1a237e; margin-bottom:8px; line-height:1.3; }
.bq-cert-instructor-line { font-size:13px; color:#777; margin-bottom:16px; }

.bq-cert-footer-row { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:10px; gap:20px; }
.bq-cert-sig-block { flex:1; text-align:center; }
.bq-cert-sig-line { border-bottom:2px solid #c9a84c; width:80%; margin:0 auto 6px; }
.bq-cert-sig-label { font-size:11px; color:#888; }
.bq-cert-badge-center { text-align:center; }
.bq-cert-star-badge { font-size:40px; }
.bq-cert-uid { font-size:10px; color:#aaa; font-family:monospace; margin-top:4px; }

/* ── Certificate Print ── */
@media print {
  body * { visibility:hidden; }
  .bq-certificate, .bq-certificate * { visibility:visible; }
  .bq-certificate { position:fixed; inset:0; margin:0; box-shadow:none; border-radius:0; }
  .bq-cert-actions { display:none; }
}

/* ── Modal for certificate ── */
.bq-cert-modal-box { max-width:860px; width:95%; }

/* ── Empty State ── */
.bq-empty-state { text-align:center; padding:60px 20px; }
.bq-empty-icon { font-size:56px; margin-bottom:14px; }
.bq-empty-state p { color:#888; font-size:15px; margin-bottom:20px; }

/* ── Responsive ── */
@media (max-width:900px) {
  .bq-player-layout { grid-template-columns:1fr; }
  .bq-player-sidebar { position:static; max-height:none; }
  .bq-overview-stats { grid-template-columns:repeat(2,1fr); }
  .bq-certificate { padding:36px 24px; }
  .bq-cert-name { font-size:26px; }
  .bq-cert-course-title { font-size:17px; }
}
@media (max-width:600px) {
  .bq-course-grid { grid-template-columns:1fr; }
  .bq-my-course-row { grid-template-columns:1fr; }
  .bq-my-course-thumb { width:100%; height:120px; }
  .bq-lesson-viewer { padding:16px; }
  .bq-overview-content { padding:18px; }
  .bq-cert-footer-row { flex-direction:column; gap:14px; }
}
