/* =========================================================
   科学智源 — 平台管理后台专用样式
   复用 base.css / app.css 的外壳与组件，仅补充平台侧视图
   ========================================================= */

.adm .sidebar{width:246px;}
.adm .app{grid-template-columns:246px 1fr;}

.plat-tag{
  display:inline-flex;align-items:center;gap:5px;margin-top:5px;
  font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:#8FD3CB;background:rgba(95,191,187,.14);border:1px solid rgba(95,191,187,.22);
  padding:2px 7px;border-radius:20px;
}
.plat-ws{
  margin:14px 12px 6px;padding:11px 13px;border-radius:9px;
  background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);
}
.plat-ws .lb{font-size:9.5px;letter-spacing:.12em;color:#7EA29E;font-weight:700;text-transform:uppercase;}
.plat-ws .nm{font-size:12.5px;font-weight:650;color:#fff;margin-top:4px;line-height:1.4;}
.plat-ws .rl{font-size:10.5px;color:#8FB3AE;margin-top:2px;}

/* ---------- 概览 ---------- */
.adm-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.adm-kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:16px 18px;box-shadow:var(--shadow-s);position:relative;}
.adm-kpi .lb{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:6px;}
.adm-kpi .vl{font-size:27px;font-weight:750;letter-spacing:-.03em;margin:8px 0 3px;line-height:1.1;font-variant-numeric:tabular-nums;}
.adm-kpi .vl small{font-size:13px;font-weight:600;color:var(--ink3);margin-left:3px;}
.adm-kpi .ft{font-size:11.5px;color:var(--faint);}
.adm-kpi.warn{border-color:#F0DCB8;background:#FFFDF7;}

.todo-row{display:flex;align-items:flex-start;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line-soft);}
.todo-row:last-child{border-bottom:none;}
.todo-row .ic{width:32px;height:32px;border-radius:9px;background:var(--brand-l);color:var(--brand-d);display:grid;place-items:center;flex:none;}
.todo-row.warn .ic{background:var(--amber-l);color:#8D5A0C;}
.todo-row .bd{flex:1;min-width:0;}
.todo-row .bd b{display:block;font-size:12.8px;color:var(--ink);}
.todo-row .bd span{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.6;}

/* ---------- 客户 / 项目列表 ---------- */
.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.filters-grid{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;}
.fs{display:flex;flex-direction:column;gap:4px;}
.fs span{font-size:11px;color:var(--muted);font-weight:600;}
.fs .select{height:32px;font-size:12.5px;min-width:128px;width:auto;padding-right:30px;}
.chip{height:30px;padding:0 12px;border-radius:6px;border:1px solid var(--line);background:#fff;
  font-size:12.5px;font-weight:600;color:var(--ink3);display:inline-flex;align-items:center;gap:6px;}
.chip:hover{border-color:#C7D6DA;color:var(--ink);}
.chip.on{background:var(--brand-l);border-color:var(--brand-l2);color:var(--brand-d);}
.search-mini{height:32px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 10px;font-size:12.5px;width:210px;}

.cust-name{display:flex;align-items:center;gap:10px;min-width:0;}
.cust-logo{width:30px;height:30px;border-radius:8px;background:var(--brand-l);color:var(--brand-d);
  display:grid;place-items:center;font-size:12px;font-weight:750;flex:none;}

.stagebar{display:flex;gap:3px;}
.stagebar i{height:5px;flex:1;border-radius:2px;background:var(--line-soft);}
.stagebar i.on{background:var(--brand);}

/* ---------- 项目阶段看板 ---------- */
.stage-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px;}
.stage-cards .sc{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 13px;}
.stage-cards .sc .n{font-size:11px;color:var(--muted);}
.stage-cards .sc .v{font-size:20px;font-weight:750;margin-top:4px;font-variant-numeric:tabular-nums;}
.stage-cards .sc .v small{font-size:11px;font-weight:500;color:var(--faint);margin-left:3px;}

/* ---------- 合同审核 ---------- */
.review-wrap{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px;}
.review-side{display:flex;flex-direction:column;gap:12px;min-width:0;}
.review-side .box{border:1px solid var(--line-soft);border-radius:9px;padding:12px 13px;background:var(--surface2);}
.review-side .box .k{font-size:11px;color:var(--muted);margin-bottom:2px;}
.review-side .box .v{font-size:13px;font-weight:650;color:var(--ink);word-break:break-all;line-height:1.6;}
.pdf-prev{max-height:430px;overflow:auto;background:#E7ECEB;border:1px solid var(--line);border-radius:9px;padding:10px;}
.pdf-prev img{width:100%;display:block;border:1px solid #D6E0DD;box-shadow:0 2px 8px rgba(6,20,19,.06);margin-bottom:8px;}
.pdf-prev img:last-child{margin-bottom:0;}
.pdf-prev-tip{font-size:11.5px;color:var(--muted);margin-top:8px;display:flex;align-items:center;gap:6px;}

.review-checks{display:flex;flex-direction:column;gap:8px;margin-top:12px;}
.review-checks label{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--ink2);line-height:1.55;}
.review-checks input{margin-top:3px;accent-color:var(--brand);width:14px;height:14px;}

/* ---------- 里程碑 ---------- */
.ms-list{display:flex;flex-direction:column;}
.ms-item{display:flex;gap:12px;align-items:flex-start;padding:12px 18px;border-bottom:1px solid var(--line-soft);}
.ms-item:last-child{border-bottom:none;}
.ms-item .dot{width:9px;height:9px;border-radius:50%;margin-top:6px;flex:none;background:#D6E4E0;}
.ms-item.done .dot{background:var(--brand);}
.ms-item.doing .dot{background:var(--cyan);}
.ms-item.late .dot{background:var(--rose);}
.ms-item .bd{flex:1;min-width:0;}
.ms-item .bd b{display:block;font-size:12.8px;color:var(--ink);line-height:1.5;}
.ms-item .bd span{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.6;}
.ms-item .due{font-size:11.5px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;}

/* ---------- 阶段进度条（详情抽屉） ---------- */
.steps{display:flex;gap:6px;margin:6px 0 4px;}
.steps .st{flex:1;text-align:center;font-size:10.5px;color:var(--muted);}
.steps .st i{display:block;height:5px;border-radius:3px;background:var(--line-soft);margin-bottom:6px;}
.steps .st.on{color:var(--brand-d);font-weight:650;}
.steps .st.on i{background:var(--brand);}

/* 审核弹窗需要同时看到摘要与合同全文 */
.modal.xwide{width:min(1120px,96vw);}

@media (max-width:1100px){
  .review-wrap{grid-template-columns:1fr;}
  .adm-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
  .stage-cards{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:900px){
  .adm .app{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .adm-kpis{grid-template-columns:1fr;}
  .stage-cards{grid-template-columns:1fr 1fr;}
  .search-mini{width:100%;}
}
