:root{--green:#137b59;--green-dark:#0b6245;--mint:#eaf4ee;--ink:#23342e;--muted:#78867f;--line:#e4eae6;--bg:#f5f7f5;--orange:#bd7a2b;--red:#c15855;--shadow:0 12px 40px #1a362a0b;font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:14px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{transition:background .15s,color .15s,box-shadow .15s}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #8ec4ab;outline-offset:3px}svg{vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:28px;letter-spacing:-.8px;font-weight:650}h2{font-size:17px;font-weight:650}h3{font-size:15px;font-weight:600}small{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1}.stack{display:flex;flex-direction:column;gap:6px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.eyebrow{font-size:11px;font-weight:650;letter-spacing:1.6px;color:var(--green);text-transform:uppercase}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:currentColor}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:500;white-space:nowrap;line-height:1.35}.pill.green{color:#207455;background:#edf6ef}.pill.amber{color:#a9752a;background:#fcf5e6}.pill.gray{color:#77837d;background:#f1f3f1}.pill.red{color:#b35a55;background:#fcf0ee}.pill.blue{color:#537b9b;background:#edf3f8}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 15px;border-radius:7px;border:1px solid #dce4de;background:#fff;color:#43584d;font-size:13px;font-weight:550;white-space:nowrap;min-height:38px}.btn:hover{background:#f4f7f4;border-color:#c8d7ce}.btn.primary{background:var(--green);border-color:var(--green);color:white;box-shadow:0 2px 4px #12745416}.btn.primary:hover{background:var(--green-dark)}.btn.subtle{border-color:transparent;background:transparent}.btn.danger{color:var(--red);border-color:#eacac7}.btn.sm{padding:6px 10px;min-height:30px;font-size:12px}.icon-btn{border:0;background:transparent;border-radius:6px;padding:7px;display:inline-flex;color:var(--muted)}.icon-btn:hover{background:#ecf2ed;color:var(--green)}.link{color:var(--green);font-size:13px;border:0;padding:0;background:none;cursor:pointer}.card{background:white;border:1px solid var(--line);border-radius:11px;box-shadow:0 2px 3px #253b2e01}.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:21px 23px;border-bottom:1px solid #eef1ed}.card-body{padding:23px}.side{position:fixed;left:0;top:0;bottom:0;width:228px;background:#fff;border-right:1px solid var(--line);padding:32px 19px 20px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:11px;padding:0 13px 32px}.brandmark{width:36px;height:36px;display:grid;place-items:center;background:var(--green);color:white;border-radius:11px;box-shadow:0 4px 10px #137b5920}.brandname{font-size:20px;font-weight:700;letter-spacing:2px}.brand small{display:block;font-size:9px;letter-spacing:1.4px;margin-top:3px}.workspace{display:flex;align-items:center;gap:9px;background:#f7f9f6;border:1px solid #e5eae3;border-radius:8px;padding:11px 10px;margin-bottom:29px;font-size:12px}.work-icon{width:25px;height:25px;border-radius:6px;display:grid;place-items:center;background:#e4ede5;color:var(--green)}.navlabel{color:#99a19b;font-size:10px;letter-spacing:1.1px;padding:0 13px;margin:0 0 10px}.nav{display:flex;flex-direction:column;gap:5px}.nav a{display:flex;gap:11px;align-items:center;padding:12px 14px;font-size:13px;border-radius:7px;color:#748078}.nav a:hover{color:var(--green);background:#f6f9f5}.nav a.active{color:var(--green);background:#edf5ee;font-weight:600}.nav .tiny{margin-left:auto;font-size:10px;border:1px solid #d4e4d7;padding:1px 5px;border-radius:4px}.side-bottom{margin-top:auto}.node-mini{padding:15px 13px;border:1px solid var(--line);border-radius:9px;margin-bottom:15px}.node-mini strong{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:550}.node-mini p{font-size:11px;color:var(--muted);line-height:1.7;margin-top:7px}.side-foot{padding:9px 13px;display:flex;align-items:center;justify-content:space-between;color:#96a29a;font-size:10px}.main{margin-left:228px;min-height:100vh}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#ffffffb8;padding:0 38px}.crumb{font-size:12px;color:#839087;display:flex;gap:10px;align-items:center}.crumb strong{font-weight:500;color:#405347}.top-right{display:flex;align-items:center;gap:20px}.top-right .environment{font-size:11px;color:#6a7e70;border:1px solid var(--line);padding:5px 9px;border-radius:5px}.avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#e8eee5;color:#67775c;font-size:12px;font-weight:600}.userbox{display:flex;gap:9px;align-items:center;font-size:12px}.content{max-width:1600px;margin:auto;padding:33px 38px 40px}.page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.page-title p{color:var(--muted);font-size:12px;margin-top:10px;line-height:1.8}.notice{display:flex;align-items:center;gap:10px;border:1px solid #e7e6d7;background:#faf9f1;color:#8b835d;border-radius:8px;padding:12px 16px;font-size:11px;line-height:1.65;margin-bottom:23px}.notice a{margin-left:auto;white-space:nowrap;color:#6e735a;font-weight:550}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:24px}.metric{padding:19px 20px;background:white;border:1px solid var(--line);border-radius:10px}.metric-top{display:flex;justify-content:space-between;align-items:center;color:#7e8b83;font-size:12px}.metric-icon{width:30px;height:30px;border-radius:8px;background:#f2f6f0;color:#78957d;display:grid;place-items:center}.metric-number{font-size:32px;letter-spacing:-1px;font-weight:620;line-height:1;margin-top:13px}.metric-bottom{display:flex;gap:7px;align-items:center;font-size:10px;color:#8a978e;margin-top:13px}.metric-bottom .positive{color:var(--green)}.overview-middle{display:grid;grid-template-columns:1.8fr 1fr;gap:21px;margin-bottom:24px}.launch-card{position:relative;overflow:hidden;min-height:224px;padding:29px 30px;background:#edf4eb;border:1px solid #dde8da;border-radius:11px}.launch-card h2{font-size:23px;line-height:1.5;margin-top:9px;letter-spacing:-.5px}.launch-card p{max-width:350px;font-size:12px;line-height:1.9;color:#798974;margin-top:9px;margin-bottom:22px}.launch-art{position:absolute;right:5%;top:47px;width:155px;height:155px;border:1px solid #d3dfca;border-radius:50%;transform:rotate(-10deg);background:#e6efdf}.launch-art:before{content:"";position:absolute;inset:17px;border:1px solid #d0ddc7;border-radius:50%}.launch-art:after{content:"";position:absolute;inset:37px;border:1px dashed #c4d5b8;border-radius:50%}.launch-art .paper{position:absolute;inset:43px;display:grid;place-items:center;color:#608251;transform:rotate(9deg);z-index:1}.launch-art .floating{position:absolute;border:1px solid #dbe5d6;background:#fafcf7d9;box-shadow:0 6px 15px #4f6a3712;width:31px;height:31px;border-radius:9px;display:grid;place-items:center;color:#7d9375;z-index:1}.launch-art .f1{left:-4px;top:27px}.launch-art .f2{right:-12px;bottom:28px}.launch-copy{position:relative;z-index:2}.flowline{display:flex;align-items:center;gap:12px;margin-top:23px;font-size:10px;color:#87957b}.flowline span{display:flex;gap:4px;align-items:center}.health-card{padding:24px}.health-title{display:flex;justify-content:space-between;align-items:center}.health-card .capacity-number{font-size:26px;font-weight:600;margin-top:24px;letter-spacing:-1px}.capacity-number span{font-size:13px;color:#93a18f;font-weight:400;margin-left:4px}.progress{height:6px;background:#edf0e9;border-radius:6px;overflow:hidden;min-width:60px}.progress i{display:block;height:100%;background:#71a587;border-radius:6px;transition:width .3s}.health-card .progress{margin:12px 0 19px}.kv{display:flex;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted);padding:6px 0}.kv strong{color:#54675a;font-weight:500}.overview-bottom{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr);gap:21px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:11px;font-weight:450;color:#8c978e;background:#fafbf8;padding:13px 20px;border-bottom:1px solid var(--line)}td{padding:17px 20px;border-bottom:1px solid #eff2ec;font-size:12px;color:#516057}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcfa}.table-main{font-weight:550;color:#35493c;display:block;margin-bottom:5px}.table-sub{display:block;font-size:10px;color:#929d94}.table-main.clickable:hover{color:var(--green);text-decoration:underline}.table-progress{display:flex;gap:8px;align-items:center}.table-progress .progress{width:60px;height:4px}.activities{padding:21px 22px}.activity{display:flex;gap:11px;position:relative;padding:0 0 23px}.activity:last-child{padding-bottom:0}.activity:not(:last-child):before{content:"";position:absolute;left:12px;top:26px;bottom:4px;width:1px;background:#ebeee7}.activity-icon{width:25px;height:25px;border-radius:7px;background:#f0f5ec;color:#8fa282;display:grid;place-items:center;flex-shrink:0}.activity-title{font-size:11px;line-height:1.6}.activity-time{font-size:10px;color:#9aa498;margin-top:4px}.page-footer{display:flex;justify-content:space-between;font-size:10px;color:#a0aa9f;margin-top:28px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:17px 20px;border-bottom:1px solid var(--line)}.search{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;padding:9px 11px;gap:8px;width:265px;color:#a2ada3;background:#fff}.search input{border:0;outline:0;background:transparent;min-width:0;width:100%;font-size:12px;color:var(--ink)}.tabs{display:flex;gap:22px;overflow:auto;border-bottom:1px solid var(--line);padding:0 23px}.tab{border:0;border-bottom:2px solid transparent;padding:17px 0 14px;background:none;color:#859286;white-space:nowrap;font-size:12px}.tab.active{color:var(--green);border-bottom-color:var(--green);font-weight:550}.pagination{padding:15px 20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.summary-line{font-size:11px;color:#849280;margin-top:14px}.empty{padding:50px 20px;text-align:center;color:#8a998e}.empty .empty-icon{margin:0 auto 16px;width:47px;height:47px;border-radius:14px;background:#f0f5ed;display:grid;place-items:center;color:#98aa92}.empty h3{color:#536c57;margin-bottom:8px}.empty p{font-size:12px;margin:8px auto 17px;line-height:1.8;max-width:330px}.item-card{padding:22px;display:flex;flex-direction:column;min-height:215px}.item-icon{display:grid;place-items:center;width:38px;height:38px;background:#f0f5eb;color:#7b9470;border-radius:10px;margin-bottom:20px}.item-card h3{margin-bottom:7px}.item-card p{font-size:11px;color:#879483;line-height:1.8}.item-card .item-bottom{margin-top:auto;padding-top:20px}.item-card .large-number{font-size:27px;font-weight:600;color:#405742;letter-spacing:-.5px}.item-card .large-number small{font-size:11px;font-weight:400;margin-left:5px}.template-text{font-size:12px;color:#778774;line-height:1.9;white-space:pre-wrap;margin:16px 0 23px;background:#f8faf5;padding:16px;border-radius:8px;min-height:116px}.node-diagram{display:flex;align-items:center;justify-content:center;padding:37px 20px;gap:24px}.diagram-box{min-width:145px;padding:21px 18px;border:1px solid #e0e9dc;border-radius:10px;text-align:center;background:#f8fbf4}.diagram-box.active{background:#edf5e8;border-color:#cddfc5}.diagram-box strong{display:block;font-size:12px;margin:11px 0 4px}.diagram-box small{font-size:10px}.node-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding:24px;text-align:center}.node-stats div+div{border-left:1px solid var(--line)}.node-stats b{display:block;font-size:24px;font-weight:550;margin-bottom:6px}.reading-list{margin:0;padding:0;list-style:none}.reading-list li{font-size:12px;line-height:1.9;color:#7d8d78;margin-top:12px;display:flex;gap:9px}.reading-list .num{color:var(--green);font-family:monospace}.boot{height:100vh;display:flex;gap:12px;justify-content:center;align-items:center;color:#839381}.spinner{height:20px;width:20px;border:2px solid #dfe9d9;border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.overlay{position:fixed;inset:0;background:#1a2d2360;backdrop-filter:blur(4px);z-index:70;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:white;box-shadow:0 24px 100px #15281d33;border-radius:14px;width:580px;max-width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal.wide{width:800px}.modal-head{padding:23px 26px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-size:18px}.modal-body{padding:25px 26px;overflow:auto}.modal-foot{padding:17px 26px;border-top:1px solid var(--line);background:#fbfcf9;display:flex;justify-content:flex-end;gap:10px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.field label{font-size:12px;color:#53684f;font-weight:550}.field label .required{color:#b57953;margin-left:4px}.field input,.field select,.field textarea{width:100%;padding:11px 12px;border:1px solid #dce5d8;border-radius:7px;background:white;color:#33482f;font-size:13px}.field textarea{resize:vertical;min-height:125px;line-height:1.85}.field small{line-height:1.7;color:#97a290;font-size:10px}.field:last-child{margin-bottom:0}.dropzone{border:1px dashed #cbdcc3;border-radius:9px;background:#fafcf7;min-height:153px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#809475;gap:12px;cursor:pointer;text-align:center;padding:20px;margin-bottom:20px}.dropzone.drag{background:#eaf5e3;border-color:var(--green)}.dropzone input{position:absolute;opacity:0;width:1px;height:1px}.dropzone strong{font-weight:550;font-size:13px;color:#526c46}.dropzone small{font-size:10px}.alert{padding:13px 15px;font-size:11px;line-height:1.8;background:#f4f8f0;border:1px solid #e2eada;border-radius:7px;color:#78886c;margin-bottom:18px}.alert.amber{background:#fcf8ed;border-color:#eee6ca;color:#938359}.checkrow{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.8;color:#76846e}.checkrow input{accent-color:var(--green);margin-top:4px;width:15px;height:15px;flex-shrink:0}.divider{border:0;border-top:1px solid var(--line);margin:22px 0}.section-label{display:flex;align-items:center;gap:9px;font-weight:550;font-size:13px;margin-bottom:18px}.section-label i{font-style:normal;border-radius:50%;background:#eef4e9;color:#6f8f5e;font-size:10px;display:grid;place-items:center;width:24px;height:24px}.account-picker{max-height:150px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:8px}.account-picker .checkrow{padding:7px 9px}.account-picker .checkrow:hover{background:#f7faf3;border-radius:5px}.account-picker .checkrow span{flex:1}.account-picker small{font-size:10px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:23px;padding:18px 0}.detail-grid p{font-size:13px;margin-top:8px}.message-preview{background:#f6f8f3;border-radius:10px;padding:22px;margin:16px 0}.bubble{background:#e6efdf;padding:15px 18px;border-radius:14px 14px 3px 14px;font-size:13px;line-height:1.9;white-space:pre-wrap;max-width:440px;margin-left:auto}.bubble-foot{text-align:right;color:#a0aa98;font-size:10px;margin-top:8px}.timeline-dot{width:6px;height:6px;display:block;background:#a9bc9d;border-radius:50%;margin-top:7px}.toast{background:#203c2c;color:white;box-shadow:0 5px 20px #1e342523;border-radius:8px;padding:14px 19px;min-width:220px;max-width:430px;font-size:12px;display:flex;gap:10px;align-items:center;animation:appear .2s ease}.toast.error{background:#805146}#toasts{position:fixed;right:26px;bottom:28px;display:flex;flex-direction:column;gap:10px;z-index:100}@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.form-error{display:none;color:#aa5d4f;background:#fcf1ec;border:1px solid #f0d9ce;border-radius:6px;font-size:12px;padding:11px;margin-bottom:15px;line-height:1.7}.form-error.show{display:block}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:white}.login-visual{background:#eaf1e4;position:relative;overflow:hidden;padding:48px 52px;display:flex;flex-direction:column;justify-content:space-between}.login-visual .brand{padding:0}.login-copy{margin:auto 0;position:relative;z-index:2}.login-copy h1{font-size:44px;line-height:1.55;letter-spacing:-1.3px;font-weight:550}.login-copy p{font-size:13px;color:#7d8e70;line-height:2;max-width:340px;margin:23px 0}.login-visual .orb{position:absolute;right:-120px;bottom:-140px;width:600px;height:600px;border:1px solid #cddbc4;border-radius:50%}.orb:before,.orb:after{content:"";position:absolute;inset:70px;border:1px solid #cedcc5;border-radius:50%}.orb:after{inset:145px}.login-foot{font-size:10px;color:#84967a;letter-spacing:.8px}.login-form-area{display:flex;align-items:center;justify-content:center;padding:50px}.login-form{width:345px}.login-form h2{font-size:24px;font-weight:550;margin:10px 0}.login-form>p{font-size:12px;color:#8c9887;line-height:1.8;margin-bottom:30px}.login-form .btn{width:100%;margin-top:17px;min-height:44px}.login-form .footnote{font-size:10px;line-height:1.8;color:#a1ac9b;text-align:center;margin-top:20px}.mobile-toggle{display:none}.skeleton{padding:40px;color:#90a08c;display:flex;gap:12px;align-items:center}.subnav{display:flex;gap:9px;align-items:center;margin-bottom:20px;color:var(--muted);font-size:12px}.content-error{padding:30px;color:var(--red);line-height:1.8}.chart-bars{height:50px;display:flex;align-items:flex-end;gap:5px;margin-top:16px}.chart-bars span{flex:1;min-height:4px;background:#cfdfc5;border-radius:2px 2px 0 0}.chart-bars span:last-child{background:#72a16a}
@media(min-width:1500px){.content{padding-top:40px}.launch-art{right:10%}}@media(max-width:1150px){.side{width:200px;padding-left:13px;padding-right:13px}.main{margin-left:200px}.content{padding:27px 25px}.topbar{padding:0 25px}.launch-art{opacity:.4;right:1%}.overview-middle,.overview-bottom{grid-template-columns:1.5fr 1fr}.metrics{gap:12px}.metric{padding:16px}.grid3{grid-template-columns:repeat(2,1fr)}td,th{padding-left:15px;padding-right:15px}.launch-copy p{max-width:280px}}@media(max-width:900px){.overview-middle,.overview-bottom{grid-template-columns:1fr}.health-card{display:none}.metrics{grid-template-columns:repeat(2,1fr)}.node-diagram{gap:10px}.diagram-box{min-width:120px}.login-visual{padding:35px}.login-copy h1{font-size:34px}.login-form-area{padding:30px}.top-right .environment{display:none}.grid2{grid-template-columns:1fr}.launch-art{opacity:1;right:10%}}
@media(max-width:650px){.side{transform:translateX(-100%);width:228px;transition:transform .2s;box-shadow:0 0 40px #20342322}.menu-open .side{transform:translateX(0)}.main{margin-left:0}.topbar{height:62px;padding:0 18px}.content{padding:25px 17px}.mobile-toggle{display:inline-flex}.crumb{display:none}.page-title{gap:10px;align-items:flex-start}.page-title h1{font-size:24px}.page-title .btn{padding:9px;font-size:11px}.page-title p{font-size:11px}.notice{padding:10px 12px;font-size:10px}.notice a{display:none}.metric-number{font-size:27px}.launch-card{padding:24px}.launch-art{opacity:.35;right:2%}.launch-copy h2{font-size:22px}.launch-copy p{max-width:240px}.grid3{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.search{width:100%}.tabs{gap:19px}.page-footer{font-size:9px;gap:15px}.overlay{padding:10px}.modal-head,.modal-body{padding:20px}.modal-foot{padding:16px 20px}.modal{max-height:95vh}.grid2{gap:0}.login-page{grid-template-columns:1fr}.login-visual{min-height:220px;padding:28px;justify-content:flex-start}.login-copy{margin:23px 0 0}.login-copy h1{font-size:26px}.login-copy h1 br{display:none}.login-copy p{margin:12px 0;font-size:11px}.login-foot{display:none}.login-form-area{padding:35px 25px}.login-form{width:100%;max-width:380px}.node-diagram{flex-direction:column}.node-diagram>svg{transform:rotate(90deg)}.diagram-box{width:100%}.detail-grid{gap:15px}.userbox>span{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Campaign creation and child reports. */
[hidden]{display:none!important}.campaign-section{margin-bottom:23px}.campaign-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.campaign-preview{background:#f6f8f4;border:1px solid var(--line);border-radius:8px;padding:17px;margin-top:18px;font-size:12px}.variant-preview{border-top:1px solid var(--line);padding:12px 0}.variant-preview summary{cursor:pointer;line-height:1.9;overflow-wrap:anywhere}.variant-preview summary b{float:right}.variant-preview>div{white-space:pre-wrap;line-height:1.8;background:white;border-radius:7px;padding:14px;margin-top:10px;overflow-wrap:anywhere}#split-fields>.btn{margin-bottom:16px}#detail-group{max-width:250px;border:1px solid var(--line);border-radius:6px;padding:8px;background:white}.message-preview .bubble{white-space:pre-wrap;overflow-wrap:anywhere}.card-head>div>small{display:block;margin-top:8px;line-height:1.6}@media(max-width:900px){.campaign-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-preview .row{flex-wrap:wrap}}@media(max-width:520px){.campaign-metrics{grid-template-columns:1fr 1fr}.metric{padding:16px}.metric-number{font-size:27px}.variant-preview summary b{float:none;display:block}}

.ownership-filters{display:flex;align-items:center;gap:20px;padding:18px 22px;border-bottom:1px solid var(--line);flex-wrap:wrap}.ownership-filters .field{min-width:180px;margin:0}.ownership-filters .summary-line{margin:16px 0 0 auto}.inline-additions{display:flex;gap:20px;flex-wrap:wrap;margin:16px 0}.inline-additions details{font-size:12px}.inline-additions summary{cursor:pointer;color:var(--green,#38795c)}.inline-additions .row{margin-top:10px}.inline-additions input{padding:9px;border:1px solid var(--line);border-radius:6px;width:200px}.ownership-forms{margin:20px 0}.ownership-forms form{padding:16px;border:1px solid var(--line);border-radius:8px}[data-owner-for]{padding:8px;border:1px solid var(--line);border-radius:6px;background:white;min-width:130px}@media(max-width:640px){.ownership-filters{align-items:stretch}.ownership-filters .field{min-width:0;flex:1}.ownership-filters .summary-line{margin:0}.ownership-forms{grid-template-columns:1fr}}

.campaign-dropzone{margin:16px 0}.import-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.import-counts>div{background:#f5f7f3;border:1px solid var(--line);border-radius:7px;padding:12px}.import-counts span{display:block;font-size:11px;color:var(--muted)}.import-counts strong{display:block;font-size:25px;margin-top:6px;font-variant-numeric:tabular-nums}.import-issues{margin:12px 0;font-size:12px}.import-issues summary{cursor:pointer;color:#396d50;padding:6px 0}.import-loading{display:flex;align-items:center;gap:8px;font-size:12px;margin:18px 0}.campaign-dropzone.drag{border-color:#397e5b;background:#ecf4ed}@media(max-width:520px){.import-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}

.test-option{border:1px solid var(--line);background:#f6f8f4;border-radius:8px;padding:15px;margin:16px 0}.test-option .summary-line{line-height:1.8}.test-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;font-size:11px}.test-chips span{background:white;border-radius:4px;padding:5px 8px}.test-stats{display:flex;gap:25px;flex-wrap:wrap;padding:18px 22px;font-size:12px;border-bottom:1px solid var(--line)}.test-stats b{margin-left:7px;font-variant-numeric:tabular-nums}.test-results{border-color:#dbe7db}

/* Self-test execution environment */
.gateway-controls{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gateway-controls label{display:grid;gap:8px;color:var(--muted);font-size:12px}
.gateway-controls [hidden]{display:none}
.gateway-run-label{display:inline-flex;align-items:center;margin-top:8px;border:1px solid rgba(161,235,200,.25);border-radius:6px;padding:5px 9px;color:#a5e9c7;font-size:11px}
.gateway-node{color:#a5e9c7}
.cluster-connection{margin-top:16px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}
.cluster-connection>div{display:flex;gap:8px;align-items:center;font-size:13px}
.cluster-connection p{margin:8px 0 0;color:var(--muted);font-size:12px}
.cluster-connection small{display:block;margin-top:7px;color:var(--muted);font-size:11px}
.cluster-connection.connected{border-color:rgba(161,235,200,.26);background:rgba(161,235,200,.06)}
.cluster-connection.connected>div{color:#a5e9c7}
@media(max-width:680px){.gateway-controls{grid-template-columns:1fr}}
