/* ============================================================
   Wisewell 选型结果动作组件 selection-actions.css
   依赖：无（原生 CSS，类名统一 ww- 前缀）
   包含：结果弹窗 / 保存·邮件·沟通三面板 / 悬浮按钮 / A4打印单
   ============================================================ */

#ww-overlay, #ww-fab, #ww-print-sheet, .ww-toast{
  --ww-red:#d70c19; --ww-red-deep:#a80914; --ww-red-soft:#fdecee;
  --ww-ink:#141516; --ww-ink2:#202326; --ww-body:#2B2F33; --ww-steel:#6B7280;
  --ww-line:#E5E7EA; --ww-bg:#F4F5F6; --ww-white:#fff;
  --ww-ok:#15914f; --ww-ok-soft:#e7f6ee; --ww-warn:#b97a00; --ww-warn-soft:#fdf4e0;
  --ww-font:'Noto Sans SC','Microsoft YaHei',sans-serif;
  --ww-en:'Barlow','Noto Sans SC',sans-serif;
  font-family:var(--ww-font);
}

/* ---------- 遮罩与弹窗 ---------- */
#ww-overlay{
  position:fixed; inset:0; z-index:10000;
  background:rgba(12,13,14,.55);
  display:flex; align-items:center; justify-content:center;
  padding:24px;
  animation:wwFade .22s ease;
}
@keyframes wwFade{from{opacity:0}to{opacity:1}}
@keyframes wwPop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.ww-modal{
  position:relative; width:100%; max-width:720px; max-height:92vh;
  background:var(--ww-white); display:flex; flex-direction:column;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
  animation:wwPop .26s ease;
}
.ww-modal-head{
  display:flex; align-items:flex-start; justify-content:space-between;
  padding:22px 28px 16px; border-bottom:1px solid var(--ww-line);
  background:var(--ww-ink); color:#fff; flex:none;
}
.ww-modal-head h3{font-size:18px; font-weight:800; letter-spacing:1px;}
.ww-modal-head .sub{font-size:12.5px; color:rgba(255,255,255,.66); margin-top:5px; letter-spacing:.5px;}
.ww-modal-head .sub b{color:#fff; font-family:var(--ww-en); font-weight:700; letter-spacing:1px;}
.ww-modal-head .back{
  display:none; background:none; color:rgba(255,255,255,.85); cursor:pointer;
  font-size:13px; margin-right:12px; padding:4px 0; letter-spacing:1px;
}
.ww-modal-head .back svg{width:14px;height:14px;vertical-align:-2px;margin-right:4px;}
.ww-modal-head .back:hover{color:#fff;}
.ww-modal-head .close{
  background:none; cursor:pointer; color:rgba(255,255,255,.7);
  width:34px; height:34px; flex:none; display:flex; align-items:center; justify-content:center;
}
.ww-modal-head .close svg{width:20px;height:20px;}
.ww-modal-head .close:hover{color:#fff;}
.ww-modal-body{padding:24px 28px 26px; overflow-y:auto; flex:1;}
.ww-modal-foot{
  padding:14px 28px 18px; border-top:1px solid var(--ww-line); flex:none;
  font-size:12px; color:var(--ww-steel); text-align:center; line-height:1.7;
}

/* 面板切换 */
.ww-panel{display:none; animation:wwFade .2s ease;}
.ww-panel.active{display:block;}

/* ---------- 结果主面板 ---------- */
.ww-hero{
  border:1px solid var(--ww-line); padding:22px 24px; display:flex; gap:18px; align-items:center;
  background:linear-gradient(180deg,#fff 0%,#fafbfc 100%);
}
.ww-hero .badge{
  width:52px; height:52px; border-radius:50%; flex:none;
  display:flex; align-items:center; justify-content:center;
}
.ww-hero .badge svg{width:28px;height:28px;fill:none;stroke:#fff;stroke-width:2;}
.ww-hero.ok .badge{background:var(--ww-ok);}
.ww-hero.multi .badge{background:var(--ww-red);}
.ww-hero.none .badge{background:var(--ww-ink);}
.ww-hero .ht{font-size:17px; font-weight:800; color:var(--ww-ink); letter-spacing:1px;}
.ww-hero .hsub{font-size:13px; color:var(--ww-steel); margin-top:4px; line-height:1.7;}
.ww-hero .model{
  font-family:var(--ww-en); font-size:26px; font-weight:800; color:var(--ww-red);
  letter-spacing:1px; margin-top:6px; line-height:1.2;
}
.ww-hero.none .model{color:var(--ww-ink); font-size:19px;}

.ww-chips{display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 4px;}
.ww-chips span{
  font-size:12.5px; color:var(--ww-body); background:var(--ww-bg);
  border:1px solid var(--ww-line); padding:5px 12px;
}
.ww-chips span b{color:var(--ww-ink); font-weight:700;}

/* 候选机型 */
.ww-cand-title{font-size:13.5px; font-weight:700; color:var(--ww-ink); margin:20px 0 10px; letter-spacing:1px;}
.ww-cand{
  position:relative; border:1px solid var(--ww-line); padding:16px 18px; margin-bottom:10px;
}
.ww-cand.rec{border-color:var(--ww-red); box-shadow:0 0 0 1px var(--ww-red) inset;}
.ww-cand .flag{
  position:absolute; top:0; right:0; background:var(--ww-red); color:#fff;
  font-size:11px; font-weight:700; padding:3px 11px; letter-spacing:1px;
}
.ww-cand .cm{font-family:var(--ww-en); font-size:19px; font-weight:800; color:var(--ww-ink); letter-spacing:.5px;}
.ww-cand .cs{font-size:12px; color:var(--ww-steel); margin-top:2px;}
.ww-cand .cgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:8px 18px; margin-top:12px;}
.ww-cand .cgrid div{font-size:12.5px; color:var(--ww-body); border-top:1px dashed var(--ww-line); padding-top:7px;}
.ww-cand .cgrid b{display:block; font-size:11px; color:var(--ww-steel); font-weight:400; letter-spacing:1px;}
.ww-cand .cgrid span{font-family:var(--ww-en); font-weight:700; color:var(--ww-ink); font-size:14px;}
.ww-cand .cnote{font-size:12.5px; color:var(--ww-red); margin-top:10px; line-height:1.7;}
.ww-cand.norec .cnote{color:var(--ww-steel);}

/* 三动作大按钮 */
.ww-actions{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:22px;}
.ww-act{
  border:1px solid var(--ww-line); background:#fff; cursor:pointer; padding:20px 14px;
  text-align:center; transition:all .2s;
}
.ww-act:hover{border-color:var(--ww-red); box-shadow:0 10px 24px rgba(215,12,25,.09); transform:translateY(-2px);}
.ww-act .ai{
  width:44px;height:44px;border-radius:50%; margin:0 auto 11px;
  background:var(--ww-red-soft); display:flex; align-items:center; justify-content:center;
}
.ww-act .ai svg{width:22px;height:22px;fill:none;stroke:var(--ww-red);stroke-width:1.8;}
.ww-act b{display:block; font-size:14.5px; font-weight:800; color:var(--ww-ink); letter-spacing:1px;}
.ww-act small{display:block; font-size:11.5px; color:var(--ww-steel); margin-top:6px; line-height:1.6;}
.ww-disclaimer{font-size:11.5px; color:var(--ww-steel); margin-top:14px; line-height:1.7; text-align:center;}
.ww-disclaimer b{color:var(--ww-ink);}

/* ---------- 通用控件 ---------- */
.ww-back-row{margin-bottom:16px;}
.ww-back-row button{
  background:none; border:none; cursor:pointer; color:var(--ww-steel);
  font-size:13px; font-family:var(--ww-font); padding:0; letter-spacing:1px;
}
.ww-back-row button:hover{color:var(--ww-red);}
.ww-back-row svg{width:14px;height:14px;vertical-align:-2px;margin-right:4px;}
.ww-pane-title{font-size:16px; font-weight:800; color:var(--ww-ink); letter-spacing:1px;}
.ww-pane-desc{font-size:12.5px; color:var(--ww-steel); margin-top:6px; line-height:1.7;}

.ww-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  width:100%; border:none; cursor:pointer; font-family:var(--ww-font);
  font-size:15px; font-weight:700; letter-spacing:2px; padding:14px 18px; transition:background .2s;
}
.ww-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;}
.ww-btn-red{background:var(--ww-red); color:#fff;}
.ww-btn-red:hover{background:var(--ww-red-deep);}
.ww-btn-dark{background:var(--ww-ink); color:#fff;}
.ww-btn-dark:hover{background:#000;}
.ww-btn-line{background:#fff; color:var(--ww-ink); border:1px solid var(--ww-line);}
.ww-btn-line:hover{border-color:var(--ww-red); color:var(--ww-red);}
.ww-btn[disabled]{opacity:.55; cursor:not-allowed;}
.ww-btn-stack{display:grid; gap:10px; margin-top:16px;}

.ww-field{margin-bottom:14px;}
.ww-field label{display:block; font-size:12.5px; color:var(--ww-body); margin-bottom:7px; letter-spacing:1px; font-weight:500;}
.ww-field label b{color:var(--ww-red);}
.ww-field input,.ww-field textarea{
  width:100%; border:1px solid var(--ww-line); background:#FBFBFC;
  padding:12px 14px; font-size:15px; font-family:var(--ww-font); color:var(--ww-ink);
}
.ww-field textarea{resize:vertical; min-height:74px;}
.ww-field input:focus,.ww-field textarea:focus{outline:none; border-color:var(--ww-red); background:#fff;}
.ww-frow{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.ww-hp{position:absolute; left:-9999px; top:-9999px;}
.ww-err{display:none; background:var(--ww-red-soft); color:var(--ww-red-deep); font-size:12.5px; padding:10px 14px; margin-bottom:12px;}
.ww-infobox{background:var(--ww-bg); border:1px solid var(--ww-line); padding:13px 16px; font-size:12.5px; color:var(--ww-body); line-height:1.9; margin-top:14px;}
.ww-infobox b{color:var(--ww-ink);}

/* 保存面板 */
.ww-save-hero{display:flex; gap:14px; align-items:center; background:var(--ww-ok-soft); border:1px solid #c6e8d4; padding:14px 16px; margin-bottom:16px;}
.ww-save-hero svg{width:22px;height:22px;fill:none;stroke:var(--ww-ok);stroke-width:2;flex:none;}
.ww-save-hero div{font-size:13px; color:#0d6b39; line-height:1.7;}
.ww-save-hero b{font-family:var(--ww-en);}

/* 邮件面板 */
.ww-mail-fallback{display:none; margin-top:16px; border-top:1px dashed var(--ww-line); padding-top:16px;}
.ww-mail-fallback textarea{width:100%; min-height:150px; border:1px solid var(--ww-line); background:#FBFBFC; padding:10px 12px; font-size:12px; font-family:var(--ww-en); color:var(--ww-body); resize:vertical;}
.ww-mail-mailto{display:inline-flex; align-items:center; gap:7px; margin-top:10px; background:none; border:none; cursor:pointer; color:var(--ww-red); font-size:13px; font-weight:700; font-family:var(--ww-font); padding:0;}
.ww-mail-mailto svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;}

/* 在线沟通面板 */
.ww-chat-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:14px;}
.ww-chat-card{border:1px solid var(--ww-line); padding:20px; text-align:center;}
.ww-qr{width:168px; height:168px; margin:0 auto 12px; border:1px solid var(--ww-line); display:flex; align-items:center; justify-content:center; overflow:hidden; background:#fff;}
.ww-qr img{width:100%;height:100%;object-fit:contain;}
.ww-qr .qr-ph{font-size:11.5px; color:var(--ww-steel); padding:14px; line-height:1.8;}
.ww-chat-card h4{font-size:14.5px; font-weight:800; color:var(--ww-ink); letter-spacing:1px;}
.ww-chat-card p{font-size:12px; color:var(--ww-steel); margin-top:6px; line-height:1.7;}
.ww-num-box{display:flex; align-items:center; justify-content:center; border:1px solid var(--ww-line); background:var(--ww-bg); margin:10px auto 0; max-width:268px;}
.ww-num-box .num{font-family:var(--ww-en); font-size:15px; font-weight:700; color:var(--ww-ink); padding:8px 12px; letter-spacing:.5px;}
.ww-num-box.red .num{color:var(--ww-red); font-size:18px; text-decoration:none; letter-spacing:1px;}
.ww-num-copy{display:inline-flex; align-items:center; gap:4px; background:none; border:none; border-left:1px solid var(--ww-line); cursor:pointer; font-size:11.5px; color:var(--ww-body); padding:8px 12px; font-family:var(--ww-font); line-height:1; white-space:nowrap;}
.ww-num-copy svg{width:12px; height:12px; stroke-width:2;}
.ww-num-copy:hover{color:var(--ww-red);}
.ww-num-sub{margin-top:6px; font-size:12px; color:var(--ww-steel);}
/* 邮件附件提示条 */
.ww-attach{display:flex; gap:12px; align-items:flex-start; border:1px solid #f0d0d2; background:#fdf6f6; border-left:3px solid var(--ww-red); padding:12px 14px; margin-top:14px;}
.ww-attach-tag{flex:none; background:var(--ww-red); color:#fff; font-size:11px; font-weight:800; letter-spacing:1px; padding:3px 8px; border-radius:2px; margin-top:1px;}
.ww-attach-txt{font-size:12.5px; color:var(--ww-body); line-height:1.7;}
.ww-attach-txt a{color:var(--ww-red); cursor:pointer; text-decoration:underline; font-weight:700;}
.ww-btn[disabled]{opacity:.6; cursor:wait;}
.ww-tel-big{font-family:var(--ww-en); font-size:24px; font-weight:800; color:var(--ww-red); letter-spacing:1px; margin-top:12px;}
.ww-chat-sheetno{margin-top:16px; background:var(--ww-red-soft); border:1px solid #f5c9cd; padding:12px 16px; font-size:12.5px; color:var(--ww-red-deep); line-height:1.8; text-align:center;}
.ww-chat-sheetno b{font-family:var(--ww-en); font-size:14px; letter-spacing:1px;}

/* 成功面板 */
.ww-success{text-align:center; padding:18px 0 8px;}
.ww-success .si{width:66px;height:66px;border-radius:50%;background:var(--ww-ok);margin:0 auto 16px;display:flex;align-items:center;justify-content:center;}
.ww-success .si svg{width:34px;height:34px;fill:none;stroke:#fff;stroke-width:2.2;}
.ww-success h4{font-size:19px;font-weight:800;color:var(--ww-ink);letter-spacing:1px;}
.ww-success p{font-size:13.5px;color:var(--ww-steel);margin-top:10px;line-height:1.9;}
.ww-success .alt{margin-top:16px;font-size:13px;color:var(--ww-body);line-height:2;}
.ww-success .alt b{font-family:var(--ww-en);font-size:17px;color:var(--ww-red);}

/* ---------- 悬浮按钮（关闭弹窗后找回选型单） ---------- */
#ww-fab{
  position:fixed; right:18px; bottom:240px; z-index:9000;
  display:none; align-items:center; gap:10px; cursor:pointer;
  background:var(--ww-ink); color:#fff; padding:11px 16px 11px 13px;
  box-shadow:0 10px 26px rgba(0,0,0,.28);
}
#ww-fab.show{display:flex;}
#ww-fab svg{width:20px;height:20px;fill:none;stroke:var(--ww-red);stroke-width:1.8;flex:none;}
#ww-fab .ft{font-size:13px; font-weight:700; letter-spacing:1px; line-height:1.3;}
#ww-fab .ft small{display:block; font-size:10.5px; color:rgba(255,255,255,.6); font-weight:400; letter-spacing:.5px;}
#ww-fab .fd{margin-left:4px; color:rgba(255,255,255,.45); font-size:16px; line-height:1;}
#ww-fab:hover{background:#000;}

/* ---------- Toast ---------- */
.ww-toast{
  position:fixed; left:50%; bottom:48px; transform:translateX(-50%) translateY(20px);
  background:var(--ww-ink); color:#fff; padding:12px 24px; font-size:14px;
  z-index:10001; opacity:0; transition:all .3s; letter-spacing:1px;
  border-left:3px solid var(--ww-red); max-width:90vw; text-align:center;
}
.ww-toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

/* ---------- 响应式 ---------- */
@media(max-width:640px){
  #ww-overlay{padding:0; align-items:flex-end;}
  .ww-modal{max-height:94vh; animation:wwSlideUp .28s ease;}
  @keyframes wwSlideUp{from{transform:translateY(100%)}to{transform:none}}
  .ww-modal-head{padding:16px 18px 13px;}
  .ww-modal-body{padding:18px 18px 20px;}
  .ww-modal-foot{padding:12px 18px 16px;}
  .ww-actions{grid-template-columns:1fr; gap:9px;}
  .ww-act{display:flex; text-align:left; align-items:center; gap:14px; padding:14px 16px;}
  .ww-act .ai{margin:0; width:40px; height:40px;}
  .ww-act small{margin-top:3px;}
  .ww-cand .cgrid{grid-template-columns:repeat(2,1fr);}
  .ww-frow{grid-template-columns:1fr; gap:0;}
  .ww-chat-grid{grid-template-columns:1fr;}
  .ww-hero{padding:18px; gap:14px;}
  .ww-hero .model{font-size:22px;}
  #ww-fab{right:12px; bottom:150px; padding:9px 12px;}
}

/* ============================================================
   A4 打印选型单
   ============================================================ */
#ww-print-sheet{display:none;}
@media print{
  body.ww-printing > *:not(#ww-print-sheet){display:none !important;}
  body.ww-printing #ww-print-sheet{display:block !important;}
}
#ww-print-sheet{
  --ps-line:#333; --ps-soft:#666; --ps-red:#d70c19;
  font-family:var(--ww-font); color:#111; font-size:12px; line-height:1.65;
  background:#fff;
}
.ps-page{width:210mm; min-height:297mm; padding:14mm 15mm; margin:0 auto;}
.ps-top{display:flex; justify-content:space-between; align-items:flex-start; border-bottom:2.5px solid #111; padding-bottom:10px;}
.ps-top .pbrand{flex:0 0 auto;}
.ps-top .pbrand img{height:48px; width:239px; flex:0 0 auto; display:block;}
.ps-top .pbrand small{display:block; font-size:11px; font-weight:400; color:#555; letter-spacing:1px; margin-top:4px; font-family:var(--ww-en);}
.ps-top .pmeta{text-align:right; font-size:11px; color:#444; line-height:1.9;}
.ps-top .pmeta b{font-family:var(--ww-en); font-size:13px; color:#111;}
.ps-h1{text-align:center; font-size:19px; font-weight:900; letter-spacing:6px; margin:20px 0 4px;}
.ps-h1-sub{text-align:center; font-size:11px; color:#666; letter-spacing:2px; margin-bottom:16px;}
.ps-h2{font-size:13px; font-weight:800; letter-spacing:2px; margin:16px 0 8px; padding-left:9px; border-left:4px solid var(--ps-red);}
.ps-tbl{width:100%; border-collapse:collapse;}
.ps-tbl th,.ps-tbl td{border:1px solid #888; padding:6px 9px; font-size:11.5px; text-align:left; vertical-align:top;}
.ps-tbl th{background:#f0f0f0; font-weight:700; white-space:nowrap;}
.ps-kv{width:100%; border-collapse:collapse;}
.ps-kv th,.ps-kv td{border:1px solid #aaa; padding:6px 9px; font-size:11.5px;}
.ps-kv th{background:#f5f5f5; font-weight:600; width:24%; text-align:left; color:#333; white-space:nowrap;}
.ps-kv tr.ps-grp th{background:#141516; color:#fff; font-size:12px; letter-spacing:2px; padding:7px 9px; white-space:normal;}
.ps-rec-row td{background:#fdf3f4;}
.ps-rec-tag{color:var(--ps-red); font-weight:800;}
.ps-notes{margin-top:14px; font-size:10.5px; color:#555; line-height:1.9; border-top:1px solid #ccc; padding-top:10px;}
.ps-foot{margin-top:22px; display:flex; justify-content:space-between; align-items:flex-end; border-top:2px solid #111; padding-top:10px; font-size:11px; line-height:1.9;}
.ps-foot .pf{font-weight:700;}
@page{size:A4 portrait; margin:0;}
