/* Customer-followup progress view, shared by AI营销助手 and OCTANS. */
html[data-followup-progress-view="true"] body:has(#view-campaign:not([hidden])) .topbar{display:none}
html[data-followup-progress-view="true"] body:has(#view-campaign:not([hidden])) .content-wrap{display:flex;box-sizing:border-box;min-height:100vh;padding-top:24px;padding-bottom:0}
html[data-followup-progress-view="true"] #view-campaign:not([hidden]){display:flex;min-height:0;flex:1;flex-direction:column}
html[data-followup-progress-view="true"] #view-campaign .page-heading{margin-bottom:14px}
.amp-tabs{display:flex;align-items:flex-end;gap:28px;height:46px;padding:0 16px;border:1px solid var(--ui-border,#e3e8f1);border-bottom:0;border-radius:12px 12px 0 0;background:#fff}
.amp-tabs button{position:relative;height:46px;padding:0;background:transparent;color:#7b8798;font-size:14px;font-weight:620}
.amp-tabs button.is-active{color:var(--ui-text,#1d2535)}
.amp-tabs button.is-active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--ui-brand,#3e5abd)}
.amp-overview{display:flex;min-height:420px;flex:1;flex-direction:column;border:1px solid var(--ui-border,#e3e8f1);border-bottom:0;border-radius:0;background:#fbfcfe;box-shadow:0 12px 32px rgba(38,55,88,.06)}.amp-overview[hidden]{display:none}
#aiMarketingCustomerList{margin-top:0;border-radius:0 0 12px 12px}
.amp-toolbar{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:65px;padding:12px 16px;border-bottom:1px solid var(--ui-border,#e3e8f1)}
.amp-toolbar-left{display:flex;align-items:center;gap:10px}
.amp-preview-badge{display:inline-flex;align-items:center;height:26px;padding:0 9px;border:1px solid #b8c9f2;border-radius:999px;background:#edf3ff;color:#315bc9;font-size:11px;font-weight:650}
.amp-search{display:flex;align-items:center;gap:8px;width:285px;height:38px;padding:0 11px;border:1px solid #dce3ee;border-radius:8px;background:#fbfcfe;color:#91a0b4}
.amp-search svg{width:16px;height:16px}.amp-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--ui-text,#1d2535);font-size:13px;font-weight:500}.amp-search input::placeholder{color:#9aa6b6}
.amp-filters{display:flex;align-items:center;gap:8px}.amp-region-filter{position:relative}.amp-filter-button{display:flex;align-items:center;gap:7px;height:38px;padding:0 11px;border:1px solid #dce3ee;border-radius:8px;background:#fff;color:#617086;font-size:12px}.amp-filter-button strong{max-width:94px;overflow:hidden;color:var(--ui-text,#1d2535);font-weight:650;text-overflow:ellipsis;white-space:nowrap}.amp-filter-button i{width:7px;height:7px;margin:-3px 1px 0 3px;border-right:1.5px solid #7d8999;border-bottom:1.5px solid #7d8999;transform:rotate(45deg)}.amp-filter-button:disabled{cursor:not-allowed;background:#f6f8fb;color:#98a3b2}.amp-filter-button:disabled strong{color:#69778b}.amp-region-filter:not(.is-locked) .amp-filter-button:disabled{opacity:.62}.amp-region-filter.is-locked .amp-filter-button i{display:none}
.amp-region-menu{position:absolute;z-index:40;top:44px;right:0;width:260px;max-height:420px;overflow:auto;padding:7px;border:1px solid #dce3ee;border-radius:10px;background:#fff;box-shadow:0 18px 45px rgba(31,43,67,.16)}.amp-region-menu[hidden]{display:none}.amp-region-menu button{width:100%;padding:9px 10px;border-radius:7px;background:#fff;text-align:left}.amp-region-menu button:hover,.amp-region-menu button.is-active{background:#f4f7ff}.amp-region-menu span,.amp-region-menu small{display:block}.amp-region-menu span{color:var(--ui-text,#1d2535);font-size:13px;font-weight:650}.amp-region-menu small{margin-top:1px;color:#6f7d90;font-size:11px}
.amp-statistics{display:flex;align-items:center;gap:0;min-height:58px;padding:9px 18px;border-bottom:1px solid #edf0f4;background:#fbfcff}.amp-statistics>span{display:flex;align-items:baseline;gap:6px;min-width:96px;padding-right:20px}.amp-statistics>span+span{padding-left:20px;border-left:1px solid #e6eaf0}.amp-statistics small{color:#8995a5;font-size:11px}.amp-statistics strong{color:var(--ui-text,#1d2535);font-size:18px;font-weight:720;font-variant-numeric:tabular-nums}.amp-statistics p{margin:0 0 0 auto;color:#7d8999;font-size:11px}
.amp-crumb{display:flex;align-items:center;gap:8px;padding:15px 18px 0;color:#8b98aa;font-size:12px}.amp-crumb:empty{display:none}.amp-crumb button{padding:2px 0;background:transparent;color:var(--ui-brand,#3e5abd);font-size:12px;font-weight:650}.amp-crumb button:hover{text-decoration:underline;text-underline-offset:3px}.amp-crumb strong{color:var(--ui-text,#1d2535);font-weight:650}
.amp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-content:start;align-items:start;min-height:0;flex:1;padding:16px 18px 28px;background:#fbfcfe}
.amp-card{min-width:0;padding:19px;border:1px solid #dfe5ee;border-radius:11px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.amp-card:hover{border-color:#bec9df;box-shadow:0 10px 24px rgba(38,55,88,.08);transform:translateY(-1px)}.amp-card.is-expanded{box-shadow:0 10px 28px rgba(38,55,88,.09)}
.amp-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.amp-card-head h3{margin:0;color:var(--ui-text,#1d2535);font-size:16px;font-weight:700;line-height:1.5}.amp-card-head p{margin:2px 0 0;color:#8995a5;font-size:12px;line-height:1.5}.amp-rate{text-align:right}.amp-rate strong{display:block;font-size:26px;line-height:1;font-weight:740;font-variant-numeric:tabular-nums}.amp-rate span{display:block;margin-top:3px;color:#8a96a7;font-size:11px}
.amp-overall-label{display:flex;justify-content:space-between;margin-top:25px;color:#718096;font-size:12px}.amp-overall-label strong{color:var(--ui-text,#1d2535);font-weight:650}.amp-overall-track{height:5px;margin-top:8px;overflow:hidden;border-radius:999px;background:#e9edf3}.amp-overall-track i{display:block;height:100%;border-radius:inherit}
.amp-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:13px;border-top:1px solid #edf0f4}.amp-card-foot>span{color:#7d8999;font-size:11px}.amp-card-foot>span b{color:var(--ui-text,#1d2535);font-weight:650}.amp-expand{padding:6px 10px;border-radius:7px;background:#f2f5ff;color:var(--ui-brand,#3e5abd);font-size:11px;font-weight:650}
.amp-node-detail{margin-top:16px;padding:17px 4px 3px;border-top:1px solid #edf0f4}.amp-node-line{position:relative;display:grid;grid-template-columns:repeat(5,1fr)}.amp-node-line:before{content:"";position:absolute;top:5px;right:10%;left:10%;height:1px;background:#dfe4ec}.amp-node{position:relative;text-align:center}.amp-node-dot{position:relative;z-index:1;display:block;width:10px;height:10px;margin:0 auto 7px;border:2px solid #fff;border-radius:50%;background:#dfe4ec;box-shadow:0 0 0 1px #d4dbe6}.amp-node.is-done .amp-node-dot{background:var(--amp-node-color);box-shadow:0 0 0 1px var(--amp-node-color)}.amp-node.is-current .amp-node-dot{background:var(--amp-node-color);box-shadow:0 0 0 1px var(--amp-node-color),0 0 0 4px var(--amp-node-soft)}.amp-node strong,.amp-node small{display:block}.amp-node strong{color:#5e6c80;font-size:11px;font-weight:620}.amp-node small{margin-top:1px;color:#315bc9;font-size:10px;font-weight:650;font-variant-numeric:tabular-nums}
.amp-subregion{margin-top:16px;padding-top:14px;border-top:1px dashed #dfe5ee}.amp-subregion-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.amp-subregion-head strong{font-size:12px;font-weight:680}.amp-subregion-head span{color:#758398;font-size:10px}.amp-subregion-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.amp-subregion-card{display:block;width:100%;padding:11px;border:1px solid #e1e6ee;border-radius:8px;background:#fbfcfe;text-align:left}.amp-subregion-card:hover{border-color:#bec9df;background:#f7f9ff}.amp-subregion-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.amp-subregion-top>span{display:flex;align-items:center;gap:8px}.amp-subregion-top strong{font-size:12px;font-weight:650}.amp-subregion-top b{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.amp-subregion-top em{color:#315bc9;font-size:10px;font-style:normal;font-weight:650}.amp-subregion-track{height:4px;margin-top:8px;overflow:hidden;border-radius:99px;background:#e9edf3}.amp-subregion-track i{display:block;height:100%;border-radius:inherit}
.amp-person-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.amp-person-card{padding:12px;border:1px solid #e1e6ee;border-radius:8px;background:#fbfcfe}.amp-person-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.amp-person-summary strong,.amp-person-summary small{display:block}.amp-person-summary strong{font-size:12px;font-weight:680}.amp-person-summary small{margin-top:2px;color:#758398;font-size:10px}.amp-person-summary b{font-size:16px;font-weight:720;font-variant-numeric:tabular-nums}.amp-person-card footer{display:flex;align-items:center;justify-content:space-between;margin-top:9px;color:#758398;font-size:10px}.amp-person-card footer button{padding:5px 8px;border-radius:6px;background:#edf3ff;color:#315bc9;font-size:10px;font-weight:650}
.amp-list-manager-filter{position:relative;flex:0 0 154px;width:154px;min-width:154px;height:38px}.amp-list-manager-filter>.region-picker{width:100%}.amp-list-manager-filter .region-picker-menu{right:auto;left:0}.amp-list-manager-filter .region-option{grid-template-columns:minmax(0,1fr)}

/* The overview and customer list use one toolbar geometry so tab switching never jumps. */
#aiMarketingCustomerList .followup-toolbar{box-sizing:border-box;min-height:65px;height:65px;padding:12px 16px;align-items:center;flex-flow:row nowrap;gap:16px;border-bottom:1px solid var(--ui-border,#e3e8f1);background:#fff}
#aiMarketingCustomerList .followup-toolbar>div:first-child{display:flex;min-width:0;flex:1 1 auto;align-items:center;gap:10px}
#aiMarketingCustomerList .followup-search{position:relative;box-sizing:border-box;width:285px;min-width:285px;height:38px;min-height:38px;padding:0;border:0}
#aiMarketingCustomerList .followup-search svg{top:11px;left:11px;width:16px;height:16px;color:#91a0b4}
#aiMarketingCustomerList .followup-search input{box-sizing:border-box;width:100%;height:38px;padding:0 11px 0 34px;border:1px solid #dce3ee;border-radius:8px;background:#fbfcfe;color:var(--ui-text,#1d2535);font-size:13px;font-weight:500}
#aiMarketingCustomerList .followup-filter-actions{display:flex;min-width:0;height:38px;align-items:center;justify-content:flex-end;flex:0 1 auto;flex-flow:row nowrap;gap:8px;margin-left:auto}
#aiMarketingCustomerList .followup-filter-actions .region-picker-trigger{box-sizing:border-box;height:38px;min-height:38px;padding:0 11px;border:1px solid #dce3ee;border-radius:8px;background:#fff}
#aiMarketingCustomerList .followup-filter-actions .segmented-control{height:38px;padding:3px;border-radius:8px;white-space:nowrap}
#aiMarketingCustomerList .followup-filter-actions .segmented-control button{height:32px;min-height:32px;padding:0 9px;border-radius:6px}
#aiMarketingCustomerList .followup-filter-chips{margin:0}
.amp-empty{display:flex;min-height:clamp(300px,48vh,520px);grid-column:1/-1;color:#7a8798;font-size:13px;text-align:center;align-items:center;justify-content:center;flex-direction:column}.amp-empty>strong{color:var(--ui-text,#1d2535);font-size:15px;font-weight:650}.amp-followup-empty>span{display:grid;width:64px;height:64px;margin-bottom:16px;border-radius:18px;background:#f0f4ff;color:var(--ui-brand,#3e5abd);place-items:center}.amp-followup-empty svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.followup-empty-state{display:flex;min-height:clamp(260px,42vh,420px);padding:40px 24px;color:#7b8798;text-align:center;align-items:center;justify-content:center;flex-direction:column}.followup-empty-state>span{display:grid;width:64px;height:64px;border-radius:18px;background:#f0f4ff;color:var(--ui-brand,#3e5abd);place-items:center}.followup-empty-state svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.followup-empty-state strong{margin-top:16px;color:var(--ui-text,#1d2535);font-size:16px;line-height:24px}.followup-empty-state p{margin:6px 0 0;color:#8793a5;font-size:13px;line-height:21px}
@media(max-width:1280px){.amp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.amp-preview-badge{display:none}#aiMarketingCustomerList .followup-toolbar{height:auto;min-height:65px;flex-wrap:wrap}#aiMarketingCustomerList .followup-filter-actions{height:auto;flex-wrap:wrap}}
@media(max-width:980px){.amp-toolbar{align-items:stretch;flex-direction:column}.amp-toolbar-left{justify-content:space-between}.amp-filters{overflow-x:auto;padding-bottom:2px}.amp-filter-button{white-space:nowrap}.amp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){html[data-followup-progress-view="true"] body:has(#view-campaign:not([hidden])) .content-wrap{padding-bottom:0}.amp-search{width:min(100%,360px)}.amp-toolbar-left{align-items:stretch;flex-direction:column}.amp-grid{grid-template-columns:1fr}.amp-card.is-expanded{grid-column:auto}.amp-subregion-head{align-items:flex-start;flex-direction:column;gap:3px}}
