:root{--bg:#f3f4f6;--panel:#fff;--panel-border:#e5e7eb;--text:#1f2937;--text-secondary:#6b7280;--muted:#9ca3af;--accent:#0d9488;--accent-light:#ccfbf1;--ok:#22c55e;--warn:#f59e0b;--err:#ef4444;--info:#3b82f6;--radius:12px;--radius-sm:8px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,sans-serif}.metrics-row{background:var(--panel);border-bottom:1px solid var(--panel-border);gap:12px;padding:10px 20px;display:flex}.metric-card{background:var(--bg);border:1px solid var(--panel-border);border-radius:var(--radius-sm);flex:1;padding:10px 14px}.metric-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:2px;font-size:10px}.metric-value{font-size:16px;font-weight:600}.header{background:var(--panel);border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;padding:10px 20px;display:flex}.header-title{color:var(--accent);font-size:16px;font-weight:700}.header-actions{gap:8px;display:flex}.btn{border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--panel);color:var(--text);cursor:pointer;padding:7px 16px;font-size:13px;font-weight:600}.btn:hover{background:var(--bg)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-danger{background:var(--err);color:#fff;border-color:var(--err)}.btn-icon{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex}.main-layout{grid-template-columns:300px 1fr;height:calc(100vh - 49px);display:grid}.phone-column{background:var(--bg);border-right:1px solid var(--panel-border);flex-direction:column;padding:20px;display:flex;overflow-y:auto}.phone-frame{background:var(--panel);border:1px solid var(--panel-border);border-radius:32px;flex-shrink:0;padding:12px;box-shadow:0 4px 16px #00000014}.phone-notch{background:#1f2937;border-radius:0 0 14px 14px;width:70px;height:20px;margin:0 auto 12px}.phone-body{text-align:center;padding:20px 12px}.phone-avatar{background:var(--accent-light);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 12px;display:flex}.phone-avatar svg{width:32px;height:32px;color:var(--accent)}.phone-name{margin-bottom:4px;font-size:18px;font-weight:700}.call-status{margin-bottom:16px;font-size:13px;font-weight:600}.call-status.idle{color:var(--muted)}.call-status.connecting{color:var(--warn)}.call-status.connected{color:var(--ok)}.call-status.disconnected,.call-status.error{color:var(--err)}.call-status:before{content:"";vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.call-status.idle:before{background:var(--muted)}.call-status.connecting:before{background:var(--warn);animation:1.5s infinite pulse}.call-status.connected:before{background:var(--ok);animation:1.5s infinite pulse}.call-status.disconnected:before,.call-status.error:before{background:var(--err)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}canvas#waveform{width:100%;height:40px;margin:12px 0}.phone-controls{justify-content:center;gap:16px;margin-top:16px;display:flex}.phone-btn{background:var(--bg);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .12s;display:flex}.phone-btn:hover{background:var(--panel-border)}.phone-btn.muted{background:var(--accent);color:#fff}.phone-btn:disabled{opacity:.4;cursor:not-allowed}.phone-btn svg{width:20px;height:20px}.phone-btn-label{color:var(--muted);text-align:center;margin-top:4px;font-size:10px}.phone-btn-label.active{color:var(--accent);font-weight:600}.phone-control-group{flex-direction:column;align-items:center;display:flex}.phone-end-call{justify-content:center;margin-top:16px;display:flex}.phone-btn-end{background:var(--err);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.phone-btn-end:hover{opacity:.85}.phone-btn-end:disabled{opacity:.4;cursor:not-allowed}.phone-btn-end svg{width:22px;height:22px}.caller-drawer{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);margin-top:16px;overflow:hidden}.caller-drawer-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;font-weight:600;display:flex}.caller-drawer-header:hover{background:var(--bg)}.caller-drawer-body{border-top:1px solid var(--panel-border);padding:12px 14px}.caller-drawer-body.collapsed{display:none}.field{margin-bottom:10px}.field-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:4px;font-size:11px;font-weight:600}.field-input{border:1px solid var(--panel-border);border-radius:var(--radius-sm);width:100%;color:var(--text);background:var(--panel);padding:7px 10px;font-size:13px}.field-select{border:1px solid var(--panel-border);border-radius:var(--radius-sm);width:100%;color:var(--text);background:var(--panel);cursor:pointer;padding:7px 10px;font-size:13px}.console-column{background:var(--panel);flex-direction:column;display:flex;overflow:hidden}.console-tabs{border-bottom:1px solid var(--panel-border);display:flex}.console-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 20px;font-size:13px;font-weight:500}.console-tab:hover{color:var(--text)}.console-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.console-body{flex:1;padding:12px 16px;overflow-y:auto}.event-row{border-bottom:1px solid #00000008;align-items:flex-start;gap:10px;padding:5px 0;font-size:13px;display:flex}.event-ts{color:var(--muted);min-width:85px;padding-top:2px;font-family:SF Mono,monospace;font-size:11px}.event-tag{text-transform:uppercase;letter-spacing:.04em;text-align:center;border-radius:4px;min-width:68px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.tag-system{color:#1e40af;background:#dbeafe}.tag-info{color:#3730a3;background:#e0e7ff}.tag-response,.tag-ai{color:#065f46;background:#d1fae5}.tag-error{color:#991b1b;background:#fee2e2}.tag-tool{color:#92400e;background:#fef3c7}.tag-user{color:#155e75;background:#cffafe}.event-content{flex:1;line-height:1.5}.response-bubble{background:var(--accent-light);border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-top:3px;padding:6px 10px}.tool-card{border-radius:var(--radius-sm);background:#fffbeb;border:1px solid #fde68a;margin:6px 0;font-size:12px}.tool-card-header{cursor:pointer;color:#92400e;align-items:center;gap:6px;padding:7px 10px;font-weight:600;display:flex}.tool-card-header:hover{background:#fef3c7}.tool-card-body{white-space:pre-wrap;word-break:break-all;background:#fffef5;border-top:1px solid #fde68a;max-height:200px;padding:7px 10px;font-family:monospace;font-size:11px;overflow-y:auto}.dot-pending{color:var(--warn)}.dot-done{color:var(--ok)}.dot-error{color:var(--err)}.command-bar{border-top:1px solid var(--panel-border);align-items:center;gap:8px;padding:10px 16px;display:flex}.command-prompt{color:var(--accent);font-size:16px;font-weight:700}.command-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:13px}.command-input::placeholder{color:var(--muted)}.command-send{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.settings-overlay{z-index:100;background:#0000004d;position:fixed;inset:0}.settings-drawer{background:var(--panel);border-left:1px solid var(--panel-border);z-index:101;width:340px;height:100vh;position:fixed;top:0;right:0;overflow-y:auto;box-shadow:-4px 0 20px #0000001a}.settings-header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;padding:14px 20px;font-size:16px;font-weight:600;display:flex}.settings-body{padding:16px 20px}.settings-section{margin-bottom:20px}.settings-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:10px;font-size:11px;font-weight:700}.instructions-editor{flex-direction:column;height:100%;display:flex}.instructions-editor textarea{border:1px solid var(--panel-border);border-radius:var(--radius-sm);resize:none;width:100%;color:var(--text);flex:1;padding:12px;font-family:SF Mono,monospace;font-size:12px;line-height:1.6}.status-badge{text-transform:uppercase;border-radius:12px;padding:2px 8px;font-size:10px;font-weight:700}.badge-connected{color:#065f46;background:#d1fae5}.console-drawer-toggle{display:none}@media (width<=768px){.metrics-row{display:none}.main-layout{flex-direction:column;height:calc(100vh - 49px);display:flex;overflow:hidden}.phone-column{border-right:none;flex:1;min-height:0;padding:16px;overflow-y:auto}.phone-frame{border-radius:28px;padding:10px}.phone-notch{width:60px;height:16px;margin-bottom:8px}.phone-body{padding:16px 10px}.phone-avatar{width:64px;height:64px}.phone-avatar svg{width:28px;height:28px}.phone-name{font-size:16px}.console-column{background:var(--panel);border-top:1px solid var(--panel-border);z-index:50;border-radius:16px 16px 0 0;height:48px;transition:height .3s;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -4px 16px #00000014}.console-column.mobile-expanded{height:65vh}.console-drawer-toggle{cursor:pointer;justify-content:center;align-items:center;padding:6px;display:flex}.console-drawer-handle{background:var(--muted);border-radius:2px;width:36px;height:4px}.console-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0;overflow-x:auto}.console-tabs::-webkit-scrollbar{display:none}.console-tab{white-space:nowrap;padding:8px 14px;font-size:12px}.console-body{flex:1;min-height:0}.event-row{flex-wrap:wrap;gap:4px}.event-ts{min-width:auto;font-size:10px}.event-tag{min-width:56px;font-size:9px}.event-content{flex-basis:100%;font-size:12px}.command-bar{padding:8px 12px}.command-input{font-size:12px}.settings-drawer{width:100vw}.caller-drawer-body{padding:10px 12px}.field{margin-bottom:8px}.field-input,.field-select{padding:8px 10px;font-size:14px}.header{padding:8px 16px}.header-title{font-size:14px}.btn{padding:6px 12px;font-size:12px}.phone-column{padding-bottom:60px}}.badge-disconnected{color:#991b1b;background:#fee2e2}
