:root{--bg:#f4f6f5;--surface:#fff;--surface-2:#f7f9f8;--border:#e2e7e5;--border-strong:#cfd7d4;--text:#17201d;--muted:#64716c;--primary:#0f7d6f;--primary-hover:#0b6a5e;--primary-soft:#e3f4f1;--ok:#188a4a;--ok-soft:#e4f5ea;--warn:#a8650a;--warn-soft:#fdf1dc;--bad:#c0352b;--bad-soft:#fbe7e5;--info:#2563a8;--info-soft:#e5eef9;--chat-bg:#efeae2;--bubble:#d9fdd3;--bubble-text:#111b21;--radius:12px;--shadow:0 1px 2px #1018140f, 0 1px 3px #1018140f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f1413;--surface:#171d1c;--surface-2:#1d2423;--border:#2a3331;--border-strong:#3a4542;--text:#e6ecea;--muted:#93a19c;--primary:#21a68f;--primary-hover:#29b89f;--primary-soft:#143a34;--ok:#3ccf7c;--ok-soft:#15301f;--warn:#f0a640;--warn-soft:#362812;--bad:#f2695e;--bad-soft:#3a1b18;--info:#6aa8f0;--info-soft:#172a40;--chat-bg:#0b141a;--bubble:#005c4b;--bubble-text:#e9edef;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}[hidden]{display:none!important}h1,h2,h3{margin:0;line-height:1.25}h2{font-size:16px}code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}code{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:0 4px}.muted{color:var(--muted)}.small{font-size:12.5px}.center{text-align:center}.nowrap{white-space:nowrap}.text-bad{color:var(--bad)}.spacer{flex:1}.app{min-height:100vh}.topbar{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:10px 24px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.brand-mark{background:var(--primary);color:#fff;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.tabs{gap:4px;margin-left:16px;display:flex}.tabs button,.subtabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-weight:600;display:inline-flex}.tabs button:hover{background:var(--surface-2);color:var(--text)}.tabs button.active{background:var(--primary-soft);color:var(--primary)}.topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.content{max-width:1280px;margin:0 auto;padding:24px}.new-campaign{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:20px;display:grid}.col-main,.col-side{flex-direction:column;gap:20px;min-width:0;display:flex}.col-side{position:sticky;top:76px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:14px;min-width:0;padding:20px;display:flex}.card-head{align-items:center;gap:10px;display:flex}.card-title{font-size:14px}.step{background:var(--primary-soft);width:26px;height:26px;color:var(--primary);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.subhead{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:6px;font-size:13px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>span{font-size:13px;font-weight:600}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;width:100%;min-width:0;padding:8px 10px}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb, var(--primary) 35%, transparent);outline-offset:0;border-color:var(--primary)}textarea{resize:vertical;line-height:1.55}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.input-group{gap:8px;display:flex}.input-group input{flex:1}.input-suffix{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;align-items:center;display:flex;overflow:hidden}.input-suffix:focus-within{border-color:var(--primary)}.input-suffix input{border:0;outline:none}.input-suffix span{color:var(--muted);padding:0 10px;font-size:12.5px}.input-icon{flex:1;position:relative}.input-icon svg{color:var(--muted);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.input-icon input{padding-left:32px}.check{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.check input{width:16px;height:16px;accent-color:var(--primary);flex:none;margin-top:2px}.check span{flex-direction:column;display:flex}.btn{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn.large{padding:12px 16px;font-size:15px}.btn.small{padding:5px 10px;font-size:12.5px}.btn.ghost{border-color:#0000}.btn.danger-ghost{color:var(--bad)}.icon-btn{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.icon-btn:disabled{opacity:.35;cursor:default}.link{color:var(--primary);align-self:flex-start;align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.link:hover{text-decoration:underline}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.status-pill{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;max-width:320px;padding:5px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.status-pill .dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.status-pill.tone-ok .dot{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.status-pill.tone-warn .dot{background:var(--warn)}.status-pill.tone-bad .dot{background:var(--bad)}.status-detail{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.chip,.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.chip.ok,.tone-ok.badge{background:var(--ok-soft);color:var(--ok)}.chip.warn,.tone-warn.badge{background:var(--warn-soft);color:var(--warn)}.chip.bad,.tone-bad.badge{background:var(--bad-soft);color:var(--bad)}.tone-info.badge{background:var(--info-soft);color:var(--info)}.tone-muted.badge{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.pulse{background:currentColor;border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.25}}.stat-row{flex-wrap:wrap;gap:8px;display:flex}.callout{border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;display:flex}.callout svg{flex:none;margin-top:2px}.callout.ok{background:var(--ok-soft);color:var(--ok)}.callout.warn{background:var(--warn-soft);color:var(--warn)}.callout.bad{background:var(--bad-soft);color:var(--bad)}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2);color:var(--muted);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:6px;padding:36px 16px;transition:border-color .15s,background .15s;display:flex}.dropzone strong{color:var(--text)}.dropzone:hover,.dropzone.dragging,.dropzone:focus-visible{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);outline:none}.file-chip{border:1px solid var(--border);background:var(--surface-2);color:var(--primary);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.file-chip-text{min-width:0;color:var(--text);flex-direction:column;flex:1;display:flex}.file-chip-text strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.thumb{object-fit:cover;border-radius:6px;width:40px;height:40px}.table-wrap{border:1px solid var(--border);border-radius:10px;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13px}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 12px}.table.compact th,.table.compact td{white-space:nowrap;text-overflow:ellipsis;max-width:220px;padding:6px 10px;overflow:hidden}.table th{background:var(--surface-2);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}.table tr:last-child td{border-bottom:0}.table .hl{background:var(--primary-soft);color:var(--primary);font-weight:600}.cell-message{text-overflow:ellipsis;white-space:nowrap;max-width:380px;overflow:hidden}.var-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.var-chip{font:inherit;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--primary);cursor:pointer;border-radius:6px;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.var-chip:hover{border-color:var(--primary);background:var(--primary-soft)}.editor{border:1px solid var(--border-strong);border-radius:10px;overflow:hidden}.editor:focus-within{border-color:var(--primary)}.editor textarea{border:0;border-radius:0;outline:none;min-height:180px;padding:12px}.editor-toolbar{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:2px;padding:4px 6px;display:flex}.editor-toolbar button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;align-items:center;gap:4px;padding:6px 8px;display:inline-flex}.editor-toolbar button:hover{background:var(--surface);color:var(--text)}.editor-toolbar>span.small{white-space:nowrap;padding-right:4px}.toolbar-sep{background:var(--border-strong);width:1px;height:18px;margin:0 4px}.help summary{cursor:pointer;color:var(--primary);font-size:13px;font-weight:600}.help ul{color:var(--muted);gap:4px;margin:8px 0 0;padding-left:18px;font-size:13px;display:grid}.media-picker{flex-direction:column;gap:12px;display:flex}.media-picker>.btn{align-self:flex-start}.media-picker p{margin:0}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;align-self:flex-start;gap:2px;padding:3px;display:inline-flex}.segmented button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 12px;font-size:13px;font-weight:600}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow);outline:1px solid var(--border)}.estimate{background:var(--primary-soft);color:var(--primary);border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.preview{border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);background:var(--surface);overflow:hidden}.preview-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 12px;display:flex}.preview-head>div:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.preview-head strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-nav{display:flex}.avatar{background:var(--primary-soft);width:36px;height:36px;color:var(--primary);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.chat{background:var(--chat-bg);flex-direction:column;align-items:flex-end;min-height:240px;max-height:640px;padding:18px 14px;display:flex;overflow-y:auto}.chat-empty{color:var(--muted);align-self:center;margin:auto;font-size:13px}.bubble{background:var(--bubble);max-width:88%;color:var(--bubble-text);border-radius:8px 0 8px 8px;padding:6px 8px 4px;font-size:14px;position:relative;box-shadow:0 1px .5px #0b141a21}.bubble-text{white-space:pre-wrap;overflow-wrap:anywhere;padding:0 2px}.bubble-text code{background:0 0;border:0;padding:0}.bubble-media{object-fit:cover;border-radius:6px;width:100%;max-height:260px;margin-bottom:4px;display:block}.bubble-file{overflow-wrap:anywhere;background:#0000000f;border-radius:6px;align-items:center;gap:8px;margin-bottom:4px;padding:10px;font-size:13px;display:flex}.bubble-meta{opacity:.6;justify-content:flex-end;align-items:center;gap:3px;margin-top:2px;font-size:11px;display:flex}.bubble-meta svg{color:#53bdeb;opacity:1}.launch .problems{color:var(--muted);margin:0;padding-left:18px;font-size:13px}.campaigns{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:20px;display:grid}.campaign-list{flex-direction:column;gap:8px;max-height:calc(100vh - 100px);display:flex;position:sticky;top:76px;overflow-y:auto}.campaign-item{text-align:left;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.campaign-item:hover{border-color:var(--border-strong)}.campaign-item.active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.campaign-item-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.campaign-item-head strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.campaign-item-meta{justify-content:space-between;display:flex}.progress{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:8px;display:flex;overflow:hidden}.progress .seg{height:100%;transition:width .4s}.progress .seg.ok{background:var(--ok)}.progress .seg.bad{background:var(--bad)}.progress .seg.warn{background:var(--warn)}.detail-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.detail-head h2{margin-bottom:2px;font-size:19px}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.progress-block{flex-direction:column;gap:8px;display:flex}.progress-labels{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.progress-block .progress{height:12px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;flex-direction:column;padding:12px 14px;display:flex}.stat-value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.stat-label{color:var(--muted);font-size:12.5px}.stat.tone-ok .stat-value{color:var(--ok)}.stat.tone-bad .stat-value{color:var(--bad)}.stat.tone-warn .stat-value{color:var(--warn)}.subtabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.subtabs button{white-space:nowrap;border-bottom:2px solid #0000;border-radius:0;flex:none;margin-bottom:-1px}.subtabs button.active{color:var(--primary);border-bottom-color:var(--primary)}.log{max-height:420px;margin:0;padding:0;font-size:13px;list-style:none;overflow-y:auto}.log li{border-bottom:1px solid var(--border);gap:12px;padding:7px 4px;display:flex}.log li:last-child{border-bottom:0}.log-time{color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.log-success span:last-child{color:var(--ok)}.log-error span:last-child{color:var(--bad)}.log-warn span:last-child{color:var(--warn)}.table-filters{gap:8px;display:flex}.table-filters select{width:auto}.pagination{justify-content:space-between;align-items:center;gap:8px;display:flex}.message-info p{margin:0 0 8px}.template-view{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;margin:0 0 8px;padding:12px;font-family:inherit}.empty-state{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:80px 16px;display:flex}.empty-state h2{color:var(--text)}.empty-state p{margin:0 0 8px}.filters{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.filters p{margin:0}.filters-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.filters-title{align-items:center;gap:6px;font-weight:600;display:inline-flex}.filter-rule{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) auto;align-items:start;gap:8px;display:grid}.filter-value{flex-direction:column;gap:2px;min-width:0;display:flex}.filters-result{color:var(--primary);font-size:13px}.segmented.small-seg button{padding:4px 10px;font-size:12.5px}.flow-editor{flex-direction:column;gap:14px;display:flex}.options-list{flex-direction:column;gap:8px;display:flex}.option-row{align-items:center;gap:8px;display:flex}.option-row input:not([type=checkbox]){flex:1}.option-num{background:var(--surface-2);border:1px solid var(--border);width:24px;height:24px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.qualify-toggle{color:var(--muted);border:1px solid var(--border-strong);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.qualify-toggle input{width:14px;height:14px;accent-color:var(--ok)}.qualify-toggle.on{background:var(--ok-soft);color:var(--ok);border-color:#0000}.options-foot{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chat{gap:8px}.bubble-group{flex-direction:column;align-items:stretch;gap:3px;max-width:88%;display:flex}.bubble-group .bubble{max-width:100%}.bubble-footer{opacity:.65;padding:2px 2px 0;font-size:12px}.bubble-buttons{flex-direction:column;gap:3px;display:flex}.bubble-buttons span{background:var(--bubble);color:#027eb5;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:13.5px;font-weight:500;display:flex;box-shadow:0 1px .5px #0b141a21}@media (prefers-color-scheme:dark){.bubble-buttons span{color:#53bdeb}}.chat-step{color:var(--muted);background:var(--surface);box-shadow:var(--shadow);border-radius:999px;align-self:center;align-items:center;gap:5px;padding:3px 10px;font-size:11.5px;display:inline-flex}.list-preview{background:var(--surface);width:88%;box-shadow:var(--shadow);border-radius:8px;align-self:flex-end;margin:0;padding:6px 10px 6px 30px;font-size:13px}.list-preview li{padding:3px 0}.list-preview li .badge{margin-left:6px;padding:0 6px;font-size:10.5px}.flow-results{flex-direction:column;gap:16px;display:flex}.listener{border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.listener svg{flex:none}.listener.ok{background:var(--ok-soft);color:var(--ok)}.listener.bad{background:var(--warn-soft);color:var(--warn)}.funnel{flex-direction:column;gap:6px;display:flex}.funnel-row{font:inherit;color:inherit;text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:minmax(140px,220px) minmax(0,1fr) 90px;align-items:center;gap:12px;padding:4px 6px;display:grid}.funnel-row:not(:disabled){cursor:pointer}.funnel-row:not(:disabled):hover{background:var(--surface-2)}.funnel-label{font-size:13px}.funnel-bar{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:10px;overflow:hidden}.funnel-fill{border-radius:999px;height:100%;transition:width .4s;display:block}.funnel-fill.tone-info{background:var(--info)}.funnel-fill.tone-ok{background:var(--ok)}.funnel-fill.tone-warn{background:var(--warn)}.funnel-value{text-align:right;font-variant-numeric:tabular-nums}.stat.clickable{font:inherit;color:inherit;text-align:left;cursor:pointer}.stat.clickable:hover{border-color:var(--border-strong)}.stat.tone-info .stat-value{color:var(--info)}.ranges{flex-direction:column;gap:8px;margin-top:8px;display:flex}.range-row{grid-template-columns:minmax(160px,260px) minmax(0,1fr) 50px;align-items:center;gap:12px;font-size:13px;display:grid}.range-label{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.range-label .badge{padding:0 7px;font-size:11px}.range-value{text-align:right;font-variant-numeric:tabular-nums}.tab-count{background:var(--ok-soft);min-width:20px;height:18px;color:var(--ok);border-radius:999px;place-items:center;padding:0 6px;font-size:11.5px;display:inline-grid}.filter-note{color:var(--primary);align-items:center;gap:6px;display:flex}.flow-summary{margin-bottom:8px;font-size:13px}.flow-summary p{margin:0 0 4px}.callout.info{background:var(--info-soft);color:var(--info)}.window-settings{flex-direction:column;gap:10px;display:flex}.window-fields{flex-wrap:wrap;align-items:center;gap:10px 16px;padding-left:26px;display:flex}.weekday-picker{flex-wrap:wrap;gap:4px;display:inline-flex}.weekday-picker button{font:inherit;border:1px solid var(--border-strong);background:var(--surface);min-width:40px;color:var(--muted);cursor:pointer;border-radius:8px;padding:5px 8px;font-size:12.5px;font-weight:600}.weekday-picker button.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.time-range{align-items:center;gap:8px;display:inline-flex}.time-range input{width:auto}.reschedule{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reschedule input{width:auto}.launch .segmented{align-self:stretch}.launch .segmented button{flex:1}.data-step{flex-direction:column;gap:14px;display:flex}.data-fields{flex-direction:column;gap:8px;display:flex}.data-field{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:6px;padding:10px;display:flex}.data-field-row{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,.8fr) auto;align-items:center;gap:8px;display:grid}.flow-editor.nested{margin-top:10px}.chat-note{color:var(--muted);align-self:center;margin:0;font-size:11.5px}.flow-cell{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.flow-data{color:var(--muted);white-space:normal;flex-direction:column;font-size:12px;display:flex}.flow-data em{color:var(--warn);font-style:normal;font-weight:600}.flow-results .stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.webhook-editor{flex-direction:column;gap:14px;display:flex}.kv-table{flex-direction:column;gap:6px;display:flex}.kv-head,.kv-row{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr) 34px;align-items:center;gap:8px;display:grid}.kv-row input.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.variables{border:1px dashed var(--border-strong);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.json-preview{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;max-height:320px;margin:8px 0 0;padding:12px;font-size:12.5px;overflow-x:auto}.webhook-test{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.webhook-status{border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.webhook-status.ok{background:var(--info-soft);color:var(--info)}.webhook-status.bad{background:var(--bad-soft);color:var(--bad)}.webhook-status>span{flex:1}.link-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.modal-backdrop{z-index:50;background:#0a0f0d73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:14px;width:min(520px,100%);padding:20px;display:flex;box-shadow:0 20px 50px #00000040}.modal p{margin:0}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-actions{justify-content:flex-end;gap:8px;display:flex}@media (width<=1024px){.new-campaign,.campaigns{grid-template-columns:minmax(0,1fr)}.col-side,.campaign-list{max-height:none;position:static}.campaign-list{max-height:320px}}@media (width<=640px){.topbar{flex-wrap:wrap;gap:8px;padding:10px 16px}.tabs{order:3;width:100%;margin-left:0}.tabs button{flex:1;justify-content:center}.status-detail{display:none}.content,.card{padding:16px}.grid-2,.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.table-filters{flex-direction:column}.table-filters select{width:100%}.filter-rule{grid-template-columns:minmax(0,1fr) auto}.filter-rule>:nth-child(2),.filter-rule>:nth-child(3){grid-column:1}.filter-rule>.icon-btn{grid-area:1/2}.funnel-row,.range-row{grid-template-columns:minmax(0,1fr) 70px}.funnel-row .funnel-bar,.range-row .funnel-bar{grid-area:2/1/auto/-1}.option-row{flex-wrap:wrap}.option-row input:not([type=checkbox]){flex:140px}.window-fields{padding-left:0}.data-field-row{grid-template-columns:minmax(0,1fr) auto}.data-field-row>select{grid-column:1}.data-field-row>.icon-btn{grid-area:1/2}}
