:root,:root[data-theme=light]{--bg:#f8f6f3;--surface:#fff;--surface-2:#f3f0ec;--border:#e7e2db;--border-strong:#d6cfc5;--text:#2b2724;--text-muted:#6d665e;--text-faint:#9a938a;--accent:#16705c;--accent-fg:#fff;--accent-soft:#e6f2ee;--accent-line:#b9dbd0;--ok:#1c7a4f;--ok-soft:#e7f4ec;--warn:#9a6212;--warn-soft:#fbf1e0;--danger:#a8342a;--danger-soft:#fbeceb;--r-sm:9px;--r-md:13px;--r-lg:18px;--shadow-1:0 1px 2px #2b27240d, 0 2px 6px #2b27240a;--shadow-2:0 6px 18px #2b272417;--shadow-3:0 24px 60px #2b272433}:root[data-theme=dark]{--bg:#17161a;--surface:#201f24;--surface-2:#292830;--border:#34323b;--border-strong:#46434f;--text:#f0eeeb;--text-muted:#a9a49e;--text-faint:#7b766f;--accent:#4fb99a;--accent-fg:#10231d;--accent-soft:#1d3a33;--accent-line:#2f5b50;--ok:#6cc793;--ok-soft:#1b3327;--warn:#e0ab5a;--warn-soft:#362a17;--danger:#ef8b80;--danger-soft:#3a2320;--shadow-1:0 1px 2px #00000059;--shadow-2:0 6px 18px #00000073;--shadow-3:0 24px 60px #0009}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.6 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3{letter-spacing:-.015em;margin:0;font-weight:620}p{margin:0}textarea.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.shell{flex-direction:column;min-height:100%;display:flex}.topbar{z-index:20;background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);position:sticky;top:0}.topbar-inner{flex-wrap:wrap;align-items:center;gap:18px;max-width:1140px;margin:0 auto;padding:14px 22px;display:flex}.brand{align-items:center;gap:11px;min-width:0;margin-right:auto;display:flex}.brand h1{white-space:nowrap;font-size:16.5px}.brand-mark{background:var(--accent);width:30px;height:30px;color:var(--accent-fg);border-radius:9px;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.tabs{scrollbar-width:none;gap:3px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{border-radius:var(--r-sm);font:inherit;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:8px 14px;font-size:14.5px;font-weight:540;transition:background .14s,color .14s}.tabs button:hover{color:var(--text);background:var(--surface-2)}.tabs button[aria-selected=true]{color:var(--accent);background:var(--accent-soft)}.page{width:100%;max-width:1140px;margin:0 auto;padding:28px 22px 90px}.theme-toggle{border:1px solid var(--border);background:var(--surface);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;padding:0;font-size:15px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);margin-bottom:20px}.card-head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-start;gap:14px;padding:18px 22px;display:flex}.card-head h2{font-size:16px}.card-head .sub{color:var(--text-muted);margin-top:4px;font-size:14px}.card-head .spacer{margin-left:auto}.card-body{padding:22px}.card-body.tight{padding:8px 22px 14px}.grid{gap:14px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=880px){.grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=540px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:minmax(0,1fr)}}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row.end{justify-content:flex-end}.row.between{justify-content:space-between}.row.tight{gap:8px}.grow{flex:200px;min-width:0}.stack{flex-direction:column;gap:18px;display:flex}.stack.tight{gap:10px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:17px 19px}.stat .val{letter-spacing:-.025em;font-size:27px;font-weight:620;line-height:1.15}.stat .label{color:var(--text-muted);margin-top:4px;font-size:13.5px}.stat.accent .val{color:var(--accent)}.stat.ok .val{color:var(--ok)}.stat.warn .val{color:var(--warn)}.stat.danger .val{color:var(--danger)}button,.btn{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:14.5px;font-weight:540;transition:background .14s,border-color .14s,opacity .14s;display:inline-flex}button:hover:not(:disabled){background:var(--surface-2)}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}button.primary:hover:not(:disabled){filter:brightness(1.1);background:var(--accent)}button.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, var(--border))}button.danger:hover:not(:disabled){background:var(--danger-soft)}button.ghost{color:var(--text-muted);background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}button.sm{padding:6px 12px;font-size:13.5px}button.block{width:100%}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);width:100%;padding:10px 12px;font-size:14.5px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);outline:none}textarea{resize:vertical;line-height:1.6}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent)}input[type=file]{padding:8px;font-size:13.5px}select{cursor:pointer}.field{flex-direction:column;gap:7px;display:flex}.field>label{font-size:14px;font-weight:550}.field .hint{color:var(--text-muted);font-size:13.5px}.check{border:1px solid var(--border-strong);border-radius:var(--r-sm);cursor:pointer;background:var(--surface);-webkit-user-select:none;user-select:none;align-items:center;gap:9px;padding:9px 14px;font-size:14.5px;display:inline-flex}.check:hover{background:var(--surface-2)}.check.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:550}.check.risky.on{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.tag{border:1px solid var(--border);color:var(--text-muted);background:var(--surface-2);border-radius:999px;align-items:center;gap:6px;padding:3px 11px;font-size:13px;font-weight:560;line-height:1.7;display:inline-flex}.tag.existing_client,.tag.ok,.tag.running{color:var(--ok);background:var(--ok-soft);border-color:#0000}.tag.opted_in,.tag.accent,.tag.completed{color:var(--accent);background:var(--accent-soft);border-color:#0000}.tag.cold,.tag.warn,.tag.paused,.tag.draft{color:var(--warn);background:var(--warn-soft);border-color:#0000}.tag.out,.tag.danger,.tag.cancelled{color:var(--danger);background:var(--danger-soft);border-color:#0000}.banner{border-radius:var(--r-md);border:1px solid #0000;align-items:flex-start;gap:13px;margin-bottom:18px;padding:15px 17px;font-size:14.5px;display:flex}.banner .banner-body{flex:1;min-width:0}.banner strong{font-weight:600}.banner.info{background:var(--accent-soft);color:var(--accent)}.banner.ok{background:var(--ok-soft);color:var(--ok)}.banner.warn{background:var(--warn-soft);color:var(--warn)}.banner.danger{background:var(--danger-soft);color:var(--danger)}.banner p+p{margin-top:6px}.people{flex-direction:column;display:flex}.person{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:14px 22px;display:flex}.person:last-child{border-bottom:none}.person:hover{background:var(--surface-2)}.person .who{flex:auto;min-width:0}.person .name{font-size:15px;font-weight:550}.person .meta{color:var(--text-muted);margin-top:2px;font-size:13.5px}.person .acts{flex:none;align-items:center;gap:8px;display:flex}@media (width<=640px){.person{flex-wrap:wrap}.person .acts{justify-content:flex-end;width:100%}}.avatar{letter-spacing:-.02em;background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:15px;font-weight:620;display:grid}.avatar.sm{width:32px;height:32px;font-size:13px}.avatar.muted{background:var(--surface-2);color:var(--text-faint)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14.5px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:12px 14px}th{color:var(--text-muted);font-size:13px;font-weight:580}tbody tr:last-child td{border-bottom:none}.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.empty{text-align:center;padding:52px 20px}.empty .emoji{margin-bottom:14px;font-size:38px}.empty h3{margin-bottom:8px;font-size:17px}.empty p{color:var(--text-muted);max-width:44ch;margin:0 auto 20px}.next{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--r-lg);align-items:flex-start;gap:17px;margin-bottom:20px;padding:22px 24px;display:flex}.next.done{border-color:var(--border);background:var(--surface)}.next .badge{background:var(--accent);width:34px;height:34px;color:var(--accent-fg);border-radius:50%;flex:none;place-items:center;font-size:16px;font-weight:700;display:grid}.next.done .badge{background:var(--ok-soft);color:var(--ok)}.next .next-body{flex:1;min-width:0}.next h3{margin-bottom:5px;font-size:17px}.next p{color:var(--text-muted)}.steps{background:var(--surface-2);border-radius:var(--r-md);gap:6px;margin-bottom:22px;padding:5px;display:flex;overflow-x:auto}.step{border-radius:var(--r-sm);min-width:118px;color:var(--text-faint);cursor:default;white-space:nowrap;background:0 0;border:none;flex:1 1 0;align-items:center;gap:9px;padding:10px 13px;font-size:14.5px;display:flex}.step .n{background:var(--border);width:22px;height:22px;color:var(--text-muted);border-radius:50%;flex:none;place-items:center;font-size:12.5px;font-weight:700;display:grid}.step.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1);font-weight:560}.step.active .n{background:var(--accent);color:var(--accent-fg)}.step.done{color:var(--text-muted);cursor:pointer}.step.done .n{background:var(--ok);color:#fff}.split{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=860px){.split{grid-template-columns:minmax(0,1fr)}}.convo-list{max-height:66vh;overflow-y:auto}.convo-item{text-align:left;border:none;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:12px;width:100%;padding:13px 18px;display:flex}.convo-item:hover{background:var(--surface-2)}.convo-item.on{background:var(--accent-soft)}.convo-item .body{flex:1;min-width:0}.convo-item .who{justify-content:space-between;gap:10px;font-weight:550;display:flex}.convo-item .when{color:var(--text-faint);flex:none;font-size:12.5px;font-weight:400}.convo-item .snippet{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:13.5px;overflow:hidden}.chat{flex-direction:column;gap:12px;max-height:60vh;padding:6px;display:flex;overflow-y:auto}.bubble{white-space:pre-wrap;word-break:break-word;border-radius:17px;max-width:76%;padding:11px 15px;line-height:1.55}.bubble.user{background:var(--surface-2);border-bottom-left-radius:5px;align-self:flex-start}.bubble.assistant{background:var(--accent);color:var(--accent-fg);border-bottom-right-radius:5px;align-self:flex-end}.bubble time{opacity:.7;margin-top:5px;font-size:11.5px;display:block}.scrim{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1e1a166b;place-items:center;padding:20px;animation:.15s fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-3);width:min(600px,100%);max-height:88vh;animation:.18s cubic-bezier(.2,.8,.3,1) pop;overflow-y:auto}.modal.wide{width:min(840px,100%)}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(10px)scale(.985)}}.toasts{z-index:80;flex-direction:column;gap:10px;max-width:min(390px,100vw - 44px);display:flex;position:fixed;bottom:22px;right:22px}.toast{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--text-muted);border-radius:var(--r-md);box-shadow:var(--shadow-2);align-items:flex-start;gap:12px;padding:14px 16px;animation:.2s cubic-bezier(.2,.8,.3,1) slide;display:flex}.toast.ok{border-left-color:var(--ok)}.toast.danger{border-left-color:var(--danger)}.toast.warn{border-left-color:var(--warn)}.toast .toast-body{flex:1;min-width:0}.toast strong{font-weight:590;display:block}.toast .muted{color:var(--text-muted);margin-top:2px;font-size:13.5px}@keyframes slide{0%{opacity:0;transform:translate(16px)}}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.small{font-size:13.5px}.phone{font-variant-numeric:tabular-nums;letter-spacing:.01em}.pill{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:8px;padding:6px 13px;font-size:13.5px;font-weight:530;display:inline-flex}.dot{background:var(--text-faint);border-radius:50%;flex:none;width:8px;height:8px}.dot.on{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 20%, transparent)}.dot.off{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 20%, transparent)}.bar{background:var(--surface-2);border-radius:999px;height:9px;display:flex;overflow:hidden}.bar>span{height:100%;display:block}.bar .s-sent{background:var(--accent)}.bar .s-replied{background:var(--ok)}.bar .s-skipped{background:var(--warn)}.bar .s-failed{background:var(--danger)}.chip{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:2px 7px;font-size:13px;font-weight:540;display:inline-block}.spin{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface-2);cursor:pointer;text-align:left;align-items:center;gap:14px;padding:22px 20px;transition:border-color .15s,background .15s,transform .12s;display:flex}.dropzone:hover:not(.disabled){border-color:var(--accent);background:var(--accent-soft)}.dropzone:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dropzone.dragging{border-style:solid;border-color:var(--accent);background:var(--accent-soft);transform:scale(1.006)}.dropzone.invalid{border-color:var(--danger);background:var(--danger-soft)}.dropzone.disabled{cursor:default;opacity:.75}.dz-icon{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--border);flex:none;place-items:center;width:42px;height:42px;font-size:19px;display:grid}.dz-text{flex-direction:column;gap:3px;min-width:0;display:flex}.dz-text strong{font-size:14.5px;font-weight:600}.drop-active{position:relative}.drop-active:after{content:"";border:2px dashed var(--accent);border-radius:var(--r-md);background:color-mix(in srgb, var(--accent) 5%, transparent);pointer-events:none;position:absolute;inset:-10px}.file-chip{border:1px solid var(--accent-line);border-radius:var(--r-sm);background:var(--accent-soft);align-items:center;gap:12px;padding:11px 12px;display:flex}.fc-icon{flex:none;font-size:17px}.fc-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.fc-name{font-size:14px;font-weight:600}.paste-fallback>summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-muted);border-radius:var(--r-sm);padding:4px 2px;font-size:13.5px;list-style:none}.paste-fallback>summary::-webkit-details-marker{display:none}.paste-fallback>summary:before{content:"▸";width:14px;transition:transform .15s;display:inline-block}.paste-fallback[open]>summary:before{transform:rotate(90deg)}.paste-fallback>summary:hover{color:var(--text)}.paste-fallback>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.paste-fallback .field{margin-top:10px}.next.alert{border-color:color-mix(in srgb, var(--danger) 35%, var(--border));background:var(--danger-soft)}.next.alert .badge{background:var(--danger);color:#fff}.next.alert h3{color:var(--danger)}.convo-item:focus-visible,.person:focus-visible,.tabs button:focus-visible,.theme-toggle:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:color-mix(in srgb, var(--accent) 26%, transparent)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid var(--surface);background-clip:padding-box;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:padding-box}.card,.stat,.next{animation:.22s both rise}@keyframes rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width<=720px){.topbar-inner{flex-wrap:wrap;gap:8px 10px}.tabs{-webkit-overflow-scrolling:touch;order:3;width:100%;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.split{grid-template-columns:minmax(0,1fr)}.modal{width:100%;max-height:92vh;overflow-y:auto}.dropzone{padding:18px 15px}.row.end{flex-wrap:wrap}.row.end>button{flex:auto;min-width:120px}}@media (width<=540px){.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:14px 15px}.stat .label{font-size:13px}}
