.layout{height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--bg-base);border-right:1px solid var(--border-dim);z-index:10;flex-direction:column;display:flex;position:relative}.sidebar:before{content:"";background:linear-gradient(to bottom, transparent, var(--accent) 30%, var(--accent2) 70%, transparent);opacity:.4;width:2px;position:absolute;top:0;bottom:0;left:0}.sidebar-brand{border-bottom:1px solid var(--border-dim);flex-direction:column;gap:2px;padding:20px 18px 16px;display:flex}.brand-name{font-family:var(--font-ui);letter-spacing:.12em;color:var(--text-primary);font-size:15px;font-weight:800}.brand-version{color:var(--text-muted);font-size:10px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:10px 0;display:flex}.nav-item{color:var(--text-secondary);letter-spacing:.02em;transition:all var(--t-fast);border-left:2px solid #0000;align-items:center;gap:10px;padding:9px 18px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-item.active{color:var(--accent);background:var(--accent-dim);border-left-color:var(--accent)}.sidebar-footer{border-top:1px solid var(--border-dim);align-items:center;gap:8px;padding:12px 14px;display:flex}.user-info{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.user-icon{color:var(--text-muted);flex-shrink:0}.user-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.ws-indicator{flex-shrink:0;align-items:center;margin-left:auto;display:flex}.ws-indicator.ok{color:var(--ok)}.ws-indicator.off{color:var(--muted)}.logout-btn{cursor:pointer;color:var(--text-muted);border-radius:var(--radius);transition:color var(--t-fast);background:0 0;border:none;flex-shrink:0;align-items:center;padding:4px;display:flex}.logout-btn:hover{color:var(--error)}.main-content{background:var(--bg-void);flex-direction:column;flex:1;display:flex;overflow:hidden}.login-root{background:var(--bg-void);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.grid-bg{background-image:linear-gradient(#00ff8808 1px,#0000 1px),linear-gradient(90deg,#00ff8808 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 0%,#0000 70%);mask-image:radial-gradient(#000 0%,#0000 70%)}.scanline{background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.15;pointer-events:none;height:1px;animation:8s linear infinite scanline;position:absolute;left:0;right:0}.login-card{z-index:1;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:360px;padding:36px 32px 28px;position:relative;box-shadow:0 0 0 1px #00ff880f,0 24px 60px #0009,0 0 40px #00ff880a}.login-header{text-align:center;margin-bottom:32px}.login-logo{letter-spacing:.05em;margin-bottom:10px;font-size:28px;font-weight:800}.logo-bracket{color:var(--accent);opacity:.7}.logo-text{color:var(--text-primary)}.login-title{font-family:var(--font-ui);letter-spacing:.2em;color:var(--text-primary);margin-bottom:6px;font-size:18px;font-weight:800}.login-subtitle{color:var(--text-muted);letter-spacing:.05em;font-size:10px}.login-form{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;gap:5px;display:flex}.field-label{letter-spacing:.1em;color:var(--text-muted);font-size:10px}.field-input{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius);color:var(--text-primary);transition:border-color var(--t-fast), box-shadow var(--t-fast);outline:none;padding:9px 12px;font-size:13px}.field-input::placeholder{color:var(--text-muted)}.field-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.login-error{color:var(--error);border-radius:var(--radius);background:#ff444414;border:1px solid #f443;padding:8px 10px;font-size:11px}.login-btn{background:var(--accent);color:#000;border-radius:var(--radius);font-family:var(--font-ui);letter-spacing:.12em;cursor:pointer;transition:opacity var(--t-fast), transform var(--t-fast);border:none;margin-top:4px;padding:10px;font-size:12px;font-weight:700}.login-btn:hover:not(:disabled){opacity:.85;transform:translateY(-1px)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.blink{animation:1s step-end infinite blink}.login-footer{color:var(--text-muted);justify-content:center;align-items:center;gap:8px;margin-top:24px;font-size:10px;display:flex}.login-footer .dot{width:5px;height:5px}.chat-root{flex-direction:column;height:100%;display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--border-dim);background:var(--bg-base);flex-shrink:0;padding:16px 24px 12px}.page-title{letter-spacing:.05em;color:var(--text-primary);font-size:22px;font-weight:700}.page-sub{color:var(--text-muted);margin-top:2px;font-size:13px}.chat-messages{flex-direction:column;flex:1;gap:18px;padding:20px 24px;display:flex;overflow-y:auto}.msg{flex-direction:column;gap:4px;display:flex}.msg-user{align-items:flex-end}.msg-sami{align-items:flex-start}.msg-meta{padding:0 4px}.msg-author{letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:600}.msg-user .msg-author{color:var(--accent2)}.msg-sami .msg-author{color:var(--accent)}.msg-bubble{border-radius:var(--radius-lg);border:1px solid var(--border-dim);max-width:75%;padding:10px 14px}.msg-user .msg-bubble{background:#00c8ff14;border-color:#00c8ff26;border-bottom-right-radius:2px}.msg-sami .msg-bubble{background:var(--bg-surface);border-bottom-left-radius:2px}.msg-content{font-family:var(--font-mono);color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font-size:12.5px;line-height:1.65}.chat-input-area{background:var(--bg-base);border-top:1px solid var(--border-dim);flex-shrink:0;align-items:flex-end;gap:10px;padding:14px 24px;display:flex}.chat-input{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius);color:var(--text-primary);resize:none;transition:border-color var(--t-fast), box-shadow var(--t-fast);outline:none;flex:1;padding:10px 12px;font-size:13px;line-height:1.5}.chat-input::placeholder{color:var(--text-muted)}.chat-input:focus{border-color:var(--border-active);box-shadow:0 0 0 3px var(--accent-dim)}.chat-input:disabled{opacity:.5}.chat-send-btn{background:var(--accent);border-radius:var(--radius);color:#000;cursor:pointer;width:38px;height:38px;transition:opacity var(--t-fast), transform var(--t-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-send-btn:hover:not(:disabled){opacity:.8;transform:translateY(-1px)}.chat-send-btn:disabled{opacity:.35;cursor:not-allowed}.msg-markdown{color:var(--text,#e2e8f0);font-size:14px;line-height:1.6}.msg-markdown h1,.msg-markdown h2,.msg-markdown h3{color:var(--accent,#63b3ed);margin:12px 0 6px;font-weight:700}.msg-markdown h1{font-size:18px}.msg-markdown h2{font-size:16px}.msg-markdown h3{font-size:14px}.msg-markdown p{margin:6px 0}.msg-markdown ul,.msg-markdown ol{margin:6px 0;padding-left:20px}.msg-markdown li{margin:3px 0}.msg-markdown code{color:#f6c90e;background:#0000004d;border-radius:4px;padding:1px 6px;font-family:Courier New,monospace;font-size:12px}.msg-markdown pre{border-left:3px solid var(--accent,#63b3ed);background:#0006;border-radius:6px;margin:8px 0;padding:12px;overflow-x:auto}.msg-markdown pre code{color:#e2e8f0;background:0 0;padding:0;font-size:12px}.msg-markdown table{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px}.msg-markdown th{text-align:left;background:#63b3ed33;border:1px solid #ffffff1a;padding:6px 10px;font-weight:600}.msg-markdown td{border:1px solid #ffffff1a;padding:5px 10px}.msg-markdown tr:nth-child(2n) td{background:#ffffff08}.msg-markdown blockquote{border-left:3px solid var(--accent,#63b3ed);background:#63b3ed14;border-radius:0 4px 4px 0;margin:8px 0;padding:4px 12px}.msg-markdown a{color:var(--accent,#63b3ed);text-decoration:underline}.msg-markdown hr{border:none;border-top:1px solid #ffffff1a;margin:12px 0}.neural-root{flex-direction:column;height:100%;display:flex;overflow:hidden}.neural-header{border-bottom:1px solid var(--border-dim);background:var(--bg-base);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px 12px;display:flex}.neural-ws-badge{color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-dim);border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:11px;display:flex}.neural-body{flex-direction:column;flex:1;gap:20px;padding:20px 24px;display:flex;overflow-y:auto}.neural-canvas-wrap{background:var(--bg-surface);border:1px solid var(--border-dim);border-radius:var(--radius-lg);height:200px;position:relative;overflow:hidden}.neural-canvas{width:100%;height:100%;display:block}.neural-overlay-stats{gap:8px;display:flex;position:absolute;top:12px;left:12px}.stat-chip{color:var(--accent);background:#00ff8812;border:1px solid #00ff8826;border-radius:4px;align-items:center;gap:5px;padding:4px 8px;font-size:11px;display:flex}.section-label{letter-spacing:.12em;color:var(--text-muted);font-size:10px;font-weight:600}.agents-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.agent-card{background:var(--bg-surface);border:1px solid var(--border-dim);border-radius:var(--radius);transition:border-color var(--t-fast), background var(--t-fast);grid-template-columns:28px 1fr 10px;align-items:start;gap:4px 8px;padding:12px;display:grid;position:relative;overflow:hidden}.agent-card.active{border-color:var(--border-active);background:var(--accent-dim)}.agent-icon{color:var(--text-secondary);font-size:16px;font-family:var(--font-mono);padding-top:2px;line-height:1}.agent-card.active .agent-icon{color:var(--accent)}.agent-info{flex-direction:column;gap:2px;display:flex}.agent-name{color:var(--text-primary);font-size:12px;font-weight:600}.agent-users{color:var(--text-muted);font-size:10px}.agent-task{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;padding-top:4px;font-size:10px;overflow:hidden}.neural-split-root{flex-direction:column;height:100%;display:flex;overflow:hidden}.neural-top{flex-direction:column;flex:0 0 50%;padding:16px 20px 8px;display:flex;overflow:hidden}.neural-top .neural-canvas-wrap{flex:1;min-height:120px}.neural-top .agents-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:10px;display:grid}.neural-divider{background:#00ff8826;flex:0 0 1px;height:1px}.neural-bottom{flex:50%;display:flex;overflow:hidden}.neural-bottom>*{flex:1;min-height:0}.tasks-root{flex-direction:column;height:100%;display:flex;overflow:hidden}.tasks-header{border-bottom:1px solid var(--border-dim);background:var(--bg-base);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px 12px;display:flex}.tasks-summary{border-bottom:1px solid var(--border-dim);flex-shrink:0;gap:8px;padding:12px 24px;display:flex}.summary-chip{border:1px solid;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;display:flex}.chip-working{color:var(--accent);background:var(--accent-dim);border-color:#0f83}.chip-done{color:#7dd3a8;background:#7dd3a812;border-color:#7dd3a833}.chip-error{color:var(--error);background:#ff444414;border-color:#f443}.tasks-list{flex-direction:column;flex:1;gap:6px;padding:12px 24px;display:flex;overflow-y:auto}.tasks-empty{text-align:center;color:var(--text-muted);justify-content:center;align-items:center;gap:8px;padding:40px;font-size:12px;display:flex}.tasks-empty.error{color:var(--error)}.task-row{background:var(--bg-surface);border:1px solid var(--border-dim);border-radius:var(--radius);transition:border-color var(--t-fast);grid-template-columns:22px 1fr auto;align-items:start;gap:10px;padding:10px 12px;display:grid}.task-working{border-color:#0f83}.task-error{border-color:#f443}.task-status-col{align-items:center;padding-top:2px;display:flex}.task-working .task-status-col{color:var(--accent)}.task-pending .task-status-col{color:var(--warn)}.task-done .task-status-col{color:#7dd3a8}.task-error .task-status-col{color:var(--error)}.task-main{flex-direction:column;gap:4px;display:flex}.task-text{color:var(--text-primary);word-break:break-word;font-size:12px;line-height:1.4}.task-meta{gap:10px;display:flex}.task-agent,.task-user{color:var(--text-muted);font-size:10px}.task-agent:before{content:"agente: "}.task-user:before{content:"usuario: "}.task-badge{letter-spacing:.05em;white-space:nowrap;border:1px solid;border-radius:4px;align-self:start;padding:2px 8px;font-size:10px}.task-badge-working{color:var(--accent);background:var(--accent-dim);border-color:#0f83}.task-badge-pending{color:var(--warn);background:#ffb80014;border-color:#ffb80033}.task-badge-done{color:#7dd3a8;background:#7dd3a812;border-color:#7dd3a833}.task-badge-error{color:var(--error);background:#ff444414;border-color:#f443}.task-actions{align-items:center;gap:6px;margin-left:8px;display:flex}.task-btn{cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:4px;align-items:center;padding:4px 6px;transition:all .15s;display:flex}.task-btn-report{color:#63b3ed}.task-btn-report:hover{background:#63b3ed26;border-color:#63b3ed}.task-btn-delete{color:#fc8181}.task-btn-delete:hover{background:#fc818126;border-color:#fc8181}.task-report-links{gap:12px;margin-top:6px;display:flex}.task-report-links a{color:#63b3ed;font-size:11px;text-decoration:none}.task-report-links a:hover{text-decoration:underline}.modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface,#1a1a2e);border:1px solid #ffffff1a;border-radius:10px;width:380px;max-width:90vw;padding:24px}.modal-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-title{color:var(--text,#e2e8f0);font-size:15px;font-weight:700}.modal-close{cursor:pointer;color:var(--text3,#888);background:0 0;border:none}.modal-message{color:var(--text2,#aaa);margin-bottom:16px;font-size:13px}.modal-input{width:100%;color:var(--text,#e2e8f0);box-sizing:border-box;background:#0000004d;border:1px solid #ffffff1a;border-radius:6px;margin-bottom:16px;padding:8px 12px;font-size:13px}.modal-input:focus{border-color:#63b3ed;outline:none}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.modal-btn-cancel{cursor:pointer;color:var(--text2,#aaa);background:0 0;border:1px solid #ffffff26;border-radius:6px;padding:7px 16px;font-size:13px}.modal-btn-confirm{cursor:pointer;color:#fff;background:#fc8181;border:none;border-radius:6px;align-items:center;gap:6px;padding:7px 16px;font-size:13px;font-weight:600;display:flex}.modal-btn-confirm:disabled{opacity:.5;cursor:not-allowed}.task-checkbox{accent-color:#63b3ed;cursor:pointer;width:15px;height:15px;margin-right:8px}.task-row-selected{background:#63b3ed14!important;border-color:#63b3ed4d!important}.task-row{align-items:flex-start!important;gap:10px!important;display:flex!important}.task-checkbox{flex-shrink:0;margin-top:3px}.task-status-col{flex-shrink:0;margin-top:2px}.task-main{min-width:0;flex:1!important}.task-badge{flex-shrink:0}.task-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.agents-root{flex-direction:column;height:100%;display:flex;overflow:hidden}.agents-header{border-bottom:1px solid var(--border-dim);background:var(--bg-base);flex-shrink:0;padding:16px 24px 12px}.agents-body{flex-direction:column;flex:1;gap:12px;padding:20px 24px;display:flex;overflow-y:auto}.agents-section-label{letter-spacing:.12em;color:var(--text-muted);padding:4px 0 2px;font-size:10px;font-weight:600}.agents-list{flex-direction:column;gap:6px;display:flex}.agents-list--pending{opacity:.6}.agent-detail{background:var(--bg-surface);border:1px solid var(--border-dim);border-radius:var(--radius);transition:border-color var(--t-fast);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.agent-detail.live{border-color:var(--border-active);background:var(--accent-dim)}.ad-header{align-items:center;gap:8px;display:flex}.ad-id{color:var(--text-primary);letter-spacing:.04em;font-size:12px;font-weight:700}.ad-phase{color:var(--accent2);background:var(--accent2-dim);border:1px solid #00c8ff26;border-radius:3px;padding:1px 5px;font-size:9px}.ad-restricted{color:var(--warn);background:#ffb80012;border:1px solid #ffb80026;border-radius:3px;align-items:center;gap:3px;padding:1px 5px;font-size:9px;display:flex}.ad-desc{color:var(--text-secondary);font-size:11.5px;line-height:1.4}.ad-live{color:var(--accent);background:#00ff880d;border-radius:4px;align-items:center;gap:6px;margin-top:2px;padding:5px 8px;font-size:11px;display:flex}.ad-live-user{color:var(--text-muted)}.files-root{flex-direction:column;height:100%;display:flex;overflow:hidden}.files-header{border-bottom:1px solid var(--border-dim);background:var(--bg-base);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px 12px;display:flex}.refresh-btn{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;transition:color var(--t-fast);align-items:center;padding:6px 8px;display:flex}.refresh-btn:hover:not(:disabled){color:var(--accent)}.refresh-btn:disabled{opacity:.4;cursor:not-allowed}.files-body{flex-direction:column;flex:1;gap:20px;padding:20px 24px;display:flex;overflow-y:auto}.files-section-label{letter-spacing:.12em;color:var(--text-muted);margin-bottom:8px;font-size:10px;font-weight:600}.files-empty{text-align:center;color:var(--text-muted);padding:40px;font-size:12px}.files-empty.error{color:var(--error)}.file-row{background:var(--bg-surface);border:1px solid var(--border-dim);border-radius:var(--radius);transition:border-color var(--t-fast), background var(--t-fast);grid-template-columns:32px 1fr 34px;align-items:center;gap:10px;padding:10px 12px;display:grid}.file-row:hover{border-color:var(--border-subtle);background:var(--bg-elevated)}.file-icon{justify-content:center;align-items:center;display:flex}.file-info{flex-direction:column;gap:3px;display:flex}.file-name{color:var(--text-primary);word-break:break-word;font-size:12px}.file-meta{align-items:center;gap:8px;display:flex}.file-tag{color:var(--accent2);background:var(--accent2-dim);border:1px solid #00c8ff26;border-radius:3px;padding:1px 5px;font-size:10px}.file-size{color:var(--text-muted);font-size:10px}.file-dl-btn{border:1px solid var(--border-subtle);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;width:30px;height:30px;transition:color var(--t-fast), border-color var(--t-fast);background:0 0;justify-content:center;align-items:center;display:flex}.file-dl-btn:hover{color:var(--accent);border-color:var(--border-active)}.files-filtros{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.filtro-btn{color:var(--text2,#aaa);cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:20px;padding:4px 12px;font-size:11px;transition:all .15s}.filtro-btn:hover{color:var(--text,#e2e8f0);border-color:#ffffff4d}.filtro-btn.active{font-weight:700}.file-checkbox{accent-color:#63b3ed;cursor:pointer;width:15px;height:15px;margin-right:8px}.file-row-selected{background:#63b3ed14!important;border-color:#63b3ed4d!important}.files-select-bar{background:#ffffff08;border-radius:6px;align-items:center;margin-bottom:8px;padding:8px 12px;display:flex}.file-checkbox,.file-icon{flex-shrink:0}.file-row{align-items:center!important;gap:10px!important;display:flex!important}.file-checkbox,.file-icon{flex-shrink:0}.file-info{min-width:0;flex:1!important}.file-dl-btn{flex-shrink:0}:root{--bg-void:#080a0c;--bg-base:#0d1117;--bg-surface:#111820;--bg-elevated:#162030;--bg-hover:#1a2535;--border-dim:#ffffff0d;--border-subtle:#ffffff17;--border-active:#00ff8859;--accent:#0f8;--accent-dim:#00ff881f;--accent-glow:#00ff8840;--accent2:#00c8ff;--accent2-dim:#00c8ff1a;--ok:#0f8;--warn:#ffb800;--error:#f44;--info:#00c8ff;--muted:#4a5568;--text-primary:#e8edf2;--text-secondary:#7a8fa6;--text-muted:#3d5066;--text-accent:#0f8;--font-ui:"Syne", sans-serif;--font-mono:"JetBrains Mono", monospace;--sidebar-w:220px;--radius:6px;--radius-lg:10px;--t-fast:.12s ease;--t-med:.22s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg-void);height:100%;color:var(--text-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.mono{font-family:var(--font-mono)}.accent{color:var(--accent)}.muted{color:var(--text-muted)}.dot{background:var(--ok);width:6px;height:6px;box-shadow:0 0 6px var(--ok);border-radius:50%;display:inline-block}.dot.warn{background:var(--warn);box-shadow:0 0 6px var(--warn)}.dot.error{background:var(--error);box-shadow:0 0 6px var(--error)}.dot.idle{background:var(--muted);box-shadow:none}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.4}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{animation:.3s forwards fade-in}.spin{animation:1s linear infinite spin}
