/* 阿维悉工作台 · 项目操作系统层 */
.logo img{display:block;width:100%;height:100%}
#login .logo{width:66px;height:66px}
.brand .logo{width:36px;height:36px;flex:0 0 36px}
.brand b{font-size:22px;letter-spacing:2px}
.brand>span:last-child{font-size:11.5px;letter-spacing:.5px}
.top{margin-bottom:12px}
.mainnav{
  display:flex;gap:4px;align-items:center;padding:5px;margin-bottom:7px;
  border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 84%,transparent)
}
.navgroup{
  min-height:40px;padding:8px 18px;border:0;border-radius:8px;background:transparent;
  color:var(--muted);font:inherit;font-weight:650;cursor:pointer
}
.navgroup:hover{background:var(--panel2);color:var(--tx)}
.navgroup.on{background:var(--tx);color:var(--bg)}
.subnav{
  min-height:43px;margin-bottom:18px;padding:0 4px;border-bottom:1px solid var(--line)
}
.subnav .tab{
  min-height:42px;padding:10px 13px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent
}
.subnav .tab:hover{background:transparent;color:var(--tx)}
.subnav .tab.on{background:transparent;border-color:var(--acc);color:var(--tx)}
.eyebrow{margin-bottom:6px;color:var(--acc);font-size:11px;font-weight:750;letter-spacing:1.2px;text-transform:uppercase}
.hero{align-items:flex-end;border:1px solid var(--line);background:linear-gradient(130deg,rgba(34,193,173,.1),rgba(34,193,173,0) 48%),var(--panel)}
.hero h2{font-size:25px;letter-spacing:-.4px}.hero p{max-width:650px}
.pm-dashboard{grid-template-columns:1.15fr .9fr .9fr;align-items:start}
.pm-dashboard .panel{min-height:0}
.danger-panel{border-color:color-mix(in srgb,var(--interested) 35%,var(--line))}
.kpi{position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--line)}
.kpi.kpi-alert:after{background:var(--interested)}.kpi.kpi-good:after{background:var(--acc)}
.feeditem.pm-click{cursor:pointer}.feeditem.pm-click:hover{background:var(--panel2)}
.meta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:5px;color:var(--muted);font-size:11px}
.health-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;background:var(--muted)}
.health-dot.good{background:var(--acc)}.health-dot.bad{background:var(--interested)}.health-dot.warn{background:var(--idea)}

.pjboard{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
.pjcard.pm-project{padding:0;transform:none}
.pm-project-top{padding:15px 16px 12px;border-bottom:1px solid var(--line)}
.pm-project-body{padding:13px 16px 15px}
.pm-project-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.pm-project-title .nm{font-size:16px;line-height:1.35}
.pm-project-objective{min-height:42px;margin:9px 0;color:var(--tx);font-size:12.5px;line-height:1.55}
.pm-next{margin:10px 0;padding:9px 10px;border-left:3px solid var(--acc);background:var(--panel2);font-size:12px}
.pm-next label{display:block;margin-bottom:2px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.5px}
.pm-project .pjstats{grid-template-columns:repeat(4,1fr);margin:11px 0 9px}
.pm-project .pjstat{padding:7px}.pm-project .pjstat b{font-size:15px}
.pm-progress-label{display:flex;justify-content:space-between;margin-bottom:5px;color:var(--muted);font-size:10.5px}
.pm-milestone{margin-top:9px;color:var(--muted);font-size:11px}
.pm-project-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}
.risk-badge{border:1px solid color-mix(in srgb,var(--interested) 45%,var(--line));color:var(--interested)}

.modal.wide{max-width:1180px}
.workspace-shell{display:grid;gap:12px}
.workspace-head.pm-workspace{margin:0;padding:18px;background:linear-gradient(125deg,rgba(34,193,173,.12),transparent 45%),var(--panel)}
.pm-workspace .mh{align-items:flex-start}
.pm-workspace h3{margin-bottom:5px}
.pm-charter{display:grid;grid-template-columns:1.25fr 1fr;gap:10px;margin:13px 0}
.pm-charter-card{padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:rgba(0,0,0,.08)}
.pm-charter-card label,.section-label{display:block;margin-bottom:5px;color:var(--muted);font-size:10.5px;font-weight:750;letter-spacing:.65px;text-transform:uppercase}
.pm-workspace .workspace-kpis{grid-template-columns:repeat(6,1fr)}
.pm-primary-action{padding:10px 12px;border:1px solid var(--acc-dim);border-radius:9px;background:rgba(34,193,173,.08)}
.pm-primary-action b{display:block;margin-top:2px;font-size:14px}
.pm-quick{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.pm-quick .mk{min-height:34px}
.pm-workgrid{display:grid;grid-template-columns:1.3fr .7fr;gap:12px;align-items:start}
.pm-stack{display:grid;gap:12px}
.worksection{margin:0}
.worksection .section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.worksection .section-head h4{margin:0}
.pm-list{display:grid;gap:7px}
.pm-row{padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}
.pm-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.pm-row-title{font-weight:650}
.pm-row .marks{margin-top:7px}
.severity-high{color:var(--interested)}.severity-medium{color:var(--idea)}.severity-low{color:var(--acc)}
.pm-empty{padding:14px;border:1px dashed var(--line);border-radius:9px;color:var(--muted);font-size:12px;text-align:center}
.pm-decision{border-left:3px solid var(--acc)}
.pm-update{border-left:3px solid var(--idea)}
.pm-deliverable a{color:var(--acc);text-decoration:none}.pm-deliverable a:hover{text-decoration:underline}
.kanban{grid-template-columns:repeat(5,minmax(170px,1fr))}
.kancol{border:1px solid var(--line);background:rgba(0,0,0,.08)}
.kancard:hover{border-color:var(--acc-dim)}

/* 灵感池：唯一入口，内部按来源切换 */
.inspiration-head{align-items:flex-end;margin-bottom:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(120deg,rgba(34,193,173,.12),transparent 46%),var(--panel)}
.inspiration-head h3{margin:2px 0 4px;font-size:22px}.inspiration-head p{max-width:760px;margin:0;color:var(--muted);font-size:12.5px;line-height:1.55}
.subcount{color:var(--muted);font-size:12px;font-weight:450}
.inspiration-tabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:12px;padding:4px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}
.inspiration-tab{min-height:44px;padding:8px 14px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:650;white-space:nowrap;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}
.inspiration-tab:hover{background:var(--panel2);color:var(--tx)}
.inspiration-tab.on{border-color:var(--acc-dim);background:rgba(34,193,173,.12);color:var(--tx)}
.inspiration-tab span{display:inline-block;min-width:20px;margin-left:4px;padding:1px 6px;border-radius:999px;background:var(--panel2);color:var(--muted);font-size:10.5px;font-variant-numeric:tabular-nums}
.inspiration-tab.on span{background:var(--acc);color:#0e1012}
.inspiration-pane{display:none}.inspiration-pane.on{display:block}.inspiration-pane[hidden]{display:none!important}
.inspiration-toolbar{margin-bottom:10px}.inspiration-feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:9px}
.inspiration-item{display:flex;width:100%;min-height:112px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--tx);font:inherit;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.inspiration-item:hover{border-color:var(--acc-dim);background:var(--panel2);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.inspiration-item img{width:112px;height:84px;flex:0 0 112px;margin-right:12px;border-radius:8px;object-fit:cover;background:var(--panel2)}
.inspiration-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:5px}.inspiration-copy>b{font-size:14px;line-height:1.35}
.inspiration-top{display:flex;align-items:center;gap:6px;min-height:20px}.inspiration-top time{margin-left:auto;color:var(--muted);font-size:10.5px;font-variant-numeric:tabular-nums}
.source-badge{padding:2px 7px;border:1px solid var(--line);border-radius:999px;font-size:10px;font-weight:750;letter-spacing:.25px}
.source-github{border-color:rgba(147,197,253,.45);color:#93c5fd}.source-design{border-color:rgba(244,114,182,.42);color:#f9a8d4}.source-manual{border-color:var(--acc-dim);color:var(--acc)}.source-local{border-color:rgba(251,191,36,.45);color:#fbbf24}
.inspiration-desc{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.inspiration-meta{margin-top:auto;color:var(--muted);font-size:10.5px}.inspiration-highlight{animation:inspirationPulse .9s ease-out}
@keyframes inspirationPulse{0%{box-shadow:0 0 0 0 rgba(34,193,173,.55)}100%{box-shadow:0 0 0 14px rgba(34,193,173,0)}}

button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{
  outline:2px solid var(--acc);outline-offset:2px
}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media (max-width:980px){
  .pm-dashboard{grid-template-columns:1fr 1fr}
  .pm-dashboard .dashcol:first-child{grid-column:1/-1}
  .pm-workgrid{grid-template-columns:1fr}
  .pm-workspace .workspace-kpis{grid-template-columns:repeat(3,1fr)}
}
/* ===== 客户与机会 · BD 推进驾驶舱 ===== */
.clkpis{grid-template-columns:repeat(4,1fr)}
.kpi .kpisub{margin-top:4px;color:var(--muted);font-size:10.5px;line-height:1.35}
.bdgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.bdcard{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px 14px}
.bdhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px;font-size:13px;font-weight:650}
.bdhead .bdn{color:var(--muted);font-size:11px;font-weight:450}
.bdbody{display:flex;align-items:center;gap:14px}
.donut{position:relative;width:78px;height:78px;flex:0 0 78px;border-radius:50%}
.donuthole{position:absolute;inset:12px;border-radius:50%;background:var(--panel);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.donuthole b{font-size:19px;font-variant-numeric:tabular-nums}.donuthole span{font-size:9.5px;color:var(--muted)}
.bdlegend{min-width:0;flex:1;font-size:11.5px}
.bdtop{color:var(--muted)}.bdtop b{color:var(--tx)}.bdtopn{margin-bottom:6px;color:var(--muted);font-size:10.5px}
.bdlis{display:flex;flex-direction:column;gap:3px}
.bdli{display:flex;align-items:center;gap:6px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bdli i{width:8px;height:8px;flex:0 0 8px;border-radius:2px}.bdli b{margin-left:auto;color:var(--tx);font-variant-numeric:tabular-nums}
.clfilter{margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.clfrow{display:flex;align-items:baseline;gap:10px;padding:5px 0}.clfrow+.clfrow{border-top:1px dashed var(--line)}
.clflab{flex:0 0 62px;color:var(--muted);font-size:12px}
.clfchips{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.clfilter .chip{padding:3px 10px;font-size:12px}
.clpipe{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.clbadge{font-size:10.5px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.clbadge.ch-mailed{border-color:#6b551f;color:var(--idea)}
.clbadge.ch-wechat{border-color:var(--acc-dim);color:var(--acc)}
.clbadge.ch-private{border-color:#2f5c2f;color:var(--applied)}
.clbadge.bud{border-color:color-mix(in srgb,var(--acc) 40%,var(--line));color:var(--acc)}
.clbudget{font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}
.clrisk{margin-left:auto;font-size:10.5px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--interested) 18%,transparent);color:var(--interested);font-weight:650}
.clrisk.warn{background:color-mix(in srgb,var(--idea) 18%,transparent);color:var(--idea)}
.card.clcard-alert{border-left-color:var(--interested)}
.clnext{margin-top:2px;padding:7px 9px;border-left:3px solid var(--acc);background:var(--panel2);border-radius:0 7px 7px 0;font-size:12.5px}
.clnext label{display:block;margin-bottom:2px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.4px}
.cldates{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.secdiv{margin:14px 0 8px;padding-top:10px;border-top:1px solid var(--line);color:var(--acc);font-size:11px;font-weight:750;letter-spacing:.6px;text-transform:uppercase}
/* 两栏作战台：左推进队列 + 右单客户详情 */
.clworkbench{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,1.35fr);gap:12px;align-items:start}
.clqueue{display:flex;flex-direction:column;gap:7px;max-height:640px;overflow:auto;padding-right:2px}
.clqhead{display:flex;justify-content:space-between;align-items:center;padding:2px 2px 4px;color:var(--muted);font-size:12px;font-weight:650}
.clqrow{width:100%;text-align:left;display:flex;flex-direction:column;gap:6px;padding:11px 12px;border:1px solid var(--line);border-left:3px solid transparent;border-radius:10px;background:var(--panel);color:var(--tx);font:inherit;cursor:pointer;transition:.12s}
.clqrow:hover{border-color:var(--acc-dim);background:var(--panel2)}
.clqrow.on{border-color:var(--acc);border-left-color:var(--acc);background:var(--panel2)}
.clqrow.alert{border-left-color:var(--interested)}
.clqtop{display:flex;align-items:center;justify-content:space-between;gap:8px}.clqtop .nm{font-weight:600;font-size:14px}
.clqnext{color:var(--muted);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cldetail{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--panel);min-height:220px}
.cldhead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
.cldhead .nm{font-size:17px;font-weight:650}.cldsub{color:var(--muted);font-size:12px;margin-top:2px}
.cldenv{margin-bottom:10px;padding:9px 11px;border-left:3px solid var(--acc);background:var(--panel2);border-radius:0 8px 8px 0}
.cldenv label,.cldtouch>label{display:block;margin-bottom:3px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.5px}
.cldfacts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:11px 0}
.cldfact{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px}
.cldfact label{display:block;margin-bottom:2px;color:var(--muted);font-size:10px}
.cldetail .pos,.cldetail .spk{margin-top:8px}
.cldtouch{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.cltform{display:flex;gap:6px;margin:6px 0 10px}.cltform select{flex:0 0 84px}.cltform input{flex:1;min-width:0}.cltform .btn{flex:0 0 auto}
.cltlist{display:flex;flex-direction:column;gap:7px;max-height:220px;overflow:auto}
.cltitem{padding:8px 10px;border-left:2px solid var(--acc-dim);background:var(--panel2);border-radius:0 7px 7px 0;font-size:12.5px}
.cltmeta{color:var(--muted);font-size:10.5px;margin-bottom:2px;font-variant-numeric:tabular-nums}
.cltempty{color:var(--muted);font-size:12px;padding:8px 0}
@media (max-width:860px){.clworkbench{grid-template-columns:1fr}.clqueue{max-height:none}}
@media (max-width:820px){.clkpis{grid-template-columns:repeat(2,1fr)}.bdgrid{grid-template-columns:1fr}.bdbody{gap:12px}}

@media (max-width:640px){
  .top{padding-bottom:9px}
  .brand .logo{width:34px;height:34px;flex-basis:34px}.brand b{font-size:18px}.brand>span:last-child{display:block;font-size:10.5px}
  .mainnav{position:sticky;top:0;z-index:20;overflow-x:auto;padding:4px;margin-left:-4px;margin-right:-4px}
  .navgroup{flex:0 0 auto;min-height:44px;padding:9px 16px}
  .subnav{order:initial;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:0}
  .subnav .tab{min-height:44px}
  .pm-dashboard{grid-template-columns:1fr}.pm-dashboard .dashcol:first-child{grid-column:auto}
  .pjboard{grid-template-columns:1fr}.pm-project .pjstats{grid-template-columns:repeat(2,1fr)}
  .pm-charter{grid-template-columns:1fr}
  .pm-workspace .workspace-kpis{grid-template-columns:repeat(2,1fr)}
  .workspace-head.pm-workspace{padding:13px}
  .pm-quick .mk{min-height:44px;padding:8px 11px}
  .inspiration-head{align-items:flex-start;padding:13px}.inspiration-head .row{width:100%;margin-top:10px}.inspiration-head .row .btn{min-height:44px;flex:1}
  .inspiration-tabs{margin-left:-2px;margin-right:-2px}.inspiration-tab{flex:0 0 auto}
  .inspiration-feed{grid-template-columns:1fr}.inspiration-item{min-height:104px;padding:10px}.inspiration-item img{width:88px;height:76px;flex-basis:88px;margin-right:10px}
  .inspiration-top time{display:none}
}
