:root,[data-theme=dark]{--bg-body:#171320;--bg-sidebar:#171320d9;--bg-header:#171320d9;--bg-elevated:#20192e;--bg-surface:#20192e99;--bg-card:#20192e;--bg-input:#171320cc;--border:#f8f6f21a;--border-hover:#f8f6f233;--border-card:#f8f6f214;--border-highlight:#9560f066;--text-primary:#f8f6f2;--text-secondary:#d1cdd8;--text-muted:#968fa3;--text-label:#968fa3;--accent:#f87c5d;--accent-hover:#fa9b84;--accent-glow:#f87c5d59;--accent-bg:#f87c5d1f;--green:#25d366;--green-glow:#25d36626;--red:#f43f5e;--red-glow:#f43f5e26;--yellow:#f59e0b;--yellow-glow:#f59e0b26;--blue:#9560f0;--orange:#f97316;--surface-2:#20192ecc;--surface-3:#2b223dcc;--bg-tertiary:#20192e99;--bg-icon:#f8f6f20d;--card-shadow:0 4px 12px 0 #0003;--card-shadow-hover:0 8px 24px 0 #0000004d, inset 0 1px 0 0 #f8f6f20d;--card-radius:8px;--card-radius-lg:12px;--sidebar-width:280px;--topbar-height:80px;--font-headline:"Space Grotesk", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--transition-fluid:all .3s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-body:#f8f6f2;--bg-sidebar:#f8f6f2d9;--bg-header:#f8f6f2d9;--bg-elevated:#fff;--bg-surface:#fff9;--bg-card:#fff;--bg-input:#1713200d;--border:#17132014;--border-hover:#17132026;--border-card:#1713200f;--border-highlight:#9560f066;--text-primary:#171320;--text-secondary:#4a4453;--text-muted:#827c8f;--text-label:#827c8f;--accent:#f87c5d;--accent-hover:#e06c4f;--accent-glow:#f87c5d40;--accent-bg:#f87c5d1f;--green:#25d366;--green-glow:#25d36626;--red:#f43f5e;--red-glow:#f43f5e26;--yellow:#f59e0b;--yellow-glow:#f59e0b26;--blue:#9560f0;--orange:#f97316;--surface-2:#fffc;--surface-3:#eceae5;--bg-tertiary:#fff9;--bg-icon:#1713200d;--card-shadow:0 4px 12px 0 #0000000d;--card-shadow-hover:0 8px 24px 0 #0000001a, inset 0 1px 0 0 #ffffffb3;--card-radius:8px;--card-radius-lg:12px;--sidebar-width:280px;--topbar-height:80px;--font-headline:"Space Grotesk", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--transition-fluid:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg-body);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}.swiss-tight{letter-spacing:-.025em}.font-headline{font-family:var(--font-headline)}.tracking-widest{letter-spacing:.2em}.text-label{text-transform:uppercase;letter-spacing:.15em;color:var(--text-label);font-size:.625rem;font-weight:700}.app-layout{min-height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);-webkit-backdrop-filter:blur(24px);border-right:1px solid var(--border-card);z-index:100;flex-direction:column;gap:32px;padding:32px 24px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{flex-direction:column;gap:4px;padding:0 8px;display:flex}.sidebar-logo img{width:auto;height:28px}.sidebar-logo-sub{text-transform:uppercase;letter-spacing:.2em;color:var(--text-label);padding-left:2px;font-size:.6rem;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:2px;display:flex}.sidebar-btn{width:100%;height:auto;color:var(--text-muted);cursor:pointer;transition:var(--transition-fluid);text-align:left;letter-spacing:-.015em;background:0 0;border:none;border-radius:6px;align-items:center;gap:12px;padding:12px 16px;font-size:.875rem;display:flex;position:relative}.sidebar-btn:hover{background:var(--bg-elevated);color:var(--text-primary);transform:translate(4px)}.sidebar-btn.active{background:var(--accent-bg);color:var(--accent);font-weight:700}.sidebar-btn svg{flex-shrink:0}.sidebar-label{white-space:nowrap}.sidebar-bottom{margin-top:auto}.main-area{margin-left:var(--sidebar-width);flex-direction:column;flex:1;height:100vh;display:flex;overflow:hidden}.top-bar{z-index:50;background:var(--bg-header);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-card);height:var(--topbar-height);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 48px;display:flex;position:relative}.top-bar-left h1{font-family:var(--font-headline);letter-spacing:-.025em;font-size:1rem;font-weight:700}.top-bar-right{align-items:center;gap:16px;display:flex}.status-chip{color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-card);border-radius:var(--card-radius);align-items:center;gap:6px;padding:6px 14px;font-size:.72rem;font-weight:600;display:flex}.status-chip svg{flex-shrink:0}.status-indicator{border-radius:50%;width:8px;height:8px}.status-indicator.online{background:var(--green);box-shadow:0 0 8px var(--green-glow)}.status-indicator.offline{background:var(--red)}.content{flex:1;padding:40px 48px;overflow:hidden auto}.content>*{max-width:100%}.status-badge-connected{background:var(--green-glow);color:var(--green);border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:.78rem;font-weight:600;display:inline-flex}@media (width<=768px){.sidebar{gap:16px;width:64px;padding:20px 10px}.sidebar-label,.sidebar-logo-sub{display:none}.sidebar-btn{justify-content:center;padding:12px}.sidebar-logo{align-items:center}.sidebar-logo img{height:20px}.main-area{margin-left:64px}.content{padding:20px}.top-bar{padding:0 20px}}.panel{background:var(--bg-elevated);box-shadow:var(--card-shadow);border:1px solid var(--border-card);border-radius:var(--card-radius-lg);transition:var(--transition-fluid);-webkit-backdrop-filter:blur(8px);flex-direction:column;padding:32px;display:flex;overflow:hidden}.panel:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff0f,#0000);height:1px;position:absolute;top:0;left:0;right:0}.panel:hover{box-shadow:var(--card-shadow-hover)}.panel h2{font-family:var(--font-headline);letter-spacing:-.025em;align-items:center;gap:8px;margin-bottom:24px;font-size:1.2rem;font-weight:800;display:flex}.panel h2 svg{color:var(--accent);flex-shrink:0}.panel-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.panel-header h2{margin-bottom:0}.empty{color:var(--text-muted);font-size:.88rem;font-style:italic}.status-bar{display:none}.qr-panel{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.qr-card{background:var(--bg-elevated);box-shadow:var(--card-shadow);border:1px solid var(--border-card);border-radius:var(--card-radius-lg);text-align:center;min-width:280px;padding:28px}.qr-card h3{justify-content:center;align-items:center;gap:8px;margin-bottom:16px;font-size:.95rem;font-weight:500;display:flex}.qr-scan-btn{background:var(--accent);color:#fff;cursor:pointer;transition:var(--transition-fluid);border:none;border-radius:6px;align-items:center;gap:8px;margin:16px 0;padding:10px 24px;font-size:.9rem;font-weight:500;display:inline-flex}.qr-scan-btn:hover{background:var(--accent-hover)}.qr-connected{color:var(--green);justify-content:center;align-items:center;gap:8px;padding:24px;font-size:1.1rem;display:flex}.qr-waiting{color:var(--yellow);justify-content:center;align-items:center;gap:8px;padding:24px;font-size:.9rem;display:flex}.spin{animation:2s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-elevated);border:1px solid var(--border-card);border-radius:16px;min-width:400px;max-width:90%;max-height:90vh;padding:32px 40px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;position:relative;overflow-y:auto;box-shadow:0 32px 80px #00000080,inset 0 1px #ffffff0d}.modal-content h3{justify-content:center;align-items:center;gap:8px;margin-bottom:20px;font-weight:500;display:flex}.modal-lg{text-align:left;flex-direction:column;width:90vw;max-width:620px;max-height:85vh;padding:0;display:flex}.modal-lg h3{justify-content:flex-start;margin-bottom:0}.monitor-modal{width:95vw;max-width:900px}.monitor-modal .modal-header{padding:20px 28px}.monitor-modal .modal-header h3{font-size:1.05rem;font-weight:600}.monitor-modal .modal-body{flex-direction:column;gap:4px;padding:24px 28px;display:flex}.monitor-modal .modal-footer{padding:18px 28px}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.modal-body{flex:1;padding:20px 24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);flex-shrink:0;gap:8px;padding:16px 24px;display:flex}.qr-image-modal{background:#fff;border-radius:6px;width:260px;height:260px}.modal-hint{color:var(--text-muted);margin:14px 0;font-size:.85rem}.modal-close-btn{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;transition:var(--transition-fluid);border-radius:6px;align-items:center;gap:6px;padding:8px 24px;font-size:.85rem;display:inline-flex}.modal-close-btn:hover{border-color:var(--border-hover)}.mode-selector{gap:8px;margin-bottom:16px;display:flex}.mode-btn{background:var(--bg-card);box-shadow:var(--card-shadow);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fluid);border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.88rem;font-weight:500;display:flex}.mode-btn:hover{box-shadow:var(--card-shadow-hover)}.mode-btn.active{background:var(--accent-bg);box-shadow:inset 0 0 0 2px var(--accent);color:var(--accent);font-weight:600}.mode-description{color:var(--text-muted);margin-bottom:20px;font-size:.85rem;line-height:1.5}.connection-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;display:grid}.connection-card{background:var(--bg-card);box-shadow:var(--card-shadow);border:1px solid var(--border-card);border-radius:var(--card-radius-lg);transition:var(--transition-fluid);padding:28px}.connection-card:hover{box-shadow:var(--card-shadow-hover);border-color:var(--accent-glow)}.connection-card-header{font-family:var(--font-headline);letter-spacing:-.025em;align-items:center;gap:12px;margin-bottom:12px;font-size:1rem;font-weight:700;display:flex}.connection-card-desc{color:var(--text-muted);margin-bottom:16px;font-size:.82rem}.client-status{align-items:center;gap:8px;padding:8px 0;font-size:.9rem;display:flex}.client-status.connected{color:var(--green)}.client-status.waiting{color:var(--yellow)}.client-status.disconnected{color:var(--text-muted)}.monitors-list{flex-direction:column;gap:8px;display:flex}.monitor-card{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--green);transition:var(--transition-fluid);border-radius:8px;padding:14px 16px}.monitor-card:hover{border-color:var(--border-hover)}.monitor-card.disabled{opacity:.4;border-left-color:var(--text-muted)}.monitor-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.monitor-name{font-size:.95rem;font-weight:600}.monitor-actions{gap:4px;display:flex}.monitor-details{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.monitor-details svg{vertical-align:-2px;margin-right:4px}.agents-list{flex-direction:column;gap:12px;display:flex}.agent-card{background:var(--bg-card);box-shadow:var(--card-shadow);border:1px solid var(--border-card);border-radius:var(--card-radius-lg);transition:var(--transition-fluid);overflow:hidden}.agent-card:hover{box-shadow:var(--card-shadow-hover);border-color:var(--accent);transform:translateY(-2px)scale(1.005)}.agent-disabled{opacity:.5}.agent-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.agent-card-header:hover{background:var(--bg-elevated)}.agent-identity{align-items:center;gap:12px;min-width:0;display:flex}.agent-emoji{flex-shrink:0;font-size:1.5rem;line-height:1}.agent-info{flex-direction:column;gap:2px;min-width:0;display:flex}.agent-name{font-size:.95rem;font-weight:600}.agent-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.78rem;display:flex}.agent-meta svg{flex-shrink:0}.agent-meta-sep{background:var(--border);width:1px;height:10px}.agent-actions{flex-shrink:0;gap:4px;display:flex}.agent-monitors{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:0;padding:12px 20px 16px;display:flex}.monitor-item{background:var(--bg-surface);border:1px solid var(--border);transition:var(--transition-fluid);border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:.85rem;display:flex}.monitor-item:hover{border-color:var(--border-hover)}.monitor-disabled{opacity:.4}.monitor-item-info{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.monitor-item-name{font-weight:500}.monitor-item-sources{color:var(--text-muted);font-size:.78rem}.monitor-item-lookback{color:var(--text-muted);align-items:center;gap:3px;font-size:.75rem;display:flex}.monitor-item-badge-off{background:var(--bg-body);border:1px solid var(--border);color:var(--text-muted);border-radius:4px;padding:1px 6px;font-size:.7rem}.monitor-item-actions{flex-shrink:0;gap:4px;display:flex}.monitor-empty{color:var(--text-muted);background:var(--bg-surface);border:1px dashed var(--border);border-radius:8px;align-items:center;gap:8px;padding:12px 14px;font-size:.85rem;display:flex}.btn-add-monitor{border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;transition:var(--transition-fluid);background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;display:flex}.btn-add-monitor:hover{border-color:var(--accent);color:var(--accent)}.btn-icon{border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fluid);background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:flex}.btn-icon:hover{border-color:var(--accent);color:var(--accent)}.btn-icon-muted{color:var(--text-muted)}.btn-icon-danger:hover{border-color:var(--red);color:var(--red)}.btn-icon-sm{width:26px;height:26px}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.empty-state h3{color:var(--text-secondary);margin:16px 0 8px;font-size:1rem;font-weight:500}.empty-state p{max-width:400px;margin-bottom:20px;font-size:.88rem;line-height:1.5}.form-section{flex-direction:column;gap:20px;padding:8px 0;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group-inline{flex-direction:row;align-items:center;gap:12px}.form-group-inline .form-hint{margin:0}.form-row{gap:16px;display:flex}.form-label{color:var(--text-secondary);align-items:center;gap:6px;font-size:.85rem;font-weight:500;display:flex}.form-label-row{justify-content:space-between;align-items:center;display:flex}.form-input,.form-select{border:1px solid var(--border-card);background:var(--bg-input);color:var(--text-primary);border-radius:8px;padding:12px 16px;font-size:.9rem;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px #0000000f}.form-input:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow), inset 0 2px 4px #0000000f;background:#00000040;outline:none}.form-input-narrow{width:80px}.form-textarea{border:1px solid var(--border-card);background:var(--bg-input);color:var(--text-primary);resize:vertical;border-radius:8px;padding:12px 16px;font-family:inherit;font-size:.88rem;line-height:1.6;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px #0000000f}.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow), inset 0 2px 4px #0000000f;background:#00000040;outline:none}.form-textarea-lg{min-height:200px}.connector-option{background:var(--bg-surface);border:1px solid var(--border-card);cursor:pointer;width:100%;color:var(--text-primary);font-family:var(--font-headline);border-radius:12px;justify-content:flex-start;align-items:center;gap:14px;margin-bottom:12px;padding:18px 24px;font-size:1.05rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.connector-option:hover{background:var(--surface-2);border-color:var(--accent);box-shadow:0 8px 24px var(--accent-glow);transform:translateY(-2px)}.form-hint{color:var(--text-muted);font-size:.78rem;line-height:1.4}.form-hint-warn{color:var(--yellow)}.form-context-banner{background:var(--accent-bg);border:1px solid var(--accent);color:var(--accent);border-radius:8px;align-items:center;gap:8px;margin-bottom:8px;padding:10px 14px;font-size:.85rem;display:flex}.source-groups-grid{flex-wrap:wrap;gap:8px;display:flex}.source-groups-grid .group-chip{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;transition:var(--transition-fluid);border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;display:flex}.source-groups-grid .group-chip:hover{border-color:var(--border-hover)}.source-groups-grid .group-chip.selected{border-color:var(--green);color:var(--green);background:#34d39914}.group-chip-name{white-space:nowrap;text-overflow:ellipsis;max-width:280px;overflow:hidden}.form-empty-state{color:var(--text-muted);background:var(--bg-surface);border:1px dashed var(--border);border-radius:8px;align-items:center;gap:8px;padding:16px;font-size:.85rem;display:flex}.badge{background:var(--accent-bg);color:var(--accent);border-radius:6px;padding:2px 8px;font-size:.7rem;font-weight:600}.form-tabs{background:var(--bg-surface);border-radius:8px;gap:2px;margin-bottom:16px;padding:3px;display:flex}.form-tab{color:var(--text-muted);cursor:pointer;transition:var(--transition-fluid);background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.85rem;display:flex}.form-tab:hover{color:var(--text-secondary)}.form-tab.active{background:var(--bg-card);color:var(--accent);font-weight:500;box-shadow:0 1px 3px #0000001a}.btn-back{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fluid);background:0 0;border-radius:6px;align-items:center;gap:4px;margin-right:12px;padding:6px 12px;font-size:.82rem;display:inline-flex}.btn-back:hover{border-color:var(--border-hover);color:var(--text-primary)}.btn-primary{background-color:var(--accent);color:#171320;cursor:pointer;transition:var(--transition-fluid);box-shadow:0 8px 32px -8px var(--accent-glow);border:none;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 24px;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary:hover{background-color:var(--accent-hover);box-shadow:0 12px 40px -8px var(--accent-glow);transform:translateY(-2px)}.btn-primary:disabled{opacity:.35;cursor:default}.btn-primary.btn-sm{padding:6px 14px;font-size:.82rem}.btn-secondary{border:1px solid var(--border);color:var(--text-primary);box-shadow:var(--card-shadow);cursor:pointer;transition:var(--transition-fluid);background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:10px 20px;font-size:.88rem;display:inline-flex}.btn-secondary:hover{background:var(--bg-elevated);border:1px solid var(--text-muted);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-ghost{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:var(--transition-fluid);background:0 0;border-radius:8px;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;display:inline-flex}.btn-ghost:hover{border-color:var(--border-hover);color:var(--text-secondary)}.btn-ghost.btn-sm{padding:3px 8px}.btn-sm{padding:6px 12px;font-size:.82rem}.btn-danger{color:var(--red);cursor:pointer;transition:var(--transition-fluid);background:0 0;border:1px solid #ef444433;border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-size:.82rem;display:inline-flex}.btn-danger:hover{background:var(--red-glow);border-color:var(--red)}.connection-agents{color:var(--text-muted);align-items:center;gap:6px;padding:4px 0;font-size:.78rem;display:flex}.connection-label{flex:1}.connection-groups-section{border-top:1px solid var(--border);margin-top:12px;padding-top:8px}.connection-groups-list{max-height:400px;margin-top:8px;overflow-y:auto}.connection-groups-search{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:8px;display:flex}.connection-groups-search .form-input{flex:1}.connection-groups-selected{border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:8px}.group-check-item{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:5px 8px;font-size:.82rem;transition:background .1s;display:flex}.group-check-item:hover{background:var(--accent-bg)}.group-check-selected{color:var(--accent);font-weight:500}.group-check-icon{color:var(--accent);flex-shrink:0}.group-check-box{border:1.5px solid var(--border);border-radius:3px;flex-shrink:0;width:14px;height:14px}.btn-new{background:var(--accent);color:#fff;cursor:pointer;transition:var(--transition-fluid);border:none;border-radius:6px;align-items:center;gap:4px;padding:6px 14px;font-size:.82rem;font-weight:500;display:inline-flex}.btn-new:hover{background:var(--accent-hover)}.btn-toggle{cursor:pointer;transition:var(--transition-fluid);border:none;border-radius:6px;align-items:center;padding:4px 8px;display:flex}.btn-toggle.on{color:var(--green);background:0 0}.btn-toggle.off{color:var(--text-muted);background:0 0}.btn-edit{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fluid);background:0 0;border-radius:6px;align-items:center;padding:6px;display:flex}.btn-edit:hover{border-color:var(--accent);color:var(--accent)}.btn-remove{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:var(--transition-fluid);background:0 0;border-radius:6px;align-items:center;padding:6px;display:flex}.btn-remove:hover{border-color:var(--red);color:var(--red)}.btn-cancel{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;transition:var(--transition-fluid);border-radius:6px;align-items:center;gap:4px;padding:8px 18px;display:inline-flex}.btn-cancel:hover{border-color:var(--border-hover)}.btn-save{background:var(--accent);color:#fff;cursor:pointer;transition:var(--transition-fluid);border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 20px;font-weight:500;display:inline-flex}.btn-save:hover{background:var(--accent-hover)}.btn-save:disabled{opacity:.3;cursor:default}.btn-small{background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border);cursor:pointer;transition:var(--transition-fluid);border-radius:8px;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;display:inline-flex}.btn-small:hover{border-color:var(--border-hover);color:var(--text-secondary)}.monitor-form,.ai-form{flex-direction:column;gap:12px;display:flex}.monitor-form label,.ai-form label{color:var(--text-secondary);align-items:center;gap:6px;font-size:.85rem;font-weight:500;display:flex}.monitor-form input,.monitor-form select,.ai-form input{border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);border-radius:6px;padding:9px 12px;font-size:.9rem;transition:border-color .15s}.monitor-form input:focus,.monitor-form select:focus,.ai-form input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow);outline:none}.monitor-form textarea{border:1px solid var(--border);background:var(--bg-body);color:var(--text-secondary);resize:vertical;border-radius:6px;padding:10px 12px;font-family:JetBrains Mono,Menlo,monospace;font-size:.8rem;line-height:1.6;transition:border-color .15s}.monitor-form textarea:focus{border-color:var(--accent);outline:none}.source-groups-select{flex-wrap:wrap;gap:6px;display:flex}.group-chip{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;transition:var(--transition-fluid);border-radius:20px;align-items:center;gap:4px;padding:5px 12px;font-size:.82rem;display:flex}.group-chip:hover{border-color:var(--border-hover)}.group-chip.selected{border-color:var(--green);color:var(--green);background:var(--green-glow)}.group-chip input{display:none}.instructions-header{justify-content:space-between;align-items:center;display:flex}.form-actions{align-items:center;gap:8px;margin-top:8px;display:flex}.save-msg{color:var(--green);align-items:center;gap:4px;font-size:.85rem;display:flex}.hint{color:var(--text-muted);margin-top:4px;font-size:.82rem}.users-list{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.user-item{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--card-radius);padding:12px 16px;font-size:.88rem;transition:all .2s}.user-item:hover{border-color:var(--accent-glow);box-shadow:var(--card-shadow)}.user-admin{border-left:3px solid var(--green)}.user-item-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.user-phone{font-weight:500}.user-access-hint{color:var(--text-muted);font-size:.78rem}.user-agents-badges{flex-wrap:wrap;gap:4px;display:flex}.badge-agent{text-transform:none;font-size:.7rem}.user-item-actions{gap:4px;margin-left:auto;display:flex}.user-agent-selector{border-top:1px solid var(--border);flex-direction:column;gap:4px;margin-top:10px;padding-top:10px;display:flex}.user-agent-item{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:.85rem;transition:background .1s;display:flex}.user-agent-item:hover{background:var(--accent-bg)}.user-agent-item.selected{color:var(--accent);font-weight:500}.badge{background:var(--accent-bg);color:var(--accent);text-transform:uppercase;letter-spacing:.04em;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.add-user-form{gap:8px;display:flex}.add-user-form input{border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);border-radius:6px;flex:1;padding:9px 12px;font-size:.88rem}.add-user-form input:focus{border-color:var(--accent);outline:none}.add-user-form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:4px;padding:9px 16px;font-size:.82rem;font-weight:500;display:inline-flex}.logs-container{background:var(--bg-body);border:1px solid var(--border);border-radius:6px;flex:1;max-height:350px;padding:12px;font-family:JetBrains Mono,Menlo,monospace;font-size:.78rem;line-height:1.6;overflow-y:auto}.log-entry{gap:10px;padding:1px 0;display:flex}.log-time{color:var(--text-muted);flex-shrink:0}.auto-scroll{color:var(--text-muted);align-items:center;gap:6px;font-size:.82rem;display:flex}.summary-list{flex-direction:column;gap:8px;max-height:350px;display:flex;overflow-y:auto}.summary-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;transition:var(--transition-fluid);border-radius:8px;padding:12px}.summary-card:hover{border-color:var(--accent-glow);transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.summary-header{color:var(--text-muted);flex-wrap:wrap;gap:8px;margin-bottom:6px;font-size:.82rem;display:flex}.summary-tokens{background:var(--bg-surface);border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;display:inline-flex}.summary-preview{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.summary-full{white-space:pre-wrap;color:var(--text-secondary);background:var(--bg-body);border:1px solid var(--border);border-radius:6px;max-height:280px;padding:12px;font-family:inherit;font-size:.85rem;line-height:1.5;overflow-y:auto}.interaction-list{flex-direction:column;gap:6px;max-height:350px;display:flex;overflow-y:auto}.interaction-item{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-size:.85rem;transition:border-color .15s}.interaction-item:hover{border-color:var(--border-hover)}.interaction-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.interaction-time{color:var(--text-muted);font-size:.78rem}.interaction-from{color:var(--green);font-weight:500}.interaction-command{color:var(--text-secondary)}.interaction-preview{color:var(--text-muted);margin-top:4px;font-size:.82rem}.ai-provider-select{gap:6px;margin-bottom:14px;display:flex}.mode-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer;transition:var(--transition-fluid);border-radius:6px;flex:1;padding:8px 12px;font-size:.85rem;font-weight:500}.mode-btn.active{border-color:var(--accent);background:var(--accent-bg);color:var(--text-primary)}.mode-btn:hover{border-color:var(--border-hover)}.key-status{color:var(--green);margin-left:4px;font-size:.78rem}.mode-badge{color:var(--text-secondary);font-size:.78rem;font-weight:500}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.activity-search-bar{gap:8px;margin-bottom:12px;display:flex}.activity-search-input{color:var(--text-muted);flex:1;align-items:center;gap:8px;display:flex}.activity-search-input .form-input{flex:1}.btn-accent{color:var(--accent)!important}.badge-sm{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;margin-left:2px;font-size:.65rem;font-weight:700;display:inline-flex}.activity-filters{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;margin-bottom:12px;padding:12px 16px}.activity-filter-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.form-group-compact{flex-direction:column;gap:4px;min-width:130px;display:flex}.form-label-sm{color:var(--text-muted);align-items:center;gap:4px;font-size:.75rem;display:flex}.form-input-sm{padding:5px 8px;font-size:.82rem}.activity-list{flex-direction:column;gap:6px;display:flex}.activity-item{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--card-radius);cursor:pointer;padding:14px 18px;transition:all .2s}.activity-item:hover{border-color:var(--accent-glow);box-shadow:var(--card-shadow)}.activity-item-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.activity-time{color:var(--text-muted);white-space:nowrap;font-size:.78rem}.activity-from{font-size:.82rem;font-weight:500}.activity-tokens{color:var(--text-muted);align-items:center;gap:2px;margin-left:auto;font-size:.72rem;display:flex}.activity-expand-icon{color:var(--text-muted);margin-left:4px}.activity-query{color:var(--text-secondary);margin-bottom:4px;font-size:.85rem;font-style:italic}.activity-preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.activity-full{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;background:var(--bg-surface);border-radius:6px;max-height:400px;margin-top:8px;padding:12px;font-family:inherit;font-size:.82rem;overflow-y:auto}.text-muted{color:var(--text-muted)}.source-type-selector{flex-wrap:wrap;gap:6px;display:flex}.source-type-chip{background:var(--bg-card);border:1.5px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fluid);border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:500;display:flex}.source-type-chip:hover{border-color:var(--border-hover);color:var(--text-primary)}.source-type-active{color:var(--text-primary);font-weight:600}.btn-google-connected{pointer-events:none;opacity:.85}.source-type-grid{grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:10px;display:grid}.source-type-card{background:var(--bg-card);border:1.5px solid var(--border);cursor:pointer;color:var(--text-secondary);border-radius:6px;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 12px;transition:all .2s;display:flex;position:relative}.source-type-card:hover{border-color:var(--border-hover);background:var(--bg-surface);transform:translateY(-1px)}.source-type-card-active{background:color-mix(in srgb, var(--card-accent,var(--accent)) 6%, var(--bg-card));color:var(--text-primary);border-width:2px}.source-type-card-active:hover{background:color-mix(in srgb, var(--card-accent,var(--accent)) 10%, var(--bg-card))}.source-type-card-icon{background:var(--bg-surface);width:40px;height:40px;color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.source-type-card:hover .source-type-card-icon{color:var(--text-secondary)}.source-type-card-label{text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.78rem;font-weight:500;line-height:1.2;overflow:hidden}.source-type-card-check{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:flex;position:absolute;top:6px;right:6px}.source-type-chips{flex-wrap:wrap;gap:6px;display:flex}.source-chip{background:var(--bg-card);border:1.5px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fluid);border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:.82rem;font-weight:500;display:flex}.source-chip:hover{border-color:var(--border-hover);color:var(--text-primary)}.source-chip-active{font-weight:600}.monitor-row-split{align-items:flex-end;gap:12px;display:flex}@media (width<=500px){.monitor-row-split{flex-direction:column;align-items:stretch}}.monitor-section-divider{align-items:center;gap:12px;margin:16px 0 8px;display:flex}.monitor-section-divider:before,.monitor-section-divider:after{content:"";background:var(--border);flex:1;height:1px}.monitor-section-divider-text{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.78rem;font-weight:600}.group-search-input{align-items:center;display:flex;position:relative}.group-search-input .form-input{width:100%;padding-left:34px}.group-search-icon{z-index:1;color:var(--text-muted);pointer-events:none;position:absolute;left:12px}.group-list-container{border:1px solid var(--border);background:var(--bg-input);border-radius:8px;max-height:200px;overflow-y:auto}.group-list-item{cursor:pointer;color:var(--text-secondary);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 12px;font-size:.85rem;transition:background .1s;display:flex}.group-list-item:last-child{border-bottom:none}.group-list-item:hover{background:var(--accent-bg)}.group-list-item-selected{color:var(--text-primary);background:#22c55e0a;font-weight:500}.group-list-item-selected:hover{background:#22c55e14}.group-list-checkbox{border:1.5px solid var(--border);width:16px;height:16px;transition:var(--transition-fluid);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.group-list-checkbox-checked{background:var(--green);border-color:var(--green);color:#fff}.group-list-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.form-label-tag{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;margin-left:4px;padding:1px 6px;font-size:.68rem;font-weight:500}.form-label-tag-required{color:var(--red);background:#ef44441a}.form-label-tag-optional{background:var(--bg-surface);color:var(--text-muted)}.form-label-prominent{color:var(--text-primary);font-size:.9rem;font-weight:600}.monitor-context-textarea{min-height:120px}.monitor-item-type-icon{background:var(--bg-surface);width:28px;height:28px;color:var(--text-muted);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.monitor-item-details{flex-direction:column;gap:2px;min-width:0;display:flex}.monitor-item-details .monitor-item-name{font-size:.88rem;font-weight:600}.monitor-item-details .monitor-item-sources{color:var(--text-muted);align-items:center;gap:8px;font-size:.78rem;display:flex}.agent-personality-preview{color:var(--text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:400px;margin-top:2px;font-size:.76rem;line-height:1.4;display:-webkit-box;overflow:hidden}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}@media (width<=600px){.source-type-grid{grid-template-columns:repeat(3,1fr)}.monitor-modal{width:98vw;max-width:none}.monitor-modal .modal-body{padding:16px}}.chat-panel{height:calc(100vh - 52px);margin:-24px -32px;display:flex;overflow:hidden}.chat-sidebar{border-right:1px solid var(--border);background:var(--bg-elevated);flex-direction:column;flex-shrink:0;width:320px;display:flex}.chat-sidebar-header{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;padding:12px 16px;display:flex}.chat-sidebar-top{align-items:center;gap:8px;display:flex}.chat-sidebar-title{white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:600;overflow:hidden}.chat-search{align-items:center;display:flex;position:relative}.chat-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:10px}.chat-search-input{border:1px solid var(--border);background:var(--bg-input);width:100%;color:var(--text-primary);border-radius:8px;outline:none;padding:8px 10px 8px 32px;font-size:.85rem;transition:border-color .15s}.chat-search-input:focus{border-color:var(--accent)}.chat-list{flex:1;overflow-y:auto}.chat-list-item{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;transition:background .1s;display:flex}.chat-list-item:hover{background:var(--bg-surface)}.chat-list-item.active{background:var(--accent-bg)}.chat-avatar{background:var(--bg-surface);width:44px;height:44px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.chat-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chat-name-row{align-items:center;gap:4px;display:flex}.chat-name{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.chat-command-icon{color:#25d366;flex-shrink:0}.chat-preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.chat-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.chat-time{color:var(--text-muted);white-space:nowrap;font-size:.7rem}.chat-unread{color:#fff;background:#25d366;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.65rem;font-weight:700;display:flex}.chat-main{background:var(--bg-body);flex-direction:column;flex:1;min-width:0;display:flex}.chat-header{background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.chat-header-left{align-items:center;gap:10px;min-width:0;display:flex}.chat-mobile-back{display:none}.chat-header-info{flex-direction:column;gap:1px;min-width:0;display:flex}.chat-header-name{white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:600;overflow:hidden}.chat-header-type{color:var(--text-muted);align-items:center;gap:4px;font-size:.75rem;display:flex}.chat-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.agent-status-pill{border-radius:6px;padding:3px 10px;font-size:.72rem;font-weight:600}.agent-status-pill.agent-status-active{color:#25d366;background:#25d3661a}.agent-status-pill.agent-status-paused{color:#f59e0b;background:#f59e0b1a}.chat-messages{flex-direction:column;flex:1;gap:3px;padding:16px;display:flex;overflow-y:auto}.chat-empty{height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.9rem;display:flex}.chat-empty-messages{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:.85rem}.msg-bubble{word-wrap:break-word;white-space:pre-wrap;border-radius:16px;max-width:65%;padding:10px 14px;font-size:.9rem;line-height:1.5;box-shadow:0 1px 4px #0000000f}.msg-incoming{color:#1a1d2b;border:1px solid var(--border-card);background:#fff;border-top-left-radius:2px;align-self:flex-start}[data-theme=dark] .msg-incoming{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border)}.msg-outgoing{color:#fff;background:#005c4b;border-top-right-radius:2px;align-self:flex-end}[data-theme=light] .msg-outgoing{color:#111;background:#d9fdd3}.msg-agent{border-left:2px solid var(--accent)}.msg-sender{color:var(--accent);margin-bottom:2px;font-size:.72rem;font-weight:600}.msg-time{opacity:.6;text-align:right;justify-content:flex-end;align-items:center;gap:3px;margin-top:3px;font-size:.65rem;display:flex}.msg-checks{opacity:.7;align-items:center;margin-left:4px;display:inline-flex}.msg-checks-read{color:#53bdeb;opacity:1}.chat-input-area{background:var(--bg-elevated);border-top:1px solid var(--border);flex-shrink:0;align-items:flex-end;gap:8px;padding:10px 16px;display:flex}.chat-textarea{background:var(--bg-surface);color:var(--text-primary);resize:none;border:none;border-radius:8px;outline:none;flex:1;max-height:100px;padding:10px 12px;font-family:inherit;font-size:.9rem;line-height:1.4}.chat-textarea::placeholder{color:var(--text-muted)}.chat-send-btn{color:#fff;cursor:pointer;background:#25d366;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:background .15s;display:flex}.chat-send-btn:hover{background:#1da855}.chat-send-btn:disabled{opacity:.4;cursor:default}.btn-icon-active{color:#25d366!important;border-color:#25d3664d!important}.btn-icon-active:hover{background:#25d36614!important;border-color:#25d366!important}.btn-icon-paused{color:#f59e0b!important;border-color:#f59e0b4d!important}.btn-icon-paused:hover{background:#f59e0b14!important;border-color:#f59e0b!important}.agent-card-header{cursor:pointer}@media (width<=768px){.chat-panel{height:calc(100vh - 52px);margin:-16px}.chat-sidebar{z-index:10;width:100%;position:absolute;inset:0}.chat-sidebar-hidden{display:none}.chat-main-full{width:100%}.chat-mobile-back{display:flex}.msg-bubble{word-wrap:break-word;white-space:pre-wrap;border-radius:16px;max-width:65%;padding:10px 14px;font-size:.9rem;line-height:1.5;box-shadow:0 2px 8px #0000001a}}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 15%,#9560f026,#0000 45%),radial-gradient(circle at 85% 30%,#f87c5d1f,#0000 45%);width:100vw;height:100vh;position:fixed;top:0;left:0}.app-layout{z-index:1;position:relative}.status-indicator.online{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-green}@keyframes pulse-green{0%,to{opacity:1;box-shadow:0 0 12px var(--green-glow)}50%{opacity:.7;box-shadow:0 0 4px var(--green-glow)}}
