.program-replica-set { min-width: 0; margin-top: 18px; }
.program-replica-tabs { display: flex; gap: 8px; margin: 10px 0; overflow-x: auto; }
.program-replica-tabs button { min-width: 176px; display: grid; grid-template-columns: 28px 1fr; align-items: center; border: 1px solid var(--line); padding: 9px 12px; color: var(--body); background: var(--white); text-align: left; cursor: pointer; }
.program-replica-tabs button b { color: var(--muted); font-size: 10px; }
.program-replica-tabs button span { font-size: 12px; font-weight: 600; }
.program-replica-tabs button:hover,.program-replica-tabs button.is-active { color: #fff; border-color: var(--ink); background: var(--ink); }
.program-replica-tabs button.is-active b { color: #adb1c3; }
.program-replica-stage { min-width: 0; overflow: auto; border: 1px solid #cdd8d7; background: #eefaf7; box-shadow: 0 16px 40px rgba(23,25,47,.08); }
.program-replica-panel { min-width: 0; display: none; }
.program-replica-panel.is-active { display: block; }
.program-replica-note { padding: 9px 12px; color: var(--muted); border: 1px solid var(--line); border-top: 0; background: var(--white); font-size: 10px; }

.program-replica { --p-bg:#eefaf7; --p-white:#fff; --p-line:#e3e7e7; --p-cyan:#0099bd; --p-cyan-pale:#dff3f4; position: relative; width: 100%; min-width: 0; height: 740px; overflow: hidden; color: #152033; background: var(--p-bg); font-family: "PingFang SC","Microsoft YaHei",sans-serif; font-size: 12px; line-height: 1.45; }
.program-replica button,.program-replica input,.program-replica select,.program-replica textarea { font: inherit; }
.program-replica button { color: inherit; }
.program-top { height: 44px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; color: #142033; background: #fff; border-bottom: 1px solid var(--p-line); }
.program-top > div { display: flex; align-items: center; gap: 12px; }
.program-top b { font-size: 15px; }
.program-top span { color: #7c8892; font-size: 10px; }
.program-top > div:last-child i { width: 7px; height: 7px; border-radius: 50%; background: #12a0bf; }
.program-top strong { font-size: 11px; }
.program-shell { height: calc(100% - 44px); display: grid; grid-template-columns: 152px minmax(0,1fr); }
.program-side { overflow: hidden; color: #34445b; background: #fff; border-right: 1px solid #dfe7e7; }
.program-brand { height: 48px; display: flex; align-items: center; gap: 9px; padding: 0 16px; border-bottom: 1px solid #edf0f0; }
.program-brand i { width: 18px; height: 22px; border: 2px solid var(--p-cyan); clip-path: polygon(50% 0,100% 18%,90% 75%,50% 100%,10% 75%,0 18%); }
.program-brand strong { font-size: 12px; }
.program-side nav { height: calc(100% - 48px); overflow-y: auto; padding: 6px 8px 16px; }
.program-nav-group > button { width: 100%; min-height: 34px; display: grid; grid-template-columns: 12px minmax(0,1fr) auto; align-items: center; gap: 7px; border: 0; padding: 0 8px; background: transparent; text-align: left; cursor: pointer; }
.program-nav-group > button span { width: 7px; height: 7px; border: 1px solid #637287; border-radius: 50%; }
.program-nav-group.is-open > button { color: var(--p-cyan); }
.program-nav-group.is-open > button span { border-color: var(--p-cyan); background: var(--p-cyan); }
.program-nav-group > button b { font-size: 10px; font-weight: 500; }
.program-nav-group > button em { font-size: 9px; font-style: normal; }
.program-nav-group.is-benefit > button { border-left: 2px solid #b58b66; }
.program-nav-group.is-benefit > button span { border-color: #b58b66; }
.program-nav-group.is-benefit:not(.is-open) > button em { color: #9b6f45; font-weight: 600; }
.program-nav-group > div { padding-bottom: 4px; }
.program-nav-group > div button { width: 100%; min-height: 32px; border: 0; border-radius: 5px; padding: 0 8px 0 31px; color: #43536a; background: transparent; text-align: left; font-size: 10px; cursor: pointer; }
.program-nav-group > div button:hover,.program-nav-group > div button.is-active { color: #008eb1; background: #d9f0f1; }

.program-main { min-width: 0; height: 100%; overflow: auto; padding: 17px 14px 24px; }
.program-crumb { display: flex; align-items: center; gap: 8px; color: #7d8c91; font-size: 9px; }
.program-crumb i { width: 16px; height: 1px; background: #b7c4c5; }
.program-page-title { margin-top: 10px; font-size: 19px; }
.program-subtabs { display: flex; gap: 25px; min-height: 36px; margin-top: 10px; border-bottom: 1px solid #d7e8e6; }
.program-subtabs button { position: relative; border: 0; padding: 0 0 9px; background: transparent; cursor: pointer; }
.program-subtabs button.is-active { color: var(--p-cyan); }
.program-subtabs button.is-active::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--p-cyan); }

.program-filter { display: grid; grid-template-columns: repeat(4,minmax(150px,1fr)); gap: 12px 18px; align-items: end; margin-top: 12px; border-radius: 9px; padding: 15px 18px; background: #fff; }
.program-filter label { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 7px; white-space: nowrap; }
.program-filter label span { font-size: 10px; font-weight: 600; }
.program-filter input,.program-filter select { width: 100%; height: 31px; border: 1px solid #d6dcdf; border-radius: 5px; padding: 0 10px; color: #63717c; background: #fff; outline: 0; }
.program-filter input:focus,.program-filter select:focus { border-color: var(--p-cyan); }
.program-filter-actions { grid-column: -2 / -1; display: flex; justify-content: flex-end; gap: 7px; }
.program-filter-actions button,.program-card > header button,.program-drawer button { min-height: 30px; border: 1px solid #d5dadd; border-radius: 5px; padding: 0 11px; background: #fff; cursor: pointer; }
.program-filter-actions button:hover,.program-card > header button:hover,.program-drawer button:hover { border-color: var(--p-cyan); color: var(--p-cyan); }
.program-replica button.is-primary { color: #fff; border-color: var(--p-cyan); background: var(--p-cyan); }
.program-replica button.is-primary:hover { color:#fff; background:#0083a2; }

.program-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-top: 12px; }
.program-metrics article { min-height: 76px; padding: 15px 18px; border: 1px solid #e2e7e7; border-radius: 9px; background: #fff; }
.program-metrics span { display: block; color: #7e898f; font-size: 10px; }
.program-metrics strong { display: block; margin-top: 8px; color: #0098bc; font-size: 21px; font-weight: 500; }
.program-metrics .tone-1 { color:#11b96e; }.program-metrics .tone-2 { color:#f0a000; }.program-metrics .tone-3 { color:#18b9de; }

.program-benefit-products { margin-top:12px; overflow:hidden; }
.program-benefit-products > header > div { display:grid; gap:2px; }
.program-benefit-products > header > div small { color:#78858c; font-size:9px; }
.program-benefit-products > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0 16px 15px; }
.program-benefit-product { --product:#6aa8bb; min-width:0; min-height:124px; display:grid; align-content:start; gap:5px; border:1px solid #dfe6e6; border-top:3px solid var(--product); border-right:0; padding:11px 14px 9px; color:#273545; background:#fff; text-align:left; cursor:pointer; }
.program-benefit-product:last-child { border-right:1px solid #dfe6e6; }
.program-benefit-product:hover { background:#fbfdfc; }
.program-benefit-product.is-expert { --product:#b58b66; }.program-benefit-product.is-green { --product:#4f8b7b; }.program-benefit-product.is-checkup { --product:#6aa8bb; }
.program-benefit-product > small { color:#879198; font-size:8px; letter-spacing:.08em; }
.program-benefit-product > div { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.program-benefit-product > div strong { color:#172033; font-size:15px; }.program-benefit-product > div span { color:var(--product); font-size:9px; font-weight:600; }
.program-benefit-product > b { font-size:10px; }.program-benefit-product > p { min-height:26px; color:#64727a; font-size:9px; line-height:1.45; }
.program-benefit-product ul { display:flex; flex-wrap:wrap; gap:5px; margin:1px 0 0; padding:0; list-style:none; }
.program-benefit-product li { border-left:1px solid var(--product); padding-left:5px; color:#52616a; font-size:8px; }
.program-benefit-product footer { display:flex; justify-content:space-between; gap:8px; margin-top:2px; border-top:1px solid #edf0f0; padding-top:6px; color:#7a878e; font-size:8px; }
.program-benefit-product footer em { color:#008eb1; font-style:normal; }

.program-card { border: 1px solid #e0e7e7; border-radius: 9px; background: #fff; }
.program-card > header { min-height: 45px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 16px; }
.program-card > header h4 { font-size: 13px; }
.program-card > header > div { display:flex; gap:7px; }
.program-card > header small { color:#8c979d; font-size:9px; }
.program-table-card { margin-top: 12px; overflow: hidden; }
.program-table-scroll { min-height: 310px; overflow: auto; padding: 0 16px; }
.program-table-scroll table { width: 100%; min-width: 940px; border-collapse: collapse; }
.program-table-scroll th { height: 40px; padding: 0 8px; background: #fafafa; text-align: left; font-size: 10px; white-space: nowrap; }
.program-table-scroll td { height: 42px; border-bottom: 1px solid #e9ecec; padding: 6px 8px; color: #1e2938; font-size: 9.5px; vertical-align: middle; white-space: nowrap; }
.program-table-scroll tr:nth-child(even) td { background: #fcfcfc; }
.program-table-scroll tr:hover td,.program-table-scroll tr.is-selected td { background: #f0faf9; }
.program-link { border:0; padding:0; color:#008eb6 !important; background:transparent; cursor:pointer; }
.program-actions { display:flex; flex-wrap:wrap; gap:7px; min-width:128px; }
.program-actions button { border:0; padding:0; color:#008eb6; background:transparent; font-size:9.5px; cursor:pointer; }
.program-actions button:hover { text-decoration:underline; }
.program-actions button[data-demo-action="删除"],.program-actions button[data-demo-action="停用"] { color:#f25555; }
.program-badge { display:inline-block; border-radius:5px; padding:3px 7px; font-size:9px; line-height:1.25; }
.program-badge--success { color:#0aa35b; background:#edfae8; }.program-badge--info { color:#0874d1; background:#e8f4ff; }.program-badge--warn { color:#e78c00; background:#fff6df; }.program-badge--danger { color:#ef4242; background:#fff0ef; }.program-badge--neutral { color:#44505c; background:#f2f3f3; }
.program-pagination { min-height: 44px; display: flex; align-items: center; justify-content: flex-end; gap: 7px; padding: 0 16px; }
.program-pagination span { margin-right:4px; font-size:10px; }
.program-pagination button { width:25px; height:25px; border:0; background:transparent; cursor:pointer; }
.program-pagination button.is-active { color:var(--p-cyan); border:1px solid var(--p-cyan); border-radius:7px; }
.program-pagination select { height:27px; border:1px solid #d6dcdf; border-radius:5px; background:#fff; font-size:9px; }
.program-empty { min-height: 210px; display:grid; place-content:center; color:#9aa4aa; text-align:center; }
.program-empty b { font-size:38px; font-weight:300; }.program-empty span { margin-top:5px; }

.program-quality { margin-top: 12px; }
.program-quality > div { display:grid; grid-template-columns:repeat(4,1fr); padding:0 16px 14px; }
.program-quality > div button { min-height:84px; display:grid; align-content:center; border:1px solid #e4e8e7; border-right:0; padding:10px 16px; background:#fff; text-align:left; cursor:pointer; }
.program-quality > div button:first-child,.program-quality > div button:nth-child(2) { background:#fff7e7; }
.program-quality > div button:last-child { border-right:1px solid #e4e8e7; }
.program-quality span,.program-quality small { color:#7c878d; font-size:9px; }.program-quality strong { margin:5px 0; font-size:19px; font-weight:500; }.program-quality .tone-0,.program-quality .tone-1 { color:#ef5353; }
.program-dashboard-grid { display:grid; grid-template-columns:1fr .8fr; gap:12px; margin-top:12px; }
.program-dashboard-grid > article { min-height:210px; }
.program-bars { display:grid; gap:14px; padding:12px 22px 20px; }
.program-bars div { display:grid; grid-template-columns:80px minmax(0,1fr) 28px; gap:9px; align-items:center; font-size:9px; }
.program-bars i { height:10px; background:linear-gradient(90deg,#14a3c4 var(--bar),#e6f0f1 var(--bar)); }
.program-donut-wrap { display:grid; grid-template-columns:1fr 120px; place-items:center; gap:10px; padding:8px 25px 20px; }
.program-donut { width:130px; height:130px; border-radius:50%; background:conic-gradient(#20bf67 0 96%,#f0af17 96% 97.5%,#f2733c 97.5% 99%,#e64040 99%); position:relative; }
.program-donut::after { content:""; position:absolute; inset:34px; border-radius:50%; background:#fff; }
.program-donut-wrap dl { width:100%; }.program-donut-wrap dl div { display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px solid #edf0f0; }.program-donut-wrap dt,.program-donut-wrap dd { font-size:9px; }

.program-morning-list { display:grid; gap:12px; margin-top:12px; }
.program-morning-list article > header strong { margin-left:8px; font-size:10px; }
.program-morning-body { display:grid; grid-template-columns:1fr 1fr; min-height:132px; border-top:1px solid #e6ebea; }
.program-morning-body section { padding:15px 18px; }.program-morning-body section:first-child { border-right:1px solid #e6ebea; }
.program-morning-body h5 { color:#008eb6; font-size:10px; }.program-morning-body section > strong { display:block; margin-top:12px; font-size:10px; }
.program-mini-trend { height:56px; display:flex; align-items:end; gap:8px; margin-top:8px; border-bottom:1px solid #d9e3e3; }
.program-mini-trend i { flex:1; max-width:18px; background:#79c9d8; }
.program-morning-body ul { display:grid; gap:7px; margin:12px 0 0; padding-left:17px; color:#596871; font-size:9px; }
.program-morning-list article > footer { margin:0 18px 14px; border:1px solid #9cdb70; border-radius:5px; padding:9px 12px; color:#16a40d; background:#f2ffe9; font-size:9px; }.program-morning-list article > footer b { margin-right:8px; }

.program-knowledge { display:grid; grid-template-columns:285px minmax(0,1fr); gap:12px; margin-top:12px; }
.program-knowledge > aside { align-self:start; overflow:hidden; }
.program-knowledge > aside ul { list-style:none; margin:0; padding:0 16px 12px; }
.program-knowledge > aside li button { width:100%; min-height:35px; display:flex; align-items:center; justify-content:space-between; border:0; padding:0 8px; background:transparent; cursor:pointer; }
.program-knowledge > aside li button:hover,.program-knowledge > aside li button.is-active { color:var(--p-cyan); background:#eff9f8; }
.program-knowledge > aside li b { min-width:25px; border-radius:11px; padding:2px 5px; color:#fff; background:#9ca7ad; font-size:8px; }
.program-knowledge > aside > footer { border-top:1px solid #e5eaea; padding:12px 22px; color:#8a969c; font-size:9px; }
.program-knowledge > div { min-width:0; }.program-knowledge-filter .program-filter { margin-top:0; grid-template-columns:repeat(3,1fr); }

.program-benefit-lifecycle { margin-top:12px; overflow:hidden; }
.program-benefit-lifecycle > div { display:grid; grid-template-columns:repeat(6,1fr); padding:0 16px 15px; }
.program-benefit-lifecycle > div button { position:relative; min-width:0; min-height:72px; display:grid; align-content:center; gap:3px; border:1px solid #dfe7e7; border-right:0; padding:8px 12px; background:#fff; text-align:left; cursor:pointer; }
.program-benefit-lifecycle > div button:last-child { border-right:1px solid #dfe7e7; }
.program-benefit-lifecycle > div button:not(:last-child)::after { content:""; position:absolute; z-index:2; right:-6px; top:31px; width:10px; height:10px; border-top:1px solid #20a2bb; border-right:1px solid #20a2bb; background:#fff; transform:rotate(45deg); }
.program-benefit-lifecycle button span { color:#839199; font-size:8px; letter-spacing:.08em; }
.program-benefit-lifecycle button b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; }
.program-benefit-lifecycle button strong { color:#0099bd; font-size:16px; font-weight:500; }
.program-benefit-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr); gap:12px; margin-top:12px; }
.program-dual-ledger { overflow:hidden; }
.program-dual-ledger > div { display:grid; grid-template-columns:1fr 100px 1fr; align-items:center; min-height:120px; padding:12px 18px; background:linear-gradient(90deg,#f2f9ff 0 43%,#fff 43% 57%,#f1fbf7 57%); }
.program-dual-ledger > div section { display:grid; gap:5px; }
.program-dual-ledger > div section:last-child { text-align:right; }
.program-dual-ledger > div section small { color:#71818b; font-size:8px; letter-spacing:.08em; }
.program-dual-ledger > div section b { font-size:11px; }.program-dual-ledger > div section strong { color:#008eb1; font-size:20px; font-weight:500; }
.program-dual-ledger > div section:last-child strong { color:#16a36e; }
.program-dual-ledger > div > i { width:78px; height:78px; display:grid; place-content:center; justify-self:center; border:1px solid #c9dddf; border-radius:50%; color:#52636d; background:#fff; text-align:center; font-style:normal; }
.program-dual-ledger > div > i span { color:#132033; font-size:18px; font-weight:600; }.program-dual-ledger > div > i small { font-size:8px; }
.program-dual-ledger > footer { min-height:44px; display:flex; align-items:center; gap:12px; border-top:1px solid #e2e8e8; padding:0 18px; }.program-dual-ledger > footer p { color:#687781; font-size:9px; }
.program-benefit-todos { overflow:hidden; }
.program-benefit-todos > div { padding:0 14px 12px; }
.program-benefit-todos > div button { width:100%; min-height:34px; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:8px; border:0; border-top:1px solid #edf0f0; padding:0 7px; background:#fff; text-align:left; cursor:pointer; }
.program-benefit-todos > div button span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:9px; }.program-benefit-todos > div button em { color:#008eb1; font-size:8px; font-style:normal; }
.program-bank-link { margin-top:12px; overflow:hidden; }
.program-bank-link > div { display:grid; grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr; align-items:center; padding:0 16px 14px; }
.program-bank-link > div > i { color:#1fa0b8; text-align:center; font-style:normal; }
.program-bank-link article { min-width:0; min-height:70px; display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:8px; border:1px solid #dfe7e7; border-radius:6px; padding:9px 10px; background:#fbfdfd; }
.program-bank-link article > span { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#0099bd; font-size:8px; }
.program-bank-link article div { min-width:0; display:grid; gap:3px; }.program-bank-link article b,.program-bank-link article small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.program-bank-link article b { font-size:9px; }.program-bank-link article small { color:#74838c; font-size:8px; }

.program-toast { position:absolute; z-index:30; left:50%; bottom:18px; transform:translate(-50%,12px); opacity:0; pointer-events:none; border-radius:5px; padding:9px 14px; color:#fff; background:rgba(17,27,42,.94); box-shadow:0 8px 25px rgba(17,27,42,.22); transition:.18s ease; }
.program-toast.is-visible { opacity:1; transform:translate(-50%,0); }
.program-drawer { position:absolute; z-index:25; top:44px; right:0; width:360px; height:calc(100% - 44px); display:grid; grid-template-rows:auto 1fr auto; background:#fff; border-left:1px solid #d8e0e0; box-shadow:-16px 0 36px rgba(23,25,47,.14); }
.program-drawer[hidden] { display:none; }
.program-drawer > header { min-height:65px; display:flex; justify-content:space-between; align-items:center; padding:0 20px; border-bottom:1px solid #e2e8e8; }
.program-drawer small { color:#87939a; font-size:8px; }.program-drawer h4 { margin-top:4px; font-size:17px; }
.program-drawer > div { display:grid; align-content:start; gap:15px; padding:20px; }
.program-drawer label { display:grid; gap:6px; font-size:10px; font-weight:600; }
.program-drawer input,.program-drawer select,.program-drawer textarea { width:100%; border:1px solid #d5dcde; border-radius:5px; padding:9px; color:#44515b; background:#fff; }
.program-drawer textarea { min-height:120px; resize:vertical; }
.program-drawer > footer { display:flex; justify-content:flex-end; gap:8px; padding:14px 20px; border-top:1px solid #e2e8e8; }

@media (max-width: 820px) {
  .program-replica-tabs button { min-width:150px; }
  .program-replica-stage { overflow-x:auto; }
  .program-benefit-lifecycle > div { grid-template-columns:repeat(3,1fr); }
  .program-benefit-grid { grid-template-columns:1fr; }
  .program-benefit-products > div { grid-template-columns:1fr; }
  .program-benefit-product { border-right:1px solid #dfe6e6; border-bottom:0; }
  .program-benefit-product:last-child { border-bottom:1px solid #dfe6e6; }
}
