:root{--bg:#f5f7fa;--card:#fff;--ink:#14213d;--mut:#64748b;--line:#e5e9f0;--red:#c8102e;--green:#0f9d58;--blue:#2563eb}
*{box-sizing:border-box}body{margin:0;font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
.top{background:#0f1b33;color:#fff;display:flex;align-items:center;gap:18px;padding:0 22px;height:56px;position:sticky;top:0;z-index:5;overflow-x:auto}
.top b{white-space:nowrap}.top .logo{background:var(--red);border-radius:8px;padding:3px 7px;margin-right:6px}
.top nav{display:flex;gap:2px}.top nav a{color:#cbd5e1;padding:8px 11px;border-radius:7px;white-space:nowrap}.top nav a.on,.top nav a:hover{background:#1e2c4d;color:#fff;text-decoration:none}
.top .sp{flex:1}.top form{margin:0}.top button{background:none;border:1px solid #334155;color:#cbd5e1;border-radius:7px;padding:5px 10px;cursor:pointer}
main{max-width:1180px;margin:0 auto;padding:24px}h1{font-size:23px;margin:0 0 4px}.sub{color:var(--mut);margin:0 0 18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px}.card h2{font-size:16px;margin:0 0 12px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
.kpi span{color:var(--mut);font-size:13px}.kpi b{display:block;font-size:26px;margin-top:4px}.kpi.g{background:var(--green);color:#fff;border:0}.kpi.g span{color:#d1fae5}
.grid2{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}@media(max-width:900px){.grid2{grid-template-columns:1fr}}
table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:var(--mut);font-weight:500;border-bottom:1px solid var(--line);padding:7px 6px}td{border-bottom:1px solid #f1f4f8;padding:8px 6px;vertical-align:top}
.pill{display:inline-block;font-size:12px;border-radius:99px;padding:2px 9px;background:#eef2ff;color:#3730a3}.pill.booked,.pill.drafted,.pill.ok{background:#dcfce7;color:#166534}.pill.opted_out,.pill.error,.pill.High,.pill.needs_human,.pill.capped{background:#fee2e2;color:#991b1b}.pill.paused,.pill.Medium{background:#fef3c7;color:#92400e}.pill.skipped,.pill.Low,.pill.closed,.pill.cancelled{background:#f1f5f9;color:#475569}
label{display:block;font-size:13px;color:var(--mut);margin-bottom:10px}input,textarea,select{width:100%;font:inherit;border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-top:3px;background:#fff;color:var(--ink)}
textarea{min-height:70px}input[type=checkbox]{width:auto}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.row>*{flex:1;min-width:140px}
button,.btn{font:inherit;cursor:pointer;border-radius:8px;border:1px solid var(--line);background:#fff;padding:8px 14px;color:var(--ink);display:inline-block}
.primary{background:var(--red);border-color:var(--red);color:#fff;font-weight:600}.danger{border-color:#fca5a5;color:#991b1b}
.flash{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;padding:10px 14px;border-radius:10px;margin-bottom:14px}.err{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.thread{display:flex;flex-direction:column;gap:6px;max-width:640px}.b{max-width:80%;padding:8px 12px;border-radius:16px;white-space:pre-wrap;font-size:14px}
.b.in{align-self:flex-start;background:#e9e9eb}.b.out{align-self:flex-end;background:#0a84ff;color:#fff}.b.sys{align-self:center;color:var(--mut);font-size:12px}.b.fail{background:#fee2e2;color:#991b1b}
.b small{display:block;opacity:.7;font-size:11px;margin-top:2px}.muted{color:var(--mut);font-size:13px}code,pre{background:#f1f5f9;border-radius:6px;padding:2px 6px;font-size:13px}pre{padding:10px;white-space:pre-wrap;word-break:break-all}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px;min-height:160px}.day.today{border-color:var(--blue)}
.day h3{font-size:13px;margin:0 0 6px;color:var(--mut)}.ap{background:#f1f5f9;border-radius:7px;padding:6px;font-size:12.5px;margin-bottom:5px}.ap.ai_sms,.ap.web_chat{background:#dcfce7}.ap.cancelled{opacity:.45;text-decoration:line-through}
@media(max-width:900px){.week{grid-template-columns:1fr 1fr}}.status i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#94a3b8;margin-right:5px}.status i.on{background:#22c55e}.status i.bad{background:#f59e0b}
.login{max-width:380px;margin:9vh auto}
