@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";
@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&display=swap";
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:"Inter",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono","Fira Code",ui-monospace,"SF Mono",monospace;--bg-root:#0a0a0b;--bg-surface:#111113;--bg-surface-raised:#18181b;--bg-surface-hover:#1e1e22;--bg-surface-active:#252529;--bg-inset:#08080a;--border-default:#27272a;--border-subtle:#1e1e22;--border-strong:#3f3f46;--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-tertiary:#71717a;--text-inverse:#09090b;--accent:#6366f1;--accent-hover:#818cf8;--accent-muted:#6366f11a;--accent-text:#a5b4fc;--status-active:#22c55e;--status-active-bg:#22c55e1a;--status-idle:#a1a1aa;--status-idle-bg:#a1a1aa0d;--status-error:#ef4444;--status-error-bg:#ef44441a;--status-streaming:#3b82f6;--status-streaming-bg:#3b82f61a;--approval-pending:#f59e0b;--approval-pending-bg:#f59e0b1a;--approval-approved:#22c55e;--approval-denied:#ef4444;--channel-ws:#8b5cf6;--channel-api:#3b82f6;--channel-github:#f5f5f5;--channel-telegram:#38bdf8;--success:#22c55e;--success-bg:#22c55e1a;--warning:#f59e0b;--warning-bg:#f59e0b1a;--info:#3b82f6;--info-bg:#3b82f61a;--danger:#ef4444;--danger-bg:#ef44441a;--space-0:0;--space-px:1px;--space-0-5:2px;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080,0 2px 8px #0000004d;--shadow-focus:0 0 0 2px var(--bg-surface),0 0 0 4px var(--accent);--topbar-height:48px;--sidebar-width:320px;--compose-min-height:48px;--compose-max-height:200px;--ease-out:cubic-bezier(.16,1,.3,1);--ease-in-out:cubic-bezier(.45,0,.55,1);--duration-instant:80ms;--duration-fast:.12s;--duration-normal:.2s;--duration-slow:.3s;--syntax-keyword:#c678dd;--syntax-string:#98c379;--syntax-number:#d19a66;--syntax-comment:#5c6370;--syntax-function:#61afef;--syntax-variable:#e06c75;--syntax-type:#e5c07b;--syntax-operator:#56b6c2;--syntax-punctuation:#abb2bf;--syntax-plain:#abb2bf}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-color-scheme:light){:root{--bg-root:#f8f8f8;--bg-surface:#fff;--bg-surface-raised:#fff;--bg-surface-hover:#f4f4f5;--bg-surface-active:#e4e4e7;--bg-inset:#f0f0f2;--border-default:#e4e4e7;--border-subtle:#f0f0f2;--border-strong:#a1a1aa;--text-primary:#09090b;--text-secondary:#52525b;--text-tertiary:#a1a1aa;--text-inverse:#fafafa;--accent:#4f46e5;--accent-hover:#4338ca;--accent-muted:#4f46e50f;--accent-text:#4f46e5;--status-active-bg:#22c55e0d;--status-error-bg:#ef44440d;--status-streaming-bg:#3b82f60d;--approval-pending-bg:#f59e0b0d;--success-bg:#22c55e0d;--warning-bg:#f59e0b0d;--info-bg:#3b82f60d;--danger-bg:#ef44440d;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f,0 2px 8px #0000000a;--syntax-keyword:#7c3aed;--syntax-string:#16a34a;--syntax-number:#c2410c;--syntax-comment:#9ca3af;--syntax-function:#2563eb;--syntax-variable:#dc2626;--syntax-type:#ca8a04;--syntax-operator:#0891b2;--syntax-punctuation:#6b7280;--syntax-plain:#374151}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);color:var(--text-primary);background-color:var(--bg-root);font-variant-numeric:tabular-nums;font-size:.875rem;line-height:1.375rem}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}.text-display{letter-spacing:-.011em;font-size:1.5rem;font-weight:600;line-height:2rem}.text-heading-lg{letter-spacing:-.011em;font-size:1.125rem;font-weight:600;line-height:1.5rem}.text-heading-md{letter-spacing:-.011em;font-size:1rem;font-weight:600;line-height:1.375rem}.text-heading-sm{font-size:.8125rem;font-weight:600;line-height:1.125rem}.text-body{font-size:.875rem;font-weight:400;line-height:1.375rem}.text-body-sm{font-size:.8125rem;font-weight:400;line-height:1.125rem}.text-caption{font-size:.75rem;font-weight:500;line-height:1rem}.text-mono{font-family:var(--font-mono);font-size:.875rem;font-weight:400;line-height:1.5rem}.text-mono-sm{font-family:var(--font-mono);font-size:.8125rem;font-weight:400;line-height:1.25rem}.text-mono-xs{font-family:var(--font-mono);font-size:.75rem;font-weight:400;line-height:1.125rem}.badge{border-radius:var(--radius-full);text-transform:lowercase;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:500;line-height:1rem;display:inline-flex}.badge-active{color:var(--status-active);background:var(--status-active-bg)}.badge-streaming{color:var(--status-streaming);background:var(--status-streaming-bg)}.badge-idle{color:var(--status-idle);background:var(--status-idle-bg)}.badge-archived{color:var(--text-tertiary);border:1px solid var(--border-default);background:0 0}.badge-error{color:var(--status-error);background:var(--status-error-bg)}.badge-pending{color:var(--approval-pending);background:var(--approval-pending-bg)}.badge-approved{color:var(--approval-approved);background:var(--success-bg)}.badge-denied{color:var(--approval-denied);background:var(--danger-bg)}.badge-channel{font-family:var(--font-mono);border-radius:var(--radius-full);background:0 0;padding:2px 8px;font-size:.75rem;font-weight:400}.badge-channel-ws{color:var(--channel-ws);border:1px solid color-mix(in srgb,var(--channel-ws)30%,transparent)}.badge-channel-api{color:var(--channel-api);border:1px solid color-mix(in srgb,var(--channel-api)30%,transparent)}.badge-channel-github{color:var(--channel-github);border:1px solid var(--border-strong)}.badge-channel-telegram{color:var(--channel-telegram);border:1px solid color-mix(in srgb,var(--channel-telegram)30%,transparent)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.status-pulse{animation:2s ease-in-out infinite pulse}.animate-fade-in{animation:fadeIn .2s var(--ease-out)forwards}.spinner{border:2px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.streaming-cursor{background:var(--status-streaming);vertical-align:text-bottom;width:8px;height:1.2em;margin-left:2px;animation:1s steps(2,end) infinite blink;display:inline-block}.skeleton{background:linear-gradient(90deg,var(--bg-surface-hover)0%,var(--bg-surface-active)50%,var(--bg-surface-hover)100%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);transition:background-color var(--duration-fast)ease-out,border-color var(--duration-fast)ease-out;border:none;padding:6px 14px;font-size:.8125rem;font-weight:600;display:inline-flex}.btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{filter:brightness(.9)}.btn-secondary{color:var(--text-secondary);border:1px solid var(--border-default);background:0 0;font-weight:500}.btn-secondary:hover{background:var(--bg-surface-hover);border-color:var(--border-strong)}.btn-ghost{color:var(--text-secondary);background:0 0;padding:6px 10px;font-weight:500}.btn-ghost:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(1.1)}.btn-sm{padding:4px 10px;font-size:.75rem}.btn-lg{padding:8px 20px;font-size:.875rem}.input{background:var(--bg-inset);border:1px solid var(--border-default);border-radius:var(--radius-md);height:36px;color:var(--text-primary);transition:border-color var(--duration-fast)ease-out;width:100%;padding:6px 10px;font-size:.8125rem}.input::placeholder{color:var(--text-tertiary)}.input:focus{border-color:var(--accent);box-shadow:var(--shadow-focus);outline:none}.input:disabled{opacity:.4;cursor:not-allowed}.textarea{resize:vertical;height:auto;min-height:36px}.label{color:var(--text-tertiary);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:500}@media (max-width:768px){.input,.textarea{font-size:16px}}.app-layout{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.topbar{height:var(--topbar-height);background:var(--bg-surface);border-bottom:1px solid var(--border-default);padding:0 var(--space-4);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.topbar-left{align-items:center;gap:var(--space-4);display:flex}.topbar-right{align-items:center;gap:var(--space-3);display:flex}.topbar-title{letter-spacing:-.011em;font-size:1rem;font-weight:600}.nav-link{color:var(--text-secondary);padding:0 var(--space-1);font-size:.8125rem;font-weight:500;line-height:var(--topbar-height);text-decoration:none;position:relative}.nav-link:hover{color:var(--text-primary);text-decoration:none}.nav-link-active{color:var(--accent-text)}.nav-link-active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:0;left:0;right:0}.app-body{flex:1;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border-default);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.sidebar-content{flex:1;overflow-y:auto}.sidebar-footer{padding:var(--space-3);border-top:1px solid var(--border-default)}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}@media (max-width:899px){.sidebar{display:none}}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot-compact{width:6px;height:6px}.status-dot-active{background:var(--status-active)}.status-dot-idle{background:var(--status-idle)}.status-dot-error{background:var(--status-error)}.status-dot-streaming{background:var(--status-streaming);animation:2s ease-in-out infinite pulse}.connection-status{align-items:center;gap:var(--space-1-5);font-size:.75rem;font-weight:500;display:inline-flex}.connection-status-reconnecting{color:var(--warning)}.connection-status-disconnected{color:var(--danger)}.empty-state{min-height:300px;padding:var(--space-10);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-title{color:var(--text-secondary);margin-top:var(--space-4);font-size:1rem;font-weight:600}.empty-state-description{color:var(--text-tertiary);max-width:320px;margin-top:var(--space-1);font-size:.8125rem}
