
:root{
  --bg:#071b33;
  --bg2:#123f6e;
  --panel:rgba(11,37,66,.78);
  --panel-border:rgba(255,255,255,.12);
  --card:#f7f8fb;
  --card-white:#ffffff;
  --text:#11253b;
  --muted:#42566c;
  --line:#dbe5f0;
  --accent:#34b2ff;
  --accent2:#6ad6ff;
  --good:#16a34a;
  --bad:#dc2626;
  --gold:#f59e0b;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: Arial, Helvetica, sans-serif;
  background:
    radial-gradient(circle at top, rgba(75,160,255,.10), transparent 28%),
    linear-gradient(135deg,var(--bg),var(--bg2));
  color:#fff;
}
.wrap{max-width:1280px;margin:0 auto;padding:28px}
.top{
  display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;
  margin-bottom:24px
}
.top.home{
  justify-content:center;
  text-align:center;
  margin-bottom:28px;
}
.title{
  font-size:56px;
  font-weight:900;
  letter-spacing:-1px;
  line-height:1.02;
  margin-bottom:8px;
}
.sub{
  max-width:980px;
  color:#e8f2fb;
  line-height:1.65;
  font-size:21px;
}
.back{
  display:inline-flex;align-items:center;gap:8px;
  text-decoration:none;color:#fff;background:rgba(255,255,255,.10);
  padding:12px 16px;border-radius:999px;font-weight:800;
  border:1px solid rgba(255,255,255,.15)
}
.layout{display:grid;grid-template-columns:340px 1fr;gap:22px}
.panel{
  background:var(--panel);
  border:1px solid var(--panel-border);
  border-radius:26px;
  padding:20px;
  backdrop-filter: blur(12px);
  box-shadow:0 20px 45px rgba(0,0,0,.16);
}
.metric{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  padding:16px 18px;
  margin-bottom:14px;
}
.metric-label{font-size:13px;color:#dce8f5}
.metric-value{font-size:34px;font-weight:900;color:#fff}
.progress{
  height:12px;
  background:rgba(255,255,255,.16);
  border-radius:999px;
  overflow:hidden;
}
.bar{
  height:100%;
  width:0;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  border-radius:999px;
  transition:width .35s ease;
}
.home-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(285px,1fr));
  gap:22px;
}
.home-card,.card{
  background:var(--card-white);
  color:var(--text);
  border-radius:26px;
  padding:28px;
  box-shadow:0 18px 36px rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.7);
}
.home-card h2,.card h2{
  margin:0 0 12px;
  color:#102338;
  font-size:24px;
  line-height:1.2;
}
.home-card p,.card p{
  margin:0;
  color:#355067;
  line-height:1.6;
  font-size:18px;
}
.home-btn,.btn{
  display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;border:none;cursor:pointer;
  margin-top:18px;padding:14px 20px;border-radius:16px;
  font-weight:800;font-size:17px;
}
.home-btn,.btn-primary{
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  color:#fff;
}
.btn-secondary{
  background:#ebf1f6;
  color:#21405d;
}
.badge{
  display:inline-flex;align-items:center;
  padding:8px 12px;border-radius:999px;background:#17395f;color:#fff;
  font-weight:800;font-size:13px
}
.banner{
  margin-top:18px;
  padding:18px 20px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.10);
  font-size:17px;
  line-height:1.6;
}
.banner.success{
  background:rgba(22,163,74,.16);
  border-color:rgba(74,222,128,.45);
}
.list{
  display:grid;gap:12px;margin-top:14px;
}
.list-item{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  background:rgba(255,255,255,.92);
  color:#123149;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid #dce7f2;
  font-size:16px;
}
.tag-good,.tag-bad{
  padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;
}
.tag-good{background:#e8fff1;color:#106c34;border:1px solid #9be1b2}
.tag-bad{background:#fff4e5;color:#9a5b00;border:1px solid #f6d08e}
.kicker{
  font-size:13px;
  font-weight:800;
  color:#0f7bdc;
  letter-spacing:.5px;
  text-transform:uppercase;
}
.question{
  font-size:30px;
  line-height:1.18;
  font-weight:900;
  margin:10px 0 12px;
  color:#0f2236;
}
.context{
  color:var(--muted);
  line-height:1.7;
  margin-bottom:16px;
  font-size:18px;
}
.customer{
  background:#eef6ff;
  border-left:5px solid var(--accent);
  padding:16px 18px;
  border-radius:18px;
  color:#123754;
  margin-bottom:16px;
  font-size:18px;
}
.choices{display:grid;gap:12px}
.choice{
  appearance:none;border:none;cursor:pointer;width:100%;text-align:left;
  padding:17px 18px;border-radius:18px;background:#f5f7fb;color:#12253a;
  border:2px solid var(--line);font-size:17px;line-height:1.55;font-weight:600;
  transition:.18s ease;
}
.choice:hover{
  background:#eef7ff;
  border-color:#9fd3ff;
  transform:translateY(-1px);
}
.choice:disabled{cursor:default;opacity:1}
.choice.correct{background:#edfdf3;border-color:#22c55e;color:#14532d}
.choice.partial{background:#fff7ea;border-color:#f59e0b;color:#7a4300}
.choice.wrong{background:#fef2f2;border-color:#ef4444;color:#7f1d1d}
.feedback{
  display:none;
  margin-top:16px;
  background:#f8fbfe;
  border:1px solid #dfeaf3;
  padding:16px 18px;
  border-radius:18px;
  color:#163149;
  font-size:17px;
}
.controls{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px}
.stage{
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  color:#f4f9ff;
  margin-bottom:10px
}
.stage.active{background:rgba(52,178,255,.20);border-color:rgba(106,214,255,.55)}
.stage.done{background:rgba(22,163,74,.18);border-color:rgba(74,222,128,.48)}
.small{font-size:13px;color:#dce8f5}
.result-box{display:grid;gap:14px}
.row{
  background:#f7fafc;
  border-radius:18px;
  padding:12px 14px;
}
.row-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-weight:800;
  margin-bottom:8px;
  color:#0f2236;
}
.mini{
  height:10px;
  background:#e7eef6;
  border-radius:999px;
  overflow:hidden;
}
.mini>div{
  height:100%;
  background:linear-gradient(90deg,#22c55e,#8ce9bf);
  width:0;
}
.big{
  font-size:58px;
  font-weight:900;
  color:#103659;
  line-height:1;
}
.hidden{display:none!important}
.footer-note{
  margin-top:22px;
  text-align:center;
  color:#e8f2fb;
  font-size:13px;
  opacity:.96;
}
.link-btn{
  display:inline-flex;align-items:center;
  text-decoration:none;background:#17395f;color:#fff;padding:12px 15px;border-radius:14px;font-weight:800
}
.checkline{
  display:flex;gap:12px;align-items:flex-start;background:#f7fbff;padding:14px 16px;border-radius:16px;border:1px solid #dbe7f3;color:#11304a
}
.checkline input{transform:scale(1.3);margin-top:5px}
.final-pass{font-size:22px;font-weight:900;color:#14532d}
.final-fail{font-size:22px;font-weight:900;color:#991b1b}
.icon{
  font-size:28px;
  line-height:1;
  margin-bottom:6px;
}
@media (max-width:980px){
  .layout{grid-template-columns:1fr}
  .title{font-size:40px}
  .sub{font-size:18px}
  .question{font-size:25px}
}

.login-box{max-width:640px;margin:0 auto}
.input{width:100%;padding:16px 18px;border-radius:16px;border:2px solid #dbe5f0;font-size:18px;color:#123149;background:#fff}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px 8px;border-bottom:1px solid #e5edf5;color:#143149;font-size:15px;text-align:left}
.cert{background:#fff;border:8px solid #17395f;border-radius:22px;padding:48px;text-align:center;color:#102338;max-width:980px;margin:0 auto;box-shadow:0 16px 32px rgba(0,0,0,.18)}
.cert h1{margin:0 0 6px;font-size:48px;color:#17395f}
.cert h2{margin:18px 0 10px;font-size:34px}
.cert p{font-size:20px;line-height:1.7;color:#355067}
.audio-box{background:#f8fbfe;border:1px solid #dfeaf3;padding:14px 16px;border-radius:18px;color:#163149;margin-bottom:16px}
.banner.warn{background:rgba(217,119,6,.18)!important;border-color:rgba(245,158,11,.45)!important}
