*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--kc-purple: #390179;--kc-purple-light: #5b21b6;--kc-purple-lighter: #7c3aed;--kc-purple-subtle: #ede9fe;--kc-purple-glow: rgba(57, 1, 121, .15);--red: #ef4444;--red-hover: #dc2626;--green: #22c55e;--green-glow: rgba(34, 197, 94, .2);--orange: #f59e0b;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition: .18s ease}[data-theme=light]{--bg-body: #f5f3ff;--bg-sidebar: #ffffff;--bg-card: #ffffff;--bg-input: #f9fafb;--bg-input-focus: #ffffff;--bg-hover: #f3f0ff;--bg-key: #f3f4f6;--bg-key-hover: #ede9fe;--bg-key-active: #ddd6fe;--bg-status-bar: #f9fafb;--border: #e5e7eb;--border-light: #f3f4f6;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--text-on-purple: #ffffff;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 30px rgba(0,0,0,.12);--shadow-card: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04)}[data-theme=dark]{--bg-body: #0f0a1a;--bg-sidebar: #1a1128;--bg-card: #1e1533;--bg-input: #251c3a;--bg-input-focus: #2d2245;--bg-hover: #2d2245;--bg-key: #251c3a;--bg-key-hover: #332750;--bg-key-active: #3d2f5c;--bg-status-bar: #160e24;--border: #2d2245;--border-light: #251c3a;--text-primary: #f3f0ff;--text-secondary: #a78bfa;--text-muted: #6d5a8a;--text-on-purple: #ffffff;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 8px 30px rgba(0,0,0,.5);--shadow-card: 0 1px 3px rgba(0,0,0,.3);--kc-purple-subtle: #251c3a;--kc-purple-glow: rgba(124, 58, 237, .2);--green-glow: rgba(34, 197, 94, .15)}html,body,#root{height:100%;background:var(--bg-body);color:var(--text-primary);font-family:var(--font);-webkit-font-smoothing:antialiased;transition:background var(--transition),color var(--transition)}.app-layout{display:flex;height:100vh}.sidebar{width:260px;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0;transition:background var(--transition),border var(--transition);box-shadow:var(--shadow-sm);z-index:10}.sidebar-top{display:flex;flex-direction:column}.sidebar-logo{display:flex;align-items:center;gap:12px;padding:24px 24px 20px;font-size:18px;font-weight:700;color:var(--kc-purple)}[data-theme=dark] .sidebar-logo{color:var(--kc-purple-lighter)}.sidebar-logo svg{flex-shrink:0}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:0 12px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 16px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:14px;font-weight:500;font-family:var(--font);cursor:pointer;transition:all var(--transition)}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--kc-purple-subtle);color:var(--kc-purple);font-weight:600}[data-theme=dark] .nav-item.active{color:var(--kc-purple-lighter)}.sidebar-bottom{padding:16px;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--border)}.theme-toggle{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:var(--radius-sm);background:var(--bg-input);transition:background var(--transition)}.theme-toggle-label{font-size:12px;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.toggle-switch{position:relative;width:40px;height:22px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border);border-radius:11px;transition:background var(--transition)}.toggle-slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform var(--transition)}.toggle-switch input:checked+.toggle-slider{background:var(--kc-purple)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.connection-status{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-input);transition:background var(--transition)}.status-row{display:flex;align-items:center;justify-content:space-between;font-size:12px}.status-row-left{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-weight:500}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot.green{background:var(--green);box-shadow:0 0 6px var(--green)}.status-dot.orange{background:var(--orange);animation:blink 1.2s ease-in-out infinite}.status-dot.red{background:var(--red)}.status-badge{font-size:11px;font-weight:600;padding:1px 8px;border-radius:10px}.status-badge.connected{background:var(--green-glow);color:var(--green)}.status-badge.connecting{background:#f59e0b26;color:var(--orange)}.status-badge.disconnected{background:#ef44441f;color:var(--red)}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}.agent-info{display:flex;align-items:center;gap:10px;padding:4px 0}.agent-avatar{width:36px;height:36px;border-radius:50%;background:var(--kc-purple);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.agent-details{display:flex;flex-direction:column;flex:1;min-width:0}.agent-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-email{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-logout{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:6px;transition:all var(--transition);display:flex;align-items:center}.btn-logout:hover{color:var(--red);background:#ef444414}.main-content{flex:1;display:flex;align-items:center;justify-content:center;padding:32px;overflow-y:auto}.dialer-container{display:flex;align-items:center;justify-content:center;width:100%}.dialer-panel{width:420px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 32px 32px;display:flex;flex-direction:column;gap:24px;box-shadow:var(--shadow-lg);transition:background var(--transition),border var(--transition),box-shadow var(--transition)}.dialer-header{display:flex;align-items:center;justify-content:space-between}.dialer-header h2{font-size:20px;font-weight:700;color:var(--text-primary)}.dialer-header-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:12px;background:var(--kc-purple-subtle);color:var(--kc-purple)}[data-theme=dark] .dialer-header-badge{color:var(--kc-purple-lighter)}.phone-input-wrapper{position:relative}.phone-input{width:100%;padding:16px 50px 16px 20px;background:var(--bg-input);border:2px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font);font-size:24px;font-weight:600;letter-spacing:1.5px;text-align:center;outline:none;transition:all var(--transition)}.phone-input::placeholder{color:var(--text-muted);font-size:16px;font-weight:400;letter-spacing:0}.phone-input:focus{border-color:var(--kc-purple);background:var(--bg-input-focus);box-shadow:0 0 0 4px var(--kc-purple-glow)}.phone-input:disabled{opacity:.6}.btn-backspace{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;transition:color var(--transition)}.btn-backspace:hover{color:var(--text-primary)}.dialpad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dialpad-key{display:flex;flex-direction:column;align-items:center;justify-content:center;height:72px;background:var(--bg-key);border:1px solid transparent;border-radius:var(--radius);cursor:pointer;transition:all .12s ease;-webkit-user-select:none;user-select:none}.dialpad-key:hover{background:var(--bg-key-hover);border-color:var(--border);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.dialpad-key:active{transform:scale(.96);background:var(--bg-key-active)}.key-digit{font-size:26px;font-weight:600;color:var(--text-primary);line-height:1}.key-letters{font-size:9px;font-weight:600;color:var(--text-muted);letter-spacing:2.5px;margin-top:3px;text-transform:uppercase}.call-controls{display:flex;align-items:center;justify-content:center;gap:16px;padding-top:4px}.btn-call{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:56px;border:none;border-radius:var(--radius);background:var(--kc-purple);color:#fff;font-family:var(--font);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition);letter-spacing:.3px}.btn-call:hover:not(:disabled){background:var(--kc-purple-light);box-shadow:0 4px 20px var(--kc-purple-glow);transform:translateY(-1px)}.btn-call:active:not(:disabled){transform:translateY(0)}.btn-call:disabled{opacity:.4;cursor:not-allowed}.btn-hangup{width:64px;height:64px;border:none;border-radius:50%;background:var(--red);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition);box-shadow:0 4px 12px #ef44444d}.btn-hangup:hover{background:var(--red-hover);box-shadow:0 6px 20px #ef444466;transform:scale(1.05)}.btn-control{width:52px;height:52px;border:none;border-radius:50%;background:var(--bg-key);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.btn-control:hover{background:var(--bg-key-hover);color:var(--text-primary)}.btn-control.active{background:var(--red);color:#fff;box-shadow:0 2px 8px #ef44444d}.call-status{text-align:center;padding:16px;border-radius:var(--radius);background:var(--kc-purple-subtle);border:1px solid var(--border);transition:all var(--transition)}.call-status.connecting,.call-status.ringing{animation:statusPulse 1.8s ease-in-out infinite}.call-status-indicator{display:flex;align-items:center;justify-content:center;gap:10px}.pulse-dot{width:10px;height:10px;border-radius:50%;background:var(--green);animation:pulse 1s ease-in-out infinite}.call-status-label{font-size:18px;font-weight:700;color:var(--kc-purple)}[data-theme=dark] .call-status-label{color:var(--kc-purple-lighter)}.call-status.closed .call-status-label{color:var(--red)}.call-status-number{font-size:13px;color:var(--text-muted);margin-top:6px;font-weight:500}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}@keyframes statusPulse{0%,to{background:var(--kc-purple-subtle)}50%{background:var(--bg-hover)}}.login-container{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-body)}.login-card{width:420px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:44px 40px;box-shadow:var(--shadow-lg);transition:background var(--transition),border var(--transition)}.login-logo{text-align:center;margin-bottom:36px}.logo-icon{display:flex;justify-content:center;margin-bottom:14px}.login-logo h1{font-size:28px;font-weight:700;color:var(--kc-purple)}[data-theme=dark] .login-logo h1{color:var(--kc-purple-lighter)}.login-subtitle{color:var(--text-muted);font-size:14px;margin-top:4px;font-weight:500}.login-error{background:#ef444414;border:1px solid rgba(239,68,68,.2);color:var(--red);padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:18px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.form-group input{width:100%;padding:12px 16px;background:var(--bg-input);border:2px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font);font-size:14px;outline:none;transition:all var(--transition)}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus{border-color:var(--kc-purple);background:var(--bg-input-focus);box-shadow:0 0 0 4px var(--kc-purple-glow)}.btn-login{width:100%;padding:14px;background:var(--kc-purple);border:none;border-radius:var(--radius-sm);color:#fff;font-family:var(--font);font-size:15px;font-weight:600;cursor:pointer;transition:all var(--transition);margin-top:8px}.btn-login:hover:not(:disabled){background:var(--kc-purple-light);box-shadow:0 4px 16px var(--kc-purple-glow)}.btn-login:disabled{opacity:.5;cursor:not-allowed}.history-container{width:100%;max-width:680px}.history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.history-header h2{font-size:22px;font-weight:700}.history-count{font-size:13px;color:var(--text-muted);background:var(--bg-card);padding:4px 14px;border-radius:20px;border:1px solid var(--border);font-weight:500}.history-loading,.history-empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.history-empty svg{margin-bottom:16px;opacity:.4}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:all var(--transition);box-shadow:var(--shadow-card)}.history-item:hover{background:var(--bg-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.history-item-icon{width:40px;height:40px;border-radius:50%;background:var(--kc-purple-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0}.history-item-info{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.history-number{font-size:14px;font-weight:600}.history-time{font-size:12px;color:var(--text-muted)}.history-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.history-duration{font-size:12px;color:var(--text-muted);font-weight:500}.badge{font-size:11px;font-weight:600;padding:2px 10px;border-radius:10px}.badge-success{background:var(--green-glow);color:var(--green)}.badge-info{background:#3b82f61a;color:#3b82f6}.badge-warn{background:#f59e0b1a;color:var(--orange)}.badge-error{background:#ef44441a;color:var(--red)}
