:root{--bg: #0f1420;--panel: #171e2e;--panel-2: #1e2740;--border: #2a3654;--text: #e8edf7;--muted: #8b98b8;--accent: #4f8cff;--green: #22c55e;--red: #ef4444;--amber: #f59e0b;--radius: 12px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:8px 14px;cursor:pointer;transition:background .15s,border-color .15s}button:hover{border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.success{background:var(--green);border-color:var(--green);color:#06270f;font-weight:600}button.danger{background:var(--red);border-color:var(--red);color:#fff}button.ghost{background:transparent}button.active-toggle{background:var(--accent);border-color:var(--accent);color:#fff}input,select,textarea{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:9px 12px;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap}.topbar .brand{font-weight:700;letter-spacing:.3px}.topbar .brand span{color:var(--accent)}.badge{font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.badge.on{color:var(--green);border-color:var(--green)}.badge.off{color:var(--red);border-color:var(--red)}.topbar .spacer{flex:1}.topbar .who{color:var(--muted);font-size:13px}.tabs{display:flex;gap:6px;padding:10px 16px 0;flex-wrap:wrap}.tabs button{border-radius:8px 8px 0 0;border-bottom:none}.tabs button.on{background:var(--panel);border-color:var(--border);color:var(--accent);font-weight:600}.tab-dot{display:inline-block;min-width:18px;padding:0 5px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;margin-left:6px}.main{flex:1;overflow:auto;padding:16px}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card h3{font-size:14px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:12px}.login-wrap{display:grid;place-items:center;height:100%;padding:20px}.login-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:12px}.login-card h1{font-size:22px;text-align:center;margin-bottom:4px}.login-card h1 span{color:var(--accent)}.login-card .sub{text-align:center;color:var(--muted);font-size:13px;margin-bottom:8px}.error{color:var(--red);font-size:13px}.hint{color:var(--muted);font-size:12px}.dial-display{font-size:24px;text-align:center;letter-spacing:2px;padding:12px;min-height:52px}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.keypad button{padding:14px 0;font-size:18px}.dial-actions{display:flex;gap:8px;margin-top:12px}.dial-actions button{flex:1}.call-item{border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:10px;background:var(--panel-2)}.call-item .head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.call-item .num{font-size:17px;font-weight:600}.call-item .state{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.call-item .state.active{color:var(--green)}.call-item .state.incoming{color:var(--amber);animation:pulse 1s infinite}.call-controls{display:flex;gap:6px;flex-wrap:wrap}@keyframes pulse{50%{opacity:.4}}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:var(--muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px;padding:6px 8px}td{padding:8px;border-top:1px solid var(--border)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mt{margin-top:12px}.muted{color:var(--muted);font-size:13px}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--muted);margin-right:6px}.status-dot.on{background:var(--green)}.status-dot.busy{background:var(--red)}.status-dot.paused{background:var(--amber)}.chat-layout{display:grid;grid-template-columns:300px 1fr;gap:16px;height:calc(100vh - 160px);min-height:400px}.chat-list{overflow:auto}.chat-list-item{padding:10px 12px;border-radius:10px;cursor:pointer;border:1px solid transparent;margin-bottom:6px}.chat-list-item:hover{background:var(--panel-2)}.chat-list-item.sel{background:var(--panel-2);border-color:var(--accent)}.chat-list-item .top{display:flex;justify-content:space-between}.chat-list-item .name{font-weight:600;font-size:14px}.chat-list-item .preview{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.chan-badge{font-size:10px;padding:2px 7px;border-radius:999px;text-transform:uppercase;font-weight:700}.chan-badge.whatsapp{background:#075e54;color:#d9fdd3}.chan-badge.messenger{background:#0084ff33;color:#7ab8ff}.chat-pane{display:flex;flex-direction:column;overflow:hidden}.chat-msgs{flex:1;overflow:auto;display:flex;flex-direction:column;gap:8px;padding:8px 4px}.bubble{max-width:75%;padding:9px 13px;border-radius:14px;font-size:14px;line-height:1.4}.bubble.customer{background:var(--panel-2);align-self:flex-start;border-bottom-left-radius:4px}.bubble.agent{background:var(--accent);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.bubble.system{background:transparent;color:var(--muted);align-self:center;font-size:12px;font-style:italic}.bubble .meta{font-size:10px;opacity:.7;margin-top:4px}.chat-compose{display:flex;gap:8px;margin-top:10px}.chat-compose input{flex:1}@media (max-width: 760px){.main{padding:10px}.grid{grid-template-columns:1fr}.chat-layout{grid-template-columns:1fr;height:auto}.chat-pane{height:60vh}.topbar{padding:8px 10px}.topbar .who{display:none}}
