:root{
  --blue:#2b66b1;
  --light:#f4f6fb;
  --text:#1b1f2a;
  --muted:#6b7280;
  --line:#d7dde8;
  --ok:#1f8f3a;
  --warn:#c08b00;
  --bad:#b42318;
}

*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;color:var(--text);background:#eef1f7}

.topbar{
  display:flex;gap:16px;align-items:center;justify-content:space-between;
  padding:14px 16px;background:white;border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:10;
}
.brand .title{font-weight:800;font-size:18px}
.brand .sub{color:var(--muted);font-size:12px;margin-top:2px}

.controls{display:flex;gap:8px;align-items:center}
.input{
  padding:10px 10px;border:1px solid var(--line);border-radius:10px;min-width:190px;
}
.btn{
  padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:white;cursor:pointer;
  font-weight:600;
}
.btn:hover{filter:brightness(0.98)}
.btn.danger{background:#ffe9e8;border-color:#ffd1cf}
.btn.ghost{background:transparent}

.page{max-width:1000px;margin:18px auto;padding:0 12px}
.meta{
  background:white;border:1px solid var(--line);border-radius:14px;padding:12px 14px;
  display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between;
}
.scorebox{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

.tabs{
  margin:14px 0;display:flex;gap:6px;flex-wrap:wrap;
}
.tab{
  width:42px;height:36px;border-radius:10px;border:1px solid var(--line);background:white;
  display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:800;
}
.tab.active{outline:2px solid var(--blue);border-color:transparent}
.tab.state-empty{background:white}
.tab.state-partial{background:#fff7e1;border-color:#ffe0a6}
.tab.state-done{background:#e8fff0;border-color:#baf0c9}

.content{
  background:white;border:1px solid var(--line);border-radius:14px;padding:16px;
}
.tabTitle{font-weight:900;font-size:16px;margin-bottom:10px}
.sectionBar{
  background:var(--blue);color:white;padding:8px 10px;border-radius:10px;font-weight:800;margin:14px 0 10px;
}
.qrow{
  display:grid;
  grid-template-columns: 1fr 300px; /* var 220px */
  gap:12px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid var(--line);
}

.mcqList{
  display:grid;
  gap:8px;
  max-width: 360px;
}

.mcqOption{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:12px;
  cursor:pointer;
  user-select:none;
}

.mcqOption input{
  transform: scale(1.1);
}


.qrow:last-child{border-bottom:none}
.qtext{line-height:1.25}
.answer{
  padding:10px;border:1px solid var(--line);border-radius:10px;font-size:16px;
}
.feedback{font-size:12px;margin-top:6px}
.feedback.ok{color:var(--ok)}
.feedback.bad{color:var(--bad)}
.feedback.warn{color:var(--warn)}

.actions{display:flex;gap:10px;margin:14px 0 28px}

/* Print */
.only-print{display:none}
@media print{
  body{background:white}
  .no-print{display:none !important}
  .page{max-width:none;margin:0;padding:0}
  .only-print{display:block}
  .printArea{padding:18mm}
}

.answerWrap{
  display:flex;
  align-items:center;
  gap:8px;
}
.unit{
  min-width:32px;
  color:var(--muted);
  font-weight:700;
}
