/* One primary timeline, with secondary records grouped below it. */
.project-page .project-heading{margin:2px 0 18px}
.project-delivery{display:flex;align-items:baseline;justify-content:space-between;gap:6px 12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:11px;margin-top:14px;font-size:12px;color:var(--muted)}
.project-delivery strong{font-size:16px;font-weight:600;margin-left:5px;color:var(--ink)}
.project-delivery small{font-size:12px}
.project-delivery .is-attention{color:var(--amber)}
.project-plan{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.project-plan-heading{padding:15px 16px 12px;border-bottom:1px solid var(--line)}
.project-plan-heading>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.project-plan-heading h2{font-size:17px;line-height:1.6;font-weight:650;margin:0}
.project-plan-heading>div>span{font-size:12px;color:var(--muted);flex-shrink:0}
.project-counts{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 0 0;font-size:12px;line-height:1.8;color:var(--muted)}
.project-counts strong{font-size:13px;font-weight:600;margin-left:4px;color:var(--ink)}
.project-counts>span:nth-child(2) strong{color:var(--green)}
.project-plan-heading>p:not(.project-counts){font-size:13px;color:var(--muted);margin:8px 0 0}
.project-steps{list-style:none;margin:0;padding:3px 14px 5px}
.project-steps>li{position:relative}
.project-steps>li:not(:last-child):before{position:absolute;content:'';left:9.5px;top:23px;bottom:-23px;width:1px;background:#d9e1d7}
.project-steps>li.is-done:not(:last-child):before{background:#9ab6a0}
.project-step{position:relative;display:flex;align-items:flex-start;gap:10px;min-height:66px;width:100%;padding:12px 0;text-align:left;border-radius:8px}
.project-step:hover{background:var(--surface-subtle)}
.project-step:active{background:var(--green-soft)}
.project-step-node{display:grid;place-items:center;flex-shrink:0;width:20px;height:20px;border:1px solid #c7d1c5;border-radius:50%;margin-top:1px;background:#fff;color:var(--muted);font-size:11px;z-index:1;line-height:1}
.project-step-node>svg{width:12px;height:12px}
.is-done>.project-step .project-step-node{background:var(--green);border-color:var(--green);color:white}
.is-live>.project-step .project-step-node{border:2px solid var(--green);color:var(--green);background:#fff}
.is-attention>.project-step .project-step-node{border-color:#bd975b;color:var(--amber);background:var(--amber-bg)}
.project-step-copy{flex:1;min-width:0}
.project-step-copy>strong{display:block;font-size:14px;font-weight:550;line-height:1.6}
.project-step-copy>small{display:block;font-size:12px;line-height:1.8;color:var(--muted);margin-top:3px}
.project-step-state{font-size:12px;line-height:1.7;color:var(--muted);max-width:82px;flex-shrink:0;text-align:right;padding-top:1px}
.is-live>.project-step .project-step-state{color:var(--green);font-weight:500}
.is-attention>.project-step .project-step-state{color:var(--amber)}
.project-step>svg{width:12px;height:12px;color:#839186;flex-shrink:0;margin-top:5px}
.project-flow+.project-flow{border-top:1px solid var(--line)}
.project-flow>summary{display:flex;align-items:center;gap:12px;list-style:none;padding:15px 16px;min-height:80px}
.project-flow>summary:after,.project-flow>summary::-webkit-details-marker{display:none}
.project-flow-copy{flex:1;min-width:0}
.project-flow-copy>strong{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:15px;font-weight:600;line-height:1.65}
.project-flow-copy>strong>small{font-size:12px;line-height:1.7;font-weight:400;color:var(--muted)}
.project-flow-copy>span{display:block;font-size:12px;line-height:1.8;color:var(--muted);margin-top:4px}
.project-flow-state{font-size:12px;color:var(--green);flex-shrink:0;max-width:60px}
.project-flow-state[data-flow-state=有待跟进]{color:var(--amber)}
.project-flow-state[data-flow-state=未开始],.project-flow-state[data-flow-state=待安排]{color:var(--muted)}
.project-flow>summary>svg{width:13px;height:13px;flex-shrink:0;color:var(--muted);transform:rotate(90deg)}
.project-flow[open]>summary>svg{transform:rotate(-90deg)}
.project-flow[open]>summary{background:var(--surface-subtle)}
.project-flow[open]>.project-steps{border-top:1px solid var(--line);padding:3px 16px 5px}
.project-flow-empty{font-size:13px;line-height:1.85;color:var(--muted);padding:18px 16px}
.project-resources{margin-top:24px}
.project-resources>h2{font-size:18px;font-weight:650;line-height:1.6;margin:0 0 12px}
.project-resource-list{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.project-resource-list .ux-project-details{border:0;border-bottom:1px solid var(--line);margin:0;border-radius:0;box-shadow:none}
.project-resource-list .ux-project-details>summary{position:relative;font-size:14px;min-height:58px;padding:14px 36px 14px 16px}
.project-resource-list .ux-project-details>summary:after{display:none}
.project-resource-list .ux-project-details>summary>svg{position:absolute;right:16px;top:50%;width:13px;height:13px;color:var(--muted);transform:translateY(-50%) rotate(90deg)}
.project-resource-list .ux-project-details[open]>summary>svg{transform:translateY(-50%) rotate(-90deg)}
.project-resource-list .ux-project-details[open]>summary{background:var(--surface-subtle)}
.project-resource-list .ux-project-details>div{padding:14px 16px 16px;min-width:0}
.project-detail-note,.project-detail-footnote{font-size:12px;line-height:1.85;color:var(--muted);margin:0}
.project-detail-note{margin-bottom:4px}
.project-detail-footnote{padding-top:12px;border-top:1px solid var(--line)}
.project-purchase-item{display:block;width:100%;padding:16px 0;text-align:left;background:transparent;border:0;border-radius:0}
.project-purchase-item+.project-purchase-item{border-top:1px solid var(--line)}
.project-purchase-item:hover,.project-purchase-item:active{background:var(--surface-subtle)}
.project-purchase-item:focus-visible{outline-offset:2px}
.project-purchase-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.project-purchase-heading>strong{font-size:15px;font-weight:600;line-height:1.7;min-width:0}
.project-purchase-heading>svg{width:13px;height:13px;color:var(--muted);margin-top:6px;flex-shrink:0}
.project-purchase-status{display:table;font-size:12px;line-height:1.7;color:var(--muted);background:#f0f3ee;border-radius:5px;padding:2px 7px;margin-top:7px;max-width:100%;overflow-wrap:anywhere}
.project-purchase-meta{display:block;font-size:12px;line-height:1.85;color:var(--muted);margin-top:8px}
.project-purchase-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}
.project-purchase-dates small,.project-purchase-dates strong{display:block}
.project-purchase-dates small{font-size:12px;line-height:1.8;color:var(--muted)}
.project-purchase-dates strong{font-size:14px;line-height:1.8;font-weight:500;color:var(--ink);margin-top:2px}
.project-purchase-note{display:block;font-size:13px;line-height:1.85;color:var(--muted);margin-top:12px;overflow-wrap:anywhere}
.project-resource-list .ux-plan-support{margin:0}
.project-resource-list .ux-overview-followups{border:0;border-bottom:1px solid var(--line);margin:0;background:white}
.project-resource-list .ux-overview-followups>summary{font-size:12px;min-height:58px;padding:14px 16px;color:var(--amber);gap:10px}
.project-resource-list .ux-overview-followups>summary:after{display:none}
.project-resource-list .ux-overview-followups>summary>span:first-child{font-size:14px;font-weight:500;flex-shrink:0}
.project-resource-list .ux-overview-followups>summary>span:nth-child(2){font-size:12px;color:var(--muted)}
.project-resource-list .ux-overview-followups[open]>summary{background:var(--surface-subtle)}
.project-record-link{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border-bottom:1px solid var(--line);min-height:76px;text-align:left}
.project-record-link>img{width:40px;height:40px;object-fit:cover;border-radius:7px;flex-shrink:0}
.project-record-link>span:nth-child(2){flex:1;min-width:0}
.project-record-link strong,.project-record-link small{display:block}
.project-record-link strong{font-size:14px;line-height:1.7;font-weight:550}
.project-record-link small{font-size:12px;line-height:1.8;margin-top:3px;color:var(--muted)}
.project-record-link>svg{width:13px;height:13px;color:var(--muted);flex-shrink:0}
.project-record-icon{width:40px;height:40px;display:grid;place-items:center;flex-shrink:0;background:var(--surface-subtle);border-radius:7px;color:var(--green)}
.project-record-icon>svg{width:20px;height:20px}
.project-team{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:76px;padding:14px 16px;text-align:left}
.project-team strong,.project-team small{display:block}
.project-team strong{font-size:14px;font-weight:550;line-height:1.7}
.project-team small{font-size:12px;line-height:1.8;color:var(--muted);margin-top:3px}
.project-team>svg{width:13px;height:13px;color:var(--muted);flex-shrink:0}
.project-updated{font-size:12px;line-height:1.8;color:var(--muted);margin:16px 0 0}
.v22-records-page .ux-project-heading>p{font-size:13px;line-height:1.85;color:var(--muted);margin-top:8px}
.v22-records-page .ux-site-unpictured h2{font-size:18px;font-weight:600;line-height:1.7;margin:24px 0 12px}
@media(max-width:360px){
 .project-plan-heading{padding:14px 14px 11px}
 .project-counts{gap:5px 14px}
 .project-step{gap:8px}
 .project-step-state{font-size:11px;max-width:74px}
 .project-step>svg{display:none}
 .project-flow>summary{padding:14px;gap:9px}
 .project-flow-copy>strong{gap:5px 9px}
 .project-flow-state{font-size:12px}
}
