:root{--bg: #0f1115;--panel: #161a21;--panel-2: #1c212a;--line: #262d38;--text: #e6e9ef;--muted: #8a94a6;--accent: #4c8dff;--ok: #37c98b;--warn: #e8b34a;--bad: #ef5f6b;--info: #6aa9ff;--violet: #a78bfa;--neutral: #6b7687;--radius: 8px;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace}@media(prefers-color-scheme:light){:root{--bg: #f6f7f9;--panel: #fff;--panel-2: #f0f2f5;--line: #dfe3ea;--text: #131720;--muted: #66707f}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{display:grid;grid-template-columns:210px 1fr;min-height:100vh}.sidebar{background:var(--panel);border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:4px}.sidebar .brand{font-weight:650;letter-spacing:.3px;padding:0 10px 16px;display:flex;flex-direction:column}.sidebar .brand small{color:var(--muted);font-weight:400;font-size:11px}.sidebar nav a{display:block;padding:8px 10px;border-radius:6px;color:var(--text)}.sidebar nav a:hover{background:var(--panel-2);text-decoration:none}.sidebar nav a.active{background:var(--panel-2);color:var(--accent);font-weight:600}.sidebar .spacer{flex:1}.sidebar .who{color:var(--muted);font-size:12px;padding:0 10px}main{padding:22px 26px;min-width:0}h1{font-size:19px;margin:0 0 4px;font-weight:650}h2{font-size:15px;margin:26px 0 10px;font-weight:600}.subtitle{color:var(--muted);margin:0 0 20px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}button,.btn{font:inherit;padding:7px 13px;border-radius:6px;cursor:pointer;border:1px solid var(--line);background:var(--panel-2);color:var(--text)}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{background:transparent;border-color:var(--bad);color:var(--bad)}input,select,textarea{font:inherit;padding:7px 10px;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--text);width:100%}textarea{resize:vertical;min-height:88px;font-family:inherit}label{display:block;margin-bottom:12px}label span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.cards{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;min-width:128px}.stat .n{font-size:22px;font-weight:650;font-variant-numeric:tabular-nums}.stat .k{color:var(--muted);font-size:12px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:8px 11px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--panel-2)}td.num{font-family:var(--mono);font-variant-numeric:tabular-nums}td.wrap{white-space:normal;min-width:260px;color:var(--muted)}.tag{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11.5px;font-weight:600;border:1px solid transparent}.tag.ANSWERED{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.tag.NO_ANSWER{color:var(--info);border-color:color-mix(in srgb,var(--info) 45%,transparent)}.tag.PHONE_OFF{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.tag.BUSY_OR_REJECTED{color:#f0894e;border-color:#f0894e66}.tag.NOT_ALLOCATED{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,transparent)}.tag.NETWORK_ERROR{color:var(--violet);border-color:color-mix(in srgb,var(--violet) 45%,transparent)}.tag.UNKNOWN,.tag.PENDING{color:var(--neutral);border-color:var(--line)}.pill{font-family:var(--mono);font-size:11.5px;padding:1px 6px;border-radius:4px;background:var(--panel-2);border:1px solid var(--line)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:6px}.dot.running{background:var(--ok)}.dot.draft{background:var(--neutral)}.dot.paused{background:var(--warn)}.dot.done{background:var(--info)}.dot.stopped{background:var(--bad)}.muted{color:var(--muted)}.err{background:color-mix(in srgb,var(--bad) 12%,transparent);border:1px solid color-mix(in srgb,var(--bad) 40%,transparent);color:var(--bad);padding:9px 12px;border-radius:6px;margin-bottom:14px}.empty{color:var(--muted);padding:34px;text-align:center}audio{height:30px;vertical-align:middle}.login{display:grid;place-items:center;min-height:100vh}.login form{width:320px}.login h1{margin-bottom:18px}.viz-root{--s1: #2a78d6;--s2: #eb6834;--s3: #1baf7a;--s4: #eda100;--s5: #e87ba4;--s6: #008300;--s7: #4a3aa7;--seq: #2a78d6}@media(prefers-color-scheme:dark){:root:where(:not([data-theme=light])) .viz-root{--s1: #3987e5;--s2: #d95926;--s3: #199e70;--s4: #c98500;--s5: #d55181;--s6: #008300;--s7: #9085e9;--seq: #3987e5}}:root[data-theme=dark] .viz-root{--s1: #3987e5;--s2: #d95926;--s3: #199e70;--s4: #c98500;--s5: #d55181;--s6: #008300;--s7: #9085e9;--seq: #3987e5}.hero{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;margin-bottom:12px}.hero-n{font-size:44px;font-weight:680;line-height:1.05;font-variant-numeric:tabular-nums}.hero-k{color:var(--muted);margin-top:2px}.stat .n small{font-size:13px;font-weight:400;color:var(--muted);margin-left:2px}.chart{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:8px}.bar-row{display:grid;grid-template-columns:190px 1fr 110px;align-items:center;gap:12px;padding:5px 0}.bar-label{display:flex;align-items:center;gap:7px;font-size:13px}.swatch{width:9px;height:9px;border-radius:2px;flex:none}.bar-track{height:14px}.bar{height:14px;border-radius:0 4px 4px 0;min-width:2px}.bar.seq{background:var(--seq)}.bar-value{font-family:var(--mono);font-size:12.5px;text-align:right;font-variant-numeric:tabular-nums}@media print{.sidebar,.no-print{display:none!important}.app{display:block}body{background:#fff;color:#000}.card,.stat,.chart,.hero,.table-wrap{break-inside:avoid}}button,.btn{display:inline-flex;align-items:center;gap:6px}.icon{flex:none}button.icon-only{padding:6px 8px}button.run{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}button.run:hover:not(:disabled){border-color:var(--ok)}button.hold{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,var(--line))}button.hold:hover:not(:disabled){border-color:var(--warn)}tr.rejected td{background:color-mix(in srgb,var(--bad) 9%,transparent)}tr.rejected:hover td{background:color-mix(in srgb,var(--bad) 15%,transparent)}tr.rejected td:first-child{box-shadow:inset 3px 0 0 var(--bad);color:var(--bad);font-weight:600}.tag.rejected{color:#fff;background:var(--bad);border-color:var(--bad)}.banner-warn{display:flex;align-items:center;gap:9px;background:color-mix(in srgb,var(--bad) 12%,transparent);border:1px solid color-mix(in srgb,var(--bad) 45%,transparent);color:var(--bad);padding:10px 13px;border-radius:6px;margin-bottom:14px;font-weight:500}.progress{height:6px;border-radius:3px;background:var(--panel-2);overflow:hidden;border:1px solid var(--line)}.progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .4s ease}.row-actions{display:flex;gap:4px;justify-content:flex-end}.row-actions button{padding:5px 7px}button.icon-only.danger{color:var(--bad);border-color:var(--line);background:var(--panel-2)}button.icon-only.danger:hover:not(:disabled){border-color:var(--bad)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{text-decoration:none;opacity:.92}th.th-help{position:relative;padding:0}.th-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:8px 11px;width:100%;box-sizing:border-box;color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px}.th-btn:hover{color:var(--text)}.th-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.th-mark{display:inline-grid;place-items:center;width:13px;height:13px;border:1px solid var(--line);border-radius:50%;font-size:9px;line-height:1;text-transform:none;opacity:.7}.th-btn:hover .th-mark{border-color:var(--accent);color:var(--accent);opacity:1}.th-btn[aria-expanded=true]{color:var(--accent)}.popover{position:absolute;top:calc(100% + 4px);left:0;z-index:40;width:340px;max-width:76vw;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:13px 15px;box-shadow:0 10px 28px #00000052;white-space:normal;text-transform:none;letter-spacing:0}.popover-title{font-weight:650;font-size:13px;color:var(--text);margin-bottom:5px}.popover-body{margin:0;font-size:12.5px;line-height:1.55;color:var(--muted);font-weight:400}.popover-values{margin:10px 0 0;display:grid;gap:3px}.popover-values>div{display:grid;grid-template-columns:108px 1fr;gap:8px;align-items:baseline}.popover-values dt{font-family:var(--mono);font-size:11px;color:var(--text);font-weight:600;overflow-wrap:anywhere}.popover-values dd{margin:0;font-size:12px;color:var(--muted);font-weight:400}th.th-help:nth-last-child(-n+3) .popover{left:auto;right:0}
