.stat__icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.three-panel{display:grid;grid-template-columns:1fr .8fr 1fr;gap:12px}.panel{padding:16px;border:1px solid #e8edf5;border-radius:10px;background:#fff}.panel h3,.server-box h3{margin:0 0 14px;font-size:15px}.panel .form-label{margin-top:12px}.panel hr{border:0;border-top:1px solid #edf1f6;margin:16px 0}.readonly-rule{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #eff3f7;color:#718097}.readonly-rule b{color:#26364f;font-size:13px}.reply-preview{margin-top:15px;padding:12px;border-radius:8px;background:#f8fbff;color:#708099;font-size:12px;line-height:1.65}.reply-preview b{color:#3b4b65}.reply-preview p{margin:7px 0 0}.reply-preview strong{color:#19a86d}.panel-preview{background:#fbfdff}.popup-preview{display:flex;flex-direction:column;align-items:center;padding:18px 14px;border:1px solid #e4ebf5;border-radius:12px;background:#fff;text-align:center}.popup-preview>img,.popup-preview .empty-qr{width:138px;height:138px;margin:16px 0 12px}.popup-preview p{margin:0 0 13px;color:#6d7e95;font-size:12px;line-height:1.65}.popup-preview strong{color:#18a76f}.popup-preview .fake-input{width:100%;padding:10px;border:1px solid #dce5f1;border-radius:7px;color:#a1adbd;font-size:12px;text-align:left}.popup-preview .btn{width:100%;margin-top:9px}.server-box{margin-top:14px;padding:18px;border:1px solid #e8edf5;border-radius:10px;background:#fbfdff}@media(max-width:1100px){.three-panel{grid-template-columns:1fr 1fr}.panel-preview{grid-column:1/-1}}@media(max-width:760px){.three-panel{grid-template-columns:1fr}}
/* Provider library: list and editor stay visually independent. */
.provider-workspace{display:grid;grid-template-columns:294px minmax(0,1fr);gap:18px;align-items:start}.provider-list{padding:0;overflow:hidden}.provider-list__head{display:flex;align-items:center;justify-content:space-between;padding:20px 18px 16px;border-bottom:1px solid var(--line)}.provider-list__head h2{margin:0;font-size:16px}.provider-list__head p{margin:5px 0 0;color:var(--muted);font-size:12px}.icon-button{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:9px;background:#eaf2ff;color:#2168f5;font-size:23px;line-height:1;cursor:pointer}.provider-list__items{padding:9px}.provider-item{display:flex;align-items:center;gap:10px;margin:4px 0;padding:11px;border-radius:10px;color:var(--ink);text-decoration:none}.provider-item:hover{background:#f6f9fe}.provider-item.is-selected{background:linear-gradient(90deg,#eaf3ff,#f7faff);box-shadow:inset 3px 0 #2b74ff}.provider-item__icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#f0f4fa;color:#5f7391;font-weight:800}.provider-item.is-selected .provider-item__icon{background:#2f7cff;color:#fff}.provider-item__body{display:grid;gap:3px;min-width:0}.provider-item__body b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.provider-item__body small{color:#8c9bb0;font-size:11px}.provider-item__dot{margin-left:auto;width:7px;height:7px;border-radius:50%;background:#c8d1de}.provider-item__dot.is-live{background:#19b77e;box-shadow:0 0 0 4px #e1f8ef}.provider-list__tip{display:grid;gap:5px;margin:14px;padding:13px;border-radius:10px;background:#f6f9fe;color:#8090a6;font-size:12px;line-height:1.55}.provider-list__tip b{color:#3b4d68}.provider-editor{padding:0;overflow:hidden}.provider-editor__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:23px 24px 18px;border-bottom:1px solid var(--line)}.eyebrow{display:block;margin-bottom:6px;color:#3a7eff;font-size:11px;font-weight:800;letter-spacing:.08em}.provider-editor__head h2{margin:0;font-size:20px}.provider-editor__head p{margin:7px 0 0;color:var(--muted);font-size:13px}.provider-editor__state{flex:0 0 auto;padding:6px 10px;border-radius:999px;background:#f1f4f8;color:#7f8da1;font-size:12px;font-weight:700}.provider-editor__state.is-live{background:#e5f8ef;color:#15966a}.provider-section{padding:20px 24px;border-bottom:1px solid #edf1f6}.provider-section__title{display:flex;align-items:center;gap:10px;margin-bottom:16px}.provider-section__title>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e9f2ff;color:#276df6;font-size:12px;font-weight:800}.provider-section__title div{display:grid;gap:3px}.provider-section__title b{font-size:14px}.provider-section__title small{color:#8b98ab;font-size:12px}.switch-wrap{display:flex;align-items:flex-end;padding-bottom:11px}.switch--small{margin-top:7px;font-size:12px}.mapping-help{margin:14px 0 0;padding:10px 12px;border-radius:8px;background:#f6f9fe;color:#708198;font-size:12px}.mapping-help b{color:#286cff}.provider-editor .actions{margin:0;padding:18px 24px;border:0}.provider-editor__footer{display:flex;justify-content:space-between;gap:10px;padding:14px 24px;background:#fbfcfe;border-top:1px solid var(--line)}.provider-editor__footer form{margin:0}.btn.danger{border-color:#ffd4d6;color:#d9515c;background:#fff7f7}@media(max-width:980px){.provider-workspace{grid-template-columns:1fr}.provider-list__items{display:flex;gap:7px;overflow:auto}.provider-item{flex:0 0 210px}}@media(max-width:640px){.provider-editor__head,.provider-section,.provider-editor .actions,.provider-editor__footer{padding-left:16px;padding-right:16px}.provider-editor__head{display:block}.provider-editor__state{display:inline-block;margin-top:12px}.provider-editor__footer{flex-wrap:wrap}.provider-editor__footer .btn{width:100%}}
/* WeChat configuration is grouped by the user journey instead of by raw fields. */
.wechat-callout{display:flex;gap:12px;align-items:flex-start;margin:18px 0;padding:15px 17px;border:1px solid #cfe3ff;border-radius:12px;background:linear-gradient(100deg,#eff7ff,#f9fcff);color:#536982}.wechat-callout__icon{display:grid;place-items:center;flex:0 0 auto;width:23px;height:23px;border-radius:50%;background:#2673f6;color:#fff;font-weight:800}.wechat-callout b{color:#203b5f}.wechat-callout p{margin:4px 0 0;font-size:13px;line-height:1.65}.wechat-settings-grid{display:grid;grid-template-columns:1fr 1fr 340px;gap:18px}.wechat-card,.wechat-preview-card,.wechat-server-card{padding:0;overflow:hidden}.wechat-card header,.wechat-preview-card header,.wechat-server-card header{display:flex;gap:11px;align-items:flex-start;padding:19px 20px 15px;border-bottom:1px solid var(--line)}.section-icon{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border-radius:10px;color:#fff;font-weight:800}.section-icon.blue{background:linear-gradient(135deg,#4e9dff,#2368f5)}.section-icon.violet{background:linear-gradient(135deg,#a786ff,#7250df)}.section-icon.green{background:linear-gradient(135deg,#42d5a4,#18ad7b)}.section-icon.orange{background:linear-gradient(135deg,#ffca63,#f18a22)}.wechat-card h2,.wechat-preview-card h2,.wechat-server-card h2{margin:0;font-size:16px}.wechat-card header p,.wechat-preview-card header p,.wechat-server-card header p{margin:4px 0 0;color:#8a98aa;font-size:12px;line-height:1.45}.wechat-card__body{padding:18px 20px}.wechat-card__body .form-label{margin-top:14px}.wechat-card__body .form-label:first-child{margin-top:0}.wechat-card__body hr{margin:17px 0;border:0;border-top:1px solid #edf1f6}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px}.rule-grid span{display:grid;gap:5px;padding:10px;border:1px solid #edf1f6;border-radius:9px;color:#8391a4;font-size:11px}.rule-grid b{color:#31435d;font-size:12px}.wechat-preview-card .popup-preview{margin:18px 20px 20px}.wechat-server-card{margin-top:18px}.wechat-server-card__body{padding:18px 20px 20px}.callback-box{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:17px;padding:14px 15px;border:1px solid #dbe9fb;border-radius:10px;background:#f8fbff}.callback-box div{display:grid;gap:4px;min-width:0}.callback-box span{color:#75879d;font-size:11px}.callback-box b{overflow:hidden;color:#235abe;font:600 12px ui-monospace,SFMono-Regular,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}.callback-box small{color:#8494a8;font-size:11px}.callback-box .btn{flex:0 0 auto}.wechat-steps{display:grid;gap:8px;margin:17px 0 0;padding:13px 16px 13px 32px;border-radius:9px;background:#fbfcfe;color:#74849a;font-size:12px;line-height:1.55}.wechat-steps li::marker{color:#2d75f6;font-weight:800}@media(max-width:1180px){.wechat-settings-grid{grid-template-columns:1fr 1fr}.wechat-preview-card{grid-column:1/-1}.wechat-preview-card .popup-preview{max-width:320px;margin-left:auto;margin-right:auto}}@media(max-width:700px){.wechat-settings-grid{grid-template-columns:1fr}.wechat-preview-card{grid-column:auto}.callback-box{align-items:flex-start;flex-direction:column}.callback-box .btn{width:100%}}
/* Mini-program monetization: two clear, independently saved placements. */
.traffic-hero{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-bottom:16px;padding:25px 26px;border:1px solid #dce9fb;border-radius:17px;background:radial-gradient(circle at 86% 12%,#dcecff 0,transparent 29%),linear-gradient(120deg,#fff,#f4f9ff);box-shadow:0 12px 28px rgba(44,91,153,.07)}.traffic-hero__copy{display:flex;align-items:center;gap:15px}.traffic-hero__icon,.traffic-metrics__icon,.traffic-card__icon{display:grid;place-items:center;flex:0 0 auto;color:#fff}.traffic-hero__icon{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#4b9cff,#2265ed);box-shadow:0 8px 16px #2375ee42}.traffic-hero__icon svg{width:25px;height:25px}.traffic-hero__eyebrow{display:block;margin-bottom:5px;color:#4385f4;font-size:10px;font-weight:800;letter-spacing:.11em}.traffic-hero h2{margin:0;color:#203a5e;font-size:21px}.traffic-hero p{max-width:570px;margin:6px 0 0;color:#7c8da4;font-size:13px;line-height:1.6}.traffic-metrics{display:grid;grid-template-columns:repeat(3,94px);gap:9px}.traffic-metrics>div{position:relative;padding:12px 10px 10px 40px;border:1px solid #e5edf7;border-radius:12px;background:#ffffffcc}.traffic-metrics__icon{position:absolute;top:12px;left:10px;width:23px;height:23px;border-radius:8px}.traffic-metrics__icon svg{width:14px;height:14px}.traffic-metrics__icon.blue{background:#3d87f7}.traffic-metrics__icon.green{background:#20bd91}.traffic-metrics__icon.violet{background:#8869ef}.traffic-metrics p{margin:0;color:#8796aa;font-size:10px;white-space:nowrap}.traffic-metrics b{display:block;margin-top:4px;color:#233c61;font-size:17px;line-height:1.1}.traffic-guide{display:flex;gap:11px;align-items:flex-start;margin-bottom:18px;padding:14px 16px;border:1px solid #d8e9ff;border-radius:12px;background:#f6faff;color:#7386a1}.traffic-guide__icon{display:grid;place-items:center;flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:#2c79f6;color:#fff;font:800 12px Georgia,serif}.traffic-guide b{display:block;color:#2b568f;font-size:13px}.traffic-guide p{margin:3px 0 0;font-size:12px;line-height:1.65}.traffic-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.traffic-card{padding:0;overflow:hidden;border:1px solid #e2eaf5;border-radius:16px;background:#fff;box-shadow:0 10px 26px rgba(46,87,142,.065);transition:box-shadow .2s,transform .2s}.traffic-card:hover{box-shadow:0 15px 32px rgba(46,87,142,.1);transform:translateY(-1px)}.traffic-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px 20px 17px;border-bottom:1px solid #edf2f8}.traffic-card__heading{display:flex;gap:11px;min-width:0}.traffic-card__icon{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#4c9eff,#226bf1);box-shadow:0 7px 14px #2675ed2c}.traffic-card__icon.is-green{background:linear-gradient(135deg,#38cda4,#14ae7f);box-shadow:0 7px 14px #18ac8130}.traffic-card__icon svg{width:20px;height:20px}.traffic-card__channel{display:block;margin-bottom:5px;color:#3d7fec;font-size:10px;font-weight:800;letter-spacing:.05em}.traffic-card h2{margin:0;color:#2a4164;font-size:16px}.traffic-card p{min-height:34px;margin:5px 0 0;color:#8493a7;font-size:12px;line-height:1.45}.traffic-card .switch{gap:6px;white-space:nowrap;font-size:12px}.traffic-card .switch em{color:#718198;font-style:normal}.traffic-card__fields{display:grid;grid-template-columns:.85fr 1.65fr .58fr;gap:10px;padding:17px 20px 18px}.traffic-card__fields label{display:grid;gap:7px;min-width:0;color:#718198;font-size:12px;font-weight:700}.traffic-card__fields label>span{padding-left:1px}.traffic-card__fields input,.traffic-card__fields select{box-sizing:border-box;min-width:0;width:100%;height:39px;padding:0 10px;border:1px solid #dce6f2;border-radius:9px;outline:0;background:#fbfdff;color:#304562;font:13px inherit}.traffic-card__fields input:focus,.traffic-card__fields select:focus{border-color:#4b90f5;box-shadow:0 0 0 3px #3c8cff18}.traffic-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 20px;border-top:1px solid #edf2f7;background:#fbfcfe}.traffic-card footer small{overflow:hidden;color:#91a0b4;font:11px ui-monospace,SFMono-Regular,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}.traffic-card .btn{min-width:118px}@media(max-width:1160px){.traffic-hero{align-items:flex-start;flex-direction:column}.traffic-metrics{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.traffic-groups{grid-template-columns:1fr}.traffic-card__fields{grid-template-columns:.85fr 1.65fr .58fr}}@media(max-width:700px){.traffic-hero{padding:20px}.traffic-hero__copy{align-items:flex-start}.traffic-hero p{font-size:12px}.traffic-metrics{grid-template-columns:1fr}.traffic-card__head{display:block}.traffic-card .switch{display:inline-flex;margin-top:14px}.traffic-card__fields{grid-template-columns:1fr}.traffic-card footer{align-items:flex-start;flex-direction:column}.traffic-card .btn{width:100%}}
/* Task history is bounded operational data, with explicit retention controls. */
.task-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:20px 22px;border:1px solid #e0eaf7;border-radius:15px;background:linear-gradient(115deg,#fff,#f5f9ff);box-shadow:0 9px 23px rgba(46,87,142,.055)}.task-toolbar>div:first-child{display:flex;align-items:center;gap:11px}.task-toolbar .section-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.task-toolbar h2{margin:0;color:#2b4364;font-size:17px}.task-toolbar p{margin:5px 0 0;color:#8391a5;font-size:12px}.task-toolbar__actions{display:flex;gap:9px;align-items:center}.task-toolbar__actions form{display:flex;gap:7px;align-items:center;margin:0}.task-toolbar__actions select{height:37px;padding:0 28px 0 10px;border:1px solid #dbe5f1;border-radius:8px;background:#fff;color:#405674;font:13px inherit}.task-toolbar .btn.danger{border-color:#ffd5d7;background:#fff7f7;color:#d5535c}.task-records{padding:0;overflow:hidden}.task-records .tabs{padding:0 18px;border-bottom:1px solid #edf2f7}.task-records .table-wrap{padding:0 18px 18px}.task-records table{margin-top:14px}@media(max-width:760px){.task-toolbar{align-items:flex-start;flex-direction:column}.task-toolbar__actions{width:100%;flex-wrap:wrap}.task-toolbar__actions form{flex:1}.task-toolbar__actions select,.task-toolbar .btn{flex:1}.task-toolbar .btn.danger{width:100%}}

/* Callback credentials live with the content-safety settings, not in external notes. */
.security-callback{margin-top:16px;overflow:hidden;border:1px solid #dfeaf7;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(46,87,142,.055)}.security-callback header{display:flex;gap:11px;align-items:flex-start;padding:20px 22px 17px;border-bottom:1px solid #edf2f7;background:linear-gradient(110deg,#fff,#f5faff)}.security-callback h2{margin:0;color:#273e5c;font-size:17px}.security-callback header p{margin:4px 0 0;color:#8292a8;font-size:12px}.security-callback header code{color:#2873ec;font:700 11px ui-monospace,SFMono-Regular,Consolas,monospace}.security-callback__body{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 22px}.security-guide{display:flex;grid-column:1/-1;gap:11px;align-items:flex-start;padding:13px 14px;border:1px solid #dceaff;border-radius:11px;background:#f6faff}.security-guide>span{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:8px;background:linear-gradient(135deg,#4b99ff,#2368ed);color:#fff;font-size:12px;font-weight:800}.security-guide b{display:block;color:#315173;font-size:13px}.security-guide p{margin:3px 0 0;color:#7f90a6;font-size:12px;line-height:1.55}.security-guide--required{border-color:#cdeee0;background:#f4fdf9}.security-guide--required>span{background:linear-gradient(135deg,#41cda0,#16a978)}.security-guide--required p{display:flex;flex-wrap:wrap;gap:8px}.security-guide--required strong{padding:4px 8px;border-radius:6px;background:#e4f8ef;color:#13855f;font-size:11px}.security-field{display:grid;gap:7px;color:#5f7695;font-size:12px;font-weight:800}.security-field--wide{grid-column:1/-1}.security-field>div{display:flex;gap:7px;align-items:center}.security-field input{box-sizing:border-box;min-width:0;flex:1;height:42px;padding:0 12px;border:1px solid #d6e3f1;border-radius:9px;background:#fbfdff;color:#315885;font:12px ui-monospace,SFMono-Regular,Consolas,monospace}.security-field>div>button,.token-generate{flex:0 0 auto;height:42px;padding:0 13px;border:1px solid #c9defa;border-radius:9px;background:#f3f8ff;color:#226ee6;font:12px inherit;font-weight:800;cursor:pointer}.token-generate-form{margin:0}.token-generate{border-color:#2a78ed;background:linear-gradient(135deg,#4b9cff,#2266ed);color:#fff;box-shadow:0 5px 12px #2b75e42b}.security-field small{color:#94a1b2;font-size:11px;font-weight:500}.security-callback button:disabled{opacity:.5;cursor:default}.security-callback__tips{grid-column:1/-1;display:flex;gap:9px;padding:12px 14px;border:1px solid #ffe2ad;border-radius:10px;background:#fffaf0;color:#7f8793;font-size:12px;line-height:1.65}.security-callback__tips b{flex:0 0 auto;color:#d38a18}@media(max-width:700px){.security-callback__body{grid-template-columns:1fr;padding:16px}.security-field--wide,.security-guide,.security-callback__tips{grid-column:auto}.security-field>div{align-items:stretch;flex-wrap:wrap}.security-field input{flex-basis:100%}.security-field>div>button,.token-generate-form,.token-generate{flex:1}.security-callback__tips{flex-direction:column}}
.security-push-grid{display:grid;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:14px}.security-push-card{padding:16px;border:1px solid #dfe9f7;border-radius:12px;background:#fbfdff}.security-push-card--url{background:linear-gradient(135deg,#f8fbff,#eff6ff)}.security-push-card--token{background:linear-gradient(135deg,#f9fcff,#f2fbf8)}.security-push-card__head{display:flex;gap:10px;align-items:center;margin-bottom:13px}.security-push-card__head i{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:linear-gradient(135deg,#4c9dff,#2467e9);color:#fff;font-style:normal;font-size:18px;font-weight:800}.security-push-card--token .security-push-card__head i{background:linear-gradient(135deg,#40cda1,#18aa79)}.security-push-card__head b{display:block;color:#314b69;font-size:13px}.security-push-card__head span{display:block;margin-top:3px;color:#91a0b3;font-size:11px}.security-push-card__control{display:flex;gap:7px;align-items:center}.security-push-card__control input{box-sizing:border-box;min-width:0;flex:1;height:41px;padding:0 10px;border:1px solid #d5e3f3;border-radius:8px;background:#fff;color:#3e6089;font:11px ui-monospace,SFMono-Regular,Consolas,monospace}.security-push-card__control>button{flex:0 0 auto;height:41px;padding:0 11px;border:1px solid #c8ddf8;border-radius:8px;background:#fff;color:#2671e8;font-size:11px;font-weight:800;cursor:pointer}.security-push-card--token .security-push-card__control>button{border-color:#bee9d8;color:#14966b}.security-push-steps{display:grid;grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0;list-style:none}.security-push-steps li{position:relative;padding:12px 12px 12px 36px;border:1px solid #edf1f6;border-radius:10px;background:#fff;color:#8392a6;font-size:11px;line-height:1.55}.security-push-steps li:before{position:absolute;top:12px;left:11px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#eaf3ff;color:#2671e8;content:counter(list-item);font-size:10px;font-weight:800}.security-push-steps b{display:block;color:#3b536e;font-size:12px}.security-push-steps span{display:block;margin-top:2px}@media(max-width:850px){.security-push-grid,.security-push-steps{grid-template-columns:1fr}.security-push-card__control{flex-wrap:wrap}.security-push-card__control input{flex-basis:100%}}@media(max-width:700px){.security-push-grid,.security-push-steps{grid-column:auto}}

/* Content safety is server-side only; the screen explains the enforceable path. */
.security-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;padding:24px 25px;border:1px solid #dfeaf8;border-radius:16px;background:radial-gradient(circle at 86% 8%,#e3f4ff 0,transparent 29%),linear-gradient(120deg,#fff,#f4faff);box-shadow:0 10px 25px rgba(46,87,142,.06)}.security-hero__copy{display:flex;align-items:center;gap:14px}.security-hero__copy>span{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#4b9cff,#2265ed);color:#fff;box-shadow:0 8px 16px #2375ee42}.security-hero__copy svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.security-hero small{display:block;margin-bottom:5px;color:#4385f4;font-size:10px;font-weight:800;letter-spacing:.11em}.security-hero h2{margin:0;color:#203a5e;font-size:20px}.security-hero p{margin:6px 0 0;color:#7c8da4;font-size:13px;line-height:1.6}.security-status{display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#f0f3f7;color:#7d8b9d;font-size:12px;font-weight:800}.security-status i{width:7px;height:7px;border-radius:50%;background:currentColor}.security-status.is-on{background:#e4f8ee;color:#15976b}.security-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.security-card{overflow:hidden;border:1px solid #e4ebf4;border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(46,87,142,.045)}.security-card header{display:flex;gap:11px;align-items:flex-start;padding:18px 20px 15px;border-bottom:1px solid #edf2f7}.security-card h2{margin:0;color:#304762;font-size:16px}.security-card header p{margin:4px 0 0;color:#8998aa;font-size:12px}.security-card__body{padding:18px 20px}.security-card .form-label{display:grid;gap:7px;margin:0 0 15px;color:#687d98;font-size:12px;font-weight:700}.security-card input:not([type=checkbox]){box-sizing:border-box;width:100%;height:40px;padding:0 11px;border:1px solid #dce6f2;border-radius:8px;outline:0;background:#fbfdff;color:#304562;font:13px inherit}.security-card input:focus{border-color:#4b90f5;box-shadow:0 0 0 3px #3c8cff18}.security-card .form-help{margin:0;color:#8796aa;font-size:12px;line-height:1.55}.security-switch{display:inline-flex;margin-top:17px}.security-card footer{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;border-top:1px solid #edf2f7;background:#fbfcfe}.security-card footer small{color:#8494a8;font-size:12px}.security-card--flow ol{display:grid;gap:0;margin:0;padding:8px 20px 16px;list-style:none;counter-reset:flow}.security-card--flow li{position:relative;display:grid;grid-template-columns:102px 1fr;gap:9px;padding:13px 0 13px 34px;border-bottom:1px dashed #e8eef6;counter-increment:flow}.security-card--flow li:last-child{border:0}.security-card--flow li:before{position:absolute;top:13px;left:0;display:grid;place-items:center;width:23px;height:23px;border-radius:8px;background:#eaf3ff;color:#2a72ee;content:counter(flow,decimal-leading-zero);font-size:10px;font-weight:800}.security-card--flow b{color:#38516e;font-size:12px}.security-card--flow span{color:#8392a5;font-size:12px;line-height:1.55}.security-note{display:flex;gap:12px;margin-top:16px;padding:15px 17px;border:1px solid #d7e7ff;border-radius:12px;background:#f5faff;color:#7387a3;font-size:12px;line-height:1.7}.security-note b{flex:0 0 auto;color:#2871e8;font-size:13px}.security-note p{margin:0}.security-note code{padding:1px 4px;border-radius:4px;background:#e9f3ff;color:#276fd0;font:11px ui-monospace,SFMono-Regular,Consolas,monospace}@media(max-width:900px){.security-grid{grid-template-columns:1fr}}@media(max-width:650px){.security-hero{align-items:flex-start;flex-direction:column;padding:20px}.security-hero__copy{align-items:flex-start}.security-card footer{align-items:flex-start;flex-direction:column;gap:10px}.security-card footer .btn{width:100%}.security-card--flow li{grid-template-columns:1fr;gap:3px}.security-note{flex-direction:column}}

/* Media delivery has one recommended route and one explicit fallback route. */
.media-settings{display:grid;gap:16px}.media-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:25px 26px;border:1px solid #dce9fb;border-radius:17px;background:radial-gradient(circle at 90% 5%,#e2f0ff 0,transparent 29%),linear-gradient(120deg,#fff,#f4f9ff);box-shadow:0 12px 28px rgba(44,91,153,.06)}.media-hero__copy{display:flex;align-items:center;gap:15px}.media-hero__icon{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#4b9cff,#2265ed);box-shadow:0 8px 16px #2375ee42;color:#fff}.media-hero__icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.media-hero__copy>div>span{display:block;margin-bottom:5px;color:#4385f4;font-size:10px;font-weight:800;letter-spacing:.11em}.media-hero h2{margin:0;color:#203a5e;font-size:21px}.media-hero p{margin:6px 0 0;color:#7c8da4;font-size:13px;line-height:1.6}.media-hero__status{display:flex;align-items:center;gap:7px;flex:0 0 auto;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800}.media-hero__status i{width:7px;height:7px;border-radius:50%;background:currentColor}.media-hero__status.is-proxy{background:#e5f8ef;color:#14976a}.media-hero__status.is-whitelist{background:#f0ebff;color:#7053d8}.media-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.media-choice{position:relative;display:flex;gap:13px;min-height:176px;padding:21px 19px 18px 51px;border:1px solid #e3eaf4;border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(46,87,142,.05);cursor:pointer;transition:.18s}.media-choice:hover{border-color:#b8d4fb;transform:translateY(-1px)}.media-choice.is-selected{border-color:#5a99f5;box-shadow:0 0 0 3px #367ff016,0 12px 26px rgba(46,87,142,.09)}.media-choice input{position:absolute;opacity:0}.media-choice__radio{position:absolute;top:23px;left:19px;width:16px;height:16px;box-sizing:border-box;border:2px solid #b6c4d7;border-radius:50%}.media-choice.is-selected .media-choice__radio{border:5px solid #2f78ef}.media-choice__icon{display:grid;place-items:center;flex:0 0 auto;width:37px;height:37px;border-radius:11px;color:#fff}.media-choice__icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.media-choice__icon.is-blue{background:linear-gradient(135deg,#4c9eff,#226bf1)}.media-choice__icon.is-violet{background:linear-gradient(135deg,#a889ff,#7052dc)}.media-choice__content{min-width:0}.media-choice__content>div{display:flex;align-items:center;gap:8px}.media-choice b{color:#2a4164;font-size:16px}.media-choice em{padding:3px 7px;border-radius:7px;background:#e9f3ff;color:#286ff0;font-size:10px;font-style:normal;font-weight:800}.media-choice p{margin:8px 0;color:#8190a5;font-size:12px;line-height:1.55}.media-choice ul{display:grid;gap:5px;margin:11px 0 0;padding:0;list-style:none;color:#547394;font-size:12px}.media-choice li:before{margin-right:7px;color:#2e80f6;content:'✓';font-weight:800}.media-domains-card{overflow:hidden;border:1px solid #e4ebf4;border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(46,87,142,.045)}.media-domains-card header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px 14px;border-bottom:1px solid #edf2f7}.media-domains-card header b{color:#314762;font-size:15px}.media-domains-card header p{margin:4px 0 0;color:#8a98aa;font-size:12px}.media-domains-card header span{padding:5px 9px;border-radius:999px;background:#f1f6fd;color:#6d83a1;font-size:11px;font-weight:700}.media-domains-card textarea{box-sizing:border-box;display:block;width:calc(100% - 40px);min-height:104px;margin:17px 20px 10px;padding:11px 12px;border:1px solid #dce6f2;border-radius:9px;outline:0;background:#fbfdff;color:#304562;font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}.media-domains-card textarea:focus{border-color:#4b90f5;box-shadow:0 0 0 3px #3c8cff18}.media-domains-card>small{display:block;margin:0 20px 17px;color:#8291a5;font-size:12px;line-height:1.55}.media-domains-card>small b{color:#3b6da8}.media-actions{display:flex;justify-content:flex-end}.media-actions .btn{min-width:140px}.media-tutorial{margin-top:18px;overflow:hidden;border:1px solid #e4ebf4;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(46,87,142,.045)}.media-tutorial>header{display:flex;gap:11px;align-items:flex-start;padding:19px 20px 16px;border-bottom:1px solid #edf2f7}.media-tutorial h2{margin:0;color:#304762;font-size:16px}.media-tutorial header p{margin:4px 0 0;color:#8998aa;font-size:12px}.media-tutorial__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;padding:18px 20px}.media-tutorial article{position:relative;padding:16px 15px 14px;border:1px solid #e8eef6;border-radius:12px;background:#fbfdff}.media-tutorial article>span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#e9f2ff;color:#286df5;font-size:11px;font-weight:800}.media-tutorial h3{margin:11px 0 7px;color:#334b69;font-size:14px}.media-tutorial article p{margin:0;color:#788aa1;font-size:12px;line-height:1.7}.media-tutorial code{overflow-wrap:anywhere;color:#2869cb;font:11px ui-monospace,SFMono-Regular,Consolas,monospace}.media-tutorial footer{padding:12px 20px;border-top:1px solid #edf2f7;background:#f6faff;color:#7488a3;font-size:12px;line-height:1.6}.media-tutorial footer b{color:#2d71e2}@media(max-width:960px){.media-choice-grid{grid-template-columns:1fr}.media-tutorial__grid{grid-template-columns:1fr}.media-tutorial article{min-height:0}}@media(max-width:680px){.media-hero{align-items:flex-start;flex-direction:column;padding:20px}.media-hero__copy{align-items:flex-start}.media-hero__status{margin-left:61px}.media-choice{padding-right:16px}.media-domains-card header{align-items:flex-start;flex-direction:column}.media-domains-card textarea{width:calc(100% - 32px);margin-left:16px;margin-right:16px}.media-domains-card>small{margin-left:16px;margin-right:16px}.media-actions .btn{width:100%}.media-tutorial__grid{padding:16px}.media-tutorial footer{padding:12px 16px}}

/* Fix shared statistic cards: the generic label selector must not undo icon centering. */
.stat .stat__icon{display:grid;place-items:center;flex:0 0 45px;line-height:0}.stat .stat__icon svg{display:block;width:22px;height:22px}.section-icon{line-height:0}.section-icon svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.admin-copyright{margin-top:28px;padding:16px 0 2px;border-top:1px solid #e8edf5;color:#9aa7b8;font-size:12px;text-align:center}.admin-copyright a{color:#5b8fe8;text-decoration:none}.admin-copyright a:hover{text-decoration:underline}
.admin-side{display:flex;flex-direction:column;gap:3px;padding:16px 12px}.admin-nav{height:48px;margin:0;padding:0 12px;border:1px solid transparent;border-radius:11px;transition:background .16s,border-color .16s,color .16s}.admin-nav:hover{border-color:#e2ebf7;background:#f7faff;color:#256eea}.admin-nav svg{box-sizing:content-box;flex:0 0 19px;width:19px;height:19px;padding:6px;border-radius:9px;background:#f1f5fa;color:#60738e}.admin-nav.is-active{border-color:#dce9fb;background:linear-gradient(90deg,#eaf3ff,#f8fbff)}.admin-nav.is-active svg{background:#347ff2;color:#fff;box-shadow:0 6px 13px #347ff232}@media(max-width:760px){.admin-side{flex-direction:row;padding:8px}.admin-nav{height:42px}.admin-nav svg{width:17px;height:17px;padding:4px}}
.admin-side{gap:2px}.admin-nav{height:44px;border-radius:10px;font-size:13px}.admin-nav svg{flex-basis:17px;width:17px;height:17px;padding:5px}.admin-nav[href="/admin/miniprogram.php"],.admin-nav[href="/admin/license.php"]{margin-top:12px}.admin-nav[href="/admin/miniprogram.php"]:after,.admin-nav[href="/admin/license.php"]:after{position:absolute;top:-8px;right:10px;left:10px;height:1px;background:#edf2f7;content:""}.admin-nav[href="/admin/miniprogram.php"],.admin-nav[href="/admin/license.php"]{position:relative}@media(max-width:760px){.admin-nav[href="/admin/miniprogram.php"],.admin-nav[href="/admin/license.php"]{margin-top:0}.admin-nav[href="/admin/miniprogram.php"]:after,.admin-nav[href="/admin/license.php"]:after{display:none}}
.admin-nav-folder{margin:3px 0;border:1px solid #e7edf6;border-radius:11px;background:#fbfcfe}.admin-nav-folder summary{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 13px;color:#6d7d93;font-size:12px;font-weight:800;cursor:pointer;list-style:none}.admin-nav-folder summary::-webkit-details-marker{display:none}.admin-nav-folder summary i{font-style:normal;transition:transform .16s}.admin-nav-folder[open] summary i{transform:rotate(180deg)}.admin-nav-folder>div{padding:0 4px 4px}.admin-nav-folder .admin-nav{height:40px}.admin-nav-folder .admin-nav[href="/admin/miniprogram.php"],.admin-nav-folder .admin-nav[href="/admin/license.php"]{margin-top:0}.admin-nav-folder .admin-nav[href="/admin/miniprogram.php"]:after,.admin-nav-folder .admin-nav[href="/admin/license.php"]:after{display:none}@media(max-width:760px){.admin-nav-folder{display:contents}.admin-nav-folder summary{display:none}.admin-nav-folder>div{display:flex;padding:0}}

/* Related settings share one sidebar entry; their pages switch through this top tab bar. */
.admin-subnav{display:flex;align-items:center;gap:7px;margin:-4px 0 20px;padding:6px;overflow-x:auto;border:1px solid #e1eaf5;border-radius:13px;background:#fff;box-shadow:0 6px 20px rgba(42,78,126,.045);scrollbar-width:none}.admin-subnav::-webkit-scrollbar{display:none}.admin-subnav a{flex:0 0 auto;padding:9px 16px;border:1px solid transparent;border-radius:9px;color:#687b95;font-size:13px;font-weight:700;text-decoration:none;transition:.16s}.admin-subnav a:hover{background:#f4f8fd;color:#2770ea}.admin-subnav a.is-active{border-color:#d6e6fd;background:linear-gradient(135deg,#eaf3ff,#f4f9ff);color:#246ff0;box-shadow:0 4px 12px rgba(48,119,236,.1)}
.admin-nav[href="/admin/miniprogram.php"],.admin-nav[href="/admin/license.php"]{margin-top:0}.admin-nav[href="/admin/miniprogram.php"]:after,.admin-nav[href="/admin/license.php"]:after{display:none}@media(max-width:760px){.admin-subnav{margin:2px 0 14px}.admin-subnav a{padding:8px 12px;font-size:12px}}

/* Signed online update panel. */
.update-hero{display:flex;align-items:center;gap:13px;margin-bottom:17px;padding:23px 24px;border:1px solid #dce9fb;border-radius:16px;background:radial-gradient(circle at 88% 8%,#dcecff,transparent 28%),linear-gradient(120deg,#fff,#f4f9ff);box-shadow:0 10px 26px #2d609510}.update-hero>div{min-width:0}.update-hero>div>span{display:block;color:#4684ed;font-size:11px;font-weight:800;letter-spacing:.08em}.update-hero h2{margin:2px 0;color:#243c60;font-size:21px}.update-hero p{margin:5px 0 0;color:#7e8fa6;font-size:12px}.update-hero>b{margin-left:auto;padding:8px 11px;border-radius:999px;background:#e7f2ff;color:#3977e3;font-size:12px;white-space:nowrap}.update-card{padding:0;overflow:hidden}.update-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:20px;border-bottom:1px solid #edf2f7}.update-card header h2{margin:0;color:#2b4364;font-size:17px}.update-card header p{margin:5px 0 0;color:#8796a9;font-size:13px}.update-state{padding:5px 9px;border-radius:999px;background:#f0f4f8;color:#8391a2;font-size:11px;font-weight:800}.update-state.is-ready{background:#e8f4ff;color:#2875ee}.update-notes{margin:19px 20px;padding:15px;border:1px solid #e3ecf7;border-radius:11px;background:#f9fbff}.update-notes b{color:#385b88}.update-notes p{margin:8px 0;color:#5e718b;line-height:1.7}.update-notes small{color:#91a0b3}.update-card footer{padding:15px 20px;border-top:1px solid #edf2f7;background:#fbfcfe}.update-card form{display:flex;gap:10px}.update-help{display:flex;gap:10px;align-items:flex-start;margin-top:17px;padding:14px 16px;border:1px solid #d9e9ff;border-radius:12px;background:#f5faff;color:#7387a2;font-size:12px}.update-help b{color:#2d609c;white-space:nowrap}.update-help a{color:#2874ed;text-decoration:none;font-weight:700}@media(max-width:700px){.update-hero{align-items:flex-start;flex-wrap:wrap}.update-hero>b{margin-left:45px}.update-card header{display:block}.update-state{display:inline-block;margin-top:10px}.update-card form{display:grid}.update-card form .btn{width:100%}}

/* Announcement publishing uses one source of truth for all client channels. */
.announcement-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px;align-items:start}.announcement-editor,.announcement-preview{padding:0;overflow:hidden}.announcement-editor__head,.announcement-preview header{display:flex;gap:11px;align-items:flex-start;padding:20px;border-bottom:1px solid var(--line)}.announcement-editor__head h2,.announcement-preview h2{margin:0;font-size:16px}.announcement-editor__head p,.announcement-preview header p{margin:4px 0 0;color:#8998aa;font-size:12px}.announcement-editor__body{padding:20px}.announcement-editor__body>.switch{margin-bottom:20px}.announcement-editor__body .form-label{margin-top:16px}.announcement-editor textarea{min-height:150px}.announcement-preview__card{position:relative;min-height:154px;margin:20px;padding:20px;overflow:hidden;border:1px solid #e6ebf4;border-radius:16px;background:linear-gradient(135deg,#f7fbff,#edf5ff);opacity:.58}.announcement-preview__card.is-visible{opacity:1;box-shadow:0 8px 24px #3977c515}.announcement-preview__copy{display:grid;gap:13px;position:relative;z-index:1}.announcement-preview__label{display:flex;align-items:center;gap:8px;color:#28598f;font-weight:800}.announcement-preview__label i{width:10px;height:10px;border-radius:50%;background:#3a8aff;box-shadow:0 0 0 5px #ddecff}.announcement-preview__label em{padding:3px 6px;border-radius:5px;background:#ff676f;color:#fff;font-size:10px;font-style:normal}.announcement-preview__copy b{color:#617996;font-size:13px;line-height:1.7;font-weight:500}.announcement-preview__spark{position:absolute;right:14px;bottom:10px;color:#8fc4ff;font-size:46px}.announcement-preview__status{display:flex;align-items:center;gap:9px;margin:0 20px 20px;color:#8090a4;font-size:12px}@media(max-width:980px){.announcement-layout{grid-template-columns:1fr}.announcement-preview{max-width:none}} 
.demo-mode-banner{position:sticky;top:64px;z-index:20;padding:10px 24px;background:linear-gradient(90deg,#fff7df,#fff1c4);border-bottom:1px solid #f3d58b;color:#8a5b00;font-size:14px;font-weight:700;text-align:center}.demo-mode-chip{padding:5px 10px;border-radius:999px;background:#fff2c8;color:#966000;font-size:12px;font-weight:800}.is-demo-mode form{position:relative}.is-demo-mode form::after{position:absolute;inset:0;z-index:20;border-radius:inherit;background:rgba(246,249,253,.16);content:'';cursor:not-allowed}.is-demo-mode input,.is-demo-mode textarea,.is-demo-mode select,.is-demo-mode button{pointer-events:none}.demo-access-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:20px}.demo-access-card{padding:24px}.demo-access-card header{display:flex;align-items:center;gap:14px;margin-bottom:20px}.demo-access-card header h2{margin:0;color:#173b67}.demo-access-card header p{margin:5px 0 0;color:#7b8da6}.demo-access-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.demo-access-form label span{display:block;margin-bottom:7px;color:#385474;font-weight:700}.demo-access-form .wide{grid-column:1/-1}.demo-access-form input,.demo-access-form select{width:100%;box-sizing:border-box}.demo-link-result{margin-top:18px;padding:16px;border:1px solid #bcd8ff;border-radius:14px;background:#eff7ff}.demo-link-result code{display:block;overflow-wrap:anywhere;color:#125fc3;line-height:1.6}.demo-access-list{display:grid;gap:12px}.demo-access-item{padding:15px;border:1px solid #dfebf7;border-radius:14px;background:#fbfdff}.demo-access-item>div{display:flex;justify-content:space-between;gap:12px}.demo-access-item small{display:block;margin-top:7px;color:#8191a5}.demo-access-empty{padding:32px;text-align:center;color:#8c9caf}.demo-uninstall-tip{margin-top:18px;padding:15px;border-radius:12px;background:#fff8e8;color:#805d15;line-height:1.6}@media(max-width:980px){.demo-access-grid{grid-template-columns:1fr}}
.media-actions{align-items:center;gap:12px}.media-save-hint{margin-right:auto;color:#8291a5;font-size:12px}.media-save-hint.is-pending{color:#e68722;font-weight:700}
