
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:#182230;background:#f5f7fb}
a{text-decoration:none;color:inherit}.muted{color:#667085}.small{font-size:14px}.brand{text-transform:uppercase;letter-spacing:.12em;font-size:13px;font-weight:800;color:#2563eb}
.bar{height:72px;padding:12px 24px;background:#fff;border-bottom:1px solid #e4e7ec;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}.bar.slim{height:64px}.bar h2{margin:3px 0 0;font-size:18px}
.primary,.ghost{border-radius:10px;padding:10px 16px;border:1px solid transparent;font-weight:700;cursor:pointer}.primary{background:#2563eb;color:#fff}.ghost{background:#fff;border-color:#d0d5dd;color:#344054}.linkbtn{display:inline-flex;align-items:center;justify-content:center}.full{width:100%}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(520px,94vw);background:#fff;border:1px solid #e4e7ec;border-radius:20px;padding:34px;box-shadow:0 18px 50px rgba(16,24,40,.08)}.login-card h1{font-size:26px;margin:8px 0 12px}.field-label{display:block;font-size:15px;font-weight:700;margin:22px 0 7px}.text-input{width:100%;border:1px solid #d0d5dd;border-radius:10px;padding:12px;font-size:15px;margin-bottom:12px}.privacy{font-size:14px;color:#98a2b3;margin-top:16px}
.dash{max-width:1040px;margin:0 auto;padding:28px 20px 60px}.welcome h1{margin-bottom:6px}.progress-pill{padding:8px 13px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-weight:700}.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.case-card{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:14px 16px}.case-card:hover{border-color:#93b4fb}.case-card.done{background:#f0fdf4}.case-no{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eff6ff;color:#1d4ed8;font-weight:800}.case-card.done .case-no{background:#dcfce7;color:#15803d}.status{font-size:14px;font-weight:700;color:#475467}.survey-card{margin-top:18px;background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:18px;display:flex;align-items:center;justify-content:space-between}.survey-card.disabled{opacity:.65}
.split{height:calc(100vh - 64px);display:grid;grid-template-columns:minmax(520px,58%) minmax(420px,42%)}.patient-pane,.review-pane{overflow:auto;background:#fff}.patient-pane{border-right:1px solid #e4e7ec}.pane-head{padding:14px 20px;border-bottom:1px solid #e4e7ec;background:#fff;display:flex;align-items:center;justify-content:space-between}.sticky{position:sticky;top:0;z-index:10}.kicker{font-size:13px;color:#667085}.pane-head h3{margin:3px 0 0}.patient-body{padding:18px 24px 70px;line-height:1.75;font-size:16px}.case-heading{margin:22px 0 10px;padding-bottom:6px;border-bottom:1px solid #eaecf0}.table-wrap{overflow:auto;max-height:520px;border:1px solid #e4e7ec;border-radius:10px;margin-bottom:18px}table{width:100%;border-collapse:collapse;font-size:15px;background:#fff}th,td{border-bottom:1px solid #eaecf0;border-right:1px solid #eaecf0;padding:8px 9px;vertical-align:top}th{background:#f9fafb;position:sticky;top:0}
.steps{display:flex;gap:6px;flex-wrap:wrap}.steps span{font-size:13px;padding:5px 8px;border-radius:999px;background:#f2f4f7;color:#98a2b3}.steps span.on{background:#eff6ff;color:#1d4ed8;font-weight:700}.review-body{padding:18px 22px 60px}.warning{padding:12px 14px;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;color:#9a3412;font-size:15px;margin-bottom:18px}.success{padding:14px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;border-radius:10px;margin:16px 0}.question{padding:14px 0;border-bottom:1px solid #eef1f5}.qtitle{font-weight:700;margin-bottom:9px}.qtitle em{color:#d92d20;font-style:normal}.options{display:flex;flex-wrap:wrap;gap:8px 12px}.options label,.checkline{display:inline-flex;align-items:center;gap:5px;border:1px solid #d0d5dd;border-radius:9px;padding:8px 10px;background:#fff;font-size:15px}.ai-card{background:#f7faff;border:1px solid #b8ccfa;border-radius:14px;padding:15px;margin-bottom:18px}.ai-card pre{font:inherit;white-space:pre-wrap;line-height:1.65;margin:8px 0 0}.ai-label{font-size:14px;font-weight:800;color:#1d4ed8;text-transform:uppercase;letter-spacing:.08em}textarea{width:100%;border:1px solid #d0d5dd;border-radius:9px;padding:10px;font:inherit}
.survey-page{max-width:980px;margin:0 auto;padding:30px 20px 60px}.survey-section{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:18px 20px;margin:16px 0}.likert{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.likert label{font-size:14px;border:1px solid #e4e7ec;border-radius:8px;padding:7px}.admin{max-width:1200px;margin:0 auto;padding:28px 20px 60px}.admin section{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:18px;margin-bottom:18px}
@media(max-width:900px){.split{height:auto;display:block}.patient-pane,.review-pane{overflow:visible}.patient-pane{border-right:0;border-bottom:1px solid #e4e7ec}.case-grid{grid-template-columns:1fr}.likert{grid-template-columns:1fr}.bar{position:relative}}

/* v2 readability improvements */
body{font-size:16px}
.bar h2{font-size:22px}
.login-card h1{font-size:30px}
.welcome h1,.survey-page h1{font-size:30px}
.pane-head h3{font-size:20px}
.patient-body{font-size:16px;line-height:1.9}
.case-heading{font-size:19px}
.review-body{font-size:16px}
.question{padding:18px 0}
.qtitle{font-size:17px;line-height:1.55;margin-bottom:12px}
.options{gap:10px 14px}
.options label,.checkline{font-size:15px;padding:10px 12px;line-height:1.4}
.primary,.ghost{font-size:15px;padding:12px 18px}
.ai-card{font-size:16px;line-height:1.75}
.ai-card pre{line-height:1.75}
table{font-size:14px}
th,td{padding:10px 10px}
textarea{font-size:15px;min-height:96px}
.progress-pill{font-size:15px}
.case-card{font-size:15px}
.case-card strong{font-size:16px}
.steps span{font-size:13px;padding:7px 10px}
.warning,.success{font-size:14px;line-height:1.6}

.conditional-block{display:none}
.conditional-block .question{animation:fadein .16s ease}
@keyframes fadein{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}


/* ===== v4 强制大字体版：专家端 ===== */
html { font-size: 20px !important; }
body { font-size: 20px !important; line-height: 1.75 !important; }

/* 顶部 */
.bar { min-height: 82px !important; padding: 16px 28px !important; }
.bar h2 { font-size: 1.25rem !important; }
.brand { font-size: .72rem !important; }
.progress-pill { font-size: .85rem !important; }

/* 左侧病例 */
.patient-body {
  font-size: 1rem !important;
  line-height: 1.95 !important;
  padding: 24px 30px 90px !important;
}
.patient-body p {
  font-size: 1rem !important;
  line-height: 1.95 !important;
  margin: 0 0 16px !important;
}
.case-heading {
  font-size: 1.18rem !important;
  line-height: 1.5 !important;
  margin-top: 28px !important;
}
.pane-head h3 { font-size: 1.08rem !important; }
.kicker { font-size: .72rem !important; }

/* 表格 */
.patient-body table {
  font-size: .88rem !important;
  line-height: 1.55 !important;
}
.patient-body th,
.patient-body td {
  font-size: .88rem !important;
  padding: 12px 14px !important;
}

/* 右侧评价 */
.review-body {
  font-size: 1rem !important;
  padding: 24px 28px 80px !important;
}
.review-body h3 {
  font-size: 1.18rem !important;
  margin: 10px 0 18px !important;
}
.question {
  padding: 22px 0 !important;
}
.qtitle {
  font-size: 1.02rem !important;
  line-height: 1.65 !important;
  margin-bottom: 14px !important;
}
.options {
  gap: 12px 14px !important;
}
.options label,
.checkline {
  font-size: .95rem !important;
  line-height: 1.55 !important;
  padding: 12px 15px !important;
  border-radius: 11px !important;
}
.options input[type="radio"],
.options input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  transform: scale(1.15);
  margin-right: 6px !important;
}
.warning, .success {
  font-size: .88rem !important;
  line-height: 1.7 !important;
  padding: 15px 17px !important;
}
.ai-card {
  font-size: .98rem !important;
  line-height: 1.85 !important;
  padding: 18px !important;
}
.ai-card pre {
  font-size: .98rem !important;
  line-height: 1.85 !important;
}
.ai-label { font-size: .75rem !important; }

.primary, .ghost {
  font-size: .92rem !important;
  padding: 14px 20px !important;
}
textarea, .text-input {
  font-size: .95rem !important;
  line-height: 1.6 !important;
  padding: 13px !important;
}

/* 步骤提示 */
.steps span {
  font-size: .72rem !important;
  padding: 8px 11px !important;
}

/* 首页 / 列表 */
.welcome h1, .survey-page h1 { font-size: 1.6rem !important; }
.welcome p, .survey-page p { font-size: .95rem !important; }
.case-card { font-size: .92rem !important; padding: 18px !important; }
.case-card strong { font-size: 1rem !important; }
.status { font-size: .78rem !important; }

/* 问卷 */
.survey-page { font-size: 1rem !important; }
.survey-section h2 { font-size: 1.25rem !important; }
.likert label { font-size: .88rem !important; padding: 10px !important; }

/* 双栏比例稍微向病例侧倾斜，保证大字体后仍好读 */
.split {
  grid-template-columns: minmax(620px, 60%) minmax(500px, 40%) !important;
}

@media (max-width: 1100px) {
  html { font-size: 18px !important; }
  .split { grid-template-columns: minmax(520px, 56%) minmax(420px, 44%) !important; }
}
@media (max-width: 900px) {
  html { font-size: 18px !important; }
  .split { display:block !important; height:auto !important; }
}

/* ===== v6 正式研究版 ===== */
body{background:#f3f6fa}
.bar{box-shadow:0 1px 8px rgba(16,24,40,.04)}
.admin-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.admin{max-width:1320px}
.admin-panel{background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:22px;margin-bottom:18px}
.panel-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:15px}
.panel-head h2{margin:0 0 5px}
.panel-head p{margin:0;color:#667085}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.metric{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:18px}
.metric span{display:block;color:#667085;font-size:14px;margin-bottom:5px}
.metric strong{font-size:30px}
.metric.ok strong{color:#067647}.metric.bad strong{color:#b42318}
.secondary{background:#eef4ff;border:1px solid #b2ccff;color:#1849a9;border-radius:10px;padding:12px 16px;font-weight:700;cursor:pointer}
.tag{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;background:#f2f4f7;color:#475467}
.tag.ok,.tag.approved{background:#ecfdf3;color:#067647}.tag.bad,.tag.rejected,.tag.parse_failed{background:#fef3f2;color:#b42318}.tag.pending{background:#fff7ed;color:#b54708}
.smallbtn{padding:6px 10px!important}
.qc-split{height:calc(100vh - 82px);display:grid;grid-template-columns:58% 42%;background:#fff}
.qc-pane{overflow:auto;border-right:1px solid #e4e7ec}
.qc-pane:last-child{border-right:0}
.qc-pane-head{position:sticky;top:0;z-index:8;background:#fff;border-bottom:1px solid #e4e7ec;padding:16px 22px;display:flex;justify-content:space-between;align-items:center}
.qc-pane-head span{font-size:13px;color:#667085}.qc-pane-head strong{font-size:16px}
.qc-body{padding:22px 26px 70px;font-size:18px;line-height:1.9}
.qc-body p{font-size:18px;line-height:1.9}
.qc-body h3{font-size:21px;border-bottom:1px solid #eaecf0;padding-bottom:8px;margin-top:26px}
.qc-meta{background:#f8fafc;border:1px solid #e4e7ec;border-radius:12px;padding:12px 14px;margin:14px 0}
.badtext{color:#b42318}
.qc-actions{display:grid;grid-template-columns:1fr 1fr 2fr;gap:9px;margin-top:14px}
.danger,.approve{border:0;border-radius:10px;padding:13px 16px;font-weight:800;cursor:pointer;font-size:15px}
.danger{background:#fef3f2;color:#b42318;border:1px solid #fecdca}
.approve{background:#067647;color:#fff}.approve:disabled{opacity:.45;cursor:not-allowed}
.review-pane .question{border:1px solid #e4e7ec;border-radius:13px;padding:17px 18px!important;margin-bottom:12px;background:#fff}
.review-pane .question:hover{border-color:#b2ccff}
.review-body{background:#f8fafc}
.ai-card{box-shadow:0 4px 14px rgba(37,99,235,.06)}
.case-card{transition:.15s ease}.case-card:hover{transform:translateY(-1px);box-shadow:0 5px 15px rgba(16,24,40,.06)}
@media(max-width:1000px){.metric-grid{grid-template-columns:repeat(2,1fr)}.qc-split{display:block;height:auto}.qc-pane{overflow:visible;border-right:0;border-bottom:1px solid #e4e7ec}}

.assign-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:900px){.assign-actions{grid-template-columns:1fr}}

/* ===== v6.5 专家进入前整体介绍页 ===== */
.intro-page{
  max-width:1180px;
  margin:0 auto;
  padding:42px 24px 70px;
}
.intro-hero{
  background:linear-gradient(135deg,#eff6ff 0%,#f8fbff 100%);
  border:1px solid #cfe0ff;
  border-radius:20px;
  padding:34px 38px;
  margin-bottom:22px;
}
.intro-badge{
  display:inline-flex;
  padding:6px 11px;
  border-radius:999px;
  background:#dbeafe;
  color:#1d4ed8;
  font-size:14px;
  font-weight:800;
  margin-bottom:12px;
}
.intro-hero h1{
  font-size:34px;
  line-height:1.35;
  margin:0 0 12px;
}
.intro-hero p{
  font-size:18px;
  line-height:1.85;
  color:#475467;
  margin:0;
  max-width:920px;
}
.intro-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.intro-card{
  position:relative;
  background:#fff;
  border:1px solid #e4e7ec;
  border-radius:16px;
  padding:24px 26px 24px 70px;
  min-height:170px;
}
.intro-num{
  position:absolute;
  left:24px;
  top:24px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:13px;
  font-weight:800;
}
.intro-card h3{
  font-size:20px;
  margin:0 0 9px;
}
.intro-card p{
  font-size:16px;
  line-height:1.8;
  color:#475467;
  margin:0;
}
.flow-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:16px;
}
.flow-row span{
  padding:8px 10px;
  border-radius:9px;
  background:#f8fafc;
  border:1px solid #e4e7ec;
  font-size:14px;
  font-weight:700;
}
.flow-row b{color:#98a2b3}
.intro-note,.intro-caution{
  margin-top:18px;
  border-radius:14px;
  padding:20px 24px;
}
.intro-note{
  background:#f0fdf4;
  border:1px solid #bbf7d0;
}
.intro-note h3{margin:0 0 7px;font-size:19px}
.intro-note p{margin:0;font-size:16px;line-height:1.75;color:#3f5f4b}
.intro-caution{
  background:#fff7ed;
  border:1px solid #fed7aa;
  font-size:15px;
  line-height:1.75;
  color:#9a3412;
}
.intro-actions{
  display:flex;
  justify-content:center;
  margin-top:28px;
}
.intro-start{
  min-width:260px;
  font-size:18px!important;
  padding:15px 26px!important;
}
.dash-head-actions{display:flex;align-items:center;gap:10px}
@media(max-width:850px){
  .intro-grid{grid-template-columns:1fr}
  .intro-hero h1{font-size:28px}
  .intro-card{padding-left:64px}
}

/* ===== v6.6 测试10例模式 ===== */
.test-panel{
  border:2px solid #93c5fd !important;
  background:#f8fbff !important;
}
.test-btn{
  background:#1d4ed8;
  color:#fff;
  border:0;
  border-radius:12px;
  padding:15px 20px;
  font-size:17px;
  font-weight:800;
  cursor:pointer;
}
.test-btn:hover{background:#1e40af}
.test-note{
  margin-top:12px;
  font-size:14px;
  color:#475467;
  line-height:1.7;
}
.test-banner{
  background:#eff6ff;
  color:#1d4ed8;
  border:1px solid #bfdbfe;
  border-radius:12px;
  padding:12px 16px;
  margin-bottom:16px;
  font-weight:700;
  line-height:1.6;
}

/* ===== v6.7 总体问卷预览 ===== */
.survey-actions{display:flex;align-items:center;gap:10px}
.preview-banner{
  display:flex;
  gap:12px;
  align-items:flex-start;
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  border-radius:14px;
  padding:15px 18px;
  margin-bottom:18px;
  line-height:1.65;
}
.preview-banner strong{white-space:nowrap}
.survey-intro{
  background:#fff;
  border:1px solid #e4e7ec;
  border-radius:16px;
  padding:26px 28px;
  margin-bottom:18px;
}
.survey-intro h1{font-size:30px;margin:4px 0 10px}
.survey-intro p{font-size:17px;line-height:1.8;color:#667085;margin:0}
.survey-section-title{
  border-bottom:1px solid #eaecf0;
  padding-bottom:12px;
  margin-bottom:16px;
}
.survey-section-title h2{margin:0;font-size:22px}
.section-help{color:#667085;margin-top:-6px;margin-bottom:16px}
.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.checkline{
  display:flex;
  gap:10px;
  align-items:center;
  background:#fff;
  border:1px solid #e4e7ec;
  border-radius:10px;
  padding:12px 14px;
}
.preview-bottom{display:flex;justify-content:center;margin-top:20px}
.survey-submit{font-size:18px!important;padding:15px!important}
@media(max-width:800px){.option-grid{grid-template-columns:1fr}}

/* ===== v6.8 公网试用/固定分配/账号管理 ===== */
.assignment-form{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:14px;align-items:end}
.assignment-submit{display:flex;align-items:end}
.field-help{font-size:13px;color:#667085;margin-top:6px;line-height:1.55}
.rule-box{margin-top:14px;padding:13px 15px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;line-height:1.7}
.locked-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.locked-summary>div{background:#f8fafc;border:1px solid #e4e7ec;border-radius:12px;padding:14px}
.locked-summary span{display:block;color:#667085;font-size:13px;margin-bottom:5px}
.locked-summary strong{font-size:18px}
.locked-note{color:#667085;line-height:1.7}
.expert-create-form{display:grid;grid-template-columns:1fr auto;gap:10px;max-width:650px}
@media(max-width:900px){.assignment-form{grid-template-columns:1fr}.locked-summary{grid-template-columns:repeat(2,1fr)}.expert-create-form{grid-template-columns:1fr}}
