:root{--brand:#2a78d6;--brand-deep:#1c5cab;--brand-soft:#e3eefb;--brand-softer:#f1f6fd;--ink:#0b0b0b;--mut:#52514e;--mut2:#898781;--mut3:#a8a29e;--line:#e1e0d9;--line2:#eeede8;--bg:#f9f9f7;--card:#ffffff;--ok:#0ca30c;--ok-tx:#006300;--warn:#b97800;--serious:#c05621;--err:#d03b3b;--side-bg1:#12203a;--side-bg2:#1a2c4e;--side-bg3:#243a63;--side-tx1:#f5f7fa;--side-tx2:#c9d4e6;--side-tx3:#93a5c4}*{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.45}a{color:var(--brand);text-decoration:none}button{font-family:inherit}.shell{display:flex;min-height:100vh}.side{width:218px;background:linear-gradient(180deg,var(--side-bg1),var(--side-bg2));color:var(--side-tx2);padding:18px 12px;display:flex;flex-direction:column;gap:2px;flex-shrink:0}.side .logo{color:var(--side-tx1);font-weight:700;font-size:15px;padding:4px 10px 16px}.side .logo small{display:block;font-weight:400;font-size:11px;color:var(--side-tx3)}.side a{display:block;color:var(--side-tx2);padding:9px 12px;border-radius:8px;font-size:13.5px}.side a:hover{background:var(--side-bg3);color:var(--side-tx1)}.side a.on{background:var(--brand);color:#fff;font-weight:600}.side .foot{margin-top:auto;padding:10px;font-size:11px;color:var(--side-tx3)}.side .foot button{background:none;border:1px solid var(--side-bg3);color:var(--side-tx2);border-radius:7px;padding:6px 12px;font-size:12px;cursor:pointer;width:100%;margin-top:8px}main.page{flex:1;padding:22px 26px;max-width:1240px}h1.pt{font-size:18px;font-weight:650;margin-bottom:2px}.psub{color:var(--mut2);font-size:12.5px;margin-bottom:18px}@media (max-width:820px){.shell{flex-direction:column}.side{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center;padding:8px}.side .logo{padding:4px 10px}.side .foot{margin:0 0 0 auto;display:flex;align-items:center;gap:8px}main.page{padding:16px}}.card{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:16px 18px;margin-bottom:14px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width:980px){.grid2{grid-template-columns:1fr}}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:14px}.tile{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:13px 15px}.tile .lab{color:var(--mut);font-size:11.5px;margin-bottom:4px}.tile .val{font-size:24px;font-weight:650}.tile .del{font-size:11.5px;color:var(--mut2);margin-top:2px}.btn{background:var(--brand);color:#fff;border:0;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.sec{background:none;color:var(--brand);border:1px solid var(--brand)}.btn.ghost{background:none;color:var(--mut);border:1px solid var(--line)}.btn.sm{padding:5px 10px;font-size:12px;border-radius:7px}.btn.wa{background:#128c50}.btn.danger{background:none;color:var(--err);border:1px solid var(--err)}.field{background:var(--card);color:var(--ink);border:1px solid #c9c8c1;border-radius:8px;padding:8px 10px;font-size:13.5px;font-family:inherit}.flabel{display:block;font-size:11.5px;font-weight:600;color:var(--mut);margin:10px 0 4px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid #c9c8c1;background:var(--card);color:var(--mut);border-radius:16px;padding:4px 11px;font-size:12px;cursor:pointer}.chip.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-deep);font-weight:600}.err{color:var(--err);font-size:13px;margin-top:8px}.okmsg{color:var(--ok-tx);font-size:13px;margin-top:8px}table.tb{width:100%;border-collapse:collapse;font-size:12.8px}.tb th{color:var(--mut2);font-weight:600;text-align:left;padding:7px 8px;border-bottom:1px solid #c9c8c1;font-size:11.5px;white-space:nowrap}.tb td{padding:7px 8px;border-bottom:1px solid var(--line2);vertical-align:middle}.tb td.num,.tb th.num{text-align:right;font-variant-numeric:tabular-nums}.tb tr:hover td{background:var(--brand-softer)}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:16px;padding:1.5px 9px;font-size:11px;font-weight:600;white-space:nowrap}.pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.pill.fila{color:var(--brand-deep);background:var(--brand-soft)}.pill.em_tentativa{color:var(--warn);background:#fdf3df}.pill.tel_desatualizado{color:var(--serious);background:#fdeadf}.pill.convertido{color:var(--ok-tx);background:#e3f6e3}.pill.sem_sucesso{color:var(--mut);background:var(--line2)}.pill.nao_contactar{color:var(--err);background:#fbe5e5}.pill.mut{color:var(--mut);background:var(--line2)}.prog{height:8px;background:var(--line2);border-radius:5px;overflow:hidden;min-width:70px}.prog i{display:block;height:100%;background:var(--ok);border-radius:5px}.hb{display:grid;grid-template-columns:120px 1fr 58px;align-items:center;gap:9px;margin:6px 0}.hb .n{font-size:12px;color:var(--mut);text-align:right;white-space:nowrap}.hb .t{height:16px}.hb .b{height:16px;background:var(--brand);border-radius:0 4px 4px 0;min-width:2px}.hb .v{font-size:11.5px;color:var(--mut);font-variant-numeric:tabular-nums}.kb{display:grid;grid-template-columns:repeat(6,minmax(200px,1fr));gap:9px;overflow-x:auto;align-items:start}@media (max-width:1200px){.kb{grid-template-columns:repeat(6,230px)}}.kcol{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:7px;min-height:160px}.kcol h3{font-size:11.5px;font-weight:650;color:var(--mut);padding:4px 5px 7px;display:flex;justify-content:space-between}.kcard{background:var(--card);border:1px solid var(--line);border-left:3.5px solid var(--brand);border-radius:8px;padding:8px 10px;margin-bottom:7px;font-size:12.2px;cursor:pointer}.kcard:hover{border-color:var(--brand)}.kcard .nm{font-weight:650;font-size:12.6px}.kcard .mt{color:var(--mut2);font-size:11.2px;line-height:1.5;margin-top:2px}.kcol.em_tentativa .kcard{border-left-color:var(--warn)}.kcol.tel_desatualizado .kcard{border-left-color:var(--serious)}.kcol.convertido .kcard{border-left-color:var(--ok)}.kcol.sem_sucesso .kcard{border-left-color:var(--mut3)}.kcol.nao_contactar .kcard{border-left-color:var(--err)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e1480;display:flex;align-items:center;justify-content:center;z-index:100;padding:14px}.modal{background:var(--card);border-radius:13px;max-width:600px;width:100%;max-height:92vh;overflow:auto}.modal .mh{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.modal .mh h2{font-size:15px}.modal .mh .x{background:none;border:0;font-size:16px;cursor:pointer;color:var(--mut2)}.modal .mb{padding:16px 18px}.tmpl{border:1px solid var(--line);border-radius:8px;padding:9px 11px;margin:7px 0;cursor:pointer;font-size:12.6px}.tmpl:hover{border-color:var(--brand);background:var(--brand-softer)}.tmpl .tn{font-weight:650;font-size:11.5px;color:var(--brand-deep);margin-bottom:2px}.fonebox{border:1px solid var(--line);border-radius:9px;padding:7px 11px;font-size:13px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:16px}.login-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:30px;width:100%;max-width:380px}.login-card h1{font-size:18px;margin-bottom:2px}.login-card .sub{color:var(--mut2);font-size:12.5px;margin-bottom:14px}.login-card input{width:100%}.login-card .btn{width:100%;margin-top:16px}.sm{font-size:12px}.mut{color:var(--mut)}.mut2{color:var(--mut2)}.b{font-weight:650}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.spacer{flex:1}
