/* 陕西菁英生涯规划平台（高中版）- 样式
   布局说明：顶栏固定，主体 1080px 居中；移动端 640px 以下字号收缩 */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"PingFang SC","Microsoft YaHei",sans-serif;background:#f6f7f9;color:#222;line-height:1.65}

header{background:#185FA5;color:#fff;padding:10px 18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;position:sticky;top:0;z-index:9}
header .logo{font-size:17px;font-weight:500}
nav{display:flex;gap:4px;flex-wrap:wrap}
nav button{background:transparent;border:none;color:#cfe2f6;font-size:14px;padding:7px 13px;border-radius:8px;cursor:pointer}
nav button.on{background:#fff;color:#185FA5}

main{max-width:1080px;margin:0 auto;padding:18px 14px 60px}
section.page{display:none}
section.page.on{display:block}
h1.pagetitle{font-size:20px;font-weight:500;margin:6px 0 4px}
p.sub{color:#666;font-size:13px;margin-bottom:14px}

.grid{display:grid;gap:12px}
.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}

.card{background:#fff;border:1px solid #e3e6ea;border-radius:12px;padding:14px 16px}
.card h3{font-size:15px;font-weight:500;color:#185FA5;margin-bottom:8px}
.card.teal h3{color:#0F6E56}
.card.purple h3{color:#534AB7}
.card.coral h3{color:#993C1D}
.card p,.card li{font-size:13px}
.card ul{padding-left:18px}

.hero{background:linear-gradient(135deg,#185FA5,#0C447C);color:#fff;border-radius:14px;padding:22px 20px;margin-bottom:14px}
.hero h2{font-size:21px;font-weight:500;margin-bottom:6px}
.hero p{font-size:13.5px;color:#dbe9f7}

.stage{margin:16px 0 8px;font-size:15px;font-weight:500;color:#0C447C;border-left:4px solid #185FA5;padding-left:8px}
.progress{height:8px;background:#e8ecf1;border-radius:4px;overflow:hidden;margin:4px 0 10px}
.progress i{display:block;height:100%;background:#185FA5;transition:width .3s}

table.data{width:100%;border-collapse:collapse;background:#fff;border:1px solid #dfe3e8;font-size:13px;margin:8px 0 16px}
table.data th{background:#eef3f9;font-weight:500;text-align:left}
table.data th,table.data td{border:1px solid #dfe3e8;padding:7px 9px;vertical-align:top}

.tbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.tbar button,.btn{background:#185FA5;color:#fff;border:none;border-radius:8px;padding:7px 14px;font-size:13px;cursor:pointer}
.tbar button.ghost,.btn.ghost{background:#fff;color:#185FA5;border:1px solid #185FA5}
.tbar button:hover,.btn:hover{opacity:.9}
.btn.big{font-size:15px;padding:12px 22px}

details.chap,details.doc,details.faq{background:#fff;border:1px solid #e3e6ea;border-radius:12px;margin:10px 0;padding:0 14px}
details.chap>summary,details.doc>summary,details.faq>summary{cursor:pointer;padding:12px 0;font-size:15px;font-weight:500;color:#185FA5;list-style-position:inside}
details.doc>summary{font-size:14px;color:#0C447C}
details.faq>summary{font-size:13.5px;color:#333}

/* 文档正文（由生成器注入的章节内容） */
.doc{padding:0 0 14px}
.doc h1{font-size:18px;font-weight:500;margin:14px 0 8px;color:#111}
.doc h2{font-size:16px;font-weight:500;margin:16px 0 6px;color:#0C447C;border-bottom:1px solid #eef1f4;padding-bottom:4px}
.doc h3{font-size:14px;font-weight:500;margin:12px 0 4px;color:#333}
.doc p{font-size:13.5px;margin:6px 0}
.doc ul,.doc ol{padding-left:20px;margin:6px 0;font-size:13.5px}
.doc table{width:100%;border-collapse:collapse;font-size:12.5px;margin:10px 0;background:#fff}
.doc th{background:#f0f4f9;font-weight:500}
.doc th,.doc td{border:1px solid #dfe3e8;padding:6px 8px;vertical-align:top;text-align:left}
.doc .src{color:#888;font-size:12px}
.doc strong{color:#111}

.selfeval-row td:first-child{width:34px}
.radio3{white-space:nowrap}
.radio3 label{margin-right:10px;font-size:12.5px;cursor:pointer}

.note{background:#FFF8E8;border:1px solid #EFD9A7;border-radius:10px;padding:10px 14px;font-size:12.5px;color:#6b5b1e;margin:12px 0}
.flow{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:8px 0 14px}
.flow span{background:#E6F1FB;border:1px solid #B5D4F4;border-radius:8px;padding:5px 10px;font-size:12.5px}
.flow em{color:#888;font-style:normal}

/* 首页关键日期 */
.kdate{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
.kdate .k{flex:1;min-width:170px;background:#fff;border:1px solid #e3e6ea;border-radius:12px;padding:12px 14px}
.kdate .k b{display:block;color:#185FA5;font-size:14px;margin-bottom:3px}
.kdate .k span{font-size:12.5px;color:#666}

/* 学生端任务条目 */
.taskrow{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid #e3e6ea;border-radius:10px;padding:10px 12px;margin:6px 0}
.taskrow input{margin-top:4px;width:16px;height:16px;flex:none;cursor:pointer}
.taskrow .no{flex:none;font-size:12px;color:#999;width:24px;padding-top:2px}
.taskrow .bd{flex:1}
.taskrow .bd b{font-size:13.5px;font-weight:500;display:block}
.taskrow .bd span{font-size:12px;color:#777}
.taskrow.done{opacity:.55}
.taskrow.done .bd b{text-decoration:line-through}

/* 家长确认机制：待确认 / 已确认状态与按钮 */
.taskrow.pending{border-color:#EFD9A7;background:#FFFCF3}
.tstate{display:inline-block;font-size:11px;font-weight:400;border-radius:6px;padding:1px 7px;margin-left:8px;vertical-align:2px;text-decoration:none}
.tstate.wait{background:#FFF3D6;color:#8a6d1a;border:1px solid #EFD9A7}
.tstate.ok{background:#E3F3EC;color:#0F6E56;border:1px solid #BFDFD2}
.tact{flex:none;padding-top:2px}
.tbtn{background:#0F6E56;color:#fff;border:1px solid #0F6E56;border-radius:7px;padding:4px 10px;font-size:12px;cursor:pointer}
.tbtn.ghost{background:#fff;color:#0F6E56}
.tbtn:hover{opacity:.85}
.pitem{display:flex;gap:10px;align-items:center;border-top:1px dashed #e3e6ea;padding:9px 0}
.pitem:first-of-type{border-top:none}
.pitem b{font-size:13px;font-weight:500;flex:1}
.pitem span{font-size:12px;color:#777}

/* 动态访谈（学期对话） */
#chatlog{display:flex;flex-direction:column;gap:10px;margin:10px 0 14px}
.msg{max-width:78%;padding:10px 14px;border-radius:14px;font-size:13.5px;line-height:1.65;white-space:pre-wrap}
.msg.ai{background:#fff;border:1px solid #e3e6ea;border-top-left-radius:4px;align-self:flex-start}
.msg.me{background:#E3F0FB;border:1px solid #B5D4F4;border-top-right-radius:4px;align-self:flex-end}
.chatin{display:flex;gap:8px;position:sticky;bottom:0;background:#f6f7f9;padding:8px 0}
.chatin input{flex:1;border:1px solid #c9d2dc;border-radius:10px;padding:10px 14px;font-size:14px}
.chatin button{background:#185FA5;color:#fff;border:none;border-radius:10px;padding:10px 20px;font-size:14px;cursor:pointer}
.chatin button:hover{opacity:.9}

/* 学期对话动态提醒卡 */
.dynnote{background:#EAF6F1;border:1px solid #BFDFD2;border-radius:10px;padding:9px 13px;font-size:12.5px;color:#0F6E56;margin:2px 0 8px;line-height:1.7}
.dynnote b{font-weight:600}

/* 留存 PDF（打印视图） */
#printarea{display:none}
@media print{
  body *{visibility:hidden}
  #printarea,#printarea *{visibility:visible}
  #printarea{display:block;position:absolute;left:0;top:0;width:100%;font-family:"SimSun",serif;color:#000}
  .ptitle{font-size:20px;font-weight:700;text-align:center;margin-bottom:6px}
  .pmeta{font-size:12px;color:#333;margin:3px 0}
  #printarea h2{font-size:15px;border-bottom:1.5pt solid #333;padding-bottom:3px;margin:16px 0 6px}
  #printarea h3{font-size:13px;margin:10px 0 4px}
  .ptable{width:100%;border-collapse:collapse;font-size:11px;margin:6px 0 10px}
  .ptable th,.ptable td{border:0.75pt solid #666;padding:4px 6px;text-align:left;vertical-align:top}
  .ptable th{background:#eee}
  .pdyn{font-size:12px;background:#f3f7f4;padding:6px 9px;margin:4px 0}
  .pmsg{font-size:12px;margin:3px 0;text-indent:0}
  @page{size:A4;margin:18mm 15mm}
}

/* 菁英生涯导流卡 */
.jys{background:#fff;border:2px solid #0F6E56;border-radius:14px;padding:20px;text-align:center;margin:14px 0}
.jys h2{color:#0F6E56;font-size:18px;font-weight:500;margin-bottom:6px}
.jys p{font-size:13px;color:#555;margin-bottom:12px}
.jys a{display:inline-block;background:#0F6E56;color:#fff;text-decoration:none;border-radius:10px;padding:11px 26px;font-size:15px}

footer{max-width:1080px;margin:0 auto;padding:14px;color:#999;font-size:12px;border-top:1px solid #e3e6ea}
.score{font-size:22px;font-weight:600;color:#185FA5}

@media(max-width:640px){
  nav button{padding:6px 9px;font-size:13px}
}

/* ---------- 填写窗口 ---------- */
.tform{border:1px solid #c9d8e8;border-top:none;background:#F4F8FC;border-radius:0 0 10px 10px;margin:-4px 0 10px;padding:12px 14px}
.tform + .taskrow{margin-top:10px}
.fguide{font-size:13px;color:#2a4a66;margin:0 0 10px;line-height:1.65}
.flab{display:block;font-size:12.5px;color:#456;margin:8px 0 0}
.flab input,.flab textarea{display:block;width:100%;box-sizing:border-box;margin-top:3px;border:1px solid #cdd6de;border-radius:7px;padding:6px 8px;font-size:13px;font-family:inherit;background:#fff;line-height:1.5}
.flab textarea{resize:vertical}
.fnote{font-size:11.5px;color:#8a97a5;margin:10px 0 0}
.tact .tbtn{margin:2px 0 2px 6px}

/* ---------- 测评自诊 ---------- */
.aitem{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border-bottom:1px dashed #dbe4ec;padding:7px 0}
.aitem .q{flex:1;font-size:13px;line-height:1.55;color:#234}
.aitem .opts{display:flex;gap:4px;flex-shrink:0}
.aitem .opts label{display:flex;flex-direction:column;align-items:center;font-size:11px;color:#89a;cursor:pointer;padding:0 2px}
.aitem .opts input{margin:0 0 2px;accent-color:#2a6496}
.aresbox{margin-top:12px;background:#F4F8FC;border:1px solid #c9d8e8;border-radius:10px;padding:12px 14px}
.arow{display:flex;align-items:center;gap:8px;margin:5px 0}
.arow .adim{width:11em;font-size:12.5px;color:#234;text-align:right}
.arow .abar{flex:1;height:10px;background:#e2e9f0;border-radius:5px;overflow:hidden}
.arow .abar i{display:block;height:100%;background:#2a6496;border-radius:5px}
.arow .aval{width:3em;font-size:12.5px;color:#456}
.aadv{font-size:12.8px;color:#2a4a66;line-height:1.65;margin:8px 0 0}

/* ---------- 测评→规划连接 ---------- */
.taskrow.flash{animation:taskflash 0.8s ease-in-out 3;border-color:#2a6496}
@keyframes taskflash{0%,100%{background:#fff}50%{background:#EAF2FB}}
.apitem{border-top:1px dashed #d3e2dc;padding:8px 0 4px}
.apitem:first-of-type{border-top:none}
.apitem p{margin:0 0 4px;font-size:13px;color:#234;line-height:1.65}
.apitem p b{color:#0F6E56}
.apbtns{margin:2px 0 2px}
.amap{font-size:12px;padding:3px 10px;margin:2px 8px 2px 0}

/* ---------- 复测对比 ---------- */
.acmp{margin-top:10px;background:#FBF7EE;border:1px solid #EAD9B0;border-radius:10px;padding:10px 14px}
.acmp>b{font-size:13px;color:#8a6d1a}
.acmp .arow .abar.old{background:#e8e2d4}
.acmp .arow .abar.old i{background:#b8ab8a}
.adelta{width:3.2em;font-size:12px;text-align:center;color:#789}
.adelta.down{color:#0F6E56;font-weight:600}
.adelta.up{color:#b0533a;font-weight:600}

/* ---------- 证据时间线 ---------- */
.etl{border-left:2px solid #c9d8e8;margin:6px 0 4px 6px;padding-left:0}
.etl-item{display:flex;gap:10px;align-items:baseline;padding:5px 0 5px 14px;position:relative}
.etl-item:before{content:'';position:absolute;left:-5px;top:12px;width:8px;height:8px;border-radius:50%;background:#2a6496}
.etl-item.assess:before{background:#7a5ea8}
.etl-item.chat:before{background:#0F6E56}
.etl-date{flex:none;width:7.5em;font-size:12px;color:#8a97a5}
.etl-txt{font-size:13px;color:#234;line-height:1.55}

/* ---------- 成长点亮图 ---------- */
.lg-row{display:flex;gap:8px;align-items:flex-start;margin:6px 0}
.lg-stage{flex:none;width:3.2em;font-size:11.5px;color:#789;padding-top:3px}
.lg-cells{display:flex;flex-wrap:wrap;gap:4px}
.lg-cell{width:34px;height:24px;border:1px solid #dfe5ea;border-radius:5px;font-size:10.5px;color:#b6bfc8;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fafbfc;transition:all .15s}
.lg-cell:hover{border-color:#2a6496;color:#2a6496}
.lg-cell.pend{background:#FFFCF3;border-color:#EFD9A7;color:#B8860B}
.lg-cell.done{background:#EAF6F1;border-color:#BFDFD2;color:#0F6E56;font-weight:600}

/* ---------- 本周一卡 / 班主任谈话卡 ---------- */
.wc-act{font-size:14.5px;font-weight:600;color:#234;margin:0 0 6px;line-height:1.6}
.wc-go{margin:4px 0}
.wc-tip{font-size:12px;color:#8a97a5;margin:6px 0 0}
.tcard-scene{display:inline-block;font-size:11.5px;color:#0F6E56;background:#EAF6F1;border:1px solid #BFDFD2;border-radius:20px;padding:2px 10px;margin:0 0 8px}
.tcard-q{font-size:15px;font-weight:600;color:#234;margin:0 0 8px;line-height:1.6}
.tcard-h{font-size:13px;color:#456;margin:0 0 4px;line-height:1.65}
.tcard-r{font-size:12.5px;color:#789;margin:0}

/* ---------- 品牌与页脚（2026-10-24 更名后） ---------- */
header .logo small{font-size:12px;font-weight:400;color:rgba(255,255,255,.85);background:rgba(255,255,255,.16);border-radius:10px;padding:1px 8px;margin-left:6px;vertical-align:2px}
.about-co{grid-column:1/-1}
.co-head{margin:0 0 8px}
.co-head b{font-size:15px;color:#234}
.co-head span{font-size:12.5px;color:#789;margin-left:10px}
.co-p{font-size:13px;color:#456;line-height:1.7;margin:0 0 10px}
.co-fam{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.co-fam a,.co-fam span{display:block;border:1px solid #E3EAF2;border-radius:8px;padding:8px 10px;text-decoration:none;background:#FBFCFE}
.co-fam a:hover{border-color:#2a6496;background:#F3F8FD}
.co-fam b{display:block;font-size:13px;color:#234}
.co-fam span{display:block;font-size:12px;color:#789;margin:2px 0 0;padding:0;border:none;background:none}
footer{background:#223140;color:#c8d4de;padding:22px 20px 14px}
footer a{color:#9fc3e8;text-decoration:none}
footer a:hover{text-decoration:underline}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:20px;max-width:1080px;margin:0 auto}
.ft-col b{display:block;font-size:13.5px;color:#fff;margin-bottom:8px}
.ft-col p{margin:0 0 6px;font-size:12px;line-height:1.65;color:#a9b8c4}
.ft-line{max-width:1080px;margin:16px auto 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.14);font-size:12px;color:#8fa2b0;text-align:center}
@media (max-width:760px){.ft-grid{grid-template-columns:1fr}}
.ft-sub{display:inline-block;font-size:11px;color:#fff;background:rgba(255,255,255,.12);border-radius:8px;padding:0 7px;margin-right:6px}

/* ---------- 云同步 ---------- */
header{position:relative}
#syncslot{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:8px}
.syncbtn{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#fff;font-size:12.5px;border-radius:18px;padding:4px 14px;cursor:pointer;white-space:nowrap}
.syncbtn:hover{background:rgba(255,255,255,.24)}
#syncexit{padding:3px 11px;font-size:11.5px;opacity:.85}
#syncmsg{font-size:11.5px;color:#FFE9A8;max-width:200px}
@media (max-width:760px){#syncmsg{display:none!important}.syncbtn{padding:3px 10px}}
#syncmodal{position:fixed;inset:0;background:rgba(15,30,45,.55);display:flex;align-items:center;justify-content:center;z-index:99}
.sm-card{background:#fff;border-radius:12px;padding:22px 24px;width:320px;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.sm-card>b{font-size:15px;color:#234}
.sm-sub{font-size:12px;color:#789;line-height:1.6;margin:6px 0 10px}
.sm-card input{width:100%;box-sizing:border-box;border:1px solid #ccd6df;border-radius:8px;padding:8px 10px;font-size:14px;margin-bottom:8px}
.sm-row{display:flex;gap:8px}
.sm-row .tbtn{flex:1}
.sm-msg{font-size:12.5px;min-height:1.4em;margin:6px 0 0}
.sm-card a{color:#2a6496;font-size:12px;text-decoration:none}

/* ---------- 两级登录与权限 ---------- */
.sm-tabs{display:flex;gap:6px;margin:10px 0 4px}
.sm-tabs button{flex:1;border:1px solid #d3dce4;background:#F4F7FA;color:#567;font-size:12.5px;border-radius:8px;padding:7px 4px;cursor:pointer}
.sm-tabs button.active{background:#2563EB;border-color:#2563EB;color:#fff;font-weight:600}
.sm-card .hide{display:none}
.ft-note{font-size:12px;color:#a9b8c4;line-height:1.65;margin:0 0 6px}
