:root{--bg:#f5f5f5;--surface:#fff;--surface-2:#fafafa;--border:#e4e4e4;--border-2:#cfcfcf;--text:#0a0a0a;--text-2:#4a4a4a;--muted:#8a8a8a;--primary:#0a0a0a;--primary-2:#2b2b2b;--accent:#0a0a0a;--ok:#1a7f37;--warn:#6b6b6b;--danger:#b42318;--radius:10px;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input,select,textarea{font:inherit}.app{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#0a0a0a;border-right:1px solid #1f1f1f;flex-direction:column;gap:4px;padding:22px 14px;display:flex}.sidebar .brand{letter-spacing:.2px;text-transform:uppercase;margin-bottom:18px;padding:0 10px;font-size:16px;font-weight:800}.sidebar .brand small{opacity:.6;text-transform:none;letter-spacing:0;margin-top:2px;font-size:12px;font-weight:400;display:block}.sidebar button{text-align:left;color:#bdbdbd;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px 12px;font-weight:500}.sidebar button:hover{color:#fff;background:#1c1c1c}.sidebar button.active{color:#0a0a0a;background:#fff;font-weight:700}.sidebar .spacer{flex:1}.sidebar .user{opacity:.6;word-break:break-all;padding:8px 12px;font-size:12px}.main{max-width:1400px;padding:24px 28px}h1{letter-spacing:-.2px;margin:0 0 16px;font-size:22px}h2{text-transform:uppercase;letter-spacing:.4px;color:var(--text-2);margin:0 0 10px;font-size:15px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (width<=1000px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr 1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.card.sub{background:var(--surface-2)}.kpi .label{color:var(--text-2);text-transform:uppercase;letter-spacing:.4px;font-size:12px}.kpi .value{letter-spacing:-.5px;margin-top:4px;font-size:28px;font-weight:800}.kpi .sub{color:var(--muted);margin-top:2px;font-size:12px}.btn{background:var(--primary);color:#fff;border:1px solid var(--primary);cursor:pointer;border-radius:8px;padding:10px 16px;font-weight:600;transition:background .12s,color .12s,border-color .12s}.btn:hover{background:var(--primary-2);border-color:var(--primary-2)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.secondary{color:var(--text);border-color:var(--border-2);background:#fff}.btn.secondary:hover{border-color:var(--text);background:#f0f0f0}.btn.danger{background:var(--danger);border-color:var(--danger)}.btn.danger:hover{background:#8f1c13;border-color:#8f1c13}.btn.ok{background:var(--ok);border-color:var(--ok)}.btn.ok:hover{background:#14602a;border-color:#14602a}.btn.lg{padding:14px 24px;font-size:16px}label.field{color:var(--text-2);flex-direction:column;gap:4px;font-size:13px;display:flex}input,select,textarea{border:1px solid var(--border-2);color:var(--text);background:#fff;border-radius:8px;width:100%;padding:9px 10px}input:focus,select:focus,textarea:focus{outline-offset:-1px;outline:2px solid #0a0a0a}textarea{resize:vertical;min-height:70px}table{border-collapse:collapse;width:100%;font-size:13.5px}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:9px 10px}th{color:var(--text-2);text-transform:uppercase;letter-spacing:.3px;font-size:12px;font-weight:600}tr:hover td{background:var(--surface-2)}.pill{color:var(--text-2);background:#efefef;border:1px solid #0000;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.pill.na_fila,.pill.a_tocar,.pill.a_marcar{color:var(--text);border-color:var(--border-2);background:#fff}.pill.em_chamada,.pill.ligada{color:#fff;background:#0a0a0a}.pill.a_recontactar,.pill.qualificada{color:var(--text);background:#e4e4e4}.pill.reuniao_marcada{color:var(--ok);background:#e7f3ea;border-color:#bfe0c8}.pill.nao_interessada,.pill.nao_atendeu,.pill.sem_resposta,.pill.ocupado,.pill.voicemail{color:#6b6b6b;background:#f3f3f3}.pill.numero_invalido,.pill.nao_ligar,.pill.falhou,.pill.cancelada{color:var(--danger);background:#fbeae8;border-color:#f1c6c1}.phase{color:var(--text-2);background:#efefef;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.phase.dialing,.phase.ringing{color:#fff;background:#0a0a0a;animation:1.5s infinite pulse}.phase.talking{background:var(--ok);color:#fff;animation:1.5s infinite pulse}.phase.wrapup{color:var(--text);background:#e4e4e4}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.scale{gap:6px;display:flex}.scale button{border:1px solid var(--border-2);cursor:pointer;background:#fff;border-radius:8px;width:40px;height:36px;font-weight:600}.scale button:hover{border-color:var(--text)}.scale button.on{background:var(--primary);color:#fff;border-color:var(--primary)}.dtp{grid-template-columns:1fr auto auto;align-items:center;gap:6px;display:grid}.dtp select{width:auto;min-width:72px}.dtp .sep{color:var(--muted);font-weight:700}.avail{border:1px solid var(--text);background:#fff}.avail .day{border-top:1px solid var(--border);grid-template-columns:110px 1fr;align-items:start;gap:8px;padding:7px 0;display:grid}.avail .day.empty{opacity:.5}.avail .slot{border:1px solid var(--border-2);cursor:pointer;background:#fff;border-radius:6px;padding:5px 10px;font-size:13px;font-weight:600}.avail .slot:hover{border-color:var(--text);background:#f0f0f0}.avail .slot.on{background:var(--text);color:#fff;border-color:var(--text)}.login{place-items:center;min-height:100vh;display:grid}.login .card{width:360px}.muted{color:var(--muted);font-size:13px}.error{color:var(--danger);font-size:13px}.ok-text{color:var(--ok);font-size:13px}.log{color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;max-height:160px;padding:8px;font-family:ui-monospace,monospace;font-size:12px;overflow:auto}.history{font-size:13px}.history li{margin-bottom:6px}.dropzone{border:2px dashed var(--border-2);border-radius:var(--radius);text-align:center;color:var(--text-2);padding:28px}details.card>summary{list-style:none}details.card>summary::-webkit-details-marker{display:none}.softphone-widget{z-index:1000;color:#fff;background:#0a0a0a;border-radius:12px;min-width:280px;max-width:360px;padding:10px 12px;font-size:13px;position:fixed;top:12px;right:16px;box-shadow:0 8px 24px #00000040}.softphone-widget .sw-top{opacity:.85;text-transform:uppercase;letter-spacing:.3px;justify-content:space-between;align-items:center;font-size:11px;display:flex}.softphone-widget .sw-top button{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:6px;padding:2px 8px;font-size:11px}.softphone-widget .sw-main{margin-top:6px;font-size:14px;font-weight:700}.softphone-widget .sw-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.softphone-widget .sw-actions button{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:8px;padding:6px 10px;font-weight:600}.softphone-widget .sw-actions button.primary{color:#0a0a0a;background:#fff;border-color:#fff}.softphone-widget .sw-actions button.danger{background:#c62828;border-color:#c62828}.softphone-widget.ringing{animation:1s ease-in-out infinite sw-pulse}.softphone-widget.talking{border:2px solid #2e7d32}@keyframes sw-pulse{0%,to{box-shadow:0 8px 24px #00000040}50%{box-shadow:0 0 0 10px #c6282859,0 8px 24px #00000040}}
