/* 宝武资源 · 问卷系统共享样式（央企政务风） */
:root{
  --red:#b12029;
  --red-dark:#971019;
  --line:#e3e3e3;
  --ink:#1a1a1a;
  --muted:#6b6b6b;
  --red-soft:#faf7f7;
}
*{ box-sizing:border-box; }
body{
  margin:0;
  background:#fff;
  color:var(--ink);
  font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  line-height:1.7;
}
.serif{ font-family:"SimSun","Songti SC",serif; }

/* 顶部页眉：logo 居左、上下略留空、不贴边 */
.site-head{
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 22px;
  border-bottom:1px solid var(--line);
}
.site-logo{ height:28px; width:auto; display:block; }
.site-head .org{
  font-size:13px;
  letter-spacing:.18em;
  color:var(--red);
}

/* 入口页 */
.wrap{ max-width:640px; margin:0 auto; padding:48px 24px 80px; }
.kicker{ font-size:13px; letter-spacing:.3em; color:var(--red); text-align:center; }
h1{ font-family:"SimSun","Songti SC",serif; font-weight:700; }
.wrap > h1{ font-size:28px; text-align:center; margin:14px 0 6px; padding-bottom:18px; border-bottom:2px solid var(--red); }
.sub{ text-align:center; color:var(--muted); font-size:14px; margin:14px 0 40px; }
.cards{ display:flex; flex-direction:column; gap:18px; }
a.card{ display:block; text-decoration:none; color:var(--ink); border:1px solid var(--line); padding:24px 22px; position:relative; transition:border-color .15s, box-shadow .15s; }
a.card:hover{ border-color:var(--red); box-shadow:0 2px 0 var(--red); }
a.card .lang{ font-size:12px; letter-spacing:.2em; color:var(--red); }
a.card .title{ font-size:19px; font-weight:700; margin-top:6px; }
a.card .desc{ font-size:13px; color:var(--muted); margin-top:6px; }
a.card .arrow{ position:absolute; right:22px; top:50%; transform:translateY(-50%); color:var(--red); font-size:20px; }

/* 问卷页 */
.container{ max-width:840px; margin:0 auto; padding:0 32px 90px; }
.cover{ text-align:center; padding:26px 0 18px; border-bottom:2px solid var(--red); margin-bottom:8px; }
.cover h1{ font-size:25px; letter-spacing:1px; margin:0; }
.cover .subtitle{ color:var(--muted); font-size:14px; margin-top:6px; }
.intro{ background:var(--red-soft); border-left:3px solid var(--red); padding:14px 18px; font-size:14.5px; color:#333; margin:22px 0 10px; text-indent:2em; }
.part{ margin-top:34px; border-top:1px solid var(--line); padding-top:14px; }
.part-title{ font-family:"SimSun","Songti SC",serif; font-size:17px; font-weight:700; color:var(--red); margin:0 0 6px; }
.q{ font-weight:600; margin:22px 0 10px; font-size:15.5px; }
.q .tag{ color:var(--muted); font-weight:400; font-size:13px; }
.opt{ margin:7px 0; display:flex; align-items:flex-start; gap:8px; }
.opt input[type=checkbox],.opt input[type=radio]{ margin-top:6px; flex:none; }
.opt label{ cursor:pointer; }
.fill{ border:none; border-bottom:1px solid #999; min-width:240px; padding:2px 4px; font-size:14px; outline:none; }
.fill:focus{ border-bottom-color:var(--red); }
.fill-block{ display:block; width:100%; border:none; border-bottom:1px solid #999; margin:8px 0; padding:4px; font-size:14px; outline:none; font-family:inherit; }
.fill-block:focus{ border-bottom-color:var(--red); }
.rank{ width:46px; border:1px solid #bbb; border-radius:3px; padding:3px 4px; font-size:13px; text-align:center; margin-left:6px; }
table.q4{ width:100%; border-collapse:collapse; margin-top:8px; font-size:14px; }
table.q4 th,table.q4 td{ border:1px solid var(--line); padding:7px 6px; text-align:center; }
table.q4 th{ background:#f5f0f0; font-weight:600; color:#333; }
table.q4 td.subject{ text-align:left; font-weight:500; }
table.q4 input{ width:52px; border:1px solid #ccc; border-radius:3px; padding:4px; font-size:14px; text-align:center; outline:none; }
table.q4 input:focus{ border-color:var(--red); }
.q4-sum{ margin-top:10px; font-size:14px; display:flex; align-items:center; gap:12px; }
.q4-sum b{ font-size:16px; }
.q4-sum.ok b{ color:#2e7d32; }
.q4-sum.bad b{ color:var(--red); }
.q4-hint{ color:var(--red); font-size:13px; }
.three{ margin:10px 0; }
.three .row{ display:flex; gap:10px; align-items:baseline; margin:8px 0; }
.three .num{ color:var(--red); font-weight:700; flex:none; }
.btn{ margin-top:38px; display:inline-block; background:var(--red); color:#fff; border:none; padding:12px 40px; font-size:15px; border-radius:3px; cursor:pointer; font-family:inherit; letter-spacing:1px; }
.btn:hover{ background:var(--red-dark); }
.done{ margin-top:20px; padding:14px 18px; background:#f0f7f1; border:1px solid #bfe0c4; color:#2e7d32; border-radius:3px; font-size:14px; display:none; }
.foot{ margin-top:40px; border-top:1px solid var(--line); padding-top:14px; color:var(--muted); font-size:13px; text-align:center; }

/* 回收页（与问卷页风格一致） */
.done-card{ max-width:560px; margin:0 auto; padding:40px 32px; border:1px solid var(--line); text-align:center; }
.done-card .ok{ display:inline-block; width:56px; height:56px; line-height:56px; border-radius:50%; background:var(--red); color:#fff; font-size:28px; font-weight:700; margin-bottom:18px; }
.done-card h1{ font-size:22px; margin:0 0 14px; }
.done-card .msg{ font-size:15px; color:#333; max-width:520px; margin:0 auto 28px; }

/* 后台数据页 */
.admin-wrap{ max-width:1180px; margin:0 auto; padding:0 22px 80px; }
.toolbar{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:22px 0; }
.toolbar button{ background:var(--red); color:#fff; border:none; padding:9px 18px; font-size:14px; border-radius:3px; cursor:pointer; font-family:inherit; }
.toolbar button.ghost{ background:#fff; color:var(--red); border:1px solid var(--red); }
.toolbar button:hover{ background:var(--red-dark); }
.toolbar button.ghost:hover{ background:var(--red-soft); }
.toolbar .meta{ color:var(--muted); font-size:13px; margin-left:auto; }
table.grid{ width:100%; border-collapse:collapse; font-size:13px; margin-top:10px; }
table.grid th,table.grid td{ border:1px solid var(--line); padding:7px 9px; text-align:left; vertical-align:top; }
table.grid th{ background:#f5f0f0; font-weight:600; color:#333; position:sticky; top:0; }
table.grid tr:nth-child(even) td{ background:#fcfcfc; }
.scroll{ overflow:auto; max-height:74vh; border:1px solid var(--line); }
.note{ background:var(--red-soft); border-left:3px solid var(--red); padding:12px 16px; font-size:13.5px; color:#333; margin:18px 0; }

/* 后台页分组导航 */
.admin-layout{ display:flex; gap:0; }
.admin-nav{ width:220px; flex:none; border-right:1px solid var(--line); padding:14px 0; }
.admin-nav .group{ font-family:"SimSun","Songti SC",serif; font-weight:700; font-size:15px; color:var(--red); padding:6px 18px 4px; }
.admin-nav .sub{ padding:4px 18px 4px 30px; cursor:pointer; border-left:3px solid transparent; font-size:13px; color:var(--ink); line-height:1.35; }
.admin-nav .sub:hover{ background:#fafafa; }
.admin-nav .sub.active{ background:var(--red-soft); border-left-color:var(--red); font-weight:600; }
.admin-nav .nav-sep{ height:1px; background:var(--line); margin:10px 14px; }
.admin-nav .nav-overview{ font-weight:600; color:var(--red); border-left:3px solid var(--red); padding-left:17px; }
.admin-main{ flex:1; min-width:0; padding:0 22px 80px; }
@media (max-width:860px){
  .admin-layout{ flex-direction:column; }
  .admin-nav{ width:auto; border-right:none; border-bottom:1px solid var(--line); padding:10px 0; }
  .admin-nav .sub{ padding:5px 16px 5px 26px; }
}
