.bcd-wrap *,.bsr-wrap *{box-sizing:border-box}.bsm-modal{position:fixed;inset:0;background:rgb(0 0 0 / .55);display:flex;align-items:center;justify-content:center;z-index:99999;padding:16px;overflow-y:auto}.bsm-modal-box{background:#fff;border-radius:16px;padding:28px;width:480px;max-width:95vw;box-shadow:0 20px 60px rgb(0 0 0 / .25);position:relative}.bsm-modal-wide{max-width:720px;width:92%}.bsm-modal-tall{max-height:85vh;overflow-y:auto}.bcd-modal-scroll{max-height:88vh;overflow-y:auto}.bsm-modal-close{position:absolute;top:14px;right:18px;background:#f3f4f6;border:none;width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.bsm-modal-close:hover{background:#e5e7eb;color:#111}.bsm-modal-loading{text-align:center;padding:48px 20px;color:#9ca3af;font-size:14px}.bsm-status{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}.bsm-status-passed{background:#dcfce7;color:#15803d}.bsm-status-failed{background:#fee2e2;color:#b91c1c}.bsm-status-completed{background:#dcfce7;color:#15803d}.bsm-status-in_progress{background:#fef3c7;color:#92400e}.bsm-status-not_started{background:#f3f4f6;color:#6b7280}.bsm-code-badge-lg{display:inline-block;background:#1e293b;color:#facc15;font-family:monospace;font-size:22px;font-weight:700;letter-spacing:.15em;padding:10px 20px;border-radius:10px}.bsm-btn-copy-link{background:#1d4ed8;color:#fff;border:none;border-radius:7px;padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.bsm-btn-copy-link:hover{background:#1e40af}.bcd-wrap{max-width:1040px;margin:0 auto;padding:0 0 60px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.bcd-hero{background:linear-gradient(135deg,#1e3a8a 0%,#1d4ed8 55%,#3b82f6 100%);border-radius:0 0 24px 24px;padding:36px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;overflow:hidden;margin-bottom:32px}.bcd-hero::before{content:'';position:absolute;top:-60px;right:-60px;width:240px;height:240px;background:rgb(255 255 255 / .06);border-radius:50%}.bcd-hero::after{content:'';position:absolute;bottom:-80px;right:120px;width:200px;height:200px;background:rgb(255 255 255 / .04);border-radius:50%}.bcd-hero-left{display:flex;align-items:center;gap:20px;position:relative;z-index:1}.bcd-avatar{width:68px;height:68px;border-radius:50%;background:rgb(255 255 255 / .2);border:3px solid rgb(255 255 255 / .5);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:#fff;flex-shrink:0}.bcd-greeting{font-size:24px;font-weight:700;color:#fff;margin:0 0 6px;line-height:1.2}.bcd-hero-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bcd-lang-badge,.bcd-role-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.bcd-lang-badge{background:rgb(255 255 255 / .15);color:#e0e7ff}.bcd-role-badge{background:rgb(99 102 241 / .3);color:#c7d2fe}.bcd-hero-right{position:relative;z-index:1;flex-shrink:0}.bcd-btn-hero{background:#fff;color:#1d4ed8;border:none;border-radius:10px;padding:11px 22px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:0 2px 12px rgb(0 0 0 / .15);transition:box-shadow .15s,transform .1s}.bcd-btn-hero:hover{box-shadow:0 4px 20px rgb(0 0 0 / .2);transform:translateY(-1px)}.bcd-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:0 4px;margin-bottom:32px}.bcd-stat-card{background:#fff;border-radius:14px;padding:20px 22px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 4px rgb(0 0 0 / .07),0 4px 16px rgb(0 0 0 / .04);transition:box-shadow .15s,transform .1s}.bcd-stat-card:hover{box-shadow:0 4px 20px rgb(0 0 0 / .1);transform:translateY(-2px)}.bcd-stat-icon{width:48px;height:48px;border-radius:12px;background:#eff6ff;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.bcd-stat-green .bcd-stat-icon{background:#f0fdf4}.bcd-stat-amber .bcd-stat-icon{background:#fffbeb}.bcd-stat-val{font-size:30px;font-weight:800;color:#111827;line-height:1;margin-bottom:2px}.bcd-stat-lbl{font-size:12px;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.bcd-group-card{background:#fff;border-radius:16px;border-left:5px solid var(--accent,#4f46e5);box-shadow:0 2px 8px rgb(0 0 0 / .07),0 8px 32px rgb(0 0 0 / .04);margin-bottom:28px;overflow:hidden}.bcd-card-header{display:flex;align-items:center;justify-content:space-between;padding:22px 28px;gap:16px;border-bottom:1px solid #f1f5f9}.bcd-card-header-left{display:flex;align-items:center;gap:14px;min-width:0}.bcd-group-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.bcd-group-name{font-size:17px;font-weight:700;color:#111827;margin:0 0 5px}.bcd-card-tags{display:flex;gap:6px;flex-wrap:wrap}.bcd-tag{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}.bcd-tag-church{background:#f0f9ff;color:#0369a1}.bcd-tag-course{background:#faf5ff;color:#7c3aed}.bcd-card-header-right{display:flex;align-items:center;gap:14px;flex-shrink:0}.bcd-student-badge{display:flex;flex-direction:column;align-items:center;background:#f8fafc;border-radius:10px;padding:8px 14px}.bcd-student-count{font-size:22px;font-weight:800;color:#1e293b;line-height:1}.bcd-student-lbl{font-size:10px;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.bcd-group-ring-wrap{position:relative;width:52px;height:52px}.bcd-group-ring{width:52px;height:52px;transform:rotate(-90deg);display:block}.bcd-ring-bg{fill:none;stroke:#e2e8f0;stroke-width:5}.bcd-ring-fg{fill:none;stroke-width:5;stroke-linecap:round;transition:stroke-dasharray .4s ease}.bcd-group-ring-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#1e293b}.bcd-share-details{border-bottom:1px solid #f1f5f9}.bcd-share-toggle{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;cursor:pointer;font-size:13px;font-weight:600;color:#374151;user-select:none;list-style:none;transition:background .12s}.bcd-share-toggle::-webkit-details-marker{display:none}.bcd-share-toggle:hover{background:#f8fafc}.bcd-share-code-preview{font-family:monospace;font-size:13px;font-weight:700;color:#4f46e5;background:#ede9fe;padding:3px 10px;border-radius:6px}.bcd-share-body{padding:20px 28px 24px;background:#fafafa}.bcd-share-grid{display:grid;grid-template-columns:auto auto 1fr;gap:24px;align-items:start}.bcd-share-item-wide{grid-column:span 1}.bcd-slabel{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.bcd-qr-img{display:block;width:100px;height:100px;border-radius:8px;border:1px solid #e5e7eb}.bcd-qr-sm{width:80px;height:80px;border-radius:8px;border:1px solid #e5e7eb}.bcd-link-sm{display:block;font-size:11px;color:#4f46e5;margin-top:5px;text-decoration:none}.bcd-link-sm:hover{text-decoration:underline}.bcd-share-hint{font-size:11px;color:#9ca3af;margin:4px 0 0}.bcd-copy-row{display:flex;gap:8px;align-items:center}.bcd-link-input{flex:1;padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:12px;color:#374151;background:#fff;min-width:0}.bcd-assign-course-section{display:flex;flex-direction:column;gap:6px;flex-wrap:wrap;padding:14px 28px;background:#eff6ff;border-bottom:1px solid #bfdbfe}.bcd-assign-course-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bcd-bulk-section{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 28px;background:#fffbeb;border-bottom:1px solid #fde68a}.bcd-bulk-label{font-size:13px;font-weight:600;color:#92400e;white-space:nowrap}.bcd-bulk-form{display:flex;align-items:center;gap:10px;flex:1;flex-wrap:wrap}.bcd-select-inline{max-width:260px}.bcd-inline-msg{font-size:12px;font-weight:600}.bcd-empty{text-align:center;padding:60px 24px;background:#fff;border-radius:16px;box-shadow:0 2px 8px rgb(0 0 0 / .06);margin-bottom:24px}.bcd-empty-icon{font-size:48px;margin-bottom:12px}.bcd-empty h3{font-size:20px;color:#111827;margin:0 0 8px}.bcd-empty p{color:#6b7280;font-size:14px;max-width:340px;margin:0 auto 20px}.bcd-no-students{padding:20px 28px;color:#64748b;font-size:13px;font-style:italic;border-bottom:1px solid #f1f5f9}.bcd-progress-wrap{border-top:1px solid #f1f5f9}.bcd-progress-header{display:flex;align-items:center;justify-content:space-between;padding:16px 28px 10px;flex-wrap:wrap;gap:10px}.bcd-progress-title{font-size:13px;font-weight:700;color:#374151}.bcd-legend{display:flex;align-items:center;gap:10px;font-size:11px;color:#6b7280;flex-wrap:wrap}.bcd-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:3px}.bcd-dot-p{background:#22c55e}.bcd-dot-f{background:#ef4444}.bcd-dot-n{background:#d1d5db}.bcd-legend-note{font-style:italic;color:#9ca3af;font-size:10px}.bcd-grid-scroll{overflow-x:auto;padding:0 4px 4px}.bcd-grid{width:100%;border-collapse:collapse;font-size:12px}.bcd-grid thead th{background:#f8fafc;padding:8px 6px;text-align:center;color:#64748b;font-weight:700;font-size:11px;border-bottom:2px solid #e2e8f0;white-space:nowrap}.bcd-grid-name-col{text-align:left!important;min-width:160px;max-width:200px;position:sticky;left:0;background:#f8fafc!important;z-index:2}.bcd-grid-total-col{min-width:80px}.bcd-grid-item-col{min-width:44px}.bcd-col-quiz{background:#fdf4ff!important}.bcd-col-lesson{background:#f0f9ff!important}.bcd-col-num{display:block;font-size:11px;font-weight:800;color:#374151}.bcd-col-type{display:block;font-size:9px;font-weight:600;letter-spacing:.04em;color:#9ca3af}.bcd-grid-subtitles td{font-size:9px;color:#9ca3af;text-align:center;padding:2px 2px 6px;max-width:44px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bcd-grid-row:hover td{background:#f0f7ff!important}.bcd-grid-row td{border-bottom:1px solid #f1f5f9}.bcd-grid-student{position:sticky;left:0;background:#fff;z-index:1;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.bcd-grid-student a{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;min-width:0}.bcd-grid-student a:hover .bcd-s-name{color:#1d4ed8;text-decoration:underline}.bcd-s-avatar{width:30px;height:30px;border-radius:50%;background:#dbeafe;color:#1d4ed8;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.bcd-s-name{font-size:13px;font-weight:600;color:#111827}.bcd-s-phone{font-size:11px;color:#9ca3af}.bcd-grid-cell{text-align:center;padding:8px 4px;transition:background .1s}.bcd-cell-passed{background:#f0fdf4}.bcd-cell-failed{background:#fff1f2}.bcd-cell-in_progress{background:#fffbeb}.bcd-cell-not_started{background:#fafafa}.bsm-lg-cell-clickable{cursor:pointer}.bsm-lg-cell-clickable:hover{filter:brightness(.94)}.bcd-cell-icon{display:block;font-size:13px;font-weight:700;line-height:1}.bcd-cell-passed .bcd-cell-icon{color:#16a34a}.bcd-cell-failed .bcd-cell-icon{color:#dc2626}.bcd-cell-in_progress .bcd-cell-icon{color:#d97706}.bcd-cell-not_started .bcd-cell-icon{color:#d1d5db}.bcd-cell-score{display:block;font-size:9px;font-weight:700;color:#6b7280;margin-top:1px}.bcd-grid-total{text-align:center;padding:8px 10px}.bcd-total-frac{display:block;font-size:12px;font-weight:700;color:#111827}.bcd-total-avg{display:block;font-size:10px;color:#6b7280;margin-bottom:4px}.bcd-mini-bar{height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.bcd-mini-fill{height:100%;border-radius:2px;transition:width .3s ease}.bcd-simple-students{padding:8px 28px 4px}.bcd-simple-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f1f5f9}.bcd-simple-row:last-child{border-bottom:none}.bcd-simple-info{flex:1;display:flex;align-items:center;gap:10px}.bcd-simple-info a{text-decoration:none;color:#111827;font-size:13px;font-weight:600}.bcd-simple-info a:hover{color:#1d4ed8}.bcd-add-section{padding:16px 28px 20px;background:#f8fafc}.bcd-add-label{font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.bcd-add-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.bcd-input{display:block;width:100%;padding:9px 13px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:13px;color:#111827;background:#fff;transition:border-color .15s,box-shadow .15s;outline:none}.bcd-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgb(99 102 241 / .12)}.bcd-input-sm{width:auto;flex:1;min-width:110px;padding:7px 11px}.bcd-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.bcd-label{display:block;font-size:12px;font-weight:600;color:#374151;margin-bottom:6px}.bcd-label-hint{font-size:11px;font-weight:400;color:#9ca3af;margin-left:6px}.bcd-form-row{margin-bottom:16px}.bcd-help-text{font-size:12px;color:#9ca3af;font-style:italic;margin:4px 0 0}.bcd-btn-primary{background:#4f46e5;color:#fff;border:none;border-radius:9px;padding:10px 22px;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s,transform .1s}.bcd-btn-primary:hover{background:#4338ca;transform:translateY(-1px)}.bcd-btn-ghost{background:#fff0;color:#6b7280;border:1.5px solid #e5e7eb;border-radius:9px;padding:10px 22px;font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s}.bcd-btn-ghost:hover{border-color:#9ca3af;color:#374151}.bcd-btn-done{background:#16a34a;color:#fff;border-color:#16a34a;font-weight:700}.bcd-btn-done:hover{background:#15803d;border-color:#15803d;color:#fff}.bcd-btn-sm{background:var(--accent,#4f46e5);color:#fff;border:none;border-radius:7px;padding:7px 16px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:opacity .15s}.bcd-btn-sm:hover{opacity:.85}.bcd-remove-student-btn{flex-shrink:0;width:22px;height:22px;border:none;border-radius:50%;background:#fff0;color:#9ca3af;font-size:16px;line-height:1;font-weight:700;cursor:pointer;transition:background .15s,color .15s}.bcd-remove-student-btn:hover{background:#fee2e2;color:#dc2626}.bcd-remove-student-btn:disabled{opacity:.4;cursor:default}.bcd-modal-new-group{max-width:560px;max-height:88vh;overflow-y:auto}.bcd-modal-header{margin-bottom:20px}.bcd-modal-header h3{font-size:18px;font-weight:700;color:#111827;margin:0 0 6px}.bcd-modal-sub{font-size:13px;color:#6b7280;margin:0}.bcd-modal-actions{display:flex;gap:10px;padding-top:8px}.bcd-created-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:18px;margin:16px 0}.bcd-created-tick{font-size:15px;font-weight:700;color:#15803d;margin-bottom:8px}.bcd-share-created{display:flex;gap:20px;flex-wrap:wrap;margin-top:10px}.bcd-share-col{min-width:100px}.bcd-review-modal-title{font-size:17px;font-weight:700;color:#111827;margin-bottom:16px}.bsm-student-profile-link{display:flex;align-items:center;gap:8px;text-decoration:none}.bsr-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}.bsr-badge-success{background:#dcfce7;color:#15803d}.bsr-badge-info{background:#dbeafe;color:#1d4ed8}.bsr-badge-muted{background:#f3f4f6;color:#6b7280}.bsr-wrap{max-width:860px;margin:0 auto;padding:0 0 60px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.bsr-hero{background:linear-gradient(135deg,#1e3a8a 0%,#1d4ed8 55%,#3b82f6 100%);border-radius:0 0 24px 24px;padding:32px 32px 36px;margin-bottom:28px;position:relative;overflow:hidden}.bsr-hero::before{content:'';position:absolute;top:-50px;right:-50px;width:200px;height:200px;background:rgb(255 255 255 / .06);border-radius:50%}.bsr-hero-inner{display:flex;align-items:center;gap:28px;position:relative;z-index:1;flex-wrap:wrap}.bsr-ring-area{position:relative;flex-shrink:0}.bsr-ring-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.bsr-ring-pct{font-size:16px;font-weight:800;color:#fff;line-height:1}.bsr-ring-sub{font-size:9px;color:rgb(255 255 255 / .7);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.bsr-hero-text{flex:1;min-width:160px}.bsr-hero-avatar{width:52px;height:52px;border-radius:50%;background:rgb(255 255 255 / .2);border:2px solid rgb(255 255 255 / .4);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff;margin-bottom:10px}.bsr-hero-name{font-size:20px;font-weight:700;color:#fff;margin:0 0 4px}.bsr-hero-tag{font-size:12px;color:rgb(255 255 255 / .7);margin-bottom:12px}.bsr-pills{display:flex;gap:10px;flex-wrap:wrap}.bsr-pill-stat{background:rgb(255 255 255 / .15);border-radius:20px;padding:5px 14px;font-size:12px;font-weight:600;color:#fff}.bsr-pill-stat strong{color:#facc15}.bsr-course-card{background:#fff;border-radius:14px;margin-bottom:20px;box-shadow:0 1px 4px rgb(0 0 0 / .06),0 4px 16px rgb(0 0 0 / .04);overflow:hidden}.bsr-card-topbar{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #f1f5f9;flex-wrap:wrap}.bsr-card-icon{font-size:20px;flex-shrink:0}.bsr-card-title{font-size:15px;font-weight:700;color:#111827;flex:1;min-width:0}.bsr-card-meta{font-size:11px;color:#9ca3af;margin-top:1px}.bsr-progress-strip{padding:12px 20px;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:12px}.bsr-progress-bar-wrap{flex:1;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.bsr-progress-bar-fill{height:100%;background:linear-gradient(90deg,#4f46e5,#6366f1);border-radius:3px;transition:width .4s ease}.bsr-progress-pct{font-size:12px;font-weight:700;color:#374151;white-space:nowrap}.bsr-quiz-list{padding:8px 8px}.bsr-qrow{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;margin-bottom:4px;transition:background .1s}.bsr-qrow:hover{background:#f8fafc}.bsr-qrow-passed{border-left:3px solid #22c55e}.bsr-qrow-failed{border-left:3px solid #ef4444}.bsr-qrow-pending{border-left:3px solid #d1d5db}.bsr-qrow-num{width:28px;height:28px;border-radius:50%;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#64748b;flex-shrink:0}.bsr-qrow-main{flex:1;min-width:0}.bsr-qrow-title{font-size:13px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bsr-qrow-date{font-size:11px;color:#9ca3af;margin-top:1px}.bsr-qrow-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.bsr-mini-score{font-size:14px;font-weight:800;min-width:36px;text-align:right}.bsr-score-good{color:#16a34a}.bsr-score-low{color:#dc2626}.bsr-pill{display:inline-block;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.bsr-pill-passed{background:#dcfce7;color:#15803d}.bsr-pill-failed{background:#fee2e2;color:#b91c1c}.bsr-pill-start{background:#f1f5f9;color:#64748b}.bsr-pill-review{background:#ede9fe;color:#7c3aed}.bsr-review-btn{background:none;border:1.5px solid #e5e7eb;border-radius:7px;padding:4px 10px;font-size:11px;font-weight:600;color:#4f46e5;cursor:pointer;transition:border-color .15s,background .15s}.bsr-review-btn:hover{border-color:#4f46e5;background:#ede9fe}.bsr-card-footer{padding:12px 20px;background:#f8fafc;border-top:1px solid #f1f5f9;display:flex;align-items:center;gap:10px;font-size:12px;color:#6b7280}.bsr-card-footer-done{color:#15803d;font-weight:600}#bsm-student-review-modal .bsm-modal-box{max-width:680px;width:94%;max-height:88vh;overflow-y:auto}@media (max-width:760px){.bcd-hero{padding:24px 20px;flex-direction:column;align-items:flex-start}.bcd-stats{grid-template-columns:repeat(2,1fr);gap:12px}.bcd-card-header{padding:16px 18px}.bcd-share-grid{grid-template-columns:1fr;gap:16px}.bcd-share-body{padding:16px 18px}.bcd-share-toggle{padding:12px 18px}.bcd-progress-header{padding:12px 18px 8px}.bcd-add-section{padding:14px 18px 18px}.bcd-bulk-section{padding:12px 18px}.bcd-grid-student{padding:8px 10px}.bsr-hero{padding:24px 20px 28px}.bsr-hero-inner{gap:18px}.bsr-qrow-date{display:none}}@media (max-width:480px){.bcd-stats{grid-template-columns:repeat(2,1fr)}.bcd-stat-card{padding:14px 16px}.bcd-stat-val{font-size:24px}.bcd-add-form{flex-direction:column}.bcd-input-sm{width:100%;min-width:unset}.bsr-qrow-right{flex-direction:column;align-items:flex-end;gap:4px}.bsr-review-btn{display:none}}.bcd-tab-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:0 4px;margin-bottom:28px}.bcd-tab{background:#fff;border:2px solid #fff0;border-radius:14px;padding:18px 14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 1px 4px rgb(0 0 0 / .07),0 4px 16px rgb(0 0 0 / .04);transition:all .18s ease;position:relative;overflow:hidden}.bcd-tab::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:#e2e8f0;transition:background .18s}.bcd-tab:hover{box-shadow:0 4px 20px rgb(0 0 0 / .1);transform:translateY(-2px)}.bcd-tab.bcd-tab-active{border-color:#4f46e5;box-shadow:0 4px 20px rgb(79 70 229 / .18)}.bcd-tab.bcd-tab-active::after{background:#4f46e5}.bcd-tab.bcd-tab-green.bcd-tab-active{border-color:#22c55e;box-shadow:0 4px 20px rgb(34 197 94 / .18)}.bcd-tab.bcd-tab-green.bcd-tab-active::after{background:#22c55e}.bcd-tab.bcd-tab-amber.bcd-tab-active{border-color:#f59e0b;box-shadow:0 4px 20px rgb(245 158 11 / .18)}.bcd-tab.bcd-tab-amber.bcd-tab-active::after{background:#f59e0b}.bcd-tab-icon{font-size:22px;line-height:1}.bcd-tab-val{font-size:28px;font-weight:800;color:#111827;line-height:1.1}.bcd-tab-lbl{font-size:11px;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.bcd-tab.bcd-tab-active .bcd-tab-val{color:#4f46e5}.bcd-tab.bcd-tab-green.bcd-tab-active .bcd-tab-val{color:#16a34a}.bcd-tab.bcd-tab-amber.bcd-tab-active .bcd-tab-val{color:#d97706}.bcd-view{display:none}.bcd-view.bcd-view-active{display:block}.bcd-section-header{margin-bottom:16px;padding:0 2px}.bcd-section-title{font-size:16px;font-weight:700;color:#111827;margin:0}.bcd-title-green{color:#15803d}.bcd-title-amber{color:#92400e}.bcd-student-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.bcd-sc-card{background:#fff;border-radius:14px;border-left:4px solid var(--accent,#4f46e5);padding:16px 18px;box-shadow:0 1px 4px rgb(0 0 0 / .06),0 4px 14px rgb(0 0 0 / .04);transition:box-shadow .15s,transform .1s;position:relative}.bcd-sc-card:hover{box-shadow:0 4px 20px rgb(0 0 0 / .1);transform:translateY(-2px)}.bcd-sc-card-done{border-left-color:#22c55e}.bcd-sc-done-ribbon{position:absolute;top:12px;right:12px;background:#dcfce7;color:#15803d;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px}.bcd-sc-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}.bcd-sc-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}.bcd-sc-info{flex:1;min-width:0}.bcd-sc-name{display:block;font-size:14px;font-weight:700;color:#111827;text-decoration:none;margin-bottom:2px}.bcd-sc-name:hover{color:#4f46e5;text-decoration:underline}.bcd-sc-phone{font-size:11px;color:#9ca3af}.bcd-sc-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.bcd-sc-bar-row{display:flex;align-items:center;gap:10px}.bcd-sc-bar{flex:1;height:6px}.bcd-sc-pct{font-size:12px;font-weight:700;color:#374151;white-space:nowrap}.bcd-sc-avg{font-size:11px;color:#9ca3af;white-space:nowrap}.bcd-sc-score-badge{display:flex;flex-direction:column;align-items:center;background:#f0fdf4;color:#15803d;border-radius:10px;padding:6px 12px;font-size:18px;font-weight:800;line-height:1}.bcd-sc-score-badge span{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;margin-top:2px}.bcd-prog-card{background:#fff;border-radius:14px;border-left:4px solid var(--accent,#4f46e5);padding:20px 22px;box-shadow:0 1px 4px rgb(0 0 0 / .06),0 4px 14px rgb(0 0 0 / .04);margin-bottom:16px}.bcd-prog-header{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}.bcd-prog-info{flex:1;min-width:0}.bcd-prog-meta-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:5px}.bcd-prog-pct-badge{font-size:20px;font-weight:800;border:2px solid;border-radius:12px;padding:6px 14px;line-height:1;flex-shrink:0}.bcd-prog-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:16px}.bcd-prog-bar-label{font-size:11px;font-weight:600;color:#9ca3af;white-space:nowrap}.bcd-prog-bar-track{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.bcd-prog-bar-fill{height:100%;border-radius:4px;transition:width .4s ease}.bcd-prog-bar-pct{font-size:12px;font-weight:700;color:#374151;white-space:nowrap}.bcd-lesson-breakdown{border-top:1px solid #f1f5f9;padding-top:14px}.bcd-lb-title{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.bcd-lesson-dots{display:flex;flex-wrap:wrap;gap:8px}.bcd-ld-item{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:44px;max-width:60px}.bcd-ld-item.bcd-ld-quiz .bcd-ld-dot{border-radius:8px}.bcd-ld-dot{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;transition:transform .1s}.bcd-ld-item.bsm-lg-cell-clickable{cursor:pointer}.bcd-ld-item.bsm-lg-cell-clickable:hover .bcd-ld-dot{transform:scale(1.12)}.bcd-ld-passed .bcd-ld-dot{background:#dcfce7;color:#16a34a}.bcd-ld-failed .bcd-ld-dot{background:#fee2e2;color:#dc2626}.bcd-ld-active .bcd-ld-dot{background:#fef3c7;color:#d97706}.bcd-ld-todo .bcd-ld-dot{background:#f1f5f9;color:#94a3b8}.bcd-ld-score{font-size:9px;font-weight:700;color:#6b7280}.bcd-ld-label{font-size:9px;color:#9ca3af;text-align:center;line-height:1.2;word-break:break-word}@media (max-width:760px){.bcd-tab-bar{grid-template-columns:repeat(2,1fr);gap:10px}.bcd-tab-val{font-size:22px}.bcd-student-grid{grid-template-columns:1fr}.bcd-prog-header{flex-wrap:wrap}}@media (max-width:480px){.bcd-tab-bar{grid-template-columns:repeat(2,1fr)}.bcd-ld-dot{width:28px;height:28px;font-size:10px}.bcd-ld-item{min-width:36px}}.bcd-quiz-attempts{border-top:1px solid #f1f5f9;padding-top:14px;margin-top:14px}.bcd-qa-count{display:inline-flex;align-items:center;justify-content:center;background:#e0e7ff;color:#4338ca;font-size:10px;font-weight:800;width:18px;height:18px;border-radius:50%;margin-left:6px;vertical-align:middle}.bcd-qa-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #f8fafc}.bcd-qa-row:last-child{border-bottom:none}.bcd-qa-num{width:24px;height:24px;border-radius:50%;background:#f1f5f9;color:#64748b;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bcd-qa-title{flex:1;font-size:13px;font-weight:500;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.bcd-qa-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.bcd-qa-score{font-size:14px;font-weight:800;min-width:38px;text-align:right}.bcd-qa-good{color:#16a34a}.bcd-qa-low{color:#dc2626}.bcd-qa-review-btn{background:none;border:1.5px solid #e5e7eb;border-radius:7px;padding:4px 12px;font-size:11px;font-weight:600;color:#4f46e5;cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s}.bcd-qa-review-btn:hover{border-color:#4f46e5;background:#ede9fe}.bsr-badge-danger{background:#fee2e2;color:#b91c1c}@media (max-width:600px){.bcd-qa-title{max-width:120px}.bcd-qa-review-btn{display:none}.bcd-qa-row{flex-wrap:wrap}}.bsm-profile-lang{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;margin:14px 0;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px}.bsm-profile-lang label{font-weight:600;font-size:13px;color:#1e3a8a}.bsm-profile-lang .bsm-lang-select{padding:6px 10px;border:1px solid #cbd5e1;border-radius:8px;font-size:13px}.bsm-btn-save-lang{background:#2563eb;color:#fff;border:none;border-radius:8px;padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer}.bsm-btn-save-lang:hover{background:#1d4ed8}.bsm-btn-save-lang:disabled{opacity:.6;cursor:default}.bsm-set-lang-msg{font-size:13px;font-weight:600}.bsm-lang-hint{flex-basis:100%;margin:2px 0 0;font-size:12px;color:#64748b}.bsm-profile-courses{margin:14px 0}.bsm-profile-courses h4{margin:0 0 8px;font-size:14px;color:#111827}.bsm-profile-course-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.bsm-profile-course-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.bsm-profile-course-title{flex:1;font-size:13px;font-weight:600;color:#111827}.bsm-unenroll-course-btn{background:#fff;color:#dc2626;border:1px solid #fca5a5;border-radius:7px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.bsm-unenroll-course-btn:hover{background:#fee2e2}.bsm-unenroll-course-btn:disabled{opacity:.5;cursor:default}.bsr-page{max-width:860px;margin:0 auto;padding:0 0 60px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.bsr-page *{box-sizing:border-box}.bsr-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.bsr-hero-left{display:flex;align-items:center;gap:18px;position:relative;z-index:1}.bsr-greeting{font-size:22px;font-weight:700;color:#fff;margin:0 0 4px;line-height:1.2}.bsr-tagline{font-size:13px;color:rgb(255 255 255 / .75);margin:0}.bsr-hero-stats{display:flex;align-items:center;gap:20px;position:relative;z-index:1;flex-wrap:wrap}.bsr-ring-wrap{position:relative;flex-shrink:0;width:80px;height:80px}.bsr-hero-stat-pills{display:flex;flex-direction:column;gap:10px}.bsr-stat-pill{background:rgb(255 255 255 / .15);border-radius:12px;padding:8px 16px;color:#fff;min-width:120px}.bsr-stat-val{font-size:20px;font-weight:800;color:#fff;display:block;line-height:1}.bsr-stat-total{font-size:13px;font-weight:600;color:rgb(255 255 255 / .7)}.bsr-stat-unit{font-size:13px;font-weight:600;color:rgb(255 255 255 / .85)}.bsr-stat-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:rgb(255 255 255 / .7);font-weight:600;margin-top:3px;display:block}.bsr-course-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid #f1f5f9;flex-wrap:wrap}.bsr-course-topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.bsr-course-icon{font-size:20px;flex-shrink:0}.bsr-course-title{font-size:15px;font-weight:700;color:#111827;margin:0}.bsr-course-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;color:#9ca3af;margin-top:2px}.bsr-sep{color:#d1d5db}.bsr-quiz-table{padding:8px 8px}.bsr-empty{text-align:center;padding:48px 24px;background:#fff;border-radius:14px;box-shadow:0 1px 4px rgb(0 0 0 / .06),0 4px 16px rgb(0 0 0 / .04);margin-bottom:20px}.bsr-empty-icon{font-size:44px;margin-bottom:12px}.bsr-empty h3{margin:0 0 6px;color:#111827}.bsr-empty p{color:#6b7280;margin:0 0 16px}.bsr-btn-cta{display:inline-block;background:#4f46e5;color:#fff;text-decoration:none;padding:10px 22px;border-radius:9px;font-weight:700;font-size:14px}.bsr-btn-cta:hover{background:#4338ca}@media (max-width:760px){.bsr-hero{flex-direction:column;align-items:flex-start}.bsr-hero-stats{width:100%}}.bsm-review-wrap{font-size:14px;color:#1f2937}.bsm-review-summary{display:flex;align-items:center;gap:16px;padding:14px 16px;border-radius:12px;margin-bottom:16px;background:#f8fafc;border:1px solid #e5e7eb}.bsm-review-summary.bsm-review-passed{background:#f0fdf4;border-color:#bbf7d0}.bsm-review-summary.bsm-review-failed{background:#fef2f2;border-color:#fecaca}.bsm-review-score-big{font-size:30px;font-weight:800;color:#111827;line-height:1}.bsm-review-passed .bsm-review-score-big{color:#15803d}.bsm-review-failed .bsm-review-score-big{color:#b91c1c}.bsm-review-meta{display:flex;flex-direction:column;gap:4px}.bsm-review-meta strong{font-size:14px;color:#111827}.bsm-review-date{font-size:12px;color:#6b7280}.bsm-review-note,.bsm-review-no-questions{background:#fffbeb;border:1px solid #fde68a;color:#92400e;padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:16px}.bsm-review-note p,.bsm-review-no-questions p{margin:0}.bsm-review-questions{display:flex;flex-direction:column;gap:14px}.bsm-review-q{display:flex;gap:12px;padding:14px;border:1px solid #e5e7eb;border-left-width:4px;border-radius:10px;background:#fff}.bsm-review-q-correct{border-left-color:#22c55e}.bsm-review-q-wrong{border-left-color:#ef4444}.bsm-review-q-skipped{border-left-color:#d1d5db}.bsm-review-q-num{flex-shrink:0;min-width:30px;height:30px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;gap:3px;background:#f1f5f9;border-radius:8px;font-weight:700;font-size:13px;color:#475569}.bsm-qmark{font-weight:800}.bsm-qmark-c{color:#16a34a}.bsm-qmark-w{color:#dc2626}.bsm-review-q-body{flex:1;min-width:0}.bsm-review-q-text{font-weight:600;color:#111827;margin-bottom:10px;line-height:1.4}.bsm-review-answers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.bsm-ans{position:relative;padding:8px 12px;border-radius:8px;background:#f8fafc;border:1px solid #eef2f7;line-height:1.4}.bsm-ans-correct{background:#dcfce7;border-color:#86efac;color:#14532d;font-weight:600}.bsm-ans-wrong-pick{background:#fee2e2;border-color:#fca5a5;color:#7f1d1d}.bsm-ans-tick{color:#16a34a;font-weight:800;margin-right:6px}.bsm-ans-cross{color:#dc2626;font-weight:800;margin-right:6px}.bsm-ans-label-correct,.bsm-ans-label-wrong{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:20px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.bsm-ans-label-correct{background:#16a34a;color:#fff}.bsm-ans-label-wrong{background:#dc2626;color:#fff}.bsm-review-explain{margin-top:8px;padding:8px 12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;font-size:13px;color:#1e40af}.bsm-review-footer{margin-top:16px;padding-top:12px;border-top:1px solid #e5e7eb;font-weight:700;color:#374151;text-align:right}.bsm-review-empty{text-align:center;color:#9ca3af;padding:30px}.bsr-cert-banner{display:flex;align-items:center;gap:16px;max-width:860px;margin:0 auto 24px;padding:16px 20px;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1.5px solid #fcd34d;border-radius:14px}.bsr-cert-icon{font-size:34px;flex-shrink:0}.bsr-cert-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.bsr-cert-text strong{color:#92400e;font-size:15px}.bsr-cert-text span{color:#b45309;font-size:13px}.bsr-cert-btn{background:#16a34a;color:#fff;text-decoration:none;padding:10px 20px;border-radius:10px;font-weight:700;font-size:14px;white-space:nowrap;flex-shrink:0}.bsr-cert-btn:hover{background:#15803d;color:#fff}@media (max-width:620px){.bsr-cert-banner{flex-wrap:wrap}.bsr-cert-btn{width:100%;text-align:center}}