/* CertiGrowBD Public CSS — Institutional certification-body design (GIAC/AWS inspired) */
:root {
  --cgbd-green:   #064E3B;
  --cgbd-green-l: #0A6B50;
  --cgbd-green-dark:#033527;
  --cgbd-green-2: #E6F2EE;
  --cgbd-ink:     #0F2922;
  --cgbd-red:     #9B1C1C;
  --cgbd-red-l:   #B91C1C;
  --cgbd-red-2:   #FDEDEC;
  --cgbd-gold:    #C9A227;
  --cgbd-white:   #FFFFFF;
  --cgbd-gray-50: #F7F8F8;
  --cgbd-gray-100:#F0F2F1;
  --cgbd-gray-200:#DFE3E1;
  --cgbd-gray-400:#7A847F;
  --cgbd-gray-600:#444B47;
  --cgbd-gray-700:#333936;
  --cgbd-gray-800:#222826;
  --cgbd-radius:  6px;
  --cgbd-shadow:  0 1px 3px rgba(0,0,0,.10),0 1px 2px rgba(0,0,0,.06);
  --cgbd-shadow-lg:0 10px 24px rgba(0,0,0,.10),0 4px 8px rgba(0,0,0,.05);
  --cgbd-font-display: 'Noto Sans Bengali', 'Noto Sans', sans-serif;
  --cgbd-font-body: 'Noto Sans Bengali', 'Noto Sans', sans-serif;
}

/* ── RESET & BASE ──────────────────────────────────────────────────────────── */
.cgbd-container { max-width:1180px; margin:0 auto; padding:0 24px; }
*, *::before, *::after { box-sizing:border-box; }

/* ── LOGO ──────────────────────────────────────────────────────────────────── */
.cgbd-logo-text { font-size:22px; font-weight:700; color:var(--cgbd-green); letter-spacing:-0.5px; }
.cgbd-logo-text span { color:var(--cgbd-red); }

/* ── BUTTONS ───────────────────────────────────────────────────────────────── */
.cgbd-btn { display:inline-block; padding:10px 22px; border-radius:var(--cgbd-radius); font-weight:600; font-size:15px; cursor:pointer; text-decoration:none; border:2px solid transparent; transition:all .2s; text-align:center; }
.cgbd-btn-primary { background:var(--cgbd-green); color:#fff; border-color:var(--cgbd-green); }
.cgbd-btn-primary:hover { background:var(--cgbd-green-l); color:#fff; }
.cgbd-btn-outline  { background:transparent; color:var(--cgbd-green); border-color:var(--cgbd-green); }
.cgbd-btn-outline:hover { background:var(--cgbd-green); color:#fff; }
.cgbd-btn-danger   { background:var(--cgbd-red); color:#fff; border-color:var(--cgbd-red); }
.cgbd-btn-danger:hover { background:#991B1B; }
.cgbd-btn-full { width:100%; display:block; }
.cgbd-btn-sm   { padding:6px 14px; font-size:13px; }
.cgbd-btn-lg   { padding:14px 32px; font-size:17px; }
.cgbd-btn:disabled { opacity:.6; cursor:not-allowed; }

/* ── MESSAGES ──────────────────────────────────────────────────────────────── */
.cgbd-msg { padding:12px 16px; border-radius:var(--cgbd-radius); margin:12px 0; font-size:14px; }
.cgbd-success { background:#D1FAE5; color:#065F46; border:1px solid #6EE7B7; }
.cgbd-error   { background:#FEE2E2; color:#991B1B; border:1px solid #FCA5A5; }
.cgbd-warning { background:#FEF3C7; color:#92400E; border:1px solid #FCD34D; }
.cgbd-info    { background:#DBEAFE; color:#1E40AF; border:1px solid #93C5FD; }
.cgbd-notice  { padding:14px 18px; border-radius:var(--cgbd-radius); background:var(--cgbd-gray-100); border:1px solid var(--cgbd-gray-200); margin:12px 0; }
.cgbd-notice.cgbd-warning { background:#FEF3C7; border-color:#FCD34D; }
.cgbd-notice.cgbd-error   { background:#FEE2E2; border-color:#FCA5A5; }

/* ── FORMS ─────────────────────────────────────────────────────────────────── */
.cgbd-form { }
.cgbd-form-group { margin-bottom:16px; }
.cgbd-form-group label { display:block; font-weight:600; font-size:14px; color:var(--cgbd-gray-800); margin-bottom:6px; }
.cgbd-form-group input, .cgbd-form-group select, .cgbd-form-group textarea {
  width:100%; padding:10px 14px; border:1.5px solid var(--cgbd-gray-200);
  border-radius:var(--cgbd-radius); font-size:15px; transition:border .2s;
  font-family:inherit; background:#fff; color:var(--cgbd-gray-800);
}
.cgbd-form-group input:focus, .cgbd-form-group select:focus, .cgbd-form-group textarea:focus {
  outline:none; border-color:var(--cgbd-green); box-shadow:0 0 0 3px rgba(6,78,59,.1);
}
.cgbd-form-group textarea { resize:vertical; }
.cgbd-form-inline { display:flex; gap:8px; }
.cgbd-form-inline input { flex:1; }

/* ── AUTH PAGES ────────────────────────────────────────────────────────────── */
.cgbd-auth-wrap { display:flex; justify-content:center; align-items:flex-start; padding:40px 16px; min-height:60vh; }
.cgbd-auth-box  { background:#fff; border:1px solid var(--cgbd-gray-200); border-radius:12px; padding:36px; max-width:460px; width:100%; box-shadow:var(--cgbd-shadow-lg); }
.cgbd-auth-logo { text-align:center; margin-bottom:20px; }
.cgbd-auth-box h2 { text-align:center; margin:0 0 6px; font-size:22px; color:var(--cgbd-gray-800); }
.cgbd-auth-sub  { text-align:center; color:var(--cgbd-gray-600); margin-bottom:24px; font-size:14px; }
.cgbd-auth-footer { text-align:center; margin-top:20px; font-size:14px; color:var(--cgbd-gray-600); }
.cgbd-auth-footer a { color:var(--cgbd-green); font-weight:600; }
.cgbd-form-forgot { text-align:right; margin:-8px 0 12px; font-size:13px; }
.cgbd-form-forgot a { color:var(--cgbd-green); }

/* ── PAYMENT INFO ──────────────────────────────────────────────────────────── */
.cgbd-payment-info { background:var(--cgbd-green-2); border:1px solid #6EE7B7; border-radius:var(--cgbd-radius); padding:16px; margin:16px 0; font-size:14px; }
.cgbd-payment-info h4 { margin:0 0 8px; color:var(--cgbd-green); }
.cgbd-payment-detail { padding:4px 0; font-weight:500; }
.cgbd-payment-note  { margin:8px 0 0; font-size:13px; color:var(--cgbd-gray-600); }

/* ── HERO ───────────────────────────────────────────────────────────────────── */
/* Solid institutional block, no illustration gimmicks — GIAC/AWS-style */
.cgbd-hero {
  background:var(--cgbd-green);
  background-image:linear-gradient(180deg, var(--cgbd-green-dark) 0%, var(--cgbd-green) 100%);
  padding:72px 0 0;
}
.cgbd-hero-inner { padding-bottom:56px; border-bottom:1px solid rgba(255,255,255,.12); }
.cgbd-hero-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-size:12.5px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
  color:#fff; opacity:.85; margin-bottom:18px;
}
.cgbd-hero-eyebrow .flag-dot { width:7px; height:7px; border-radius:50%; background:var(--cgbd-red-l); display:inline-block; }
.cgbd-hero-title {
  font-size:clamp(30px,4vw,46px);
  font-weight:700;
  line-height:1.25;
  color:#fff;
  margin:0 0 18px;
  max-width:680px;
}
.cgbd-hero-subtitle { font-size:17px; line-height:1.75; color:rgba(255,255,255,.82); max-width:620px; margin-bottom:32px; }
.cgbd-hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.cgbd-hero-actions .cgbd-btn-outline { background:transparent; color:#fff; border-color:rgba(255,255,255,.55); }
.cgbd-hero-actions .cgbd-btn-outline:hover { background:rgba(255,255,255,.12); border-color:#fff; color:#fff; }
.cgbd-hero-actions .cgbd-btn-primary { background:#fff; color:var(--cgbd-green); border-color:#fff; }
.cgbd-hero-actions .cgbd-btn-primary:hover { background:var(--cgbd-gray-100); }

/* Trust stat strip — sits at the bottom edge of the hero, like AWS's stat row */
.cgbd-stat-strip { background:var(--cgbd-ink); }
.cgbd-stat-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.cgbd-stat-item { padding:28px 20px; text-align:center; border-right:1px solid rgba(255,255,255,.08); }
.cgbd-stat-item:last-child { border-right:none; }
.cgbd-stat-num { display:block; font-size:30px; font-weight:700; color:#fff; line-height:1.2; margin-bottom:4px; }
.cgbd-stat-label { font-size:12.5px; color:rgba(255,255,255,.65); line-height:1.4; }

/* ── HOW IT WORKS ───────────────────────────────────────────────────────────── */
.cgbd-steps-section { padding:80px 0; background:#fff; }
.cgbd-section-eyebrow { display:block; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--cgbd-red); font-weight:700; margin-bottom:10px; }
.cgbd-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:48px; flex-wrap:wrap; }
.cgbd-section-title { font-size:clamp(24px,2.6vw,32px); font-weight:700; color:var(--cgbd-ink); margin:0; }
.cgbd-section-sub   { color:var(--cgbd-gray-600); margin:10px 0 0; max-width:560px; font-size:15px; line-height:1.7; }
.cgbd-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
.cgbd-step { border-top:3px solid var(--cgbd-green); padding-top:20px; }
.cgbd-step-num { font-size:13px; font-weight:700; color:var(--cgbd-red); letter-spacing:1px; margin-bottom:10px; }
.cgbd-step h3 { font-size:17px; font-weight:700; margin:0 0 8px; color:var(--cgbd-ink); }
.cgbd-step p  { font-size:13.5px; color:var(--cgbd-gray-600); margin:0; line-height:1.65; }

/* ── CERT CARDS ─────────────────────────────────────────────────────────────── */
.cgbd-certs-section { padding:80px 0; background:var(--cgbd-gray-50); }
.cgbd-cert-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; margin-top:8px; }
.cgbd-cert-card { background:#fff; border:1px solid var(--cgbd-gray-200); border-radius:8px; padding:30px; position:relative; transition:box-shadow .2s,border-color .2s; }
.cgbd-cert-card:hover { box-shadow:var(--cgbd-shadow-lg); border-color:var(--cgbd-gray-200); }
.cgbd-cert-coming { opacity:.75; }
.cgbd-cert-badge { position:absolute; top:20px; right:20px; font-size:10.5px; font-weight:700; padding:4px 10px; border-radius:3px; background:var(--cgbd-green-2); color:var(--cgbd-green); letter-spacing:.5px; text-transform:uppercase; }
.cgbd-badge-soon { background:var(--cgbd-gray-200); color:var(--cgbd-gray-600); }
.cgbd-cert-icon  { width:46px; height:46px; border-radius:6px; background:var(--cgbd-green-2); display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:20px; }
.cgbd-cert-card h3 { font-size:17px; font-weight:700; margin:0 0 10px; color:var(--cgbd-ink); line-height:1.4; padding-right:70px; }
.cgbd-cert-card p  { font-size:14px; color:var(--cgbd-gray-600); line-height:1.7; margin:0 0 20px; }
.cgbd-cert-price   { font-size:24px; font-weight:700; color:var(--cgbd-ink); margin-bottom:20px; border-top:1px solid var(--cgbd-gray-200); padding-top:16px; }
.cgbd-cert-price span { font-size:13px; font-weight:400; color:var(--cgbd-gray-600); }
.cgbd-cert-actions { display:flex; gap:10px; flex-wrap:wrap; }
.cgbd-cert-coming-label { color:var(--cgbd-gray-600); font-size:13.5px; margin-top:6px; }

/* ── DETAIL SECTION ─────────────────────────────────────────────────────────── */
.cgbd-detail-section { padding:80px 0; background:#fff; }
.cgbd-detail-header { margin-bottom:44px; max-width:680px; }
.cgbd-detail-header h2 { font-size:clamp(22px,2.6vw,30px); color:var(--cgbd-ink); margin:0 0 10px; font-weight:700; }
.cgbd-detail-header p { color:var(--cgbd-gray-600); font-size:15px; }
.cgbd-detail-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:1px; background:var(--cgbd-gray-200); margin-bottom:48px; border:1px solid var(--cgbd-gray-200); }
.cgbd-detail-card { background:#fff; padding:28px; }
.cgbd-detail-icon { font-size:22px; margin-bottom:14px; }
.cgbd-detail-card h4 { font-size:15px; color:var(--cgbd-ink); margin:0 0 9px; font-weight:700; }
.cgbd-detail-card p  { font-size:14px; color:var(--cgbd-gray-600); line-height:1.7; margin:0; }
.cgbd-process-section { background:var(--cgbd-gray-50); border:1px solid var(--cgbd-gray-200); border-radius:8px; padding:36px; margin-bottom:24px; }
.cgbd-process-section h3 { font-size:18px; color:var(--cgbd-ink); margin:0 0 24px; font-weight:700; }
.cgbd-process-steps { display:flex; flex-direction:column; gap:18px; }
.cgbd-ps { display:flex; gap:16px; align-items:flex-start; }
.cgbd-ps > span { width:30px; height:30px; min-width:30px; background:var(--cgbd-green); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; }
.cgbd-ps strong { font-size:14.5px; color:var(--cgbd-ink); }
.cgbd-ps p { font-size:13.5px; color:var(--cgbd-gray-600); margin:3px 0 0; line-height:1.6; }
.cgbd-exam-info-box { background:var(--cgbd-ink); color:#fff; border-radius:8px; padding:36px; }
.cgbd-exam-info-box h3 { margin:0 0 12px; font-size:18px; font-weight:700; }
.cgbd-exam-info-box p  { margin:0 0 22px; color:rgba(255,255,255,.78); line-height:1.7; max-width:640px; }
.cgbd-exam-info-box .cgbd-btn-primary { background:#fff; color:var(--cgbd-ink); border-color:#fff; }
.cgbd-exam-info-box .cgbd-btn-primary:hover { background:var(--cgbd-gray-100); }

/* ── CONTACT ────────────────────────────────────────────────────────────────── */
.cgbd-contact-section { padding:80px 0; background:var(--cgbd-gray-50); }
.cgbd-contact-grid { display:grid; grid-template-columns:0.9fr 1.1fr; gap:48px; }
.cgbd-contact-info h2 { font-size:25px; color:var(--cgbd-ink); margin:0 0 14px; font-weight:700; }
.cgbd-contact-info p  { color:var(--cgbd-gray-600); line-height:1.8; margin-bottom:28px; }
.cgbd-contact-detail { display:flex; gap:12px; align-items:center; margin-bottom:14px; font-size:15px; color:var(--cgbd-gray-800); }
.cgbd-contact-detail span:first-child { width:34px; height:34px; border-radius:6px; background:#fff; border:1px solid var(--cgbd-gray-200); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cgbd-contact-form-wrap { background:#fff; border:1px solid var(--cgbd-gray-200); border-radius:8px; padding:32px; }

/* ── DASHBOARD ──────────────────────────────────────────────────────────────── */
.cgbd-dashboard-wrap { max-width:900px; margin:0 auto; padding:30px 16px; }
.cgbd-dash-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:24px; }
.cgbd-dash-header h2 { font-size:22px; color:var(--cgbd-gray-800); margin:0 0 4px; }
.cgbd-dash-header p  { color:var(--cgbd-gray-600); margin:0; font-size:14px; }
.cgbd-dash-status { display:flex; gap:16px; align-items:flex-start; background:#fff; border:1px solid var(--cgbd-gray-200); border-radius:12px; padding:20px; margin-bottom:24px; box-shadow:var(--cgbd-shadow); }
.cgbd-dash-status h3 { margin:0 0 6px; font-size:16px; }
.cgbd-dash-status p  { margin:0; font-size:14px; color:var(--cgbd-gray-600); }
.cgbd-dash-status-icon { font-size:32px; line-height:1; }
.cgbd-status-pending   { border-left:4px solid var(--cgbd-gold); }
.cgbd-status-active    { border-left:4px solid var(--cgbd-green); }
.cgbd-status-done      { border-left:4px solid #6366F1; }
.cgbd-status-certified { border-left:4px solid var(--cgbd-gold); background:#FFFBEB; }
.cgbd-status-failed    { border-left:4px solid var(--cgbd-red); }
.cgbd-dash-actions { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px; margin-bottom:28px; }
.cgbd-dash-card { background:#fff; border:1px solid var(--cgbd-gray-200); border-radius:12px; padding:20px; text-align:center; text-decoration:none; color:inherit; transition:transform .2s,box-shadow .2s; display:block; }
.cgbd-dash-card:hover { transform:translateY(-2px); box-shadow:var(--cgbd-shadow-lg); }
.cgbd-dash-card span  { font-size:32px; display:block; margin-bottom:8px; }
.cgbd-dash-card strong { display:block; font-size:15px; color:var(--cgbd-gray-800); margin-bottom:4px; }
.cgbd-dash-card p { font-size:13px; color:var(--cgbd-gray-600); margin:0; }
.cgbd-dash-card-green { border-top:3px solid var(--cgbd-green); }
.cgbd-dash-card-red   { border-top:3px solid var(--cgbd-red); }
.cgbd-dash-card-gold  { border-top:3px solid var(--cgbd-gold); }
.cgbd-dash-card-gray  { border-top:3px solid var(--cgbd-gray-200); opacity:.7; cursor:not-allowed; }
.cgbd-dash-section h3 { font-size:16px; color:var(--cgbd-gray-800); margin:0 0 12px; }

/* ── TABLES ─────────────────────────────────────────────────────────────────── */
.cgbd-table { width:100%; border-collapse:collapse; font-size:14px; }
.cgbd-table th { background:var(--cgbd-green); color:#fff; padding:10px 14px; text-align:left; font-weight:600; }
.cgbd-table td { padding:10px 14px; border-bottom:1px solid var(--cgbd-gray-200); }
.cgbd-table tr:hover td { background:var(--cgbd-gray-50); }
.cgbd-badge { padding:3px 10px; border-radius:20px; font-size:12px; font-weight:600; }
.cgbd-badge-pass { background:#D1FAE5; color:#065F46; }
.cgbd-badge-fail { background:#FEE2E2; color:#991B1B; }

/* ── CLASSROOM ───────────────────────────────────────────────────────────────── */
.cgbd-classroom-wrap { max-width:900px; margin:0 auto; padding:30px 16px; }
.cgbd-classroom-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }
.cgbd-classroom-header h2 { font-size:22px; color:var(--cgbd-gray-800); margin:0; }
.cgbd-material-item { background:#fff; border:1px solid var(--cgbd-gray-200); border-radius:10px; margin-bottom:12px; overflow:hidden; box-shadow:var(--cgbd-shadow); }
.cgbd-material-header { display:flex; align-items:center; gap:12px; padding:16px 20px; cursor:pointer; user-select:none; }
.cgbd-material-header:hover { background:var(--cgbd-gray-50); }
.cgbd-material-num { width:28px; height:28px; background:var(--cgbd-green); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; min-width:28px; }
.cgbd-material-header h3 { flex:1; font-size:16px; color:var(--cgbd-gray-800); margin:0; }
.cgbd-material-toggle { color:var(--cgbd-green); font-size:14px; }
.cgbd-material-body { padding:0; }
.cgbd-material-content { padding:20px 24px; font-size:15px; line-height:1.8; color:var(--cgbd-gray-700); border-top:1px solid var(--cgbd-gray-200); }
.cgbd-exam-rules-box { background:#fff; border:1px solid var(--cgbd-gray-200); border-radius:12px; padding:28px; margin-top:28px; box-shadow:var(--cgbd-shadow); }
.cgbd-exam-rules-box h3 { font-size:18px; color:var(--cgbd-gray-800); margin:0 0 20px; }
.cgbd-rules-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; }
.cgbd-rule-item { display:flex; gap:12px; align-items:flex-start; }
.cgbd-rule-item > span { font-size:24px; line-height:1; }
.cgbd-rule-item strong { font-size:14px; color:var(--cgbd-gray-800); display:block; margin-bottom:4px; }
.cgbd-rule-item p { font-size:13px; color:var(--cgbd-gray-600); margin:0; line-height:1.5; }

/* ── EXAM ────────────────────────────────────────────────────────────────────── */
#cgbd-exam-wrap { font-family:inherit; }
.cgbd-exam-pre-box { max-width:560px; margin:60px auto; background:#fff; border:1px solid var(--cgbd-gray-200); border-radius:14px; padding:36px; box-shadow:var(--cgbd-shadow-lg); text-align:center; }
.cgbd-exam-pre-box h2 { font-size:22px; color:var(--cgbd-gray-800); margin:0 0 8px; }
.cgbd-pre-steps { text-align:left; margin:24px 0; }
.cgbd-pre-step { display:flex; align-items:center; gap:14px; padding:14px; background:var(--cgbd-gray-50); border-radius:8px; margin-bottom:10px; }
.cgbd-pre-step-icon { font-size:26px; }
.cgbd-pre-step-info strong { display:block; font-size:14px; font-weight:600; margin-bottom:2px; }
.cgbd-pre-step-info p { font-size:13.5px; color:var(--cgbd-gray-600); margin:0; }
.cgbd-pre-step-status { margin-left:auto; font-size:20px; }
.cgbd-pre-camera-preview { margin:16px auto; }
.cgbd-checkbox-label { display:flex; align-items:center; gap:8px; margin:16px 0; font-size:14px; text-align:left; cursor:pointer; }
.cgbd-checkbox-label input { width:16px; height:16px; }

/* Pre-exam "important info" card (duration / attempts / no-mobile / recording) */
.cgbd-exam-warn { text-align:left; background:#FFFBEB; border:1px solid #FCD34D; border-radius:10px; padding:16px 18px; margin:20px 0; }
.cgbd-exam-warn-title { font-weight:700; font-size:14.5px; color:#92400E; margin-bottom:10px; }
.cgbd-exam-warn-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.cgbd-exam-warn-list li { display:flex; align-items:flex-start; gap:10px; font-size:14px; line-height:1.6; color:var(--cgbd-gray-800); }
.cgbd-exam-warn-list .cgbd-warn-ic { flex:0 0 auto; font-size:17px; line-height:1.4; }
.cgbd-exam-warn-list strong { color:var(--cgbd-green); }

.cgbd-exam-topbar { display:flex; align-items:center; gap:12px; background:var(--cgbd-green); color:#fff; padding:10px 20px; flex-wrap:wrap; position:sticky; top:0; z-index:100; }
.cgbd-exam-logo { font-weight:700; font-size:16px; }
.cgbd-exam-progress { font-size:14px; opacity:.9; flex:1; text-align:center; }
.cgbd-exam-timer { font-size:18px; font-weight:700; font-variant-numeric:tabular-nums; padding:6px 14px; background:rgba(255,255,255,.15); border-radius:6px; }
.cgbd-timer-warning { background:var(--cgbd-red)!important; animation:pulse 1s infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.7} }
.cgbd-camera-indicator { display:flex; align-items:center; gap:6px; }
.cgbd-cam-on  { font-size:11px; font-weight:700; color:#6EE7B7; }
.cgbd-cam-off { font-size:11px; font-weight:700; color:#FCA5A5; }

.cgbd-exam-body { display:flex; gap:0; max-height:calc(100vh - 58px); }
.cgbd-q-navigator { width:200px; min-width:200px; background:var(--cgbd-gray-50); border-right:1px solid var(--cgbd-gray-200); padding:16px; overflow-y:auto; display:flex; flex-wrap:wrap; gap:6px; align-content:flex-start; }
.cgbd-qnav-btn { width:36px; height:36px; border:1.5px solid var(--cgbd-gray-300); border-radius:6px; background:#fff; font-size:13px; font-weight:600; cursor:pointer; transition:all .15s; }
.cgbd-qnav-btn.cgbd-qnav-answered { background:var(--cgbd-green); color:#fff; border-color:var(--cgbd-green); }
.cgbd-qnav-btn.cgbd-qnav-active   { border-color:var(--cgbd-red); box-shadow:0 0 0 2px rgba(185,28,28,.25); }

.cgbd-q-panel { flex:1; overflow-y:auto; padding:24px 28px; }
.cgbd-question { }
.cgbd-q-num  { font-size:13px; color:var(--cgbd-gray-600); margin-bottom:12px; font-weight:600; }
.cgbd-q-text { font-size:17px; font-weight:600; color:var(--cgbd-gray-800); line-height:1.6; margin-bottom:24px; }
.cgbd-q-options { display:flex; flex-direction:column; gap:10px; }
.cgbd-option { display:flex; align-items:center; gap:12px; padding:14px 16px; border:2px solid var(--cgbd-gray-200); border-radius:8px; cursor:pointer; transition:all .15s; font-size:15px; color:var(--cgbd-gray-800); }
.cgbd-option:hover { border-color:var(--cgbd-green); background:var(--cgbd-green-2); }
.cgbd-option.cgbd-option-selected { border-color:var(--cgbd-green); background:var(--cgbd-green-2); box-shadow:0 0 0 2px rgba(6,78,59,.18); font-weight:600; }
.cgbd-option input { display:none; }
.cgbd-option-key { width:26px; height:26px; background:var(--cgbd-gray-400); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:12px; min-width:26px; transition:all .15s; }
.cgbd-option-selected .cgbd-option-key { background:var(--cgbd-green); }
.cgbd-option-selected .cgbd-option-key::after { content:'✓'; }
.cgbd-option-selected .cgbd-option-key-letter { display:none; }
.cgbd-q-nav-btns { display:flex; gap:12px; margin-top:24px; }

/* ── MODALS ──────────────────────────────────────────────────────────────────── */
.cgbd-modal { position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,.55); z-index:9999; display:none; align-items:center; justify-content:center; }
.cgbd-modal[style*="flex"] { display:flex!important; }
.cgbd-modal-box { background:#fff; border-radius:14px; padding:32px; max-width:440px; width:90%; text-align:center; box-shadow:0 20px 60px rgba(0,0,0,.2); }
.cgbd-modal-icon { font-size:48px; margin-bottom:12px; }
.cgbd-modal-box h3 { font-size:20px; color:var(--cgbd-gray-800); margin:0 0 10px; }
.cgbd-modal-box p  { color:var(--cgbd-gray-600); margin-bottom:20px; line-height:1.6; }
.cgbd-modal-actions { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.cgbd-modal-warning { border-top:4px solid var(--cgbd-gold); }

/* ── RESULT SCREEN ───────────────────────────────────────────────────────────── */
#cgbd-result-screen { position:fixed; top:0; left:0; width:100%; height:100%; background:var(--cgbd-gray-50); z-index:8888; align-items:center; justify-content:center; }
.cgbd-result-box { text-align:center; background:#fff; border:1px solid var(--cgbd-gray-200); border-radius:16px; padding:48px 36px; max-width:480px; width:90%; box-shadow:var(--cgbd-shadow-lg); }
.cgbd-result-icon { font-size:64px; margin-bottom:12px; }
.cgbd-result-box h2 { font-size:26px; color:var(--cgbd-gray-800); margin:0 0 12px; }
.cgbd-result-score { font-size:36px; font-weight:700; color:var(--cgbd-green); margin-bottom:12px; }
.cgbd-result-box p  { color:var(--cgbd-gray-600); line-height:1.7; margin-bottom:24px; }
.cgbd-result-actions { display:flex; gap:10px; justify-content:center; }

/* ── VERIFY ──────────────────────────────────────────────────────────────────── */
.cgbd-verify-wrap { display:flex; justify-content:center; padding:40px 16px; }
.cgbd-verify-box  { background:#fff; border:1px solid var(--cgbd-gray-200); border-radius:12px; padding:36px; max-width:560px; width:100%; box-shadow:var(--cgbd-shadow-lg); text-align:center; }
.cgbd-verify-result { border-radius:10px; padding:24px; margin-top:24px; }
.cgbd-verify-valid   { background:#D1FAE5; border:1px solid #6EE7B7; }
.cgbd-verify-invalid { background:#FEE2E2; border:1px solid #FCA5A5; }
.cgbd-verify-icon { font-size:40px; margin-bottom:10px; }
.cgbd-verify-table { width:100%; text-align:left; border-collapse:collapse; margin-top:12px; font-size:14px; }
.cgbd-verify-table td { padding:8px 12px; border-bottom:1px solid rgba(0,0,0,.08); }
.cgbd-verify-table tr:first-child td { padding-top:0; }

/* ── PAGE WRAP ───────────────────────────────────────────────────────────────── */
.cgbd-page-wrap { max-width:900px; margin:0 auto; padding:30px 16px; }
.cgbd-page-header { text-align:center; margin-bottom:32px; }
.cgbd-page-header h1 { font-size:28px; color:var(--cgbd-gray-800); margin:0 0 8px; }
.cgbd-page-header p  { color:var(--cgbd-gray-600); font-size:16px; }
.cgbd-payment-info-box { background:var(--cgbd-green-2); border:1px solid #6EE7B7; border-radius:10px; padding:20px; margin-top:24px; }

/* ── TOGGLE SWITCH ───────────────────────────────────────────────────────────── */
.cgbd-toggle { position:relative; display:inline-block; width:44px; height:24px; }
.cgbd-toggle input { opacity:0; width:0; height:0; }
.cgbd-toggle-slider { position:absolute; cursor:pointer; top:0; left:0; right:0; bottom:0; background:#ccc; border-radius:24px; transition:.3s; }
.cgbd-toggle-slider::before { position:absolute; content:""; height:18px; width:18px; left:3px; bottom:3px; background:white; border-radius:50%; transition:.3s; }
.cgbd-toggle input:checked + .cgbd-toggle-slider { background:var(--cgbd-green); }
.cgbd-toggle input:checked + .cgbd-toggle-slider::before { transform:translateX(20px); }

/* ── CLASSROOM (NEW MODULE/PDF SYSTEM) ──────────────────────────────────────── */
.cgbd-howto-box { background:var(--cgbd-green-2); border:1px solid #6EE7B7; border-radius:10px; padding:20px 24px; margin-bottom:24px; }
.cgbd-howto-box h3 { margin:0 0 12px; color:var(--cgbd-green); font-size:16px; }
.cgbd-howto-list { margin:0; padding-left:20px; font-size:14px; line-height:1.8; color:var(--cgbd-gray-800); }
.cgbd-howto-list li { margin-bottom:6px; }

.cgbd-modules-wrap { display:flex; flex-direction:column; gap:12px; margin-bottom:24px; }
.cgbd-module-card { background:#fff; border:1px solid var(--cgbd-gray-200); border-radius:10px; padding:18px 20px; box-shadow:var(--cgbd-shadow); }
.cgbd-module-locked { opacity:.6; background:var(--cgbd-gray-50); }
.cgbd-module-header { display:flex; align-items:center; gap:16px; }
.cgbd-module-num { width:36px; height:36px; min-width:36px; background:var(--cgbd-green); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; }
.cgbd-module-locked .cgbd-module-num { background:var(--cgbd-gray-200); color:var(--cgbd-gray-600); }
.cgbd-module-info { flex:1; }
.cgbd-module-info h3 { font-size:16px; margin:0 0 6px; color:var(--cgbd-gray-800); }
.cgbd-progress-bar { width:100%; max-width:280px; height:6px; background:var(--cgbd-gray-200); border-radius:4px; overflow:hidden; margin-bottom:4px; }
.cgbd-progress-fill { height:100%; background:var(--cgbd-green); border-radius:4px; transition:width .3s; }
.cgbd-progress-text { font-size:13px; color:var(--cgbd-gray-600); }
.cgbd-text-success { color:var(--cgbd-green); font-weight:600; }

.cgbd-pdf-modal { position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,.85); z-index:99999; flex-direction:column; align-items:center; }
.cgbd-pdf-modal-bar { width:100%; background:var(--cgbd-green); color:#fff; padding:12px 20px; display:flex; justify-content:space-between; align-items:center; }
.cgbd-pdf-modal-bar span { font-weight:600; }
.cgbd-pdf-viewer-wrap { flex:1; width:100%; overflow:auto; display:flex; justify-content:center; padding:20px; user-select:none; }
.cgbd-pdf-viewer-wrap canvas { box-shadow:0 4px 20px rgba(0,0,0,.4); max-width:100%; }
.cgbd-pdf-controls { width:100%; background:#fff; padding:14px 20px; display:flex; justify-content:center; align-items:center; gap:20px; }
.cgbd-pdf-controls span { font-weight:600; color:var(--cgbd-gray-800); min-width:120px; text-align:center; }
#cgbd-pdf-msg { position:absolute; bottom:80px; max-width:90%; }

@media(max-width:768px){
  .cgbd-module-header { flex-wrap:wrap; }
  .cgbd-pdf-controls { gap:10px; flex-wrap:wrap; }
}


@media(max-width:768px){
  .cgbd-contact-grid { grid-template-columns:1fr; }
  .cgbd-stat-grid { grid-template-columns:repeat(2,1fr); }
  .cgbd-stat-item:nth-child(2) { border-right:none; }
  .cgbd-stat-item:nth-child(odd) { border-right:1px solid rgba(255,255,255,.08); }
  .cgbd-steps { grid-template-columns:1fr; gap:28px; }
  .cgbd-section-head { flex-direction:column; align-items:flex-start; }
  .cgbd-exam-body { flex-direction:column; }
  .cgbd-q-navigator { width:100%; min-width:unset; max-height:100px; }
  .cgbd-q-panel { padding:16px; }
  .cgbd-hero-actions { flex-direction:column; }
  .cgbd-hero-actions .cgbd-btn { width:100%; text-align:center; }
  .cgbd-dash-header { flex-direction:column; gap:10px; }
}

@media(max-width:600px){
  .cgbd-detail-grid { grid-template-columns:1fr; }
  .cgbd-stat-grid { grid-template-columns:1fr; }
  .cgbd-stat-item { border-right:none !important; border-bottom:1px solid rgba(255,255,255,.08); }
  .cgbd-stat-item:last-child { border-bottom:none; }
}
